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