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