]>
Commit | Line | Data |
---|---|---|
d849845a | 1 | 2012-11-06 Ed Schonberg <schonberg@adacore.com> |
2 | ||
3 | * sem_res.adb (Preanalyze_And_Resolve): In Alfa mode do not | |
4 | disable checks, so that flags can be properly set on expressions | |
5 | that are not further expanded. | |
6 | ||
704b4aa5 | 7 | 2012-11-06 Robert Dewar <dewar@adacore.com> |
8 | ||
9 | * exp_attr.adb, sem_attr.adb: Minor reformatting. | |
10 | ||
aae8e592 | 11 | 2012-11-06 Gary Dismukes <dismukes@adacore.com> |
12 | ||
13 | * exp_attr.adb (Expand_N_Attribute_Reference): Apply a predicate | |
14 | check when evaluating the attribute Valid, and issue a warning | |
15 | about infinite recursion when the check occurs within the | |
16 | predicate function of the prefix's subtype. | |
17 | * exp_ch4.adb (Expand_N_In): Remove test for Is_Discrete_Type | |
18 | when we're checking that there's no predicate check function as a | |
19 | condition for substituting a Valid check for a scalar membership | |
20 | test (substitution should be suppressed for any kind of scalar | |
21 | subtype with a predicate check). Also, don't emit a predicate | |
22 | check when the right operand is a range. | |
23 | ||
f6aa36b9 | 24 | 2012-11-06 Robert Dewar <dewar@adacore.com> |
25 | ||
26 | * par_sco.adb, bindgen.adb, exp_vfpt.adb, exp_vfpt.ads, exp_ch2.adb, | |
27 | errout.adb, sem_ch8.adb: Minor reformatting. | |
28 | ||
29 | 2012-11-06 Hristian Kirtchev <kirtchev@adacore.com> | |
30 | ||
31 | * einfo.adb: Include Loop_Entry_Attributes to the list of | |
32 | Node/List/Elist10 usage. | |
33 | (Loop_Entry_Attributes): New routine. | |
34 | (Set_Loop_Entry_Attributes): New routine. | |
35 | (Write_Field10_Name): Add an output string for Loop_Entry_Attributes. | |
36 | * einfo.ads: Define new attribute Loop_Entry_Attributes along | |
37 | with its usage in nodes. | |
38 | (Loop_Entry_Attributes): New routine and dedicated pragma Inline. | |
39 | (Set_Loop_Entry_Attributes): New routine and dedicated pragma Inline. | |
40 | * exp_attr.adb (Expand_N_Attribute_Reference): Do not expand | |
41 | Attribute_Loop_Entry here. | |
42 | * exp_ch5.adb: Add with and use clause for Elists; | |
43 | (Expand_Loop_Entry_Attributes): New routine. | |
44 | (Expand_N_Loop_Statement): Add a call to Expand_Loop_Entry_Attributes. | |
45 | * exp_prag.adb (Expand_Pragma_Loop_Assertion): Specialize the | |
46 | search to include multiple nested loops produced by the expansion | |
47 | of Ada 2012 array iterator. | |
48 | * sem_attr.adb: Add with and use clause for Elists. | |
49 | (Analyze_Attribute): Check the legality of attribute Loop_Entry. | |
50 | (Resolve_Attribute): Nothing to do for Loop_Entry. | |
51 | (S14_Attribute): New routine. | |
52 | * snames.ads-tmpl: Add a comment on entries marked with | |
53 | HiLite. Add new name Name_Loop_Entry. Add new attribute | |
54 | Attribute_Loop_Entry. | |
55 | ||
a4307c4a | 56 | 2012-11-06 Geert Bosch <bosch@adacore.com> |
57 | ||
58 | * eval_fat.adb (Machine, Succ): Fix front end to support static | |
59 | evaluation of attributes on targets with both VAX and IEEE float. | |
60 | * sem_util.ads, sem_util.adb (Has_Denormals, Has_Signed_Zeros): | |
61 | New type-specific functions. Previously we used Denorm_On_Target | |
62 | and Signed_Zeros_On_Target directly, but that doesn't work well | |
63 | for OpenVMS where a single target supports both floating point | |
64 | with and without signed zeros. | |
65 | * sem_attr.adb (Attribute_Denorm, Attribute_Signed_Zeros): Use | |
66 | new Has_Denormals and Has_Signed_Zeros functions to support both | |
67 | IEEE and VAX floating point on a single target. | |
68 | ||
69 | 2012-11-06 Tristan Gingold <gingold@adacore.com> | |
70 | ||
71 | * bindgen.adb (System_Interrupts_Used): New variable. | |
72 | (Gen_Adainit): Declare and call | |
73 | Install_Restricted_Handlers_Sequential if System.Interrupts is | |
74 | used when elaboration policy is sequential. | |
75 | ||
76 | 2012-11-06 Ed Schonberg <schonberg@adacore.com> | |
77 | ||
78 | * sem_ch8.adb: Complete previous change. | |
79 | ||
806e0cb1 | 80 | 2012-11-06 Tristan Gingold <gingold@adacore.com> |
81 | ||
82 | * fe.h (Get_Vax_Real_Literal_As_Signed): Declare. | |
83 | * eval_fat.adb, eval_fat.ads (Decompose_Int): Move spec in package spec. | |
84 | * exp_vfpt.adb, exp_vfpt.ads (Vax_Real_Literal_As_Signed): New function. | |
85 | (Expand_Vax_Real_Literal): Remove. | |
86 | * exp_ch2.adb (Expand_N_Real_Literal): Do nothing. | |
87 | * sem_eval.adb (Expr_Value_R): Remove special Vax float case, | |
88 | as this is not anymore a special case. | |
89 | ||
90 | 2012-11-06 Yannick Moy <moy@adacore.com> | |
91 | ||
92 | * uintp.ads: Minor correction of typo in comment. | |
93 | ||
94 | 2012-11-06 Ed Schonberg <schonberg@adacore.com> | |
95 | ||
96 | * sem_prag.adb (Analyze_Pragnma, case Unchecked_Union): remove | |
97 | requirement that discriminants of an unchecked_union must have | |
98 | defaults. | |
99 | ||
100 | 2012-11-06 Vasiliy Fofanov <fofanov@adacore.com> | |
101 | ||
102 | * projects.texi: Minor wordsmithing. | |
103 | ||
3713b75f | 104 | 2012-11-06 Robert Dewar <dewar@adacore.com> |
105 | ||
106 | * sem_ch9.adb, exp_vfpt.adb, xoscons.adb: Minor reformatting. | |
107 | ||
8b8f1d98 | 108 | 2012-11-06 Tristan Gingold <gingold@adacore.com> |
109 | ||
110 | * exp_vfpt.adb: Document VAX float point layout. | |
111 | ||
112 | 2012-11-06 Geert Bosch <bosch@adacore.com> | |
113 | ||
114 | * eval_fat.adb (Machine): Don't return -0.0 on targets without | |
115 | signed zeros. | |
116 | ||
117 | 2012-11-06 Ed Schonberg <schonberg@adacore.com> | |
118 | ||
119 | * sem_ch9.adb (Analyze_Entry_Call_Alternative, | |
120 | Check_Triggering_Statement): Reject properly an indirect call. | |
121 | ||
9040d730 | 122 | 2012-11-06 Pascal Obry <obry@adacore.com> |
123 | ||
124 | * xoscons.adb, xutil.adb, xutil.ads: Add support for post-processing. | |
125 | ||
64c0accb | 126 | 2012-11-06 Yannick Moy <moy@adacore.com> |
127 | ||
128 | * s-bignum.adb (Div_Rem): Fix another bug in step D3. | |
129 | ||
130 | 2012-11-06 Tristan Gingold <gingold@adacore.com> | |
131 | ||
132 | * s-tarest.adb (Create_Restricted_Task): Call | |
133 | Create_Restricted_Task_Sequential in sequential case. | |
134 | ||
135 | 2012-11-06 Hristian Kirtchev <kirtchev@adacore.com> | |
136 | ||
137 | * exp_prag.adb (Expand_Pragma_Loop_Assertion): Do not rewrite the | |
138 | pragma into a null statement as its presence is desirable in -gnatG | |
139 | output. | |
140 | ||
8f553582 | 141 | 2012-11-06 Ed Schonberg <schonberg@adacore.com> |
142 | ||
143 | * sem_ch8.adb (Check_Constrained_Object): Do nothing if the | |
144 | renamed object is a limited record. | |
145 | ||
146 | 2012-11-06 Bernard Banner <banner@adacore.com> | |
147 | ||
148 | * sysdep.c (_getpagesize): New. Minor reformatting. | |
149 | ||
2d9671b9 | 150 | 2012-11-06 Robert Dewar <dewar@adacore.com> |
151 | ||
152 | * sem_prag.adb: Minor reformatting. | |
153 | ||
154 | 2012-11-06 Robert Dewar <dewar@adacore.com> | |
155 | ||
156 | * s-bignum.adb (Div_Rem): Fix bug in step D3. | |
157 | * uintp.adb (UI_Div_Rem): Add comment on bug in step D3. | |
158 | ||
72e17c21 | 159 | 2012-11-06 Hristian Kirtchev <kirtchev@adacore.com> |
160 | ||
161 | * exp_prag.adb (Expand_Pragma_Loop_Assertion): Update the comment | |
162 | on intended expansion. Reimplement the logic which expands the | |
163 | termination variants. | |
164 | (Process_Increase_Decrease): Update the parameter profile and the | |
165 | comment related to it. Accommodate the new aggregate-like appearance of | |
166 | the termination variants. | |
167 | * sem_prag.adb (Analyze_Pragma): Update the syntax of pragma | |
168 | Loop_Assertion. Reimplement the semantic analysis of the pragma | |
169 | to accommodate the new aggregate-like variant. | |
170 | (Check_Variant): New routine. | |
171 | * snames.ads-tmpl: Change names Name_Decreases and Name_Increases | |
172 | to Name_Decreasing and Name_Increasing respectively. Add name | |
173 | Variant. | |
174 | ||
175 | 2012-11-06 Ed Schonberg <schonberg@adacore.com> | |
176 | ||
177 | * sem_eval.adb: Static evaluation of case expressions. | |
178 | ||
27286d2b | 179 | 2012-11-06 Robert Dewar <dewar@adacore.com> |
180 | ||
181 | * exp_prag.adb, impunit.adb, exp_ch9.adb, par-ch4.adb, | |
182 | s-tarest.adb: Minor reformatting. | |
183 | ||
184 | 2012-11-06 Tristan Gingold <gingold@adacore.com> | |
185 | ||
186 | * s-tposen.ads: Minor comment update. | |
187 | ||
188 | 2012-11-06 Arnaud Charlet <charlet@adacore.com> | |
189 | ||
190 | * sysdep.c: Rename sig* wrappers to use unique names. | |
191 | ||
192 | 2012-11-06 Yannick Moy <moy@adacore.com> | |
193 | ||
194 | * exp_dbug.adb (Qualify_Entity_Name): Mark entity as having a qualified | |
195 | name after being treated, in formal verification mode. | |
196 | ||
197 | 2012-11-06 Fedor Rybin <frybin@adacore.com> | |
198 | ||
199 | * gnat_ugn.texi: Updating gnattest section to reflect changes | |
200 | in default behaviour of the tool. | |
201 | ||
d4f55b2a | 202 | 2012-11-06 Thomas Quinot <quinot@adacore.com> |
203 | ||
204 | * s-oscons-tmplt.c: Interfaces.C now needs to be WITH'd even | |
205 | on platforms that do not support sockets (for the benefit of | |
206 | subtype IOCTL_Req_T). | |
207 | ||
208 | 2012-11-06 Ed Schonberg <schonberg@adacore.com> | |
209 | ||
210 | * par-ch4.adb (P_Primary): if-expressions, case-expressions, | |
211 | and quantified expressions are legal if surrounded by parentheses | |
212 | from an enclosing context, such as a call or an instantiation. | |
213 | ||
214 | 2012-11-06 Yannick Moy <moy@adacore.com> | |
215 | ||
216 | * impunit.adb (Get_Kind_Of_Unit): Return appropriate kind for | |
217 | predefined implementation files, instead of returning | |
218 | Not_Predefined_Unit on all .adb files. | |
219 | ||
220 | 2012-11-06 Tristan Gingold <gingold@adacore.com> | |
221 | ||
222 | * exp_ch9.adb (Build_Activation_Chain_Entity): Return immediately if | |
223 | partition elaboration policy is sequential. | |
224 | (Build_Task_Activation_Call): Likewise. Use | |
225 | Activate_Restricted_Tasks on restricted profile. | |
226 | (Make_Task_Create_Call): Do not use the _Chain | |
227 | parameter if elaboration policy is sequential. Call | |
228 | Create_Restricted_Task_Sequential in that case. | |
229 | * exp_ch3.adb (Build_Initialization_Call): Change condition to | |
230 | support concurrent elaboration policy. | |
231 | (Build_Record_Init_Proc): Likewise. | |
232 | (Init_Formals): Likewise. | |
233 | * bindgen.adb (Gen_Adainit): Declare Partition_Elaboration_Policy | |
234 | and set it in generated code if the elaboration policy is | |
235 | sequential. The procedure called to activate all tasks is now | |
236 | named __gnat_activate_all_tasks. | |
237 | * rtsfind.adb (RE_Activate_Restricted_Task, | |
238 | RE_Create_Restricted_Task_Sequential): New RE_Id literals. | |
239 | * s-tarest.adb (Create_Restricted_Task): Added to create a task without | |
240 | adding it on an activation chain. | |
241 | (Activate_Tasks): Has now a Chain parameter. | |
242 | (Activate_All_Tasks_Sequential): Added. Called by the binder to | |
243 | activate all tasks. | |
244 | (Activate_Restricted_Tasks): Added. Called during elaboration to | |
245 | activate tasks of the units. | |
246 | * s-tarest.ads: Remove pragma Partition_Elaboration_Policy. | |
247 | (Partition_Elaboration_Policy): New variable (set by the binder). | |
248 | (Create_Restricted_Task): Revert removal of the chain parameter. | |
249 | (Create_Restricted_Task_Sequential): New procedure. | |
250 | (Activate_Restricted_Tasks): Revert removal. | |
251 | (Activate_All_Tasks_Sequential): New procedure. | |
252 | ||
b261877a | 253 | 2012-11-06 Bernard Banner <banner@adacore.com> |
254 | ||
255 | * adaint.c Add file macro definitions missing on Android. | |
256 | * adaint.h Avoid definitions related to task affinity and CPU | |
257 | sets since this functionality is missing on the Android | |
258 | * errno.c (__set_errno): Android already contains such a named | |
259 | procedure so do include again. | |
260 | * gsocket.h: Sockets not supported on Android. | |
261 | * init.c: Avoid linux related code not supported on Android. | |
262 | * sysdep.c (sigismember, sigaddset, sigdelset, sigemptyset, | |
263 | sigfillset): wrapper functions since sig routines are defined | |
264 | as inline macros on Android. | |
265 | * terminals.c: Add stubs for terminal related functions not | |
266 | supported on Android. | |
267 | ||
58621cf4 | 268 | 2012-11-06 Hristian Kirtchev <kirtchev@adacore.com> |
269 | ||
270 | * sem_prag.adb (Analyze_Pragma): Do not | |
271 | output the characters of an illegal argument as it may not have | |
272 | characters to begin with. | |
273 | ||
274 | 2012-11-06 Hristian Kirtchev <kirtchev@adacore.com> | |
275 | ||
276 | * exp_prag.adb (Expand_Pragma_Loop_Assertion): | |
277 | Change the order of argument processing to avoid disappearing | |
278 | increase / decrease expressions. | |
279 | ||
80643aa6 | 280 | 2012-11-06 Hristian Kirtchev <kirtchev@adacore.com> |
281 | ||
282 | * exp_prag.adb: Add with and use clause for Sem_Ch8. | |
283 | (Expand_N_Pragma): Add a new variant to expand pragma Loop_Assertion. | |
284 | (Expand_Pragma_Loop_Assertion): New routine. | |
285 | * par-prag.adb (Prag): The semantic analysis of pragma | |
286 | Loop_Assertion is carried out by Analyze_Pragma. No need for | |
287 | checks in the parser. | |
288 | * sem_prag.adb: Add a reference position value for pragma | |
289 | Loop_Assertion in Sig_Flags. | |
290 | (Analyze_Pragma): Add semantic analysis for pragma Loop_Assertion. | |
291 | * snames.ads-tmpl: Add the following new names: | |
292 | Name_Decreases Name_Increases Name_Loop_Assertion. | |
293 | Add new pragma id Pragma_Loop_Assertion. | |
294 | ||
295 | 2012-11-06 Ed Schonberg <schonberg@adacore.com> | |
296 | ||
297 | * exp_ch5.adb: Identifier in iterator must have debug | |
298 | information. | |
299 | ||
04809a66 | 300 | 2012-11-06 Arnaud Charlet <charlet@adacore.com> |
301 | ||
302 | * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Remove | |
303 | duplicate rules handled by Make-generated.in. | |
304 | ||
d2313b52 | 305 | 2012-10-31 Lawrence Crowl <crowl@google.com> |
306 | ||
307 | * gcc-interface/utils.c (gnat_write_global_declarations): | |
308 | Rename varpool_node to varpool_node_for_decl. | |
309 | ||
336fdb5e | 310 | 2012-10-30 Eric Botcazou <ebotcazou@adacore.com> |
311 | ||
312 | * gcc-interface/Make-lang.in: Fix and clean up rules for C files. | |
313 | ||
d8394522 | 314 | 2012-10-29 Arnaud Charlet <charlet@adacore.com> |
315 | ||
316 | * gcc-interface/Makefile.in (s-oscons.ads): Adjust call to xoscons. | |
317 | ||
a2ce3d11 | 318 | 2012-10-29 Pascal Obry <obry@adacore.com> |
319 | ||
320 | * xoscons.adb, Make-generated.in; The template used by xoscons is now | |
321 | given as parameter. | |
322 | * gcc-interface/Make-lang.in: Update dependencies. | |
323 | ||
324 | 2012-10-29 Yannick Moy <moy@adacore.com> | |
325 | ||
326 | * exp_dbug.adb (Qualify_Entity_Name): Only do renaming in formal | |
327 | verification mode when there is a homonym. | |
328 | ||
ce73accb | 329 | 2012-10-29 Thomas Quinot <quinot@adacore.com> |
330 | ||
331 | * xoscons.adb: Minor reformatting. | |
332 | ||
333 | 2012-10-29 Yannick Moy <moy@adacore.com> | |
334 | ||
335 | * exp_alfa.adb (Expand_Alfa): Backtrack change that removed | |
336 | qualification of names in formal verification mode. Instead, | |
337 | the qualification should be modified. | |
338 | * exp_dbug.adb (Qualify_Entity_Name): Modify qualification in formal | |
339 | verification mode, so that only a suffix is added to distinguish | |
340 | homonyms from the same scope. | |
341 | ||
96f971b2 | 342 | 2012-10-29 Robert Dewar <dewar@adacore.com> |
343 | ||
344 | * gnat_rm.texi: Document that pragma Optimize_Alignment (Space) is | |
345 | ignored with a warning for packed variable length records. | |
346 | ||
347 | 2012-10-29 Thomas Quinot <quinot@adacore.com> | |
348 | ||
349 | * socket.c, g-socthi-dummy.adb, g-socthi-dummy.ads, g-socthi-vms.adb, | |
350 | g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads, | |
351 | s-oscons-tmplt.c, g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi.adb, | |
352 | g-socthi.ads, xoscons.adb, g-socket.adb, g-sothco.ads: Introduce an | |
353 | appropriate subtype for IOCTL requests, since these may be signed or | |
354 | unsigned. | |
355 | ||
fcee6529 | 356 | 2012-10-29 Gary Dismukes <dismukes@adacore.com> |
357 | ||
358 | * exp_alfa.adb: Minor reformatting. | |
359 | ||
360 | 2012-10-29 Robert Dewar <dewar@adacore.com> | |
361 | ||
362 | * gnat_rm.texi, gnat_ugn.texi: Clarify documentation on maximum | |
363 | line length style switch. | |
364 | ||
365 | 2012-10-29 Robert Dewar <dewar@adacore.com> | |
366 | ||
367 | * layout.adb (Set_Composite_Alignment): Ignore pragma | |
368 | Optimize_Alignment (Space) for packed variable length records. | |
369 | ||
c2db7c54 | 370 | 2012-10-29 Robert Dewar <dewar@adacore.com> |
371 | ||
372 | * s-bignum.adb: Minor comment change. | |
373 | ||
374 | 2012-10-29 Thomas Quinot <quinot@adacore.com> | |
375 | ||
376 | * s-oscons-tmplt.c: Fix signedness of ioctl request identifiers | |
377 | for x86_64-freebsd. | |
378 | ||
379 | 2012-10-29 Yannick Moy <moy@adacore.com> | |
380 | ||
381 | * exp_alfa.adb (Expand_Alfa): Remove qualification of names. | |
382 | ||
687b5687 | 383 | 2012-10-29 Robert Dewar <dewar@adacore.com> |
384 | ||
385 | * sem_prag.adb: Minor reformatting. | |
386 | ||
387 | 2012-10-29 Robert Dewar <dewar@adacore.com> | |
388 | ||
389 | * gnat_rm.texi: Minor rewording. | |
390 | ||
391 | 2012-10-29 Javier Miranda <miranda@adacore.com> | |
392 | ||
393 | * exp_disp.ads (Is_Expanded_Dispatching_Call): New subprogram. | |
394 | * exp_disp.adb (Expand_Dispatching_Call): No action needed if the | |
395 | call has been already expanded. | |
396 | (Is_Expanded_Dispatching_Call): New subprogram. | |
397 | * sem_disp.adb (Propagate_Tag): No action needed if the call | |
398 | has been already expanded. | |
399 | ||
400 | 2012-10-29 Hristian Kirtchev <kirtchev@adacore.com> | |
401 | ||
402 | * exp_ch9.adb (Create_Index_And_Data): Remove local | |
403 | variable Index_Typ and its uses. The type of the index is now | |
404 | System.Tasking.Entry_Index. Update all related comments. | |
405 | * rtsfind.ads: Add RE_Entry_Index in tables RE_Id and RE_Unit_Table. | |
406 | * s-taskin.adb (Number_Of_Entries): The return type is now Entry_Index. | |
407 | * s-taskin.ads: The index type of Task_Entry_Names_Array is now | |
408 | Entry_Index. | |
409 | (Number_Of_Entries): The return type is now Entry_Index. | |
410 | * s-tpoben.adb (Number_Of_Entries): The return type is now Entry_Index. | |
411 | * s-tpoben.ads: The index type of Protected_Entry_Names_Array | |
412 | is now Entry_Index. | |
413 | (Number_Of_Entries): The return type is now Entry_Index. | |
414 | ||
415 | 2012-10-29 Pascal Obry <obry@adacore.com> | |
416 | ||
417 | * gnat_ugn.texi: Add note about SEH setup on x86-windows. | |
418 | ||
419 | 2012-10-29 Eric Botcazou <ebotcazou@adacore.com> | |
420 | ||
421 | * s-bignum.adb (Allocate_Bignum): Use the exact layout of | |
422 | Bignum_Data for the overlay. | |
423 | ||
8c8f204f | 424 | 2012-10-29 Thomas Quinot <quinot@adacore.com> |
425 | ||
426 | * gnat_rm.texi, sem_prag.adb, sem_util.adb, sem_util.ads, | |
427 | par-prag.adb, par-util.adb, snames.ads-tmpl (Sem_Prag.Analyze_Pragma): | |
428 | Handle new pragma Attribute_Definition. | |
429 | (Sem_Util.Bad_Attribute): New routine, moved here | |
430 | from par-util, so that it can be used by the above. | |
431 | (Par_Util.Signal_Bad_Attribute): Processing moved to | |
432 | Sem_Util.Bad_Attribute. | |
433 | ||
8472c0d1 | 434 | 2012-10-29 Robert Dewar <dewar@adacore.com> |
435 | ||
436 | * s-tpoben.ads, s-taskin.ads, exp_ch3.adb: Minor reformatting. | |
437 | ||
438 | 2012-10-29 Yannick Moy <moy@adacore.com> | |
439 | ||
440 | * sem_prag.adb, gnat1drv.adb, opt.ads: Rename S14_Extensions | |
441 | into Formal_Extensions. | |
442 | ||
443 | 2012-10-29 Thomas Quinot <quinot@adacore.com> | |
444 | ||
445 | * sem_attr.adb: Minor reformatting. | |
446 | ||
12e90c44 | 447 | 2012-10-29 Tristan Gingold <gingold@adacore.com> |
448 | ||
449 | * gnat_rm.texi: Document implementation advice for Pragma | |
450 | Partition_Elaboration_Policy. | |
451 | ||
452 | 2012-10-29 Yannick Moy <moy@adacore.com> | |
453 | ||
454 | * s-bignum.adb (Div_Rem): Reference that Algorithm_D is from | |
455 | the second edition of TAOCP from Knuth, since the algo changed | |
456 | in the third edition. Also correct the definition of 'd' which | |
457 | could overflow. | |
458 | ||
459 | 2012-10-29 Hristian Kirtchev <kirtchev@adacore.com> | |
460 | ||
461 | * exp_ch3.adb (Build_Initialization_Call): Create static strings | |
462 | which denote entry [family] names and associate them with the | |
463 | object's Protection_Entries or ATCB. | |
464 | (Build_Init_Statements): | |
465 | Remove local variable Names. Do not generate the entry [family] | |
466 | names inside the init proc because they are now static. | |
467 | * exp_ch9.adb (Build_Entry_Names): Reimplemented. The strings | |
468 | which denote entry [family] names are now generated statically | |
469 | and associated with the concurrent object's Protection_Entries | |
470 | or ATCB during initialization. | |
471 | * exp_ch9.ads (Build_Entry_Names): Change subprogram profile | |
472 | and associated comment on usage. | |
473 | * rtsfind.ads: Add the following entries to tables RE_Id and | |
474 | RE_Unit_Table: | |
475 | ||
476 | RE_Protected_Entry_Names_Array RE_Task_Entry_Names_Array | |
477 | RO_PE_Number_Of_Entries RO_PE_Set_Entry_Names | |
478 | RO_ST_Number_Of_Entries RO_ST_Set_Entry_Names | |
479 | ||
480 | Remove the following entries from tables RE_Id and RE_Unit_Table: | |
481 | ||
482 | RO_PE_Set_Entry_Name RO_TS_Set_Entry_Name | |
483 | ||
484 | * s-taskin.adb: Remove with clause for Ada.Unchecked_Deallocation. | |
485 | (Free_Entry_Names_Array): Removed. | |
486 | (Number_Of_Entries): New routine. | |
487 | (Set_Entry_Names): New routine. | |
488 | * s-taskin.ads: Rename type Entry_Names_Array to | |
489 | Task_Entry_Names_Array. Rename type Entry_Names_Array_Access | |
490 | to Task_Entry_Names_Access. Update the type of ACTB field | |
491 | Entry_Names and add a comment on its protection status. | |
492 | (Free_Entry_Names_Array): Removed. | |
493 | (Number_Of_Entries): New routine. | |
494 | (Set_Entry_Names): New routine. | |
495 | * s-tassta.adb (Create_Task): Remove formal parameter | |
496 | Build_Entry_Names. Do not allocate an array to hold the | |
497 | string names of entries and families. | |
498 | (Free_Entry_Names): Removed. | |
499 | (Free_Task): Remove the call to Free_Entry_Names. | |
500 | (Set_Entry_Name): Removed. | |
501 | (Vulnerable_Free_Task): Remove the call to Free_Entry_Names. | |
502 | * s-tassta.ads (Create_Task): Remove formal parameter | |
503 | Build_Entry_Names along with associated comment. | |
504 | (Set_Entry_Name): Removed. | |
505 | * s-tpoben.adb: Remove with clause for Ada.Unchecked_Deallocation. | |
506 | (Finalize): Remove the call to Free_Entry_Names. | |
507 | (Free_Entry_Names): Removed. | |
508 | (Initialize_Protection_Entries): | |
509 | Remove formal parameter Build_Entry_Names. Do not allocate | |
510 | an array to hold the string names of entries and families. | |
511 | (Number_Of_Entries): New routine. | |
512 | (Set_Entry_Name): Removed. | |
513 | (Set_Entry_Names): New routine. | |
514 | * s-tpoben.ads: Add types Protected_Entry_Names_Array and | |
515 | Protected_Entry_Names_Access. Update the type of Protection_Enties | |
516 | field Entry_Names. | |
517 | (Initialize_Protection_Entries): Remove | |
518 | formal parameter Build_Entry_Names along with associated comment. | |
519 | (Number_Of_Entries): New routine. | |
520 | (Set_Entry_Name): Removed. | |
521 | (Set_Entry_Names): New routine. | |
522 | ||
523 | 2012-10-29 Arnaud Charlet <charlet@adacore.com> | |
524 | ||
525 | * gnat_ugn.texi: Minor typo fix. | |
fb261027 | 526 | 2012-10-29 Yannick Moy <moy@adacore.com> |
527 | ||
528 | * debug.adb Associate debug switch -gnatd.V to extensions for | |
529 | formal verification. | |
530 | * gnat1drv.adb (Adjust_Global_Switches): Set flag S14_Extensions | |
531 | when -gnatd.V is set. | |
532 | * gnat_rm.texi: Remove doc for Assert_And_Cut. | |
533 | * opt.ads Declare new flag S14_Extensions, to be set when new | |
534 | aspects/pragmas/attributes for formal verification should be | |
535 | accepted. | |
536 | * sem_prag.adb (Analyze_Pragma): Check that S14_Extensions is | |
537 | set when treating pragma Assert_And_Cut. | |
538 | ||
539 | 2012-10-29 Tristan Gingold <gingold@adacore.com> | |
540 | ||
541 | * s-tarest.ads, s-tassta.adb: Add a pragma Partition_Elaboration_Policy. | |
542 | ||
d797669f | 543 | 2012-10-29 Robert Dewar <dewar@adacore.com> |
544 | ||
545 | * freeze.adb: Minor reformatting. | |
546 | ||
0a1ae14d | 547 | 2012-10-29 Robert Dewar <dewar@adacore.com> |
548 | ||
549 | * xr_tabls.adb, xr_tabls.ads, exp_ch9.adb, snames.adb-tmpl, | |
550 | snames.ads-tmpl, exp_ch3.adb: Minor reformatting. | |
551 | ||
552 | 2012-10-29 Ed Schonberg <schonberg@adacore.com> | |
553 | ||
554 | * sem_ch6.adb: Call Build_Subprogrm_Instance_Renamings only when | |
555 | generating code. | |
556 | ||
557 | 2012-10-29 Robert Dewar <dewar@adacore.com> | |
558 | ||
559 | * gnat_ugn.texi: Add documentation for -gnatw.k/-gnatw.K. | |
560 | * ug_words: Add entries for -gnatw.k/.K for [NO]STANDARD_REDEFINITION. | |
561 | * vms_data.ads: Add entries for [NO]STANDARD_REDEFINITION. | |
562 | ||
f19e29b6 | 563 | 2012-10-29 Tristan Gingold <gingold@adacore.com> |
564 | ||
565 | * exp_ch9.adb, s-tarest.ads, exp_ch3.adb: Update comments. | |
566 | ||
567 | 2012-10-29 Yannick Moy <moy@adacore.com> | |
568 | ||
569 | * gnat_rm.texi: Minor documentation addition. | |
570 | ||
571 | 2012-10-29 Emmanuel Briot <briot@adacore.com> | |
572 | ||
573 | * xr_tabls.adb, xr_tabls.ads (Add_Declaration, Add_Reference): No | |
574 | longer assume that a parameter declaration is seen after the subprogram | |
575 | that uses it. | |
576 | ||
577 | 2012-10-29 Tristan Gingold <gingold@adacore.com> | |
578 | ||
579 | * lib-writ.adb (Write_ALI): Emit partition elaboration policy | |
580 | in P line. | |
581 | * lib-writ.ads: Document partition elaboration policy indication. | |
582 | * sem_prag.adb (Check_Arg_Is_Partition_Elaboration_Policy): New | |
583 | procedure. | |
584 | (Analyze_Pragma): Handle Partition_Elaboration_Policy. | |
585 | (Sig_Flags): Add flag for Pragma_Partition_Elaboration_Policy | |
586 | * ali.adb (Initialize_ALI): Init Partition_Elaboration_Policy_Specified. | |
587 | (Scan_ALI): Read Ex indications. | |
588 | * ali.ads: ALIs_Record: Add Partition_Elaboration_Policy. | |
589 | * par-prag.adb (Prag): Add Partition_Elaboration_Policy. | |
590 | * snames.adb-tmpl (Is_Partition_Elaboration_Policy_Name): New function. | |
591 | * opt.ads (Partition_Elaboration_Policy): Declare. | |
592 | (Partition_Elaboration_Policy_Sloc): Declare. | |
593 | * bcheck.adb (Check_Consistent_Partition_Elaboration_Policy): | |
594 | New procedure. (Check_Configuration_Consistency): Check partition | |
595 | elaboration policy consistency. | |
596 | * snames.ads-tmpl (Name_Partition_Elaboration_Policy): New name. | |
597 | (First_Partition_Elaboration_Policy_Name, Name_Concurrent, | |
598 | Name_Sequential, Last_Partition_Elaboration_Policy_Name): Likewise. | |
599 | (Pragma_Partition_Elaboration_Policy): New literal. | |
600 | (Is_Partition_Elaboration_Policy_Name): New function. | |
601 | ||
602 | 2012-10-29 Ed Schonberg <schonberg@adacore.com> | |
603 | ||
604 | * sem_ch6.adb (Is_Public_Subprogram_For): Handle properly | |
605 | expression functions, which are rewritten as subprogram | |
606 | declarations, when generating invariants for its return value | |
607 | and in-out parameters. | |
608 | ||
6e3a4232 | 609 | 2012-10-29 Arnaud Charlet <charlet@adacore.com> |
610 | ||
611 | * warnsw.adb (Set_GNAT_Mode_Warnings): Unset | |
612 | Warn_On_Standard_Redefinition. | |
613 | ||
614 | 2012-10-29 Javier Miranda <miranda@adacore.com> | |
615 | ||
616 | * sem_ch3.adb (Derive_Progenitor_Subprograms): Complete documentation. | |
617 | ||
618 | 2012-10-29 Robert Dewar <dewar@adacore.com> | |
619 | ||
620 | * par-ch11.adb (Warn_If_Standard_Redefinition): Add calls. | |
621 | * par-ch3.adb (P_Defining_Identifier): Call | |
622 | Warn_If_Standard_Redefinition if not inside record definition. | |
623 | * par-ch6.adb (Warn_If_Standard_Redefinition): Add calls. | |
624 | * par-util.adb (Warn_If_Standard_Redefinition): New procedure. | |
625 | * par.adb (Inside_Record_Definition): New flag. | |
626 | (Warn_If_Standard_Redefinition): New procedure. | |
627 | * sinfo-cn.adb (Change_Identifier_To_Defining_Identifier): Remove | |
628 | handling of warning for redefining standard name (moved to Par*). | |
629 | ||
9a6a4132 | 630 | 2012-10-29 Javier Miranda <miranda@adacore.com> |
631 | ||
632 | * sem_ch3.adb (Derive_Progenitor_Subprograms): Disable small | |
633 | optimization in generic formal types. | |
634 | ||
635 | 2012-10-29 Robert Dewar <dewar@adacore.com> | |
636 | ||
637 | * exp_ch9.adb, exp_ch3.adb: Add comments. | |
638 | * sem_prag.adb: Minor reformatting. | |
639 | ||
60774346 | 640 | 2012-10-29 Tristan Gingold <gingold@adacore.com> |
641 | ||
642 | * bindgen.adb (Gen_Output_File_Ada): Do not emit declaration for | |
643 | Is_Elaborated if not referenced. | |
644 | ||
645 | 2012-10-29 Tristan Gingold <gingold@adacore.com> | |
646 | ||
647 | * exp_ch9.adb (Build_Activation_Chain_Entity): Punt in restricted | |
648 | profile. | |
649 | * exp_ch3.adb (Build_Initialization_Call): Do no append _Chain | |
650 | parameter in restricted profile. | |
651 | (Build_Init_Call_Thru): Likewise. | |
652 | (Init_Formals): Likewise. | |
653 | * exp_ch3.adb: Minor reformatting. | |
654 | ||
6ad452c6 | 655 | 2012-10-29 Arnaud Charlet <charlet@adacore.com> |
656 | ||
657 | * usage.adb: Update usage line for -gnatw.k. | |
658 | ||
659 | 2012-10-29 Yannick Moy <moy@adacore.com> | |
660 | ||
661 | * sem_prag.adb: Code clean up. | |
662 | ||
7a9ab423 | 663 | 2012-10-29 Vincent Celier <celier@adacore.com> |
664 | ||
665 | * projects.texi: Clarify documentation of attribute | |
666 | Ignore_Source_Sub_Dirs. | |
667 | ||
668 | 2012-10-29 Robert Dewar <dewar@adacore.com> | |
669 | ||
670 | * g-sechas.adb, g-sechas.ads, exp_ch9.adb, bindgen.adb, exp_dbug.adb, | |
671 | exp_dbug.ads: Minor reformatting. | |
672 | ||
4db43fab | 673 | 2012-10-29 Pascal Obry <obry@adacore.com> |
674 | ||
675 | * g-sechas.adb, g-sechas.ads: (Binary_Message_Digest): New subtype. | |
676 | (Digest): New versions returning a Binary_Message_Digest. | |
677 | (Wide_Digest): Likewise. | |
678 | ||
e8b5f25d | 679 | 2012-10-29 Robert Dewar <dewar@adacore.com> |
680 | ||
681 | * warnsw.adb: Complete previous change. | |
682 | ||
683 | 2012-10-29 Tristan Gingold <gingold@adacore.com> | |
684 | ||
685 | * bindgen.adb (Check_File_In_Partition, Check_System_Restrictions_Used): | |
686 | Removed. | |
687 | (Check_Dispatching_Domains_Used): Removed. | |
688 | (Gen_Adafinal): Remove call to above procedures. | |
689 | (Resolve_Binder_Options): Handle system restrictions and dispatching | |
690 | domains. | |
691 | ||
692 | 2012-10-29 Tristan Gingold <gingold@adacore.com> | |
693 | ||
694 | * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Remove | |
695 | Chain parameter. | |
696 | * exp_ch9.adb (Make_Task_Create_Call): Do not add Chain parameter | |
697 | on restricted runtime. | |
698 | ||
699 | 2012-10-29 Pascal Obry <obry@adacore.com> | |
700 | ||
701 | * g-sechas.adb, g-sechas.ads: Minor code clean-up. | |
702 | ||
b9e61b2a | 703 | 2012-10-29 Ed Schonberg <schonberg@adacore.com> |
704 | ||
705 | * sem_aux.adb (Get_Rep_Item): Treat Priority and Interrupt_Priority | |
706 | as equivalent, because only one of them can be specified for a | |
707 | task, protected definition, or subprogram body. | |
708 | * aspects.adb ((Same_Aspect): The canonical aspect of | |
709 | Interrupt_Priority is Priority. | |
710 | ||
711 | 2012-10-29 Robert Dewar <dewar@adacore.com> | |
712 | ||
713 | * sem_ch13.adb: Minor reformatting. | |
714 | ||
715 | 2012-10-29 Robert Dewar <dewar@adacore.com> | |
716 | ||
717 | * i-cstrea.ads: Avoid redefinition of standard symbol string. | |
718 | * prj-makr.adb: Add comment for OK redefinition of Stadard. | |
719 | * prj.ads: Add comment for OK redefinition of Stadard. | |
720 | * s-crtl.ads: Avoid redefinition of standard symbol string. | |
721 | * sinfo-cn.adb (Change_Identifier_To_Defining_Identifier): | |
722 | Generate warning for standard redefinition if | |
723 | Warn_On_Standard_Definition set. | |
724 | * usage.adb: Add lines for -gnatw.k and -gnatw.K | |
725 | * warnsw.adb: Set/reset Warn_On_Standard_Redefinition | |
726 | appropriately. | |
727 | * warnsw.ads (Warn_On_Standard_Redefinition): New flag. | |
728 | * s-stratt-xdr.adb: Avoid new warning. | |
729 | ||
730 | 2012-10-29 Ed Schonberg <schonberg@adacore.com> | |
731 | ||
732 | * exp_dbug.ads, exp_dbug.adb (Build_Subprogram_Instance_Renamings): | |
733 | in the body of a subpogram instance, introduce local renamings | |
734 | for actuals of an elementary type, so that GDB can recover the | |
735 | values of these actuals more directly. | |
736 | ||
4c1fd062 | 737 | 2012-10-29 Robert Dewar <dewar@adacore.com> |
738 | ||
739 | * sem_ch5.adb (Analyze_Loop_Statement): Add warning for identical | |
740 | inner/outer ranges. | |
741 | ||
742 | 2012-10-29 Robert Dewar <dewar@adacore.com> | |
743 | ||
744 | * einfo.ads: Change terminology "present" to "defined" in talking | |
745 | about whether a given field is defined for a given entity kind. | |
746 | ||
747 | 2012-10-29 Bob Duff <duff@adacore.com> | |
748 | ||
749 | * atree.ads: Minor comment fix. | |
750 | ||
751 | 2012-10-29 Bob Duff <duff@adacore.com> | |
752 | ||
753 | * sem_ch13.adb (Replace_Type_Reference): Set_Comes_From_Source. | |
754 | Otherwise, the node is ignored by ASIS. | |
755 | * sem_ch5.adb: Minor reformatting. | |
756 | ||
757 | 2012-10-29 Thomas Quinot <quinot@adacore.com> | |
758 | ||
759 | * exp_attr.adb, exp_dist.adb, exp_dist.ads (Build_To_Any_Call): Pass | |
760 | an explicit Loc parameter to set the source location of generated | |
761 | nodes. | |
762 | ||
763 | 2012-10-29 Tristan Gingold <gingold@adacore.com> | |
764 | ||
765 | * exp_ch9.adb (Build_Task_Activation_Call): Do nothing on | |
766 | restricted profile. | |
767 | * bindgen.adb (System_Tasking_Restricted_Stages_Used): New variable. | |
768 | (Gen_Adainit): Declare and call Activate_Tasks when the above variable | |
769 | is set. | |
770 | (Resolve_Binder_Options): Set the variable. | |
771 | * rtsfind.ads (RE_Activate_Restricted_Tasks): Removed (now unused). | |
772 | * s-tarest.adb (Tasks_Activation_Chain): New variable. | |
773 | (Activate_Restricted_Tasks): Removed, and replaced by ... | |
774 | (Activate_Tasks): New procedure, to activate all tasks at | |
775 | the end of elaboration. | |
776 | (Create_Restricted_Tasks): Chain parameter is now unreferenced. Put | |
777 | the created task on the Tasks_Activation_Chain list. | |
778 | * s-tarest.ads (Activate_Restricted_Tasks): Removed. | |
779 | (Activate_Tasks): Added. | |
780 | ||
781 | 2012-10-29 Gary Dismukes <dismukes@adacore.com> | |
782 | ||
783 | * sem_res.adb (Resolve_If_Expression): Compare subtype of the 'then' | |
784 | expression against the subtype of the expression rather than comparing | |
785 | base types, same as is already done for the 'else' expression. | |
786 | ||
ba5efa21 | 787 | 2012-10-29 Steve Baird <baird@adacore.com> |
788 | ||
789 | * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If CodePeer_Mode | |
790 | = True and we detect that an Address specification is used to overlay | |
791 | another object, do not set that object's Treat_As_Volatile flag. | |
792 | ||
793 | 2012-10-29 Ed Schonberg <schonberg@adacore.com> | |
794 | ||
795 | * sem_ch3.adb (Constant_Redeclaration): If the type of a | |
796 | deferred constant has invariants, generate invariant call on | |
797 | the initial value. | |
798 | ||
c92e878b | 799 | 2012-10-29 Bob Duff <duff@adacore.com> |
800 | ||
801 | * sem_ch13.adb (Replace_Type_Reference): Use correct sloc for | |
802 | the new node. | |
803 | ||
5d12a5c7 | 804 | 2012-10-29 Thomas Quinot <quinot@adacore.com> |
805 | ||
806 | * sem_elab.adb: Minor reformatting and code reorganization. | |
807 | ||
808 | 2012-10-29 Robert Dewar <dewar@adacore.com> | |
809 | ||
810 | * par-ch4.adb (P_Primary): Warn on bad use of unary minus. | |
811 | ||
812 | 2012-10-29 Robert Dewar <dewar@adacore.com> | |
813 | ||
814 | * s-valuti.ads, s-valuti.adb (Bad_Value): New procedure. | |
815 | * s-valllu.adb, s-valwch.adb, s-valcha.adb, s-valint.adb, | |
816 | s-valuns.adb, s-valrea.adb, s-valboo.adb, s-valenu.adb, | |
817 | s-vallli.adb: Use Bad_Value everywhere. | |
818 | ||
819 | 2012-10-29 Yannick Moy <moy@adacore.com> | |
820 | ||
821 | * gnat1drv.adb (Adjust_Global_Switches): Do not suppress checks | |
822 | in Alfa mode. | |
823 | ||
70a2dff4 | 824 | 2012-10-29 Yannick Moy <moy@adacore.com> |
825 | ||
826 | * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated): | |
827 | Add special case for case expression alternative. | |
828 | (Is_Signed_Integer_Arithmetic_Op): Remove special case for case | |
829 | expression alternative. | |
830 | * exp_ch4.adb Minor reformatting. | |
831 | ||
832 | 2012-10-29 Thomas Quinot <quinot@adacore.com> | |
833 | ||
834 | * sem_elab.adb: Minor reformatting. | |
835 | ||
836 | 2012-10-29 Bob Duff <duff@adacore.com> | |
837 | ||
838 | * sem_res.adb: Minor: Remove redundant test. | |
839 | ||
060c8422 | 840 | 2012-10-29 Arnaud Charlet <charlet@adacore.com> |
841 | ||
ea36a184 | 842 | * pprint.ads, pprint.adb, adabkend.ads, adabkend.adb, |
843 | aa_util.ads, aa_util.adb: New. | |
060c8422 | 844 | |
51ad9863 | 845 | 2012-10-23 Eric Botcazou <ebotcazou@adacore.com> |
846 | ||
847 | * system-linux-mipsel.ads (Stack_Check_Probes): Set to True. | |
848 | * system-linux-mips.ads (Stack_Check_Probes): Likewise. | |
849 | * system-linux-mips64el.ads (Stack_Check_Probes): Likewise. | |
850 | ||
d11be1f5 | 851 | 2012-10-22 Eric Botcazou <ebotcazou@adacore.com> |
852 | ||
853 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Force | |
854 | BLKmode on the type if it is passed by reference. | |
855 | <E_Array_Subtype>: Likewise. | |
856 | <E_Record_Type>: Guard the call to Is_By_Reference_Type predicate. | |
857 | <E_Record_Subtype>: Likewise. | |
858 | ||
04ca7a58 | 859 | * gcc-interface/Makefile.in: Remove outdated comment and reference to |
860 | non-existing file. | |
3a74eaf9 | 861 | |
789c209f | 862 | 2012-10-22 Eric Botcazou <ebotcazou@adacore.com> |
863 | ||
864 | * gcc-interface/utils.c (rest_of_record_type_compilation): Simplify and | |
865 | robustify pattern machine code for masking operations. | |
866 | ||
eca7bb9b | 867 | 2012-10-22 Eric Botcazou <ebotcazou@adacore.com> |
868 | ||
869 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: In | |
870 | type annotation mode, break circularities introduced by AI05-0151. | |
871 | ||
c8d6b902 | 872 | 2012-10-22 Eric Botcazou <ebotcazou@adacore.com> |
873 | ||
874 | * gcc-interface/trans.c (Loop_Statement_to_gnu): Use gnat_type_for_size | |
875 | directly to obtain an unsigned version of the base type. | |
876 | ||
895ebc60 | 877 | 2012-10-22 Eric Botcazou <ebotcazou@adacore.com> |
878 | ||
879 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: Do not | |
880 | generate the special PARM_DECL for an Out parameter in LTO mode. | |
881 | ||
13687c85 | 882 | 2012-10-22 Eric Botcazou <ebotcazou@adacore.com> |
883 | ||
884 | PR bootstrap/54820 | |
885 | * gcc-interface/Make-lang.in (GCC_LINK): Remove hardcoded options. | |
886 | ||
f49eb158 | 887 | 2012-10-15 Matthias Klose <doko@ubuntu.com> |
888 | ||
889 | * gcc-interface/Makefile.in: Match arm*-*-linux-*eabi* for | |
890 | ARM Linux/GNU. | |
891 | ||
5ce38deb | 892 | 2012-10-05 Robert Dewar <dewar@adacore.com> |
893 | ||
894 | * sem_ch7.adb: Minor reformatting. | |
895 | ||
896 | 2012-10-05 Ed Schonberg <schonberg@adacore.com> | |
897 | ||
898 | * sem_prag.adb (Analyze_Pragma, case Persistent_BSS): check for | |
899 | a duplicate pragma before Rep_Item_Too_Late to prevent spurious | |
900 | messages about duplicate pragmas. | |
901 | ||
902 | 2012-10-05 Ed Schonberg <schonberg@adacore.com> | |
903 | ||
904 | * exp_util.adb (Find_Init_Call): If the successor of the | |
905 | object declaration is a block, check whether it contains the | |
906 | initialization call, because it may have been created by actuals | |
907 | that use the secondary stack. | |
908 | ||
9ea61fdd | 909 | 2012-10-05 Thomas Quinot <quinot@adacore.com> |
910 | ||
911 | * sem_dim.adb, errout.adb, errout.ads (Analyze_Dimension_Call): Add | |
912 | guard against abnormal tree resulting from a previously diagnosed | |
913 | illegality. | |
914 | ||
915 | 2012-10-05 Hristian Kirtchev <kirtchev@adacore.com> | |
916 | ||
917 | * freeze.adb (Freeze_Expression): Rename local variable Cspc to Spec | |
918 | and update all refs to it. Do not freeze an entity outside a subprogram | |
919 | body when the original context is an expression function. | |
920 | ||
921 | 2012-10-05 Robert Dewar <dewar@adacore.com> | |
922 | ||
923 | * gnat1drv.adb (Adjust_Global_Switches): Default for overflow checking | |
924 | is suppressed, even if backend overflow/divide checks are enabled. | |
925 | ||
926 | 2012-10-05 Ed Schonberg <schonberg@adacore.com> | |
927 | ||
928 | * einfo.adb (Set_Invariant_Procedure, Set_Predicate_Function): | |
929 | chain properly subprograms on Subprograms_For_Type list. | |
930 | * sem_ch13.ads; (Build_Invariant_Procedure_Declaration): new | |
931 | procedure, to create declaration for invariant procedure | |
932 | independently of the construction of the body, so that it can | |
933 | be called within expression functions. | |
934 | * sem_ch13.adb (Build_Invariant_Procedure): code cleanup. The | |
935 | declaration may already have been generated at the point an | |
936 | explicit invariant aspect is encountered. | |
937 | * sem_prag.adb; (Analyze_Pragma, case Invariant): create declaration | |
938 | for invariant procedure. | |
939 | * sem_ch7.adb (Analyze_Package_Specification): clean up call to | |
940 | build invariant procedure. | |
941 | (Preserve_Full_Attributes): propagate information about invariants | |
942 | if they appear on a completion, | |
943 | ||
944 | 2012-10-05 Pascal Obry <obry@adacore.com> | |
945 | ||
946 | * gnat_ugn.texi: Update documentation to lift Microsoft C | |
947 | restriction. | |
948 | ||
5f4275e1 | 949 | 2012-10-05 Robert Dewar <dewar@adacore.com> |
950 | ||
951 | * sem_util.adb (Has_One_Matching_Field): Handle case of lone | |
952 | discriminant. | |
953 | ||
954 | 2012-10-05 Yannick Moy <moy@adacore.com> | |
955 | ||
956 | * checks.adb (Minimize_Eliminate_Overflow_Checks): Correct code | |
957 | for the division operation and exponent operation. Adjust bound | |
958 | for the mod and rem operations. | |
959 | ||
412f75eb | 960 | 2012-10-05 Robert Dewar <dewar@adacore.com> |
961 | ||
962 | * checks.adb, checks.ads, s-tassta.adb, s-stposu.adb, s-spsufi.adb, | |
963 | s-spsufi.ads, exp_ch4.adb: Minor reformatting. | |
964 | ||
21a55437 | 965 | 2012-10-05 Yannick Moy <moy@adacore.com> |
966 | ||
967 | * switch-c.adb, checks.adb, checks.ads, sem_prag.adb, exp_ch4.adb, | |
968 | osint.adb: Minor correction of typos, and special case for Alfa mode. | |
969 | ||
970 | 2012-10-05 Hristian Kirtchev <kirtchev@adacore.com> | |
971 | ||
972 | * s-spsufi.adb: Add with clause for Ada.Unchecked_Deallocation. | |
973 | Add with and use clauses for System.Finalization_Masters. | |
974 | (Finalize_And_Deallocate): Add an instance of | |
975 | Ada.Unchecked_Deallocation. Merge the code from the now obsolete | |
976 | Finalize_Subpool into this routine. | |
977 | * s-spsufi.ads: Add pragma Preelaborate. | |
978 | * s-stposu.adb: Remove with clause for | |
979 | Ada.Unchecked_Deallocation; Add with and use clauses for | |
980 | System.Storage_Pools.Subpools.Finalization; (Finalize_Pool): | |
981 | Update the comment on all actions takes with respect to a subpool | |
982 | finalization. Finalize and deallocate each individual subpool. | |
983 | (Finalize_Subpool): Removed. | |
984 | (Free): Removed; | |
985 | (Detach): Move from package body to spec. | |
986 | * s-stposu.ads (Detach): Move from package body to spec. | |
987 | (Finalize_Subpool): Removed. | |
988 | ||
989 | 2012-10-05 Arnaud Charlet <charlet@adacore.com> | |
990 | ||
991 | * s-tassta.adb: Update comments. | |
992 | (Vulnerable_Complete_Master): If Free_On_Termination is set, do | |
993 | nothing, and let the task free itself if not already done. | |
994 | ||
74275ad3 | 995 | 2012-10-04 Robert Dewar <dewar@adacore.com> |
996 | ||
997 | * sem_res.adb (Resolve_Set_Membership): Warn on duplicates. | |
998 | ||
999 | 2012-10-04 Emmanuel Briot <briot@adacore.com> | |
1000 | ||
1001 | * g-comlin.adb (Getopt): Fix value of Full_Switch returned in case of | |
1002 | invalid switch. | |
1003 | ||
1004 | 2012-10-04 Arnaud Charlet <charlet@adacore.com> | |
1005 | ||
1006 | * gcc-interface/Make-lang.in: Update dependencies. | |
1007 | ||
24d00f1f | 1008 | 2012-10-04 Robert Dewar <dewar@adacore.com> |
1009 | ||
1010 | * sem_eval.adb (Fold_Str, Fold_Uint, Fold_Ureal): Reset static | |
1011 | expression state after Resolve call. | |
1012 | ||
1013 | 2012-10-04 Robert Dewar <dewar@adacore.com> | |
1014 | ||
1015 | * sem_prag.adb (Analyze_Pragma. case Warnngs): Don't make entry | |
1016 | in the table for Warnings Off pragmas if within an instance. | |
1017 | ||
1018 | 2012-10-04 Ed Schonberg <schonberg@adacore.com> | |
1019 | ||
1020 | * sem_ch9.adb (Analyze_Entry_Body): Transfer | |
1021 | Has_Pragma_Unreferenced flag from entry formal to corresponding | |
1022 | entity in body, to prevent spurious warnings when pragma is | |
1023 | present. | |
1024 | ||
1025 | 2012-10-04 Robert Dewar <dewar@adacore.com> | |
1026 | ||
1027 | * s-bignum.adb (Big_Exp): Raise Storage_Error for ludicrously | |
1028 | large results. | |
1029 | ||
1030 | 2012-10-04 Ed Schonberg <schonberg@adacore.com> | |
1031 | ||
1032 | * sem_ch3.adb (Check_Duplicate_Aspects): Diagnose properly | |
1033 | aspects that appear in the partial and the full view of a type. | |
1034 | ||
1035 | 2012-10-04 Robert Dewar <dewar@adacore.com> | |
1036 | ||
1037 | * sinfo.ads (N_Return_Statement): Removed. | |
1038 | ||
1039 | 2012-10-04 Tristan Gingold <gingold@adacore.com> | |
1040 | ||
1041 | * init.c (__gl_zero_cost_exceptions): Comment it as not used | |
1042 | anymore. | |
1043 | * bindgen.adb (Gen_Adainit): Do not emit Zero_Cost_Exceptions | |
1044 | anymore. | |
1045 | ||
1046 | 2012-10-04 Thomas Quinot <quinot@adacore.com> | |
1047 | ||
1048 | * prep.adb, prepcomp.adb, gprep.adb, opt.ads: New preprocessor switch | |
1049 | -a (all source text preserved). | |
1050 | ||
0f4a8308 | 1051 | 2012-10-04 Vincent Celier <celier@adacore.com> |
1052 | ||
1053 | * prj-proc.adb (Recursive_Process): Use project directory | |
1054 | display path name as the value of 'Project_Dir. | |
1055 | ||
1056 | 2012-10-04 Robert Dewar <dewar@adacore.com> | |
1057 | ||
1058 | * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow): | |
1059 | Deal with case where we get a bignum operand and cannot do a | |
1060 | range analysis. | |
1061 | * sem_eval.adb (Why_Not_Static): Deal with bignum operands | |
1062 | ||
1063 | 2012-10-04 Ed Schonberg <schonberg@adacore.com> | |
1064 | ||
1065 | * sem_ch4.adb (Find_Unary_Types): Within an instance, an | |
1066 | interpretation that involves a predefied arithmetic operator is | |
1067 | not a candidate if the corresponding generic formal type is not | |
1068 | a numeric type. | |
1069 | * sem_util.ads, sem_util.adb (Corresonding_Generic_Type): If a | |
1070 | type is a generic actual type within an instance, return the | |
1071 | corresponding formal in the generic unit, otherwise return | |
1072 | Any_Type. | |
1073 | ||
4fb5f0a0 | 1074 | 2012-10-04 Robert Dewar <dewar@adacore.com> |
1075 | ||
1076 | * checks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze | |
1077 | if/case expression if nothing has changed (just reexpand). Stops | |
1078 | case expression from generating incorrect temporary. | |
1079 | * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow): | |
1080 | Fix cut and paste typo for range analysis in NE (not equal) case. | |
1081 | * sem_eval.adb (Compile_Time_Compare): Small optimization to | |
1082 | catch some more cases. | |
1083 | * types.ads (Suppressed_Or_Checked): New subtype of | |
1084 | Overflow_Check_Type. | |
1085 | ||
95773554 | 1086 | 2012-10-04 Javier Miranda <miranda@adacore.com> |
1087 | ||
1088 | * exp_disp.adb (Set_CPP_Constructors_Old): Removed. | |
1089 | (Set_CPP_Constructors): Code cleanup. | |
1090 | ||
1091 | 2012-10-04 Ed Schonberg <schonberg@adacore.com> | |
1092 | ||
1093 | * sem_ch10.adb (Is_Ancestor_Unit): Make global, for use elsewhere. | |
1094 | (Install_Private_with_Clauses): if clause is private and limited, | |
1095 | do not install the limited view if the library unit is an ancestor | |
1096 | of the unit being compiled. This unusual configuration occurs | |
1097 | when compiling a unit DDP, when an ancestor P of DDP has a | |
1098 | private limited with clause on a descendant of P that is itself | |
1099 | an ancestor of DDP. | |
1100 | ||
57c2f209 | 1101 | 2012-10-04 Vincent Celier <celier@adacore.com> |
1102 | ||
1103 | * prj-proc.adb (Process_Package_Declaration): Use project | |
1104 | directory display path name as the value of 'Project_Dir. | |
1105 | ||
1106 | 2012-10-04 Gary Dismukes <dismukes@adacore.com> | |
1107 | ||
1108 | * exp_util.adb (Build_Allocate_Deallocate_Proc): The subpool can be | |
1109 | given by an arbitrary name, so copy the tree to make the call's actual. | |
1110 | ||
1111 | 2012-10-04 Robert Dewar <dewar@adacore.com> | |
1112 | ||
1113 | * s-exnllf.adb, s-exnllf.ads: Minor reformatting. | |
1114 | ||
1115 | 2012-10-04 Thomas Quinot <quinot@adacore.com> | |
1116 | ||
1117 | * exp_ch6.adb: Minor reformatting. | |
1118 | ||
1119 | 2012-10-04 Pascal Obry <obry@adacore.com> | |
1120 | ||
1121 | * projects.texi: Use consistently @command{} when referencing | |
1122 | commands. Fix typos. | |
1123 | ||
b6a8f264 | 1124 | 2012-10-03 Ed Schonberg <schonberg@adacore.com> |
1125 | ||
1126 | * sem_ch6.adb (New_Overloaded_Entity): call | |
1127 | Append_Inherited_Subprogram when appropriate. | |
1128 | * sem_dim.adb (Analyze_Dimension_Call): Do not perform dimensional | |
1129 | analysis if call has previous semantic error. | |
1130 | * sem_util.ads, sem_util.adb (Append_Inherited_Subprogram): | |
1131 | new subprogram to handle properly the visibility of inherited | |
1132 | operations that are primitives of a type extension, when the | |
1133 | parent type and operations are declared in the same visible part. | |
1134 | ||
1135 | 2012-10-03 Robert Dewar <dewar@adacore.com> | |
1136 | ||
1137 | * checks.adb (Minimize_Eliminate_Overflow_Checks): Properly | |
1138 | handle case of top level expression within type conversion | |
1139 | * gnat1drv.adb (Adjust_Global_Switches): Set SUPPRESSED as | |
1140 | default for overflow checking for -gnatg mode (includes run-time). | |
1141 | * sem_res.adb (Resolve_Type_Conversion): Avoid bogus warnings | |
1142 | about redundant conversions from MINIMIZED/EXTENDED mode checking | |
1143 | ||
693dfc0f | 1144 | 2012-10-03 Javier Miranda <miranda@adacore.com> |
1145 | ||
1146 | * exp_ch4.adb (Expand_N_Allocator_Expression): Minor code | |
1147 | reorganization and cleanup. Done to ensure proper management of | |
1148 | the C++ constructor covering tagged and untagged types and also | |
1149 | non-default constructors. | |
1150 | * exp_ch6.ads, exp_ch6.adb (Make_CPP_Constructor_Call_In_Allocator): | |
1151 | New subprogram. | |
1152 | ||
b8a17a21 | 1153 | 2012-10-03 Gary Dismukes <dismukes@adacore.com> |
1154 | ||
1155 | * sem_ch6.adb: Minor typo fix. | |
1156 | ||
1157 | 2012-10-03 Robert Dewar <dewar@adacore.com> | |
1158 | ||
1159 | * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated): | |
1160 | Set Top_Level properly (to False) for operand of range of | |
1161 | membership test. | |
1162 | * exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow): | |
1163 | Fix crash with -gnato3 and membership operations. | |
1164 | (Expand_Membership_Minimize_Eliminate_Overflow): Fix error message | |
1165 | and wrong results for -gnato3 large expression and predicated | |
1166 | subtype. | |
1167 | (Expand_Membership_Minimize_Eliminate_Overflow): Use | |
1168 | expression action node to avoid using insert actions (bombs in | |
1169 | some cases). | |
1170 | (Expand_Compare_Minimize_Eliminate_Overflow): Use expression action | |
1171 | node to avoid using insert actions (bombs in some cases). | |
1172 | ||
1173 | 2012-10-03 Javier Miranda <miranda@adacore.com> | |
1174 | ||
1175 | * exp_disp.adb (Set_CPP_Constructors_Old): Handle constructor of | |
1176 | untagged type that has all its parameters with defaults and hence it | |
1177 | covers the default constructor. | |
1178 | ||
691fe9e0 | 1179 | 2012-10-03 Yannick Moy <moy@adacore.com> |
1180 | ||
1181 | * checks.adb, sem_prag.adb, s-bignum.ads: Minor typo fixes. | |
1182 | ||
1183 | 2012-10-03 Thomas Quinot <quinot@adacore.com> | |
1184 | ||
1185 | * g-socket.adb (Connect_Socket, version with timeout): When the | |
1186 | newly-connected socket is reported as available for writing, check | |
1187 | whether it has a pending asynchronous error prior to returning. | |
1188 | ||
1189 | 2012-10-03 Ed Schonberg <schonberg@adacore.com> | |
1190 | ||
1191 | * sem_ch6.adb (Check_Conformance): Additional info when subtype | |
1192 | conformance fails, due to a missing null exclusion indicatar in | |
1193 | a formal that must match a controlling access formal. | |
1194 | ||
f32c377d | 1195 | 2012-10-02 Ben Brosgol <brosgol@adacore.com> |
1196 | ||
1197 | * gnat_rm.texi: Minor editing. | |
1198 | ||
1199 | 2012-10-02 Ed Schonberg <schonberg@adacore.com> | |
1200 | ||
1201 | * sem_ch6.adb (Analyze_Function_Return): Reject a return | |
1202 | expression whose type is a local access to subprogram type. | |
1203 | ||
1204 | 2012-10-02 Robert Dewar <dewar@adacore.com> | |
1205 | ||
1206 | * sem_eval.adb: Minor improvement to Compile_Time_Compare. | |
1207 | ||
1208 | 2012-10-02 Robert Dewar <dewar@adacore.com> | |
1209 | ||
1210 | * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated): | |
1211 | Fix base type problem that resulted in improper conversion. | |
1212 | (Minimize_Eliminate_Overflow_Checks): Properly handle top | |
1213 | level case to avoid unnecessary conversion to bignum or LLI. | |
1214 | (Minimize_Eliminate_Overflow_Checks): Implement uniform two phase | |
1215 | approach for arithmetic operators and for if/case expressions. | |
1216 | * checks.ads: Minor comment fix. | |
1217 | * exp_ch4.adb (Minimized_Eliminated_Overflow_Check): New function, | |
1218 | implements a uniform way of treating minimized/eliminated checks in | |
1219 | two phases. | |
1220 | (Expand_Compare_Minimize_Eliminate_Overflow): Fix cut and | |
1221 | paste error resulting in wrong results for less than in some | |
1222 | cases. (Expand_Membership_Minimize_Eliminate_Overflow): | |
1223 | Fix error caused by incorrect capture of operand types. | |
1224 | (Expand_Membership_Minimize_Eliminate_Overflow): Fix error in | |
1225 | handling of bignum case. | |
1226 | (Expand_N_Case_Expression): Implement | |
1227 | proper two phase handling (Expand_N_If_Expression): Implement | |
1228 | proper two phase handling (Expand_N_Op_Abs): Implement proper | |
1229 | two phase handling ditto for all other arithmetic operators | |
1230 | * sem_res.adb (Resolve_If_Expression): Avoid introducing | |
1231 | unneeded conversions. | |
1232 | ||
30f24d11 | 1233 | 2012-10-02 Robert Dewar <dewar@adacore.com> |
1234 | ||
1235 | * s-bignum.adb (Big_Exp): 0**0 should be 1, not 0. | |
1236 | (Big_Exp): Fix possible error for (-1)**0. | |
1237 | (Big_Exp): Fix error in computing 2**K for small K. | |
1238 | (Big_Mod): Fix wrong sign for negative operands. | |
1239 | (Div_Rem): Fix bad results for operands close to 2**63. | |
1240 | * s-bignum.ads: Add documentation and an assertion to require | |
1241 | LLI size to be 64 bits. | |
1242 | * sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Do not | |
1243 | allow ELIMINATED if LLI'Size is other than 64 bits. | |
1244 | * switch-c.adb (Scan_Switches): Do not allow -gnato3 if LLI'Size | |
1245 | is not 64 bits. | |
1246 | * switch.ads (Bad_Switch): Add missing pragma No_Return. | |
1247 | * gnat_ugn.texi: Added appendix on Overflow Check Handling in GNAT. | |
1248 | ||
1249 | 2012-10-02 Robert Dewar <dewar@adacore.com> | |
1250 | ||
1251 | * sem_type.adb: Minor reformatting. | |
1252 | ||
c1b63034 | 1253 | 2012-10-02 Robert Dewar <dewar@adacore.com> |
1254 | ||
1255 | * sem_ch8.adb: Minor reformatting. | |
1256 | ||
1257 | 2012-10-02 Javier Miranda <miranda@adacore.com> | |
1258 | ||
1259 | * exp_disp.adb (Set_CPP_Constructors): Handle constructor with default | |
1260 | parameters that covers the default constructor. | |
1261 | ||
1262 | 2012-10-02 Yannick Moy <moy@adacore.com> | |
1263 | ||
1264 | * s-bignum.adb: Minor stylistic and comment corrections. | |
1265 | ||
1266 | 2012-10-02 Pascal Obry <obry@adacore.com> | |
1267 | ||
1268 | * prj-util.adb (For_Interface_Sources): Iterate over all sources in | |
1269 | aggregate library projects. | |
1270 | ||
a9cd46a6 | 1271 | 2012-10-02 Ed Schonberg <schonberg@adacore.com> |
1272 | ||
1273 | * sem_ch8.adb (Find_Direct_Name): The left-hand side of an | |
1274 | assignment may designate a generalized reference. | |
1275 | ||
af9fed8f | 1276 | 2012-10-02 Eric Botcazou <ebotcazou@adacore.com> |
1277 | ||
1278 | * types.h (N_Return_Statement): Delete. | |
1279 | * gcc-interface/trans.c (gnat_to_gnu): Replace N_Return_Statement with | |
1280 | N_Simple_Return_Statement. | |
1281 | ||
1282 | 2012-10-02 Ed Schonberg <schonberg@adacore.com> | |
1283 | ||
1284 | * freeze.adb (Freeze_Entity): in a generic context, aspects must | |
1285 | be analyzed because they may be queried subsequently within the | |
1286 | generic unit, even if no other freezing actions are generated | |
1287 | for an entity. | |
1288 | * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): iterator | |
1289 | aspects must be analyzed because they are delayed aspects and | |
1290 | the corresponding attribute definition clause may not have been | |
1291 | analyzed yet. | |
1292 | ||
1293 | 2012-10-02 Yannick Moy <moy@adacore.com> | |
1294 | ||
1295 | * gnat_rm.texi: Minor editing. | |
1296 | ||
ae70cd27 | 1297 | 2012-10-02 Robert Dewar <dewar@adacore.com> |
1298 | ||
1299 | * sinfo.adb, sinfo.ads, sem_util.adb, sem_util.ads, types.h, | |
1300 | exp_ch4.adb, exp_ch6.adb: Get rid of internal use of N_Return_Statement. | |
1301 | ||
02eab984 | 1302 | 2012-10-02 Eric Botcazou <ebotcazou@adacore.com> |
1303 | ||
1304 | * types.h: Minor cosmetic fix. | |
1305 | ||
549fe569 | 1306 | 2012-10-02 Eric Botcazou <ebotcazou@adacore.com> |
1307 | ||
1308 | * gcc-interfaces/decl.c (elaborate_expression_1): Use the variable for | |
1309 | bounds of loop iteraration scheme only for locally defined subtypes. | |
1310 | ||
1311 | * gcc-interface/trans.c (gigi): Fix formatting. | |
1312 | (build_return_expr): Apply the NRV optimization only for BLKmode. | |
1313 | ||
02eab984 | 1314 | 2012-10-02 Robert Dewar <dewar@adacore.com> |
1315 | ||
1316 | * sinfo.ads: Remove refs of N_Conditional_Expression and | |
1317 | N_Parameterized_Expression. | |
1318 | ||
1319 | 2012-10-02 Thomas Quinot <quinot@adacore.com> | |
1320 | ||
1321 | * exp_aggr.adb (Get_Component_Val): Rewrite code that computes | |
1322 | justification of bits in enclosing word in an attempt to make | |
1323 | it clearer. | |
1324 | ||
92f1631f | 1325 | 2012-10-02 Robert Dewar <dewar@adacore.com> |
1326 | ||
1327 | * par_sco.adb, sem_ch3.adb, layout.adb, exp_ch7.adb, exp_imgv.adb, | |
1328 | exp_util.adb, exp_util.ads, exp_attr.adb, sinfo.adb, sinfo.ads, | |
1329 | exp_ch9.adb, style.ads, scos.ads, debug.adb, einfo.ads, scng.adb, | |
1330 | checks.adb, checks.ads, sem.adb, par-ch4.adb, sem_util.adb, types.h, | |
1331 | sem_res.adb, expander.adb, scans.ads, par.adb, exp_ch2.adb, | |
1332 | gnat1drv.adb, stylesw.ads, sem_elab.adb, exp_ch4.adb, exp_ch4.ads, | |
1333 | exp_ch6.adb, sem_ch4.adb, sem_ch4.ads, sem_ch6.adb, | |
1334 | opt.ads, sem_eval.adb, sem_eval.ads, exp_intr.adb, sprint.adb, | |
1335 | sprint.ads, styleg.ads: Change name Conditional_Expression to | |
1336 | If_Expression. | |
1337 | * gcc-interface/trans.c (gnat_to_gnu): Replace | |
1338 | N_Conditional_Expression by N_If_Expression. | |
1339 | * gcc-interface/Make-lang.in: Update dependencies. | |
1340 | ||
595e47de | 1341 | 2012-10-02 Robert Dewar <dewar@adacore.com> |
1342 | ||
1343 | * exp_ch4.adb (Expand_N_Op_Expon): Use expression with actions | |
1344 | for x ** 4. | |
1345 | ||
1346 | 2012-10-02 Ed Schonberg <schonberg@adacore.com> | |
1347 | ||
1348 | * sem_ch5.adb: (Analyze_Iterator_Specification): If container | |
1349 | has a variable indexing aspect, the element is a variable and | |
1350 | is modifiable in the loop. This check is also performed when the | |
1351 | loop is expanded, but it must be done in semantic analysis when | |
1352 | expansion is disabled, for example for ASIS usage. | |
1353 | ||
1354 | 2012-10-02 Ed Schonberg <schonberg@adacore.com> | |
1355 | ||
1356 | * lib-xref.adb (Generate_Reference): If a child subprogram | |
1357 | has no previous spec, treat a reference to its formals (such | |
1358 | as a parameter association) as coming from source in order to | |
1359 | generate the proper references and enable gps navigation between | |
1360 | reference and declaration. | |
1361 | ||
0326b4d4 | 1362 | 2012-10-02 Robert Dewar <dewar@adacore.com> |
1363 | ||
1364 | * checks.adb (Apply_Arithmetic_Overflow_Checked_Suppressed): | |
1365 | New name for Apply_Arithmetic_Overflow_Normal | |
1366 | (Apply_Arithmetic_Overflow_Minimized_Eliminated): | |
1367 | Add handling for conditional expressions | |
1368 | (Is_Signed_Integer_Arithmetic_Op): Now includes conditional | |
1369 | expressions (Minimize_Eliminate_Overflow_Checks): Handle | |
1370 | conditional expressions. | |
1371 | * checks.ads: Minor comment fixes. | |
1372 | * exp_ch4.adb (Expand_N_Case_Expression): Call | |
1373 | Apply_Arithmetic_Overflow_Check (Expand_N_Conditional_Expression): | |
1374 | Call Apply_Arithmetic_Overflow_Check | |
1375 | * s-bignum.adb (Normalize): Remove incorrect precondition. | |
1376 | * sem_res.adb (Resolve_Case_Expression): Set Do_Overflow_Check | |
1377 | flag (Resolve_Conditional_Expression): Set Do_Overflow_Check flag. | |
1378 | * sinfo.adb: Add Do_Overflow_Check for conditional expressions. | |
1379 | * sinfo.ads: Minor documentation updates. | |
1380 | ||
276da501 | 1381 | 2012-10-02 Ed Schonberg <schonberg@adacore.com> |
1382 | ||
1383 | * exp_ch4.adb (Expand_N_Case_Expression): Do not introduce | |
1384 | indirections when the type of the alternatives is an access type: | |
1385 | more efficient, and removes anomalies when an alternative is | |
1386 | statically null. | |
1387 | ||
1388 | 2012-10-02 Robert Dewar <dewar@adacore.com> | |
1389 | ||
1390 | * aspects.ads: Minor comment addition (Invariant is a GNAT aspect). | |
1391 | ||
a45d946f | 1392 | 2012-10-02 Robert Dewar <dewar@adacore.com> |
1393 | ||
1394 | * exp_ch7.adb, sem_dim.adb, sem_dim.ads, prj-part.adb, checks.adb, | |
1395 | freeze.adb, sem_ch4.adb, sem_ch13.adb: Minor reformatting. | |
1396 | ||
1397 | 2012-10-02 Robert Dewar <dewar@adacore.com> | |
1398 | ||
1399 | * sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Fix | |
1400 | typo preventing proper processing of Overflow_Checks pragmas | |
1401 | for general case. | |
1402 | ||
1403 | 2012-10-02 Robert Dewar <dewar@adacore.com> | |
1404 | ||
1405 | * exp_ch4.adb (Expand_N_Op_Mod): Fix crash in ELIMINATED overflow | |
1406 | checks mode when bignum mode is used. | |
1407 | ||
1408 | 2012-10-02 Robert Dewar <dewar@adacore.com> | |
1409 | ||
1410 | * stylesw.ads, gnat_ugn.texi: Document new style rule for NOT IN. | |
1411 | * par-ch4.adb (P_Relational_Operator): Add style check for NOT IN. | |
1412 | * style.ads, styleg.adb, styleg.ads (Check_Not_In): New procedure. | |
1413 | ||
fb0ac559 | 1414 | 2012-10-02 Vincent Pucci <pucci@adacore.com> |
1415 | ||
1416 | * sem_attr.adb (Analyze_Attribute): Check dimension for attribute | |
1417 | Old before it gets expanded. | |
1418 | * sem_dim.adb (Analyze_Dimension_Has_Etype): Correctly propagate | |
1419 | dimensions for identifier. | |
1420 | ||
1421 | 2012-10-02 Ed Schonberg <schonberg@adacore.com> | |
1422 | ||
1423 | * exp_ch5.adb (Expand_Iterator_Loop): Handle properly the case | |
1424 | where the iterator type is derived locally from an instantiation | |
1425 | of Ada.Iterators_Interface. | |
1426 | * exp_ch7.adb (Establish_Transient_Scope): Do not create a | |
1427 | transient scope if within the expansion of an iterator loop, | |
1428 | because a transient block already exists. | |
1429 | ||
1430 | 2012-10-02 Vincent Celier <celier@adacore.com> | |
1431 | ||
1432 | * gnatcmd.adb: Use absolute path for configuration pragmas files | |
1433 | * make.adb (Configuration_Pragmas_Switch.Absolute_Path): Moved | |
1434 | to Makeutl. | |
1435 | * makeutl.ads, makeutl.adb (Absolute_Path): New function, moved from | |
1436 | make.adb. | |
1437 | ||
1438 | 2012-10-02 Vincent Celier <celier@adacore.com> | |
1439 | ||
1440 | * prj-part.adb (Post_Parse_Context_Clause): Resurrect Boolean | |
1441 | parameter In_Limited. Check for circularity also if In_Limited | |
1442 | is True. | |
1443 | (Parse_Single_Project): Call Post_Parse_Context_Clause with | |
1444 | In_Limited parameter. | |
1445 | ||
cac18f71 | 1446 | 2012-10-02 Bob Duff <duff@adacore.com> |
1447 | ||
1448 | * checks.adb (Apply_Predicate_Check): Disable check in -gnatc mode. | |
1449 | ||
1450 | 2012-10-02 Vincent Pucci <pucci@adacore.com> | |
1451 | ||
1452 | * sem_ch6.adb (Analyze_Function_Call): Dimension propagation | |
1453 | for function calls moved to Analyze_Dimension_Call. | |
1454 | * sem_dim.adb (Analyze_Dimension_Call): Properly propagate the | |
1455 | dimensions from the returned type for function calls. | |
1456 | ||
1457 | 2012-10-02 Vincent Celier <celier@adacore.com> | |
1458 | ||
1459 | * gnatcmd.adb: Take into account any configuration pragma file | |
1460 | in the project files for gnat pretty/stub/metric. | |
1461 | ||
1462 | 2012-10-02 Ed Schonberg <schonberg@adacore.com> | |
1463 | ||
1464 | * sem_ch13.adb (Check_Indexing_Functions): Refine several tests | |
1465 | on the legality of indexing aspects: Constant_Indexing functions | |
1466 | do not have to return a reference type, and given an indexing | |
1467 | aspect Func, not all overloadings of Func in the current scope | |
1468 | need to be indexing functions. | |
1469 | ||
1470 | 2012-10-02 Vasiliy Fofanov <fofanov@adacore.com> | |
1471 | ||
1472 | * gnat_ugn.texi: Adjust docs for overflow checks to be VMS-friendly. | |
1473 | ||
1474 | 2012-10-02 Vincent Celier <celier@adacore.com> | |
1475 | ||
1476 | * switch-m.adb (Normalize_Compiler_Switches): Recognize switches | |
1477 | -gnatox and -gnatoxx when x=0/1/2/3. | |
1478 | ||
3b045963 | 1479 | 2012-10-02 Vincent Pucci <pucci@adacore.com> |
1480 | ||
1481 | * sem_ch4.adb (Analyze_Indexed_Component_Form): Dimension | |
1482 | analysis for indexed components added. | |
1483 | * sem_ch6.adb (Analyze_Function_Call): Dimension propagation | |
1484 | for function calls added. | |
1485 | * sem_dim.adb (Analyze_Dimension): Call to | |
1486 | Analyze_Dimension_Has_Etype when N is a function call. | |
1487 | (Analyze_Dimension_Call): Don't propagate anymore the dimensions | |
1488 | for function calls since this is now treated separately in | |
1489 | Analyze_Dimension_Has_Etype. | |
1490 | (Analyze_Dimension_Has_Etype): For | |
1491 | attribute references, propagate the dimensions from the prefix. | |
1492 | * sem_dim.ads (Copy_Dimensions): Fix comment. | |
1493 | ||
1494 | 2012-10-02 Hristian Kirtchev <kirtchev@adacore.com> | |
1495 | ||
1496 | * checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine. | |
1497 | (Apply_Parameter_Aliasing_And_Validity_Checks): This routine | |
1498 | has been split into two. | |
1499 | (Apply_Parameter_Validity_Checks): New routine. | |
1500 | * exp_ch6.adb (Expand_Call): Add checks to verify that actuals | |
1501 | do not overlap. The checks are made on the caller side to overcome | |
1502 | issues of parameter passing mechanisms. | |
1503 | * freeze.adb (Freeze_Entity): Update call to | |
1504 | Apply_Parameter_Aliasing_And_Validity_Checks. | |
1505 | ||
c9e56837 | 1506 | 2012-10-02 Ed Schonberg <schonberg@adacore.com> |
1507 | ||
1508 | * sem_ch4.adb (Is_Empty_Range): Use bounds of index type | |
1509 | to determine whether an array is empty when optimizing | |
1510 | a quantified expression over a null range. Use of RM_Size | |
1511 | was incorrect. Analyze condition before constant-folding the | |
1512 | expression to catch potential errors. Modify the error message | |
1513 | to avoid mathematical terminology. | |
1514 | ||
df7590c5 | 1515 | 2012-10-02 Robert Dewar <dewar@adacore.com> |
1516 | ||
1517 | * usage.adb, gnat_rm.texi, vms_data.ads: Add entry for | |
1518 | /OVERFLOW_CHECKS=?? generating -gnato?? for control | |
1519 | of extended overflow checking. | |
1520 | * ug_words: Add entry for -gnato?? for /OVERFLOW_CHECKS=?? | |
1521 | * gnat_ugn.texi: Add documentation for -gnato?? for control of overflow | |
1522 | checking mode. | |
1523 | ||
1524 | 2012-10-02 Ed Schonberg <schonberg@adacore.com> | |
1525 | ||
1526 | * sem_ch4.adb (Analyze_Quantified_Expression): If the iterator in | |
1527 | a quantified expression is statically known to be null (e.g. a | |
1528 | array with an empty index type) emit a warning. | |
1529 | ||
61016a7a | 1530 | 2012-10-02 Robert Dewar <dewar@adacore.com> |
1531 | ||
1532 | * sem_dim.adb: Minor code reorganization. | |
1533 | * sem_dim.ads: Add comment. | |
1534 | ||
1535 | 2012-10-02 Robert Dewar <dewar@adacore.com> | |
1536 | ||
1537 | * checks.ads, exp_ch4.adb, checks.adb | |
1538 | (Minimize_Eliminate_Overflow_Checks): Add Top_Level parameter to avoid | |
1539 | unnecessary conversions to Bignum. | |
1540 | Minor reformatting. | |
1541 | ||
1542 | 2012-10-02 Ed Schonberg <schonberg@adacore.com> | |
1543 | ||
1544 | * sem_ch6.adb (Process_PPCs): Generate invariant checks for a | |
1545 | return value whose type is an access type and whose designated | |
1546 | type has invariants. Ditto for in-out parameters and in-parameters | |
1547 | of an access type. | |
1548 | * exp_ch3.adb (Build_Component_Invariant_Call): Add invariant check | |
1549 | for an access component whose designated type has invariants. | |
1550 | ||
cf4089a8 | 1551 | 2012-10-01 Vincent Pucci <pucci@adacore.com> |
1552 | ||
1553 | * sem_aggr.adb (New_Copy_Tree_And_Copy_Dimensions): New routine. | |
1554 | (Resolve_Record_Aggregate): New_Copy_Tree calls replaced by | |
1555 | New_Copy_Tree_And_Copy_Dimensions calls. Move_Dimensions call | |
1556 | replaced by Copy_Dimensions call. | |
1557 | * sem_dim.adb (Analyze_Dimension_Component_Declaration): Don't | |
1558 | remove the dimensions of expression in component declaration anymore. | |
1559 | (Copy_Dimensions): New routine. | |
1560 | (Move_Dimensions): Add call to Copy_Dimensions. | |
1561 | * sem_dim.ads (Copy_Dimensions): New routine. | |
1562 | (Move_Dimensions): Spec moved to body of Sem_Dim. | |
1563 | ||
e6281d47 | 1564 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> |
1565 | ||
1566 | * checks.adb (Apply_Predicate_Check): If the predicate is a | |
1567 | static one and the operand is static, evaluate the predicate at | |
1568 | compile time. | |
1569 | * sem_eval.ads, sem_eval.adb (Eval_Static_Predicate_Check): new | |
1570 | procedure, to evaluate a static predicate check whenever possible. | |
1571 | * sem_res.adb (Resolve_Type_Conversion): Apply predicate check | |
1572 | on the conversion if the target type has predicates. | |
1573 | ||
1574 | 2012-10-01 Vincent Pucci <pucci@adacore.com> | |
1575 | ||
1576 | * sem_dim.adb (Has_Symbols): Complain if parameter Symbol has been | |
1577 | provided by the user in the dimension output call. | |
1578 | ||
2fe22c69 | 1579 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
1580 | ||
1581 | * checks.adb (Apply_Divide_Checks): New name for | |
1582 | Apply_Divide_Check (Minimize_Eliminate_Overflow_Checks): | |
1583 | Add code to handle division (and rem and mod) properly. | |
1584 | (Apply_Division_Check): New procedure (Apply_Divide_Checks): | |
1585 | Use Apply_Division_Check (Apply_Divide_Checks): Use | |
1586 | Apply_Arithmetic_Overflow_Minimized_Eliminated. | |
1587 | * checks.ads (Apply_Divide_Checks): New name for | |
1588 | Apply_Divide_Check, also add clearer documentation for this | |
1589 | routine and put in alfa order. | |
1590 | * exp_ch4.adb (Apply_Divide_Checks): New name for | |
1591 | Apply_Divide_Check. | |
1592 | * s-bignum.adb (To_Bignum): Handle largest negative integer | |
1593 | properly. | |
1594 | * sem.adb (Analyze): Handle overflow suppression correctly | |
1595 | (Analyze_List): Handle overflow suppression correctly | |
1596 | * sem_res.adb (Analyze_And_Resolve): Handle overflow suppression | |
1597 | correctly. | |
1598 | ||
1599 | 2012-10-01 Vasiliy Fofanov <fofanov@adacore.com> | |
1600 | ||
1601 | * s-oscons-tmplt.c, g-socket.ads: Revert previous change, breaks VMS. | |
1602 | ||
de922300 | 1603 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
1604 | ||
1605 | * checks.adb (Minimize_Eliminate_Overflow_Checks): Changes | |
1606 | for exponentiation. | |
1607 | * exp_ch4.adb (Expand_N_Op_Expon): Changes for Minimize/Eliminate | |
1608 | overflow checks. | |
1609 | * s-bignum.adb (Compare): Fix bad precondition. | |
1610 | ||
1611 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> | |
1612 | ||
1613 | * sem_ch3.adb (Build_Derived_Record_Type): If the derived | |
1614 | type has new discriminantss that constrain inherited ones, use | |
1615 | the discriminant type in the original declaration to check for | |
1616 | conformance, because in the presence of array components with a | |
1617 | smaller range that are constrained by the origina discriminant, | |
1618 | the compiler will have created a narrower subtype for that | |
1619 | discriminant. | |
1620 | ||
aa4b16cb | 1621 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
1622 | ||
1623 | * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated): | |
1624 | Handle case of appearing in range in membership test. | |
1625 | * exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow): | |
1626 | New procedure (Expand_N_In): Use | |
1627 | Expand_Membership_Minimize_Eliminate_Overflow. | |
1628 | * rtsfind.ads: Add RE_Bignum_In_LLI_Range. | |
1629 | * s-bignum.ads, s-bignum.adb (Bignum_In_LLI_Range): New function. | |
1630 | * sinfo.ads, sinfo.adb (No_Minimize_Eliminate): New flag. | |
1631 | ||
1632 | 2012-10-01 Robert Dewar <dewar@adacore.com> | |
1633 | ||
1634 | * uintp.ads: Minor reformatting. | |
1635 | ||
96a2d100 | 1636 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> |
1637 | ||
1638 | * checks.adb: Improve warning message. | |
1639 | ||
d94b5da2 | 1640 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
1641 | ||
1642 | * checks.adb: Minor reformatting. | |
1643 | ||
1644 | 2012-10-01 Javier Miranda <miranda@adacore.com> | |
1645 | ||
1646 | * exp_ch3.adb (Expand_N_Object_Declaration): Suppress tag | |
1647 | assignment for initializations that are aggregates. | |
1648 | ||
1649 | 2012-10-01 Robert Dewar <dewar@adacore.com> | |
1650 | ||
1651 | * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow): | |
1652 | New procedure. | |
1653 | ||
49b3a812 | 1654 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
1655 | ||
1656 | * checks.adb (Minimize_Eliminate_Checks): Changes from testing. | |
1657 | (Apply_Arithmetic_Overflow_Minimized_Eliminated): Changes | |
1658 | from testing. | |
1659 | * sinfo.ads: Remove note on not setting Entity field in overflow | |
1660 | case since this is no longer true. | |
1661 | * Makefile.rtl: Add s-bignum.o | |
1662 | ||
1663 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
1664 | ||
1665 | * Make-generated.in: Correction to previous change for s-oscons | |
1666 | target. | |
1667 | ||
1668 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
1669 | ||
1670 | * s-bignum.adb (Allocate_Bignum): Reorganize to kill strict | |
1671 | aliasing warning. | |
1672 | ||
3cce7f32 | 1673 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
1674 | ||
1675 | * checks.adb (Overflow_Check_Mode): New function | |
1676 | (Apply_Overflow_Check): New procedure (Is_Check_Suppressed): | |
1677 | Moved here from Sem, Overflow_Check case now specially treated. | |
1678 | * checks.ads (Overflow_Check_Mode): New function | |
1679 | (Is_Check_Suppressed): Moved here from Sem (more logical) | |
1680 | * exp_ch4.adb (Substitute_Valid_Check): Suppress warning about | |
1681 | optimization if we are in MINIMIZED or ELIMINATED overflow | |
1682 | checking mode and within an assertiom expression. | |
1683 | * rtsfind.ads: Add entries for Bignum stuff. | |
1684 | * s-bignum.ads, s-bignum.adb: New files. | |
1685 | * sem.ads, sem.adb (Is_Check_Suppressed): Moved to Checks, more logical. | |
1686 | * sem_prag.adb (Process_Suppress_Unsuppress): New behavior for | |
1687 | Unsuppress of Overflow_Check (sets Checked instead of Minimized) | |
1688 | * sem_res.adb: Update comments. | |
1689 | * sinfo.ads (N_Op): Add documentation on overflow handling. | |
1690 | * tbuild.ads, tbuild.adb (Convert_To_And_Rewrite): New procedure. | |
1691 | * types.ads (Minimized_Or_Eliminated): New subtype. | |
1692 | ||
1693 | 2012-10-01 Eric Botcazou <ebotcazou@adacore.com> | |
1694 | ||
1695 | * layout.adb (Layout_Type): Do not set twice the address size | |
1696 | on an access-to-unconstrained array if Debug_Flag_6 is set. | |
1697 | ||
15e5d5ca | 1698 | 2012-10-01 Hristian Kirtchev <kirtchev@adacore.com> |
1699 | ||
1700 | * sem_ch3.adb (Analyze_Declarations): Remove the specialized | |
1701 | code which prevents freezing when the declarative list contains | |
1702 | a _postconditions body. This is no longer needed because the | |
1703 | body is now inserted at the end of the declarations. | |
1704 | * sem_ch6.adb (Insert_After_Last_Declaration): New routine. | |
1705 | (Insert_Before_First_Source_Declaration): Removed. | |
1706 | (Process_PPCs): Insert the _postconditions body at the end of | |
1707 | the declarative list to prevent premature freezing of types that | |
1708 | appear in the declarations. | |
1709 | ||
1710 | 2012-10-01 Robert Dewar <dewar@adacore.com> | |
1711 | ||
1712 | * sem_aggr.adb, sem_dim.adb: Minor reformatting. | |
1713 | ||
22631b41 | 1714 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> |
1715 | ||
1716 | * sem_prag.adb (Process_Convention, Process_Import_Or_Interface): | |
1717 | Adjust test so that when the pragma comes from an aspect | |
1718 | specification it only applies to the entity in the original | |
1719 | declaration. | |
1720 | ||
1721 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
1722 | ||
1723 | * gnat_ugn.texi: Document new command line switch -fada-spec-parent. | |
1724 | ||
1725 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
1726 | ||
1727 | * s-oscons-tmplt.c, g-socket.ads: Minor code improvement: use gcc | |
1728 | builtin __alignof__ to get the alignment of struct fd_set. | |
1729 | ||
1730 | 2012-10-01 Vincent Pucci <pucci@adacore.com> | |
1731 | ||
1732 | * exp_ch6.adb (Expand_Call): Remove call to | |
1733 | Remove_Dimension_In_Call. | |
1734 | * sem_aggr.adb (Resolve_Array_Aggregate): Analyze dimension of | |
1735 | components in array aggregate. | |
1736 | (Resolve_Aggr_Expr): Propagate dimensions from the original expression | |
1737 | Expr to the new created expression New_Expr when resolving the | |
1738 | expression of a component in record aggregates. | |
1739 | (Resolve_Record_Aggregate): Analyze | |
1740 | dimension of components in record (or extension) aggregate. | |
1741 | * sem_ch6.adb (Analyze_Subprogram_Specification): Analyze | |
1742 | dimension of formals with default expressions in subprogram | |
1743 | specification. | |
1744 | * sem_ch8.adb (Analyze_Expanded_Name): Analyze dimension of | |
1745 | expanded names. | |
1746 | (Find_Selected_Component): Analyze dimension of selected component. | |
1747 | * sem_dim.adb: Several dimension error messages reformatting. | |
1748 | (Dimensions_Msg_Of): New flag Description_Needed in order to | |
1749 | differentiate two different sort of dimension error messages. | |
1750 | (Dim_Warning_For_Numeric_Literal): New routine. | |
1751 | (Exists): New routine. | |
1752 | (Move_Dimensions): Routine spec moved to spec file. | |
1753 | * sem_dim.ads (String_From_Numeric_Literal): New routine. | |
1754 | (Analyze_Dimension): Analyze dimension only when the | |
1755 | node comes from source. Dimension analysis for expanded names added. | |
1756 | (Analyze_Dimension_Array_Aggregate): New routine. | |
1757 | (Analyze_Dimension_Call): New routine. | |
1758 | (Analyze_Dimension_Component_Declaration): Warning if default | |
1759 | expression is a numeric literal. | |
1760 | (Analyze_Dimension_Extension_Or_Record_Aggregate): New routine. | |
1761 | (Analyze_Dimension_Formals): New routine. | |
1762 | (Analyze_Dimension_Object_Declaration): Warning if default | |
1763 | expression is a numeric literal. | |
1764 | (Symbol_Of): Return either the dimension subtype symbol or the | |
1765 | dimension symbol built by From_Dim_To_Str_Of_Unit_Symbols. | |
1766 | * sem_dim.ads (Analyze_Dimension_Array_Aggregate): New routine. | |
1767 | (Analyze_Dimension_Call): New routine. | |
1768 | (Analyze_Dimension_Extension_Or_Record_Aggregate): New routine. | |
1769 | (Analyze_Dimension_Formals): New routine. | |
1770 | (Move_Dimensions): Moved from sem_dim.adb. | |
1771 | * s-dimmks.ads: Turn off the warnings for dimensioned object | |
1772 | declaration. Dimensioned subtypes sorted in alphabetical | |
1773 | order. New subtypes Area, Speed, Volume. | |
1774 | * s-dmotpr.ads: Turn off the warnings for dimensioned object | |
1775 | declaration. | |
1776 | * sem_res.adb (Resolve_Call): Analyze dimension for calls. | |
1777 | ||
1778 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
1779 | ||
1780 | * Make-generated.in: Minor cleanup of all targets: use | |
1781 | MOVE_IF_CHANGE to put generated files in place, to avoid useless | |
1782 | recompilations. | |
1783 | ||
1784 | 2012-10-01 Javier Miranda <miranda@adacore.com> | |
1785 | ||
1786 | * exp_disp.adb (Expand_Dispatching_Call): For functions returning | |
1787 | interface types add an implicit conversion to the returned object | |
1788 | to force the displacement of the pointer to the returned object | |
1789 | to reference the corresponding secondary dispatch table. This | |
1790 | is needed to handle well combined calls involving secondary | |
1791 | dispatch tables (for example Obj.Prim1.Prim2). | |
1792 | * exp_ch4.adb (Expand_Allocator_Expression): Declare internal | |
1793 | access type as access to constant or access to variable depending | |
1794 | on the context. Found working in this ticket. | |
1795 | ||
1796 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> | |
1797 | ||
1798 | * checks.adb (Apply_Predicate_Check): Do not apply check to | |
1799 | actual of predicate checking procedure, to prevent infinite | |
1800 | recursion. | |
1801 | ||
71e95bca | 1802 | 2012-10-01 Arnaud Charlet <charlet@adacore.com> |
1803 | ||
1804 | * gcc-interface/Make-lang.in: Update dependencies. | |
1805 | (GCC_LINK): Add -static-libstdc++. | |
1806 | ||
b6341c67 | 1807 | 2012-10-01 Arnaud Charlet <charlet@adacore.com> |
1808 | ||
1809 | * a-catizo.adb, a-stwiun.adb, a-cdlili.adb, a-cihama.adb, a-direct.adb, | |
1810 | a-coinve.adb, a-calend.adb, a-ciorse.adb, a-coorma.adb, a-cfdlli.adb, | |
1811 | a-stzunb-shared.adb, a-cfhase.adb, bindgen.adb, ceinfo.adb, a-tags.adb, | |
1812 | einfo.adb, checks.adb, eval_fat.adb, a-cborma.adb, a-stwifi.adb, | |
1813 | a-tifiio.adb, a-textio.adb, a-cidlli.adb, a-strunb-shared.adb, | |
1814 | a-cimutr.adb, a-calcon.adb, a-exexpr-gcc.adb, a-ciormu.adb, | |
1815 | a-stzunb.adb, a-stzsea.adb, a-ngelfu.adb, a-stzfix.adb, | |
1816 | a-cihase.adb, a-cohama.adb, a-exetim-posix.adb, a-dirval-vms.adb, | |
1817 | a-caldel-vms.adb, a-coorse.adb, errout.adb, | |
1818 | a-except.adb, butil.adb, a-dirval-mingw.adb, a-cforma.adb, | |
1819 | a-except-2005.adb, a-wtedit.adb, cstand.adb, a-stwiun-shared.adb, | |
1820 | a-cbhama.adb, a-direio.adb, clean.adb, a-cborse.adb, back_end.adb, | |
1821 | binde.adb, a-exexda.adb, a-comutr.adb, a-ciorma.adb, a-cobove.adb, | |
1822 | a-coormu.adb, a-teioed.adb, a-convec.adb, a-wtenau.adb, exp_aggr.adb, | |
1823 | a-ztedit.adb, a-cohase.adb, a-exetim-mingw.adb, bcheck.adb, | |
1824 | a-dynpri.adb, a-cfhama.adb, a-calfor.adb, a-cbdlli.adb, | |
1825 | a-crdlli.adb, a-cbmutr.adb, a-sequio.adb, a-ngcoar.adb, a-cforse.adb, | |
1826 | a-strunb.adb, a-calend-vms.adb, a-clrefi.adb, a-cofove.adb, | |
1827 | a-ztenau.adb, a-strfix.adb, a-cbhase.adb, a-stzsup.adb: Minor | |
1828 | reformatting. | |
1829 | ||
91e47010 | 1830 | 2012-10-01 Vincent Pucci <pucci@adacore.com> |
1831 | ||
1832 | * s-gearop.adb (Vector_Matrix_Product): Dimensions check fixed. Index | |
1833 | of Left in S evaluation fixed. | |
1834 | ||
1835 | 2012-10-01 Javier Miranda <miranda@adacore.com> | |
1836 | ||
1837 | * sem_ch3.adb (Analyze_Declarations): Avoid | |
1838 | premature freezing caused by the internally generated subprogram | |
1839 | _postconditions. | |
1840 | * checks.adb (Expr_Known_Valid): Float literals are assumed to be valid | |
1841 | in VM targets. | |
1842 | ||
1843 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
1844 | ||
1845 | * sinput.ads, sinput.adb, sinput-l.adb sinput-c.adb (Sinput): New | |
1846 | Instances table, tracking all generic instantiations. Source file | |
1847 | attribute Instance replaces previous Instantiation attribute with an | |
1848 | index into the Instances table. | |
1849 | (Iterate_On_Instances): New generic procedure. | |
1850 | (Create_Instantiation_Source): Record instantiations in Instances. | |
1851 | (Tree_Read, Tree_Write): Read/write the instance table. | |
1852 | * scils.ads, scos.adb (SCO_Instance_Table): New table, contains | |
1853 | information copied from Sinput.Instance_Table, but self-contained | |
1854 | within the SCO data structures. | |
1855 | * par_sco.ads, par_sco.adb (To_Source_Location): Move to library level. | |
1856 | (Record_Instance): New subprogram, used by... | |
1857 | (Populate_SCO_Instance_Table): New subprogram to fill | |
1858 | the SCO instance table from the Sinput one (called by SCO_Output). | |
1859 | * opt.ads (Generate_SCO_Instance_Table): New option. | |
1860 | * put_scos.adb (Write_Instance_Table): New subprogram, used by... | |
1861 | (Put_SCOs): Dump the instance table at the end of SCO information | |
1862 | if requested. | |
1863 | * get_scos.adb (Get_SCOs): Read SCO_Instance_Table. | |
1864 | * types.h: Add declaration for Instance_Id. | |
1865 | * back_end.adb (Call_Back_End): Pass instance ids in source file | |
1866 | information table. | |
1867 | (Scan_Back_End_Switches): -fdebug-instances sets | |
1868 | Opt.Generate_SCO_Instance_Table. | |
1869 | * gcc-interface/gigi.h: File_Info_Type includes instance id. | |
1870 | * gcc-interface/trans.c: Under -fdebug-instances, set instance | |
1871 | id in line map from same in file info. | |
1872 | ||
1873 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
1874 | ||
1875 | * sem_elab.adb: Minor reformatting | |
1876 | (Check_Elab_Call): Minor fix to debugging code | |
1877 | (add special circuit for the valid case where a 'Access attribute | |
1878 | reference is passed to Check_Elab_Call). | |
1879 | ||
1880 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
1881 | ||
1882 | * exp_ch3.adb: Minor reformatting. | |
1883 | ||
1bd93de5 | 1884 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> |
1885 | ||
1886 | * exp_ch3.ads (Build_Array_Invariant_Proc): moved to body. | |
1887 | * exp_ch3.adb (Build_Array_Invariant_Proc, | |
1888 | Build_Record_Invariant_Proc): transform into functions. | |
1889 | (Insert_Component_Invariant_Checks): for composite types that have | |
1890 | components with specified invariants, build a checking procedure, | |
1891 | and make into the invariant procedure of the composite type, | |
1892 | or incorporate it into the user- defined invariant procedure if | |
1893 | one has been created. | |
1894 | * sem_ch3.adb (Array_Type_Declaration): Checking for invariants | |
1895 | on the component type is defered to the expander. | |
1896 | ||
1897 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
1898 | ||
1899 | * xsnamest.adb, namet.h, sem_ch10.adb, s-oscons-tmplt.c, | |
1900 | xoscons.adb: Minor reformatting. | |
1901 | ||
1902 | 2012-10-01 Hristian Kirtchev <kirtchev@adacore.com> | |
1903 | ||
1904 | * checks.adb (Apply_Parameter_Aliasing_And_Validity_Checks): | |
1905 | Do not process subprogram renaminds because a) those cannot | |
1906 | have PPC pragmas b) the renamed entity already has the PPCs. | |
1907 | (Build_PPC_Pragma): Prepend a PPC pragma for consistency with | |
1908 | Process_PPCs. | |
1909 | * sem_ch6.adb (Last_Implicit_Declaration): Removed. | |
1910 | (Process_PPCs): Insert a post condition body at the start of the | |
1911 | declarative region of the related subprogram. This way the body | |
1912 | will not freeze anything it shouldn't. | |
1913 | ||
7c443ae8 | 1914 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
1915 | ||
1916 | * freeze.adb, sem_ch6.adb, opt.ads, sem_ch13.adb, | |
1917 | exp_ch3.adb: Minor reformatting. | |
1918 | ||
1919 | 2012-10-01 Hristian Kirtchev <kirtchev@adacore.com> | |
1920 | ||
1921 | * checks.adb (Build_PPC_Pragma): A PPC pragma can now be properly | |
1922 | associated with a subprogram body. | |
1923 | ||
5d3fb947 | 1924 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> |
1925 | ||
1926 | * aspects.ads: Type_Invariant'class is a valid aspect. | |
1927 | * sem_ch6.adb (Is_Public_Subprogram_For): with the exception of | |
1928 | initialization procedures, subprograms that do not come from | |
1929 | source are not public for the purpose of invariant checking. | |
1930 | * sem_ch13.adb (Build_Invariant_Procedure): Handle properly the | |
1931 | case of a non-private type in a package without a private part, | |
1932 | when the type inherits invariants from its ancestor. | |
1933 | ||
1934 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> | |
1935 | ||
1936 | * exp_ch3.adb (Build_Record_Invariant_Proc): new procedure to | |
1937 | generate a checking procedure for record types that may have | |
1938 | components whose types have type invariants declared. | |
1939 | ||
4a9e7f0c | 1940 | 2012-10-01 Vincent Pucci <pucci@adacore.com> |
1941 | ||
1942 | * system-solaris-sparcv9.ads, system-mingw.ads, system-vms_64.ads: Flag | |
1943 | Support_Atomic_Primitives set to True. | |
1944 | ||
1945 | 2012-10-01 Robert Dewar <dewar@adacore.com> | |
1946 | ||
1947 | * impunit.adb: Ada.Locales is a language defined unit. | |
1948 | ||
1949 | 2012-10-01 Hristian Kirtchev <kirtchev@adacore.com> | |
1950 | ||
1951 | * checks.adb (Apply_Parameter_Aliasing_Checks): Removed. | |
1952 | (Apply_Parameter_Aliasing_And_Validity_Checks): New routine. | |
1953 | (Apply_Parameter_Validity_Checks): Removed. | |
1954 | * checks.ads (Apply_Parameter_Aliasing_Checks): Removed. | |
1955 | (Apply_Parameter_Aliasing_And_Validity_Checks): New routine. | |
1956 | (Apply_Parameter_Validity_Checks): Removed. | |
1957 | * exp_ch6.adb (Expand_Call): Remove the generation of parameter | |
1958 | aliasing checks. | |
1959 | * freeze.adb: Remove with and use clauses for Validsw. | |
1960 | (Freeze_Entity): Update the guard and generation of aliasing | |
1961 | and scalar initialization checks for subprogram parameters. | |
1962 | * opt.ads: Add new flags Check_Aliasing_Of_Parameters and | |
1963 | Check_Validity_Of_Parameters along with comments on usage. | |
1964 | * sem_attr.adb (Analyze_Attribute): Pragma Overlaps_Storage is | |
1965 | no longer an Ada 2012 feature. | |
1966 | * sem_ch4.adb: Remove with and use clauses for Checks and Validsw. | |
1967 | (Analyze_Call): Remove the generation of aliasing checks for | |
1968 | subprogram parameters. | |
1969 | * sem_ch13.adb: Remove with and use clauses for Validsw. | |
1970 | (Analyze_Aspect_Specifications): Remove the generation of scalar | |
1971 | initialization checks. | |
1972 | * switch-c.adb (Scan_Front_End_Switches): Add processing for | |
1973 | -gnateA and -gnateV. | |
1974 | * usage.adb (Usage): Add information on switches -gnateA and | |
1975 | -gnateV. Remove information on validity switches 'l', 'L', | |
1976 | 'v' and 'V'. | |
1977 | * validsw.adb (Reset_Validity_Check_Options): Remove the | |
1978 | reset of flags Validity_Check_Non_Overlapping_Params | |
1979 | and Validity_Check_Valid_Scalars_On_Params. | |
1980 | (Save_Validity_Check_Options): Remove the processing | |
1981 | for flags Validity_Check_Non_Overlapping_Params | |
1982 | and Validity_Check_Valid_Scalars_On_Params. | |
1983 | (Set_Validity_Check_Options): Remove the processing | |
1984 | for flags Validity_Check_Non_Overlapping_Params and | |
1985 | Validity_Check_Valid_Scalars_On_Params. | |
1986 | * validsw.ads: Remove flags Validity_Check_Non_Overlapping_Params | |
1987 | and Validity_Check_Valid_Scalars_On_Params along with their | |
1988 | comments on usage. | |
1989 | ||
d513339a | 1990 | 2012-10-01 Yannick Moy <moy@adacore.com> |
1991 | ||
1992 | * sem_ch13.adb (Add_Invariants): Analyze the invariant expression | |
1993 | as an assertion expression. | |
1994 | * sem_ch3.adb / sem_ch3.ads (Preanalyze_Assert_Expression): | |
1995 | New procedure that wraps a call to Preanalyze_Spec_Expression | |
1996 | for assertion expressions, so that In_Assertion_Expr can be | |
1997 | properly adjusted. | |
1998 | * sem_prag.adb (Analyze_PPC_In_Decl_Part | |
1999 | Check_Precondition_Postcondition Preanalyze_CTC_Args): Call the | |
2000 | new Preanalyze_Assert_Expression. | |
2001 | ||
a1c925e5 | 2002 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
2003 | ||
2004 | * checks.ads: Minor reformatting. | |
2005 | ||
2006 | 2012-10-01 Yannick Moy <moy@adacore.com> | |
2007 | ||
2008 | * types.ads, sem_prag.adb, sem.ads: Correct minor typos in comments. | |
2009 | ||
724d2bd8 | 2010 | 2012-10-01 Vincent Celier <celier@adacore.com> |
2011 | ||
2012 | * make.adb (Scan_Make_Arg): Only test for "vP" of the option | |
2013 | includes at least 3 characters. | |
2014 | * gnatcmd.adb (GNATCmd): Ditto. | |
2015 | ||
2016 | 2012-10-01 Eric Botcazou <ebotcazou@adacore.com> | |
2017 | ||
2018 | * exp_ch7.adb, sinfo.ads: Add comments. | |
2019 | ||
2020 | 2012-10-01 Robert Dewar <dewar@adacore.com> | |
2021 | ||
2022 | * checks.adb: Remove reference to Enable_Overflow_Checks Use | |
2023 | Suppress_Options rather than Scope_Suppress. | |
2024 | * gnat1drv.adb (Adjust_Global_Switches): Handle new overflow | |
2025 | settings (Adjust_Global_Switches): Initialize Scope_Suppress | |
2026 | from Suppress_Options. | |
2027 | * opt.adb: Remove Enable_Overflow_Checks (use Suppress_Options | |
2028 | instead). | |
2029 | * opt.ads: Remove Overflow_Checks_Unsuppressed (not used) | |
2030 | Remove Enable_Overflow_Checks (use Suppress_Options instead) | |
2031 | Suppress_Options is now current setting (replaces Scope_Suppress). | |
2032 | * osint.adb (Initialize): Deal with initializing overflow | |
2033 | checking. | |
2034 | * par-prag.adb: Add dummy entry for pragma Overflow_Checks. | |
2035 | * sem.adb (Semantics): Save and restore In_Assertion_Expr Use | |
2036 | Suppress_Options instead of Scope_Suppress. | |
2037 | * sem.ads (In_Assertion_Expr): New flag (Scope_Suppress): | |
2038 | Removed, use Suppress_Options instead. | |
2039 | * sem_eval.adb (Compile_Time_Compare): Return Unknown in | |
2040 | preanalysis mode. | |
2041 | * sem_prag.adb (Process_Suppress_Unsuppress): Setting of | |
2042 | Overflow_Checks_Unsuppressed removed (not used anywhere!) | |
2043 | (Analyze_Pragma, case Check): Set In_Assertion_Expression | |
2044 | (Analyze_Pragma, case Overflow_Checks): Implement new pragma | |
2045 | * snames.ads-tmpl: Add names needed for handling pragma | |
2046 | Overflow_Checks | |
2047 | * switch-c.adb (Scan_Front_End_Switches) Handle -gnato? and | |
2048 | -gnato?? where ? is 0-3 | |
2049 | * types.ads: Updates and fixes to comment on Suppress_Record. | |
2050 | ||
2051 | 2012-10-01 Vincent Celier <celier@adacore.com> | |
2052 | ||
2053 | * prj-part.adb (Parse): Remove incorrect comment about checking | |
2054 | imported non extending projects from and "extending all" | |
2055 | one. Minor correction. | |
2056 | ||
c9e9106d | 2057 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
2058 | ||
2059 | * make.adb, exp_ch3.adb: Minor reformatting. | |
2060 | ||
2061 | 2012-10-01 Hristian Kirtchev <kirtchev@adacore.com> | |
2062 | ||
2063 | * validsw.adb (Save_Validity_Check_Options): Do not set | |
2064 | Validity_Check_Non_Overlapping_Params and | |
2065 | Validity_Check_Valid_Scalars_On_Params when -gnatVa is present | |
2066 | because the related checks are deemed too aggressive. | |
2067 | ||
2068 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> | |
2069 | ||
2070 | * sem_util.ads sem_util.adb (Check_Internal_Protected_Use): | |
2071 | reject use of protected procedure or entry within the body of | |
2072 | a protected function of the same protected type, when usage is | |
2073 | a call, an actual in an instantiation, a or prefix of 'Access. | |
2074 | * sem_ch8.adb (Analyze_Subprogram_Renaming): Verify that target | |
2075 | object in renaming of protected procedure is a variable, and | |
2076 | apply Check_Internal_Protected_Use. | |
2077 | * sem_res.adb (Analyze_Call, Analyze_Entry_Call): apply | |
2078 | Check_Internal_Protected_Use rather than on-line code. | |
2079 | * sem_attr.adb (Analyze_Access_Attribute): Verify that target | |
2080 | object in accsss to protected procedure is a variable, and apply | |
2081 | Check_Internal_Protected_Use. | |
2082 | ||
2083 | 2012-10-01 Gary Dismukes <dismukes@adacore.com> | |
2084 | ||
2085 | * sem_ch4.adb (Find_Equality_Types.Try_One_Interp): Exclude the | |
2086 | predefined interpretation from consideration if it's for a "/=" | |
2087 | operator of a tagged type. This will allow Analyze_Equality_Op to | |
2088 | rewrite the "/=" as a logical negation of a call to the appropriate | |
2089 | dispatching equality function. This needs to be done during | |
2090 | analysis rather than expansion for the benefit of ASIS, which | |
2091 | otherwise gets the unresolved N_Op_Ne operator from Standard. | |
2092 | ||
9e58d7ed | 2093 | 2012-10-01 Thomas Quinot <quinot@adacore.com> |
2094 | ||
2095 | * gnatcmd.adb, make.adb (Scan_Make_Arg, Inspect_Switches): Recognize | |
2096 | and reject an invalid parameter passed to -vP. | |
2097 | ||
2098 | 2012-10-01 Yannick Moy <moy@adacore.com> | |
2099 | ||
2100 | * sem_warn.adb (Check_Infinite_Loop_Warning/Test_Ref): Improve | |
2101 | the detection of modifications to the loop variable by noting | |
2102 | that, if the type of variable is elementary and the condition | |
2103 | does not contain a function call, then the condition cannot be | |
2104 | modified by side-effects from a procedure call. | |
2105 | ||
2106 | 2012-10-01 Robert Dewar <dewar@adacore.com> | |
2107 | ||
2108 | * checks.adb: Add comments. | |
2109 | ||
2110 | 2012-10-01 Javier Miranda <miranda@adacore.com> | |
2111 | ||
2112 | * exp_ch3.adb (Expand_N_Object_Declaration): Improve condition catching | |
2113 | never-ending recursion. The previous condition erroneously disabled | |
2114 | silently the expansion of the class-wide interface object | |
2115 | initialization in cases not involving the recursion. | |
2116 | ||
b73adb97 | 2117 | 2012-10-01 Thomas Quinot <quinot@adacore.com> |
2118 | ||
2119 | * make.adb: Minor documentation fix: error messages are sent to | |
2120 | stderr, not stdout. | |
2121 | ||
2122 | 2012-10-01 Hristian Kirtchev <kirtchev@adacore.com> | |
2123 | ||
2124 | * checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine. | |
2125 | (Apply_Parameter_Validity_Checks): New routines. | |
2126 | * exp_ch6.adb (Expand_Call): Add aliasing checks to detect | |
2127 | overlapping objects. | |
2128 | * freeze.adb: Add with and use clauses for Checks and Validsw. | |
2129 | (Freeze_Entity): Add checks to detect proper initialization | |
2130 | of scalars. | |
2131 | * sem_ch4.adb: Add with and use clauses for Checks and Validsw. | |
2132 | (Analyze_Call): Add aliasing checks to detect overlapping objects. | |
2133 | * sem_ch13.adb: Add with and use clauses for Validsw. | |
2134 | (Analyze_Aspect_Specifications): Add checks to detect proper | |
2135 | initialization of scalars. | |
2136 | * sem_prag.adb (Chain_PPC): Correct the extraction of the | |
2137 | subprogram name. | |
2138 | * sem_util.adb (Is_Object_Reference): Attribute 'Result now | |
2139 | produces an object. | |
2140 | * usage.adb (Usage): Add usage lines for validity switches 'l', | |
2141 | 'L', 'v' and 'V'. | |
2142 | * validsw.adb (Reset_Validity_Check_Options): Include | |
2143 | processing for flags Validity_Check_Non_Overlapping_Params and | |
2144 | Validity_Check_Valid_Scalars_On_Params. Code reformatting. | |
2145 | (Save_Validity_Check_Options): Include processing | |
2146 | for flags Validity_Check_Non_Overlapping_Params | |
2147 | and Validity_Check_Valid_Scalars_On_Params. | |
2148 | (Set_Validity_Check_Options): Add processing for validity switches | |
2149 | 'a', 'l', 'L', 'n', 'v' and 'V'. Code reformatting. | |
2150 | * validsw.ads: Add new flags Validity_Check_Non_Overlapping_Params | |
2151 | and Validity_Check_Valid_Scalars_On_Params along with comments | |
2152 | on usage. | |
2153 | ||
2154 | 2012-10-01 Thomas Quinot <quinot@adacore.com> | |
2155 | ||
2156 | * namet.ads, xsnamest.adb, prj-env.adb, sem_warn.adb, | |
2157 | errout.ads: Minor reformatting. | |
2158 | * prj-part.adb: Add comment. | |
2159 | ||
29a9d4be | 2160 | 2012-10-01 Robert Dewar <dewar@adacore.com> |
2161 | ||
2162 | * sinfo.ads, exp_aggr.adb, sem_ch13.adb: Minor reformatting. | |
2163 | ||
2164 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> | |
2165 | ||
2166 | * sem_aggr.adb (Resolve_Array_Aggregate): Handle properly | |
2167 | component associations given by subtypes that have static | |
2168 | predicates. Improve error message for overlapping ranges in | |
2169 | array aggregates. | |
2170 | ||
2171 | 2012-10-01 Pascal Obry <obry@adacore.com> | |
2172 | ||
2173 | * snames.ads-tmpl (Name_Link_Lib_Subdir): New constant. | |
2174 | ||
2175 | 2012-10-01 Ed Schonberg <schonberg@adacore.com> | |
2176 | ||
2177 | * sem_ch9.adb (Analyze_Requeue): The target of a requeue | |
2178 | statement on a protected entry must be a variable. This is part | |
2179 | of AI05-0225. | |
2180 | ||
e1f2eb1e | 2181 | 2012-09-26 Ian Lance Taylor <iant@google.com> |
2182 | ||
2183 | * gcc-interface/Makefile.in (LIBBACKTRACE): New variable. | |
2184 | (LIBS): Add $(LIBBACKTRACE). | |
2185 | (LIBDEPS): Add $(LIBBACKTRACE). | |
2186 | (TOOLS_LIBS): Add ../../../libbacktrace/.libs/libbacktrace.a. | |
2187 | ||
1bb62874 | 2188 | 2012-09-10 Diego Novillo <dnovillo@google.com> |
2189 | ||
2190 | * gcc-interface/decl.c (build_subst_list): Adjust call to VEC_safe_push. | |
2191 | (build_variant_list): Likewise. | |
2192 | * gcc-interface/utils.c (convert): Adjust calls to VEC_quick_push. | |
2193 | ||
dd1d981f | 2194 | 2012-09-07 Eric Botcazou <ebotcazou@adacore.com> |
2195 | ||
2196 | * gcc-interface/trans.c (Loop_Statement_to_gnu): Revert to using | |
2197 | size_type_node instead of sizetype. | |
2198 | ||
0ade479e | 2199 | 2012-08-19 Eric Botcazou <ebotcazou@adacore.com> |
2200 | ||
2201 | * layout.adb (Set_Elem_Alignment): Cap the alignment of access types | |
2202 | to that of a regular access type for non-strict-alignment platforms. | |
2203 | * gcc-interface/utils.c (finish_fat_pointer_type): Do not set the | |
2204 | alignment for non-strict-alignment platforms. | |
2205 | ||
8b8701ea | 2206 | 2012-08-19 Eric Botcazou <ebotcazou@adacore.com> |
2207 | ||
2208 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use proper | |
2209 | dummy type for the temporary COMPONENT_REF built for a derived tagged | |
2210 | type with discriminant. | |
2211 | ||
7a6732ec | 2212 | 2012-08-14 Diego Novillo <dnovillo@google.com> |
2213 | ||
2214 | Merge from cxx-conversion branch. Re-implement VEC in C++. | |
2215 | ||
2216 | * gcc-interface/trans.c (finalize_nrv_unc_r): Adjust VEC_index usage. | |
2217 | * gcc-interface/utils.c (convert): Likewise. | |
2218 | (remove_conversions): Likewise. | |
2219 | * gcc-interface/utils2.c (compare_fat_pointers): Likewise. | |
2220 | (build_unary_op): Likewise. | |
2221 | (gnat_stabilize_reference): Likewise. | |
2222 | ||
12c79495 | 2223 | 2012-08-06 Jose Ruiz <ruiz@adacore.com> |
2224 | ||
2225 | * gcc-interface/Makefile.in: Add support for 32-bit VxWorks for SPARC | |
2226 | in kernel mode. | |
2227 | ||
99a2d5bd | 2228 | 2012-08-06 Arnaud Charlet <charlet@adacore.com> |
2229 | ||
2230 | * prj-attr.adb (Register_New_Package): Add missing blank. | |
2231 | ||
2232 | 2012-08-06 Ed Schonberg <schonberg@adacore.com> | |
2233 | ||
2234 | * exp_aggr.adb (Is_Two_Dim_Packed_Array): New predicate, | |
2235 | used when computing maximum size allowable to construct static | |
2236 | aggregate. | |
2237 | ||
2238 | 2012-08-06 Vincent Pucci <pucci@adacore.com> | |
2239 | ||
2240 | * freeze.adb (Freeze_Entity): Inherit_Aspects_At_Freeze_Point | |
2241 | calls added for derived types and subtypes. | |
2242 | * sem_aux.adb, sem_aux.ads (Get_Rep_Item, Get_Rep_Pragma, | |
2243 | Has_Rep_Pragma): New routines. | |
2244 | * sem_ch13.ads (Inherit_Aspects_At_Freeze_Point): New routine. | |
2245 | * sem_ch13.adb (Analyze_Aspect_Specifications): Error message | |
2246 | for aspect Lock_Free fixed. | |
2247 | (Inherits_Aspects_At_Freeze_Point): New routine. | |
2248 | * sem_ch3.adb: Several flag settings removed since inheritance | |
2249 | of aspects must be performed at freeze point. | |
2250 | ||
2251 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
2252 | ||
2253 | * s-oscons-tmplt.c: Fix s-oscons.ads formatting on VxWorks. | |
2254 | ||
2255 | 2012-08-06 Vincent Pucci <pucci@adacore.com> | |
2256 | ||
2257 | * sem_dim.adb (Analyze_Dimension_Binary_Op): Issue an error message | |
2258 | for unknown exponent at compile-time. | |
2259 | ||
2260 | 2012-08-06 Gary Dismukes <dismukes@adacore.com> | |
2261 | ||
2262 | * sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Enhance | |
2263 | comment to make it clear that the aggregate's evaluation might | |
2264 | still involve run-time checks even though the aggregate is | |
2265 | considered known at compile time. | |
2266 | * sinfo.ads (Compile_Time_Known_Aggregate): Correct comment to | |
2267 | refer to Exp_Aggr instead of Sem_Aggr. | |
2268 | ||
08861748 | 2269 | 2012-08-06 Robert Dewar <dewar@adacore.com> |
2270 | ||
2271 | * xoscons.adb: Minor code reorganization (remove unused variable | |
2272 | E at line 331). | |
2273 | * g-sercom.ads, exp_attr.adb: Minor reformatting. | |
2274 | * sinfo.adb, sinfo.ads: Minor cleanup, remove unused flag | |
2275 | Static_Processing_OK. | |
2276 | ||
2277 | 2012-08-06 Ed Schonberg <schonberg@adacore.com> | |
2278 | ||
2279 | * sem_ch3.adb (Build_Derived_Concurrent_Type): Copy discriminant | |
2280 | constraint when building a constrained subtype, to prevent | |
2281 | undesirable tree sharing betweeb geberated subtype and derived | |
2282 | type definition. | |
2283 | ||
2284 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
2285 | ||
2286 | * g-sercom-mingw.adb, s-oscons-tmplt.c: Add missing constants | |
2287 | on Windows. | |
2288 | ||
2289 | 2012-08-06 Sergey Rybin <rybin@adacore.com frybin> | |
2290 | ||
2291 | * tree_io.ads: Update ASIS_Version_Number because of the tree fix | |
2292 | for discriminant constraints for concurrent types. | |
2293 | ||
b76829e9 | 2294 | 2012-08-06 Thomas Quinot <quinot@adacore.com> |
2295 | ||
2296 | * sem_ch4.adb: Minor reformatting. | |
2297 | ||
2298 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
2299 | ||
2300 | * s-oscons-tmplt.c, xoscons.adb: Per the Single UNIX Specification, | |
2301 | types cc_t, speed_t, and tcflag_t defined in <termios.h> all are | |
2302 | unsigned types. Add required special handling to have their correct | |
2303 | unsigned values in s-oscons.ads. | |
2304 | ||
2305 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
2306 | ||
2307 | * par-ch13.adb: Minor reformatting. | |
2308 | ||
2309 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
2310 | ||
2311 | * g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb | |
2312 | (Set): Add Local and Flow_Control settings. | |
2313 | ||
2314 | 2012-08-06 Ed Schonberg <schonberg@adacore.com> | |
2315 | ||
2316 | * exp_attr.adb: Suppress saving of 'Old if assertions are not | |
2317 | enabled. | |
2318 | ||
53f836d1 | 2319 | 2012-08-06 Yannick Moy <moy@adacore.com> |
2320 | ||
2321 | * sem_ch4.adb (Analyze_Selected_Component): Issue an error in | |
2322 | Alfa mode for component not present. | |
2323 | ||
2324 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
2325 | ||
2326 | * exp_ch7.adb (Insert_Actions_In_Scope_Around): Do not | |
2327 | use a renaming of Scope_Stack.Table (Scope_Stack.Last), as | |
2328 | Process_Transient_Object may introduce new scopes and cause | |
2329 | Scope_Stack.Table to be reallocated. | |
2330 | ||
fafc6b97 | 2331 | 2012-08-06 Robert Dewar <dewar@adacore.com> |
2332 | ||
2333 | * exp_util.adb, switch-c.adb, inline.ads, sem_ch10.adb, types.ads, | |
2334 | checks.adb, sem_prag.adb, sem.adb, sem.ads, sem_res.adb, sem_attr.adb, | |
2335 | gnat1drv.adb, exp_ch4.adb, exp_ch6.adb, opt.ads, osint.adb: Implement | |
2336 | extended overflow checks (step 1). | |
2337 | (Overflow_Check_Type, Suppress_Record, Suppress_All): New types. | |
2338 | (Suppress_Array): Extended to include switches to control extended | |
2339 | overflow checking (and renamed to Suppress_Record). | |
2340 | Update all uses of Suppress_Array. | |
2341 | ||
2342 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
2343 | ||
2344 | * makeutl.ads: Minor documentation fix. | |
2345 | ||
2346 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
2347 | ||
2348 | * exp_ch7.adb: Minor reformatting. | |
2349 | ||
825c3598 | 2350 | 2012-08-06 Geert Bosch <bosch@adacore.com> |
2351 | ||
2352 | * a-ngelfu.adb: Change obsolete comment that this is a non-strict | |
2353 | implementation. | |
2354 | ||
2355 | 2012-08-06 Steve Baird <baird@adacore.com> | |
2356 | ||
2357 | * exp_ch7.adb (Build_Finalizer.Process_Object_Declaration): If | |
2358 | CodePeer_Mode = True then omit exception handlers for finalization calls | |
2359 | ||
2360 | 2012-08-06 Robert Dewar <dewar@adacore.com> | |
2361 | ||
2362 | * exp_aggr.adb: Minor reformatting. | |
2363 | ||
3f3f8d79 | 2364 | 2012-08-06 Robert Dewar <dewar@adacore.com> |
2365 | ||
2366 | * sem_ch6.adb: Remove useless flag Body_Deleted. | |
2367 | ||
2368 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
2369 | ||
2370 | * sinfo.ads (End_Span): Change default from No_Uint to Uint_0, | |
2371 | as this is what all usage occurrences of this attribute are | |
2372 | expecting. | |
2373 | * uintp.adb (UI_To_Int): Add assertion to guard against calling | |
2374 | with No_Uint. | |
2375 | ||
2376 | 2012-08-06 Vincent Pucci <pucci@adacore.com> | |
2377 | ||
7a6732ec | 2378 | PR ada/54125 |
3f3f8d79 | 2379 | * exp_attr.adb (Expand_N_Attribute_Reference): Expand new |
2380 | Atomic_Always_Lock_Free attribute. | |
2381 | * sem_attr.adb (Analyze_Attribute): Analyze new | |
2382 | Atomic_Always_Lock_Free attribute. | |
2383 | (Eval_Attribute): Nothing to do with new Atomic_Always_Lock_Free | |
2384 | attribute. | |
2385 | * sem_ch9.adb (Allows_Lock_Free_Implementation): | |
2386 | Support_Atomic_Primitives check replaces previous erroneous | |
2387 | size check. | |
2388 | * sem_util.adb, sem_util.ads (Support_Atomic_Primitives): | |
2389 | New routine. | |
2390 | * snames.ads-tmpl: New name Name_Atomic_Always_Lock_Free and | |
2391 | new attribute Attribute_Atomic_Always_Lock_Free defined. | |
2392 | * s-atopri.adb: Support_Atomic_Primitives checks replaced by | |
2393 | Atomic_Always_Lock_Free queries. | |
2394 | * system-aix64.ads, system-aix.ads, system-darwin-ppc.ads, | |
2395 | system-hpux.ads, system-linux-alpha.ads, system-linux-hppa.ads, | |
2396 | system-linux-ppc.ads, system-linux-s390.ads, | |
2397 | system-linux-s390x.ads, system-linux-sh4.ads, | |
2398 | system-linux-sparc.ads, system-lynxos178-ppc.ads, | |
2399 | system-lynxos-ppc.ads, system-mingw.ads, | |
2400 | system-vxworks-arm.ads, system-solaris-sparc.ads, | |
2401 | system-solaris-sparcv9.ads, system-vms_64.ads, | |
2402 | system-vxworks-m68k.ads, system-vxworks-mips.ads, | |
2403 | system-vxworks-ppc.ads, system-vxworks-sparcv9.ads: Flag | |
2404 | Support_Atomic_Primitives removed. | |
2405 | ||
a39ff582 | 2406 | 2012-08-06 Hristian Kirtchev <kirtchev@adacore.com> |
2407 | ||
2408 | * sem_mech.adb (Set_Mechanisms): OUT and IN OUT parameters are | |
2409 | now unconditionally passed by reference. IN parameters subject | |
2410 | to convention C_Pass_By_Copy are passed by copy, otherwise they | |
2411 | are passed by reference. | |
2412 | ||
2413 | 2012-08-06 Ed Schonberg <schonberg@adacore.com> | |
2414 | ||
2415 | * sem_ch3.adb (Analyze_Object_Declaration): According to | |
2416 | AI95-0303, protected objects with interrupt handlers can be | |
2417 | declared in nested scopes. This is a binding interpretation, | |
2418 | and thus applies to all versions of the compiler. | |
2419 | ||
2420 | 2012-08-06 Robert Dewar <dewar@adacore.com> | |
2421 | ||
2422 | * frontend.adb, exp_aggr.adb: Minor reformatting. | |
2423 | ||
2424 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
2425 | ||
2426 | * par-endh.adb: Minor reformatting. | |
2427 | ||
ace3389d | 2428 | 2012-08-06 Hristian Kirtchev <kirtchev@adacore.com> |
2429 | ||
2430 | * exp_ch7.adb (Process_Transient_Objects): Remove obsolete loop | |
2431 | processing related to array initialization. The expansion of | |
2432 | loops already contains a mechanism to detect controlled objects | |
2433 | generated by expansion and introduce a block around the loop | |
2434 | statements for finalization purposes. | |
2435 | ||
2436 | 2012-08-06 Vincent Pucci <pucci@adacore.com> | |
2437 | ||
2438 | * sem_ch13.adb: Current scope must be within | |
2439 | or same as the scope of the entity while analysing aspect | |
2440 | specifications at freeze point. | |
2441 | ||
2442 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
2443 | ||
2444 | * par_sco.adb: Add note about dubious SCO for TERMINATE | |
2445 | alternative. | |
2446 | * sem_ch8.adb, exp_ch11.adb: Minor reformatting. | |
2447 | ||
2448 | 2012-08-06 Ed Schonberg <schonberg@adacore.com> | |
2449 | ||
2450 | * exp_aggr.adb (Two_Dim_Packed_Array_Handled): New procedure to | |
2451 | transform an aggregate for a packed two-dimensional array into | |
2452 | a one-dimensional array of constant values, in order to avoid | |
2453 | the generation of component-by-component assignments. | |
2454 | ||
2455 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
2456 | ||
2457 | * frontend.adb: Do not attempt to process deferred configuration | |
2458 | pragmas if the main unit failed to load, to avoid cascaded | |
2459 | inconsistencies that can lead to a compiler crash. | |
2460 | ||
8ef22b90 | 2461 | 2012-08-06 Vincent Pucci <pucci@adacore.com> |
2462 | ||
2463 | * s-atopri.adb: Minor reformatting. | |
2464 | ||
2465 | 2012-08-06 Arnaud Charlet <charlet@adacore.com> | |
2466 | ||
2467 | * gnat-style.texi: Clarify that all subprograms should be | |
2468 | documented. Minor rewording. | |
2469 | ||
5134891e | 2470 | 2012-08-06 Robert Dewar <dewar@adacore.com> |
2471 | ||
2472 | * aspects.ads: Define Aspect_Id_Exclude_No_Aspect. | |
2473 | * par-ch13.adb, restrict.adb: Use Aspect_Id_Exclude_No_Aspect to | |
2474 | simplify code. | |
2475 | ||
2476 | 2012-08-06 Yannick Moy <moy@adacore.com> | |
2477 | ||
2478 | * gnat-style.texi: Update style guide for declarations. | |
2479 | ||
2480 | 2012-08-06 Yannick Moy <moy@adacore.com> | |
2481 | ||
2482 | * sem_attr.adb (Analyze_Attribute): In the case for 'Old, | |
2483 | skip a special expansion which is not needed in Alfa mode. | |
2484 | ||
2485 | 2012-08-06 Yannick Moy <moy@adacore.com> | |
2486 | ||
2487 | * sem_ch5.adb (Analyze_Iterator_Specification): Do not perform | |
2488 | an expansion of the iterator in Alfa mode. | |
2489 | ||
dcbac5c0 | 2490 | 2012-08-06 Robert Dewar <dewar@adacore.com> |
2491 | ||
2492 | * s-oscons-tmplt.c, sem_ch9.adb, osint.adb: Minor reformatting. | |
2493 | ||
2494 | 2012-08-06 Hristian Kirtchev <kirtchev@adacore.com> | |
2495 | ||
2496 | * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Remove obsolete | |
2497 | Alfa-specific guard. The code is a leftover from an early | |
2498 | implementation of iterators which is no longer in use. | |
2499 | ||
2500 | 2012-08-06 Vincent Celier <celier@adacore.com> | |
2501 | ||
2502 | * par-ch13.adb (Get_Aspect_Specifications): Do not consider | |
2503 | No_Aspect when checking for a mispelled aspect. | |
2504 | ||
81beaf05 | 2505 | 2012-08-06 Robert Dewar <dewar@adacore.com> |
2506 | ||
2507 | * s-htable.adb: Minor reformatting. | |
2508 | ||
2509 | 2012-08-06 Thomas Quinot <quinot@adacore.com> | |
2510 | ||
2511 | * s-oscons-tmplt.c, g-socket.adb (System.OS_Constants.Target_OS): | |
2512 | Suppress warnings so that we don't have to do it at each usage. | |
2513 | ||
ba9b1a39 | 2514 | 2012-08-06 Vincent Pucci <pucci@adacore.com> |
2515 | ||
2516 | * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): | |
2517 | Use of Known_Static_Esize instead of Known_Esize and | |
2518 | Known_Static_RM_Size instead of Known_RM_Size in order to | |
2519 | properly call UI_To_Int. Don't check the size of the component | |
2520 | type in case of generic. | |
2521 | * sem_ch9.adb (Allows_Lock_Free_Implementation): | |
2522 | Use of Known_Static_Esize instead of Known_Esize and | |
2523 | Known_Static_RM_Size instead of Known_RM_Size in order to properly | |
2524 | call UI_To_Int. Don't check the size of the component type in | |
2525 | case of generic. | |
2526 | ||
2527 | 2012-08-06 Hristian Kirtchev <kirtchev@adacore.com> | |
2528 | ||
2529 | * checks.adb (Discrete_Range_Cond): Do not try to optimize on | |
2530 | the assumption that the type of an expression can always fit in | |
2531 | the target type of a conversion. | |
2532 | ||
1094a5ca | 2533 | 2012-07-30 Robert Dewar <dewar@adacore.com> |
2534 | ||
2535 | * bindusg.adb: Clarify file in -A lines. | |
2536 | ||
2537 | 2012-07-30 Robert Dewar <dewar@adacore.com> | |
2538 | ||
2539 | * freeze.adb: Minor reformatting. | |
2540 | ||
2541 | 2012-07-30 Robert Dewar <dewar@adacore.com> | |
2542 | ||
2543 | * gnatcmd.adb, makeutl.adb, makeutl.ads: Minor code reorganization. | |
2544 | ||
2545 | 2012-07-30 Vincent Pucci <pucci@adacore.com> | |
2546 | ||
2547 | * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): Minor | |
2548 | reformatting. | |
2549 | * sem_ch9.adb (Allows_Lock_Free_Implementation): Minor reformatting. | |
2550 | Capture the correct error message in case of a quantified expression. | |
2551 | ||
2552 | 2012-07-30 Thomas Quinot <quinot@adacore.com> | |
2553 | ||
2554 | * g-socket.adb (Get_Socket_Option, Set_Socket_Option): On Windows, the | |
2555 | value is a milliseconds count in a DWORD, not a struct timeval. | |
2556 | ||
50b3164d | 2557 | 2012-07-30 Hristian Kirtchev <kirtchev@adacore.com> |
2558 | ||
2559 | * sem_ch12.adb (Earlier): Add local variables T1 and T2. Minor code | |
2560 | refactoring. | |
2561 | ||
2562 | 2012-07-30 Thomas Quinot <quinot@adacore.com> | |
2563 | ||
2564 | * gnatcmd.adb, make.adb, makeutl.adb, makeutl.ads | |
2565 | (Test_If_Relative_Path): Rename to Ensure_Absolute_Path to better | |
2566 | reflect what this subprogram does. Rename argument Including_L_Switch | |
2567 | to For_Gnatbind, and also exempt -A from rewriting. | |
2568 | * bindusg.adb: Document optional =file argument to gnatbind -A. | |
2569 | ||
2570 | 2012-07-30 Ed Schonberg <schonberg@adacore.com> | |
2571 | ||
2572 | * freeze.adb (Freeze_Entity): Do no apply restriction check on | |
2573 | storage pools to access to subprogram types. | |
2574 | ||
2beb22b1 | 2575 | 2012-07-30 Robert Dewar <dewar@adacore.com> |
2576 | ||
2577 | * par_sco.adb, a-cihama.adb, a-coinve.adb, exp_ch7.adb, a-ciorse.adb, | |
2578 | exp_ch9.adb, sem_dim.adb, par-ch13.adb, sem_ch9.adb, a-cidlli.adb, | |
2579 | a-cimutr.adb, freeze.adb, a-ciormu.adb, sem_res.adb, sem_attr.adb, | |
2580 | a-cihase.adb, exp_ch4.adb, sem_ch4.adb, a-ciorma.adb, | |
2581 | s-tasinf-linux.ads, sem_ch13.adb, a-coinho.adb: Minor reformatting. | |
2582 | Add comments. | |
2583 | ||
7c3537be | 2584 | 2012-07-30 Vincent Pucci <pucci@adacore.com> |
2585 | ||
2586 | * sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict implicit | |
2587 | dereferences of access values. | |
2588 | ||
2953bbc2 | 2589 | 2012-07-27 Iain Sandoe <iain@codesourcery.com> |
2590 | ||
2591 | * system-darwin-ppc64.ads: Add Support_Atomic_Primitives, set to True. | |
2592 | ||
2330f9c5 | 2593 | 2012-07-25 Eric Botcazou <ebotcazou@adacore.com> |
2594 | ||
2595 | * gcc-interface/utils2.c (gnat_stabilize_reference) <BIT_FIELD_REF>: Do | |
2596 | not stabilize operand #1 and #2. | |
2597 | ||
c2d9cb26 | 2598 | 2012-07-23 Tristan Gingold <gingold@adacore.com> |
2599 | ||
2600 | * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): Use | |
2601 | End_Label sloc when possible for sloc of the TRY_CATCH_EXPR node. | |
2602 | ||
2603 | 2012-07-23 Olivier Hainque <hainque@adacore.com> | |
2604 | ||
2605 | * gcc-interface/Makefile.in: Adjust processing of Linker_Options for | |
2606 | VxWorks. | |
2607 | * gcc-interface/Make-lang.in: Update dependencies. | |
2608 | ||
8f531643 | 2609 | 2012-07-23 Arnaud Charlet <charlet@adacore.com> |
2610 | ||
2611 | * s-tasinf-linux.ads: Fix typo. | |
2612 | ||
2613 | 2012-07-23 Thomas Quinot <quinot@adacore.com> | |
2614 | ||
2615 | * exp_ch7.adb, switch-m.adb, exp_ch3.adb, freeze.adb: Minor reformatting | |
2616 | ||
2617 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> | |
2618 | ||
2619 | * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): If original | |
2620 | loop carries an identifier, preserve it when rewriting it as a | |
2621 | standard loop to validate exit statements that may reference | |
2622 | that name in the body of the loop. | |
2623 | ||
2624 | 2012-07-23 Thomas Quinot <quinot@adacore.com> | |
2625 | ||
2626 | * exp_ch9.adb: Minor code cleanup. | |
2627 | ||
094ed68e | 2628 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> |
2629 | ||
2630 | * sem_ch4.adb (Analyze_Selected_Component): When checking for | |
2631 | potential ambiguities with class-wide operations on synchronized | |
2632 | types, attach the copied node properly to the tree, to prevent | |
2633 | errors during expansion. | |
2634 | ||
2635 | 2012-07-23 Yannick Moy <moy@adacore.com> | |
2636 | ||
2637 | * sem_ch5.adb (Analyze_Loop_Statement): Make sure the loop body | |
2638 | is analyzed in Alfa mode. | |
2639 | ||
2640 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> | |
2641 | ||
2642 | * sem_res.adb: Adjust previous change. | |
2643 | ||
2644 | 2012-07-23 Vincent Pucci <pucci@adacore.com> | |
2645 | ||
2646 | * sem_ch9.adb (Allows_Lock_Free_Implementation): Flag | |
2647 | Lock_Free_Given renames previous flag Complain. Description | |
2648 | updated. Henceforth, catch every error messages issued by this | |
2649 | routine when Lock_Free_Given is True. Declaration restriction | |
2650 | updated: No non-elementary parameter instead (even in parameter) | |
2651 | New subprogram body restrictions implemented: No allocator, | |
2652 | no address, import or export rep items, no delay statement, | |
2653 | no goto statement, no quantified expression and no dereference | |
2654 | of access value. | |
2655 | ||
2656 | 2012-07-23 Hristian Kirtchev <kirtchev@adacore.com> | |
2657 | ||
2658 | * checks.adb (Determine_Range): Add local variable Btyp. Handle | |
2659 | the case where the base type of an enumeration subtype is | |
2660 | private. Replace all occurrences of Base_Type with Btyp. | |
2661 | * exp_attr.adb (Attribute_Valid): Handle the case where the | |
2662 | base type of an enumeration subtype is private. Replace all | |
2663 | occurrences of Base_Type with Btyp. | |
2664 | * sem_util.adb (Get_Enum_Lit_From_Pos): Add local variable | |
2665 | Btyp. Handle the case where the base type of an enumeration | |
2666 | subtype is private. Replace all occurrences of Base_Type with | |
2667 | Btyp. | |
2668 | ||
1630f2a9 | 2669 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> |
2670 | ||
2671 | * par-ch6.adb (P_Mode): in Ada 2005, a mode indicator can apply | |
2672 | to a formal object of an anonymous access type. | |
2673 | ||
2674 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> | |
2675 | ||
2676 | * sem_ch4.adb (Try_Container_Indexing): A user-defined indexing | |
2677 | aspect can have more than one index, e.g. to describe indexing | |
2678 | of a multidimensional object. | |
2679 | ||
2680 | 2012-07-23 Hristian Kirtchev <kirtchev@adacore.com> | |
2681 | ||
2682 | * exp_ch4.adb (Apply_Accessibility_Check): Reimplemented. The check is | |
2683 | now more complex and contains optional finalization part and mandatory | |
2684 | deallocation part. | |
2685 | ||
2686 | 2012-07-23 Gary Dismukes <dismukes@adacore.com> | |
2687 | ||
2688 | * a-cihama.adb, a-cihase.adb, a-cimutr.adb, a-ciorma.adb, a-ciormu.adb, | |
2689 | a-ciorse.adb, a-coinho.adb, a-coinve.adb, a-cidlli.adb: Unsuppress | |
2690 | Accessibility_Check for Element_Type allocators. | |
2691 | ||
2692 | 2012-07-23 Vasiliy Fofanov <fofanov@adacore.com> | |
2693 | ||
2694 | * projects.texi: Fix typo. | |
2695 | ||
2696 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> | |
2697 | ||
2698 | * sem_res.adb (Resolve_Explicit_Derenference): If prefix is | |
2699 | overloaded, remove those interpretations whose designated type | |
2700 | does not match the context, to avoid spurious ambiguities that | |
2701 | may be caused by the Ada 2012 conversion rule for anonymous | |
2702 | access types. | |
2703 | ||
3a72f9c3 | 2704 | 2012-07-23 Vincent Celier <celier@adacore.com> |
2705 | ||
2706 | * g-spitbo.adb (Substr (String)): Return full string and do not | |
2707 | raise exception when Start is 1 and Len is exactly the length | |
2708 | of the string parameter. | |
2709 | * g-spitbo.ads: Fix spelling error in the name of exception | |
2710 | Index_Error. | |
2711 | ||
2712 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> | |
2713 | ||
2714 | * par.adb: new subprogram Get_Aspect_Specifications. | |
2715 | * par-ch6.adb (P_Subprogram): handle subprogram bodies with aspect | |
2716 | specifications. | |
2717 | * par-ch13.adb (Get_Aspect_Specifications): extracted from | |
2718 | P_Aspect_Specifications. Collect aspect specifications in some | |
2719 | legal context, but do not attach them to any declaration. Used | |
2720 | when parsing subprogram declarations or bodies that include | |
2721 | aspect specifications. | |
2722 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If aspects are | |
2723 | present, analyze them, or reject them if the subprogram as a | |
2724 | previous spec. | |
2725 | ||
2726 | 2012-07-23 Vasiliy Fofanov <fofanov@adacore.com> | |
2727 | ||
2728 | * gnat_ugn.texi: Omit section on other platforms/runtimes support | |
2729 | in gnattest for vms version. | |
2730 | ||
2731 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> | |
2732 | ||
2733 | * sem_ch13.adb (Analyze_Aspect_Specifications): | |
2734 | Handle properly aspects that can be specified on a subprogram | |
2735 | body: CPU, Priority, and Interrupt_Priority. | |
2736 | ||
2737 | 2012-07-23 Claire Dross <dross@adacore.com> | |
2738 | ||
2739 | * a-cfdlli.ads: Switch definition of Constant_Reference_Type | |
2740 | and Empty_List. | |
2741 | ||
2742 | 2012-07-23 Thomas Quinot <quinot@adacore.com> | |
2743 | ||
2744 | * par_sco.adb (Process_Decisions.Output_Header): For the guard | |
2745 | on an alternative in a SELECT statement, use the First_Sloc | |
2746 | of the guard expression (not its topmost sloc) as the decision | |
2747 | location, because this is what is referenced by dominance markers. | |
2748 | ||
2749 | 2012-07-23 Hristian Kirtchev <kirtchev@adacore.com> | |
2750 | ||
2751 | * exp_ch7.adb (Requires_Hooking): Examine the original expression | |
2752 | of an object declaration node because a function call that | |
2753 | returns on the secondary stack may have been rewritten into | |
2754 | something else. | |
2755 | ||
2756 | 2012-07-23 Vincent Pucci <pucci@adacore.com> | |
2757 | ||
2758 | * sem_dim.adb (Analyze_Dimension_Has_Etype): For identifier, propagate | |
2759 | dimension when entity is a non-dimensionless constant. | |
2760 | (Analyze_Dimension_Object_Declaration): Propagate | |
2761 | dimension from the expression to the entity when type is a | |
2762 | dimensioned type and object is a constant. | |
2763 | ||
2764 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> | |
2765 | ||
2766 | * sem_attr.adb (Analyze_Attribute, case 'Old): if the prefix | |
2767 | is not an entity name, expand at once so that code generated by | |
2768 | the expansion of the prefix is not generated before the constant | |
2769 | that captures the old value is properly inserted and analyzed. | |
2770 | ||
2771 | 2012-07-23 Thomas Quinot <quinot@adacore.com> | |
2772 | ||
2773 | * exp_ch9.adb (Ensure_Statement_Present): Mark generated NULL | |
2774 | statement as Comes_From_Source so that GIGI does not eliminate it. | |
2775 | ||
549ddc37 | 2776 | 2012-07-23 Hristian Kirtchev <kirtchev@adacore.com> |
2777 | ||
2778 | * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Inst is now | |
2779 | a local variable. Retrieve the related instance when processing | |
2780 | a subprogram instantiation. Such instances appear as wrapper | |
2781 | packages. | |
2782 | ||
2783 | 2012-07-23 Vincent Pucci <pucci@adacore.com> | |
2784 | ||
2785 | * system-aix64.ads, system-aix.ads, system-darwin-ppc.ads, | |
2786 | system-hpux.ads, system-linux-alpha.ads, | |
2787 | system-linux-hppa.ads, system-linux-ppc.ads, | |
2788 | system-linux-s390.ads, system-linux-s390x.ads, | |
2789 | system-linux-sh4.ads, system-linux-sparc.ads, | |
2790 | system-lynxos-ppc.ads, system-mingw.ads, | |
2791 | system-solaris-sparc.ads, system-solaris-sparcv9.ads, | |
2792 | system-vms_64.ads, * system-vxworks-arm.ads, system-vxworks-m68k.ads, | |
2793 | system-vxworks-mips.ads, system-vxworks-ppc.ads, | |
2794 | system-vxworks-sparcv9.ads: Support_Atomic_Primitives set to False. | |
2795 | * system-darwin-x86.ads, system-darwin-x86_64.ads, | |
2796 | system-freebsd-x86.ads, system-freebsd-x86_64.ads, | |
2797 | system-hpux-ia64.ads, system-linux-ia64.ads, system-linux-x86.ads, | |
2798 | system-linux-x86_64.ads, system-lynxos-x86.ads, | |
2799 | system-mingw-x86_64.ads, system-solaris-x86.ads, | |
2800 | system-solaris-x86_64.ads, system-vms-ia64.ads, | |
2801 | system-vxworks-x86.ads: Support_Atomic_Primitives set to True. | |
2802 | * s-atopri.adb (Lock_Free_Read_X): New body. | |
2803 | (Lock_Free_Try_Write_X): Support_Atomic_Primitives check added. | |
2804 | (Lock_Free_Try_Write_64): New body. | |
2805 | * s-atopri.ads: New type uint. | |
2806 | (Sync_Compare_And_Swap_64): __sync_val_compare_and_swap_8 intrinsic | |
2807 | import. | |
2808 | (Lock_Free_Read_X): Body moved to s-atopri.adb. | |
2809 | (Lock_Free_Try_Write_64): Similar to other Lock_Free_Try_Write_X | |
2810 | routines. | |
2811 | * targparm.adb: New enumeration literal SAP | |
2812 | (Support_Atomic_Primitives) for type Targparm_Tags. New constant | |
2813 | SAP_Str. New component SAP_Str'Access for array Targparm_Str. | |
2814 | (Get_Target_Parameters): Parse Support_Atomic_Primitives_On_Target | |
2815 | flag. | |
2816 | * targparm.ads: New back-end code generation flag | |
2817 | Support_Atomic_Primitives_On_Target | |
2818 | ||
2819 | 2012-07-23 Vincent Pucci <pucci@adacore.com> | |
2820 | ||
2821 | * gnat_ugn.texi: Dimensionality checking documentation updated. | |
2822 | ||
2823 | 2012-07-23 Ed Schonberg <schonberg@adacore.com> | |
2824 | ||
2825 | * sem_prag.adb (Make_Inline): If the pragma applies to a | |
2826 | subprogram renaming, set inline flags on both the renamed entity | |
2827 | and on the renaming, so that some ASIS queries can be handled | |
2828 | consistently in the absence of expansion. | |
2829 | ||
d6a9dc1e | 2830 | 2012-07-23 Fedor Rybin <frybin@adacore.com> |
2831 | ||
2832 | * gnat_ugn.texi: Removing obsolete limitation of gnattest | |
2833 | to support only ada05. Updating gnattest support for other | |
2834 | platforms/run-times section to reflect the usage of taget | |
2835 | prefix in gnattest calls. Fixing missed obsolete --stub-default | |
2836 | option name. | |
2837 | ||
2838 | 2012-07-23 Robert Dewar <dewar@adacore.com> | |
2839 | ||
2840 | * uintp.adb: Minor reformatting. | |
2841 | ||
2842 | 2012-07-23 Olivier Hainque <hainque@adacore.com> | |
2843 | ||
2844 | * system-vxworks-ppc.ads: Replace the default | |
2845 | Linker_Options requesting crtbe by a commented out request for | |
2846 | -nostartfiles. | |
2847 | ||
2848 | 2012-07-23 Vincent Celier <celier@adacore.com> | |
2849 | ||
2850 | * prj-nmsc.adb (Check_Naming): Do not get the exceptions names | |
2851 | in a virtual project. | |
2852 | ||
c7dbb79e | 2853 | 2012-07-23 Robert Dewar <dewar@adacore.com> |
2854 | ||
2855 | * layout.adb, sem_prag.adb, sem.ads, freeze.adb, | |
2856 | switch-m.adb, exp_disp.adb, system-vxworks-ppc.ads, exp_ch6.adb: Minor | |
2857 | reformatting. | |
2858 | ||
1831dae0 | 2859 | 2012-07-23 Tristan Gingold <gingold@adacore.com> |
2860 | ||
2861 | * gcc-interface/trans.c: (Handled_Sequence_Of_Statements_to_gnu): Set | |
2862 | location on TRY_CATCH_EXPR. | |
2863 | ||
be42dbce | 2864 | 2012-07-19 Eric Botcazou <ebotcazou@adacore.com> |
2865 | ||
2866 | * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Try to ensure | |
2867 | that an object of CW type initialized to a value is sufficiently | |
2868 | aligned for this value. | |
2869 | ||
061ad733 | 2870 | 2012-07-19 Eric Botcazou <ebotcazou@adacore.com> |
2871 | ||
2872 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Do not | |
2873 | look up the REP part of the base type in advance. Deal with that of | |
2874 | the variant types. | |
2875 | (get_rep_part): Be prepared for record types with fields. | |
2876 | ||
5df7fe69 | 2877 | 2012-07-18 Eric Botcazou <ebotcazou@adacore.com> |
2878 | ||
2879 | * gcc-interface/trans.c (stmt_group_may_fallthru): New function. | |
2880 | (gnat_to_gnu) <N_Block_Statement>: Use it to find out whether the | |
2881 | block needs to be translated. | |
2882 | ||
eb87f0fd | 2883 | 2012-07-17 Tristan Gingold <gingold@adacore.com> |
2884 | ||
2885 | * gnat_rm.texi: Adjust previous change. | |
2886 | ||
2887 | 2012-07-17 Ed Schonberg <schonberg@adacore.com> | |
2888 | ||
2889 | * sem_prag.adb (Process_Import_Or_Interface): If the pragma | |
2890 | comes from an aspect, it applies to the corresponding entity | |
2891 | without further check. | |
2892 | ||
2893 | 2012-07-17 Olivier Hainque <hainque@adacore.com> | |
2894 | ||
2895 | * initialize.c (__gnat_initialize for VxWorks): Remove section with | |
2896 | call to __gnat_vxw_setup_for_eh. | |
2897 | * system-vxworks-ppc.ads: Add -auto-register to -crtbe, relying | |
2898 | on the VxWorks constructor mechanism for network loaded modules | |
2899 | by default. | |
2900 | ||
2901 | 2012-07-17 Tristan Gingold <gingold@adacore.com> | |
2902 | ||
2903 | * adaint.c: Minor reformatting. | |
2904 | ||
2905 | 2012-07-17 Pascal Obry <obry@adacore.com> | |
2906 | ||
2907 | * s-regexp.adb (Adjust): Fix access violation in Adjust. | |
2908 | ||
2909 | 2012-07-17 Ed Schonberg <schonberg@adacore.com> | |
2910 | ||
2911 | * freeze.adb (Freeze_Entity): Warn if an imported subprogram | |
2912 | has pre/post conditions, because these will not be enforced. | |
2913 | ||
2914 | 2012-07-17 Eric Botcazou <ebotcazou@adacore.com> | |
2915 | ||
2916 | * exp_ch7.adb (Process_Transient_Objects): Put all the | |
2917 | finalization blocks and the final raise statement into a wrapper | |
2918 | block. | |
2919 | ||
2920 | 2012-07-17 Vincent Pucci <pucci@adacore.com> | |
2921 | ||
2922 | * s-atopri.adb (Lock_Free_Try_Write_X): Atomic_Compare_Exchange_X | |
2923 | replaced by Sync_Compare_And_Swap_X. | |
2924 | (Lock_Free_Try_Write_64): Removed. | |
2925 | * s-atopri.ads (Sync_Compare_And_Swap_X): Replaces previous | |
2926 | routine Atomic_Compare_Exchange_X. | |
2927 | (Lock_Free_Read_64): Renaming of Atomic_Load_64. | |
2928 | (Lock_Free_Try_Write_64): Renaming of Sync_Compare_And_Swap_64. | |
2929 | ||
2930 | 2012-07-17 Vincent Celier <celier@adacore.com> | |
2931 | ||
2932 | * switch-m.adb (Normalize_Compiler_Switches): Recognize new | |
2933 | switches -gnatn1 and -gnatn2. | |
2934 | ||
2935 | 2012-07-17 Vincent Pucci <pucci@adacore.com> | |
2936 | ||
2937 | * gnat_ugn.texi: GNAT dimensionality checking | |
2938 | documentation updated with System.Dim.Mks modifications. | |
2939 | ||
2940 | 2012-07-17 Ed Schonberg <schonberg@adacore.com> | |
2941 | ||
2942 | * exp_ch3.adb: sloc of array init_proc is sloc of type declaration. | |
2943 | ||
2944 | 2012-07-17 Tristan Gingold <gingold@adacore.com> | |
2945 | ||
2946 | * raise-gcc.c (get_call_site_action_for): Remove useless init | |
2947 | expression for p. | |
2948 | (get_action_description_for): Do not overwrite action->kind. | |
2949 | ||
2950 | 2012-07-17 Hristian Kirtchev <kirtchev@adacore.com> | |
2951 | ||
2952 | * exp_attr.adb (Expand_N_Attribute_Reference): Add local variables Attr | |
2953 | and Conversion_Added. Add local constant Typ. | |
2954 | Retrieve the original attribute after the arithmetic check | |
2955 | machinery has modified the node. Add a conversion to the target | |
2956 | type when the prefix of attribute Max_Size_In_Storage_Elements | |
2957 | is a controlled type. | |
2958 | ||
2959 | 2012-07-17 Gary Dismukes <dismukes@adacore.com> | |
2960 | ||
2961 | * exp_ch6.adb (Expand_Inlined_Call): For each actual parameter | |
2962 | of mode 'out' or 'in out' that denotes an entity, reset | |
2963 | Last_Assignment on the entity so that any assignments to the | |
2964 | corresponding formal in the inlining will not trigger spurious | |
2965 | warnings about overwriting assignments. | |
2966 | ||
2ff0322d | 2967 | 2012-07-17 Robert Dewar <dewar@adacore.com> |
2968 | ||
2969 | * s-assert.ads: Fix comments to make it clear that this is used | |
2970 | for all assertions, not just pragma Assert. | |
2971 | ||
2972 | 2012-07-17 Jerome Guitton <guitton@adacore.com> | |
2973 | ||
2974 | * par_sco.ads: Minor typo fix. | |
2975 | ||
2976 | 2012-07-17 Gary Dismukes <dismukes@adacore.com> | |
2977 | ||
2978 | * layout.adb (Layout_Type): In the case where the target is | |
2979 | AAMP, use 32 bits (a single pointer) rather than 64 bits for an | |
2980 | anonymous access-to-subprogram type if the type is library-level | |
2981 | and Is_Local_Anonymous_Access is True. | |
2982 | ||
2983 | 2012-07-17 Jose Ruiz <ruiz@adacore.com> | |
2984 | ||
2985 | * s-tassta.adb, s-tarest.adb (Create_Task, Create_Restricted_Task, | |
2986 | Initialize): Add comments explaining that the CPU affinity value that | |
2987 | is passed to the run-time library can be either Unspecified_CPU, to | |
2988 | indicate that the task inherits the affinity of its activating task, | |
2989 | or a value in the range of CPU_Range but no greater than Number_Of_CPUs. | |
2990 | ||
2991 | 2012-07-17 Javier Miranda <miranda@adacore.com> | |
2992 | ||
2993 | * exp_disp.adb (Make_DT): Remove decoration of Ada.Tags entities. | |
2994 | (Make_Tags): Add decoration of Ada.Tags entities. | |
2995 | ||
2996 | 2012-07-17 Ed Schonberg <schonberg@adacore.com> | |
2997 | ||
2998 | * sem_ch6.adb (Check_Statement_Sequence): When locating the | |
2999 | last significant statement in a sequence, ignore iserted nodes | |
3000 | that typically come from expansion of controlled operations. | |
3001 | ||
3002 | 2012-07-17 Tristan Gingold <gingold@adacore.com> | |
3003 | ||
3004 | * gnat_rm.texi: Document foreign exceptions. | |
3005 | ||
fc34391d | 3006 | 2012-07-17 Robert Dewar <dewar@adacore.com> |
3007 | ||
3008 | * sem_prag.adb, treepr.ads: Minor reformatting. | |
3009 | ||
e22bc81a | 3010 | 2012-07-17 Robert Dewar <dewar@adacore.com> |
3011 | ||
3012 | * exp_ch9.adb: Minor code reorganization. | |
3013 | * exp_ch3.adb: Minor code improvement. | |
3014 | ||
3015 | 2012-07-17 Tristan Gingold <gingold@adacore.com> | |
3016 | ||
3017 | * seh_init.c (__gnat_SEH_error_handler): Not compiled anymore | |
3018 | on Windows 64 (+ SEH), as it is unused. | |
3019 | ||
e22bc81a | 3020 | 2012-07-17 Javier Miranda <miranda@adacore.com> |
3021 | ||
3022 | * sem_prag.adb (CPP_Class): Transform obsolescent pragma CPP_Class into | |
3023 | CPP convention automatically. | |
3024 | ||
4be5aafb | 3025 | 2012-07-16 Tristan Gingold <gingold@adacore.com> |
3026 | ||
3027 | * gcc-interface/decl.c (intrin_return_compatible_p): Map Address to | |
3028 | void *. | |
3029 | ||
e3cb8202 | 3030 | 2012-07-16 Thomas Quinot <quinot@adacore.com> |
3031 | ||
3032 | * exp_ch9.adb (Ensure_Statement_Present): New subprogram. | |
3033 | (Expand_N_Asynchronous_Select, | |
3034 | Expand_N_Selective_Accept.Process_Accept_Alternative, | |
3035 | Expand_N_Selective_Accept.Process_Delay_Alternative, | |
3036 | Expand_N_Timed_Entry_Call): For an alternative with no trailing | |
3037 | statements, introduce a null statement to carry the sloc of | |
3038 | the initial special statement (accept, delay, or entry call) | |
3039 | in the alternative, for coverage analysis purposes. | |
3040 | ||
3041 | 2012-07-16 Thomas Quinot <quinot@adacore.com> | |
3042 | ||
3043 | * sem_eval.adb (In_Subrange_Of): Fix typo in test for scalar | |
3044 | arguments. | |
3045 | ||
85377c9b | 3046 | 2012-07-16 Robert Dewar <dewar@adacore.com> |
3047 | ||
3048 | * a-exexpr.adb, freeze.adb, a-exexpr-gcc.adb, a-except-2005.adb, | |
3049 | sem_eval.adb, s-fileio.adb: Minor reformatting. | |
3050 | ||
3051 | 2012-07-16 Javier Miranda <miranda@adacore.com> | |
3052 | ||
3053 | * sem_prag.adb (Analyze_Pragma): Remove support for obsolescent | |
3054 | pragma CPP_Class. | |
3055 | * sem_ch13.adb (Analyze_Freeze_Entity): Add missing error on Ada | |
3056 | derivations of CPP types. Found updating the tests affected by | |
3057 | the removal of pragma CPP_Class. | |
3058 | ||
3059 | 2012-07-16 Thomas Quinot <quinot@adacore.com> | |
3060 | ||
3061 | * back_end.adb: Minor reformatting. | |
3062 | ||
3063 | 2012-07-16 Thomas Quinot <quinot@adacore.com> | |
3064 | ||
3065 | * exp_ch9.adb (Expand_N_Selective_Accept.Process_Accept_Alternative): | |
3066 | Remove junk test that was always true. For the case of no statements | |
3067 | following the ACCEPT, jump directly to End_Lab instead of | |
3068 | introducing an intermediate jump. | |
3069 | (Expand_N_Selective_Accept.Process_Delay_Alternative): Fix | |
3070 | predicate testing for presence of statements following the DELAY. | |
3071 | that was always true. For the case of no statements following | |
3072 | the ACCEPT, jump directly to End_Lab instead of introducing an | |
3073 | intermediate jump. | |
3074 | (Expand_N_Selective_Accept): Fix incorrect insertion point for | |
3075 | end label. | |
3076 | ||
b3d5d0ad | 3077 | 2012-07-16 Thomas Quinot <quinot@adacore.com> |
3078 | ||
3079 | * gnat_rm.texi: Minor documentation improvements. | |
3080 | ||
3081 | 2012-07-16 Yannick Moy <moy@adacore.com> | |
3082 | ||
3083 | * sem_ch13.adb (Analyze_Aspect_Specifications): Allow Pre | |
3084 | and Pre'Class aspects on the same declaration. | |
3085 | * sem_prag.adb (Chain_PPC): Allow Pre and Pre'Class aspects on the | |
3086 | same hierarchy of primitive operations. | |
3087 | ||
204c9c3d | 3088 | 2012-07-16 Thomas Quinot <quinot@adacore.com> |
3089 | ||
3090 | * freeze.adb (Check_Component_Storage_Order): Do not reject a | |
3091 | nested composite with different scalar storage order if it is | |
3092 | byte aligned. | |
3093 | ||
3094 | 2012-07-16 Thomas Quinot <quinot@adacore.com> | |
3095 | ||
3096 | * gnat_rm.texi: Update documentation for Scalar_Storage_Order. | |
3097 | ||
3098 | 2012-07-16 Tristan Gingold <gingold@adacore.com> | |
3099 | ||
3100 | * a-exexpr.adb (Propagate_Exception): Adjust call to | |
3101 | Exception_Traces procedures. | |
3102 | * a-exexpr-gcc.adb (Setup_Current_Excep): Now a | |
3103 | function that returns an access to the Ada occurrence. | |
3104 | (Propagate_GCC_Exception): Adjust calls. | |
3105 | * raise.h (struct Exception_Occurrence): Declare. | |
3106 | * a-exextr.adb: Remove useless pragma. (Notify_Handled_Exception, | |
3107 | Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): | |
3108 | Add Excep parameter. | |
3109 | * a-except.adb (Notify_Handled_Exception, | |
3110 | Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): | |
3111 | Add Excep parameter. | |
3112 | (Process_Raise_Exception): Adjust calls. | |
3113 | * a-except-2005.adb (Notify_Handled_Exception, | |
3114 | Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): Add | |
3115 | Excep parameter. | |
3116 | (Raise_Exception): Calls Raise_Exception_Always. | |
3117 | * raise-gcc.c (__gnat_setup_current_excep, | |
3118 | __gnat_notify_handled_exception) | |
3119 | (__gnat_notify_unhandled_exception): Adjust declarations. | |
3120 | (PERSONALITY_FUNCTION): Adjust calls. | |
3121 | (__gnat_personality_seh0): Remove warning. | |
3122 | ||
3123 | 2012-07-16 Javier Miranda <miranda@adacore.com> | |
3124 | ||
3125 | * sem_eval.adb (Test_Expression_Is_Foldable): Adding documentation. | |
3126 | (Eval_Relational_Op): Adding documentation. | |
3127 | ||
9f661339 | 3128 | 2012-07-16 Robert Dewar <dewar@adacore.com> |
3129 | ||
3130 | * freeze.adb, g-debpoo.adb, exp_ch3.adb: Minor reformatting. | |
3131 | ||
3132 | 2012-07-16 Thomas Quinot <quinot@adacore.com> | |
3133 | ||
3134 | * s-oscons-tmplt.c: Add definitions of E2BIG and EILSEQ. | |
3135 | ||
3136 | 2012-07-16 Tristan Gingold <gingold@adacore.com> | |
3137 | ||
3138 | * a-exexpr.adb (Propagate_Continue): New function replacing | |
3139 | Raise_Current_Excep. | |
3140 | (Allocate_Occurrence): New function. | |
3141 | (Propagate_Exception): Add Excep parameter, remove call to Call_Chain. | |
3142 | * a-exexpr-gcc.adb (GNAT_GCC_Exception): Occurrence component | |
3143 | is now aliased. | |
3144 | (To_GCC_Exception): Convert from Address. | |
3145 | (Allocate_Occurrence): Allocate an Unwind exception occurrence. | |
3146 | (Setup_Current_Excep): Fill the machine occurrence in case of | |
3147 | foreign exception. | |
3148 | (Propagate_Exception): Add Excep parameter, remove call to Call_Chain. | |
3149 | * a-except.adb (Set_Exception_C_Msg, Set_Exception_Msg): add | |
3150 | Excep parameter. | |
3151 | (Raise_Exception, Raise_Exception_Always, | |
3152 | Raise_Exception_No_Defer): Adjust calls to the above procedures. | |
3153 | (Raise_From_Signal_Handler, Raise_With_Location_And_Msg) | |
3154 | (Rcheck_PE_Finalize_Raised_Exception): Likewise. | |
3155 | * a-except-2005.adb (Set_Exception_C_Msg, Set_Exception_Msg): | |
3156 | add Excep parameter. | |
3157 | (Propagate_Exception): Likewise. | |
3158 | (Allocate_Occurrence): New function. | |
3159 | (Raise_Current_Excep): Removed. | |
3160 | (Complete_Occurrence): New function to save the call chain. | |
3161 | (Complete_And_Propagate_Occurrence): New procedure. | |
3162 | (Create_Occurrence_From_Signal_Handler): New function to build an | |
3163 | occurrence without propagating it. | |
3164 | (Create_Machine_Occurrence_From_Signal_Handler): Likewise, but | |
3165 | return the machine occurrence. | |
3166 | (Raise_From_Signal_Handler): Use Create_Occurrence_From_Signal_Handler. | |
3167 | (Raise_Exception, Raise_Exception_Always, Raise_Exception_No_Defer): | |
3168 | Adjust calls to the above procedures. Allocate the occurrence at | |
3169 | the beginning. | |
3170 | (Raise_With_Location_And_Msg, Raise_With_Msg) | |
3171 | (Rcheck_PE_Finalize_Raised_Exceptionm Reraise): Likewise. | |
3172 | (Reraise_Occurrence): Use Reraise_Occurrence_Always. | |
3173 | (Reraise_Occurrence_Always): Use Reraise_Occurrence_No_Defer. | |
3174 | (Reraise_Occurrence_No_Defer): Preserve machine occurrence. | |
3175 | (Save_Occurrence): Do not save machine occurrence. | |
3176 | * a-except-2005.ads (Exception_Occurrence): Add Machine_Occurrence | |
3177 | component. | |
3178 | (Null_Occurrence): Consider it. | |
3179 | * a-exexda.adb (Set_Exception_C_Msg, Set_Exception_Msg): add | |
3180 | Excep parameter. | |
3181 | ||
3182 | 2012-07-16 Tristan Gingold <gingold@adacore.com> | |
3183 | ||
3184 | * seh_init.c (__gnat_map_SEH): New function extracted from | |
3185 | __gnat_SEH_error_handler. | |
3186 | * raise-gcc.c: __gnat_personality_seh0: Directly transforms | |
3187 | Windows system exception into GCC one when possible, in order | |
3188 | to save stack room (particularly useful when Storage_Error will | |
3189 | be propagated). | |
3190 | ||
1398e762 | 3191 | 2012-07-16 Robert Dewar <dewar@adacore.com> |
3192 | ||
3193 | * a-direct.adb, g-dirope.adb: Minor reformatting. | |
3194 | ||
3195 | 2012-07-16 Tristan Gingold <gingold@adacore.com> | |
3196 | ||
3197 | * a-except.ads, a-except-2005.ads: Remove outdated comment. | |
3198 | ||
3199 | 2012-07-16 Robert Dewar <dewar@adacore.com> | |
3200 | ||
3201 | * sem_ch6.adb (Subprogram_Name_Greater): Fix algorithm to | |
3202 | conform to documentation. | |
3203 | ||
3204 | 2012-07-16 Ed Schonberg <schonberg@adacore.com> | |
3205 | ||
3206 | * gnat1drv.adb (Check_Library_Items): Removed, no longer used. | |
3207 | ||
3208 | 2012-07-16 Ed Schonberg <schonberg@adacore.com> | |
3209 | ||
3210 | * sem_ch3.adb (Array_Type_Declaration): if component type has | |
3211 | invariants, the array type itself requires an invariant procedure. | |
3212 | * exp_ch3.ads, exp_ch3.adb (Build_Array_Invariant_Proc): new | |
3213 | procedure, to build a checking procedure that applies the | |
3214 | invariant check on some type T to each component of an array | |
3215 | of T's. Code is similar to the construction of the init_proc | |
3216 | for an array, and handles multidimensional arrays by recursing | |
3217 | over successive dimensions. | |
3218 | ||
3219 | 2012-07-16 Hristian Kirtchev <kirtchev@adacore.com> | |
3220 | ||
3221 | * g-debpoo.adb: Revert previous change. | |
3222 | ||
3223 | 2012-07-16 Hristian Kirtchev <kirtchev@adacore.com> | |
3224 | ||
3225 | * freeze.adb (Freeze_Entity): Insert the itype reference to a | |
3226 | library-level class-wide subtype after the freeze node of the | |
3227 | equivalent record type. | |
3228 | ||
0c6c84ba | 3229 | 2012-07-16 Pascal Obry <obry@adacore.com> |
3230 | ||
3231 | * s-crtl.ads (mkdir): New routine, support encoding. | |
3232 | * adaint.h (__gnat_mkdir): Update spec to pass encoding. | |
3233 | * mkdir.c (__gnat_mkdir): Add encoding parameter. | |
3234 | * a-direct.adb (Create_Directory): Use CRTL.mkdir, parse encoding | |
3235 | in form parameter. | |
3236 | * g-dirope.adb (Make_Dir): Update to pass encoding parameter. | |
3237 | ||
3238 | 2012-07-16 Pascal Obry <obry@adacore.com> | |
3239 | ||
3240 | * adaint.c: Minor reformatting. | |
3241 | ||
b9ed1410 | 3242 | 2012-07-16 Steven Bosscher <steven@gcc.gnu.org> |
3243 | ||
3244 | * gcc-interface/utils.c: Include timevar.h. | |
3245 | * Make-lang.in: Fix dependencies. | |
3246 | ||
cf883842 | 3247 | 2012-07-16 Vasiliy Fofanov <fofanov@adacore.com> |
3248 | ||
3249 | * ug_words, vms_data.ads: Document VMS qualifiers for -gnatn1/2 | |
3250 | switches. | |
3251 | ||
3252 | 2012-07-16 Bob Duff <duff@adacore.com> | |
3253 | ||
3254 | * sinfo.ads: Minor comment fix. | |
3255 | ||
3256 | 2012-07-16 Bob Duff <duff@adacore.com> | |
3257 | ||
3258 | * sem_elab.adb (Within_Elaborate_All): Walk the with clauses to | |
3259 | find pragmas Elaborate_All that may be found in the transitive | |
3260 | closure of the dependences. | |
3261 | ||
f50256f3 | 3262 | 2012-07-16 Robert Dewar <dewar@adacore.com> |
3263 | ||
3264 | * exp_pakd.adb, freeze.adb, sem_util.adb, vms_data.ads: Minor | |
3265 | reformatting. | |
3266 | ||
d0685419 | 3267 | 2012-07-12 Vasiliy Fofanov <fofanov@adacore.com> |
3268 | ||
3269 | * vms_data.ads: Add VMS qualifiers for -gnatn1/2 switches. | |
3270 | ||
3271 | 2012-07-12 Thomas Quinot <quinot@adacore.com> | |
3272 | ||
3273 | * exp_ch5.adb, exp_pakd.adb, rtsfind.ads, freeze.adb, sem_util.adb, | |
3274 | sem_util.ads, exp_aggr.adb | |
3275 | (Exp_Aggr.Packed_Array_Aggregate_Handled): Simplify processing | |
3276 | for reverse storage order aggregate. | |
3277 | (Exp_Pakd.Byte_Swap): New utility routine used by... | |
3278 | (Exp_Pakd.Expand_Bit_Packed_Element_Set, | |
3279 | Expand_Packed_Element_Reference): For the case of a free-standing | |
3280 | packed array with reverse storage order, perform byte swapping. | |
3281 | (Rtsfind): Make new entities RE_Bswap_{16,32,64} available. | |
3282 | (Freeze.Check_Component_Storage_Order): New utility routine | |
3283 | to enforce legality rules for nested composite types whose | |
3284 | enclosing composite has an explicitly defined Scalar_Storage_Order | |
3285 | attribute. | |
3286 | (Sem_Util.In_Reverse_Storage_Order_Object): Renamed from | |
3287 | Sem_Util.In_Reverse_Storage_Order_Record, as SSO now applies to | |
3288 | array types as well. | |
3289 | (Exp_Ch5.Expand_Assign_Array): Remove now unnecessary kludge | |
3290 | for change of scalar storage order in assignments. The Lhs and | |
3291 | Rhs now always have the same scalar storage order. | |
3292 | ||
3293 | 2012-07-12 Hristian Kirtchev <kirtchev@adacore.com> | |
3294 | ||
3295 | * g-debpoo.adb (Allocate): Add local constant | |
3296 | No_Element. Initialize the allocated memory chunk to No_Element. | |
3297 | ||
3298 | 2012-07-12 Ed Schonberg <schonberg@adacore.com> | |
3299 | ||
3300 | * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly | |
3301 | the case of an instance of a child unit where a formal derived | |
3302 | type DT is an extension of a type T declared in a parent unit, | |
3303 | and the actual in the instance of the child is the type T declared | |
3304 | in the parent instance, and that actual is not a derived type. | |
3305 | ||
3306 | 2012-07-12 Eric Botcazou <ebotcazou@adacore.com> | |
3307 | Tristan Gingold <gingold@adacore.com> | |
3308 | ||
3309 | * system-hpux-ia64.ads: Enable ZCX by default. | |
3310 | * gcc-interface/Makefile.in: Use alternate stack on ia64-hpux. | |
3311 | Change soext to .so. | |
3312 | ||
aee191ca | 3313 | 2012-07-12 Robert Dewar <dewar@adacore.com> |
3314 | ||
3315 | * s-atopri.adb, s-atopri.ads: Minor reformatting. | |
3316 | ||
3317 | 2012-07-12 Robert Dewar <dewar@adacore.com> | |
3318 | ||
3319 | * ali.adb: Add circuitry to read new named form of restrictions lines. | |
3320 | * debug.adb: Add doc for new -gnatd.R switch (used positional | |
3321 | notation for output of restrictions data in ali file). | |
3322 | * lib-writ.adb: Implement new named format for restrictions lines. | |
3323 | * lib-writ.ads: Add documentation for new named format for | |
3324 | restrictions in ali files. | |
3325 | * restrict.adb, restrict.ads, sem_prag.adb: Update comments. | |
3326 | * rident.ads: Go back to withing System.Rident | |
3327 | * s-rident.ads: Add extensive comment on dealing with consistency | |
3328 | checking. | |
3329 | ||
3330 | 2012-07-12 Thomas Quinot <quinot@adacore.com> | |
3331 | ||
3332 | * par_sco.adb, scos.ads: Emit detailed SCOs for SELECT statements. | |
3333 | ||
da2e82e9 | 3334 | 2012-07-12 Robert Dewar <dewar@adacore.com> |
3335 | ||
3336 | * sem_disp.adb: Minor reformatting | |
3337 | * s-bytswa.ads: Minor comment update. | |
3338 | ||
3339 | 2012-07-12 Vincent Pucci <pucci@adacore.com> | |
3340 | ||
3341 | * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): | |
3342 | Atomic_Load_N replaced by Lock_Free_Read_N. Atomic_Compare_Exchange_N | |
3343 | replaced by Lock_Free_Try_Write_N. | |
3344 | Renaming of several local variables. For | |
3345 | procedure, Expected_Comp declaration moved to the declaration | |
3346 | list of the procedure. | |
3347 | * rtsfind.ads: RE_Atomic_Compare_Exchange_8, | |
3348 | RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32, | |
3349 | RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8, | |
3350 | RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64, | |
3351 | RE_Atomic_Synchronize, RE_Relaxed removed. RE_Lock_Free_Read_8, | |
3352 | RE_Lock_Free_Read_16, RE_Lock_Free_Read_32, RE_Lock_Free_Read_64, | |
3353 | RE_Lock_Free_Try_Write_8, RE_Lock_Free_Try_Write_16, | |
3354 | RE_Lock_Free_Try_Write_32, RE_Lock_Free_Try_Write_64 added. | |
3355 | * s-atopri.adb: New file. | |
3356 | * s-atopri.ads (Atomic_Compare_Exchange_8): Renaming of | |
3357 | parameters. Import primitive __sync_val_compare_and_swap_1. | |
3358 | (Atomic_Compare_Exchange_16): Renaming of parameters. | |
3359 | Import primitive __sync_val_compare_and_swap_2. | |
3360 | (Atomic_Compare_Exchange_32): Renaming of parameters. | |
3361 | Import primitive __sync_val_compare_and_swap_4. | |
3362 | (Atomic_Compare_Exchange_64): Renaming of parameters. Import | |
3363 | primitive __sync_val_compare_and_swap_8. | |
3364 | (Atomic_Load_8): Ptr renames parameter X. | |
3365 | (Atomic_Load_16): Ptr renames parameter X. | |
3366 | (Atomic_Load_32): Ptr renames parameter X. | |
3367 | (Atomic_Load_64): Ptr renames parameter X. | |
3368 | (Lock_Free_Read_8): New routine. | |
3369 | (Lock_Free_Read_16): New routine. | |
3370 | (Lock_Free_Read_32): New routine. | |
3371 | (Lock_Free_Read_64): New routine. | |
3372 | (Lock_Free_Try_Write_8): New routine. | |
3373 | (Lock_Free_Try_Write_16): New routine. | |
3374 | (Lock_Free_Try_Write_32): New routine. | |
3375 | (Lock_Free_Try_Write_64): New routine. | |
3376 | ||
10381db1 | 3377 | 2012-07-12 Robert Dewar <dewar@adacore.com> |
3378 | ||
3379 | * exp_attr.adb, exp_ch9.adb, sem_ch9.adb, exp_aggr.adb: Minor | |
3380 | reformatting. | |
3381 | ||
3382 | 2012-07-12 Vincent Pucci <pucci@adacore.com> | |
3383 | ||
3384 | * sem_dim.adb (Analyze_Dimension_Function_Call): Reformatting of error | |
3385 | msgs for elementary functions. | |
3386 | ||
3387 | 2012-07-12 Vincent Pucci <pucci@adacore.com> | |
3388 | ||
3389 | * sem_attr.adb (Eval_Attribute): Minor reformatting. | |
3390 | ||
3391 | 2012-07-12 Pascal Obry <obry@adacore.com> | |
3392 | ||
3393 | * prj-nmsc.adb (Check_Library_Attributes): Allow the same library | |
3394 | project in different project tree (different aggregated projects). | |
3395 | ||
3396 | 2012-07-12 Thomas Quinot <quinot@adacore.com> | |
3397 | ||
3398 | * s-bytswa.adb, g-bytswa.adb, g-bytswa.ads, s-bytswa.ads: Further | |
3399 | reorganization of byte swapping routines. | |
3400 | ||
3401 | 2012-07-12 Ed Schonberg <schonberg@adacore.com> | |
3402 | ||
3403 | * sem_disp.adb (Check_Dispatching_Context): Refine legality | |
3404 | checks on tagg indeterminate calls to abstract operations, | |
3405 | that appear in the context of other calls. | |
3406 | ||
d0a9ea3b | 3407 | 2012-07-12 Thomas Quinot <quinot@adacore.com> |
3408 | ||
3409 | * s-bytswa.adb (Swapped2.Bswap16): Remove local function, | |
3410 | no longer needed. | |
3411 | ||
3412 | 2012-07-12 Javier Miranda <miranda@adacore.com> | |
3413 | ||
3414 | * exp_attr.adb (Expand_N_Attribute_Reference): For | |
3415 | attributes 'access, 'unchecked_access and 'unrestricted_access, | |
3416 | iff the current instance reference is located in a protected | |
3417 | subprogram or entry then rewrite the access attribute to be the | |
3418 | name of the "_object" parameter. | |
3419 | ||
3420 | 2012-07-12 Tristan Gingold <gingold@adacore.com> | |
3421 | ||
3422 | * raise.h: Revert previous patch: structure is used in init.c | |
3423 | by vms. | |
3424 | ||
3425 | 2012-07-12 Vincent Celier <celier@adacore.com> | |
3426 | ||
3427 | * make.adb (Binding_Phase): If --subdirs was used, but not | |
3428 | -P, change the working directory to the specified subdirectory | |
3429 | before invoking gnatbind. | |
3430 | (Linking_Phase): If --subdirs was used, but not -P, change the working | |
3431 | directory to the specified subdirectory before invoking gnatlink. | |
3432 | ||
3433 | 2012-07-12 Vincent Pucci <pucci@adacore.com> | |
3434 | ||
3435 | * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): | |
3436 | For a procedure, instead of replacing each Comp reference by a | |
3437 | reference to Current_Comp, make a renaming Comp of Current_Comp | |
3438 | that rewrites the original renaming generated by the compiler | |
3439 | during the analysis. Move the declarations of the procedure | |
3440 | inside the generated block. | |
3441 | (Process_Stmts): Moved in the body | |
3442 | of Build_Lock_Free_Unprotected_Subprogram_Body. | |
3443 | (Process_Node): | |
3444 | Moved in the body of Build_Lock_Free_Unprotected_Subprogram_Body. | |
3445 | * sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict any | |
3446 | non-elementary out parameters in protected procedures. | |
3447 | ||
3448 | 2012-07-12 Thomas Quinot <quinot@adacore.com> | |
3449 | ||
3450 | * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case | |
3451 | Scalar_Storage_Order): Attribute applies to base type only. | |
3452 | ||
9e6a9b40 | 3453 | 2012-07-12 Ed Schonberg <schonberg@adacore.com> |
3454 | ||
3455 | * exp_aggr.adb (Convert_To_Positional): Increase acceptable size | |
3456 | of static aggregate when Static_Elaboration_Desired is requested. | |
3457 | Add a warning if the request cannot be satisfied either because | |
3458 | some components or some array bounds are non-static. | |
3459 | ||
3460 | 2012-07-12 Thomas Quinot <quinot@adacore.com> | |
3461 | ||
3462 | * exp_pakd.adb: Minor reformatting. | |
3463 | ||
3464 | 2012-07-12 Tristan Gingold <gingold@adacore.com> | |
3465 | ||
3466 | * tracebak.c: Fix warnings. | |
3467 | * raise-gcc.c (__gnat_adjust_context): New function | |
3468 | (__gnat_personality_seh0): Call __gnat_adjust_context to adjust | |
3469 | PC in machine frame for exceptions that occur in the current | |
3470 | function. | |
3471 | ||
3472 | 2012-07-12 Thomas Quinot <quinot@adacore.com> | |
3473 | ||
3474 | * g-bytswa.adb, g-bytswa.ads, s-bytswa.adb, s-bytswa.ads, Makefile.rtl: | |
3475 | Move GNAT.Byte_Swapping to System (with a renaming under GNAT) | |
3476 | so that it is usable in expanded code. | |
3477 | ||
3478 | 2012-07-12 Tristan Gingold <gingold@adacore.com> | |
3479 | ||
3480 | * s-osinte-hpux.ads: Increase alternate stack size on hpux. | |
3481 | ||
f893f3ac | 3482 | 2012-07-12 Javier Miranda <miranda@adacore.com> |
3483 | ||
3484 | * exp_ch3.adb (Make_Neq_Body): Fix typo in comment. | |
3485 | ||
3486 | 2012-07-12 Eric Botcazou <ebotcazou@adacore.com> | |
3487 | ||
3488 | * tb-gcc.c (trace_callback): On IA-64/HP-UX, use workaround only | |
3489 | if USE_LIBUNWIND_EXCEPTIONS is defined. | |
3490 | * init.c: Further tweaks for IA-64/HP-UX. | |
3491 | ||
3492 | 2012-07-12 Tristan Gingold <gingold@adacore.com> | |
3493 | ||
3494 | * raise-gcc.c: Do not include unwind-dw2-fde.h. Adjust comments. | |
3495 | (db_region_for): Second argument is ip. Do not recompute ip. | |
3496 | (action_kind): Remove typedef, add unhandler enum const. | |
3497 | (action_descriptor): Adjust type of kind field. | |
3498 | (db_action_for): Second argument is ip, do not recompute it. | |
3499 | (get_call_site_action_for): First argument is call_site, do not | |
3500 | recompute it. Remove useless return. | |
3501 | (is_handled_by): Now return enum action_kind. | |
3502 | Handle GNAT_ALL_OTHERS first. | |
3503 | Return unhandler for GNAT_UNHANDLED_OTHERS. | |
3504 | (get_action_description_for): First argument is now ip, do not | |
3505 | recompute it. Adjust code for call to is_handled_by. | |
3506 | (__gnat_notify_unhandled_exception): Add prototype. | |
3507 | (PERSONALITY_FUNCTION): Call get_ip_from_context. Adjust calls. | |
3508 | Handle unhandler case. | |
3509 | (__gnat_cleanupunwind_handler): Add comments, add | |
3510 | ATTRIBUTE_UNUSED on arguments. | |
3511 | (__gnat_Unwind_RaiseException, __gnat_Unwind_ForcedUnwind): Define | |
3512 | only once. | |
3513 | * raise.h: Makes struct Exception_Data opaque. | |
3514 | ||
addebd97 | 3515 | 2012-07-12 Robert Dewar <dewar@adacore.com> |
3516 | ||
3517 | * make.adb, sem_ch9.adb, prj.adb, s-rident.ads, snames.ads-tmpl: Minor | |
3518 | reformatting. | |
3519 | ||
3520 | 2012-07-12 Javier Miranda <miranda@adacore.com> | |
3521 | ||
3522 | * exp_ch3.adb (Is_User_Defined_Equality): New subprogram. | |
3523 | (Make_Neq_Body): New subprogram. | |
3524 | (Make_Predefined_Primitive_Specs): Adding local variable | |
3525 | Has_Predef_Eq_ Renaming to ensure that we enable the machinery | |
3526 | which handles renamings of predefined primitive operators. | |
3527 | ||
3bf14af0 | 3528 | 2012-07-09 Pascal Obry <obry@adacore.com> |
3529 | ||
3530 | * prj.adb (For_Every_Project_Imported_Context): Make sure we | |
3531 | callback with the project having sources. | |
3532 | Minor reformatting. | |
3533 | ||
3534 | 2012-07-09 Eric Botcazou <ebotcazou@adacore.com> | |
3535 | ||
3536 | * make.adb: Fix typo. | |
3537 | ||
155cbed1 | 3538 | 2012-07-09 Vincent Pucci <pucci@adacore.com> |
3539 | ||
3540 | * sem_ch9.adb (Check_Node): Allow attributes | |
3541 | that denote static function for lock-free implementation. | |
3542 | (Is_Static_Function): New routine. | |
3543 | ||
3544 | 2012-07-09 Tristan Gingold <gingold@adacore.com> | |
3545 | ||
3546 | * tracebak.c: Adjust skip_frames on Win64. | |
3547 | ||
3548 | 2012-07-09 Tristan Gingold <gingold@adacore.com> | |
3549 | ||
3550 | * init.c: Add __gnat_adjust_context_for_raise for ia64/hpux. | |
3551 | * raise-gcc.c: __gnat_cleanupunwind_handler: Do not call | |
3552 | _Unwind_GetGR on hpux when using libgcc unwinder. Part of | |
3553 | ||
3554 | 2012-07-09 Vincent Pucci <pucci@adacore.com> | |
3555 | ||
3556 | * exp_attr.adb, sem_attr.adb: Minor reformatting. | |
3557 | * par-ch13.adb, par-ch4.adb, par-util.adb: Reformatting | |
3558 | considering that internal attribute names are not defined anymore | |
3559 | in the main attribute names list. | |
3560 | * snames.adb-tmpl (Get_Attribute_Id): Special processinf | |
3561 | for names CPU, Dispatching_Domain and Interrupt_Priority. | |
3562 | (Is_Internal_Attribute_Name): Minor reformatting. | |
3563 | * snames.ads-tmpl: New list of internal attribute names. Internal | |
3564 | attributes moved at the end of the attribute Id list. | |
3565 | ||
1f526845 | 3566 | 2012-07-09 Robert Dewar <dewar@adacore.com> |
3567 | ||
3568 | * freeze.adb: Minor code reorganization (use Ekind_In). | |
3569 | * exp_attr.adb, sem_ch9.adb par-ch4.adb, s-taprop-mingw.adb, | |
3570 | sem_attr.adb, exp_ch8.adb, snames.adb-tmpl, par-util.adb, | |
3571 | sem_ch13.adb, snames.ads-tmpl: Minor reformatting. | |
3572 | ||
3573 | 2012-07-09 Tristan Gingold <gingold@adacore.com> | |
3574 | ||
3575 | * raise-gcc.c: Adjust previous patch. | |
3576 | ||
3577 | 2012-07-09 Vincent Celier <celier@adacore.com> | |
3578 | ||
3579 | * make.adb (Compilation_Phase): Do not build libraries in | |
3580 | Codepeer mode (do not call Library_Phase). | |
3581 | ||
e2f8db26 | 3582 | 2012-07-09 Ed Schonberg <schonberg@adacore.com> |
3583 | ||
3584 | * sem_ch13.adb: Extend previous change to elementary types. | |
3585 | ||
3586 | 2012-07-09 Javier Miranda <miranda@adacore.com> | |
3587 | ||
3588 | * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Reverse | |
3589 | previous patch since unconditionally handling as renaming_as_body | |
3590 | renamings of predefined dispatching equality and unequality operator | |
3591 | cause visibility problems with private overridings of the equality | |
3592 | operator (see ACATS C854001). | |
3593 | ||
3594 | 2012-07-09 Vincent Pucci <pucci@adacore.com> | |
3595 | ||
3596 | * exp_attr.adb (Signal_Bad_Attribute): Raise Program_Error in | |
3597 | case of internal attribute names (already rejected by the parser). | |
3598 | * par-ch13.adb (P_Representation_Clause): Complain if an internal | |
3599 | attribute name that comes from source occurs. | |
3600 | * par-ch4.adb (P_Name): Complain if an internal attribute name | |
3601 | occurs in the context of an attribute reference. | |
3602 | * par-util.adb (Signal_Bad_Attribute): Don't complain about | |
3603 | mispelling attribute with internal attributes. | |
3604 | * sem_attr.adb (Analyze_Attribute): Raise Program_Error in case | |
3605 | of internal attribute names (already rejected by the parser). | |
3606 | * snames.adb-tmpl (Is_Internal_Attribute_Name): New routine. | |
3607 | * snames.ads-tmpl: Attributes CPU, Dispatching_Domain and | |
3608 | Interrupt_Priority are marked as INT attributes since they | |
3609 | don't denote real attribute and are only used internally in | |
3610 | the compiler. | |
3611 | (Is_Internal_Attribute_Name): New routine. | |
3612 | ||
f117057b | 3613 | 2012-07-09 Thomas Quinot <quinot@adacore.com> |
3614 | ||
3615 | * einfo.adb (Set_Reverse_Storage_Order): Update assertion, | |
3616 | flag is now valid for array types as well. | |
3617 | ||
3618 | 2012-07-09 Tristan Gingold <gingold@adacore.com> | |
3619 | ||
3620 | * tracebak.c: Implement __gnat_backtrace for Win64 SEH. | |
3621 | ||
3622 | 2012-07-09 Robert Dewar <dewar@adacore.com> | |
3623 | ||
3624 | * einfo.ads: Minor reformatting. | |
3625 | ||
3626 | 2012-07-09 Javier Miranda <miranda@adacore.com> | |
3627 | ||
3628 | * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Handle as | |
3629 | renaming_as_body renamings of predefined dispatching equality | |
3630 | and unequality operators. | |
3631 | ||
3632 | 2012-07-09 Robert Dewar <dewar@adacore.com> | |
3633 | ||
3634 | * rident.ads: Do not instantiate r-ident.ads, this is now an | |
3635 | independent unit. | |
3636 | ||
3637 | 2012-07-09 Javier Miranda <miranda@adacore.com> | |
3638 | ||
3639 | * exp_disp.adb (Write_DT): Avoid runtime crash of this debugging | |
3640 | routine. | |
3641 | * sem_disp.adb (Find_Dispatching_Time): Protect this routine | |
3642 | against partially decorated entities. | |
3643 | ||
3644 | 2012-07-09 Ed Schonberg <schonberg@adacore.com> | |
3645 | ||
3646 | * sem_ch13.adb (Check_Size): Reject a size clause that specifies | |
3647 | a value greater than Int'Last for a scalar type. | |
3648 | ||
3649 | 2012-07-09 Vincent Pucci <pucci@adacore.com> | |
3650 | ||
3651 | * sem_ch9.adb (Allows_Lock_Free_Implementation): type must support | |
3652 | atomic operation moved to the protected body case. No non-elementary | |
3653 | out parameter moved to the protected declaration case. Functions have | |
3654 | only one lock-free restriction. | |
3655 | (Analyze_Protected_Type_Declaration): Issue a warning when | |
3656 | Priority given with Lock_Free. | |
3657 | ||
3658 | 2012-07-09 Vincent Pucci <pucci@adacore.com> | |
3659 | ||
3660 | * sem_dim.adb: Grammar of aspect Dimension fixed. | |
3661 | ||
3662 | 2012-07-09 Vincent Pucci <pucci@adacore.com> | |
3663 | ||
3664 | * freeze.adb (Freeze_Record_Type): Code reorg in order to avoid | |
3665 | pushing and popping the scope stack whenever a delayed aspect occurs. | |
3666 | ||
3667 | 2012-07-09 Gary Dismukes <dismukes@adacore.com> | |
3668 | ||
3669 | * s-os_lib.ads: Remove pragma Elaborate_Body, as | |
3670 | this is now unnecessary due to recently added pragma Preelaborate. | |
3671 | ||
3672 | 2012-07-09 Jose Ruiz <ruiz@adacore.com> | |
3673 | ||
3674 | * s-taprop-mingw.adb (Set_Priority): Remove the code that was | |
3675 | previously in place to reorder the ready queue when a task drops | |
3676 | its priority due to the loss of inherited priority. | |
3677 | ||
b43a5770 | 3678 | 2012-07-09 Robert Dewar <dewar@adacore.com> |
3679 | ||
3680 | * layout.adb, i-cstrea.ads, a-ststio.ads, prj-util.ads, sem_cat.adb, | |
3681 | s-commun.ads, s-ficobl.ads, s-os_lib.ads, s-fileio.ads: Minor | |
3682 | reformatting. | |
3683 | ||
3684 | 2012-07-09 Eric Botcazou <ebotcazou@adacore.com> | |
3685 | ||
3686 | * raise-gcc.c: Update comments. Fix typo. | |
3687 | ||
3688 | 2012-07-09 Thomas Quinot <quinot@adacore.com> | |
3689 | ||
3690 | * einfo.adb, einfo.ads, sem_attr.adb, sem_ch13.adb: Attribute | |
3691 | Scalar_Storage_Order can be defined or queried for array types as well | |
3692 | as record types. | |
3693 | ||
a940e5c9 | 3694 | 2012-07-09 Tristan Gingold <gingold@adacore.com> |
3695 | ||
3696 | * a-exexpr-gcc.adb (CleanupUnwind_Handler): Now imported from | |
3697 | raise-gcc.c | |
3698 | * raise-gcc.c (__gnat_cleanupunwind_handler): Defined. | |
3699 | Strictly follow the ABI convention on ia64. | |
3700 | ||
3701 | 2012-07-09 Gary Dismukes <dismukes@adacore.com> | |
3702 | ||
3703 | * a-ststio.ads: Add pragma Preelaborate, per AI05-0283. | |
3704 | * i-cstrea.ads (max_path_len): Change from variable to deferred | |
3705 | constant to allow it to be used as a bound in string component | |
3706 | in type System.File_IO.Temp_File_Record. | |
3707 | * s-os_lib.ads, s-commun.ads, s-ficobl.ads, s-fileio.ads: Add pragma | |
3708 | Preelaborate. | |
3709 | * s-fileio.adb (Get_Case_Sensitive): Move function inside | |
3710 | procedure Open. | |
3711 | (File_Names_Case_Sensitive): Move variable inside | |
3712 | procedure Open, to avoid violation of Preelaborate restriction | |
3713 | (due to call to Get_Case_Sensitive). | |
3714 | ||
3715 | 2012-07-09 Ed Schonberg <schonberg@adacore.com> | |
3716 | ||
3717 | * layout.adb (Set_Elem_Alignment): Protect against meaningless | |
3718 | size clause, to prevent overflow in internal computation of | |
3719 | alignment. | |
3720 | ||
6b34a333 | 3721 | 2012-07-09 Robert Dewar <dewar@adacore.com> |
3722 | ||
3723 | * freeze.adb, prj-util.adb, prj-util.ads, sem_ch13.adb: Minor | |
3724 | reformatting. | |
3725 | ||
3726 | 2012-07-09 Gary Dismukes <dismukes@adacore.com> | |
3727 | ||
3728 | * sem_cat.adb (Check_Categorization_Dependencies): | |
3729 | Allow dependence of both Remote_Types and Remote_Call_Interface | |
3730 | declarations (not just Remote_Types units) on preelaborated | |
3731 | units, but require that the dependence be made via a private | |
3732 | with_clause. Issue a specialized error message. | |
3733 | ||
960a0aad | 3734 | 2012-07-09 Pascal Obry <obry@adacore.com> |
3735 | ||
3736 | * prj-util.adb, prj-util.ads (For_Interface_Sources): New routine. | |
3737 | ||
84ed7523 | 3738 | 2012-07-09 Tristan Gingold <gingold@adacore.com> |
3739 | ||
3740 | * seh_init.c (__gnat_SEH_error_handler): On Win64 and SEH, | |
3741 | return for unknown exceptions. | |
3742 | * raise-gcc.c (__gnat_personality_seh0): Call __gnat_SEH_error_handler. | |
3743 | ||
3744 | 2012-07-09 Joel Brobecker <brobecker@adacore.com brobecker> | |
3745 | ||
3746 | * exp_dbug.ads (No_Dollar_In_Label): Delete. | |
3747 | ||
3748 | 2012-07-09 Vincent Pucci <pucci@adacore.com> | |
3749 | ||
3750 | * sem_ch13.adb (Check_Overloaded_Name): New routine. | |
3751 | ||
3752 | 2012-07-09 Vincent Pucci <pucci@adacore.com> | |
3753 | ||
3754 | * freeze.adb (Freeze_Record_Type): Analyze the delayed aspects of the | |
3755 | components in a record type. | |
3756 | ||
3757 | 2012-07-09 Pascal Obry <obry@adacore.com> | |
3758 | ||
3759 | * prj-util.ads: Minor reformatting. | |
3760 | ||
00c092f4 | 3761 | 2012-07-09 Tristan Gingold <gingold@adacore.com> |
3762 | ||
3763 | * raise-gcc.c (db_indent): Simplify style, improve comments. | |
3764 | Remove !IN_RTS part (dead). | |
3765 | ||
3766 | 2012-07-09 Robert Dewar <dewar@adacore.com> | |
3767 | ||
3768 | * usage.adb: Minor change to format of -gnatn line. | |
3769 | ||
3770 | 2012-07-09 Tristan Gingold <gingold@adacore.com> | |
3771 | ||
3772 | * a-exexpr-gcc.adb: Reorder routine. | |
3773 | ||
e4c87fa5 | 3774 | 2012-07-09 Vincent Celier <celier@adacore.com> |
3775 | ||
3776 | * lib-writ.ads: Add documentation for the Z lines (implicitly | |
3777 | withed units) and Y lines (limited withed units). | |
3778 | ||
3779 | 2012-07-09 Robert Dewar <dewar@adacore.com> | |
3780 | ||
3781 | * lib.ads, exp_attr.adb, exp_ch9.adb, sem_dim.adb, sem_ch9.adb, | |
3782 | sem_prag.adb, sem_ch12.adb, mlib-utl.adb, freeze.adb, sem_res.adb, | |
3783 | sem_attr.adb, sem_case.adb, gnatlink.adb, exp_ch4.adb, sem_ch6.adb, | |
3784 | sem_elim.adb, s-dimmks.ads, sem_ch13.adb: Minor code clean ups. | |
3785 | ||
3786 | 2012-07-09 Eric Botcazou <ebotcazou@adacore.com> | |
3787 | ||
3788 | * gnat_ugn.texi (Switches for gcc): Document -gnatn[12] only | |
3789 | lightly in the summary and more thoroughly in inlining section. | |
3790 | (Performance Considerations): Document -gnatn[12] in inlining | |
3791 | section. | |
3792 | ||
3793 | 2012-07-09 Tristan Gingold <gingold@adacore.com> | |
3794 | ||
3795 | * a-exexpr-gcc.adb (Unhandled_Except_Handler): New procedure. | |
3796 | (Unhandled_Others_Value): New const. | |
3797 | * raise-gcc.c (GNAT_UNHANDLED_OTHERS): Define. | |
3798 | (action_descriptor): Remove ttype_entry. | |
3799 | (get_action_description_for): Do not assign ttype_entry. | |
3800 | (is_handled_by): Consider GNAT_UNHANDLED_OTHERS. | |
3801 | ||
c1a30d6c | 3802 | 2012-07-03 Eric Botcazou <ebotcazou@adacore.com> |
3803 | ||
3804 | * gcc-interface/trans.c (Call_to_gnu): Robustify test for function case | |
3805 | if the CICO mechanism is used. | |
3806 | ||
0ceb8ef3 | 3807 | 2012-07-03 Eric Botcazou <ebotcazou@adacore.com> |
3808 | ||
3809 | * gcc-interface/utils2.c (build_simple_component_ref): Do not look | |
3810 | through an extension if the type contains a placeholder. | |
3811 | ||
265200d0 | 3812 | 2012-07-03 Eric Botcazou <ebotcazou@adacore.com> |
3813 | ||
3814 | * exp_disp.adb (Expand_Dispatching_Call): Propagate the convention on | |
3815 | the designated subprogram type and also set Is_Dispatch_Table_Entity. | |
3816 | (Expand_Interface_Thunk): Propagate the convention on the thunk. | |
3817 | (Set_CPP_Constructors_Old): Set Is_Constructor and Convention_CPP on | |
3818 | the internal view of the constructors. | |
3819 | (Set_CPP_Constructors): Likewise. | |
3820 | * sem_prag.adb (Analyze_Pragma) <Pragma_CPP_Constructor>: Set the | |
3821 | convention on the function. | |
3822 | * gcc-interface/gigi.h (is_cplusplus_method): Declare. | |
3823 | * gcc-interface/decl.c (Has_Thiscall_Convention): New macro. | |
3824 | (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the `thiscall' | |
3825 | calling convention | |
3826 | (get_minimal_subprog_decl): Likewise. | |
3827 | (is_cplusplus_method): New predicate. | |
3828 | * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Issue an | |
3829 | error on access to C++ constructor or member function. | |
3830 | ||
66f0b044 | 3831 | 2012-07-03 Eric Botcazou <ebotcazou@adacore.com> |
3832 | ||
3833 | * gcc-interface/utils.c (gnat_pushdecl): Set TYPE_CONTEXT for types | |
3834 | attached to a TYPE_DECL. | |
3835 | ||
06ef5f86 | 3836 | 2012-06-26 Vincent Pucci <pucci@adacore.com> |
3837 | ||
3838 | * exp_ch3.adb (Build_Init_Statements): Don't check the parents | |
3839 | in the Rep Item Chain of the task for aspects Interrupt_Priority, | |
3840 | Priority, CPU and Dispatching_Domain. | |
3841 | * exp_ch9.adb (Expand_N_Task_Type_Declaration): fields _Priority, | |
3842 | _CPU and _Domain are present in the corresponding record type | |
3843 | only if the task entity has a pragma, attribute definition | |
3844 | clause or aspect specification. | |
3845 | (Make_Initialize_Protection): Don't check the parents in the Rep Item | |
3846 | Chain of the task for aspects Interrupt_Priority, Priority, CPU and | |
3847 | Dispatching_Domain. | |
3848 | * freeze.adb (Freeze_Entity): Use of Evaluate_Aspects_At_Freeze_Point | |
3849 | call replaced by Analyze_Aspects_At_Freeze_Point. | |
3850 | * sem_ch13.adb, sem_ch13.ads (Analyze_Aspects_At_Freeze_Point): | |
3851 | Renaming of Evaluate_Aspects_At_Freeze_Point. | |
3852 | ||
3853 | 2012-06-26 Yannick Moy <moy@adacore.com> | |
3854 | ||
3855 | * sem_attr.adb (Analyze_Attribute): Detect if 'Old is used outside a | |
3856 | postcondition, and issue an error in such a case. | |
3857 | ||
3858 | 2012-06-26 Yannick Moy <moy@adacore.com> | |
3859 | ||
3860 | * gnat_rm.texi: Minor editing. | |
3861 | ||
3862 | 2012-06-26 Tristan Gingold <gingold@adacore.com> | |
3863 | ||
3864 | * raise-gcc.c: Minor cleanup: remove unused prototype. | |
3865 | * seh_init.c: Do not create an image wide unwind info to catch | |
3866 | SEH when SEH unwind info are emitted by the compiler. | |
3867 | ||
367b1459 | 3868 | 2012-06-19 Steven Bosscher <steven@gcc.gnu.org> |
3869 | ||
3870 | * gcc-interface/trans.c: Include target.h. | |
3871 | (gigi): Try to put out .ident with targetm.asm_out.output_ident. | |
3872 | Remove uses of ASM_OUTPUT_IDENT. | |
3873 | * gcc-interface/Make-lang.in: Fix dependencies. | |
3874 | ||
ffda9ae3 | 3875 | 2012-06-15 Eric Botcazou <ebotcazou@adacore.com> |
3876 | ||
3877 | PR ada/53592 | |
3878 | * gcc-interface/gigi.h (maybe_vector_array): Make static inline. | |
3879 | * gcc-interface/utils.c (maybe_vector_array): Delete. | |
3880 | * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the | |
3881 | array object as addressable if it has vector type and is on the LHS. | |
3882 | ||
bc0dfc8d | 3883 | 2012-06-15 Eric Botcazou <ebotcazou@adacore.com> |
3884 | ||
3885 | PR middle-end/53590 | |
3886 | * gcc-interface/misc.c (gnat_init_options_struct): Set | |
3887 | opts->x_flag_delete_dead_exceptions to 1. | |
3888 | ||
d3544834 | 3889 | 2012-06-14 Jose Ruiz <ruiz@adacore.com> |
3890 | ||
3891 | * gcc-interface/Make-lang.in (ada.install-common, ada.uninstall): | |
3892 | Use the prefix specified with the --program-prefix configure option | |
3893 | to determine the install name of the Ada tools. | |
3894 | (ada.all.cross): Use a for loop to iterate over the set of Ada tools | |
3895 | instead of duplicate the same processing. | |
3896 | Update dependencies. | |
3897 | ||
2b184b2f | 3898 | 2012-06-14 Vincent Pucci <pucci@adacore.com> |
3899 | ||
3900 | * exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_Symbol | |
3901 | call replaced by Expand_Put_Call_With_Symbol call. | |
3902 | * sem_dim.adb: New fields Unit_Names, Unit_Symbols | |
3903 | and Dim_Symbols for record type System_Type. | |
3904 | (From_Dimension_To_String_Of_Symbols): Removed. | |
3905 | (From_Dim_To_Str_Of_Dim_Symbols): Renames previous | |
3906 | routine From_Dimension_To_String_Of_Symbols. | |
3907 | (From_Dim_To_Str_Of_Unit_Symbols): New routine. | |
3908 | (Analyze_Aspect_Dimension): argument Symbol in aspect | |
3909 | Dimension aggregate is optional. Named association implemented. | |
3910 | (Has_Compile_Time_Known_Expressions): Removed. | |
3911 | (Analyze_Aspect_Dimension_System): New | |
3912 | component Dim_Symbol in each Dimension aggregate in | |
3913 | aspect Dimension_System. Named associations implemented. | |
3914 | (Add_Dimension_Vector_To_Buffer): Removed. | |
3915 | (Add_Whole_To_Buffer): Removed. | |
3916 | (Expand_Put_Call_With_Dimension_Symbol.): Removed. | |
3917 | (Expand_Put_Call_With_Symbol): Renames previous routine | |
3918 | Expand_Put_Call_With_Dimension_Symbol. | |
3919 | (Has_Dimension_Symbols): Removed. | |
3920 | (Has_Symbols): Renames previous routine | |
3921 | Has_Dimension_Symbols. (Store_String_Oexpon): New routine. | |
3922 | * sem_dim.ads (Expand_Put_Call_With_Dimension_Symbol.): Removed. | |
3923 | (Expand_Put_Call_With_Symbol): Renames previous routine | |
3924 | Expand_Put_Call_With_Dimension_Symbol. | |
3925 | * s-diflio.adb, s-diinio.adb (Put): Symbol renames Symbols. | |
3926 | (Put_Dim_Of): New routines. | |
3927 | * s-diflio.ads, s-diinio.ads: documentation updated. | |
3928 | (Put): Symbol renames Symbols. | |
3929 | (Put_Dim_Of): New routines. | |
3930 | * s-dim.ads: documentation updated. | |
3931 | * s-dimmks.ads: dimensioned type and subtypes updated. | |
3932 | * snames.ads-tmpl: Name_Dim_Symbol, Name_Put_Dim_Of, Name_Symbol, | |
3933 | and Name_Unit_Symbol added. Name_Symbols removed. | |
3934 | ||
3935 | 2012-06-14 Vincent Pucci <pucci@adacore.com> | |
3936 | ||
3937 | * freeze.adb (In_Exp_Body): Expression function case added. | |
3938 | (Freeze_Expression): Insert the Freeze_Nodes | |
3939 | list before the correct current scope in case of a quantified | |
3940 | expression. | |
3941 | ||
3942 | 2012-06-14 Pascal Obry <obry@adacore.com> | |
3943 | ||
3944 | * projects.texi: Document the Install package for gprinstall. | |
3945 | 2012-06-14 Ed Schonberg <schonberg@adacore.com> | |
3946 | ||
3947 | * sem_elim.adb (Check_For_Eliminated_Subprogram): Do not check within | |
3948 | a default expression. | |
3949 | * sem_res.adb (Resolve_Call): simplify code. | |
3950 | ||
3951 | 2012-06-14 Ed Schonberg <schonberg@adacore.com> | |
3952 | ||
3953 | * sem_case.adb (Check, Issue_Msg): within an instance, non-other | |
3954 | values in a variant part or a case expression do not have to | |
3955 | belong to the actual subtype. | |
3956 | ||
3957 | 2012-06-14 Ed Schonberg <schonberg@adacore.com> | |
3958 | ||
3959 | * sem_ch12.adb (Validate_Derived_Type_Instance): If parent is | |
3960 | an interface type, check whether it is itself a previous formal | |
3961 | already instantiated in the current list of actuals. | |
3962 | ||
3963 | 2012-06-14 Ed Schonberg <schonberg@adacore.com> | |
3964 | ||
3965 | * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): The | |
3966 | expression for a stream attribute is a name that may be overloaded | |
3967 | with other declarations. To determine whether it matches the | |
3968 | aspect at the freeze point, it is necessary to verify that one | |
3969 | of its interpretations matches. | |
3970 | ||
caf125ce | 3971 | 2012-06-14 Robert Dewar <dewar@adacore.com> |
3972 | ||
3973 | * exp_ch7.adb, exp_util.adb, sem_aux.ads, exp_ch9.adb, | |
3974 | sem_ch10.adb, freeze.adb, sem_util.adb, exp_ch4.adb, | |
3975 | s-taprop-dummy.adb: Minor reformatting. | |
3976 | ||
3977 | 2012-06-14 Vincent Pucci <pucci@adacore.com> | |
3978 | ||
3979 | * exp_attr.adb (Expand_N_Attribute_Reference): Lock_Free | |
3980 | attribute case added. | |
3981 | * par-prag.adb (Prag): Lock_Free pragma case added. | |
3982 | * sem_attr.adb (Analyze_Attribute_Reference): Lock_Free attribute | |
3983 | case added. | |
3984 | * sem_ch13.adb (Analyze_Aspect_Specifications): Record_Rep_Item | |
3985 | call added for Aspect_Lock_Free. | |
3986 | * sem_ch9.adb (Allows_Lock_Free_Implementation): New Lock_Free | |
3987 | error messages for subprogram bodies. | |
3988 | (Lock_Free_Disabled): New routine. | |
3989 | (Analyze_Protected_Body): Call to Lock_Free_Disabled added. | |
3990 | * sem_prag.adb (Analyze_Pragma): Lock_Free pragma case added. | |
3991 | * snames.adb-tmpl (Get_Pragma_Id): Name_Lock_Free case added. | |
3992 | (Is_Pragma_Name): Name_Lock_Free case added. | |
3993 | * snames.ads-tmpl: Attribute_Lock_Free and Pragma_Lock_Free added. | |
3994 | ||
3995 | 2012-06-14 Ed Schonberg <schonberg@adacore.com> | |
3996 | ||
3997 | * a-coorma.adb, a-cborma.adb, a-cbhama.adb, a-ciorma.adb: Add missing | |
3998 | aliased keyword. | |
3999 | ||
4000 | 2012-06-14 Bob Duff <duff@adacore.com> | |
4001 | ||
4002 | * lib.ads, lib.adb, sem.adb (Write_Unit_Info): Move this | |
4003 | procedure from Sem body to Lib spec, so it can be used for | |
4004 | debugging elsewhere. | |
4005 | ||
4006 | 2012-06-14 Ed Schonberg <schonberg@adacore.com> | |
4007 | ||
4008 | * sem_ch6.adb (Check_Conformance): Add Ada 2012 check on mode | |
4009 | conformance: "aliased" must apply to both or neither formal | |
4010 | parameters. | |
4011 | ||
2fec2b51 | 4012 | 2012-06-14 Gary Dismukes <dismukes@adacore.com> |
4013 | ||
4014 | * exp_ch9.adb: Minor reformatting. | |
4015 | ||
4016 | 2012-06-14 Thomas Quinot <quinot@adacore.com> | |
4017 | ||
4018 | * freeze.adb (Freeze_Record_Type): Warn about useless bit order | |
4019 | specification [when there's no component clause] regardless | |
4020 | of whether the specified bit order is reversed or not. | |
4021 | ||
4022 | 2012-06-14 Tristan Gingold <gingold@adacore.com> | |
4023 | ||
4024 | * raise-gcc.c (__gnat_personality_seh0): New function. | |
4025 | ||
4026 | 2012-06-14 Tristan Gingold <gingold@adacore.com> | |
4027 | ||
4028 | * gnatname.adb (Gnatname): Make sure that dynamic table | |
4029 | argument_data is initialized. | |
4030 | ||
4031 | 2012-06-14 Robert Dewar <dewar@adacore.com> | |
4032 | ||
4033 | * sem_aux.adb: Minor code reorganization. | |
4034 | ||
89b3b365 | 4035 | 2012-06-14 Vincent Pucci <pucci@adacore.com> |
4036 | ||
4037 | * einfo.adb einfo.ads (Get_Rep_Item): Removed. | |
4038 | (Get_Rep_Item_For_Entity): Removed. | |
4039 | (Get_Rep_Pragma): Removed. | |
4040 | (Get_Rep_Pragma_For_Entity): Removed. | |
4041 | (Has_Rep_Item): Removed. | |
4042 | (Has_Rep_Pragma): Removed. | |
4043 | (Has_Rep_Pragma_For_Entity): Removed. | |
4044 | * exp_ch9.adb (Expand_N_Task_Type_Declaration): | |
4045 | Has_Rep_Pragma_For_Entity replaced by Has_Rep_Pragma | |
4046 | and Get_Rep_Pragma_For_Entity replaced by Get_Rep_Pragma. | |
4047 | (Make_Task_Create_Call): Has_Rep_Pragma_For_Entity replaced | |
4048 | by Has_Rep_Pragma and Get_Rep_Pragma_For_Entity replaced by | |
4049 | Get_Rep_Pragma. | |
4050 | * exp_intr.adb: Dependency to Sem_Aux added for call to Get_Rep_Pragma. | |
4051 | * sem_aux.adb (Get_Rep_Item): New routine. | |
4052 | (Get_Rep_Pragma): New routine. | |
4053 | (Has_Rep_Item): New routine. | |
4054 | (Has_Rep_Pragma): New routine. | |
4055 | (Nearest_Ancestor): Minor reformatting. | |
4056 | * sem_aux.ads (Get_Rep_Item): New routine. | |
4057 | (Get_Rep_Pragma): New routine. | |
4058 | (Has_Rep_Item): New routine. | |
4059 | (Has_Rep_Pragma): New routine. | |
4060 | * sem_ch13.adb (Duplicate_Clause): Restore original error messages. | |
4061 | * sem_eval.adb (Subtypes_Statically_Match): Get_Rep_Item_For_Entity | |
4062 | replaced by Get_Rep_Item. | |
4063 | * sem_prag.adb (Analyze_Pragma): Restore original error messages. | |
4064 | (Check_Duplicate_Pragma): Restore original error messages. | |
4065 | ||
714e7f2d | 4066 | 2012-06-14 Ed Schonberg <schonberg@adacore.com> |
4067 | ||
4068 | * sem_util.adb (Is_Object_Reference): in Ada 2012, qualified | |
4069 | expressions are valid names. | |
4070 | ||
4071 | 2012-06-14 Ed Schonberg <schonberg@adacore.com> | |
4072 | ||
4073 | * sem_ch10.adb (Analyze_Compilation_Unit): If the unit is an | |
4074 | instantiation do not emit warnings for obsolescent units. The | |
4075 | warnings belong on the corresponding generic. | |
4076 | ||
4077 | 2012-06-14 Hristian Kirtchev <kirtchev@adacore.com> | |
4078 | ||
4079 | * einfo.adb: Update the usage of Node15. | |
4080 | (Return_Flag_Or_Transient_Decl): Removed. | |
4081 | (Set_Return_Flag_Or_Transient_Decl): Removed. | |
4082 | (Set_Status_Flag_Or_Transient_Decl): New routine. | |
4083 | (Status_Flag_Or_Transient_Decl): New routine. | |
4084 | (Write_Field15_Name): Update the output for variables and constants. | |
4085 | * einfo.ads: Remove attribute | |
4086 | Return_Flag_Or_Transient_Decl along with occurrences in nodes. | |
4087 | (Return_Flag_Or_Transient_Decl): Removed along with pragma Inline. | |
4088 | (Set_Return_Flag_Or_Transient_Decl): Removed along with pragma Inline. | |
4089 | (Set_Status_Flag_Or_Transient_Decl): New routine along with pragma | |
4090 | Inline. | |
4091 | (Status_Flag_Or_Transient_Decl): New routine along with pragma Inline. | |
4092 | * exp_ch4.adb (Create_Alternative): New routine. | |
4093 | (Expand_N_Conditional_Expression): Handle the case | |
4094 | where at least one of the conditional expression | |
4095 | alternatives prodices a controlled temporary by means of a function | |
4096 | call. | |
4097 | (Is_Controlled_Function_Call): New routine. | |
4098 | (Process_Transient_Object): Update the call to | |
4099 | Set_Return_Flag_Or_Transient_Decl. | |
4100 | * exp_ch6.adb (Enclosing_Context): New routine. | |
4101 | (Expand_N_Extended_Return_Statement): Update all calls to | |
4102 | Set_Return_Flag_Or_Transient_Decl. | |
4103 | (Expand_Ctrl_Function_Call): Prohibit the finalization of a controlled | |
4104 | function result when the context is a conditional expression. | |
4105 | * exp_ch7.adb (Process_Declarations): Update all calls to | |
4106 | Return_Flag_Or_Transient_Decl. Add processing for intermediate | |
4107 | results of conditional expressions where one of the alternatives | |
4108 | uses a controlled function call. | |
4109 | (Process_Object_Declaration): Update all calls to | |
4110 | Return_Flag_Or_Transient_Decl and rearrange the logic to process | |
4111 | "hook" objects first. | |
4112 | (Process_Transient_Objects): Update the call to | |
4113 | Set_Return_Flag_Or_Transient_Decl. | |
4114 | * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, | |
4115 | Boolean)): Update all calls to Return_Flag_Or_Transient_Decl. Add | |
4116 | detection for intermediate results of conditional expressions | |
4117 | where one of the alternatives uses a controlled function call. | |
4118 | ||
39854e56 | 4119 | 2012-06-13 Eric Botcazou <ebotcazou@adacore.com> |
ab19f7e4 | 4120 | |
39854e56 | 4121 | Revert |
4122 | 2012-05-19 Eric Botcazou <ebotcazou@adacore.com> | |
4123 | ||
4124 | * gcc-interface/decl.c (Has_Thiscall_Convention): New macro. | |
4125 | (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall | |
4126 | calling convention | |
4127 | (get_minimal_subprog_decl): Likewise. | |
4128 | (gnat_first_param_is_class): New predicate. | |
ab19f7e4 | 4129 | |
17631aa0 | 4130 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
4131 | ||
4132 | * gcc-interface/Make-lang.in: Update dependencies. | |
4133 | * sem_ch9.ads, einfo.adb, einfo.ads, sem_prag.adb, freeze.adb, | |
4134 | sem_util.adb, sem_ch13.adb, sem_ch13.ads, exp_ch3.adb: Add comments. | |
4135 | Minor reformatting. | |
4136 | ||
4137 | 2012-06-12 Ed Schonberg <schonberg@adacore.com> | |
4138 | ||
4139 | * sem_ch12.adb (Instantiate_Formal_Subprogram): Remove code that | |
4140 | implements AI05-0296, because the actual may be overloaded. | |
4141 | * sem_ch8.adb (Analyze_Subprogram_Renaming): and move it here, | |
4142 | to be applied once the actual subprogram is properly resolved. | |
4143 | ||
89f1e35c | 4144 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
4145 | ||
4146 | * switch-c.adb, a-exexpr-gcc.adb: Minor reformatting. | |
4147 | ||
4148 | 2012-06-12 Vincent Pucci <pucci@adacore.com> | |
4149 | ||
4150 | * checks.adb (Tag_Checks_Suppressed): Remove Kill_Tag_Checks check. | |
4151 | * einfo.adb (Universal_Aliasing): Apply to the implementation | |
4152 | base type instead of the base type. | |
4153 | (Get_Rep_Item_For_Entity): | |
4154 | Return a pragma if the pragma node is not present in the Rep | |
4155 | Item chain of the parent. | |
4156 | (Kill_Tag_Checks): Removed (unused flag). | |
4157 | (Set_Kill_Tag_Checks): Removed. | |
4158 | (Get_First_Rep_Item): New routine. | |
4159 | (Get_Rep_Pragma_For_Entity): New routine. | |
4160 | (Has_Rep_Item): New routine. | |
4161 | (Has_Rep_Pragma_For_Entity): New routine. | |
4162 | (Present_In_Rep_Item): New routine. | |
4163 | * einfo.ads (Kill_Tag_Checks): Removed. | |
4164 | (Set_Kill_Tag_Checks): Removed. | |
4165 | (Get_First_Rep_Item): New routine. | |
4166 | (Get_Rep_Pragma_For_Entity): New routine. | |
4167 | (Has_Rep_Item): New routine. | |
4168 | (Has_Rep_Pragma_For_Entity): New routine. | |
4169 | (Present_In_Rep_Item): New routine. | |
4170 | * exp_attr.adb, sem_attr.adb: Attribute_CPU, | |
4171 | Attribute_Dispatching_Domain and Attribute_Interrupt_Priority | |
4172 | case added. | |
4173 | * exp_ch13.adb (Expand_N_Attribute_Definition_Clause): For | |
4174 | attribute Storage_Size, insert the new assignement statement | |
4175 | after the Size variable declaration. | |
4176 | * exp_ch3.adb (Build_Init_Statements): Fill the CPU, | |
4177 | Dispatching_Domain, Priority and Size components with the Rep | |
4178 | Item expression (if any). | |
4179 | * exp_ch9.adb (Expand_N_Task_Type_Declaration): _CPU, | |
4180 | _Priority, _Domain fields are always present in the | |
4181 | corresponding record type. | |
4182 | (Find_Task_Or_Protected_Pragma): Removed. | |
4183 | (Get_Relative_Deadline_Pragma): New routine. | |
4184 | (Make_Initialize_Protection): Find_Task_Or_Protected_Pragma removed. | |
4185 | (Make_Task_Create_Call): Check CPU, Size or | |
4186 | Dispatching_Domain Rep Item is present using new routine Has_Rep_Item. | |
4187 | * freeze.adb (Freeze_All): Push_Scope_And_Install_Discriminants | |
4188 | and Uninstall_Discriminants_And_Pop_Scope calls added. | |
4189 | (Freeze_Entity): Evaluate_Aspects_At_Freeze_Point call added. | |
4190 | * sem_aux.adb (Nearest_Ancestor): Retrieve the nearest ancestor | |
4191 | for private derived types. | |
4192 | * sem_ch13.adb (Analyze_Aspect_Specifications): Clean-up | |
4193 | and reordering. Delay analysis for all aspects (except some | |
4194 | peculiar cases). | |
4195 | (Analyze_Attribute_Definition_Clause): | |
4196 | Attribute_CPU, Attribute_Dispatching_Domain, | |
4197 | Interrupt_Priority and Attribute_Priority cases added. | |
4198 | (Analyze_Freeze_Entity): Push_Scope_And_Install_Discriminants | |
4199 | and Uninstall_Discriminants_And_Pop_Scope calls added. | |
4200 | (Check_Aspect_At_Freeze_Point): Reordering and clean-up. | |
4201 | (Duplicate_Clause): Issue an explicit error msg when the current | |
4202 | clause duplicates an aspect specification, an attribute definition | |
4203 | clause or a pragma. | |
4204 | (Evaluate_Aspects_At_Freeze_Point): New routine. | |
4205 | * sem_ch13.ads (Evaluate_Aspects_At_Freeze_Point): New routine. | |
4206 | * sem_ch9.adb, sem_ch9.ads (Install_Discriminants): New routine. | |
4207 | (Push_Scope_And_Install_Discriminants): New routine. | |
4208 | (Uninstall_Discriminants): New routine. | |
4209 | (Uninstall_Discriminants_And_Pop_Scope): New routine. | |
4210 | * sem_prag.adb (Check_Duplicate_Pragma): Issue an explicit error | |
4211 | msg when the current pragma duplicates an aspect specification, | |
4212 | an attribute definition clause or a pragma. | |
4213 | (Analyze_Pragma): Remove use of flags Has_Pragma_CPU, | |
4214 | Has_Pragma_Priority and Has_Pragma_Dispatching_Domain. | |
4215 | * sem_util.adb (Compile_Time_Constraint_Error): Don't complain | |
4216 | about the type if the corresponding concurrent type doesn't come | |
4217 | from source. | |
4218 | * sinfo.adb, sinfo.ads (Has_Pragma_CPU): Removed. | |
4219 | (Has_Pragma_Dispatching_Domain): Removed. | |
4220 | (Has_Pragma_Priority): Removed. | |
4221 | (Has_Task_Info_Pragma): Removed. | |
4222 | (Has_Task_Name_Pragma): Removed. | |
4223 | (Set_Has_Pragma_CPU): Removed. | |
4224 | (Set_Has_Pragma_Dispatching_Domain): Removed. | |
4225 | (Set_Has_Pragma_Priority): Removed. | |
4226 | (Set_Has_Task_Info_Pragma): Removed. | |
4227 | (Set_Has_Task_Name_Pragma): Removed. | |
4228 | * snames.adb-tmpl (Get_Pragma_Id): Pragma_CPU, | |
4229 | Pragma_Dispatching_Domain and Pragma_Interrupt_Priority added. | |
4230 | (Is_Pragma_Name): Name_CPU, Name_Dispatching_Domain and | |
4231 | Name_Interrupt_Priority added. | |
4232 | * snames.ads-tmpl: Name_Dispatching_Domain, Name_CPU | |
4233 | and Name_Interrupt_Priority moved to the list of | |
4234 | Attribute_Name. Attribute_CPU, Attribute_Dispatching_Domain and | |
4235 | Attribute_Interrupt_Priority added. Pragma_Dispatching_Domain, | |
4236 | Pragma_CPU and Pragma_Interrupt_Priority moved to the end of | |
4237 | the Pragma_Name list. | |
4238 | ||
a5e7b481 | 4239 | 2012-06-12 Arnaud Charlet <charlet@adacore.com> |
4240 | ||
4241 | * xref_lib.adb (Get_Full_Type): Add support for 'G'. | |
4242 | ||
4243 | 2012-06-12 Tristan Gingold <gingold@adacore.com> | |
4244 | ||
4245 | * a-exexpr-gcc.adb (Unwind_Exception): Add 4 more private fields. | |
4246 | ||
4247 | 2012-06-12 Fedor Rybin <frybin@adacore.com> | |
4248 | ||
4249 | * gnat_ugn.texi: Update doc on gnattest. | |
4250 | ||
4251 | 2012-06-12 Robert Dewar <dewar@adacore.com> | |
4252 | ||
4253 | * sem_ch12.adb: Add comments. | |
4254 | ||
3e031dbf | 4255 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
4256 | ||
4257 | * switch-c.adb, inline.adb, usage.adb, opt.ads: Minor reformatting. | |
4258 | ||
6a8773aa | 4259 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
4260 | ||
4261 | * sem_ch12.adb: Minor reformatting. | |
4262 | ||
4263 | 2012-06-12 Eric Botcazou <ebotcazou@adacore.com> | |
4264 | ||
4265 | * opt.ads (Inline_Level): New variable. | |
4266 | * gnat1drv.adb (Adjust_Global_Switches): Set it based on optimization | |
4267 | level if it has not been set by the user. | |
4268 | * switch-c.adb (Scan_Front_End_Switches): Accept -gnatn1 and -gnatn2 | |
4269 | and set Inline_Level accordingly. | |
4270 | * inline.adb (Add_Inlined_Body): Declate new Inline_Level_Type type. | |
4271 | (Must_Inline): Return Inline_Level_T instead of Boolean to indicate | |
4272 | whether the package of the inlined subprogram must be compiled. | |
4273 | If Inline_Level is set to 1, only compile packages of subprograms | |
4274 | directly called from the main unit. | |
4275 | * usage.adb (Usage): Adjust line for -gnatn switch. | |
4276 | * gnat_ugn.texi (Switches for gcc): Document -gnatn1 and -gnatn2. | |
4277 | ||
56381e22 | 4278 | 2012-06-12 Ed Schonberg <schonberg@adacore.com> |
4279 | ||
4280 | * sem_ch12.adb (Instantiate_Formal_Subprogram): Do not apply | |
4281 | AI05-296 if the actual is overloaded. In this case The rule must | |
4282 | be applied after resolution, in Analyze_Subprogram_Renaming. | |
4283 | ||
a96d5239 | 4284 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
4285 | ||
4286 | * stringt.adb: Minor reformatting. | |
4287 | ||
4288 | 2012-06-12 Robert Dewar <dewar@adacore.com> | |
4289 | ||
4290 | * ali-util.adb, stringt.ads: Minor reformatting. | |
4291 | ||
4292 | 2012-06-12 Hristian Kirtchev <kirtchev@adacore.com> | |
4293 | ||
4294 | * exp_ch7.adb (Process_Declarations): Handle the case where | |
4295 | the original context has been wrapped in a block to avoid | |
4296 | interference between exception handlers and At_End handlers. | |
4297 | (Wrap_HSS_In_Block): Mark the block which contains the original | |
4298 | statements of the context as being a finalization wrapper. | |
4299 | * sinfo.adb (Is_Finalization_Wrapper): New routine. | |
4300 | (Set_Is_Finalization_Wrapper): New routine. | |
4301 | ||
4302 | * sinfo.ads: Add new attribute Is_Finalization_Wrapper applicable | |
4303 | to block statemnts. | |
4304 | (Is_Finalization_Wrapper): New routine with corresponding pragma Inline. | |
4305 | (Set_Is_Finalization_Wrapper): New routine with corresponding pragma | |
4306 | Inline. | |
4307 | ||
4308 | 2012-06-12 Steve Baird <baird@adacore.com> | |
4309 | ||
4310 | * gnat1drv.adb (Adjust_Global_Switches): No longer need to set | |
4311 | Exception_Extra_Info in CodePeer_Mode. | |
4312 | ||
37d19a65 | 4313 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
4314 | ||
4315 | * sem_dist.adb, exp_ch7.adb, sem_type.adb, exp_attr.adb, | |
4316 | sinfo.ads, sem_ch7.adb, exp_alfa.adb, sem_scil.adb, sem_ch12.adb, | |
4317 | sem_util.adb, sem_res.adb, sem_attr.adb, sem_elab.adb, exp_ch6.adb, | |
4318 | sem_ch4.adb, sem_warn.adb, scil_ll.adb, exp_cg.adb: Minor code | |
4319 | reorganization. | |
4320 | ||
4321 | 2012-06-12 Eric Botcazou <ebotcazou@adacore.com> | |
4322 | ||
4323 | * s-tasini.ads: Minor fix in comment. | |
4324 | ||
4325 | 2012-06-12 Thomas Quinot <quinot@adacore.com> | |
4326 | ||
4327 | * freeze.adb (Freeze_Record_Type): Warn on record with | |
4328 | Scalar_Storage_Order if there is no placed component. | |
4329 | ||
4330 | 2012-06-12 Thomas Quinot <quinot@adacore.com> | |
4331 | ||
4332 | * sem_ch3.adb: Minor comment fix. | |
4333 | ||
4334 | 2012-06-12 Vincent Celier <celier@adacore.com> | |
4335 | ||
4336 | * ali-util.adb (Time_Stamp_Mismatch): In minimal recompilation | |
4337 | mode, use Stringt Mark and Release to avoid growing the Stringt | |
4338 | internal tables uselessly. | |
4339 | * stringt.adb (Strings_Last): New global variable | |
4340 | (String_Chars_Last): New global variable. | |
4341 | (Mark, Release): New procedures. | |
4342 | * stringt.ads (Mark, Release) New procedures. | |
4343 | ||
f0224186 | 4344 | 2012-06-12 Hristian Kirtchev <kirtchev@adacore.com> |
4345 | ||
4346 | * exp_ch7.adb (Process_Transient_Objects): Renamed constant | |
4347 | Requires_Hooking to Must_Hook and replace all occurrences of the name. | |
4348 | (Requires_Hooking): New routine. Detect all contexts that require | |
4349 | transient variable export to the outer finalizer due to a potential | |
4350 | exception. | |
4351 | ||
73c6a422 | 4352 | 2012-06-12 Ed Schonberg <schonberg@adacore.com> |
4353 | ||
4354 | * sem_ch12.adb: Small adjustment. | |
4355 | ||
4356 | 2012-06-12 Vincent Celier <celier@adacore.com> | |
4357 | ||
4358 | * vms_cmds.ads (Command_Type): New enumeration value Test | |
4359 | * vms_conv.adb (Initialize): Add component at index Test in | |
4360 | Command_List | |
4361 | * vms_data.ads (Test_Switches): New global variable for the | |
4362 | switches of gnattest, currently empty. | |
4363 | ||
eb827c82 | 4364 | 2012-06-12 Ed Schonberg <schonberg@adacore.com> |
4365 | ||
4366 | * sem_ch3.adb (Analyze_Subtype_Declaration): if an incomplete | |
4367 | type is tagged, so is a subtype of it. | |
4368 | * sem_ch12.adb (Validate_Actual_Subprogram): implement AI05-0296, | |
4369 | concerning freeze rules in the presence of formal incomplete | |
4370 | types: a formal abstract subprogram cannot have an incomplete | |
4371 | controlling type, and the profile of the actual subprogram does | |
4372 | not freeze if it includes an incomplete untagged type. | |
4373 | ||
41d55ffb | 4374 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
4375 | ||
4376 | * a-direct.adb: Minor reformatting. | |
4377 | ||
4378 | 2012-06-12 Robert Dewar <dewar@adacore.com> | |
4379 | ||
4380 | * gnat_ugn.texi: Add missing documentation for -gnatw.v and | |
4381 | -gnatw.V. | |
4382 | ||
4383 | 2012-06-12 Thomas Quinot <quinot@adacore.com> | |
4384 | ||
4385 | * sem_ch7.adb, sem_prag.adb, sem_ch12.adb, sem_ch4.adb, | |
4386 | sem_ch13.adb: Minor rewording of error messages for unchecked unions. | |
4387 | ||
1d8c4b77 | 4388 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
4389 | ||
4390 | * lib-xref.ads: Minor reformatting. | |
4391 | ||
4392 | 2012-06-12 Pascal Obry <obry@adacore.com> | |
4393 | ||
4394 | * a-direct.adb (Delete_File): Delete symbolic links silently | |
4395 | instead of raising the Name_Error exception when the symbolic | |
4396 | link is pointing to a non existent file. | |
4397 | ||
b11ac6d5 | 4398 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
4399 | ||
4400 | * xref_lib.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting. | |
4401 | ||
4402 | 2012-06-12 Javier Miranda <miranda@adacore.com> | |
4403 | ||
4404 | * lib-xref.ads Adding missing documentation. | |
4405 | ||
fc211e7d | 4406 | 2012-06-12 Hristian Kirtchev <kirtchev@adacore.com> |
4407 | ||
4408 | * exp_ch7.adb (Create_Finalizer): Add the | |
4409 | exception reraise mechanism at the very end of the finalizer | |
4410 | statements. This placement ensures that all objects are finalized, | |
4411 | the secondary stack mark released and aborts undeferred before | |
4412 | propagating an exception. | |
4413 | ||
4414 | 2012-06-12 Ed Schonberg <schonberg@adacore.com> | |
4415 | ||
4416 | * sem_ch10.adb (Remove_Unit_From_Visibility): if the unit is a | |
4417 | wrapper package. remove from visibility the original subprogram | |
4418 | instance. | |
4419 | ||
4420 | 2012-06-12 Javier Miranda <miranda@adacore.com> | |
4421 | ||
4422 | * sem_prag.adb (Process_Convention): Generate reference to entity | |
4423 | exported to foreign language. Needed for GPS navigation. | |
4424 | * xref_lib.adb (Parse_Identifier_Info): Parse exported entities. | |
4425 | * lib-xref (Output_References): Output exported entities. | |
4426 | ||
4427 | 2012-06-12 Pascal Obry <obry@adacore.com> | |
4428 | ||
4429 | * prj-attr.adb: Add install package and corresponding attributes. | |
4430 | * snames.ads-tmpl (Name_Active): New constant. | |
4431 | (Name_Exec_Subdir): Likewise. | |
4432 | (Name_Install): Likewise. | |
4433 | (Name_Lib_Subdir): Likewise. | |
4434 | (Name_Project_Subdir): Likewise. | |
4435 | (Name_Sources_Subdir): Likewise. | |
4436 | ||
4437 | 2012-06-12 Bob Duff <duff@adacore.com> | |
4438 | ||
4439 | * sem_res.adb (Check_Infinite_Recursion): | |
4440 | Suppress spurious warning on recursion after "raise with ...". | |
4441 | ||
608b54ce | 4442 | 2012-06-12 Thomas Quinot <quinot@adacore.com> |
4443 | ||
4444 | * sem_prag.adb (Analyze_Pragma, case Unchecked_Union): Do | |
4445 | not crash on illegal unchecked union that is a null record. | |
4446 | ||
4447 | 2012-06-12 Thomas Quinot <quinot@adacore.com> | |
4448 | ||
4449 | * exp_ch4.adb (Has_Inferable_Discriminants): Reorganize code to | |
4450 | treat implicit dereferences with a constrained unchecked union | |
4451 | nominal subtype as having inferable discriminants. | |
4452 | ||
b6a174b7 | 4453 | 2012-06-12 Robert Dewar <dewar@adacore.com> |
4454 | ||
4455 | * sem_ch6.adb: Minor reformatting. | |
4456 | ||
4457 | 2012-06-12 Eric Botcazou <ebotcazou@adacore.com> | |
4458 | ||
4459 | * gnat_ugn.texi: Couple of minor corrections. | |
4460 | ||
4461 | 2012-06-12 Thomas Quinot <quinot@adacore.com> | |
4462 | ||
4463 | * sem_prag.adb (Check_Variant): An empty component list is not | |
4464 | illegal in an unchecked union variant. | |
4465 | ||
5bf9d771 | 4466 | 2012-06-12 Gary Dismukes <dismukes@adacore.com> |
4467 | ||
4468 | * projects.texi: Remove comments. | |
4469 | ||
4470 | 2012-06-12 Thomas Quinot <quinot@adacore.com> | |
4471 | ||
4472 | * back_end.adb (Scan_Back_End_Switches): Treat -fdump-scos as | |
4473 | synonym of -gnateS. | |
4474 | (gnat_post_options): Disable gimple-based SCO generator. | |
4475 | * gnat_ugn.texi: Document that -gnateS is an obsolete synonym | |
4476 | of -fdump-scos. | |
4477 | ||
4478 | 2012-06-12 Ed Schonberg <schonberg@adacore.com> | |
4479 | ||
4480 | * sem_ch6.adb (Different_Generic_Profile): new predicate for | |
4481 | Find_Corresponding_Spec, to handle a rare case of accidental | |
4482 | overloading in an instance, when the profile of a subprogram body | |
4483 | that depends on a formal type becomes compatible with that of | |
4484 | a homonym whose profile in the generic mentions the actual type. | |
4485 | ||
4486 | 2012-06-12 Thomas Quinot <quinot@adacore.com> | |
4487 | ||
4488 | * gnat1drv.adb: Minor reformatting. | |
4489 | ||
f4f8b6b5 | 4490 | 2012-06-12 Ed Schonberg <schonberg@adacore.com> |
4491 | ||
4492 | * sem_util.adb (Build_Explicit_Dereference): If the expression | |
4493 | is an entity, ensure that the type of the expression is the same | |
4494 | as that of the entity. | |
4495 | ||
4496 | 2012-06-12 Pat Rogers <rogers@adacore.com> | |
4497 | ||
4498 | * projects.texi: Corrected instances of the word "build" that | |
4499 | should be "built" instead. Other similar changes and minor | |
4500 | punctuation changes. | |
4501 | ||
a5a64273 | 4502 | 2012-06-12 Eric Botcazou <ebotcazou@adacore.com> |
4503 | ||
4504 | * sem_util.adb (Is_Atomic_Object): Return true for an atomic | |
4505 | component as well as a prefix which is an atomic component. | |
4506 | ||
4507 | 2012-06-12 Ed Schonberg <schonberg@adacore.com> | |
4508 | ||
4509 | * exp_prag.adb (Expand_Pragma_Import_Or_Interface): revert previous | |
4510 | patch. The processing of interfacing aspects now generates a | |
4511 | proper Ada 2005 pragma. | |
4512 | * sem_prag.adb (Analyze_Pragma, cases Pragma_Export and | |
4513 | Pragma_Import): revert previous patch. The processing of | |
4514 | interfacing aspects now generates a proper Ada 2005 pragma. | |
4515 | * sem_ch13.adb (Analyze_Aspect_Specifications): generate proper | |
4516 | pragam for aspects Convention, Import and Export. Scan list | |
4517 | of aspects to collect link name and external name if present, | |
4518 | and verify that a complete pragma can be generated. | |
4519 | ||
39854e56 | 4520 | 2012-06-11 Olivier Hainque <hainque@adacore.com> |
4521 | ||
4522 | * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Remove | |
4523 | $(PIC_FLAG_FOR_TARGET). | |
4524 | (gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to | |
4525 | GNATLIBCFLAGS_FOR_C passed to gnatlib. | |
4526 | (gnatlib-shared-win32): Likewise. | |
4527 | (gnatlib-shared-darwin): Likewise. | |
4528 | (gnatlib-shared-dual-win32): Pass PIC_FLAG_FOR_TARGET to | |
4529 | gnatlib-shared-win32. | |
4530 | ||
7016287f | 4531 | 2012-06-11 Eric Botcazou <ebotcazou@adacore.com> |
4532 | ||
4533 | * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Convert GNU_SIZE | |
4534 | to units before invoking allocatable_size_p on it. | |
4535 | Remove orphaned comment. Do not use ssize_int. | |
4536 | <E_Record_Subtype>: Traverse list in original order. Minor tweak. | |
4537 | (allocatable_size_p): Adjust and simplify. | |
4538 | (build_subst_list): Use consistent terminology throughout. | |
4539 | (build_variant_list): Likewise. Traverse list in original order. | |
4540 | (create_field_decl_from): Likewise. | |
4541 | (copy_and_substitute_in_size): Likewise. | |
4542 | (create_variant_part_from): Add comment about field list order. | |
4543 | * gcc-interface/utils.c (build_vms_descriptor): Do not use ssize_int. | |
4544 | * gcc-interface/utils2.c (build_allocator): Likewise. | |
4545 | ||
e45f3812 | 4546 | 2012-06-11 Eric Botcazou <ebotcazou@adacore.com> |
4547 | ||
4548 | * gcc-interface/trans.c (Identifier_to_gnu): Test Is_Elementary_Type | |
4549 | instead of Is_Scalar_Type for a constant with an address clause. | |
4550 | Do not return the underlying constant for a constant used by reference | |
4551 | if it holds the address of a constant and an lvalue is required. | |
4552 | ||
f29f9ff7 | 4553 | 2012-06-11 Eric Botcazou <ebotcazou@adacore.com> |
4554 | ||
4555 | * gcc-interface/decl.c (gnat_to_gnu_entity): Do not specifically deal | |
4556 | with external constants wrt force_global here... | |
4557 | <E_Constant>: ...but here instead. | |
4558 | * gcc-interface/utils.c (gnat_pushdecl): Do not put external DECLs onto | |
4559 | the list of global DECLs. | |
4560 | ||
5382f1dd | 4561 | 2012-06-11 Eric Botcazou <ebotcazou@adacore.com> |
4562 | ||
4563 | * gcc-interface/decl.c (gnat_to_gnu_entity): Translate the Esize on | |
4564 | entry only for elementary types and abort if it is too large. | |
4565 | <E_Record_Type>: Make sure the Esize is known before using it. | |
4566 | ||
dff12c10 | 4567 | 2012-06-04 Steven Bosscher <steven@gcc.gnu.org> |
4568 | ||
4569 | * gcc-interface/utils2.c: Do not include output.h. | |
4570 | * gcc-interface/Make-lang.in: Fix dependencies. | |
4571 | ||
7843e4bc | 4572 | 2012-05-29 Michael Matz <matz@suse.de> |
4573 | ||
4574 | * gcc-interface/utils.c (create_var_decl_1): Don't call expand_decl. | |
4575 | ||
b429b8a7 | 4576 | 2012-05-26 Eric Botcazou <ebotcazou@adacore.com> |
4577 | ||
4578 | * gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'. | |
4579 | (build_variant_list): Adjust to above renaming. | |
4580 | (gnat_to_gnu_entity) <E_Record_Subtype>: Likewise. Give a unique name | |
4581 | to the type of the variant containers. | |
4582 | (create_variant_part_from): Likewise. Give a unique name to the type | |
4583 | of the variant part. | |
4584 | ||
8ffcff2e | 4585 | 2012-05-25 Eric Botcazou <ebotcazou@adacore.com> |
4586 | ||
4587 | PR ada/52362 | |
4588 | * link.c (__gnat_object_file_option): Set to "-Wl,@" for GNU linker. | |
4589 | (__gnat_using_gnu_linker): Delete. | |
4590 | * gnatlink.adb (Gnatlink): Declare Object_File_Option_Ptr here... | |
4591 | Declare Object_File_Option string constant and Using_GNU_response_file | |
4592 | boolean constant. | |
be3c7aa1 | 4593 | (Process_Binder_File): ...instead of here. Delete Using_GNU_Linker, |
4594 | Opening and Closing local variables. Do not handle the GNU linker | |
8ffcff2e | 4595 | specially. |
be3c7aa1 | 4596 | (Write_RF): New procedure to write into the response file. Escape some |
4597 | characters if a GNU response file is used. Keep track of error status. | |
4598 | Invoke Write_RF to write into the response file. Delete the file only | |
8ffcff2e | 4599 | if the link was successful. |
4600 | * mlib-utl.adb: Do not `with' package System. | |
be3c7aa1 | 4601 | (Gcc): Likewise. Declare Object_File_Option string constant and |
8ffcff2e | 4602 | Using_GNU_response_file boolean constant. |
be3c7aa1 | 4603 | (Write_RF): Take a string instead of address and length. Escape some |
8ffcff2e | 4604 | characters if a GNU response file is used. |
be3c7aa1 | 4605 | Invoke Write_RF to write into the response file. Delete the file only |
4606 | if the link was successful. Do not warn if it cannot be deleted. | |
8ffcff2e | 4607 | |
a7688838 | 4608 | 2012-05-20 Eric Botcazou <ebotcazou@adacore.com> |
4609 | ||
4610 | * gcc-interface/utils.c (gnat_write_global_declarations): Put a name | |
4611 | on the dummy global variable. | |
4612 | ||
20a8df10 | 4613 | 2012-05-19 Eric Botcazou <ebotcazou@adacore.com> |
4614 | ||
4615 | * gcc-interface/decl.c (Has_Thiscall_Convention): New macro. | |
4616 | (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall | |
4617 | calling convention | |
4618 | (get_minimal_subprog_decl): Likewise. | |
4619 | (gnat_first_param_is_class): New predicate. | |
4620 | ||
4621 | * gcc-interface/misc.c (gnat_handle_option): Fix formatting. | |
4622 | * gcc-interface/Makefile.in: Likewise. | |
4623 | ||
4b1fdfcc | 4624 | 2012-05-18 Eric Botcazou <ebotcazou@adacore.com> |
4625 | ||
4626 | * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an object at | |
4627 | global level with unconstrained nominal subtype and a non-fixed size, | |
4628 | make a variable for the size. | |
4629 | ||
5b4a2ac8 | 4630 | 2012-05-15 Andris Pavenis <andris.pavenis@iki.fi> |
4631 | ||
4632 | PR ada/52494 | |
4633 | * s-taprop-dummy.adb (Specific): New package. | |
4634 | ||
0b105f04 | 4635 | 2012-05-15 Olivier Hainque <hainque@adacore.com> |
4636 | ||
4637 | * gcc-interface/Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS | |
4638 | instead of trying to mimic it. | |
4639 | ||
7eb0e22f | 4640 | 2012-05-15 Robert Dewar <dewar@adacore.com> |
4641 | ||
4642 | * sem_ch5.adb, sem_util.adb, s-stposu.adb, exp_ch4.adb: Minor | |
4643 | reformatting. | |
4644 | ||
4645 | 2012-05-15 Geert Bosch <bosch@adacore.com> | |
4646 | ||
4647 | * uintp.adb (UI_Rem): Remove optimizations, as they are complex and are | |
4648 | not needed. | |
4649 | (Sum_Digits): Remove, no longer used. | |
4650 | (Sum_Double_Digits): Likewise. | |
4651 | ||
4652 | 2012-05-15 Yannick Moy <moy@adacore.com> | |
4653 | ||
4654 | * aspects.ads: Minor typo. | |
4655 | ||
4656 | 2012-05-15 Thomas Quinot <quinot@adacore.com> | |
4657 | ||
4658 | * gnat_rm.texi (Scalar_Storage_Order): Fix RM reference. | |
4659 | * sem_ch13.adb: Minor comment fix: incorrect RM reference. | |
4660 | ||
4661 | 2012-05-15 Eric Botcazou <ebotcazou@adacore.com> | |
4662 | ||
4663 | * sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate | |
4664 | atomicity from an object to its underlying type only if it | |
4665 | is composite. | |
4666 | ||
18923d61 | 4667 | 2012-05-15 Ed Schonberg <schonberg@adacore.com> |
4668 | ||
4669 | * sem_ch5.adb (Analyze_Iterator_Specification): Set kind of | |
4670 | loop variable after pre-analysis of iterator name, to prevent | |
4671 | premature usage of loop variable. | |
4672 | ||
4673 | 2012-05-15 Ed Schonberg <schonberg@adacore.com> | |
4674 | ||
4675 | * sem_util.adb (Is_Variable): In Ada 2012, an explicit | |
4676 | dereference that is a rewriting of an expression whose type has | |
4677 | a declared Implicit_Derenference aspect is a variable. | |
4678 | ||
30d0732d | 4679 | 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com> |
4680 | ||
4681 | * exp_ch4.adb (Insert_Dereference_Action): Reimplemented. The | |
4682 | routine performs address and size adjustments for dereferences | |
4683 | of heap-allocated controlled objects. This manipulation is needed | |
4684 | in order to restore the original state of the memory at the time | |
4685 | it was allocated by the finalization machinery. | |
4686 | * rtsfind.ads: Add RE_Adjust_Controlled_Dereference to tables | |
4687 | RE_Id and RE_Unit_Table. | |
4688 | * sinfo.adb (Has_Dereference_Action): New routine. | |
4689 | (Set_Has_Dereference_Action): New routine. | |
4690 | * sinfo.ads: Add new semantic flag Has_Dereference_Action along | |
4691 | its association in nodes. | |
4692 | (Has_Dereference_Action): New routine and pragma Inline. | |
4693 | (Set_Has_Dereference_Action): New routine and pragma Inline. | |
4694 | * s-stposu.ads, s-stposu.adb (Adjust_Controlled_Dereference): New | |
4695 | routine. | |
4696 | ||
b98fca2b | 4697 | 2012-05-15 Thomas Quinot <quinot@adacore.com> |
4698 | ||
4699 | * uintp.adb (Image_Uint): Use UI_Div_Rem to get quotient and | |
4700 | remainder of U / Base in a single operation. | |
4701 | ||
4702 | 2012-05-15 Robert Dewar <dewar@adacore.com> | |
4703 | ||
4704 | * exp_ch5.adb, inline.adb, sem_ch10.adb, prj.ads, sem_util.adb, | |
4705 | a-ngelfu.ads, exp_ch4.adb, exp_ch6.adb, aspects.ads, sem_ch6.adb, | |
4706 | vms_data.ads, exp_ch3.adb, prj-env.adb: Minor reformatting. | |
4707 | ||
7dc534ca | 4708 | 2012-05-15 Thomas Quinot <quinot@adacore.com> |
4709 | ||
4710 | * exp_ch4.adb (Has_Inferable_Discriminants): For a qualified | |
4711 | expression, use correct node for test on the subtype denoted by | |
4712 | the subtype mark. | |
4713 | ||
4714 | 2012-05-15 Eric Botcazou <ebotcazou@adacore.com> | |
4715 | ||
4716 | * inline.adb (Scope_In_Main_Unit): Rename into... | |
4717 | (In_Main_Unit_Or_Subunit): ...this. Also return | |
4718 | true if the subprogram is within a subunit of the | |
4719 | main unit. | |
4720 | (Add_Inlined_Body): Adjust for above renaming. | |
4721 | (Add_Inlined_Subprogram): Likewise. Pass the subprogram directly. | |
4722 | (Analyze_Inlined_Bodies): Really set aside inlined subprograms | |
4723 | not handled by Add_Inlined_Body. | |
4724 | ||
984d005d | 4725 | 2012-05-15 Ed Schonberg <schonberg@adacore.com> |
4726 | ||
4727 | * sem_ch10.adb (Expand_With_Clause): In the context of a generic | |
4728 | package declaration, a private with-clause on a child unit implies | |
4729 | that the implicit with clauses on its parents are private as well. | |
4730 | ||
4731 | 2012-05-15 Javier Miranda <miranda@adacore.com> | |
4732 | ||
4733 | * sem_ch6.adb (Is_Interface_Conformant): Add missing call to | |
4734 | Base_Type to handle subtypes. | |
4735 | * exp_ch6.adb (Expand_Call): For calls located in thunks handle | |
4736 | unchecked conversions of access types found in actuals. | |
4737 | * exp_disp.adb (Expand_Interface_Thunk): Add missing unchecked | |
4738 | conversion to actuals whose type is an access type. Done to | |
4739 | avoid reporting spurious errors. | |
4740 | ||
4741 | 2012-05-15 Vincent Celier <celier@adacore.com> | |
4742 | ||
4743 | * prj-env.adb (Create_Mapping): Ignore sources that are | |
4744 | suppressed (Create_Mapping_File.Process): Ditto | |
4745 | * prj-nmsc.adb (Add_Source): Update to take into | |
4746 | account suppressed files that may hide inherited sources. | |
4747 | (Mark_Excluded_Sources): Mark excluded sources of the current | |
4748 | project as suppressed. | |
4749 | * prj.ads (Source_Data): New Boolean component Suppressed, | |
4750 | defaulted to False | |
4751 | ||
4752 | 2012-05-15 Thomas Quinot <quinot@adacore.com> | |
4753 | ||
4754 | * exp_intr.adb: Minor reformatting. | |
4755 | ||
4756 | 2012-05-15 Thomas Quinot <quinot@adacore.com> | |
4757 | ||
4758 | * gnat_rm.texi: Document attribute Scalar_Storage_Order. | |
4759 | ||
4760 | 2012-05-15 Javier Miranda <miranda@adacore.com> | |
4761 | ||
4762 | * exp_ch3.adb (Build_Offset_To_Top): Modify the | |
4763 | expansion of the offset_to_top functions to ensure that their | |
4764 | profile is conformant with the profile specified in Ada.Tags. No | |
4765 | change in functionality. | |
4766 | ||
4767 | 2012-05-15 Eric Botcazou <ebotcazou@adacore.com> | |
4768 | ||
4769 | * inline.adb (Subp_Info): Remove Count and Next_Nopred | |
4770 | components, add Processed component and move around Next component. | |
4771 | (Add_Call): Reverse meaning of Successors table to the natural one. | |
4772 | (Add_Inlined_Body): Do not inline a package if it is in the main unit. | |
4773 | (Add_Inlined_Subprogram): Do not add the subprogram to the list if the | |
4774 | package is in the main unit. Do not recurse on the successors. | |
4775 | (Add_Subp): Adjust to new contents of Subp_Info. | |
4776 | (Analyze_Inlined_Bodies): Do not attempt | |
4777 | to compute a topological order on the list of inlined subprograms, | |
4778 | but compute the transitive closure from the main unit instead. | |
4779 | (Get_Code_Unit_Entity): Always return the spec for a package. | |
4780 | ||
77416989 | 4781 | 2012-05-15 Yannick Moy <moy@adacore.com> |
4782 | ||
4783 | * aspects.ads: Minor addition of comments to provide info on | |
4784 | how to add new aspects. | |
4785 | ||
4786 | 2012-05-15 Thomas Quinot <quinot@adacore.com> | |
4787 | ||
4788 | * osint.ads: Minor reformatting. | |
4789 | ||
4790 | 2012-05-15 Thomas Quinot <quinot@adacore.com> | |
4791 | ||
4792 | * exp_ch5.adb, exp_pakd.adb, sem_util.adb, sem_util.ads | |
4793 | (Expand_Assign_Array): Handle the case of a packed bit array within a | |
4794 | record with reverse storage order (assign element by element in that | |
4795 | case). | |
4796 | (In_Reverse_Storage_Order_Record): New subprogram, | |
4797 | code extracted from Exp_Pakd. | |
4798 | ||
4799 | 2012-05-15 Yannick Moy <moy@adacore.com> | |
4800 | ||
4801 | * a-ngelfu.ads: Add postconditions using Ada 2012 | |
4802 | aspect syntax, reflecting some of the RM requirements for these | |
4803 | functions, from Annex A.5.1 or G.2.4. | |
4804 | ||
4805 | 2012-05-15 Thomas Quinot <quinot@adacore.com> | |
4806 | ||
4807 | * adaint.c: Minor fix: move misplaced comment. | |
4808 | ||
4809 | 2012-05-15 Doug Rupp <rupp@adacore.com> | |
4810 | ||
4811 | * vms_data.ads: Enhance help for /IMMEDIATE_ERRORS to discourage | |
4812 | use by customers. | |
4813 | ||
e1cedbae | 4814 | 2012-05-15 Tristan Gingold <gingold@adacore.com> |
4815 | ||
4816 | * a-exextr.adb: Add comment. | |
4817 | ||
4818 | 2012-05-15 Ed Schonberg <schonberg@adacore.com> | |
4819 | ||
4820 | * sem_ch3.adb: Minor reformatting (remove long dead code). | |
4821 | ||
4822 | 2012-05-15 Ed Schonberg <schonberg@adacore.com> | |
4823 | ||
4824 | * aspects.adb, aspects.ads: Add aspects for Convention, Export, | |
4825 | External_Name, Import, and Link_Name. | |
4826 | * exp_prag.adb (Expand_Pragma_Import_Or_Interface): if the | |
4827 | pragma comes from an aspect specification, the entity is the | |
4828 | first argument. | |
4829 | * sem_prag.adb (Analyze_Pragma, cases Pragma_Export and | |
4830 | Pragma_Import): if the pragma comes from an aspect specification, | |
4831 | the entity is the first argument, and the second has the value | |
4832 | True by default. | |
4833 | * sem_ch13.adb (Analyze_Aspect_Specifications): generate pragam | |
4834 | for aspect Convention. Add placeholders for Link_Name and | |
4835 | External_Name. | |
4836 | ||
0703c8dc | 4837 | 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com> |
4838 | ||
4839 | * exp_ch9.adb (Expand_N_Asynchronous_Select): Extract the statements | |
4840 | of the abortable part and triggering alternative after being processed | |
4841 | for controlled objects. | |
4842 | (Expand_N_Timed_Entry_Call): Code and comment reformatting. | |
4843 | ||
4844 | 2012-05-15 Robert Dewar <dewar@adacore.com> | |
4845 | ||
4846 | * sem_util.adb: Minor code reorganization. | |
4847 | ||
6121886e | 4848 | 2012-05-15 Robert Dewar <dewar@adacore.com> |
4849 | ||
4850 | * exp_ch7.adb, exp_ch11.adb, exp_ch11.ads: Minor reformatting. | |
4851 | ||
4852 | 2012-05-15 Thomas Quinot <quinot@adacore.com> | |
4853 | ||
4854 | * sem_res.adb (Resolve): Enforce E.2.2(11/2) and E.2.2(12) for | |
4855 | 'Unrestricted_Access and 'Unchecked_Access (not just 'Access): | |
4856 | even in those cases, a remote access type may only designate a | |
4857 | remote subprogram. | |
4858 | ||
4859 | 2012-05-15 Thomas Quinot <quinot@adacore.com> | |
4860 | ||
4861 | * sem_util.adb, sem_util.ads, sem_cat.adb: Minor refactoring. | |
4862 | (Enclosing_Lib_Unit_Node): Rename to Enclosing_Comp_Unit_Node. | |
4863 | ||
4864 | 2012-05-15 Ed Schonberg <schonberg@adacore.com> | |
4865 | ||
4866 | * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove obsolete | |
4867 | checks on nested inlined subprograms. | |
4868 | ||
4869 | 2012-05-15 Tristan Gingold <gingold@adacore.com> | |
4870 | ||
4871 | * fe.h (Get_RT_Exception_Name): Declare. | |
4872 | ||
4873 | 2012-05-15 Tristan Gingold <gingold@adacore.com> | |
4874 | ||
4875 | * raise-gcc.c (db_region_for): Use %p + cast to avoid warnings. | |
4876 | (get_region_description_for): Likewise. | |
4877 | (db_action_for): Likewise. | |
4878 | (get_call_site_action_for): Likewise. | |
4879 | (get_ttype_entry_for): Remove useless 'const'. | |
4880 | (PERSONALITY_FUNCTION): Add ATTRIBUTE_UNUSED on uw_exception_class. | |
4881 | ||
4882 | 2012-05-15 Tristan Gingold <gingold@adacore.com> | |
4883 | ||
4884 | * a-exextr.adb (Unhandled_Exception_Terminate): Save occurrence | |
4885 | on the stack to avoid a dynamic memory allocation. | |
4886 | ||
4887 | 2012-05-15 Bob Duff <duff@adacore.com> | |
4888 | ||
4889 | * exp_ch9.adb (Expand_N_Timed_Entry_Call): Move initialization of | |
4890 | E_Stats and D_Stats after Process_Statements_For_Controlled_Objects, | |
4891 | because those calls can destroy the Statements list. | |
4892 | ||
f92ebffb | 4893 | 2012-05-15 Tristan Gingold <gingold@adacore.com> |
4894 | ||
4895 | * fe.h (Get_RT_Exception_Name): Define. | |
4896 | * types.ads (RT_Exception_Code): Update comment. | |
4897 | * exp_ch11.adb, exp_ch11.ads (Get_RT_Exception_Name): New | |
4898 | procedure to get the name of the rcheck subprograms. | |
4899 | * a-except-2005.adb (Rcheck_xx): Rename. | |
4900 | * a-except.adb Likewise, but also keep the old Rcheck_nn routines | |
4901 | for bootstrap. | |
4902 | * arith64.c (__gnat_mulv64): Use __gnat_rcheck_CE_Overflow_Check | |
4903 | instead of __gnat_rcheck_10. | |
4904 | * gcc-interface/trans.c (build_raise_check): Use Get_RT_Exception_Name | |
4905 | to create the __gnat_rcheck routines name. | |
4906 | * gcc-interface/Make-lang.in: Update dependencies. | |
4907 | ||
c075f76a | 4908 | 2012-05-15 Tristan Gingold <gingold@adacore.com> |
4909 | ||
4910 | * exp_ch7.adb (Build_Exception_Handler): Save current | |
4911 | occurrence only if -gnateE. | |
4912 | (Build_Object_Declaration): Declare E_Id only if -gnateE. | |
4913 | (Build_Raise_Statement): Call Raise_From_Controlled_Operation only if | |
4914 | -gnateE (else raise PE). | |
4915 | * s-soflin.adb (Save_Library_Occurrence): Handle null occurrence | |
4916 | access. | |
4917 | * a-except-2005.adb (Reraise_Library_Exception_If_Any): Call | |
4918 | Raise_From_Controlled_Operation only if the saved occurrence is | |
4919 | not null, otherwise raise PE. | |
4920 | ||
4921 | 2012-05-15 Yannick Moy <moy@adacore.com> | |
4922 | ||
4923 | * exp_alfa.ads: Add comments describing the Alfa mode. | |
4924 | ||
504c14e8 | 4925 | 2012-05-15 Tristan Gingold <gingold@adacore.com> |
4926 | ||
4927 | * s-soflin.ads, s-soflin.adb (Save_Library_Occurrence): Parameter | |
4928 | E is now of type Exception_Occurrence_Access. | |
4929 | * exp_ch7.ads, exp_ch7.adb (Build_Exception_Handler): Adjust generated | |
4930 | call to Save_Library_Occurrence. | |
4931 | ||
4932 | 2012-05-15 Thomas Quinot <quinot@adacore.com> | |
4933 | ||
4934 | * exp_ch4.adb (Rewrite_Coextension): Use Insert_Action to | |
4935 | insert temporary variable decl at the proper place in the tree. | |
4936 | ||
e3489cff | 4937 | 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com> |
4938 | ||
4939 | * g-calend.adb (Split_At_Locale): New routine. | |
4940 | (Time_Of_At_Locale): New routine. | |
4941 | * g-calend.ads (Split_At_Locale): New routine. | |
4942 | (Time_Of_At_Locale): New routine. | |
4943 | ||
4944 | 2012-05-15 Gary Dismukes <dismukes@adacore.com> | |
4945 | ||
4946 | * a-except.ads: Minor reformatting. | |
4947 | ||
4948 | 2012-05-15 Ed Schonberg <schonberg@adacore.com> | |
4949 | ||
4950 | * sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the loop | |
4951 | parameter specification is part of a quantified expression, and it | |
4952 | already carries a type, do not repeat the analysis to preserve | |
4953 | type information: a range attribute reference may have been | |
4954 | rewritten as a range with static bounds, and its re-analysis may | |
4955 | type it as Integer by default, instead of the original index type. | |
4956 | ||
4957 | 2012-05-15 Robert Dewar <dewar@adacore.com> | |
4958 | ||
4959 | * s-osprim-mingw.adb: Minor reformatting. | |
4960 | ||
3c7975d3 | 4961 | 2012-05-15 Arnaud Charlet <charlet@adacore.com> |
4962 | ||
4963 | * a-except.adb, a-except.ads (Reraise_Library_Exception_If_Any): New. | |
4964 | Mark this unit preelaborate. | |
4965 | * s-soflin.ads: Make package Preelaborate. | |
4966 | ||
1825e275 | 4967 | 2012-05-15 Robert Dewar <dewar@adacore.com> |
4968 | ||
4969 | * s-osprim-mingw.adb, sem_eval.adb, a-calend-vms.ads: Minor reformatting | |
4970 | ||
fa5c1550 | 4971 | 2012-05-15 Ed Schonberg <schonberg@adacore.com> |
4972 | ||
4973 | * sem_eval.adb (Subtypes_Statically_Match): In Ada 2012, static | |
4974 | matching requires matching of static subtype predicates as well. | |
4975 | ||
4976 | 2012-05-15 Ed Schonberg <schonberg@adacore.com> | |
4977 | ||
4978 | * sem_case.adb (Analyze_Choices): If the subtype of the | |
4979 | expression has a non-static predicate, the case alternatives | |
4980 | must cover the base type. | |
4981 | ||
4982 | 2012-05-15 Tristan Gingold <gingold@adacore.com> | |
4983 | ||
4984 | * a-calend-vms.ads: Add pragma export to Split and Time_Of. | |
4985 | Merge comments from a-calend.ads to minimize differences. | |
4986 | ||
4987 | 2012-05-15 Sergey Rybin <rybin@adacore.com frybin> | |
4988 | ||
4989 | * gnat_ugn.texi: gnatmetric: add a small example that demonstrates | |
4990 | the difference between control coupling and unit coupling. | |
4991 | ||
4992 | 2012-05-15 Tristan Gingold <gingold@adacore.com> | |
4993 | ||
4994 | * bindgen.adb (Gen_Header): Remove code to emit LE_Set. | |
4995 | (Gen_Finalize_Library): Replace test with | |
4996 | a call to __gnat_reraise_library_exception_if_any. | |
4997 | * s-soflin.ads (Library_Exception): Do not export. | |
4998 | (Library_Exception_Set): Likewise. | |
4999 | * a-except-2005.ads, a-except-2005.adb | |
5000 | (Reraise_Library_Exception_If_Any): New procedure. | |
5001 | ||
f39ac8d7 | 5002 | 2012-05-15 Geert Bosch <bosch@adacore.com> |
5003 | ||
5004 | * sem_ch9.adb (Allows_Lock_Free_Implementation): out or in out | |
5005 | parameters can be access types as well, not just scalar types, | |
5006 | so relax the test to Is_Elementary_Type. | |
5007 | ||
5008 | 2012-05-15 Bob Duff <duff@adacore.com> | |
5009 | ||
5010 | * s-atacco.ads s-atacco.adb: Replace pragma Elaborate_Body | |
5011 | with pragma No_Body. | |
5012 | (Xyz): Remove Xyz, which is apparently unnecessary. | |
5013 | ||
5014 | 2012-05-15 Tristan Gingold <gingold@adacore.com> | |
5015 | ||
5016 | * a-calend-vms.adb: Complete previous change. | |
5017 | ||
5018 | 2012-05-15 Bob Duff <duff@adacore.com> | |
5019 | ||
5020 | * s-win32.ads: Minor comment fix. | |
5021 | * s-osprim-mingw.adb: Minor editing. | |
5022 | ||
a16536f8 | 5023 | 2012-05-15 Robert Dewar <dewar@adacore.com> |
5024 | ||
5025 | * exp_ch9.adb, sem_ch9.adb, sem_ch13.adb: Minor reformatting. | |
5026 | ||
7413d80d | 5027 | 2012-05-15 Robert Dewar <dewar@adacore.com> |
5028 | ||
5029 | * g-comlin.adb, g-comlin.ads: Minor reformatting. | |
5030 | ||
5031 | 2012-05-15 Vincent Pucci <pucci@adacore.com> | |
5032 | ||
5033 | * aspects.adb, aspects.adb: Reordering of the Aspect_Idi list. New | |
5034 | aspect Aspect_Lock_Free. | |
5035 | * einfo.adb, einfo.ads: New flag Uses_Lock_Free (flag 188). | |
5036 | (Set_Uses_Lock_Free): New routine. | |
5037 | (Uses_Lock_Free): New routine. | |
5038 | * exp_ch7.adb (Is_Simple_Protected_Type): Return False for | |
5039 | lock-free implementation. | |
5040 | * exp_ch9.adb (Allows_Lock_Free_Implementation): Moved to Sem_Ch9. | |
5041 | (Build_Lock_Free_Unprotected_Subprogram_Body): Protected | |
5042 | procedure uses __sync_synchronise. Check both Object_Size | |
5043 | and Value_Size. | |
5044 | (Expand_N_Protected_Body): Lock_Free_Active | |
5045 | renames Lock_Free_On. | |
5046 | (Expand_N_Protected_Type_Declaration): | |
5047 | _Object field removed for lock-free implementation. | |
5048 | (Install_Private_Data_Declarations): Protection object removed | |
5049 | for lock-free implementation. | |
5050 | (Make_Initialize_Protection): | |
5051 | Protection object initialization removed for lock-free implementation. | |
5052 | * rtsfind.ads: RE_Atomic_Synchronize and RE_Relaxed added. | |
5053 | * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect_Lock_Free | |
5054 | analysis added. | |
5055 | * sem_ch9.adb (Allows_Lock_Free_Implementation): New routine. | |
5056 | (Analyze_Protected_Body): Allows_Lock_Free_Implementation call added. | |
5057 | (Analyze_Protected_Type_Declaration): | |
5058 | Allows_Lock_Free_Implementation call added. | |
5059 | (Analyze_Single_Protected_Declaration): Second analysis of | |
5060 | aspects removed. | |
5061 | * s-atopri.ads: Header added. | |
5062 | (Atomic_Synchronize): New routine. | |
5063 | ||
5064 | 2012-05-15 Robert Dewar <dewar@adacore.com> | |
5065 | ||
5066 | * exp_ch7.ads: Add comment. | |
5067 | ||
f74ffaae | 5068 | 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com> |
5069 | ||
5070 | * a-calend.adb (Day_Of_Week): The routine once again treats | |
5071 | all dates as historic. (Formatting_Operations.Split): All | |
5072 | calls to UTC_Time_Offset are now controlled through formal | |
5073 | parameter Is_Historic. (Formatting_Operations.Time_Of): | |
5074 | All calls to UTC_Time_Offset are now handled through | |
5075 | formal parameter Is_Historic. | |
5076 | (Split): Update the call to Formatting_Operations.Split. | |
5077 | (Time_Of): Update the call to Formatting_Operations.Time_Of. | |
5078 | (To_Ada_Time): Update the call to Formatting_Operations.Time_Of. | |
5079 | (To_Strict_Tm): Update the call to Formatting_Operations.Split. | |
5080 | * a-calend.ads (Split): Add new formal Is_Historic along with | |
5081 | comment on usage. This routine is now exported for the purposes | |
5082 | of GNAT.Calendar.Locale. | |
5083 | (Time_Of): Remove defaults. Add new | |
5084 | formal Is_Historic along with comment on usage. This routine is | |
5085 | now exported for the purposes of GNAT.Calendar.Locale. | |
5086 | * a-calend-vms.adb (Split): Update the call to | |
5087 | Formatting_Operations.Split. | |
5088 | (Time_Of): Update the call to Formatting_Operations.Time_Of. | |
5089 | * a-calend-vms.ads (Split): Add new formal Is_Historic along | |
5090 | with comment on usage. (Time_Of): Remove defaults. Add new | |
5091 | formal Is_Historic along with comment on usage. | |
5092 | * a-calfor.adb (Split): Update the call to | |
5093 | Formatting_Operations.Split. | |
5094 | (Time_Of): Update the call to Formatting_Operations.Time_Of. | |
f74ffaae | 5095 | |
5096 | 2012-05-15 Vincent Celier <celier@adacore.com> | |
5097 | ||
5098 | * prj-nmsc.adb (Add_Source): Always add the source if it is | |
5099 | excluded, to avoid incorrect duplicate checks. | |
5100 | ||
5101 | 2012-05-15 Yannick Moy <moy@adacore.com> | |
5102 | ||
5103 | * sem_aux.ads: Correct typo. | |
5104 | * sem_eval.adb (Compile_Time_Known_Value): Return False in Alfa | |
5105 | mode for a deferred constant when outside of the scope of its | |
5106 | full view. | |
5107 | ||
5108 | 2012-05-15 Emmanuel Briot <briot@adacore.com> | |
5109 | ||
5110 | * g-comlin.adb, g-comlin.ads (Define_Switch): Allow specifying the name | |
5111 | of the argument, for the automatic help message. | |
5112 | (Getopt): do not systematically initialize switches with string values | |
5113 | to the empty string, when the user has already specified a default. | |
5114 | ||
258a168d | 5115 | 2012-05-14 Bernd Schmidt <bernds@codesourcery.com> |
5116 | ||
5117 | * gcc-interface/utils.c (DEF_ATTR_STRING): New. | |
5118 | ||
d3b7ee7c | 5119 | 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org> |
5120 | ||
5121 | PR 53063 | |
5122 | * gcc-interface/misc.c: Include opts.h and options.h before tm.h. | |
5123 | (gnat_handle_option): Call lang-specific generated function. | |
5124 | ||
4584d89f | 5125 | 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org> |
5126 | ||
5127 | * gcc-interface/lang.opt (I): Comment out help text with no effect. | |
5128 | (nostdinc): Comment out help text with no effect. | |
5129 | ||
bcd59a2b | 5130 | 2012-05-12 Eric Botcazou <ebotcazou@adacore.com> |
5131 | ||
5132 | * gcc-interface/Makefile.in (TOOLS_LIBS): Add ../../ggc-none.o. | |
5133 | ||
fbb6fbd8 | 5134 | 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org> |
5135 | ||
5136 | PR 53063 | |
5137 | * gcc-interface/misc.c (gnat_parse_file): Move before ... | |
5138 | (gnat_handle_option): ... this. Use handle_generated_option. | |
5139 | ||
5a1fe2db | 5140 | 2012-05-10 Richard Guenther <rguenther@suse.de> |
5141 | ||
5142 | * gcc-interface/cuintp.c (UI_From_gnu): Remove TYPE_IS_SIZETYPE use. | |
5143 | ||
d349f8a8 | 5144 | 2012-05-06 Tristan Gingold <gingold@adacore.com> |
5145 | ||
5146 | * gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl. | |
5147 | ||
647b2843 | 5148 | 2012-05-06 Eric Botcazou <ebotcazou@adacore.com> |
5149 | ||
5150 | * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renaming | |
5151 | case, use the padded type if the renamed object has an unconstrained | |
5152 | type with default discriminant. | |
5153 | ||
7e48d3e6 | 5154 | 2012-05-06 Eric Botcazou <ebotcazou@adacore.com> |
5155 | ||
5156 | * gcc-interface/trans.c (Loop_Statement_to_gnu): Also handle invariant | |
5157 | conditions with only one bound. | |
647b2843 | 5158 | (Raise_Error_to_gnu): Likewise. New function extracted from... |
5159 | (gnat_to_gnu) <N_Raise_Constraint_Error>: ...here. Call above function | |
7e48d3e6 | 5160 | in regular mode only. |
5161 | ||
cd3ef822 | 5162 | 2012-05-06 Eric Botcazou <ebotcazou@adacore.com> |
5163 | ||
5164 | * gcc-interface/misc.c (gnat_post_options): Disable caret by default. | |
5165 | ||
76cb9822 | 5166 | 2012-05-06 Eric Botcazou <ebotcazou@adacore.com> |
5167 | ||
5168 | * gcc-interface/gigi.h (make_packable_type): Declare. | |
5169 | (make_type_from_size): Likewise. | |
5170 | (relate_alias_sets): Likewise. | |
5171 | (maybe_pad_type): Adjust. | |
5172 | (init_gnat_to_gnu): Delete. | |
5173 | (destroy_gnat_to_gnu): Likewise. | |
5174 | (init_dummy_type): Likewise. | |
5175 | (destroy_dummy_type): Likewise. | |
5176 | (init_gnat_utils): Declare. | |
5177 | (destroy_gnat_utils): Likewise. | |
5178 | (ceil_pow2): New inline function. | |
5179 | * gcc-interface/decl.c (gnat_to_gnu_entity): Use ceil_pow2. | |
5180 | <object>: Pass True for the final processing of alignment and size. | |
5181 | <E_Subprogram_Type>: Only create the TYPE_DECL for a padded return | |
5182 | type if necessary. | |
5183 | (round_up_to_align): Delete. | |
5184 | (ceil_alignment): Likewise. | |
5185 | (relate_alias_sets): Move to... | |
5186 | (make_aligning_type): Likewise. | |
5187 | (make_packable_type): Likewise. | |
5188 | (maybe_pad_type): Likewise. | |
5189 | (make_type_from_size): Likewise. | |
5190 | * gcc-interface/utils.c (MAX_BITS_PER_WORD): Delete. | |
5191 | (struct pad_type_hash): New type. | |
5192 | (pad_type_hash_table): New static variable. | |
5193 | (init_gnat_to_gnu): Merge into... | |
5194 | (init_dummy_type): Likewise. | |
5195 | (init_gnat_utils): ...this. New function. | |
5196 | (destroy_gnat_to_gnu): Merge into... | |
5197 | (destroy_dummy_type): Likewise. | |
5198 | (destroy_gnat_utils): ...this. New function. | |
5199 | (pad_type_hash_marked_p): New function. | |
5200 | (pad_type_hash_hash): Likewise. | |
5201 | (pad_type_hash_eq): Likewise. | |
5202 | (relate_alias_sets): ...here. | |
5203 | (make_aligning_type): Likewise. | |
5204 | (make_packable_type): Likewise. | |
5205 | (maybe_pad_type): Likewise. Change same_rm_size parameter into | |
5206 | set_rm_size; do not set TYPE_ADA_SIZE if it is false. Do not set | |
5207 | null as Ada size. Do not set TYPE_VOLATILE on the padded type. If it | |
5208 | is complete and has constant size, canonicalize it. Bail out earlier | |
5209 | if a warning need not be issued. | |
5210 | (make_type_from_size): Likewise. | |
5211 | <INTEGER_TYPE>: Bail out if size is too large | |
5212 | (gnat_types_compatible_p): Do not deal with padded types. | |
5213 | (convert): Compare main variants for padded types. | |
5214 | * gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_utils. | |
5215 | (gnat_to_gnu): Do not convert at the end for a call to a function that | |
5216 | returns an unconstrained type with default discriminant. | |
5217 | (Attribute_to_gnu) <Attr_Size>: Simplify handling of padded objects. | |
5218 | * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Likewise. | |
5219 | Do not use the padded type if it is BLKmode and the inner type is | |
5220 | non-BLKmode. | |
5221 | ||
38b1f0b0 | 5222 | 2012-05-02 Pascal Obry <obry@adacore.com> |
5223 | ||
5224 | Revert | |
5225 | 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com> | |
5226 | ||
fb824021 | 5227 | * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New |
5228 | Windows-specific make variable. | |
5229 | (WIN_SO_INSTALL_DIR [windows targets]): Likewise. | |
5230 | (install-gnatlib): Respect the above during installation when set, | |
5231 | and also install any windows import library that has been built. | |
5232 | (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also | |
5233 | build a corresponding import library. | |
5234 | ||
cf951b1a | 5235 | 2012-04-30 Jan Hubicka <jh@suse.cz> |
5236 | ||
5237 | * gcc-interface/utils.c (rest_of_subprog_body_compilation): Update | |
5238 | comment. | |
5239 | (gnat_write_global_declarations): Use finalize_compilation_unit. | |
5240 | ||
147e3036 | 5241 | 2012-04-30 Eric Botcazou <ebotcazou@adacore.com> |
5242 | ||
5243 | * gcc-interface/decl.c (gnat_to_gnu_entity): In type annotation mode, | |
5244 | do not adjust the size of a tagged type if there is a representation | |
5245 | clause on it. Otherwise, round the adjustment up to the alignment | |
5246 | of the first field and use the appropriate helper routine. | |
5247 | (maybe_pad_type): Do not warn in type annotation mode on a tagged type. | |
5248 | (gnat_to_gnu_field): Do not error out under the same circumstances. | |
5249 | (annotate_rep): In type annotation mode, do not adjust the offset of | |
5250 | components of a tagged type with representation clause. Otherwise, | |
5251 | round the adjustment up to the alignment of the first field. | |
5252 | ||
81f9f420 | 5253 | 2012-04-30 Eric Botcazou <ebotcazou@adacore.com> |
5254 | ||
5255 | * gcc-interface/utils.c (finish_record_type): Force the traditional GCC | |
5256 | layout for bitfields on the type if it is packed or has a representation | |
5257 | clause and an alternate layout is available. | |
5258 | ||
5154a747 | 5259 | 2012-04-30 Eric Botcazou <ebotcazou@adacore.com> |
5260 | ||
5261 | * gcc-interface/gigi.h (mark_out_of_scope): Delete. | |
5262 | (destroy_gnat_to_gnu): Declare. | |
5263 | (destroy_dummy_type): Likewise. | |
5264 | * gcc-interface/decl.c (mark_out_of_scope): Delete. | |
5265 | * gcc-interface/utils.c (destroy_gnat_to_gnu): New function. | |
5266 | (destroy_dummy_type): Likewise. | |
5267 | * gcc-interface/trans.c (gnat_validate_uc_list): New variable. | |
5268 | (gigi): Call validate_unchecked_conversion on gnat_validate_uc_list | |
147e3036 | 5269 | after the translation is completed. Call destroy_gnat_to_gnu and |
5154a747 | 5270 | destroy_dummy_type at the end. |
5271 | (Subprogram_Body_to_gnu): Do not call mark_out_of_scope. | |
5272 | (gnat_to_gnu) <N_Block_Statement>: Likewise. | |
5273 | <N_Validate_Unchecked_Conversion>: Do not process the node, only push | |
5274 | it onto gnat_validate_uc_list. | |
5275 | (validate_unchecked_conversion): New function. | |
5276 | ||
a18430a0 | 5277 | 2012-04-26 Tristan Gingold <gingold@adacore.com> |
5278 | ||
5279 | * gcc-interface/Make-lang.in: Update dependencies. | |
5280 | Remove s-traceb and tracebak objects from gnat1 and gnatbind (not used). | |
5281 | Remove s-tasdeb and s-vaflop rules (not used). | |
5282 | ||
5283 | 2012-04-26 Olivier Hainque <hainque@adacore.com> | |
5284 | ||
5285 | * gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Default to | |
5286 | DOUBLE_TYPE_SIZE instead of LONG_DOUBLE_TYPE_SIZE. | |
5287 | ||
5288 | 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> | |
5289 | ||
5290 | * a-calend.adb (Day_Of_Week): Keep the internal | |
5291 | usage of UTC_Time_Offset consistent with Time_Of and Split. | |
5292 | ||
ce3e25d6 | 5293 | 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> |
5294 | ||
5295 | * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Do not freeze | |
5296 | the loop variable while preanalyzing a quantified expression. | |
5297 | ||
5298 | 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> | |
5299 | ||
5300 | * a-calend.adb (Split, Time_Of): Rename parameter Is_Ada_05 | |
5301 | to Use_TZ to better illustrate its function. Update all | |
5302 | references to the parameter. | |
5303 | (To_Ada_Time): Update the call to Formatting_Operations.Time_Of. | |
5304 | * a-calend.ads (Split, Time_Of): Rename parameter Is_Ada_05 | |
5305 | to Use_TZ to better illustrate its function. Update the related | |
5306 | comment on usage. | |
5307 | * a-calend-vms.adb (Split, Time_Of): Rename parameter | |
5308 | Is_Ada_05 to Use_TZ to better illustrate its function. Update | |
5309 | all references to the parameter. | |
5310 | (To_Ada_Time): Update the call to Formatting_Operations.Time_Of. | |
5311 | * a-calend-vms.ads (Split, Time_Of): Rename parameter Is_Ada_05 | |
5312 | to Use_TZ to better illustrate its function. Update the related | |
5313 | comment on usage. | |
5314 | * a-calfor.adb (Split, Time_Of): Update the call to | |
5315 | Formatting_Operations.Time_Of. | |
5316 | * sysdep.c (__gnat_localtime_tzoff): Dereference pointer | |
5317 | "is_historic" and rewrite the check as a comparison. Add a | |
5318 | comment on flag values. | |
5319 | ||
5320 | 2012-04-26 Robert Dewar <dewar@adacore.com> | |
5321 | ||
5322 | * exp_ch2.adb, sem_ch8.adb: Minor reformatting. | |
5323 | ||
5324 | 2012-04-26 Vasiliy Fofanov <fofanov@adacore.com> | |
5325 | ||
5326 | * a-stzunb-shared.adb, gnat_ugn.texi, a-strunb-shared.adb, | |
5327 | a-strunb-shared.ads, uintp.adb, a-stwiun-shared.adb, | |
5328 | a-stwiun-shared.ads, a-cbhama.ads, vms_data.ads, a-cobove.adb, | |
5329 | a-convec.adb, sem_ch13.adb, a-cbhase.ads: Fix common misuses of the | |
5330 | word "then" where "than" should be used in English. | |
5331 | ||
75f7f24d | 5332 | 2012-04-26 Robert Dewar <dewar@adacore.com> |
5333 | ||
5334 | * sem_ch5.adb (Check_Unreachable_Code): Skip past pragmas. | |
5335 | ||
5336 | 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> | |
5337 | ||
5338 | * s-finroo.ads: Remove with clause for | |
5339 | Ada.Streams. Type Root_Controlled is now abstract tagged null | |
5340 | record. Remove internal package Stream_Attributes. Root_Controlled | |
5341 | doesn't need stream attribute redeclaration and avoids the | |
5342 | dependency on streams. | |
5343 | ||
5344 | 2012-04-26 Tristan Gingold <gingold@adacore.com> | |
5345 | ||
5346 | * adaint.c (to_host_path_spec): Removed (unused). | |
5347 | Minor reformatting. | |
5348 | ||
5349 | 2012-04-26 Steve Baird <baird@adacore.com> | |
5350 | ||
5351 | * gnat_rm.texi Improve description of Valid_Scalars attribute. | |
5352 | ||
5353 | 2012-04-26 Ed Schonberg <schonberg@adacore.com> | |
5354 | ||
5355 | * sem_ch6.adb (Can_Override_Operator): If the formal is a | |
5356 | generic type the operator cannot be overriding. | |
5357 | ||
5358 | 2012-04-26 Ed Schonberg <schonberg@adacore.com> | |
5359 | ||
5360 | * sem_ch8.adb (Spec_Reloaded_For_Body): Check whether the type | |
5361 | is declared in a package specification, and current unit is the | |
5362 | corresponding package body. The use clauses themselves may be | |
5363 | within a nested package. | |
5364 | ||
5365 | 2012-04-26 Bob Duff <duff@adacore.com> | |
5366 | ||
5367 | * exp_ch2.adb (Param_Entity): Take into account the case where | |
5368 | the type of the entry parameter has a representation clause. | |
5369 | ||
a9469533 | 5370 | 2012-04-26 Ed Schonberg <schonberg@adacore.com> |
5371 | ||
5372 | * gnat_ugn.texi: Tweak dimensionality doc. | |
5373 | ||
5374 | 2012-04-26 Robert Dewar <dewar@adacore.com> | |
5375 | ||
5376 | * sem_eval.adb: Minor reformatting. | |
5377 | ||
0a4dc67b | 5378 | 2012-04-26 Robert Dewar <dewar@adacore.com> |
5379 | ||
5380 | * einfo.adb, einfo.ads, sem_res.adb, sem_ch4.adb, | |
5381 | sem_eval.adb: Minor reformatting. | |
5382 | ||
5383 | 2012-04-26 Thomas Quinot <quinot@adacore.com> | |
5384 | ||
5385 | * freeze.adb: Minor change in error wording. | |
5386 | ||
5387 | 2012-04-26 Ed Schonberg <schonberg@adacore.com> | |
5388 | ||
5389 | * gnat_ugn.texi: Documentation on dimensional analysis. | |
5390 | ||
5391 | 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> | |
5392 | ||
5393 | * einfo.adb, einfo.ads: Remove synthesized attribute | |
5394 | Proper_First_Index along with its associations in various nodes. | |
5395 | (Proper_First_Index): Removed. | |
5396 | * sem_ch4.adb (Analyze_Slice): Alphabetize constants. Add new | |
5397 | local variable Index_Type. The index type of a string literal | |
5398 | subtype is that of the stored low bound. | |
5399 | * sem_eval (Get_Static_Length): Remove the use of Proper_First_Index. | |
5400 | * sem_res.adb (Resolve_Slice): Alphabetize constants. Add | |
5401 | new local variable Index_Type. The index type of a | |
5402 | string literal subtype is that of the stored low bound. | |
5403 | (Set_String_Literal_Subtype): Code reformatting. | |
5404 | ||
cae6218b | 5405 | 2012-04-26 Robert Dewar <dewar@adacore.com> |
5406 | ||
5407 | * exp_aggr.adb: Minor reformatting. | |
5408 | ||
5409 | 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> | |
5410 | ||
5411 | * exp_ch7.adb (Expand_Cleanup_Actions): Update the call to | |
5412 | Requires_Cleanup_Actions. | |
5413 | * exp_util.adb (Requires_Cleanup_Actions (List_Id; Boolean; | |
5414 | Boolean)): Rename formal parameter For_Package to Lib_Level to | |
5415 | better reflect its purpose. Update the related comment and all | |
5416 | occurrences of For_Package in the body. | |
5417 | (Requires_Cleanup_Actions | |
5418 | (Node_Id; Boolean)): Add new formal parameter Lib_Level. Add | |
5419 | local constant At_Lib_Level to keep monitor whether the path | |
5420 | taken from the top-most context to the current construct involves | |
5421 | package constructs. Update all calls to Requires_Cleanup_Actions. | |
5422 | * exp_util.ads (Requires_Cleanup_Actions): Add new formal | |
5423 | parameter Lib_Level and associated comment. | |
5424 | ||
5425 | 2012-04-26 Ed Schonberg <schonberg@adacore.com> | |
5426 | ||
5427 | * sem_ch6.adb (Process_Formals): If the type of the formal is | |
5428 | a non null access type, mark the generated subtype as having a | |
5429 | delayed freeze only if the designated type is not frozen yet. | |
5430 | ||
5431 | 2012-04-26 Vincent Celier <celier@adacore.com> | |
5432 | ||
5433 | * prj-attr.adb: New package Clean with attributes | |
5434 | Object_Artifact_Extensions and Source_Artifact_Extensions. | |
5435 | * prj-nmsc.adb (Process_Clean): Process new package Clean | |
5436 | * prj.ads (Language_Config): New components | |
5437 | Clean_Object_Artifacts and Clean_Source_Artifacts. | |
5438 | * snames.ads-tmpl: New standard names Clean, | |
5439 | Object_Artifact_Extensions and Source_Artifact_Extensions. | |
5440 | ||
a60794e6 | 5441 | 2012-04-26 Hristian Kirtchev <kirtchev@adacore.com> |
5442 | ||
5443 | * einfo.adb (Proper_First_Index): Moved from Sem_Util. | |
5444 | * einfo.ads: Add new synthesized attribute Proper_First_Index | |
5445 | along with usage in nodes. | |
5446 | (Proper_First_Index): Moved from Sem_Util. | |
5447 | * sem_util.ads, sem_util.adb (Proper_First_Index): Moved to Einfo. | |
5448 | ||
5449 | 2012-04-26 Gary Dismukes <dismukes@adacore.com> | |
5450 | ||
5451 | * layout.adb (Layout_Component_List): Test for the case of a | |
5452 | single variant and the size of its component list was computed | |
5453 | as an integer literal, and use that size (which is in bits) | |
5454 | as is rather than converting to storage units. | |
5455 | ||
5456 | 2012-04-26 Robert Dewar <dewar@adacore.com> | |
5457 | ||
5458 | * exp_aggr.adb: Minor reformatting. | |
5459 | ||
2884c9d1 | 5460 | 2012-04-26 Robert Dewar <dewar@adacore.com> |
5461 | ||
5462 | * sem_util.adb: Minor reformatting. | |
5463 | ||
5464 | 2012-04-26 Thomas Quinot <quinot@adacore.com> | |
5465 | ||
5466 | * exp_aggr.adb, exp_pakd.adb (Setup_Inline_Packed_Array_Reference, | |
5467 | Packed_Array_Aggregate_Handled.Get_Component_Val): | |
5468 | Reverse bit numbering within PAT when Reverse_Storage_Order | |
5469 | applies to the enclosing record. | |
5470 | ||
5471 | 2012-04-26 Thomas Quinot <quinot@adacore.com> | |
5472 | ||
5473 | * freeze.adb (Freeze_Record_Type): Improve error message for | |
5474 | Scalar_Storage_Order inconsistent with Bit_Order. | |
5475 | ||
f572eafb | 5476 | 2012-04-25 Gary Dismukes <dismukes@adacore.com> |
5477 | ||
5478 | * exp_ch9.adb: Add comments on the usage of the | |
5479 | lock-free data structures. | |
5480 | ||
5481 | 2012-04-25 Vincent Pucci <pucci@adacore.com> | |
5482 | ||
5483 | * exp_intr.adb (Expand_Shift): Convert the left | |
5484 | operand and the operator when the type of the call differs from | |
5485 | the type of the operator. | |
5486 | ||
5487 | 2012-04-25 Geert Bosch <bosch@adacore.com> | |
5488 | ||
5489 | * stand.ads: Minor comment fix. | |
5490 | ||
5491 | 2012-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
5492 | ||
5493 | * sem_ch4.adb (Analyze_Slice): Handle the case where the prefix | |
5494 | is a string literal. Retrieve the first index from the base type | |
5495 | when slicing a string literal. | |
5496 | * sem_ch12.adb (Check_Private_View): Move the initialization | |
5497 | of the type inside the loop to reflect the changing index. | |
5498 | * sem_eval.adb (Eval_Relational_Op): Retrieve the first index | |
5499 | from the base type when dealing with a string literal. | |
5500 | * sem_res.adb (Resolve_Slice): Retrieve the first index from | |
5501 | the base type when slicing a string literal. | |
5502 | * sem_util.adb (Is_Internally_Generated_Renaming): New routine. | |
5503 | (Is_Object_Reference): String literals may act | |
5504 | as object references only when they are renamed internally. | |
5505 | (Proper_First_Index): New routine. | |
5506 | * sem_util.ads (Proper_First_Index): New routine. | |
5507 | ||
e12ab46d | 5508 | 2012-04-25 Robert Dewar <dewar@adacore.com> |
5509 | ||
5510 | * sem_ch3.adb, csinfo.adb, lib-writ.adb, sem_ch12.adb, | |
5511 | lib-xref.adb: Minor reformatting. | |
5512 | ||
5513 | 2012-04-25 Hristian Kirtchev <kirtchev@adacore.com> | |
5514 | ||
5515 | * exp_ch9.adb: Rename Lock_Free_Sub_Type | |
5516 | to Lock_Free_Subprogram. Remove type Subprogram_Id. | |
5517 | Rename LF_Sub_Table to Lock_Free_Subprogram_Table. | |
5518 | (Allow_Lock_Free_Implementation): Renamed to | |
5519 | Allows_Lock_Free_Implementation. Update the comment on | |
5520 | lock-free restrictions. Code clean up and restructuring. | |
5521 | (Build_Lock_Free_Protected_Subprogram_Body): Update the | |
5522 | profile and related comments. Code clean up and restructuring. | |
5523 | (Build_Lock_Free_Unprotected_Subprogram_Body): Update the | |
5524 | profile and related comments. Code clean up and restructuring. | |
5525 | (Comp_Of): Removed. | |
5526 | ||
841fbb5a | 5527 | 2012-04-25 Vincent Celier <celier@adacore.com> |
5528 | ||
5529 | * sem_ch12.adb (Inherit_Context): Compare library units, not | |
5530 | names of units, when checking if a unit is already in the context. | |
5531 | ||
5532 | 2012-04-25 Thomas Quinot <quinot@adacore.com> | |
5533 | ||
5534 | * sem_ch3.adb: Reverse_Storage_Order must be propagated to | |
5535 | untagged derived record types. | |
5536 | ||
5537 | 2012-04-25 Ed Schonberg <schonberg@adacore.com> | |
5538 | ||
5539 | * lib-xref.adb: Adjust position of end label. | |
5540 | ||
ff2a5ada | 5541 | 2012-04-22 Jan Hubicka <jh@suse.cz> |
5542 | ||
5543 | * gcc-interface/utils.c (gnat_write_global_declarations): Do not mark | |
5544 | needed node. | |
5545 | ||
8efa224a | 5546 | 2012-04-20 Jan Hubicka <jh@suse.cz> |
5547 | ||
5548 | * gcc-interface/utils.c (gnat_write_global_declarations): Update for new | |
5549 | force_output placement. | |
5550 | ||
7d0d0ce1 | 5551 | 2012-04-14 Jan Hubicka <jh@suse.cz> |
5552 | ||
5553 | * gcc-interface/trans.c (finalize_nrv): Update field referenced for new | |
5554 | cgraph/varpool layout. | |
5555 | ||
e6b3ff04 | 5556 | 2012-04-09 Mike Stump <mikestump@comcast.net> |
5557 | ||
5558 | * a-assert.ads: Remove execute permission. | |
5559 | * a-chacon.ads: Likewise. | |
5560 | * a-coteio.ads: Likewise. | |
5561 | * a-envvar.ads: Likewise. | |
5562 | * a-exetim-mingw.ads: Likewise. | |
5563 | * a-fzteio.ads: Likewise. | |
5564 | * a-izteio.ads: Likewise. | |
5565 | * a-lcteio.ads: Likewise. | |
5566 | * a-llctio.ads: Likewise. | |
5567 | * a-scteio.ads: Likewise. | |
5568 | * a-suenco.ads: Likewise. | |
5569 | * a-suenst.ads: Likewise. | |
5570 | * a-suewst.ads: Likewise. | |
5571 | * a-suezst.ads: Likewise. | |
5572 | * a-tirsfi.ads: Likewise. | |
5573 | * a-wichha.ads: Likewise. | |
5574 | * a-zchara.ads: Likewise. | |
5575 | * a-zchhan.ads: Likewise. | |
5576 | * a-zchuni.ads: Likewise. | |
5577 | * a-zrstfi.ads: Likewise. | |
5578 | * aspects.ads: Likewise. | |
5579 | * g-byorma.ads: Likewise. | |
5580 | * g-decstr.ads: Likewise. | |
5581 | * g-encstr.ads: Likewise. | |
5582 | * g-spchge.ads: Likewise. | |
5583 | * g-u3spch.ads: Likewise. | |
5584 | * g-wispch.ads: Likewise. | |
5585 | * g-zspche.ads: Likewise. | |
5586 | * namet-sp.ads: Likewise. | |
5587 | * s-os_lib.ads: Likewise. | |
5588 | * s-regexp.ads: Likewise. | |
5589 | * s-regpat.ads: Likewise. | |
5590 | * s-string.ads: Likewise. | |
5591 | * s-tasloc.ads: Likewise. | |
5592 | * s-utf_32.ads: Likewise. | |
5593 | * sem_aux.ads: Likewise. | |
5594 | * a-assert.adb: Likewise. | |
5595 | * a-chacon.adb: Likewise. | |
5596 | * a-envvar.adb: Likewise. | |
5597 | * a-exetim-mingw.adb: Likewise. | |
5598 | * a-suenco.adb: Likewise. | |
5599 | * a-suenst.adb: Likewise. | |
5600 | * a-suewst.adb: Likewise. | |
5601 | * a-suezst.adb: Likewise. | |
5602 | * a-tirsfi.adb: Likewise. | |
5603 | * a-wichha.adb: Likewise. | |
5604 | * a-zchhan.adb: Likewise. | |
5605 | * a-zchuni.adb: Likewise. | |
5606 | * a-zrstfi.adb: Likewise. | |
5607 | * aspects.adb: Likewise. | |
5608 | * g-byorma.adb: Likewise. | |
5609 | * g-decstr.adb: Likewise. | |
5610 | * g-encstr.adb: Likewise. | |
5611 | * g-spchge.adb: Likewise. | |
5612 | * g-u3spch.adb: Likewise. | |
5613 | * g-wispch.adb: Likewise. | |
5614 | * g-zspche.adb: Likewise. | |
5615 | * namet-sp.adb: Likewise. | |
5616 | * s-except.adb: Likewise. | |
5617 | * s-inmaop-vxworks.adb: Likewise. | |
5618 | * s-os_lib.adb: Likewise. | |
5619 | * s-regexp.adb: Likewise. | |
5620 | * s-regpat.adb: Likewise. | |
5621 | * s-string.adb: Likewise. | |
5622 | * s-tasloc.adb: Likewise. | |
5623 | * s-utf_32.adb: Likewise. | |
5624 | * s-wchcon.adb: Likewise. | |
5625 | * sem_aux.adb: Likewise. | |
5626 | ||
2a9b01cb | 5627 | 2012-04-02 Robert Dewar <dewar@adacore.com> |
5628 | ||
5629 | * s-atopri.ads: Minor reformatting. | |
5630 | ||
5631 | 2012-04-02 Thomas Quinot <quinot@adacore.com> | |
5632 | ||
5633 | * sem_util.adb: Minor reformatting, minor code cleanup. | |
5634 | ||
5635 | 2012-04-02 Ed Schonberg <schonberg@adacore.com> | |
5636 | ||
5637 | * lib-xref.adb (Generate_Reference): For a reference to an | |
5638 | operator symbol, set the sloc to point to the first character | |
5639 | of the operator name, and not to the initial quaote. | |
5640 | (Output_References): Ditto for the definition of an operator | |
5641 | symbol. | |
5642 | ||
5643 | 2012-04-02 Vincent Celier <celier@adacore.com> | |
5644 | ||
5645 | * ali.adb (Scan_Ali): Recognize Z lines. Set | |
5646 | Implicit_With_From_Instantiation to True in the With_Record for | |
5647 | Z lines. | |
5648 | * ali.ads (With_Record): New Boolean component | |
5649 | Implicit_With_From_Instantiation, defaulted to False. | |
5650 | * csinfo.adb: Indicate that Implicit_With_From_Instantiation | |
5651 | is special | |
5652 | * lib-writ.adb (Write_ALI): New array Implicit_With. | |
5653 | (Collect_Withs): Set Implicit_With for the unit is it is not Yes. | |
5654 | (Write_With_Lines): Write a Z line instead of a W line if | |
5655 | Implicit_With is Yes for the unit. | |
5656 | * sem_ch12.adb (Inherit_Context): Only add a unit in the context | |
5657 | if it is not there yet. | |
5658 | * sinfo.ads: New flag Implicit_With_From_Instantiation (Flag12) | |
5659 | added. | |
5660 | ||
7a19298b | 5661 | 2012-04-02 Yannick Moy <moy@adacore.com> |
5662 | ||
5663 | * osint.adb, osint.ads (Add_Default_Search_Dirs): Add library | |
5664 | search dirs in file specified with option -gnateO. | |
5665 | ||
5666 | 2012-04-02 Robert Dewar <dewar@adacore.com> | |
5667 | ||
5668 | * sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb: Minor | |
5669 | reformatting. | |
5670 | ||
5671 | 2012-04-02 Olivier Hainque <hainque@adacore.com> | |
5672 | ||
5673 | * g-sse.ads: Add x86-solaris and x86_64-darwin to the set of | |
5674 | platforms where the use of this spec is supported. Add current | |
5675 | year to the copyright notice. | |
5676 | * gcc-interfaces/Makefile.in: Add g-sse.o and g-ssvety.o to | |
5677 | EXTRA_GNATRTL_NONTASKING_OBJS on x86 32/64 targets that support | |
5678 | it and where they were missing (x86-solaris, x86-freebsd, | |
5679 | x86_64-freebsd, and x86-darwin). | |
5680 | ||
5681 | 2012-04-02 Gary Dismukes <dismukes@adacore.com> | |
5682 | ||
5683 | * bindgen.adb (Gen_Ada_Init): When compiling for the AAMP small | |
5684 | library, where we no longer suppress the Standard_Library, | |
5685 | generate an empty body rather than the usual generation of | |
5686 | assignments to imported globals, since those aren't present in | |
5687 | the small library. | |
5688 | ||
5689 | 2012-04-02 Ed Schonberg <schonberg@adacore.com> | |
5690 | ||
5691 | * sinfo.ads: Minor documentation fix. | |
5692 | ||
5693 | 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com> | |
5694 | ||
5695 | * sem_res.adb (Resolve_Conditional_Expression): Add local variables | |
5696 | Else_Typ and Then_Typ. Add missing type conversions to the "then" and | |
5697 | "else" expressions when their respective types are scalar. | |
5698 | ||
5699 | 2012-04-02 Vincent Pucci <pucci@adacore.com> | |
5700 | ||
5701 | * exp_ch9.adb: Reordering of the local subprograms. New Table | |
5702 | for the lock free implementation that maps each protected | |
5703 | subprograms with the protected component it references. | |
5704 | (Allow_Lock_Free_Implementation): New routine. Check if | |
5705 | the protected body enables the lock free implementation. | |
5706 | (Build_Lock_Free_Protected_Subprogram_Body): New routine. | |
5707 | (Build_Lock_Free_Unprotected_Subprogram_Body): New routine. | |
5708 | (Comp_Of): New routine. | |
5709 | * Makefile.rtl: Add s-atopri.o | |
5710 | * debug.adb: New compiler debug flag -gnatd9 for lock free | |
5711 | implementation. | |
5712 | * rtsfind.ads: RE_Atomic_Compare_Exchange_8, | |
5713 | RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32, | |
5714 | RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8, | |
5715 | RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64, RE_Uint8, | |
5716 | RE_Uint16, RE_Uint32, RE_Uint64 added. | |
5717 | * s-atropi.ads: New file. Defines atomic primitives used | |
5718 | by the lock free implementation. | |
5719 | ||
0baac39e | 5720 | 2012-04-02 Emmanuel Briot <briot@adacore.com> |
5721 | ||
5722 | * g-expect.adb (Expect_Internal): Fix leak of the input file descriptor. | |
5723 | ||
5724 | 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com> | |
5725 | ||
5726 | * exp_ch4.adb (Expand_N_Quantified_Expression): Reimplemented. | |
5727 | The expansion no longer uses the copy of the original QE created | |
5728 | during analysis. | |
5729 | * sem.adb (Analyze): Add processing for loop parameter specifications. | |
5730 | * sem_ch4.adb (Analyze_Quantified_Expression): Reimplemented. The | |
5731 | routine no longer creates a copy of the original QE. All | |
5732 | constituents of a QE are now preanalyzed and resolved. | |
5733 | * sem_ch5.adb (Analyze_Iteration_Scheme): Remove the guard which | |
5734 | bypasses all processing when the iteration scheme is related to a | |
5735 | QE. Relovate the code which analyzes loop parameter specifications | |
5736 | to a separate routine. (Analyze_Iterator_Specification): | |
5737 | Preanalyze the iterator name. This action was originally | |
5738 | done in Analyze_Iteration_Scheme. Update the check which | |
5739 | detects an iterator specification in the context of a QE. | |
5740 | (Analyze_Loop_Parameter_Specification): New routine. This | |
5741 | procedure allows for a stand-alone analysis of a loop parameter | |
5742 | specification without the need of a parent iteration scheme. Add | |
5743 | code to update the type of the loop variable when the range | |
5744 | generates an itype and the context is a QE. | |
5745 | (Pre_Analyze_Range): Renamed to Preanalyze_Range. Update all references | |
5746 | to the routine. | |
5747 | * sem_ch5.ads: Code reformatting. | |
5748 | (Analyze_Loop_Parameter_Specification): New routine. | |
5749 | * sem_ch6.adb (Fully_Conformant_Expressions): Detect a case | |
5750 | when establishing conformance between two QEs utilizing different | |
5751 | specifications. | |
5752 | * sem_res.adb (Proper_Current_Scope): New routine. | |
5753 | (Resolve): Do not resolve a QE as there is nothing to be done now. | |
5754 | Ignore any loop scopes generated for QEs when detecting an expression | |
5755 | function as the scopes are cosmetic and do not appear in the tree. | |
5756 | (Resolve_Quantified_Expression): Removed. All resolution of | |
5757 | QE constituents is now performed during analysis. This ensures | |
5758 | that loop variables appearing in array aggregates are properly | |
5759 | resolved. | |
5760 | ||
5761 | 2012-04-02 Ed Schonberg <schonberg@adacore.com> | |
5762 | ||
5763 | * sem_util.adb (Build_Default_Subtype): If the base type is | |
5764 | private and its full view is available, use the full view in | |
5765 | the subtype declaration. | |
5766 | ||
d94b1a63 | 5767 | 2012-04-02 Jose Ruiz <ruiz@adacore.com> |
5768 | ||
5769 | * gnat_ugn.texi: Add some minimal documentation about how to | |
5770 | use GNATtest for cross platforms. | |
5771 | ||
5772 | 2012-04-02 Vincent Celier <celier@adacore.com> | |
5773 | ||
5774 | * opt.ads (Object_Path_File_Name): New variable. | |
5775 | * prj-attr.adb: New Compiler attribute Object_Path_Switches. | |
5776 | * prj-nmsc.adb (Process_Compiler): Recognize new attribute | |
5777 | Object_Path_Switches. | |
5778 | * snames.ads-tmpl: New standard name Object_Path_Switches. | |
5779 | * switch-c.adb (Scan_Front_End_Switches): Recognize new switch | |
5780 | -gnateO= and put its value in Opt.Object_Path_File_Name. | |
5781 | ||
849f127a | 5782 | 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com> |
5783 | ||
5784 | * exp_ch7.adb (Process_Declarations): Detect a case where | |
5785 | a source object was initialized by another source object, | |
5786 | but the expression was rewritten as a class-wide conversion | |
5787 | of Ada.Tags.Displace. | |
5788 | * exp_util.adb (Initialized_By_Ctrl_Function): Removed. | |
5789 | (Is_Controlled_Function_Call): New routine. | |
5790 | (Is_Displacement_Of_Ctrl_Function_Result): Removed. | |
5791 | (Is_Displacement_Of_Object_Or_Function_Result): New routine. | |
5792 | (Is_Source_Object): New routine. | |
5793 | (Requires_Cleanup_Actions): Detect a case where a source object was | |
5794 | initialized by another source object, but the expression was rewritten | |
5795 | as a class-wide conversion of Ada.Tags.Displace. | |
5796 | * exp_util.ads (Is_Displacement_Of_Ctrl_Function_Result): Removed. | |
5797 | (Is_Displacement_Of_Object_Or_Function_Result): New routine. | |
5798 | ||
5799 | 2012-04-02 Ed Schonberg <schonberg@adacore.com> | |
5800 | ||
5801 | * sem_res.adb (Resolve_Call): A call to an expression function | |
5802 | does not freeze if it appears in a different scope from the | |
5803 | expression function itself. Such calls appear in the generated | |
5804 | bodies of other expression functions, or in pre/postconditions | |
5805 | of subsequent subprograms. | |
5806 | ||
98564bfc | 5807 | 2012-04-02 Yannick Moy <moy@adacore.com> |
5808 | ||
5809 | * lib-xref-alfa.adb: Code clean up. | |
5810 | ||
5811 | 2012-04-02 Ed Schonberg <schonberg@adacore.com> | |
5812 | ||
5813 | * sem_ch12.adb (Analyze_Subprogram_Instantiation): Do not suppress | |
5814 | style checks, because the subprogram instance itself may contain | |
5815 | violations of syle rules. | |
5816 | * style.adb (Missing_Overriding): Check for missing overriding | |
5817 | indicator on a subprogram instance. | |
5818 | ||
5819 | 2012-04-02 Hristian Kirtchev <kirtchev@adacore.com> | |
5820 | ||
5821 | * sem_ch6.adb (Last_Implicit_Declaration): New routine. | |
5822 | (Process_PPCs): Insert the body of _postconditions after the | |
5823 | last internally generated declaration. This ensures that actual | |
5824 | subtypes created for formal parameters are visible and properly | |
5825 | frozen as _postconditions may reference them. | |
5826 | ||
d52c146a | 5827 | 2012-04-02 Robert Dewar <dewar@adacore.com> |
5828 | ||
5829 | * einfo.adb (First_Component_Or_Discriminant) Now applies to | |
5830 | all types with discriminants, not just records. | |
5831 | * exp_attr.adb (Expand_N_Attribute): Add Scalar_Values handling | |
5832 | for arrays, scalars and non-variant records. | |
5833 | * sem_attr.adb (Analyze_Attribute): Handle Valid_Scalars | |
5834 | * sem_attr.ads (Valid_Scalars): Update description | |
5835 | * sem_util.ads, sem_util.adb (No_Scalar_Parts): New function. | |
5836 | ||
af403aef | 5837 | 2012-03-31 Eric Botcazou <ebotcazou@adacore.com> |
5838 | ||
5839 | Revert | |
5840 | 2012-03-25 Eric Botcazou <ebotcazou@adacore.com> | |
5841 | ||
5842 | * gcc-interface/decl.c (SS_MARK_NAME): New define. | |
5843 | (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities | |
5844 | whose name is SS_MARK_NAME. | |
5845 | ||
d5be9f38 | 5846 | 2012-03-30 Robert Dewar <dewar@adacore.com> |
5847 | ||
5848 | * exp_ch5.adb, sem_util.adb, exp_ch4.adb: Minor comment updates. | |
5849 | ||
5850 | 2012-03-30 Yannick Moy <moy@adacore.com> | |
5851 | ||
5852 | * lib-xref-alfa.adb (Add_Alfa_File): Treat possibly 2 units at the same | |
5853 | time, putting all scopes in the same Alfa file. | |
5854 | (Add_Alfa_Xrefs): Correct errors in comparison function. Correct value | |
5855 | of Def component. | |
5856 | (Collect_Alfa): Possibly pass 2 units to Add_Alfa_File. | |
5857 | ||
81dd521a | 5858 | 2012-03-30 Hristian Kirtchev <kirtchev@adacore.com> |
5859 | ||
5860 | * exp_util.adb (Is_Secondary_Stack_BIP_Func_Call): Handle a case where | |
5861 | a build-in-place call appears as Prefix'Reference'Reference. | |
5862 | ||
5863 | 2012-03-30 Yannick Moy <moy@adacore.com> | |
5864 | ||
5865 | * lib-xref-alfa.adb: Minor refactoring to remove internal package. | |
5866 | ||
5867 | 2012-03-30 Hristian Kirtchev <kirtchev@adacore.com> | |
5868 | ||
5869 | * sem_ch5.adb (Analyze_Iteration_Scheme): Preanalyze the subtype | |
5870 | definition of a loop when the context is a quantified expression. | |
5871 | ||
5872 | 2012-03-30 Vincent Celier <celier@adacore.com> | |
5873 | ||
5874 | * prj.ads: Minor comment update. | |
5875 | ||
8b22ebf6 | 5876 | 2012-03-30 Yannick Moy <moy@adacore.com> |
5877 | ||
5878 | * lib-xref-alfa.adb, alloc.ads, lib-xref.ads: Minor addition of | |
5879 | comments and refactoring. | |
5880 | ||
6ab9aa28 | 5881 | 2012-03-30 Robert Dewar <dewar@adacore.com> |
5882 | ||
5883 | * lib-xref.adb, lib-xref-alfa.adb: Minor reformatting & code | |
5884 | reorganization. | |
5885 | ||
96b0dd1e | 5886 | 2012-03-30 Yannick Moy <moy@adacore.com> |
5887 | ||
5888 | * lib-xref-alfa.adb (Generate_Dereference): Use Get_Code_Unit | |
5889 | instead of Get_Source_Unit to get file for reference. | |
5890 | (Traverse_Compilation_Unit): Do not add scopes for generic units. | |
5891 | * lib-xref.adb (Generate_Reference): Use Get_Code_Unit instead | |
5892 | of Get_Source_Unit to get file for reference. | |
5893 | * sem_ch12.adb (Analyze_Package_Instantiation): Enable | |
5894 | instantiation in Alfa mode. | |
5895 | ||
14980c45 | 5896 | 2012-03-30 Hristian Kirtchev <kirtchev@adacore.com> |
5897 | ||
5898 | * exp_ch7.adb (Process_Declarations): Replace | |
5899 | the call to Is_Null_Access_BIP_Func_Call with | |
5900 | Is_Secondary_Stack_BIP_Func_Call. Update the related comment. | |
5901 | * exp_util.adb (Is_Null_Access_BIP_Func_Call): Removed. | |
5902 | (Is_Secondary_Stack_BIP_Func_Call): New routine. | |
5903 | (Requires_Cleanup_Actions): Replace | |
5904 | the call to Is_Null_Access_BIP_Func_Call with | |
5905 | Is_Secondary_Stack_BIP_Func_Call. Update the related comment. | |
5906 | * exp_util.ads (Is_Null_Access_BIP_Func_Call): Removed. | |
5907 | (Is_Secondary_Stack_BIP_Func_Call): New routine. | |
5908 | ||
5909 | 2012-03-30 Yannick Moy <moy@adacore.com> | |
5910 | ||
5911 | * lib-xref-alfa.adb, lib-xref.adb: Code clean ups. | |
5912 | ||
b4d9f546 | 5913 | 2012-03-30 Gary Dismukes <dismukes@adacore.com> |
5914 | ||
5915 | * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): For the case of a | |
5916 | loop entity which is rewritten as a renaming | |
5917 | of the indexed array, explicitly mark the entity as needing | |
5918 | debug info so that Materialize entity will be set later by | |
5919 | Debug_Renaming_Declaration when the renaming is expanded. | |
5920 | ||
5921 | 2012-03-30 Robert Dewar <dewar@adacore.com> | |
5922 | ||
5923 | * sem_attr.ads: Update comment. | |
5924 | ||
d0d085af | 5925 | 2012-03-30 Vincent Celier <celier@adacore.com> |
5926 | ||
5927 | * prj.ads: New Dependency_Kind: ALI_Closure. | |
5928 | ||
5929 | 2012-03-30 Thomas Quinot <quinot@adacore.com> | |
5930 | ||
5931 | * exp_pakd.adb: Minor reformatting. | |
5932 | ||
00a8e50e | 5933 | 2012-03-30 Yannick Moy <moy@adacore.com> |
5934 | ||
5935 | * lib-xref-alfa.adb (Add_Alfa_File): Take into account possible absence | |
5936 | of compilation unit for unit in Sdep_Table. | |
5937 | ||
9f071888 | 5938 | 2012-03-30 Thomas Quinot <quinot@adacore.com> |
5939 | ||
5940 | * freeze.adb (Freeze_Record_Type): For a type with reversed bit | |
5941 | order and reversed storage order, disable front-end relayout. | |
5942 | ||
db056468 | 5943 | 2012-03-25 Eric Botcazou <ebotcazou@adacore.com> |
5944 | ||
5945 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Copy | |
5946 | the TYPE_PACKED flag from the base type. | |
5947 | ||
3a4b0b99 | 5948 | 2012-03-25 Eric Botcazou <ebotcazou@adacore.com> |
5949 | ||
5950 | * gcc-interface/decl.c (SS_MARK_NAME): New define. | |
5951 | (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities | |
5952 | whose name is SS_MARK_NAME. | |
5953 | ||
ae16f71d | 5954 | 2012-03-25 Eric Botcazou <ebotcazou@adacore.com> |
5955 | ||
5956 | * gcc-interface/utils.c (add_parallel_type): Take a TYPE instead of a | |
5957 | DECL and adjust. Move around. | |
5958 | (has_parallel_type): New predicate. | |
5959 | (rest_of_record_type_compilation): Return early if the type already | |
5960 | has a parallel type. | |
5961 | * gcc-interface/gigi.h (add_parallel_type): Adjust. | |
5962 | * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes. | |
5963 | ||
96e7147a | 5964 | 2012-03-25 Eric Botcazou <ebotcazou@adacore.com> |
5965 | ||
5966 | * gcc-interface/utils.c (finish_record_type): Return early for padded | |
5967 | types and tidy up. | |
5968 | ||
fbd95193 | 5969 | 2012-03-20 Arnaud Charlet <charlet@adacore.com> |
5970 | ||
5971 | * hlo.ads, hlo.adb: Removed, no longer used. | |
5972 | * gcc-interface/Make-lang.in: Remove hlo.o. Update dependencies. | |
5973 | * gcc-interface/Makefile.in: Remove EXTRA_LIBGNAT_SRCS (temporarly) | |
5974 | and compute it from EXTRA_LIBGNAT_OBJS. | |
5975 | Clean up comments, reorder LIBGNAT_SRCS and LIBGNAT_OBJS. | |
5976 | ||
0a13aca8 | 5977 | 2012-03-20 Yannick Moy <moy@adacore.com> |
5978 | ||
5979 | * gnat_rm.texi, sem_attr.ads: Update documentation. | |
5980 | ||
9b8df6be | 5981 | 2012-03-19 Yannick Moy <moy@adacore.com> |
5982 | ||
5983 | * sem_ch6.adb: Minor code clean up. | |
5984 | ||
5985 | 2012-03-19 Vincent Celier <celier@adacore.com> | |
5986 | ||
5987 | * make.adb (Scan_Make_Arg): Make sure all significant -m switches | |
5988 | on the command line are counted. | |
5989 | ||
5990 | 2012-03-19 Robert Dewar <dewar@adacore.com> | |
5991 | ||
5992 | * sem_elab.adb (Generate_Elab_Warnings): Fix spec, fix attribute | |
5993 | reference case | |
5994 | ||
5995 | 2012-03-19 Robert Dewar <dewar@adacore.com> | |
5996 | ||
5997 | * par-ch4.adb (Check_Bad_Exp): New procedure | |
5998 | ||
5999 | 2012-03-19 Robert Dewar <dewar@adacore.com> | |
6000 | ||
6001 | * exp_attr.adb, sem_attr.adb, sem_attr.ads, snames.ads-tmpl: Add | |
6002 | initial framework for Valid_Scalars attribute. | |
6003 | ||
6004 | 2012-03-19 Robert Dewar <dewar@adacore.com> | |
6005 | ||
6006 | * scng.adb (Scan): Recognize incorrect preprocessor directive | |
6007 | ||
6008 | 2012-03-19 Robert Dewar <dewar@adacore.com> | |
6009 | ||
6010 | * atree.adb (Allocate_Initialize_Node): Use Num_Extension_Nodes | |
6011 | * atree.ads (Num_Extension_Nodes): New variable | |
6012 | * debug.adb: New debug flag -gnatd.N | |
6013 | * gnat1drv.adb (Adjust_Global_Switches): Adjust | |
6014 | Num_Extension_Nodes if -gnatd.N set | |
6015 | ||
6016 | 2012-03-19 Eric Botcazou <ebotcazou@adacore.com> | |
6017 | ||
6018 | * einfo.ads: Minor update to First_Rep_Item and Has_Gigi_Rep_Item | |
6019 | descriptions. | |
6020 | ||
6021 | 2012-03-19 Robert Dewar <dewar@adacore.com> | |
6022 | ||
6023 | * opt.ads: Remove HLO_Active flag. | |
6024 | * sem.adb: Remove call of high level optimizer. | |
6025 | * sem.ads (New_Nodes_OK): Removed. | |
6026 | * sem_ch10.adb: Remove references to New_Nodes_OK. | |
6027 | * switch-c.adb: Remove handling of -gnatH switch. | |
6028 | ||
e6ae24fa | 6029 | 2012-03-19 Yannick Moy <moy@adacore.com> |
6030 | ||
6031 | * sem_ch6.adb (Check_Subprogram_Contract): Do not emit warnings | |
6032 | on trivially True or False postconditions and Ensures components | |
6033 | of contract-cases. | |
6034 | ||
6035 | 2012-03-19 Robert Dewar <dewar@adacore.com> | |
6036 | ||
6037 | * gnat_ugn.texi: Fix index entry for -gnatei (now we have | |
6038 | ug_words entry). | |
6039 | ||
eede3b44 | 6040 | 2012-03-19 Hristian Kirtchev <kirtchev@adacore.com> |
6041 | ||
6042 | * sem_ch3.adb (Get_Discriminant_Value): Instead of looking | |
6043 | at the immediate correcponsing discriminant, traverse a | |
6044 | potential chain of discriminants produced by type derivations. | |
6045 | (Root_Corresponding_Discriminant): Traverse a chain of inherited | |
6046 | discriminants and return the topmost discriminant. | |
6047 | ||
6048 | 2012-03-19 Bob Duff <duff@adacore.com> | |
6049 | ||
6050 | * debug.adb: Minor comment change. | |
6051 | * gnat_ugn.texi: Update documentation for elaboration regarding | |
6052 | indirect calls. | |
6053 | ||
6054 | 2012-03-19 Gary Dismukes <dismukes@adacore.com> | |
6055 | ||
6056 | * exp_ch3.adb (Expand_N_Object_Declaration): In | |
6057 | the case of an object of a class-wide interface type, where the | |
6058 | declaration is rewritten as a renaming, call Set_Debug_Info_Needed | |
6059 | on the renaming entity so that Materialize_Entity will be | |
6060 | set. Also, change existing call (for other than interface cases) | |
6061 | to call Set_Debug_Info_Needed rather than Set_Needs_Debug_Info | |
6062 | (as specified for that flag). | |
6063 | ||
efe1035c | 6064 | 2012-03-19 Hristian Kirtchev <kirtchev@adacore.com> |
6065 | ||
6066 | * sem_ch4.adb (Analyze_Allocator): Detect an allocator generated | |
6067 | by the build-in-place machinery where the designated type is | |
6068 | indefinite, but the underlying type is not. Do not emit errors | |
6069 | related to missing initialization in this case. | |
6070 | ||
6071 | 2012-03-19 Robert Dewar <dewar@adacore.com> | |
6072 | ||
6073 | * gnat_ugn.texi: Add documentation for -gnateinnn switch. | |
6074 | * sem_elab.adb, put_alfa.adb, lib-xref-alfa.adb: Minor reformatting. | |
6075 | * sem_prag.adb: Minor comment update. | |
6076 | ||
de2e6464 | 6077 | 2012-03-15 Robert Dewar <dewar@adacore.com> |
6078 | ||
6079 | * errout.ads: Add entry for translating -gnateinn to | |
6080 | /MAX_INSTANTIATIONS for VMS. | |
6081 | * hostparm.ads (Max_Instantiations): Moved to Opt. | |
6082 | * opt.ads (Maximum_Instantiations): Moved from Hostparm, and renamed. | |
6083 | * sem_ch12.adb (Maximum_Instantiations): New name of | |
6084 | Max_Instantiations (Analyze_Package_Instantiation): Change error | |
6085 | msg for too many instantiations (mention -gnateinn switch). | |
6086 | * switch-c.adb (Scan_Front_End_Switches): Implement -gnateinn switch. | |
6087 | * switch.ads: Minor comment update. | |
6088 | * usage.adb (Usage): Output line for -maxeinn switch. | |
6089 | * vms_data.ads: Add entry for MAX_INSTANTIATIONS (-gnateinn). | |
6090 | ||
6091 | 2012-03-15 Yannick Moy <moy@adacore.com> | |
6092 | ||
6093 | * alfa.ads Update the decription of ALI sections. | |
6094 | (Alfa_File_Record): Add a component Unit_File_Name to store the | |
6095 | unit file name for subunits. | |
6096 | * get_alfa.adb, put_alfa.adb Adapt to the possible presence of | |
6097 | a unit file name. | |
6098 | * lib-xref-alfa.adb (Add_Alfa_File): For subunits, retrieve the | |
6099 | file name of the unit. | |
6100 | ||
6101 | 2012-03-15 Yannick Moy <moy@adacore.com> | |
6102 | ||
6103 | * sem_ch6.adb (Check_Subprogram_Contract): Do | |
6104 | not issue warning on missing 'Result in postcondition if all | |
6105 | postconditions and contract-cases already get a warning for only | |
6106 | referring to pre-state. | |
6107 | ||
6108 | 2012-03-15 Bob Duff <duff@adacore.com> | |
6109 | ||
6110 | * debug.adb: Add new debug switch -gnatd.U, which disables the | |
6111 | support added below, in case someone trips over a cycle, and needs | |
6112 | to disable this. | |
6113 | * sem_attr.adb (Analyze_Access_Attribute): | |
6114 | Treat Subp'Access as a call for elaboration purposes. | |
6115 | * sem_elab.ads, sem_elab.adb (Check_Elab_Call): Add support | |
6116 | for Subp'Access. | |
6117 | ||
239fc533 | 6118 | 2012-03-15 Vincent Pucci <pucci@adacore.com> |
6119 | ||
6120 | * sem.ads, sem.adb (Preanalyze): New routine. | |
6121 | * sem_ch4.adb (Analyze_Quantified_Expression): Call to the | |
6122 | Preanalyze routine in Sem added. Renaming of Needs_Expansion | |
6123 | into Need_Preanalysis. | |
6124 | * sem_ch6.adb (Preanalyze): Removed. | |
6125 | ||
fc859004 | 6126 | 2012-03-15 Robert Dewar <dewar@adacore.com> |
6127 | ||
6128 | * sem_ch4.adb (Analyze_Quantified_Expression): Add comment. | |
6129 | * sem_prag.adb: Minor comment additions. | |
6130 | * sem_attr.adb (Check_First_Last_Valid): Make sure prefix type | |
6131 | is frozen. | |
6132 | ||
ef3d7c7d | 6133 | 2012-03-15 Vincent Pucci <pucci@adacore.com> |
6134 | ||
6135 | * sem_ch4.adb (Analyze_Quantified_Expression): | |
6136 | Preanalyze the condition when the quantified expression will be | |
6137 | further expanded. | |
6138 | ||
6139 | 2012-03-15 Yannick Moy <moy@adacore.com> | |
6140 | ||
6141 | * sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, sem_ch6.adb, | |
6142 | sem_warn.adb: Minor refactoring, renaming Case_Pragma in CTC_Pragma, | |
6143 | to refer to both Test_Case pragma and Contract_Case pragma (same | |
6144 | acronym as in Spec_CTC_List). | |
6145 | ||
defed25d | 6146 | 2012-03-15 Robert Dewar <dewar@adacore.com> |
6147 | ||
6148 | * sem_prag.adb, sem_prag.ads, sem_util.ads, sem_attr.adb, sem_ch6.adb, | |
6149 | sem_warn.adb: Minor reformatting. | |
6150 | ||
469bbc18 | 6151 | 2012-03-15 Hristian Kirtchev <kirtchev@adacore.com> |
6152 | ||
6153 | * exp_util.adb (Initialized_By_Ctrl_Function): Do not loop over | |
6154 | selector names as the function call always appears at the top selected | |
6155 | component. | |
6156 | ||
6157 | 2012-03-15 Ed Schonberg <schonberg@adacore.com> | |
6158 | ||
6159 | * sem_ch12.adb (Validate_Access_Subprogram_Instance): keep | |
6160 | Mode_Conformance check for older versions of the language. | |
6161 | ||
6162 | 2012-03-15 Yannick Moy <moy@adacore.com> | |
6163 | ||
6164 | * gnat_ugn.texi Document the extension of option -gnatw.t. | |
6165 | * sem_ch3.adb (Analyze_Declaration): Check for suspicious | |
6166 | contracts only after contract cases have been semantically | |
6167 | analyzed. | |
6168 | * sem_ch6.adb (Check_Subprogram_Contract): Consider also Ensures | |
6169 | components of contract cases for detecting suspicious contracts. | |
6170 | ||
fad014fe | 6171 | 2012-03-15 Yannick Moy <moy@adacore.com> |
6172 | ||
6173 | * aspects.adb, aspects.ads (Aspect_Id): New GNAT aspect | |
6174 | Aspect_Contract_Case. | |
6175 | * gnat_rm.texi Document the new pragma/aspect | |
6176 | Contract_Case. Correct the documentation of the existing | |
6177 | pragma/aspect Test_Case with the new semantics. | |
6178 | * sem_attr.adb (Analyze_Attribute): Allow use of 'Result in the | |
6179 | Ensures component of a Contract_Case pragma. | |
6180 | * sem_ch13.adb (Analyze_Aspect_Specifications): Check new aspect | |
6181 | and translate it into a pragma. | |
6182 | (Check_Aspect_At_Freeze_Point): Take into account the new aspect. | |
6183 | * sem_ch3.adb, sinfo.adb, sinfo.ads Renaming of TC (for test case) | |
6184 | into CTC (for contract and test case). | |
6185 | * sem_ch6.adb (Process_PPCs): Generate Check pragmas from | |
6186 | Contract_Case pragmas, similarly to what is done already for | |
6187 | postconditions. | |
6188 | * sem_prag.adb, sem_prag.ads (Check_Contract_Or_Test_Case): | |
6189 | Renaming of Check_Test_Case. | |
6190 | (Analyze_Pragma, Sig_Flags): Take into account the new pragma. | |
6191 | * sem_util.adb, sem_util.ads Renaming to take into account the | |
6192 | new pragma, so that functions which applied only to Test_Case | |
6193 | now apply to both Test_Case and Contract_Case. | |
6194 | * par-prag.adb, sem_warn.adb, snames.ads-tmpl Take into account | |
6195 | the new pragma. | |
6196 | ||
3b8208fd | 6197 | 2012-03-15 Robert Dewar <dewar@adacore.com> |
6198 | ||
6199 | * sem_ch6.ads: Minor comment updates. | |
6200 | * sem_ch12.adb: Minor comment clarification. | |
6201 | ||
ad3ac5aa | 6202 | 2012-03-15 Robert Dewar <dewar@adacore.com> |
6203 | ||
6204 | * sem_ch5.adb: Minor reformatting. | |
6205 | ||
6206 | 2012-03-15 Ed Schonberg <schonberg@adacore.com> | |
6207 | ||
6208 | * exp_ch3.adb (Expand_N_Object_Declaration): When rewriting the | |
6209 | declaration of a class-wide object, retain the Ekind to prevent | |
6210 | subsequent misuse of constants. | |
6211 | ||
6212 | 2012-03-15 Yannick Moy <moy@adacore.com> | |
6213 | ||
6214 | * gnat_rm.texi, gnat_ugn.texi: Minor correction of invariant | |
6215 | terminology. | |
6216 | ||
6217 | 2012-03-15 Hristian Kirtchev <kirtchev@adacore.com> | |
6218 | ||
6219 | * exp_util.adb (Initialized_By_Ctrl_Function): Add code to | |
6220 | process the case when a function call appears in object.operation | |
6221 | format. | |
6222 | ||
6223 | 2012-03-15 Ed Schonberg <schonberg@adacore.com> | |
6224 | ||
6225 | * sem_ch6.ads, sem_ch6.adb (Check_Subtype_Conformant): add | |
6226 | Get_Inst formal, so that conformance within an instantiation | |
6227 | follows renamings of formals. This is similar to what is already | |
6228 | done in Check_Mode_conformant. | |
6229 | * sem_ch12.adb (Vailidate_Access_Subprogram_Instance): check that | |
6230 | formal and actual are subtype conformant. Previously only mode | |
6231 | conformance was required. | |
6232 | ||
1b24a6cb | 6233 | 2012-03-15 Robert Dewar <dewar@adacore.com> |
6234 | ||
6235 | * par-ch6.adb, einfo.ads, sem_eval.adb, sem_eval.ads, | |
6236 | sem_case.adb: Minor reformatting. | |
6237 | ||
6238 | 2012-03-15 Robert Dewar <dewar@adacore.com> | |
6239 | ||
6240 | * exp_attr.adb (Expand_N_Attribute_Reference): Add handling | |
6241 | of First_Valid/Last_Valid. | |
6242 | * sem_attr.adb (Check_First_Last_Valid): New procedure | |
6243 | (Analyze_Attribute): Add handling of First_Valid and Last_Valid | |
6244 | (Eval_Attribute): ditto. | |
6245 | * snames.ads-tmpl: Add entries for First_Valid and Last_Valid. | |
6246 | ||
6247 | 2012-03-15 Ed Schonberg <schonberg@adacore.com> | |
6248 | ||
6249 | * exp_ch5.adb (Expand_Predicated_Loop): Suppress warnings on | |
6250 | loop variable, for the unusual case where the range has a single | |
6251 | element and the loop variable has no visible assignment to it. | |
6252 | ||
6253 | 2012-03-15 Vincent Pucci <pucci@adacore.com> | |
6254 | ||
6255 | * exp_ch4.adb (Expand_N_Quantified_Expression): Expand the | |
6256 | original quantified expression node. | |
6257 | * sem_ch4.adb (Analyze_Quantified_Expression): Properly analyze | |
6258 | the quantified expression and preserve the original non-analyzed | |
6259 | quantified expression when an expansion is needed. | |
6260 | * sem_ch5.adb (Analyze_Iteration_Scheme): Special treatment | |
6261 | for quantified expressions. | |
6262 | (Analyze_Iterator_Specification): Special treatment for quantified | |
6263 | expressions. | |
6264 | ||
6265 | 2012-03-15 Ed Falis <falis@adacore.com> | |
6266 | ||
6267 | * s-vxwork-ppc.ads: Update FP_CONTEXT so name of former pad | |
6268 | field matches VxWorks headers. | |
6269 | ||
5641963c | 6270 | 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
6271 | ||
6272 | * gcc-interface/Makefile.in (mips-sgi-irix6*): Remove. | |
6273 | ||
6274 | * a-intnam-irix.ads, mlib-tgt-specific-irix.adb, | |
6275 | s-intman-irix.adb, s-mastop-irix.adb, s-osinte-irix.adb, | |
6276 | s-osinte-irix.ads, s-proinf-irix-athread.adb, | |
6277 | s-proinf-irix-athread.ads, s-taprop-irix.adb, s-tasinf-irix.ads, | |
6278 | system-irix-n32.ads, system-irix-n64.ads, system-irix-o32.ads: | |
6279 | Remove. | |
6280 | ||
6281 | * adaint.c [__mips && __sgi]: Remove. | |
6282 | (__gnat_number_of_cpus) [__mips && __sgi]: Remove. | |
6283 | [IS_CROSS && !(__mips && __sgi)]: Remove. | |
6284 | * adaint.h [sgi && _LFAPI]: Remove. | |
6285 | * cstreams.c (__gnat_full_name) [sgi]: Remove. | |
6286 | * env.c (__gnat_unsetenv) [__mips && __sgi]: Remove. | |
6287 | (__gnat_clearenv) [__mips && __sgi]: Remove. | |
6288 | * errno.c (_SGI_MP_SOURCE): Remove. | |
6289 | * gsocket.h [sgi]: Remove. | |
6290 | * init.c: Remove IRIX reference. | |
6291 | [sgi]: Remove. | |
6292 | * link.c [sgi]: Remove. | |
6293 | * s-oscons-tmplt.c [__mips && __sgi] (IOV_MAX): Don't define. | |
6294 | (main) [__mips && __sgi] (MAX_tv_sec): Don't define. | |
6295 | (CLOCK_SGI_FAST, CLOCK_SGI_CYCLE): Remove. | |
6296 | * sysdep.c [sgi]: Remove. | |
6297 | (getc_immediate_common) [sgi]: Remove. | |
6298 | (__gnat_localtime_tzoff) [sgi]: Remove. | |
6299 | * terminals.c [__mips && __sgi] (IRIX): Don't define. | |
6300 | [IRIX] (USE_GETPTY): Don't define. | |
6301 | (allocate_pty_desc) [USE_GETPTY]: Remove. | |
6302 | ||
6303 | * g-traceb.ads: Remove IRIX reference. | |
6304 | * g-trasym.ads: Likewise. | |
6305 | * memtrack.adb: Likewise. | |
6306 | * s-interr-sigaction.adb: Likewise. | |
6307 | ||
6308 | * gnat_rm.texi (Implementation Advice): Remove SGI info. | |
6309 | (Implementation Defined Characteristics): Likewise. | |
6310 | * gnat_ugn.texi (Summary of Run-Time Configurations, mips-irix): | |
6311 | Remove. | |
6312 | (Irix-Specific Considerations): Remove. | |
6313 | ||
cb30e799 | 6314 | 2012-03-13 Tristan Gingold <gingold@adacore.com> |
6315 | ||
6316 | * gcc-interface/gigi.h (flag_vms_malloc64): Refine condition. | |
6317 | ||
1e958bb8 | 6318 | 2012-03-13 Tristan Gingold <gingold@adacore.com> |
6319 | ||
6320 | * sysdep.c: Adjust condition after removal of __osf__. | |
6321 | ||
dd0cd1e4 | 6322 | 2012-03-12 Eric Botcazou <ebotcazou@adacore.com> |
6323 | ||
6324 | * gcc-interface/gigi.h (shift_unc_components_for_thin_pointers): Kill. | |
6325 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Remove call | |
6326 | to above function. | |
6327 | * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Adjust | |
6328 | handling of thin pointers. | |
6329 | <Attr_Descriptor_Size>: Likewise. | |
6330 | (gnat_to_gnu) <N_Free_Statement>: Likewise. | |
6331 | * gcc-interface/utils.c (shift_unc_components_for_thin_pointers): Kill. | |
6332 | (convert_to_fat_pointer): Adjust handling of thin pointers. | |
6333 | (convert) <POINTER_TYPE>: Likewise. | |
6334 | * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise. | |
6335 | ||
126b6848 | 6336 | 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
6337 | ||
6338 | * gcc-interface/Makefile.in (alpha*-dec-osf*): Remove. | |
6339 | * a-intnam-tru64.ads, mlib-tgt-specific-tru64.adb, | |
6340 | s-mastop-tru64.adb, s-osinte-tru64.adb, s-osinte-tru64.ads, | |
6341 | s-taprop-tru64.adb, s-tasinf-tru64.ads, s-taspri-tru64.ads, | |
6342 | system-tru64.ads: Remove. | |
6343 | ||
6344 | * adaint.c (__gnat_number_of_cpus) [__alpha__ && __osf__]: | |
6345 | Remove. | |
6346 | [IS_CROSS] [!(__alpha__ && __osf__)]: Remove. | |
6347 | * env.c [__alpha__ && __osf__]: Remove. | |
6348 | * gsocket.h (_OSF_SOURCE): Remove. | |
6349 | (HAVE_THREAD_SAFE_GETxxxBYyyy) [__osf__]: Remove. | |
6350 | * init.c [__alpha__ && __osf__]: Remove. | |
6351 | * link.c [__osf__]: Remove. | |
6352 | * s-oscons-tmplt.c [__alpha__ && __osf__]: Remove. | |
6353 | [__osf__ && !_SS_MAXSIZE]: Remove. | |
6354 | * sysdep.c [__osf__]: Remove. | |
6355 | * terminals.c [__alpha__ && __osf__]: Remove. | |
6356 | [OSF1]: Remove. | |
6357 | ||
6358 | * g-traceb.ads: Remove Tru64 reference. | |
6359 | * g-trasym.ads: Likewise. | |
6360 | * gnat_ugn.texi (Linking a Mixed C++ & Ada Program): Likewise. | |
6361 | (Summary of Run-Time Configurations): Likewise. | |
6362 | * memtrack.adb: Likewise. | |
6363 | ||
8f852c44 | 6364 | 2012-03-12 Tristan Gingold <gingold@adacore.com> |
6365 | ||
6366 | * gcc-interface/decl.c (gnat_to_gnu_param): Use flag_vms_malloc64 | |
6367 | instead of TARGET_MALLOC64. | |
6368 | * gcc-interface/gigi.h (flag_vms_malloc64): Define instead | |
6369 | of TARGET_MALLOC64. | |
6370 | ||
1b989431 | 6371 | 2012-03-09 Robert Dewar <dewar@adacore.com> |
6372 | ||
6373 | * a-direct.adb, comperr.adb, freeze.adb: Minor reformatting. | |
6374 | ||
6375 | 2012-03-09 Arnaud Charlet <charlet@adacore.com> | |
6376 | ||
6377 | * s-taskin.adb (Initialize_ATCB): Set Task_Image_Len to | |
6378 | 0 so that we never access this field uninitialized (e.g. in | |
6379 | Task_Primitives.Operations.Enter_Task for the environment task). | |
6380 | ||
6381 | 2012-03-09 Vincent Pucci <pucci@adacore.com> | |
6382 | ||
6383 | * exp_ch5.adb (Expand_Iterator_Loop): | |
6384 | Call to Expand_Iterator_Loop_Over_Array added. | |
6385 | (Expand_Iterator_Loop_Over_Array): New routine. Expansion of | |
6386 | "of" iterator loop over arrays. Multidimensional array case added. | |
6387 | ||
6388 | 2012-03-09 Eric Botcazou <ebotcazou@adacore.com> | |
6389 | ||
6390 | * uintp.ads: Fix minor pasto in comment. | |
6391 | ||
b7b74740 | 6392 | 2012-03-09 Vasiliy Fofanov <fofanov@adacore.com> |
6393 | ||
6394 | * a-direct.adb: Do not strip the trailing directory separator | |
6395 | from path, as this is already done inside Normalize_Pathname; | |
6396 | doing it again produces the wrong result on Windows for the | |
6397 | drive's root dir (i.e. "X:\" becomes "X:"). | |
6398 | ||
6399 | 2012-03-09 Thomas Quinot <quinot@adacore.com> | |
6400 | ||
6401 | * exp_attr.adb, freeze.adb, sem_attr.adb, aspects.adb, aspects.ads, | |
6402 | sem_ch13.adb, snames.ads-tmpl (Exp_Attr.Expand_N_Attribute_Reference): | |
6403 | Add Attribute_Scalar_Storage_Order. | |
6404 | (Sem_Attr.Analyze_Attribute, Eval_Attribute): Ditto. | |
6405 | (Aspects): Add Aspect_Scalar_Storage_Order (Snames): Add | |
6406 | Name_Scalar_Storage_Order and Attribute_Scalar_Storage_Order. | |
6407 | (Sem_Ch13.Analyze_Attribute_Definition_Clause): Add processing | |
6408 | for Scalar_Storage_Order. | |
6409 | (Freeze): If Scalar_Storage_Order is specified, check that it | |
6410 | is compatible with Bit_Order. | |
6411 | ||
385d80fe | 6412 | 2012-03-09 Robert Dewar <dewar@adacore.com> |
6413 | ||
6414 | * s-osinte-linux.ads, sem_util.adb, s-taprop-linux.adb, exp_ch4.adb, | |
6415 | a-strsup.ads, sem_ch6.adb, a-stwisu.ads, exp_ch3.adb, | |
6416 | a-stzsup.ads: Minor reformatting. | |
6417 | ||
6418 | 2012-03-09 Thomas Quinot <quinot@adacore.com> | |
6419 | ||
6420 | * s-ransee-vms.adb: Minor reformatting. | |
6421 | ||
6422 | 2012-03-09 Arnaud Charlet <charlet@adacore.com> | |
6423 | ||
6424 | * comperr.adb (Delete_SCIL_Files): Fix handling of | |
6425 | N_Package_Renaming_Declaration and N_Generic_Package_Declaration. | |
6426 | ||
2608e824 | 6427 | 2012-03-09 Javier Miranda <miranda@adacore.com> |
6428 | ||
6429 | * sem_ch6.adb (Check_Body_To_Inline): In AAMP and VM targets | |
6430 | use frontend inlining at all optimization levels. | |
6431 | * sem_util.adb (Must_Inline): In AAMP and VM targets, given that | |
6432 | there is no inlining support in the backend, use also frontend | |
6433 | inlining when compiling with optimizations enabled. | |
6434 | * exp_ch6.adb (Expand_Call): Minor code reorganization. | |
6435 | ||
7b4b0e11 | 6436 | 2012-03-09 Eric Botcazou <ebotcazou@adacore.com> |
6437 | ||
6438 | * gcc-interface/ada-tree.h (TYPE_VAX_FLOATING_POINT_P): Move around. | |
6439 | (TYPE_UNCONSTRAINED_ARRAY): Adjust comment. | |
6440 | * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Tidy | |
6441 | up. Add comment and use canonical predicate for thin pointers. | |
6442 | (gnat_to_gnu) <N_Free_Statement>: Tidy up and reorder. Add comment | |
6443 | and use canonical predicate for thin pointers. | |
6444 | * gcc-interface/utils.c (convert_to_fat_pointer): Remove superfluous | |
6445 | 'else' and use standard name. | |
6446 | (convert_to_thin_pointer): Delete. | |
6447 | (convert) <POINTER_TYPE>: Do the difference in sizetype directly and | |
6448 | change obsolete idioms. Do not call above function. | |
6449 | (unchecked_convert): Fix formatting. | |
6450 | * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: In the thin | |
6451 | pointer case, use byte_position to get the field position. | |
6452 | ||
a9e7ff04 | 6453 | 2012-03-07 Eric Botcazou <ebotcazou@adacore.com> |
6454 | ||
6455 | * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set flags on the | |
6456 | DECL node built for a type which has a non-trivial equivalent type. | |
6457 | ||
3fb9f0d4 | 6458 | 2012-03-07 Eric Botcazou <ebotcazou@adacore.com> |
6459 | ||
6460 | * gcc-interface/gigi.h (rest_of_type_decl_compilation): Delete. | |
6461 | * gcc-interface/decl.c (defer_finalize_level): Likewise. | |
6462 | (defer_finalize_list): Likewise. | |
6463 | (gnat_to_gnu_entity): Delete references to above variables and do not | |
6464 | call rest_of_type_decl_compilation. | |
6465 | (rest_of_type_decl_compilation): Delete. | |
6466 | (rest_of_type_decl_compilation_no_defer): Likewise. | |
6467 | * gcc-interface/utils.c (rest_of_record_type_compilation): Do not call | |
6468 | rest_of_type_decl_compilation. | |
6469 | (create_type_decl): Likewise. | |
6470 | (update_pointer_to): Likewise. | |
6471 | ||
97995ac1 | 6472 | 2012-03-07 Eric Botcazou <ebotcazou@adacore.com> |
6473 | ||
6474 | * gcc-interface/trans.c (Identifier_to_gnu): Don't unshare initializer. | |
6475 | (add_decl_expr): Mark external DECLs as used. | |
6476 | * gcc-interface/utils.c (convert) <CONSTRUCTOR>: Copy the vector. | |
6477 | ||
4e2b92f6 | 6478 | 2012-03-07 Tristan Gingold <gingold@adacore.com> |
6479 | ||
6480 | * s-ransee-vms.adb: New file. | |
6481 | * gcc-interface/Makefile.in: Use s-ransee-vms.adb on VMS. | |
6482 | * gcc-interface/Make-lang.in: Update dependencies. | |
6483 | ||
de4993fc | 6484 | 2012-03-07 Bob Duff <duff@adacore.com> |
6485 | ||
6486 | * rtsfind.ads: Add support for finding Super_String types. | |
6487 | * sem_util.ads, sem_util.adb (Is_Bounded_String): New function | |
6488 | to determine whether a given type is a bounded string type. | |
6489 | (Is_Fully_Initialized_Type): Return True for bounded | |
6490 | string types, to suppress bogus warnings. | |
6491 | * exp_ch4.adb (Expand_Composite_Equality): Special case for bounded | |
6492 | strings: equality composes. This allows us to remove default values in | |
6493 | super strings. | |
6494 | * a-strsup.ads, a-stwisu.ads, a-stzsup.ads: Update comments. | |
6495 | * exp_ch3.adb (Expand_Freeze_Record_Type): Comment. | |
6496 | ||
019bce56 | 6497 | 2012-03-07 Robert Dewar <dewar@adacore.com> |
6498 | ||
6499 | * sem_util.adb, exp_ch4.adb, exp_ch6.adb, sem_ch6.adb: Minor | |
6500 | reformatting. | |
6501 | ||
6502 | 2012-03-07 Sergey Rybin <rybin@adacore.com frybin> | |
6503 | ||
6504 | * gnat_ugn.texi: gnatpp: fix paragraph about sources with | |
6505 | preprocessor directives. | |
6506 | ||
6507 | 2012-03-07 Arnaud Charlet <charlet@adacore.com> | |
6508 | ||
6509 | * s-osinte-linux.ads, s-taprop-linux.adb (prctl): New function. | |
6510 | (Enter_Task): Call prctl when relevant. | |
6511 | ||
6512 | 2012-03-07 Tristan Gingold <gingold@adacore.com> | |
6513 | ||
6514 | * s-osinte-vms.ads: pthread_mutex_setname_np: new function. | |
6515 | ||
50cab70b | 6516 | 2012-03-07 Ed Schonberg <schonberg@adacore.com> |
6517 | ||
6518 | * sem_ch6.adb (Process_Formals): a generic subprogram with | |
6519 | a formal incomplete type does not require a freeze node. | |
6520 | ||
6521 | 2012-03-07 Bob Duff <duff@adacore.com> | |
6522 | ||
6523 | * sem_util.ads: Minor reformatting. | |
6524 | ||
6525 | 2012-03-07 Geert Bosch <bosch@adacore.com> | |
6526 | ||
6527 | * targparm.ads: New target parameter Atomic_Sync_Default, | |
6528 | defaulting to True. | |
6529 | * targparm.adb (Get_Target_Parameters): Add processing for | |
6530 | Atomic_Sync_Default. | |
6531 | * gnat1drv.adb (Adjust_Global_Switches): Adjust Supress_Options | |
6532 | based on ASD. | |
6533 | ||
9ef23ec9 | 6534 | 2012-03-07 Javier Miranda <miranda@adacore.com> |
6535 | ||
6536 | * sem_ch3.adb (Analyze_Object_Declaration): If the object | |
6537 | declaration has an init expression then stop the analysis of the | |
6538 | object declaration if the expression which initializes the object | |
6539 | is a call to an inlined function which returns an unconstrained | |
6540 | and has been expanded into a procedure call. | |
6541 | * sem_ch5.adb (Has_Call_Using_Secondary_Stack): Add missing | |
6542 | support to handle selected components. | |
6543 | * sem_ch6.ads (Cannot_Inline): Adding parameter Is_Serious plus | |
6544 | documentation. | |
6545 | * sem_ch6.adb (Check_And_Build_Body_To_Inline): New | |
6546 | subprogram which implements the checks required by the | |
6547 | new rules for frontend inlining and builds the body to inline. | |
6548 | (Analyze_Subprogram_Body_Helper): Move code that | |
6549 | checks inlining of subprogram that has nested subprogram | |
6550 | to Check_And_Build_Body_To_Inline. Replace call to | |
6551 | Build_Body_To_Inline by call to the new subprogram | |
6552 | Check_And_Build_Body_To_Inline. | |
6553 | (Cannot_Inline): New implementation. | |
6554 | * sem_ch12.adb (Analyze_Package_Instantiation.Must_Inline_Subp): | |
6555 | New subprogram. | |
6556 | * sem_util.ad[sb] (Must_Inline): New subprogram. | |
6557 | (Returns_Unconstrained_Type): New subprogram. | |
6558 | * sem_res.adb (Resolve_Call): Do not create a transient scope | |
6559 | for inlined calls. | |
6560 | * inline.ads (Analyzing_Inlined_Bodies): Remove unreferenced variable. | |
6561 | * inline.adb (Analyze_Inlined_Bodies, Initialize): Remove setting | |
6562 | to false the variable Analyzing_Inlined_Bodies. Fix comments. | |
6563 | * exp_ch4.adb (Expand_N_Allocator): Fix handling of finalization master. | |
6564 | * exp_ch6.ads (List_Inlining_Info): New subprogram. | |
6565 | * exp_ch6.adb (Expand_Call.Do_Inline): New subprogram. | |
6566 | (Expand_Call.Do_Inline_Always): New subprogram. | |
6567 | (In_Unfrozen_Instance): Move the declaration of this subprogram. | |
6568 | (Expand_Inlined_Call.Reset_Dispatching_Calls): New subprogram. | |
6569 | (Expand_Inlined_Call): Adding new support for inlining functions | |
6570 | that return unconstrained types. | |
6571 | (List_Inlining_Info): New subprogram. | |
6572 | * debug.adb Document flags -gnatd.j and -gnatd.k | |
6573 | * gnat1drv.adb Add call to generate the new listing of inlined | |
6574 | calls and calls passed to the backend. | |
6575 | ||
73692538 | 6576 | 2012-03-07 Robert Dewar <dewar@adacore.com> |
6577 | ||
6578 | * sem_ch5.adb, s-vaflop.adb, s-taprop-vms.adb, exp_ch6.adb, | |
6579 | s-gearop.adb, sem_ch6.adb, g-trasym.adb: Minor reformatting. | |
6580 | ||
6581 | 2012-03-07 Javier Miranda <miranda@adacore.com> | |
6582 | ||
6583 | * a-ngrear.ads: Add documentation. | |
6584 | ||
3ae6bcd5 | 6585 | 2012-03-07 Tristan Gingold <gingold@adacore.com> |
6586 | ||
6587 | * s-taprop-vms.adb (Create_Task): set thread name. | |
6588 | * s-osinte-vms.ads (pthread_attr_setname_np): Declare. | |
6589 | ||
6590 | 2012-03-07 Arnaud Charlet <charlet@adacore.com> | |
6591 | ||
6592 | * g-trasym.adb: Minor reformatting. | |
6593 | ||
6594 | 2012-03-07 Robert Dewar <dewar@adacore.com> | |
6595 | ||
6596 | * a-ngrear.ads: Minor addition of ??? comment. | |
6597 | ||
44e15e2b | 6598 | 2012-03-07 Gary Dismukes <dismukes@adacore.com> |
6599 | ||
6600 | * exp_ch4.adb (Apply_Accessibility_Check): Call | |
6601 | Remove_Side_Effects in the build-in-place case, to ensure that | |
6602 | we capture the call and don't end up with two calls. | |
6603 | ||
6604 | 2012-03-07 Javier Miranda <miranda@adacore.com> | |
6605 | ||
6606 | * exp_ch6.adb (Expand_Inlined_Call): Skip inlining of functions | |
6607 | that return unconstrained types using an extended return statement | |
6608 | since the support for inlining these functions has not been yet | |
6609 | added to the frontend. | |
6610 | * s-vaflop.adb, s-vaflop-vms-alpha.adb: Code reorganization. | |
6611 | * a-ngrear.ads: Replace all the Inline_Always pragmas by pragma | |
6612 | Inline. | |
6613 | * a-ngrear.adb (Eigenvalues, Transpose): Restructured to use | |
6614 | extended return statement. | |
6615 | * a-strsup.adb, a-stzsup.adb, a-stwisu.adb (Concat, Super_Slice, | |
6616 | Super_To_String): Restructured to use extended return statement. | |
6617 | * a-chahan.adb (To_Basic, To_Lower, To_Upper): Restructured to | |
6618 | use extended return statement. | |
6619 | * s-gearop.adb (Diagonal, Matrix_Elementwise_Operation, | |
6620 | Vector_Elementwise_Operation, Matrix_Elementwise_Operation, | |
6621 | Matrix_Matrix_Scalar_Elementwise_Operation, | |
6622 | Vector_Vector_Elementwise_Operation, | |
6623 | Vector_Vector_Scalar_Elementwise_Operation, | |
6624 | Matrix_Scalar_Elementwise_Operation, | |
6625 | Vector_Scalar_Elementwise_Operation, | |
6626 | Scalar_Matrix_Elementwise_Operation, | |
6627 | Scalar_Vector_Elementwise_Operation, Matrix_Matrix_Product, | |
6628 | Matrix_Vector_Product, Outer_Product, Unit_Matrix, Unit_Vector, | |
6629 | Vector_Matrix_Product): Restructured to use extended return | |
6630 | statement. | |
6631 | ||
6632 | 2012-03-07 Vincent Pucci <pucci@adacore.com> | |
6633 | ||
6634 | * sem_ch5.adb (One_Bound): Minor reformatting. | |
6635 | ||
6636 | 2012-03-07 Tristan Gingold <gingold@adacore.com> | |
6637 | ||
6638 | * s-osinte-vms-ia64.adb, s-osinte-vms-ia64.ads, s-osinte-vms.adb, | |
6639 | s-osinte-vms.ads, gcc-interface/Makefile.in: Merge s-osinte-vms and | |
6640 | s-osinte-vms-ia64. | |
6641 | ||
301d5ec3 | 6642 | 2012-03-07 Ed Schonberg <schonberg@adacore.com> |
6643 | ||
6644 | * checks.adb (Apply_Predicate_Check): Do not generate a predicate | |
6645 | check is the context is an internally generated type-specific | |
6646 | function. | |
6647 | * sem_ch6.adb (Process_PPCs); the formals of internally generated | |
6648 | type-specific functions do not get assertion checks. | |
6649 | ||
6650 | 2012-03-07 Yannick Moy <moy@adacore.com> | |
6651 | ||
6652 | * gnat_rm.texi: Minor renaming of title. | |
6653 | * gnat_ugn.texi: Minor correction. | |
6654 | ||
6655 | 2012-03-07 Vincent Pucci <pucci@adacore.com> | |
6656 | ||
6657 | * exp_ch4.adb (Expand_N_Quantified_Expression): Minor | |
6658 | reformating. | |
6659 | * sem_ch4.adb (Analyze_Quantified_Expression): Creation and | |
6660 | analysis of the iteration scheme added in all cases. | |
6661 | * sem_ch5.adb (Analyze_Iteration_Scheme): Minor reformating. | |
6662 | (Analyze_Iterator_Specification): Minor reformating. | |
6663 | * sem_res.adb (Resolve_Quantified_Expression): Resolution of | |
6664 | the condition added in all cases. | |
6665 | ||
19a5cf04 | 6666 | 2012-03-07 Thomas Quinot <quinot@adacore.com> |
6667 | ||
6668 | * einfo.adb, einfo.ads: Add flag Reverse_Storage_Order. | |
6669 | ||
6670 | 2012-03-07 Yannick Moy <moy@adacore.com> | |
6671 | ||
6672 | * gnat_rm.texi, gnat_ugn.texi: Rewording of GNAT UG and GNAT RM to | |
6673 | account for Ada 2012 assertions, and their pragma counterparts in GNAT. | |
6674 | ||
6675 | 2012-03-07 Thomas Quinot <quinot@adacore.com> | |
6676 | ||
6677 | * exp_attr.adb, sem_attr.adb: Minor reformatting. | |
6678 | ||
6679 | 2012-03-07 Bob Duff <duff@adacore.com> | |
6680 | ||
6681 | * hostparm.ads (Max_Instantiations): Increase parameter. | |
6682 | ||
6683 | 2012-03-07 Bob Duff <duff@adacore.com> | |
6684 | ||
6685 | * par-prag.adb: Minor code rearrangement. | |
6686 | ||
6687 | 2012-03-07 Bob Duff <duff@adacore.com> | |
6688 | ||
6689 | * a-strsup.ads, a-stwisu.ads, a-stzsup.ads (Super_String): | |
6690 | Remove default initial value for Data. It is no longer needed | |
6691 | because "=" now composes properly for untagged records. This | |
6692 | default has caused efficiency problems. | |
6693 | ||
6694 | 2012-03-07 Ed Schonberg <schonberg@adacore.com> | |
6695 | ||
6696 | * sem_res.adb (Resolve_Actuals): If the actual is a selected | |
6697 | component of an anonymous access type, whose prefix is a variable, | |
6698 | treat the variable as if it may be modified by the call, to | |
6699 | suppress spurious warnings that a variable might be declared as | |
6700 | a constant. | |
6701 | ||
7f93d5de | 6702 | 2012-03-07 Thomas Quinot <quinot@adacore.com> |
6703 | ||
6704 | * einfo.adb, einfo.ads: Remove unused entity flags. | |
6705 | ||
dc9027bc | 6706 | 2012-03-07 Eric Botcazou <ebotcazou@adacore.com> |
6707 | ||
6708 | * gnat_ugn.texi (Inline Assembler): Fix swapping of Input and | |
6709 | Output operands throughout. | |
6710 | ||
6711 | 2012-03-07 Hristian Kirtchev <kirtchev@adacore.com> | |
6712 | ||
6713 | * sem_ch12.adb (Earlier): When two nodes come from the same | |
6714 | generic instantiation, compare their locations. Otherwise always | |
6715 | use the top level locations of the nodes. | |
6716 | ||
6717 | 2012-03-07 Thomas Quinot <quinot@adacore.com> | |
6718 | ||
6719 | * einfo.ads, sem_prag.adb: Minor reformatting. | |
6720 | ||
581134a4 | 6721 | 2012-03-05 Jason Merrill <jason@redhat.com> |
6722 | ||
6723 | * gcc-interface/Make-lang.in (doc/gnat_ugn.texi): Build xgnatugn | |
6724 | before using it. | |
6725 | ||
4b7b019d | 6726 | 2012-03-04 Eric Botcazou <ebotcazou@adacore.com> |
6727 | ||
6728 | * gnatvsn.ads (Library_Version): Bump to 4.8. | |
6729 | ||
70d595c8 | 6730 | 2012-03-03 H.J. Lu <hongjiu.lu@intel.com> |
6731 | ||
6732 | * init.c (__gnat_adjust_context_for_raise): Also check | |
6733 | "orq $0x0,(%esp)" for x32. | |
6734 | ||
4b7b019d | 6735 | * link.c (__gnat_default_libgcc_subdir): Set to libx32 for x32. |
70d595c8 | 6736 | |
6737 | * gcc-interface/Makefile.in (arch): Set to x32 if MULTISUBDIR | |
4b7b019d | 6738 | is /x32 and add support for x32. |
70d595c8 | 6739 | |
ffb4f309 | 6740 | 2012-02-29 Eric Botcazou <ebotcazou@adacore.com> |
6741 | ||
6742 | * gcc-interface/decl.c (components_to_record): Add ARTIFICIAL parameter | |
6f9d8b76 | 6743 | and set TYPE_ARTIFICIAL according to it. Adjust recursive call. |
ffb4f309 | 6744 | (gnat_to_gnu_entity) <E_Record_Type>: Adjust call to above function. |
6745 | * gcc-interface/utils.c (rest_of_record_type_compilation): Do not | |
6746 | invoke rest_of_type_decl_compilation on the parallel type, if any. | |
6747 | ||
a2862f76 | 6748 | 2012-02-29 Eric Botcazou <ebotcazou@adacore.com> |
6749 | ||
6750 | * gcc-interface/utils.c (gnat_write_global_declarations): Make sure the | |
6751 | dummy global built for global types is preserved. | |
6752 | ||
e770c5fc | 6753 | 2012-02-27 Tristan Gingold <gingold@adacore.com> |
6754 | ||
6755 | * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type, | |
6756 | E_Array_Type]: Reuse dummy fat type for gnu_ptr_template and | |
6757 | gnu_template_type. | |
6758 | ||
a3b35344 | 6759 | 2012-02-27 Eric Botcazou <ebotcazou@adacore.com> |
6760 | ||
6761 | * gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Add checking. | |
6762 | (TYPE_BY_REFERENCE_P): New flag. | |
6763 | (TYPE_IS_BY_REFERENCE_P): New macro. | |
6764 | (TYPE_DUMMY_P): Add checking and remove VOID_TYPE. | |
6765 | (TYPE_IS_DUMMY_P): Adjust for above change. | |
6766 | * gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_BY_REFERENCE_P | |
6767 | and TYPE_IS_BY_REFERENCE_P instead of TREE_ADDRESSABLE. | |
6768 | (gnat_to_gnu_param): Likewise. | |
6769 | (maybe_pad_type): Likewise. | |
6770 | (make_type_from_size): Use TYPE_IS_PACKED_ARRAY_TYPE_P. | |
6771 | * gcc-interface/misc.c (must_pass_by_ref): Use TYPE_IS_BY_REFERENCE_P | |
6772 | instead of TREE_ADDRESSABLE. | |
6773 | * gcc-interface/trans.c (finalize_nrv): Likewise. | |
6774 | (call_to_gnu): Likewise. Do not create a temporary for return values | |
6775 | with by-reference type here. | |
6776 | (gnat_to_gnu): Test TYPE_IS_DUMMY_P instead of TYPE_DUMMY_P. | |
6777 | (gnat_gimplify_expr) <ADDR_EXPR>: Don't do anything for non-constant | |
6778 | CONSTRUCTORs and calls. | |
6779 | * gcc-interface/utils.c (make_dummy_type): Get the equivalent type of | |
6780 | the underlying type and use it throughout. Use TYPE_IS_BY_REFERENCE_P | |
6781 | instead of TREE_ADDRESSABLE. | |
6782 | * gcc-interface/utils2.c (build_cond_expr): Deal with by-reference | |
6783 | types explicitly. | |
6784 | ||
6b5f97e1 | 6785 | 2012-02-27 Eric Botcazou <ebotcazou@adacore.com> |
6786 | ||
6787 | * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Revert previous | |
6788 | change that creates a special VAR_DECL for debugging purposes. For an | |
6789 | aliased object with an unconstrained nominal subtype, make its type a | |
6790 | thin reference to the underlying object. | |
6791 | * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Deal with | |
6792 | expressions built for the initialization of above objects. | |
6793 | ||
7ef88902 | 6794 | 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com> |
6795 | ||
6796 | * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New | |
6797 | Windows-specific make variable. | |
6798 | (WIN_SO_INSTALL_DIR [windows targets]): Likewise. | |
6799 | (install-gnatlib): Respect the above during installation when set, | |
6800 | and also install any windows import library that has been built. | |
6801 | (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also | |
6802 | build a corresponding import library. | |
6803 | ||
ad6b44d8 | 6804 | 2012-02-22 Robert Dewar <dewar@adacore.com> |
6805 | ||
6806 | * exp_util.adb, make.adb, sem_dim.adb, sem_ch4.adb, exp_disp.adb: Minor | |
6807 | reformatting. | |
6808 | ||
6809 | 2012-02-22 Geert Bosch <bosch@adacore.com> | |
6810 | ||
6811 | * g-bytswa-x86.adb, g-bytswa.adb, gcc-interface/Makefile.in: Remove | |
6812 | x86-specific version of byteswap and use GCC builtins instead. | |
6813 | ||
6814 | 2012-02-22 Tristan Gingold <gingold@adacore.com> | |
6815 | ||
6816 | * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type, | |
6817 | E_Array_Type]: Translate component ealier. | |
6818 | ||
6819 | 2012-02-22 Robert Dewar <dewar@adacore.com> | |
6820 | ||
6821 | * par-ch3.adb (P_Signed_Integer_Type_Definition): Specialize | |
6822 | error message for 'Range. | |
6823 | ||
110e0530 | 6824 | 2012-02-22 Pascal Obry <obry@adacore.com> |
6825 | ||
6826 | * s-taprop-mingw.adb (Finalize_TCB): Do not wait on thread handle as | |
6827 | this is our own thread. | |
6828 | ||
6829 | 2012-02-22 Sergey Rybin <rybin@adacore.com frybin> | |
6830 | ||
6831 | * tree_io.ads: Update ASIS_Version_Number because of the changes | |
6832 | in Snames. | |
6833 | ||
6834 | 2012-02-22 Hristian Kirtchev <kirtchev@adacore.com> | |
6835 | ||
38b1f0b0 | 6836 | * exp_ch7.adb (Create_Finalizer): Suppress elaboration checks on |
110e0530 | 6837 | stack-related finalizers. |
6838 | ||
6839 | 2012-02-22 Ed Schonberg <schonberg@adacore.com> | |
6840 | ||
6841 | * sem_ch6.adb (Analyze_Expression_Function): If the construct | |
6842 | is a completion, indicate that its formals are the formals of | |
6843 | a completion, and as such do not get a cross- reference entry. | |
6844 | (Analyze_Subprogram_Specification): Do not generate a definition | |
6845 | for the entity of an expression function, because it may be a | |
6846 | completion. Definition will be generated if needed when analyzing | |
6847 | the generated subprogram declaration. | |
6848 | ||
6849 | 2012-02-22 Vincent Celier <celier@adacore.com> | |
6850 | ||
6851 | * make.adb (Check): When checking if an object file is in the | |
6852 | correct object directory, get the unit name from a previous call | |
6853 | to Check_Source_Info_In_ALI. | |
6854 | * makeutl.adb (Check_Source_Info_In_ALI): Return the name of | |
6855 | the unit when everything is OK, otherwise return No_Name. | |
6856 | * makeutl.ads (Check_Source_Info_In_ALI): Return Name_Id instead | |
6857 | of Boolean | |
6858 | ||
6859 | 2012-02-22 Ed Schonberg <schonberg@adacore.com> | |
6860 | ||
6861 | * sem_ch4.adb (Find_Equality_Types, Try_One_Interp): In an | |
6862 | instance, the operator is visible if an operand is of some | |
6863 | numeric type which is not in use or directly visible, and the | |
6864 | other operand is a numeric literal. | |
6865 | ||
6866 | 2012-02-22 Tristan Gingold <gingold@adacore.com> | |
6867 | ||
6868 | * init.c: Minor code clean up. | |
6869 | * gcc-interface/Make-lang.in: Update dependencies. | |
6870 | ||
6871 | 2012-02-22 Arnaud Charlet <charlet@adacore.com> | |
6872 | ||
6873 | * gnatlink.adb (Gnatlink): Use -gnatcC in CodePeer_Node, | |
6874 | otherwise GCC will generate an object file. | |
6875 | ||
6876 | 2012-02-22 Vincent Celier <celier@adacore.com> | |
6877 | ||
6878 | * projects.texi: Correct typo related to "**" in Source_Dirs. | |
6879 | ||
61aeebff | 6880 | 2012-02-22 Steve Baird <baird@adacore.com> |
6881 | ||
6882 | * sem_prag.adb (Analyze_PPC_In_Decl_Part): Clean up generation of | |
6883 | error message text. | |
6884 | ||
bb5dfacc | 6885 | 2012-02-22 Vincent Pucci <pucci@adacore.com> |
6886 | ||
6887 | * rtsfind.adb (Get_Unit_Name): Ada_Numerics_Child and | |
6888 | System_Dim_Child cases added. | |
6889 | * rtsfind.ads: Ada_Numerics, | |
6890 | Ada_Numerics_Generic_Elementary_Functions, System_Dim, | |
6891 | System_Dim_Float_IO and System_Dim_Integer_IO added to the list | |
6892 | of RTU_Id. Ada_Numerics_Child and System_Dim_Child added as | |
6893 | new RTU_Id subtypes. | |
6894 | * sem_dim.adb (Is_Dim_IO_Package_Entity): Use of | |
6895 | Rtsfind to verify the package entity is located either | |
6896 | in System.Dim.Integer_IO or in System.Dim.Float_IO. | |
6897 | (Is_Dim_IO_Package_Instantiation): Minor | |
6898 | changes. (Is_Elementary_Function_Call): Removed. | |
6899 | (Is_Elementary_Function_Entity): New routine. | |
6900 | (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity call added. | |
6901 | * snames.ads-tmpl: Name_Dim and Name_Generic_Elementary_Functions | |
6902 | removed. | |
6903 | ||
6904 | 2012-02-22 Vincent Pucci <pucci@adacore.com> | |
6905 | ||
6906 | * sem_prag.adb: Minor reformatting. | |
6907 | ||
6908 | 2012-02-22 Ed Schonberg <schonberg@adacore.com> | |
6909 | ||
6910 | * sem_ch3.adb (Find_Type_Name): When analyzing a private type | |
6911 | declaration that is the completion of a tagged incomplete type, do | |
6912 | not associate the class-wide type already created with the private | |
6913 | type to prevent order-of-elaboration issues in the back-end. | |
6914 | * exp_disp.adb (Find_Specific_Type): Find specific type of | |
6915 | a class-wide type, and handle the case of an incomplete type | |
6916 | coming either from a limited_with clause or from an incomplete | |
6917 | type declaration. Used when expanding a dispatchin call and | |
6918 | generating tag checks (minor refactoring). | |
6919 | ||
a58d632f | 6920 | 2012-02-22 Robert Dewar <dewar@adacore.com> |
6921 | ||
6922 | * exp_ch5.adb: Add comment. | |
6923 | * sem_ch12.adb, exp_ch6.adb: minor reformatting | |
6924 | ||
4e104ca3 | 6925 | 2012-02-22 Ed Schonberg <schonberg@adacore.com> |
6926 | ||
6927 | * freeze.adb (Freeze_Entity): Do not perform type layout within | |
6928 | a generic unit. | |
6929 | ||
6930 | 2012-02-22 Eric Botcazou <ebotcazou@adacore.com> | |
6931 | ||
6932 | * init.c (__gnat_error_handler) [Linux]: Map SIGBUS to | |
6933 | Storage_Error. | |
6934 | ||
6935 | 2012-02-22 Ed Schonberg <schonberg@adacore.com> | |
6936 | ||
6937 | * exp_ch5.adb (Expand_N_Assignment_Statement): Reject an | |
6938 | assignment to a classwide type whose type is limited, as | |
6939 | can happen in an instantiation in programs that run afoul or | |
6940 | AI05-0087. | |
6941 | ||
b3ba409d | 6942 | 2012-02-17 Ed Schonberg <schonberg@adacore.com> |
6943 | ||
6944 | * exp_ch6.adb (Legal_Copy): If layout is not | |
6945 | determined in the front-end, do not emit error message when | |
6946 | by-reference actual is potentially unaligned. | |
6947 | * gcc-interface/decl.c (gnat_to_gnu_field): Better error message for | |
6948 | illegal representation clause on tagged or aliased component, or on | |
6949 | by-reference type with forced alignment. | |
6950 | ||
6951 | 2012-02-17 Nicolas Roche <roche@adacore.com> | |
6952 | ||
6953 | * gcc-interface/Makefile.in: Ensure FORCE_DEBUG_ADAFLAGS variables is | |
6954 | propagated by gnatlib-sjlj and gnatlib-zcx targets. | |
6955 | * gcc-interface/Make-lang.in: Update dependencies. | |
6956 | ||
6957 | 2012-02-17 Thomas Quinot <quinot@adacore.com> | |
6958 | ||
6959 | * sem_ch12.adb (Analyze_Package_Instantiation): For an | |
6960 | instantiation in an RCI library unit, omit the instance body | |
6961 | if the RCI library unit is the instance itself (E.2.3(18)), | |
6962 | but include the body if the instantiation is within the RCI | |
6963 | declaration (12.3(12)). | |
6964 | ||
0fe91713 | 6965 | 2012-02-17 Steve Baird <baird@adacore.com> |
6966 | ||
6967 | * sem_prag.adb (Analyze_PPC_In_Decl_Part): Pre'Class and | |
6968 | Post'Class aspects can only be specified for a primitive operation | |
6969 | of a tagged type. | |
6970 | ||
0b0eb1f6 | 6971 | 2012-02-17 Yannick Moy <moy@adacore.com> |
6972 | ||
6973 | * gnat_rm.texi: Minor shuffling. | |
6974 | ||
6975 | 2012-02-17 Ed Schonberg <schonberg@adacore.com> | |
6976 | ||
6977 | * aspects.adb: Expression functions can carry pre/postconditions. | |
6978 | * par-ch6.adb (P_Subprogram): look for optional pre/postconditions | |
6979 | in an expression function. | |
6980 | * sem_prag (Check_Precondition_Postcondition): legal on expression | |
6981 | functions. | |
6982 | ||
6983 | 2012-02-17 Vincent Pucci <pucci@adacore.com> | |
6984 | ||
6985 | * a-cdlili.adb, a-cidlli.adb, a-cihama.adb, a-cimutr.adb, | |
6986 | * a-ciorma.adb, a-cohama.adb, a-coinve.adb, a-comutr.adb, | |
6987 | * a-convec.adb, a-coorma.adb (Adjust): New routine. | |
6988 | (Constant_Reference): Increment Busy and Lock counters. | |
6989 | (Reference): Increase Busy and Lock counters. | |
6990 | (Finalize): New routine. | |
6991 | * a-cihase.adb, a-ciorse.adb, a-cohase.adb, a-coorse.adb: | |
6992 | (Adjust): New routine. (Constant_Reference): Increment Busy | |
6993 | and Lock counters. | |
6994 | (Finalize): New routine. | |
6995 | * a-cdlili.ads, a-cidlli.ads, a-cihama.ads, a-cihase.ads, | |
6996 | * a-cimutr.ads, a-ciorma.ads, a-ciorse.ads, a-cohama.ads, | |
6997 | * a-cohase.ads, a-coinve.ads, a-comutr.ads, a-convec.ads, | |
6998 | * a-coorma.ads, a-coorse: Controlled component added to the | |
6999 | reference types. | |
7000 | ||
7001 | 2012-02-17 Robert Dewar <dewar@adacore.com> | |
7002 | ||
7003 | * restrict.adb (Check_Restriction): Add special handling for | |
7004 | No_Obsolescent_Features. | |
7005 | ||
7006 | 2012-02-17 Hristian Kirtchev <kirtchev@adacore.com> | |
7007 | ||
7008 | * exp_util.adb (Find_Finalize_Address): When dealing with an | |
7009 | internally built full view for a type with unknown discriminants, | |
7010 | use the original record type. | |
7011 | ||
5491cb1c | 7012 | 2012-02-17 Robert Dewar <dewar@adacore.com> |
7013 | ||
7014 | * sem_dim.adb: Minor reformatting. | |
7015 | ||
7016 | 2012-02-17 Yannick Moy <moy@adacore.com> | |
7017 | ||
7018 | * gnat_rm.texi: Minor rewording. | |
7019 | ||
6a84a367 | 7020 | 2012-02-17 Thomas Quinot <quinot@adacore.com> |
7021 | ||
7022 | * sem_aggr.adb: Minor reformatting. | |
7023 | ||
7024 | 2012-02-17 Robert Dewar <dewar@adacore.com> | |
7025 | ||
7026 | * gnat_ugn.texi: Update doc for -gnatw.m to include 2*x case. | |
7027 | ||
7028 | 2012-02-17 Vincent Pucci <pucci@adacore.com> | |
7029 | ||
7030 | * sem_dim.adb (Is_Dim_IO_Package_Entity): New routine. | |
7031 | (Is_Dim_IO_Package_Instantiation): Is_Dim_IO_Package_Entity | |
7032 | call added. | |
7033 | (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity | |
7034 | call added. | |
7035 | * s-dim.ads: Make package Pure. | |
7036 | ||
7037 | 2012-02-17 Gary Dismukes <dismukes@adacore.com> | |
7038 | ||
7039 | * prj-nmsc.adb: Minor reformatting. | |
7040 | ||
7041 | 2012-02-17 Yannick Moy <moy@adacore.com> | |
7042 | ||
7043 | * gnat_rm.texi: Update GNAT RM with a separate chapter on restrictions. | |
7044 | ||
5f31c6f3 | 7045 | 2012-02-17 Yannick Moy <moy@adacore.com> |
7046 | ||
7047 | * gnat_ugn.texi: Fix typos. | |
7048 | ||
7049 | 2012-02-17 Pascal Obry <obry@adacore.com> | |
7050 | ||
7051 | * prj-nmsc.adb: prj-nmsc.adb (Check_Aggregated): Check that an | |
7052 | aggregate is not Externally_Built. | |
7053 | ||
7054 | 2012-02-17 Ed Schonberg <schonberg@adacore.com> | |
7055 | ||
7056 | * sem_aggr.adb (Resolve_Record_Aggregate): If a composite | |
7057 | component has a box association, copy the default value using | |
7058 | the current scope as the scope of internal types, to prevent | |
7059 | scoping anomalies in gigi. | |
7060 | ||
09ad6da2 | 7061 | 2012-02-17 Robert Dewar <dewar@adacore.com> |
7062 | ||
7063 | * sem_dim.adb, sem_dim.ads, s-tasren.adb, prj.adb, prj.ads, freeze.adb, | |
7064 | sem_res.adb, exp_ch4.adb, sinput.adb, sinput.ads, exp_aggr.adb, | |
7065 | exp_intr.adb, s-os_lib.adb: Minor reformatting. | |
7066 | ||
7067 | 2012-02-17 Ed Schonberg <schonberg@adacore.com> | |
7068 | ||
7069 | * sem_ch6.adb (Is_Non_Overriding_Operation): Add warning if the | |
7070 | old operation is abstract, the relevant type is not abstract, | |
7071 | and the new subprogram fails to override. | |
7072 | ||
09188bfe | 7073 | 2012-02-15 Eric Botcazou <ebotcazou@adacore.com> |
7074 | ||
7075 | * gcc-interface/trans.c (Identifier_to_gnu): Move block retrieving the | |
7076 | type of the result to the end and execute it for a deferred constant of | |
7077 | a discriminated type whose full view can be elaborated statically. | |
7078 | ||
47219e5b | 7079 | 2012-02-15 Eric Botcazou <ebotcazou@adacore.com> |
7080 | ||
7081 | * gcc-interface/trans.c (gnat_to_gnu) <N_Qualified_Expression>: If the | |
7082 | type is tagged, mark it as used for debugging purposes. | |
7083 | <N_Allocator>: Likewise for a qualified expression. | |
7084 | ||
824ae42b | 7085 | 2012-02-15 Eric Botcazou <ebotcazou@adacore.com> |
7086 | ||
7087 | * gcc-interface/trans.c (call_to_gnu): Create the temporary for the | |
7088 | return value in the by-reference return type case if this isn't the | |
47219e5b | 7089 | expression of an object declaration. Tidy up. |
824ae42b | 7090 | |
f4a78d12 | 7091 | 2012-02-09 Tristan Gingold <gingold@adacore.com> |
7092 | ||
7093 | * gcc-interface/Makefile.in: Remove .sym rule (not used). | |
7094 | Remove adamsg.o object (requires native message compiler). | |
7095 | * init.c (CMA$_EXIT_THREAD, MTH$_FLOOVEMAT, SS$_INTDIV): Define as a | |
7096 | macro instead of as extern int. | |
7097 | (ADA$_ALREADY_OPEN, ADA$_CONSTRAINT_ERRO, ADA$_DATA_ERROR) | |
7098 | (ADA$_DEVICE_ERROR, ADA$_END_ERROR, ADA$_FAC_MODE_MISMAT) | |
7099 | (ADA$_IOSYSFAILED, ADA$_KEYSIZERR, ADA$_KEY_MISMATCH) | |
7100 | (ADA$_LAYOUT_ERROR, ADA$_LINEXCMRS, ADA$_MAXLINEXC) | |
7101 | (ADA$_MODE_ERROR, ADA$_MRN_MISMATCH, ADA$_MRS_MISMATCH) | |
7102 | (ADA$_NAME_ERROR, ADA$_NOT_OPEN, ADA$_ORG_MISMATCH) | |
7103 | (ADA$_PROGRAM_ERROR, ADA$_RAT_MISMATCH, ADA$_RFM_MISMATCH) | |
7104 | (ADA$_STAOVF, ADA$_STATUS_ERROR, ADA$_STORAGE_ERROR) | |
7105 | (ADA$_UNSUPPORTED, ADA$_USE_ERROR): Likewise. | |
7106 | (struct cond_except): Field cond is now an unsigned int. | |
7107 | (dec_ada_cond_except_table): Adjust. | |
7108 | (cond_except_table): Likewise. | |
7109 | (cond_resignal_table): Likewise. | |
7110 | (__gnat_default_resignal_p): Fix style. | |
7111 | ||
70db3df9 | 7112 | 2012-02-08 Vincent Celier <celier@adacore.com> |
7113 | ||
7114 | * gcc-interface/Make-lang.in: Add g-byorma.o to gnatbind objects | |
7115 | (g-buorma is now imported by sinput). | |
7116 | Update dependencies. | |
7117 | * scn.adb (Initialize_Scanner): Call Check_For_BOM | |
7118 | * sinput-p.adb (Source_File_Is_Subunit): Call Check_For_BOM | |
7119 | * sinput.adb: New procedure Check_For_BOM | |
7120 | * sinput.ads: New procedure Check_For_BOM | |
7121 | ||
7122 | 2012-02-08 Vincent Pucci <pucci@adacore.com> | |
7123 | ||
7124 | * impunit.adb: Dimension package names updated | |
7125 | * Makefile.rtl: s-dim added | |
7126 | * sem_dim.adb (Is_Procedure_Put_Call): minor changes | |
7127 | (Is_Dim_IO_Package_Instantiation): minor changes | |
7128 | * sem_dim.ads: minor changes in comments | |
7129 | * snames.ads-tmpl: Name_Dim added Name_Dim_Float_IO and | |
7130 | Name_Dim_Integer_IO removed | |
7131 | * s-dim.ads: New package. Define the dimension terminology. | |
7132 | * s-diflio.adb, s-diinio.adb, s-dimkio.ads, s-dimmks.ads, | |
7133 | * s-dmotpr.ads: Package names updated. | |
7134 | * s-diflio.ads, s-diinio.ads: Documentation added and package | |
7135 | names updated. | |
7136 | ||
7137 | 2012-02-08 Gary Dismukes <dismukes@adacore.com> | |
7138 | ||
7139 | * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): Revise test | |
7140 | for storage pools to test for an underlying record type rather than | |
7141 | testing Is_Tagged_Type, so that simple storage pools will be handled | |
7142 | the same as normal Ada storage pools. | |
7143 | ||
b15003c3 | 7144 | 2012-02-08 Yannick Moy <moy@adacore.com> |
7145 | ||
7146 | * gnat_rm.texi: Minor reshuffling to place restriction at | |
7147 | appropriate place. | |
7148 | ||
7149 | 2012-02-08 Bob Duff <duff@adacore.com> | |
7150 | ||
7151 | * warnsw.adb (Set_Warning_Switch): Set Warn_On_Suspicious_Modulus_Value | |
7152 | False for '-gnatwA', to suppress these warnings. | |
7153 | ||
7154 | 2012-02-08 Vincent Celier <celier@adacore.com> | |
7155 | ||
7156 | * sinput-p.adb (Source_File_Is_Subunit): Check for BOM before | |
7157 | starting to scan, so that UTF8 encoding is taken into account. | |
7158 | ||
7159 | 2012-02-08 Arnaud Charlet <charlet@adacore.com> | |
7160 | ||
7161 | * s-tasren.adb, s-tasren.ads (Internal_Complete_Rendezvous): New | |
7162 | function. | |
7163 | (Complete_Rendezvous): Now call Internal_Complete_Rendezvous. | |
7164 | (Exceptional_Complete_Rendezvous): Mark No_Return. | |
7165 | ||
7166 | 2012-02-08 Eric Botcazou <ebotcazou@adacore.com> | |
7167 | ||
7168 | * exp_aggr.adb (Compile_Time_Known_Composite_Value): | |
7169 | New predicate to compute whether a composite value can be | |
7170 | evaluated at compile time. | |
7171 | (Component_Not_OK_For_Backend): Use Compile_Time_Known_Value for all | |
7172 | expressions of elementary type and Compile_Time_Known_Composite_Value | |
7173 | for all other expressions. | |
7174 | (Expand_Record_Aggregate): Convert to assignments in the case | |
7175 | of a type with mutable components if the aggregate cannot be | |
7176 | built statically. | |
7177 | ||
7178 | 2012-02-08 Gary Dismukes <dismukes@adacore.com> | |
7179 | ||
7180 | * aspects.ads (type Aspect_Id): Add Simple_Storage_Pool_Type. | |
7181 | (Impl_Defined_Aspects): Add association for | |
7182 | Aspect_Simple_Storage_Pool_Type. | |
7183 | (Aspect_Names): Add | |
7184 | association for Aspect_Simple_Storage_Pool_Type. | |
7185 | * aspects.adb: | |
7186 | (Canonical_Aspect): Add association for Simple_Storage_Pool_Type. | |
7187 | * exp_attr.adb (Expand_N_Attribute_Reference): | |
7188 | Change name to Name_Simple_Storage_Pool_Type. | |
7189 | * exp_ch4.adb (Expand_N_Allocator): Change | |
7190 | name to Name_Simple_Storage_Pool_Type. | |
7191 | * exp_intr.adb (Expand_Unc_Deallocation): Change name to | |
7192 | Name_Simple_Storage_Pool_Type. * freeze.adb (Freeze_Entity): | |
7193 | Change names to Name_Simple_Storage_Pool_Type. * par-prag.adb: | |
7194 | Change names to Name_Simple_Storage_Pool_Type. * sem_attr.adb: | |
7195 | (Analyze_Attribute): Change name to Name_Simple_Storage_Pool_Type. | |
7196 | * sem_ch13.adb (Analyze_Attribute_Definition_Clause): | |
7197 | Change name to Name_Simple_Storage_Pool_Type. | |
7198 | * sem_prag.adb: | |
7199 | (Analyze_Pragma): Change name to Name_Simple_Storage_Pool_Type. | |
7200 | (Sig_Flags): Change name to Name_Simple_Storage_Pool_Type. | |
7201 | * sem_res.adb (Resolve_Allocator): Change name to | |
7202 | Name_Simple_Storage_Pool_Type. * snames.ads-tmpl: | |
7203 | (Name_Simple_Storage_Pool_Type): New name constant. | |
7204 | (type Pragma_Id): Change name to Name_Simple_Storage_Pool_Type and | |
7205 | move to main pragma section because it no longer matches the | |
7206 | attribute name. | |
7207 | * snames.adb-tmpl (Get_Pragma_Id): Remove test for | |
7208 | Name_Simple_Storage_Pool. | |
7209 | (Is_Pragma_Name): Remove test for Name_Simple_Storage_Pool. | |
7210 | ||
7211 | 2012-02-08 Robert Dewar <dewar@adacore.com> | |
7212 | ||
7213 | * gnat_ugn.texi: Add some clarification to -gnatwA and -gnatws. | |
7214 | ||
2006ed41 | 7215 | 2012-02-08 Pascal Obry <obry@adacore.com> |
7216 | ||
7217 | * prj.adb (Compute_All_Imported_Projects): Use new | |
7218 | For_Project_And_Aggregated_Context to ensure proper context is | |
7219 | used for encapsulated aggregate libraries. | |
7220 | * prj-proc.adb (Recursive_Process): Call | |
7221 | Process_Aggregated_Projects earlier to ensure that all dependent | |
7222 | projects are set with the proper encapsulated status. | |
7223 | ||
7224 | 2012-02-08 Pascal Obry <obry@adacore.com> | |
7225 | ||
7226 | * s-os_lib.adb (Normalize_Arguments): Properly escape last \ in null | |
7227 | terminated string. | |
7228 | ||
51d8eafc | 7229 | 2012-02-08 Pascal Obry <obry@adacore.com> |
7230 | ||
7231 | * prj.ads, prj.adb (For_Project_And_Aggregated_Context): New | |
7232 | generic routine with a context parameter. | |
7233 | ||
b55f7641 | 7234 | 2012-02-08 Robert Dewar <dewar@adacore.com> |
7235 | ||
7236 | * a-coinve.adb, sem_util.adb, sem_ch8.adb, a-cobove.adb, | |
7237 | a-convec.adb: Minor reformatting and code reorganization. | |
7238 | ||
7239 | 2012-02-08 Steve Baird <baird@adacore.com> | |
7240 | ||
7241 | * sem_cat.adb (In_Preelaborated_Unit): A child | |
7242 | unit instantiation does not inherit preelaboration requirements | |
7243 | from its parent. | |
7244 | ||
7245 | 2012-02-08 Gary Dismukes <dismukes@adacore.com> | |
7246 | ||
7247 | * aspects.ads (type Aspect_Id): Add Aspect_Simple_Storage_Pool. | |
7248 | (Impl_Defined_Aspects): Add entry for Aspect_Simple_Storage_Pool. | |
7249 | (Aspect_Argument): Add Name entry for Aspect_Simple_Storage_Pool. | |
7250 | (Aspect_Names): Add entry for Aspect_Simple_Storage_Pool. | |
7251 | * aspects.adb (Canonical_Aspect): Add entry for | |
7252 | Aspect_Simple_Storage_Pool. | |
7253 | * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of | |
7254 | Attribute_Simple_Storage_Pool in the same way as Storage_Pool | |
7255 | (add conversion, analyze/resolve). For the Storage_Size attribute, | |
7256 | for the simple pool case, locate and use the simple pool type's | |
7257 | Storage_Size function (if any), otherwise evaluate to zero. | |
7258 | * exp_ch4.adb (Expand_N_Allocator): In the case of an allocator | |
7259 | for an access type with an associated simple storage pool, | |
7260 | locate and use the pool type's Allocate. | |
7261 | * exp_intr.adb (Expand_Unc_Deallocation): In the case where the | |
7262 | access type has a simple storage pool, locate the pool type's | |
7263 | Deallocate procedure (if present) and use it as the procedure | |
7264 | to call on the Free operation. | |
7265 | * freeze.adb (Freeze_Entity): In the case of a full type for | |
7266 | a private type defined with pragma Simple_Storage_Pool, check | |
7267 | that the full type is also appropriate for the pragma. For | |
7268 | a simple storage pool type, validate that the operations | |
7269 | Allocate, Deallocate (if present), and Storage_Size | |
7270 | (if present) are defined with appropriate expected profiles. | |
7271 | (Validate_Simple_Pool_Op_Formal): New procedure | |
7272 | (Validate_Simple_Pool_Operation): New procedure Add with and | |
7273 | use of Rtsfind. | |
7274 | * par-prag.adb: Add Pragma_Simple_Storage_Pool to case statement | |
7275 | (no action required). | |
7276 | * sem_attr.adb (Analyze_Attribute): For the case of the | |
7277 | Storage_Pool attribute, give a warning if the prefix type has an | |
7278 | associated simple storage pool, and rewrite the attribute as a | |
7279 | raise of Program_Error. In the case of the Simple_Storage_Pool | |
7280 | attribute, check that the prefix type has an associated simple | |
7281 | storage pool, and set the attribute type to the pool's type. | |
7282 | * sem_ch13.adb (Analyze_Aspect_Specifications): Add | |
7283 | Aspect_Simple_Storage_Pool case choice. | |
7284 | (Analyze_Attribute_Definition_Clause): Add | |
7285 | Aspect_Simple_Storage_Pool to case for Ignore_Rep_Clauses | |
7286 | (no action). Add handling for Simple_Storage_Pool attribute | |
7287 | definition, requiring the name to denote a simple storage pool | |
7288 | object. | |
7289 | (Check_Aspect_At_Freeze_Point): For a simple storage pool | |
7290 | aspect, set the type to that of the name specified for the aspect. | |
7291 | * sem_prag.adb (Analyze_Pragma): Add handling for pragma | |
7292 | Simple_Storage_Pool, requiring that it applies to a library-level | |
7293 | type declared in a package declaration that is a limited private | |
7294 | or limited record type. | |
7295 | * sem_res.adb (Resolve_Allocator): Flag an attempt to call a | |
7296 | build-in-place function in an allocator for an access type with | |
7297 | a simple storage pool as unsupported. | |
7298 | * snames.ads-tmpl: Add Name_Simple_Storage_Pool. | |
7299 | (type Attribute_Id): Add Attribute_Simple_Storage_Pool. | |
7300 | (type Pragma_Id): Add Pragma_Simple_Storage_Pool. | |
7301 | * snames.adb-tmpl (Get_Pragma_Id): Handle case of | |
7302 | Name_Simple_Storage_Pool. | |
7303 | (Is_Pragma_Name): Return True for Name_Simple_Storage_Pool. | |
7304 | ||
7305 | 2012-02-08 Cyrille Comar <comar@adacore.com> | |
7306 | ||
7307 | * projects.texi: Clarify doc for interfaces. | |
7308 | ||
346b8434 | 7309 | 2012-02-07 Eric Botcazou <ebotcazou@adacore.com> |
7310 | ||
7311 | * gcc-interface/Make-lang.in (GCC_LINKERFLAGS): New variable. | |
7312 | (GCC_LINK): Use it. | |
7313 | ||
2a0abb3a | 7314 | 2012-02-01 Tristan Gingold <gingold@adacore.com> |
7315 | ||
7316 | * gcc-interface/trans.c (Loop_Statement_to_gnu): Use sizetype | |
7317 | instead of size_type_node. | |
7318 | ||
62b2aa7d | 7319 | 2012-01-30 Nicolas Roche <roche@adacore.com> |
7320 | ||
7321 | * gcc-interface/Make-lang.in: Update dependencies. | |
7322 | * gcc-interface/Makefile.in: Use system-vxworks-system-ppc-mils.ads | |
7323 | when needed. | |
7324 | Remove Linker_Options -crtbe when building sjlj run-time. | |
7325 | ||
9deff044 | 7326 | 2012-01-30 Robert Dewar <dewar@adacore.com> |
7327 | ||
7328 | * sem.adb (Analyze): Call Analyze_Mod for N_Op_Mod mode. | |
7329 | * sem_ch3.adb (Modular_Type_Declaration): Warn on mod value of | |
7330 | form 2 * small-literal. | |
7331 | * sem_ch4.adb (Analyze_Mod): New procedure (warn on suspicious | |
7332 | mod value). | |
7333 | * sem_ch4.ads (Analyze_Mod): New procedure. | |
7334 | ||
7335 | 2012-01-30 Ed Schonberg <schonberg@adacore.com> | |
7336 | ||
7337 | * sem_ch6.adb: sem_ch6.adb (Analyze_Expression_Function): Copy | |
7338 | types and return expression when building spec for implicit | |
7339 | body, to preserve global references that may be present in an | |
7340 | instantiation. | |
7341 | ||
7342 | 2012-01-30 Matthew Heaney <heaney@adacore.com> | |
7343 | ||
7344 | * a-convec.adb, a-coinve.adb, a-cobove.adb (Sort, | |
7345 | Reverse_Elements): Check for cursor tampering. | |
7346 | ||
7347 | 2012-01-30 Ed Schonberg <schonberg@adacore.com> | |
7348 | ||
7349 | * sem_util.adb (Is_Fully_Initialized_Type): In Ada 2012, a | |
7350 | type with aspect Default_Value or Default_Component_Value is | |
7351 | fully initialized, and use of variables of such types do not | |
7352 | generate warnings. | |
7353 | ||
7354 | 2012-01-30 Javier Miranda <miranda@adacore.com> | |
7355 | ||
7356 | PR ada/15846 | |
7357 | * sem_ch8.adb (Analyze_Subprogram_Renaming): | |
7358 | Handle self-renaming when the renamed entity is referenced using | |
7359 | its expanded name. | |
7360 | ||
7361 | 2012-01-30 Vincent Celier <celier@adacore.com> | |
7362 | ||
7363 | * projects.texi: Add documentation for attribute Interfaces. | |
7364 | ||
516da07f | 7365 | 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com> |
7366 | ||
7367 | * exp_ch7.adb (Build_Finalizer_Call): Set loc again. | |
7368 | * exp_ch11.adb (Expand_At_End_Handler): Do not provide a source | |
7369 | location for the wrapped call to the original AT_END routine | |
7370 | and the subsequent return statement. | |
7371 | ||
7372 | 2012-01-30 Pascal Obry <obry@adacore.com> | |
7373 | ||
7374 | * s-rannum.adb: Minor reformatting. | |
7375 | ||
7376 | 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com> | |
7377 | ||
7378 | * a-calend-vms.adb, a-calend.adb: Increment the number of leap seconds | |
7379 | to 25 and add the hard time value for 2012-06-30. | |
7380 | ||
30fe3fdc | 7381 | 2012-01-30 Robert Dewar <dewar@adacore.com> |
7382 | ||
7383 | * a-strhas.ads, einfo.adb, einfo.ads, exp_ch7.adb, exp_ch9.adb, | |
7384 | freeze.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-proc.adb, s-llflex.ads, | |
7385 | s-ransee.adb, s-ransee.ads, sem_ch13.adb, sem_dim.adb, sem_prag.adb: | |
7386 | Minor reformatting/code reorganization. | |
7387 | ||
27121718 | 7388 | 2012-01-30 Thomas Quinot <quinot@adacore.com> |
7389 | ||
7390 | * s-rannum.adb, s-ransee.adb, s-ransee.ads (Get_Seed): Return | |
7391 | Unsigned_64 rather than Duration. | |
7392 | (System.Random_Numbers.Reset): Use full value of seed | |
7393 | (do not truncate sub-second bits). | |
7394 | ||
7395 | 2012-01-30 Thomas Quinot <quinot@adacore.com> | |
7396 | ||
7397 | * sem_cat.adb, sem_ch12.adb: Minor reformatting. | |
7398 | ||
7b9b2f05 | 7399 | 2012-01-30 Yannick Moy <moy@adacore.com> |
7400 | ||
7401 | * gnat_ugn.texi: Minor correction of GNAT UG, to take into | |
7402 | account changes to -gnatwa and more recent warnings. | |
7403 | ||
7404 | 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com> | |
7405 | ||
7406 | * exp_ch7.adb (Build_Finalizer_Call): Do not provide a source | |
7407 | location when creating a call to a finalizer. | |
7408 | * exp_ch11.adb (Expand_Exception_Handlers): Do not provide | |
7409 | a source location for the first actual of Save_Occurrence for | |
7410 | consistency sake. | |
7411 | ||
7412 | 2012-01-30 Ed Schonberg <schonberg@adacore.com> | |
7413 | ||
7414 | * einfo.ads, einfo,adb: New attribute on scalar types: | |
7415 | Default_Aspect_Value New attribute on array types: | |
7416 | Default_Aspect_Component_Value Move attribute Related_Array_Object | |
7417 | to a different position to accomodate new aspect attributes. | |
7418 | * freeze.adb (Freeze_Entity): Use new attributes to retrieve value | |
7419 | of defaults set with an aspect specification, rather than using | |
7420 | the list of aspects attached to the type, to prevent issues with | |
7421 | partial views. | |
7422 | * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects | |
7423 | Default_Value and Default_Component _Value, store corresponding | |
7424 | expression in type entity. | |
7425 | (Check_Aspect_At_End_Of_Declaration): If the default aspects | |
7426 | are declared on the full view, use the full view to resolve the | |
7427 | correseponding expression. | |
7428 | * exp_ch3.adb (Init_Component): Use attribute | |
7429 | Default_Aspect_Component_Value to perform default initialization, | |
7430 | rather than relying on the rep item list for the type. | |
7431 | (Get_Simple_Init_Val): Ditto. | |
7432 | ||
013c9832 | 7433 | 2012-01-30 Thomas Quinot <quinot@adacore.com> |
7434 | ||
7435 | * a-strhas.ads: Document risk of collision attack. | |
7436 | ||
7437 | 2012-01-30 Yannick Moy <moy@adacore.com> | |
7438 | ||
7439 | * gnat_ugn.texi: Minor update wrt warning switches. | |
7440 | ||
9f64ee09 | 7441 | 2012-01-30 Vincent Celier <celier@adacore.com> |
7442 | ||
7443 | * prj-nmsc.adb (Check_Interfaces): Report an error when a | |
7444 | unit from Library_Interface is not a unit of the project. | |
7445 | ||
7446 | 2012-01-30 Vincent Pucci <pucci@adacore.com> | |
7447 | ||
7448 | * sem_prag.adb (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Parent | |
7449 | links fixed inside PPC pragmas. | |
7450 | * sem_ch12.adb: Move call to Make_Aspect_For_PPC_In_Gen_Sub_Decl. | |
7451 | ||
7452 | 2012-01-30 Thomas Quinot <quinot@adacore.com> | |
7453 | ||
7454 | * s-ransee.ads: Minor reformatting. | |
7455 | ||
9f269bd8 | 7456 | 2012-01-30 Pascal Obry <obry@adacore.com> |
7457 | ||
7458 | * prj.ads, prj.adb (For_Each_Source): Add support for skipping | |
7459 | sources coming from an encapsulated library. | |
7460 | ||
7461 | 2012-01-30 Ed Schonberg <schonberg@adacore.com> | |
7462 | ||
7463 | * sem_ch3.adb (Process-Full_View): fix typo. | |
7464 | * sem_ch13.adb (Aalyze_Aspect_Specifications): if predicates | |
7465 | appear on a private type and the full view is available, ensure | |
7466 | existence of freeze node for full view. | |
7467 | (Build_Predicate_Function): Attach predicate function to both | |
7468 | views of a private type. | |
7469 | ||
7470 | 2012-01-30 Vincent Celier <celier@adacore.com> | |
7471 | ||
7472 | * prj-nmsc.adb (Check_Interfaces): Compute the Lib_Interface_ALIs | |
7473 | for the project if either attribute Library_Interface or | |
7474 | Interfaces is declared. | |
7475 | (Check_Stand_Alone_Library): Use Lib_Interface_ALIs computed in | |
7476 | Check_Interfaces. | |
7477 | ||
a82d9bf4 | 7478 | 2012-01-30 Pascal Obry <obry@adacore.com> |
7479 | ||
7480 | * prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib | |
7481 | boolean value to true in the process list created by this routine. | |
7482 | * prj.ads (Project_List_Element): New field From_Encapsulated_Lib. | |
7483 | Continued work for KA06-021. | |
7484 | * prj.adb (Compute_All_Imported_Projects): Set | |
7485 | From_Encapsulated_Lib boolean flag. | |
7486 | ||
caad910a | 7487 | 2012-01-30 Vincent Pucci <pucci@adacore.com> |
7488 | ||
7489 | * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor | |
7490 | code clean up. | |
7491 | * s-diflio.ads: Minor change. | |
7492 | ||
7493 | 2012-01-30 Javier Miranda <miranda@adacore.com> | |
7494 | ||
7495 | * exp_ch9.adb (Build_Dispatching_Requeue): Add missing call | |
7496 | to Get_Entry_Index. Required to generate code which provides | |
7497 | the correct value of Entry_Index in the target entry. | |
7498 | ||
7499 | 2012-01-30 Nicolas Roche <roche@adacore.com> | |
7500 | ||
7501 | * system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to | |
7502 | fix issue with zcx on VxWorks5. | |
7503 | ||
7504 | 2012-01-30 Pascal Obry <obry@adacore.com> | |
7505 | ||
7506 | * prj.ads, prj.adb (For_Every_Project_Imported): Remove | |
7507 | In_Aggregate_Lib. | |
7508 | (For_Every_Project_Imported_Context): New generic routine with | |
7509 | a context parameter. | |
7510 | * prj-nmsc.adb: Revert to use For_Every_Project_Imported Avoid | |
7511 | distributed complexity. | |
7512 | * prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb: Ditto. | |
7513 | ||
04e29e1d | 7514 | 2012-01-30 Thomas Quinot <quinot@adacore.com> |
7515 | ||
7516 | * exp_aggr.adb (Expand_Record_Aggregate): After creating the | |
7517 | _parent aggregate for an extension aggregate, check whether it | |
7518 | requires delayed (top-down) expansion. | |
7519 | ||
7520 | 2012-01-30 Vincent Pucci <pucci@adacore.com> | |
7521 | ||
7522 | * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Rewritten. | |
7523 | * snames.ads-tmpl: Name_Item and Name_Symbols added. | |
7524 | * s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads: Rename | |
7525 | and change the position of parameter Symbols in every Put routine. | |
7526 | * s-dimmks.ads: Convert long float type Mks_Type into long | |
7527 | long float. | |
7528 | * s-llflex.ads: Modifications in comments. | |
7529 | ||
7530 | 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com> | |
7531 | ||
7532 | * sem_ch12.adb (Earlier): Do not use the | |
7533 | top level source locations of the two input nodes. | |
7534 | ||
daa6a3ae | 7535 | 2012-01-30 Robert Dewar <dewar@adacore.com> |
7536 | ||
7537 | * einfo.ads, sem_prag.adb, sem_attr.adb, aspects.ads, | |
7538 | sem_cat.adb, sem_aggr.adb, exp_aggr.adb: Minor reformatting. | |
7539 | ||
14cf7fa7 | 7540 | 2012-01-30 Robert Dewar <dewar@adacore.com> |
7541 | ||
7542 | * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting. | |
7543 | ||
7544 | 2012-01-30 Olivier Hainque <hainque@adacore.com> | |
7545 | ||
7546 | * sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back + | |
7547 | comments. | |
7548 | ||
7549 | 2012-01-30 Thomas Quinot <quinot@adacore.com> | |
7550 | ||
7551 | * gnat_rm.texi, sem_dist.adb, sem_dist.ads, einfo.ads, sem_prag.adb, | |
7552 | sem_ch12.adb, sem_attr.adb, aspects.adb, aspects.ads, par-prag.adb, | |
7553 | sem_cat.adb, snames.ads-tmpl (Sem_Dist.Is_Valid_Remote_Object_Type): | |
7554 | New subprogram (extracted from | |
7555 | Sem_Cat.Validate_Remote_Access_Object_Type_Declaration). | |
7556 | (Einfo.Is_Remote_Types): Now applies to generic types. Update | |
7557 | documentation accordingly. | |
7558 | (Sem_Ch12.Analyze_Associations): A RACW type is acceptable as | |
7559 | actual for a formal type to which a pragma Remote_Access_Type | |
7560 | applies. | |
7561 | (Aspects, Par.Prag, Sem_Prag): Support for new pramga/aspect | |
7562 | Remote_Access_Type. | |
7563 | (Sem_Attr.Analyze_Attribute, case Stub_Type): Attribute can | |
7564 | be applied to a generic type if pragma Remote_Access_Type | |
7565 | applies, in which case the type of the attribute is | |
7566 | System.Partition_Interface.RACW_Stub_Type. | |
7567 | ||
bfa2a0ba | 7568 | 2012-01-27 Eric Botcazou <ebotcazou@adacore.com> |
7569 | ||
7570 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set | |
7571 | an alignment on fields of the RETURN type built for the CICO mechanism. | |
7572 | ||
0c1dfc4b | 7573 | 2012-01-27 Eric Botcazou <ebotcazou@adacore.com> |
7574 | ||
7575 | * gcc-interface/trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for | |
7576 | a call to a function that returns an unconstrained type with default | |
bfa2a0ba | 7577 | discriminant. Similarly, avoid doing the conversion to the nominal |
0c1dfc4b | 7578 | result type in this case. |
7579 | ||
587b5d75 | 7580 | 2012-01-27 Eric Botcazou <ebotcazou@adacore.com> |
7581 | ||
7582 | * gcc-interface/ada-tree.h (DECL_ALIASED_P): New flag. | |
7583 | * gcc-interface/decl.c (is_variable_size): Rename to... | |
7584 | (type_has_variable_size): ...this. | |
7585 | (adjust_packed): Adjust to above renaming. | |
7586 | (gnat_to_gnu_field): Set DECL_ALIASED_P on the field. | |
7587 | (field_is_artificial): New predicate. | |
7588 | (field_is_aliased): Likewise. | |
7589 | (field_has_self_size): Likewise. | |
7590 | (field_has_variable_size): Likewise. | |
7591 | (components_to_record): Record information for the final layout during | |
7592 | the first pass on fields. | |
7593 | If there is an aliased field placed after a field whose length depends | |
7594 | on discriminants, put all the fields of the latter sort, last. | |
7595 | ||
15bd2796 | 7596 | 2012-01-27 Eric Botcazou <ebotcazou@adacore.com> |
7597 | ||
7598 | * gcc-interface/gigi.h (get_minimal_subprog_decl): Declare. | |
7599 | * gcc-interface/decl.c (get_minimal_subprog_decl): New function. | |
7600 | * gcc-interface/trans.c (Attribute_to_gnu): Use it for the prefix of an | |
7601 | Access-like attribute in a dispatch table if the subprogram is public. | |
7602 | ||
7e9d30ae | 7603 | 2012-01-27 Eric Botcazou <ebotcazou@adacore.com> |
7604 | ||
7605 | * gcc-interface/gigi.h (create_label_decl): Adjust. | |
7606 | * gcc-interface/utils.c (create_label_decl): Add GNAT_NODE parameter | |
7607 | and invoke gnat_pushdecl on it. Remove obsolete settings. | |
7608 | * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Label>: Adjust call to | |
7609 | create_label_decl. | |
7610 | * gcc-interface/trans.c (gnat_to_gnu) <N_Null): Likewise. Ignore the | |
7611 | label for debugging purposes. | |
7612 | ||
48954d78 | 7613 | 2012-01-27 Eric Botcazou <ebotcazou@adacore.com> |
7614 | ||
7615 | * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an aliased | |
7616 | object with an unconstrained nominal subtype and if optimization isn't | |
7617 | enabled, create a special VAR_DECL for debugging purposes. | |
7618 | ||
4db325e6 | 7619 | 2012-01-23 Robert Dewar <dewar@adacore.com> |
7620 | ||
7621 | * sem_prag.ads, sem_prag.adb: Minor reformatting. | |
7622 | ||
7623 | 2012-01-23 Robert Dewar <dewar@adacore.com> | |
7624 | ||
7625 | * sem_ch13.adb (Analyze_Aspect_Specifications): Check for | |
7626 | language defined aspect applied to renaming or formal type | |
7627 | declaration (not permitted) | |
7628 | ||
7629 | 2012-01-23 Matthew Heaney <heaney@adacore.com> | |
7630 | ||
7631 | * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Vet): Replaced | |
7632 | comment with pragma Assert. | |
7633 | ||
cf46479c | 7634 | 2012-01-23 Vincent Pucci <pucci@adacore.com> |
7635 | ||
7636 | * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Call | |
7637 | to Make_Aspect_For_PPC_In_Gen_Sub_Decl added in ASIS mode. | |
7638 | * sem_prag.adb, sem_prag.ads (Make_Aspect_For_PPC_In_Gen_Sub_Decl): New | |
7639 | routine. In ASIS mode, convert any PPC pragmas into aspects in generic | |
7640 | subprogram declaration in order to enable the analysis of PPC boolean | |
7641 | expressions. | |
7642 | ||
24f0ba72 | 7643 | 2012-01-23 Robert Dewar <dewar@adacore.com> |
7644 | ||
7645 | * sem_ch3.adb (Analyze_Object_Declaration): Properly | |
7646 | handle Current_Value for volatile variables (also propagate | |
7647 | Treat_As_Volatile from type to object). | |
7648 | ||
7649 | 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
7650 | ||
7651 | * sem_ch12.adb (Install_Body): Detect the case | |
7652 | where the enclosing context is a package with a stub body that | |
7653 | has already been replaced by the actual body. In such cases, | |
7654 | the freeze node for the enclosing context must be inserted after | |
7655 | the real body. | |
7656 | ||
7657 | 2012-01-23 Ed Schonberg <schonberg@adacore.com> | |
7658 | ||
7659 | * sem_prag.adb (Analyze_Pragma, case Debug): Freeze the called | |
7660 | subprogram before expanding the pragma into an if-statement with | |
7661 | a block, to ensure that when the subprogram is null its body is | |
7662 | properly generated before expansion. | |
7663 | ||
362e5ece | 7664 | 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com> |
7665 | ||
7666 | * sem_ch12.adb (Analyze_Associations): Alphabetize local variables and | |
7667 | constants. Rename Actual_Types to Actuals_To_Freeze. Rename Next_Formal | |
7668 | to Saved_Formal. | |
7669 | Freeze all eligible subprograms which appear as actuals in | |
7670 | the instantiation. | |
7671 | (Has_Fully_Defined_Profile): New routine. | |
7672 | (Renames_Standard_Subprogram): New routine. | |
7673 | (Earlier): Add local variable N. Comment update. Do not use source | |
7674 | locations when trying to determine whether one node precedes another. | |
7675 | ||
7676 | 2012-01-23 Gary Dismukes <dismukes@adacore.com> | |
7677 | ||
7678 | * exp_ch4.adb (Expand_Concatenate): In the case | |
7679 | where the result of a concatentation can be null, set the to | |
7680 | result have both the low and high bounds of the right operand (not | |
7681 | just the high bound, as was the case prior to this fix). Also, | |
7682 | fix the saved high bound setting (Last_Opnd_High_Bound) in the | |
7683 | empty string literal case (should have been low bound minus one, | |
7684 | rather than plus one). | |
7685 | ||
7686 | 2012-01-23 Thomas Quinot <quinot@adacore.com> | |
7687 | ||
7688 | * scos.ads, put_scos.adb, get_scos.adb (Get_SCOs, Put_SCOs): Do not | |
7689 | omit statement SCOs for disabled pragmas. | |
7690 | ||
dee4c239 | 7691 | 2012-01-23 Matthew Heaney <heaney@adacore.com> |
7692 | ||
7693 | * a-cohase.ads, a-cihase.ads, a-cbhase.ads, a-coorse.ads, | |
7694 | a-ciorse.ads, a-cborse.ads, a-cohama.ads, a-cihama.ads, a-cbhama.ads, | |
7695 | a-coorma.ads, a-ciorma.ads, a-cborma.ads, a-cdlili.ads, a-cidlli.ads, | |
7696 | a-cbdlli.ads, a-convec.ads, a-coinve.ads, a-cobove.ads (Cursor'Read, | |
7697 | Cursor'Write): Declare in private part. | |
7698 | (Reference_Type'Read, Reference_Type'Write): Ditto. | |
7699 | (Constant_Reference_Type'Read, Constant_Reference_Type'Write): Ditto. | |
7700 | ||
25122b4c | 7701 | 2012-01-23 Robert Dewar <dewar@adacore.com> |
7702 | ||
7703 | * a-catizo.ads, a-calend.adb, a-calend.ads, par-ch13.adb: Minor | |
7704 | reformatting. | |
7705 | ||
98108069 | 7706 | 2012-01-23 Ed Schonberg <schonberg@adacore.com> |
7707 | ||
7708 | * sem_ch6.adb (Analyze_Subprogram_Declaration): Do not set the | |
7709 | Corresponding_Body on a defaulted null formal subprogram. | |
7710 | * sem_ch12.adb (Check_Formal_Package_Instance): No check needed | |
7711 | on a defaulted formal subprogram that is a null procedure. | |
7712 | ||
7713 | 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
7714 | ||
7715 | * exp_ch9.adb: Update the comments involving pragma Implemented. | |
7716 | * sem_ch3.adb (Check_Pragma_Implemented (Entity_Id)): Add local | |
7717 | constant Subp_Alias and local variable Impl_Subp. Properly | |
7718 | handle aliases of synchronized wrappers. Code cleanup. | |
7719 | (Check_Pragma_Implemented (Entity_Id; Entity_Id)): Add | |
7720 | Name_Optional as part of the condition. | |
7721 | * sem_prag.adb (Analyze_Pragma): Add "Optional" as one of the | |
7722 | valid choices of implementation kind. | |
7723 | (Check_Arg_Is_One_Of): New routine. | |
7724 | * snames.ads-tmlp: Add Name_Optional. | |
7725 | ||
7726 | 2012-01-23 Ed Schonberg <schonberg@adacore.com> | |
7727 | ||
7728 | * par-ch13.adb: Better error recovery in illegal aspect | |
7729 | specification. | |
7730 | ||
7731 | 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
7732 | ||
7733 | * a-calend.adb: Add with clause for Interfaces.C. Add constant | |
7734 | Unix_Max. | |
7735 | (Day_Of_Week): Call the internal UTC_Time_Offset. | |
7736 | (Split): Call the internal UTC_Time_Offset. | |
7737 | (Time_Of): Call the internal UTC_Time_Offset. | |
7738 | (Time_Zone_Operations.UTC_Time_Offset): Call internal UTC_Time_Offset. | |
7739 | (UTC_Time_Offset): New library-level routine. | |
7740 | * a-calend.ads (UTC_Time_Offset): Remove parameter | |
7741 | Is_Historic. Update related comment on usage. | |
7742 | * a-catizo.adb (UTC_Time_Offset): Removed. | |
7743 | (UTC_Time_Offset (Time)): Call Time_Zone_Operations.UTC_Time_Offset. | |
7744 | * a-caltizo.ads (UTC_Time_Offset): Removed. | |
7745 | (UTC_Time_Offset (Time)): Add back the default expression of parameter | |
7746 | Date. | |
7747 | ||
f65e883c | 7748 | 2012-01-23 Robert Dewar <dewar@adacore.com> |
7749 | ||
7750 | * sprint.ads, sprint.adb (Sprint_Node_List): Add New_Lines parameter | |
7751 | (pg,po,ps): Make sure each entry starts on new line. | |
7752 | ||
7753 | 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com> | |
7754 | ||
7755 | * a-calend.ads, a-calend.adb: Define types int and int_Pointer. Update | |
7756 | the parameter profile of procedure localtime_tzoff and its associated | |
7757 | comment. | |
7758 | (Day_Of_Week): Do not treat the input date as historical | |
7759 | with respect to time zones. | |
7760 | (Split): Do not treat the input | |
7761 | date as historical with respect to time zones. (Time_Of): Do | |
7762 | not treat the input constituents as forming a historical date | |
7763 | with respect to time zones. | |
7764 | (UTC_Time_Offset): Add new formal | |
7765 | parameter Is_Historic. Add local variable Flag. Update the call | |
7766 | to localtime_tzoff. | |
7767 | * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): New routine. | |
7768 | (UTC_Time_Offset (Time)): Update the call to | |
7769 | Time_Zone_Operations.UTC_Time_Offset. | |
7770 | * sysdep.c (__gnat_localtime_tzoff): Update parameter | |
7771 | profile. Split the processing of offsets on Windows into two - one | |
7772 | part of historic time stamps and the other for the current time. | |
7773 | ||
6d852e2b | 7774 | 2012-01-23 Robert Dewar <dewar@adacore.com> |
7775 | ||
7776 | * a-calend.adb: Minor reformatting. | |
7777 | ||
7778 | 2012-01-23 Ed Schonberg <schonberg@adacore.com> | |
7779 | ||
7780 | * exp_ch9.adb, sem_ch9.adb: Handle array of access to synchronized | |
7781 | interface in requeue statement. | |
7782 | ||
7783 | 2012-01-23 Cyrille Comar <comar@adacore.com> | |
7784 | ||
7785 | * projects.texi: Remove references to main units and replace | |
7786 | with references to main programs to be coherent with the | |
7787 | documentation. | |
7788 | ||
cb9cb2d7 | 7789 | 2012-01-23 Robert Dewar <dewar@adacore.com> |
7790 | ||
7791 | * s-utf_32.adb: Minor reformatting. | |
7792 | ||
7793 | 2012-01-23 Vincent Celier <celier@adacore.com> | |
7794 | ||
7795 | * snames.ads-tmpl: Minor comment addition Indicate that | |
7796 | Name_Library_Encapsulated_Options is only used in gprbuild. | |
7797 | ||
49213728 | 7798 | 2012-01-23 Robert Dewar <dewar@adacore.com> |
7799 | ||
7800 | * sem_ch10.adb (Analyze_Subunit): Properly save/restore cunit | |
7801 | restrictions. | |
7802 | ||
7803 | 2012-01-23 Ed Schonberg <schonberg@adacore.com> | |
7804 | ||
7805 | * snames.ads-tmpl: Add Name_Synchronization. | |
7806 | * aspects.ads, aspects.adb: Add Aspect_Synchronization to | |
7807 | enumeration type and related maps. | |
7808 | * sem_ch13.adb (Analyze_Aspect_Specifications): Handle Aspect | |
7809 | Synchronization, build corresponding pragma Implemented. | |
7810 | * sem_util.adb (Implementation_Kind): Handle both explicit and | |
7811 | implicit pragma_argument association to retrieve the given | |
7812 | synchronization mode. | |
7813 | ||
bc3646ef | 7814 | 2012-01-23 Robert Dewar <dewar@adacore.com> |
7815 | ||
7816 | * sem_ch10.adb, errout.adb: Minor reformatting. | |
7817 | ||
7818 | 2012-01-23 Ed Schonberg <schonberg@adacore.com> | |
7819 | ||
7820 | * sem_res.adb (Resolve_Actuals): An actual in a call to an | |
7821 | Ada 2012 Reference function does not lead to a dangerous order | |
7822 | dependence. | |
7823 | ||
6daf2e31 | 7824 | 2012-01-23 Gary Dismukes <dismukes@adacore.com> |
7825 | ||
7826 | * exp_util.adb (Is_Iterated_Container): Test | |
7827 | Is_Entity_Name when searching for calls to the default iterator, | |
7828 | to avoid blowing up on indirect calls which have an explicit | |
7829 | dereference as the call name. | |
7830 | ||
7831 | 2012-01-23 Thomas Quinot <quinot@adacore.com> | |
7832 | ||
7833 | * errout.adb (Set_Msg_Node): For an N_Expanded_Name, output | |
7834 | the complete expanded name, rather than just its Selector_Name. | |
7835 | ||
7836 | 2012-01-23 Thomas Quinot <quinot@adacore.com> | |
7837 | ||
7838 | * a-textio.adb (Put): Rewrite one-parameter Character version to | |
7839 | just call the two-parameter one with Current_Out. | |
7840 | ||
2691091b | 7841 | 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com> |
7842 | ||
7843 | * freeze.adb (Check_Current_Instance): Issue an | |
7844 | error when the prefix of 'Unchecked_Access or 'Access does not | |
7845 | denote a legal aliased view of a type. | |
7846 | (Freeze_Record_Type): Do not halt the processing of record components | |
7847 | once the Has_Controlled_Component is set as this bypasses the remaining | |
7848 | checks. | |
7849 | (Is_Aliased_View_Of_Type): New routine. | |
7850 | ||
7851 | 2012-01-23 Thomas Quinot <quinot@adacore.com> | |
7852 | ||
7853 | * errout.ads, freeze.adb: Minor reformatting. | |
7854 | ||
7855 | 2012-01-23 Thomas Quinot <quinot@adacore.com> | |
7856 | ||
7857 | * sem_ch10.adb, sem_prag.adb: Remove redundant apostrophes in error | |
7858 | messages. | |
7859 | ||
7860 | 2012-01-23 Olivier Hainque <hainque@adacore.com> | |
7861 | ||
7862 | * adadecode.c (__gnat_decode): Deal with empty input early, | |
7863 | preventing potential erroneous memory access later on. | |
7864 | ||
465cee25 | 7865 | 2012-01-21 Eric Botcazou <ebotcazou@adacore.com> |
7866 | ||
7867 | PR ada/46192 | |
7868 | * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the case of a | |
7869 | renaming, preserve the volatileness through the indirection, if any. | |
7870 | ||
cfe97a8d | 7871 | 2012-01-14 Andreas Schwab <schwab@linux-m68k.org> |
7872 | ||
7873 | * gcc-interface/Makefile.in (OSCONS_EXTRACT): Add | |
7874 | $(GNATLIBCFLAGS). | |
7875 | ||
ae8e99a3 | 7876 | 2012-01-10 Pascal Obry <obry@adacore.com> |
7877 | ||
7878 | * prj-nmsc.adb (Check_Library_Attributes): | |
7879 | Kill check for object/source directories for aggregate libraries. | |
7880 | ||
7881 | 2012-01-10 Matthew Heaney <heaney@adacore.com> | |
7882 | ||
7883 | * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb, | |
7884 | a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads, | |
7885 | a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-cimutr.adb, | |
7886 | a-cimutr.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads, | |
7887 | a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb, | |
7888 | a-cborse.ads, a-comutr.adb, a-comutr.ads, a-ciorma.adb, a-cobove.adb, | |
7889 | a-ciorma.ads, a-cobove.ads, a-convec.adb, a-convec.ads, a-cohase.adb, | |
7890 | a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbmutr.adb, a-cbmutr.ads, | |
7891 | a-cbhase.adb, a-cbhase.ads (Reference, Constant_Reference): Declare | |
7892 | container parameter as aliased in/in out. | |
7893 | Code clean ups. | |
7894 | ||
7895 | 2012-01-10 Bob Duff <duff@adacore.com> | |
7896 | ||
7897 | * s-os_lib.ads: Improve comment. | |
7898 | ||
7899 | 2012-01-10 Geert Bosch <bosch@adacore.com> | |
7900 | ||
7901 | * s-gearop.adb (Forward_Eliminate): Avoid improper aliasing | |
7902 | for complex Scalar. | |
7903 | ||
43537c96 | 7904 | 2012-01-10 Bob Duff <duff@adacore.com> |
7905 | ||
7906 | * sem_intr.adb (Check_Shift): Use RM_Size instead of Esize, when | |
7907 | checking that the 'Size is correct. If the type is "mod 2**12", | |
7908 | for example, it's illegal, but Esize is the 'Object_Size, which | |
7909 | will be something like 16 or 32, so the error ('Size = 12) was | |
7910 | not detected. | |
7911 | * gnat_rm.texi: Improve documentation of shift | |
7912 | and rotate intrinsics. | |
7913 | ||
7914 | 2012-01-10 Pascal Obry <obry@adacore.com> | |
7915 | ||
7916 | * prj.adb (For_Every_Project_Imported): Fix | |
7917 | implementation to make sure we return each project only once | |
7918 | for aggragte libraries. It is fine to return a project twice for | |
7919 | aggregate projects, this was the case as a Project_Id is different | |
7920 | in each project tree. The new implementation use a table based on | |
7921 | the project name to ensure proper detection of duplicate project | |
7922 | in aggregate library. A new context is then created to continue | |
7923 | retrurning duplicate project for aggregate libraries. | |
7924 | ||
5c0db21d | 7925 | 2012-01-09 Eric Botcazou <ebotcazou@adacore.com> |
7926 | ||
7927 | * gcc-interface/trans.c (call_to_gnu): Create the temporary for the | |
7928 | return value in the variable-sized return type case if the target is | |
7929 | an array with fixed size. However, do not create it if this is the | |
7930 | expression of an object declaration. | |
7931 | ||
2f7233cb | 7932 | 2012-01-09 Eric Botcazou <ebotcazou@adacore.com> |
7933 | ||
7934 | * gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko. | |
7935 | ||
c8e4bf42 | 7936 | 2012-01-06 Robert Dewar <dewar@adacore.com> |
7937 | ||
7938 | * a-wichha.ads, a-wichun.ads, a-zchhan.ads, a-zchuni.ads, | |
7939 | s-utf_32.ads: Add pragma Pure | |
7940 | * s-utf_32.adb: Suppress warnings on non-static constants (now | |
7941 | that this is Pure). | |
7942 | ||
7943 | 2012-01-06 Bob Duff <duff@adacore.com> | |
7944 | ||
7945 | * s-rpc.ads (Read, Write): Add overriding indicators. | |
7946 | ||
7947 | 2012-01-06 Robert Dewar <dewar@adacore.com> | |
7948 | ||
7949 | * gnat_rm.texi: Add documentation for conventions | |
7950 | Ada_Pass_By_Copy and Ada_Pass_By_Reference. | |
7951 | ||
7952 | 2012-01-06 Gary Dismukes <dismukes@adacore.com> | |
7953 | ||
7954 | * a-tienio.adb (Put): Add exception message on | |
7955 | raise statements. Remove unneeded blocks and object declarations. | |
7956 | ||
7957 | 2012-01-06 Robert Dewar <dewar@adacore.com> | |
7958 | ||
7959 | * sem_prag.adb: Minor reformatting. | |
7960 | ||
7961 | 2012-01-06 Ed Schonberg <schonberg@adacore.com> | |
7962 | ||
7963 | * sinfo.ads, sinfo.adb (Has_Prefixed_Call): New flag to indicate | |
7964 | that a selected component within a generic unit has been resolved | |
7965 | as a prefixed call with local references. | |
7966 | * sem_ch3.adb (Is_Visible_Component): In an instance body a selected | |
7967 | component is always visible. | |
7968 | * sem_ch4.adb (Analyze_Selected_Component): If the node is a | |
7969 | prefixed call in an instance, do not look for visible components | |
7970 | of the type. | |
7971 | * sem_ch12.adb (Reset_Entity): If a selected component has resolved | |
7972 | to a prefixed call, mark the node accordingly when prefix and | |
7973 | selector are local references. | |
7974 | ||
4e6fa7c5 | 7975 | 2012-01-02 Eric Botcazou <ebotcazou@adacore.com> |
7976 | ||
7977 | * gnatvsn.ads (Current_Year): Bump to 2012. | |
7dfbd804 | 7978 | \f |
8dfa851a | 7979 | Copyright (C) 2012 Free Software Foundation, Inc. |
7dfbd804 | 7980 | |
7981 | Copying and distribution of this file, with or without modification, | |
7982 | are permitted in any medium without royalty provided the copyright | |
7983 | notice and this notice are preserved. |