]> gcc.gnu.org Git - gcc.git/blame - gcc/ada/ChangeLog
[multiple changes]
[gcc.git] / gcc / ada / ChangeLog
CommitLineData
3d0c15cf
AC
12011-11-23 Pascal Obry <obry@adacore.com>
2
3 * impunit.adb: Add g-exptty and g-tty units.
4
52011-11-23 Robert Dewar <dewar@adacore.com>
6
7 * exp_imgv.adb: Minor code reorganization (use Make_Temporary).
8
95160516
AC
92011-11-23 Robert Dewar <dewar@adacore.com>
10
11 * exp_util.adb, par-ch6.adb, sem_res.adb, par-util.adb: Minor
12 reformatting.
13
142011-11-23 Yannick Moy <moy@adacore.com>
15
16 * sem_ch13.adb (Analyze_Aspect_Specifications): Place error on
17 line of precondition/ postcondition/invariant.
3d0c15cf 18
95160516
AC
192011-11-23 Pascal Obry <obry@adacore.com>
20
21 * g-exptty.ads, g-exptty.adb, g-tty.ads, g-tty.adb,
22 terminals.c: New files.
23 Makefile.rtl: Add these new files.
24 * gnat_rm.texi: Add documentation for GNAT.Expect.TTY.
25 * gcc-interface/Makefile.in: Add g-exptty, g-tty, terminals.o
26 * gcc-interface/Make-lang.in: Update dependencies.
27
5328a91d
AC
282011-11-21 Robert Dewar <dewar@adacore.com>
29
95160516 30 * exp_imgv.adb (Expand_Width_Attribute): Handle case of Discard_Names.
5328a91d
AC
31 * sem_attr.adb (Eval_Attribute, case Width): Ditto.
32
332011-11-21 Thomas Quinot <quinot@adacore.com>
34
35 * sinfo.ads: Minor reformatting.
36
372011-11-21 Yannick Moy <moy@adacore.com>
38
39 * exp_util.adb: Minor reformatting. Update comments.
40
8a06151a
RD
412011-11-21 Robert Dewar <dewar@adacore.com>
42
43 * exp_prag.adb, exp_util.adb, sinfo.ads, sem_res.adb, s-stposu.adb,
44 sem_attr.adb, s-stposu.ads, s-taprop-solaris.adb, s-taprop-irix.adb,
45 sem_ch6.adb: Minor reformatting.
46
ca20a08e
AC
472011-11-21 Arnaud Charlet <charlet@adacore.com>
48
49 * s-taprop-irix.adb, s-taprop-solaris.adb (Create_Task): Use
50 Unrestricted_Access to deal with fact that we properly detect the
51 error if Access is used.
52 * gcc-interface/Make-lang.in: Update dependencies.
53
542011-11-21 Yannick Moy <moy@adacore.com>
55
56 * exp_prag.adb (Expand_Pragma_Check): Place error on first character
57 of expression.
58 * sem_res.adb (Resolve_Short_Circuit): Place error on first
59 character of expression.
60
612011-11-21 Yannick Moy <moy@adacore.com>
62
63 * exp_util.adb (Remove_Side_Effects): Do nothing in Alfa mode.
64
652011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
66
67 * exp_attr.adb (Expand_N_Attribute_Reference, case
68 Max_Size_In_Storage_Elements): Account for the size of the
69 hidden list header which precedes controlled objects allocated
70 on the heap.
71 * rtsfind.ads: Add RE_Header_Size_With_Padding to the runtime
72 tables.
73 * sinfo.adb (Header_Size_Added): New routine.
74 (Set_Header_Size_Added): New routine.
75 * sinfo.ads: Add flag Controlled_Header_Added along with
76 associated comment.
77 (Header_Size_Added): New inlined routine.
78 (Set_Header_Size_Added): New inlined routine.
79 * s-stposu.adb (Allocate_Any_Controlled): Use
80 Header_Size_With_Padding to calculate the proper
81 size of the header.
82 (Deallocate_Any_Controlled): Use
83 Header_Size_With_Padding to calculate the proper size
84 of the header. (Header_Size_With_Padding): New routine.
85 (Nearest_Multiple_Rounded_Up): Removed along with its uses.
86 * s-stposu.ads (Header_Size_With_Padding): New routine.
87
882011-11-21 Ed Schonberg <schonberg@adacore.com>
89
90 * aspects.adb: Aspect specifications are allowed on renaming
91 declarations
92 * par-ch6.adb (P_Subprogram): Parse aspect specifications in a
93 subprogram renaming declaration
94
d2d4b355
AC
952011-11-21 Tristan Gingold <gingold@adacore.com>
96
97 * env.c: Remove unused declaration.
98
992011-11-21 Pascal Obry <obry@adacore.com>
100
101 * s-os_lib.ads: Minor style fix.
102
1032011-11-21 Pascal Obry <obry@adacore.com>
104
105 * adaint.c (__gnat_dup2): When fd are stdout, stdin or stderr and
106 identical, do nothing on Windows XP.
107
1082011-11-21 Yannick Moy <moy@adacore.com>
109
110 * sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl):
111 Use Full_Expander_Active instead of Expander_Active to control
112 the forced evaluation of expressions for the sake of generating
113 checks.
114
1152011-11-21 Thomas Quinot <quinot@adacore.com>
116
117 * init.c: On FreeBSD, stack checking failures may raise SIGBUS.
118
1192011-11-21 Tristan Gingold <gingold@adacore.com>
120
121 * sysdep.c (mode_read_text, mode_write_text, mode_append_text,
122 mode_read_binary, mode_write_binary, mode_append_binary,
123 mode_read_text_plus, mode_write_text_plus, mode_append_text_plus,
124 mode_read_binary_plus, mode_write_binary_plus,
125 mode_append_binary_plus): Remove unused declarations.
126
1272011-11-21 Yannick Moy <moy@adacore.com>
128
129 * gnat_rm.texi: Minor rewording.
130
1312011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
132
133 * exp_imgv.adb (Expand_Width_Attribute): Emit
134 an error message rather than a warning when pragma Discard_Names
135 prevents the computation of 'Width. Do not emit an error through
136 the use of RE_Null.
137
1382011-11-21 Javier Miranda <miranda@adacore.com>
139
140 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add
141 implicit type conversion when the type of the allocator is an
142 interface. Done to force generation of displacement of the "this"
143 pointer when required.
144
1452011-11-21 Ed Schonberg <schonberg@adacore.com>
146
147 * sinfo.ads, sinfo.adb: Corresponding_Spec applies to expression
148 functions, and is set when the expression is a completion of a
149 previous declaration.
150 * sem_ch6.adb (Analyze_Expression_Function): To determine properly
151 whether an expression function completes a previous declaration,
152 use Find_Corresponding_Spec, as when analyzing a subprogram body.
153
1542011-11-21 Steve Baird <baird@adacore.com>
155
156 * sem_util.adb (Deepest_Type_Access_Level): Improve comment.
157 (Type_Access_Level): Improve comment.
158
08ef33f5
EB
1592011-11-21 Eric Botcazou <ebotcazou@adacore.com>
160
161 * gcc-interface/Makefile.in (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) by
162 means of -iquote unconditionally.
163
83e5da69
AC
1642011-11-21 Robert Dewar <dewar@adacore.com>
165
166 * sem_ch3.adb, sem_util.adb, sem_res.adb, sem_attr.adb: Minor
167 reformatting.
168
1692011-11-21 Arnaud Charlet <charlet@adacore.com>
170
171 * s-taprop-posix.adb (Create_Task): Use Unrestricted_Access
172 to deal with fact that we properly detect the error if Access
173 is used.
174
f460d8f3
SB
1752011-11-21 Steve Baird <baird@adacore.com>
176
177 * sem_util.ads: Update comment describing function
178 Deepest_Access_Level.
179 * sem_util.adb (Deepest_Type_Access_Level): Return Int'Last for a
180 generic formal type.
181 (Type_Access_Level): Return library level
182 for a generic formal type.
183 * sem_attr.adb (Resolve_Attribute): Replace two Type_Access_Level
184 calls with calls to Deepest_Type_Access_Level.
185 * sem_ch3.adb (Analyze_Component_Declaration): replace a
186 Type_Access_Level call with a call to Deepest_Type_Access_Level.
187 * sem_res.adb (Resolve_Allocator.Check_Allocator_Discrim_Accessibility):
188 Replace three Type_Access_Level calls with calls to
189 Deepest_Type_Access_Level.
190 (Resolve_Allocator): Replace a Type_Access_Level call with a call to
191 Deepest_Type_Access_Level.
192 (Valid_Conversion.Valid_Array_Conversion): Replace a
193 Type_Access_Level call with a call to Deepest_Type_Access_Level.
194
d673c5c5
RD
1952011-11-21 Robert Dewar <dewar@adacore.com>
196
197 * sem_ch3.adb, s-taprop-vms.adb, opt.ads: Minor reformatting.
198
be482a8c
AC
1992011-11-21 Robert Dewar <dewar@adacore.com>
200
201 * sinput.ads: Minor comment fix.
202
2032011-11-21 Robert Dewar <dewar@adacore.com>
204
205 * exp_attr.adb (Expand_N_Attribute_Reference, case First_Bit,
206 Last_Bit, Position): Handle 2005 case.
207
2082011-11-21 Robert Dewar <dewar@adacore.com>
209
210 * s-atocou-builtin.adb (Decrement): Use Unrestricted_Access
211 to deal with fact that we properly detect the error if Access
212 is used.
213 (Increment): Same fix.
214 * s-taprop-linux.adb (Create_Task): Use Unrestricted_Access
215 to deal with fact that we properly detect the error if Access
216 is used.
217 * sem_util.adb (Is_Volatile_Object): Properly record that A.B is
218 volatile if the B component is volatile. This affects the check
219 for passing such a by reference volatile actual to a non-volatile
220 formal (which should be illegal)
221
2222011-11-21 Robert Dewar <dewar@adacore.com>
223
224 * freeze.adb (Freeze_Enumeration_Type): Make sure to set both
225 size and alignment for foreign convention enumeration types.
226 * layout.adb (Set_Elem_Alignment): Redo setting of alignment
227 when size is set.
228
2292011-11-21 Yannick Moy <moy@adacore.com>
230
231 * checks.adb (Apply_Access_Check, Apply_Arithmetic_Overflow_Check,
232 Apply_Discriminant_Check, Apply_Divide_Check,
233 Apply_Selected_Length_Checks, Apply_Selected_Range_Checks,
234 Build_Discriminant_Checks, Insert_Range_Checks, Selected_Length_Checks,
235 Selected_Range_Checks): Replace reference to Expander_Active
236 with reference to Full_Expander_Active, so that expansion of
237 checks is not performed in Alfa mode
238
2392011-11-21 Tristan Gingold <gingold@adacore.com>
240
241 * s-taprop-vms.adb (Create_Task): Use Unrestricted_Access to deal with
242 fact that we properly detect the error if Access is used.
243
2442011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
245
246 * par-ch4.adb (P_Quantified_Expression): Add an Ada 2012 check.
247
2482011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
249
250 * exp_imgv.adb: Add with and use clause for Errout.
251 (Expand_Width_Attribute): Emit a warning when in
252 configurable run-time mode to provide a better diagnostic message.
253
2542011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
255
256 * s-finmas.adb (Finalize): Add comment concerning double finalization.
257
2582011-11-21 Ed Schonberg <schonberg@adacore.com>
259
260 * sem_ch3.adb (Access_Definition): If the access definition
261 is itself the return type of an access to function definition
262 which is ultimately the return type of an access to subprogram
263 declaration, its scope is the enclosing scope of the ultimate
264 access to subprogram.
265
2662011-11-21 Steve Baird <baird@adacore.com>
267
268 * sem_res.adb (Valid_Conversion): If a conversion was legal
269 in the body of a generic, then the corresponding conversion is
270 legal in the expanded body of an instance of the generic.
271
8e0aa19b
RD
2722011-11-21 Robert Dewar <dewar@adacore.com>
273
274 * sem_ch3.adb: Minor reformatting.
275
2762011-11-21 Robert Dewar <dewar@adacore.com>
277
278 * s-utf_32.adb (Is_UTF_32_Line_Terminator): Recognize NEL as
279 line terminator.
280 * sinput.ads: Add section on Handling of Source Line Terminators.
281 * types.ads (Line_Terminator): Adjust comments.
282
51fb9b73
RD
2832011-11-21 Robert Dewar <dewar@adacore.com>
284
285 * frontend.adb (Frontend): Capture restrictions from config files
286 * lib-load.adb (Load_Unit): Save/set/restore restriction pragma
287 information
288 * lib-xref.adb (Generate_Reference): Fix handling of obsolescent
289 references. This was noticed during debugging, but it is not
290 known if it causes real bugs.
291 * restrict.ads, restrict.adb: New routines to save/set/restore
292 non-partition-wide restrictions.
293 * s-rident.ads: Comment changes for new handling of
294 No_Elaboration_Code
295 * sem.adb (Sem): Save/Set/Restore non-partition-wide restrictions
296 * sem_ch10.adb (Analyze_Compilation_Unit): Remove incomplete
297 attempt to save/restore non-partition-wide restrictions (now
298 this work is all done in Sem).
299 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
300 Special handling for restriction No_Elaboration_Code.
301
3022011-11-21 Robert Dewar <dewar@adacore.com>
303
304 * gnat_ugn.texi: Document new handling of restrictions pragmas.
305
56272abe
AC
3062011-11-21 Pascal Obry <obry@adacore.com>
307
308 * s-taprop-linux.adb (Initialize_Lock): Do not allocate a cond
309 attribute as not needed.
310
3112011-11-21 Robert Dewar <dewar@adacore.com>
312
313 * sem_prag.adb: Minor reformatting.
314
3152011-11-21 Pascal Obry <obry@adacore.com>
316
317 * gnat_rm.texi: Document restriction for stdcall convention on
318 dispatching calls.
319
a5dd23a7
PO
3202011-11-21 Pascal Obry <obry@adacore.com>
321
322 * sem_prag.adb (Process_Convention): A dispatching call cannot
323 have a stdcall calling convention.
324
3252011-11-21 Pascal Obry <obry@adacore.com>
326
327 * s-taprop-linux.adb (Initialize_Lock): Do not allocate a
328 mutex attribute as not needed.
329 (Initialize_TCB): Likewise.
330 (Initialize): Likewise.
331
a4901c08
AC
3322011-11-21 Robert Dewar <dewar@adacore.com>
333
334 * sem_ch6.adb (Is_Public_Subprogram_For): New procedure
335 (Process_PPCs): Invariants only apply to public subprograms.
336
3372011-11-21 Robert Dewar <dewar@adacore.com>
338
339 * sem_util.adb, sem_util.ads, sem_attr.adb, restrict.adb,
340 restrict.ads: Fix for No_Implicit_Aliasing in the renames case.
341
3422011-11-21 Robert Dewar <dewar@adacore.com>
343
344 * a-finali.ads: Use pragma Pure_12 for this unit
345 * aspects.adb: Add aspect Pure_12
346 * aspects.ads: Add aspect Pure_12
347 * opt.ads: Add note on Pure_12
348 * par-prag.adb: Add dummy entry for Pure_12
349 * sem_prag.adb: Implement Pure_12 pragma
350 * snames.ads-tmpl: Add Entry for Pure_12
351
3522011-11-21 Sergey Rybin <rybin@adacore.com frybin>
353
354 * vms_data.ads: Add qualifiers for new gnatpp options
355 '--call_threshold' and '--par_threshold".
356 * gnat_ugn.texi: Add description for new gnatpp options
357 '--call_threshold' and '--par_threshold".
358
3592011-11-21 Robert Dewar <dewar@adacore.com>
360
361 * lib.ads: Minor reformatting.
362
3632011-11-21 Robert Dewar <dewar@adacore.com>
364
365 * lib-load.ads: Add comment.
366
4bf201ed
AC
3672011-11-21 Gary Dismukes <dismukes@adacore.com>
368
369 * sem_elab.adb: Minor reformatting
370
3712011-11-21 Robert Dewar <dewar@adacore.com>
372
373 * exp_ch6.adb: Minor reformatting.
374
3752011-11-21 Ed Schonberg <schonberg@adacore.com>
376
377 * sem_ch12.adb (Check_Formal_Package_Instance): If a formal
378 subprogram of the formal package is covered by an others
379 association with a box initialization, no check is needed
380 against the actual in the instantiation of the formal package.
381
3822011-11-21 Robert Dewar <dewar@adacore.com>
383
384 * sem_elab.adb (Check_Internal_Call_Continue): Suppress junk
385 elab warning from within precondition/postcondition etc.
386
bdf69d33
AC
3872011-11-21 Ed Schonberg <schonberg@adacore.com>
388
389 * exp_ch6.adb (Expand_Actuals): In Ada 2012, a function call
390 with out parameters may generate assignments to force constraint
391 checks. These checks must be properly placed in the code after the
392 declaration or statement that contains the call.
393
3942011-11-21 Fedor Rybin <frybin@adacore.com>
395
396 * gnat_ugn.texi: Adding info on current gnattest limitations an
397 support of -X option.
398
3992011-11-21 Robert Dewar <dewar@adacore.com>
400
401 * a-cfdlli.adb, a-cbdlli.adb: Minor reformatting.
402
03e1048e
AC
4032011-11-20 Robert Dewar <dewar@adacore.com>
404
405 * exp_ch6.adb, exp_util.adb: Minor reformatting
406
4072011-11-20 Eric Botcazou <ebotcazou@adacore.com>
408
409 * sinfo.ads (Reference): Document that it is OK to set
410 Is_Known_Non_Null on a temporary initialized to a N_Reference
411 node.
412
4132011-11-20 Matthew Heaney <heaney@adacore.com>
414
415 * a-cbdlli.adb, a-cfdlli.adb (Move): Set Last component to 0
416 for Source list.
417
74cab21a
EB
4182011-11-20 Eric Botcazou <ebotcazou@adacore.com>
419
420 * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment):
421 Declare NEW_EXPR local variable and attach the
422 temporary to it. Set Is_Known_Non_Null on the temporary.
423 (Make_Build_In_Place_Call_In_Object_Declaration): Likewise.
424 * exp_util.adb (Remove_Side_Effects): Set Is_Known_Non_Null on
425 the temporary created to hold the 'Reference of the expression,
426 if any.
427 * checks.adb (Install_Null_Excluding_Check): Bail out for the
428 Get_Current_Excep.all.all idiom generated by the expander.
429
088b91c7
EB
4302011-11-20 Eric Botcazou <ebotcazou@adacore.com>
431
432 * gcc-interface/trans.c (struct language_function): Add GNAT_RET.
433 (f_gnat_ret): New macro.
434 (struct nrv_data): Add GNAT_RET.
435 (finalize_nrv_unc_r): New helper function.
436 (finalize_nrv): Add GNAT_RET parameter. Copy it into DATA. If the
437 function returns unconstrained, use finalize_nrv_unc_r as callback.
438 (return_value_ok_for_nrv_p): Test the alignment of RET_OBJ only if
439 RET_OBJ is non-null.
440 (Subprogram_Body_to_gnu): Pass GNAT_RET to finalize_nrv.
441 (gnat_to_gnu) <N_Return_Statement>: In the return-unconstrained case,
442 if optimization is enabled, record candidates for the Named Return
443 Value optimization.
444
4452011-11-20 Eric Botcazou <ebotcazou@adacore.com>
0d24bf76
EB
446
447 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Add comment.
448 (gnat_to_gnu) <N_Return_Statement>: Add 'else' to avoid doing a useless
449 test. Tweak default case.
450 <N_Goto_Statement>: Use better formatting.
451 * gcc-interface/utils2.c (maybe_wrap_malloc): Use INIT_EXPR instead of
452 MODIFY_EXPR to initialize the storage.
453 (build_allocator): Likewise.
454
b1a785fb
EB
4552011-11-20 Eric Botcazou <ebotcazou@adacore.com>
456
457 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust
458 call to components_to_record.
459 (components_to_record): Add FIRST_FREE_POS parameter. For the variant
460 part, reuse enclosing union even if there is a representation clause
461 on the Unchecked_Union. If there is a variant part, compute the new
462 first free position, if any. Adjust call to self. Use a single field
463 directly only if it hasn't got a representation clause or is placed at
464 offset zero. Create the variant part at offset 0 if all the fields
465 down to this level have a rep clause. Do not chain the variant part
466 immediately and adjust downstream.
467 Do not test ALL_REP before moving the fields without rep clause to the
468 previous level. Call create_rep_part to create the REP part and force
469 a minimum size on it if necessary. Do not chain it immediately.
470 Create a fake REP part if there are fields without rep clause that need
471 to be laid out starting from FIRST_FREE_POS.
472 At the end, chain the REP part and then the variant part.
473 (create_rep_part): New function.
474 (get_rep_part): Minor tweak.
475 * gcc-interface/utils.c (tree_code_for_record_type): Minor tweak.
476
590175d2
IS
4772011-11-18 Iain Sandoe <iains@gcc.gnu.org>
478
479 PR target/50678
a6b7e723
EB
480 * init.c (__gnat_error_handler) [Darwin]: Move workaround to the
481 bug filed as radar #10302855 from __gnat_error_handler to...
482 (__gnat_adjust_context_for_raise) [Darwin]: ...here. New function.
590175d2 483 (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE) [Darwin]: Define.
590175d2 484
1e1ae0af
TG
4852011-11-18 Tristan Gingold <gingold@adacore.com>
486 Iain Sandoe <iains@gcc.gnu.org>
487
488 PR target/49992
489 * mlib-tgt-specific-darwin.adb (Archive_Indexer_Options): Remove.
a6b7e723 490 * gcc-interface/Makefile.in (darwin): Remove ranlib special-casing.
1e1ae0af 491
5f41422f
IS
4922011-11-12 Iain Sandoe <iains@gcc.gnu.org>
493
494 * gcc-interface/Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link
495 s-oscons.ads.
496 (OSCONS_CPP, OSCONS_EXTRACT): New.
a6b7e723
EB
497 (./bldtools/oscons/xoscons): New target.
498 ($(RTSDIR)/s-oscons.ads): Likewise.
499 (gnatlib): Depend on $(RTSDIR)/s-oscons.ads.
5f41422f
IS
500 * gcc-interface/Make-lang.in (ada/s-oscons.ads) Remove as dependency.
501 * Make-generated.in: Remove machinery to generate xoscons and
502 ada/s-oscons.ads.
503
033ba5bf
EB
5042011-11-10 Eric Botcazou <ebotcazou@adacore.com>
505
506 * fe.h (Serious_Errors_Detected): New macro.
507 * gcc-interface/gigi.h (build_atomic_load): Declare.
508 (build_atomic_store): Likewise.
509 * gcc-interface/trans.c (atomic_sync_required_p): New predicate.
510 (call_to_gnu): Add ATOMIC_SYNC parameter. Use local variable.
511 Build an atomic load for an In or In Out parameter if needed.
512 Build an atomic store for the assignment of an Out parameter if needed.
513 Build an atomic store to the target if ATOMIC_SYNC is true.
514 (present_in_lhs_or_actual_p): New predicate.
515 (gnat_to_gnu) <N_Identifier>: Build an atomic load if needed.
516 <N_Explicit_Dereference>: Likewise.
517 <N_Indexed_Component>: Likewise.
518 <N_Selected_Component>: Likewise.
519 <N_Assignment_Statement>: Adjust call to call_to_gnu.
520 Build an atomic store to the LHS if needed.
521 <N_Function_Call>: Adjust call to call_to_gnu.
522 * gcc-interface/utils2.c: Include toplev.h.
523 (resolve_atomic_size): New static function.
524 (build_atomic_load): New function.
525 (build_atomic_store): Likewise.
526 * gcc-interface/Make-lang.in (ada/utils2.o): Add toplev.h.
527
b5bf3335
AC
5282011-11-07 Olivier Hainque <hainque@adacore.com>
529
530 * sigtramp-ppcvxw.c: Add general comments.
531 (CFI_COMMON_REGS): Remove rule for r1, as in other unwinders. Add
532 rules for r2 to r13, plus CTR and XER.
533 (CFA_REG): New, register number used to hold the local CFA.
534 (CFI_DEF_CFA, SIGTRAMP_BODY): Use it.
535 Make that 15, not 14, with documentation.
536 (TCR): Undef before definition, preventing conflict with reg number in
537 VxWorks headers.
538
5392011-11-07 Robert Dewar <dewar@adacore.com>
540
541 * exp_util.ads, exp_alfa.adb, a-cohama.adb, a-cohama.ads, sem_ch4.adb,
542 aspects.ads, exp_ch8.adb, exp_ch8.ads, atree.ads: Minor reformatting.
543 * gcc-interface/Make-lang.in: Update dependencies.
544
5452011-11-07 Ed Schonberg <schonberg@adacore.com>
546
547 * exp_ch6.adb: A tagged type is a legal actual for an aliased
548 formal.
549
5502011-11-07 Pascal Obry <obry@adacore.com>
551
552 * g-socket.adb, g-socket.ads: Minor reformatting.
553
5542011-11-07 Robert Dewar <dewar@adacore.com>
555
556 * sem_res.adb (Resolve_Actuals): Minor error message improvement.
557
5582011-11-07 Robert Dewar <dewar@adacore.com>
559
560 * gnat_ugn.texi: Add discussion of default mode handling of
561 source representation with no -gnatW option given, in particular
562 noting that NEL (next line) is not recognized in this context.
563
9ee76313
AC
5642011-11-07 Yannick Moy <moy@adacore.com>
565
566 * sem_util.adb (Note_Possible_Modification): In Alfa mode,
567 generate a reference for a modification even when the modification
568 does not come from source.
569
5702011-11-07 Ed Schonberg <schonberg@adacore.com>
571
572 * exp_ch5.adb (Expand_Iterator_Loop): For the "of" iterator form,
573 use the indexing attributes rather than the Element function,
574 to obtain variable references.
575 * sem_ch4.adb (Try_Container_Indexing): Code cleanup. Use
576 Find_Aspect rather than iterating over representation
577 items. Improve error message.
578 * a-cohama.adb, a-cohama.ads Update to latest RM, with two versions
579 of Reference functions.
580
7b7a0c2b
AC
5812011-11-07 Yannick Moy <moy@adacore.com>
582
583 * sem_util.adb (Unique_Entity): For a parameter on a subprogram
584 body that has a corresponding parameter on the subprogram
585 declaration, define the unique entity as being the declaration
586 one.
587
5882011-11-07 Ed Schonberg <schonberg@adacore.com>
589
590 * sem_ch6.adb (Analyze_Return_Type): In Ada 2012 mode, if the
591 return type of a function is the class-wide type of an incomplete
592 type T, T can be a Taft-amendment type and does not have to be
593 completed in the current private part.
594
5952011-11-07 Ed Schonberg <schonberg@adacore.com>
596
597 * aspects.ads (Inherited_Aspect): Map that indicates type aspects
598 that are inherited by default, and apply to the class-wide type
599 as well.
600 * aspects.adb (Find_Aspect): If the entity is class-wide and the
601 aspect is inherited, use the aspect of the specific type.
602
cc570be6
AC
6032011-11-07 Hristian Kirtchev <kirtchev@adacore.com>
604
605 * exp_alfa.adb: Remove with and use clause for
606 Exp_Ch8. Add with and use clause for Exp_Util.
607 Remove local constant Disable_Processing_Of_Renamings.
608 (Expand_Alfa_N_Object_Renaming_Declaration): The expansion of
609 object renamings has been reenabled.
610 (Expand_Possible_Renaming):
611 The expansion of identifier and expanded names has been
612 reenabled. Perform the substitutions only for entities that
613 denote an object.
614 * exp_ch8.ads, exp_ch8.adb (Evaluate_Name): Moved to Exp_Util.
615 * exp_util.adb (Evaluate_Name): Moved from Exp_Ch8.
616 (Remove_Side_Effects): Alphabetize local variables. Add a guard
617 to avoid the infinite expansion of an expression in Alfa mode. Add
618 processing for function calls in Alfa mode.
619 * exp_util.ads (Evaliate_Name): Moved from Exp_Ch8.
620
6212011-11-07 Ed Schonberg <schonberg@adacore.com>
622
623 * freeze.adb (Freeze_Entity): If the entity is an access to
624 subprogram whose designated type is itself a subprogram type,
625 its own return type must be decorated with size information.
626
b6d185a5
AC
6272011-11-04 Arnaud Charlet <charlet@adacore.com>
628
629 * gcc-interface/Make-lang.in: Update dependencies.
630
1adaea16
AC
6312011-11-04 Robert Dewar <dewar@adacore.com>
632
633 * sprint.adb (Sprint_Node_Actual, case Qualified_Expression):
634 Avoid junk semicolon after argument of machine code Asm operand.
635
6362011-11-04 Robert Dewar <dewar@adacore.com>
637
638 * exp_ch11.adb (Generate_Push_Pop): Inhibit push/pop nodes in
639 CodePeer mode or if restriction No_Exception_Handlers is present.
640 * exp_ch6.adb (Expand_N_Subprogram_Body): (Inhibit push/pop
641 nodes in CodePeer mode or if restriction No_Exception_Handlers
642 is present.
643
6442011-11-04 Robert Dewar <dewar@adacore.com>
645
646 * s-tassta.adb, atree.ads, errout.adb, sinput.adb: Minor reformatting.
647
6482011-11-04 Ed Schonberg <schonberg@adacore.com>
649
650 * sem_ch6.adb (Analyze_Subprogram_Specification): The
651 specification is legal if it is a function that returns an
652 abstract type, if it comes from an attribute renaming of a stream
653 attribute of an abstract type.
654
6552011-11-04 Gary Dismukes <dismukes@adacore.com>
656
657 * exp_util.adb (Is_Possibly_Unaligned_Object): In case of indexed
658 components, check whether recursively check whether the prefix
659 denotes an unaligned object.
660
6612011-11-04 Ed Schonberg <schonberg@adacore.com>
662
663 * sem_prag.adb (Analyze_Pragma, case Debug): The argument of
664 the pragma is legal if it is an expanded name that denotes a
665 procedure that be can called without parameters.
666
6672011-11-04 Eric Botcazou <ebotcazou@adacore.com>
668
669 * gnat_ugn.texi (Performance Considerations) <Vectorization
670 of loops>: New sub-section. <Other Optimization Switches>:
671 Minor tweak.
672
4c9fe6c7
AC
6732011-11-04 Robert Dewar <dewar@adacore.com>
674
675 * gnat_rm.texi: Minor reformatting.
676
6772011-11-04 Matthew Heaney <heaney@adacore.com>
678
679 * a-convec.adb, a-coinve.adb, a-cobove.adb (Merge): Raise PE
680 when Target and Source denote same non-empty object
681 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Merge): Ditto
682
6832011-11-04 Robert Dewar <dewar@adacore.com>
684
685 * exp_attr.adb: Minor reformatting.
686
6872011-11-04 Ed Schonberg <schonberg@adacore.com>
688
689 * exp_ch5.adb (Expand_Assign_Record): Do not generate a
690 discriminant assignment within an initialization proc if the
691 record is an unchecked union, as it can only come from the
692 initialization of an unchecked union component.
693
6942011-11-04 Robert Dewar <dewar@adacore.com>
695
696 * gnat_ugn.texi: Minor reformatting.
697
6982011-11-04 Robert Dewar <dewar@adacore.com>
699
700 * par-labl.adb (Rewrite_As_Loop): Generate info msg rather than
701 warning message.
702
7032011-11-04 Robert Dewar <dewar@adacore.com>
704
705 * exp_ch4.adb: Minor code reorganization (remove junk obsolete
706 var Save_Space).
707
6ec084f3
HK
7082011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
709
710 * exp_alfa.adb: Add local constant
711 Disable_Processing_Of_Renamings;
712 (Expand_Alfa_N_Object_Renaming_Declaration): Disable
713 the name evaluation of object renamings for now.
714 (Expand_Potential_Renaming): Do not perform the substitution
715 for now.
716 * exp_util.adb (Remove_Side_Effects): Remove processing for
717 functions with side effects in Alfa mode.
718
73fe1679
AC
7192011-11-04 Gary Dismukes <dismukes@adacore.com>
720
721 * bindgen.adb (Gen_Elab_Calls): In the case
722 of the AAMP target, set elaboration entities to 1 rather than
723 incrementing.
724
7252011-11-04 Ed Schonberg <schonberg@adacore.com>
726
727 * sem_ch10.adb (Install_Limited_With_Unit): To establish the
728 proper entities on the ancestors of a child unit that appear
729 in a limited_with clause, follow the unit links because the
730 units are not analyzed and scope information is incomplete.
731
7322011-11-04 Eric Botcazou <ebotcazou@adacore.com>
733
734 * exp_ch4.adb (Expand_N_Selected_Component): Refine code
735 setting the Atomic_Sync_Required flag to detect one more case.
736 * exp_util.adb (Activate_Atomic_Synchronization): Refine code
737 setting the Atomic_Sync_Required flag to exclude more cases,
738 depending on the parent of the node to be examined.
739
7402011-11-04 Bob Duff <duff@adacore.com>
741
742 * g-excact.adb: Minor: use named notation.
743
7442011-11-04 Ed Schonberg <schonberg@adacore.com>
745
746 * sem_ch5.adb: Improve error messages for illegal iterators.
747
b2ab8c33
AC
7482011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
749
750 * exp_alfa.adb: Add with and use clauses for Exp_Ch8 and
751 Sem_Util.
752 (Expand_Alfa): Alphabetize cases on first choice. Add
753 processing for object renaming declarations, identifiers and
754 expanded names.
755 (Expand_Alfa_N_In): Remove useless return.
756 (Expand_Alfa_N_Object_Renaming_Declaration): New routine.
757 (Expand_Potential_Renaming): New routine.
758 * exp_ch8.adb (Evaluate_Name): Moved to the top level.
759 (Expand_N_Object_Declaration): Alphabetize local variables. Move
760 Evaluate_Name out to the top level.
761 * exp_ch8.ads (Evaluate_Name): Moved from body to package spec.
762 * exp_util.adb (Remove_Side_Effects): Add processing for
763 functions with side effects in Alfa mode.
764
7652011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
766
767 * gnat_rm.texi: Add entries for
768 restrictions No_Relative_Delay, No_Requeue_Statements and
769 No_Stream_Optimizations.
770
7712011-11-04 Ed Schonberg <schonberg@adacore.com>
772
773 * sem_ch4.adb: Set type of entity in prefixed call, for
774 completeness in a generic context.
775
4c318253
AC
7762011-11-04 Yannick Moy <moy@adacore.com>
777
778 * sem_prag.adb: Minor refactoring (renaming of a parameter).
779
7802011-11-04 Robert Dewar <dewar@adacore.com>
781
782 * atree.ads: Minor reformatting.
783
7842011-11-04 Robert Dewar <dewar@adacore.com>
785
786 * checks.adb (Atomic_Synchronization_Disabled): Check -gnatd.d
787 and -gnatd.e here
788 * exp_ch2.adb (Expand_Entity_Reference): Use
789 Activate_Atomic_Synchronization
790 * exp_ch4.adb (Expand_N_Explicit_Dereference): Use
791 Activate_Atomic_Synchronization (Expand_N_Indexed_Compoonent):
792 Activate_Atomic_Synchronization (Expand_N_Selected_Component):
793 Use Activate_Atomic_Synchronization
794 * exp_util.ads, exp_util.adb (Activate_Atomic_Synchronization): New
795 procedure.
796 * sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now apply to
797 N_Selected_Component node
798
37765e95
RD
7992011-11-04 Robert Dewar <dewar@adacore.com>
800
801 * sem_prag.adb, atree.ads, prj-env.adb, prj-env.ads: Minor reformatting.
802
8c18a165
AC
8032011-11-04 Yannick Moy <moy@adacore.com>
804
805 * atree.adb, atree.ads (Set_Original_Node): New set procedure.
806 * sem_ch13.adb (Analyze_Aspect_Specifications/Pre_Post_Aspects):
807 In ASIS mode, no splitting of aspects between conjuncts.
808 (Analyze_Aspect_Specifications/Aspect_Test_Case): Make pragma
809 expressions refer to the original aspect expressions through
810 the Original_Node link. This is used in semantic analysis for
811 ASIS mode, so that the original expression also gets analyzed.
812 * sem_prag.adb (Preanalyze_TC_Args,
813 Check_Precondition_Postcondition,
814 Analyze_Pragma/Pragma_Test_Case): In ASIS mode, for a pragma
815 generated from a source aspect, also analyze the original aspect
816 expression.
817 (Check_Expr_Is_Static_Expression): New procedure
818 similar to existing procedure Check_Arg_Is_Static_Expression,
819 except called on expression inside pragma.
820
8212011-11-04 Tristan Gingold <gingold@adacore.com>
822
823 * prj-env.adb, prj-env.ads (Find_Name_In_Path): New function, from
824 Find_Project.Try_Path_Name.
825 (Find_Project): Use Find_Name_In_Path to implement Try_Path_Name.
826
8272011-11-04 Eric Botcazou <ebotcazou@adacore.com>
828
829 * s-atocou.ads (Atomic_Counter): Remove redundant pragma Volatile.
830
8312011-11-04 Pascal Obry <obry@adacore.com>
832
833 * projects.texi: Add short description for qualifiers aggregate
834 and aggregate library.
835
8362011-11-04 Matthew Heaney <heaney@adacore.com>
837
838 * Makefile.rtl, impunit.adb: Added a-cogeso.ad[sb]
839 * a-cgaaso.adb: Replaced implementation with instantiation
840 of Generic_Sort.
841 * a-cogeso.ad[sb] This is the new Ada 2012 unit
842 Ada.Containers.Generic_Sort
843
5972791c
AC
8442011-11-04 Robert Dewar <dewar@adacore.com>
845
846 * exp_ch2.adb (Expand_Entity_Reference): Do not set
847 Atomic_Sync_Required for the case of a prefix of an attribute.
848 * exp_ch4.adb (Expand_N_Explicit_Dereference): May require
849 atomic synchronization
850 (Expand_N_Indexed_Component): Ditto.
851 (Expand_B_Selected_Component): Ditto.
852 * sem_prag.adb (Process_Suppress_Unsuppress):
853 Disable/Enable_Atomic_Synchronization can now occur for array
854 types with pragma Atomic_Components.
855 * sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now occur on
856 N_Explicit_Dereference nodes and on N_Indexed_Component nodes.
857
8582011-11-04 Gary Dismukes <dismukes@adacore.com>
859
860 * gnat_ugn.texi: Editorial corrections for gnattest section.
861
8751a35c
RD
8622011-11-04 Robert Dewar <dewar@adacore.com>
863
864 * sem_prag.adb: Minor reformatting.
865 * gnat_rm.texi: Update documentation for pragma Warnings (Off,
866 "***") usage.
867 * exp_ch2.adb (Expand_Entity_Reference): Only set
868 Atomic_Sync_Required on entities that are variables. Doesn't
869 make any sense on anything else.
870
fb5d63c6
RD
8712011-11-04 Robert Dewar <dewar@adacore.com>
872
873 * exp_ch2.adb (Expand_Entity_Reference): Extend handling of
874 atomic sync to type case.
875 * sem_prag.adb (Process_Suppress_Unsuppress): Atomic Sync can
876 apply to types.
877
a51cd0ec 8782011-11-04 Robert Dewar <dewar@adacore.com>
25ec1790 879
a51cd0ec
AC
880 * sem_warn.adb (Warn_On_Useless_Assignment): More accurate test
881 for call vs assign.
882 * gcc-interface/Make-lang.in: Update dependencies.
883
8842011-11-04 Robert Dewar <dewar@adacore.com>
885
886 * sem_prag.adb: Detect more cases of Long_Float inconsistencies at
887 compile time.
888
8892011-11-04 Matthew Heaney <heaney@adacore.com>
890
891 * Makefile.rtl, impunit.adb: Added a-sfecin.ads,
892 * a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb], a-sbhcin.ad[sb],
893 a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb], a-sulcin.ad[sb]
894 * a-sfecin.ads, a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb],
895 a-sbhcin.ad[sb], a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb],
896 a-sulcin.ad[sb]: New files.
897
8982011-11-04 Geert Bosch <bosch@adacore.com>
899
900 * i-forbla-unimplemented.ads, s-gecola.adb, s-gecola.ads,
901 s-gerebl.adb, s-gerebl.ads, i-forbla.adb, i-forbla.ads,
902 i-forlap.ads, i-forbla-darwin.adb, s-gecobl.adb, s-gecobl.ads,
903 s-gerela.adb, s-gerela.ads: Remove partial interface to BLAS/LAPACK.
904 * gcc-interface/Makefile.in: Remove libgnala and related objects.
25ec1790 905
a31945d7
AC
9062011-11-04 Matthew Heaney <heaney@adacore.com>
907
908 * a-cdlili.ad[sb], a-cidlli.ad[sb], a-coorse.ad[sb], a-ciorse.ad[sb],
909 a-coorma.ad[sb], a-ciorma.ad[sb], a-coormu.ad[sb], a-ciormu.ad[sb],
910 a-cohama.ad[sb], a-cihama.ad[sb], a-cohase.ad[sb], a-cihase.ad[sb],
911 a-convec.ad[sb], a-coinve.ad[sb] (Assign, Copy): New operations
912 added to package.
913
a51cd0ec
AC
9142011-11-04 Eric Botcazou <ebotcazou@adacore.com>
915
916 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not assert
917 that the type of the parameters isn't dummy in type_annotate_only mode.
918
a31945d7
AC
9192011-11-04 Robert Dewar <dewar@adacore.com>
920
921 * sem_ch12.adb: Minor reformatting
922
9232011-11-04 Gary Dismukes <dismukes@adacore.com>
924
925 * bindgen.adb (Gen_Elab_Calls): In the case of the AAMP target,
926 initialize elaboration entities to zero when specs are processed.
927
a53f3523
IS
9282011-10-28 Iain Sandoe <iains@gcc.gnu.org>
929 Eric Botcazou <ebotcazou@adacore.com>
930
931 PR target/50678
be7552fc
EB
932 * init.c (__gnat_error_handler) [Darwin]: Apply a work-around to the
933 bug filed as radar #10302855 (inconsistent unwind data for sigtramp).
a53f3523 934
0de82be5
EB
9352011-10-28 Eric Botcazou <ebotcazou@adacore.com>
936
937 PR ada/50842
938 * gcc-interface/Makefile.in (SYMDEPS): Delete.
939 (LIBICONV): New variable.
940 (LIBICONV_DEP): Likewise.
941 (LIBS): Add $(LIBICONV).
942 (LIBDEPS): Add $(LIBICONV_DEP).
943 (EXTRA_GNATTOOLS_OBJS): Merge into...
944 (TOOLS_LIBS): ...this. Add $(LIBICONV).
e1e5852c 945
1586f8a3
EB
9462011-10-26 Eric Botcazou <ebotcazou@adacore.com>
947
948 * gcc-interface/decl.c (elaborate_expression_1): Add EXPR_PUBLIC_P local
949 variable. Always create the elaboration variable, if any, as constant.
950
e1e5852c
EB
9512011-10-26 Eric Botcazou <ebotcazou@adacore.com>
952
953 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Try to
954 make a packable type for fields of union types as well.
955 <is_type>: Use RECORD_OR_UNION_TYPE_P predicate.
956 (gnat_to_gnu_component_type): Try to make a packable type for fields
957 of union types as well.
958 (make_packable_type): Use RECORD_OR_UNION_TYPE_P predicate.
959 (maybe_pad_type): Try to make a packable type for fields of union types
960 as well.
961 (gnat_to_gnu_field): Likewise.
962 (is_variable_size): Use RECORD_OR_UNION_TYPE_P predicate.
963 (set_rm_size): Likewise.
964 (rm_size): Likewise.
965 * gcc-interface/misc.c (gnat_type_max_size): Likewise.
966 * gcc-interface/trans.c (add_decl_expr): Likewise.
967 * gcc-interface/utils.c (finish_record_type): Likewise.
968 * gcc-interface/utils2.c (build_simple_component_ref): Likewise.
969
0025cb63
EB
9702011-10-26 Eric Botcazou <ebotcazou@adacore.com>
971
972 * gcc-interface/decl.c (gnat_to_gnu_field): Always check components
973 declared as atomic. Move around conditionally executed code.
974
b3c33641
AC
9752011-10-24 Robert Dewar <dewar@adacore.com>
976
be7552fc 977 * sem.adb (Initialize): Fix bug that blew up if called a second time.
b3c33641
AC
978
9792011-10-24 Robert Dewar <dewar@adacore.com>
980
981 * tb-alvxw.c, tracebak.c, expect.c, initflt.c, tb-alvms.c,
982 tb-ivms.c, tb-gcc.c: Update headers to GPL 3.
983
9842011-10-24 Robert Dewar <dewar@adacore.com>
985
986 * sem_prag.adb (Analyze_Pragma, case Debug): Give proper pragma
987 name in error msg.
988
9892011-10-24 Hristian Kirtchev <kirtchev@adacore.com>
990
be7552fc 991 * gnat_rm.texi: Add an entry for restriction No_Finalization.
b3c33641
AC
992
9932011-10-24 Ed Schonberg <schonberg@adacore.com>
994
995 * sem_ch12.adb (Insert_Freeze_Node_For_Instance): If the
996 current instance is within the one that contains the generic,
997 the freeze node for the current one must appear in the current
998 declarative part. Ditto if the current instance is within another
999 package instance. In both of these cases the freeze node of the
1000 previous instance is not relevant.
1001
10022011-10-24 Gary Dismukes <dismukes@adacore.com>
1003
1004 * switch-m.adb (Normalize_Compiler_Switches): Add recognition
1005 of AAMP-specific switches -univ and -aamp_target.
1006
10072011-10-24 Robert Dewar <dewar@adacore.com>
1008
1009 * a-tienau.adb (Put): Deal properly with limited line length.
1010
10112011-10-24 Robert Dewar <dewar@adacore.com>
1012
1013 * sem_warn.adb, sem_ch12.adb: Minor reformatting.
1014
30e1709c 10152011-10-24 Tristan Gingold <gingold@adacore.com>
8263e17a
TG
1016
1017 * gcc-interface/Makefile.in: Use GNU ld switches to generate map files
1018 on AIX.
1019
12b4d338
AC
10202011-10-24 Ed Schonberg <schonberg@adacore.com>
1021
1022 * sem_ch12.adb (Earlier): make available globally. If both
1023 nodes have the same sloc, the freeze node that does not come
1024 from source is the later one.
1025 (True_Parent): Make available globally.
1026 (Previous_Instance): Subsidiary of
1027 Insert_Freeze_Node_For_Instance, to check whether the generic
1028 parent of the current instance is declared within a previous
1029 instance in the same unit or declarative part, in which case the
1030 freeze nodes of both instances must appear in order to prevent
1031 elaboration problems in gigi.
1032 * sem_ch12.adb (Insert_Freeze_Node_For_Instance): A stub is a
1033 freeze point, and the freeze node of a preceding instantiation
1034 must be inserted before it.
1035
10362011-10-24 Robert Dewar <dewar@adacore.com>
1037
1038 * checks.ads, checks.adb: Add handling of Synchronization_Check
1039 * debug.adb: Add doc for -gnatd.d and -gnatd.e (disable/enable
1040 atomic sync).
1041 * exp_ch2.adb (Expand_Entity_Reference): Set Atomic_Sync_Required
1042 flag Minor code reorganization.
1043 * opt.ads (Warn_On_Atomic_Synchronization): New switch.
1044 * par-prag.adb: Add dummy entries for pragma
1045 Disable/Enable_Atomic_Synchronization.
1046 * sem_prag.adb (Process_Suppress_Unsuppress): Handle
1047 case of Atomic_Synchronization specially (not suppressed
1048 by All_Checks, cannot be set from Source).
1049 (Pragma Disable/Enable_Atomic_Synchronization): Add processing.
1050 * sinfo.ads, sinfo.adb: Add Atomic_Sync_Required flag
1051 * snames.ads-tmpl: Add entry for Atomic_Synchronization Add
1052 entry for pragma Disable/Enable_Atomic_Synchronization
1053 * switch-c.adb: The -gnatp switch does not disable
1054 Atomic_Synchronization Add -gnatep switch to disable
1055 Atomic_Synchronization.
1056 * types.ads: Add entry for Synchronization_Check
1057 * usage.adb: Add line for -gnated switch
1058 * warnsw.adb: Settings for Warn_On_Atomic_Synchronization
1059
08ce7bb8
AC
10602011-10-24 Geert Bosch <bosch@adacore.com>
1061
be7552fc
EB
1062 * s-gearop.adb (Back_Substitute): Avoid overflow if matrix bounds start
1063 at Integer'First.
08ce7bb8
AC
1064
10652011-10-24 Robert Dewar <dewar@adacore.com>
1066
be7552fc 1067 * sem_ch12.adb, s-gearop.adb: Minor reformatting.
08ce7bb8
AC
1068
10692011-10-24 Robert Dewar <dewar@adacore.com>
1070
be7552fc
EB
1071 * warnsw.adb: Add some missing warnings to Set_GNAT_Mode_Warnings.
1072 * warnsw.ads: Add comments to Set_GNAT_Mode_Warnings.
08ce7bb8 1073
292689c2
AC
10742011-10-24 Emmanuel Briot <briot@adacore.com>
1075
1076 * prj-proc.adb (Process_Expression_Variable_Decl): No special
1077 handling for Project_Path unless it is an attribute.
1078
10792011-10-24 Javier Miranda <miranda@adacore.com>
1080
1081 * sem_ch12.adb (Check_Hidden_Primitives): New subprogram.
1082 (Install_Hidden_Primitives): New subprogram.
1083 (Restore_Hidden_Primitives): New subprogram.
1084 (Analyze_Formal_Package_Declaration,
1085 Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
1086 Invoke Check_Hidden_Primitives after every call to
1087 Analyze_Associations, and invoke Restore_Hidden_Primitives to
1088 restore their visibility after processing the instantiation.
1089 (Instantiate_Package_Body): Install visible primitives before
1090 analyzing the instantiation and uninstall them to restore their
1091 visibility when the instantiation has been analyzed.
1092 * sem_util.ads, sem_util.adb (Add_Suffix): New subprogram
1093 (Remove_Suffix): New subprogram
1094 * sem_ch3.adb (Derive_Subprogram): When handling
1095 a derived subprogram for the instantiation of a formal derived
1096 tagged type, inherit the dispatching attributes from the actual
1097 subprogram (not from the parent type).
1098
db4b3c49
AC
10992011-10-24 Vasiliy Fofanov <fofanov@adacore.com>
1100
1101 * gnat_ugn.texi: Document explicit use of XDECGNAT library.
1102
11032011-10-24 Hristian Kirtchev <kirtchev@adacore.com>
1104
1105 * exp_ch3.adb (Build_Assignment): Add local constant N_Loc and
1106 update its uses.
1107 (Build_Discriminant_Assignments): Add local variable D_Loc and update
1108 its uses.
1109 (Build_Init_Statements): Add local variables Comp_Loc, Decl_Loc and
1110 Var_Loc and update their uses.
1111 (Build_Record_Init_Proc): Code reformatting.
1112 (Increment_Counter): Add formal parameter Loc.
1113 (Make_Counter): Add formal parameter Loc.
1114
11152011-10-24 Eric Botcazou <ebotcazou@adacore.com>
1116
1117 * sem_disp.adb (Covers_Some_Interface): Fix typo.
1118
11192011-10-24 Matthew Heaney <heaney@adacore.com>
1120
be7552fc
EB
1121 * a-cuprqu.adb, a-cbprqu.adb (Dequeue_Only_High_Priority): Fix sense
1122 of predicate.
db4b3c49
AC
1123
11242011-10-24 Yannick Moy <moy@adacore.com>
1125
1126 * sem_ch13.adb (Analyze_Aspect_Specifications/Aspect_Test_Case):
1127 Translate arguments in positional notation into pragma argument
1128 association arguments for the generated pragma.
1129
11302011-10-24 Arnaud Charlet <charlet@adacore.com>
1131
1132 * exp_ch5.adb: Fix minor typo.
1133
11342011-10-24 Ed Schonberg <schonberg@adacore.com>
1135
1136 * sem_ch3.adb (Is_Visible_Component): Refine predicate for
1137 the case of a component reference in an instance body, when the
1138 enclosing type is private.
1139
86f0e17a
AC
11402011-10-24 Sergey Rybin <rybin@adacore.com frybin>
1141
1142 * gnat_ugn.texi: For gnatelim, move the note about using the GNAT
1143 driver for getting the project support into gnatelim section.
1144
11452011-10-24 Robert Dewar <dewar@adacore.com>
1146
be7552fc 1147 * gnat_rm.texi: Minor correction to documentation on address clause.
86f0e17a
AC
1148
11492011-10-24 Hristian Kirtchev <kirtchev@adacore.com>
1150
1151 * s-finmas.adb (Attach): Synchronize and call the unprotected version.
1152 (Attach_Unprotected): New routine.
1153 (Delete_Finalize_Address): Removed.
1154 (Delete_Finalize_Address_Unprotected): New routine.
1155 (Detach): Synchronize and call the unprotected version.
1156 (Detach_Unprotected): Remove locking.
1157 (Finalize): Add various comment on synchronization. Lock the critical
1158 region and call the unprotected versions of routines.
1159 (Finalize_Address): Removed.
1160 (Finalize_Address_Unprotected): New routine.
1161 (Set_Finalize_Address): Synchronize and call
1162 the unprotected version.
1163 (Set_Finalize_Address_Unprotected): New routine.
1164 (Set_Heterogeneous_Finalize_Address): Removed.
1165 (Set_Heterogeneous_Finalize_Address_Unprotected): New routine.
1166 (Set_Is_Heterogeneous): Add comment on synchronization and
1167 locking.
1168 * s-finmas.ads: Flag Finalization_Started is no longer atomic
1169 because synchronization uses task locking / unlocking.
1170 (Attach): Add comment on usage.
1171 (Attach_Unprotected): New routine.
1172 (Delete_Finalize_Address): Renamed to
1173 Delete_Finalize_Address_Unprotected.
1174 (Detach): Add comment on usage.
1175 (Detach_Unprotected): New routine.
1176 (Finalize_Address): Renamed to Finalize_Address_Unprotected.
1177 (Set_Finalize_Address): Add comment on usage.
1178 (Set_Finalize_Address_Unprotected): New routine.
1179 (Set_Heterogeneous_Finalize_Address): Renamed to
1180 Set_Heterogeneous_Finalize_Address_Unprotected.
1181 * s-stposu.adb (Allocate_Any_Controlled): Add local variable
1182 Allocation_Locked. Add various comments on synchronization. Lock
1183 the critical region and call the unprotected version of
1184 routines.
1185 (Deallocate_Any_Controlled): Add various comments on
1186 synchronization. Lock the critical region and call the unprotected
1187 version of routines.
1188
11892011-10-24 Ed Schonberg <schonberg@adacore.com>
1190
1191 * sem_ch3.adb (Set_Fixed_Range): The bounds of a fixed point type
1192 are universal and must carry the corresponding type.
1193 * sem_eval.adb (Check_Non_Static_Context): If the type of the
1194 expression is universal real, as may be the case for a fixed point
1195 expression with constant operands in the context of a conversion,
1196 there is nothing to check.
1197 * s-finmas.adb: Minor reformatting
1198
be98aaf0
EB
11992011-10-23 Eric Botcazou <ebotcazou@adacore.com>
1200
1201 * gcc-interface/decl.c (create_concat_name): Add explicit cast.
1202
e45c0886
EB
12032011-10-20 Eric Botcazou <ebotcazou@adacore.com>
1204
1205 * gcc-interface/Make-lang.in (GNATLIBFLAGS, GNATLIBCFLAGS, THREAD_KIND,
1206 TRACE): Reintroduce.
1207 (ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o,
1208 ada/initialize.o, ada/raise.o): Reintroduce explicit compilation rules.
1209
27ab5bd8
EB
12102011-10-20 Eric Botcazou <ebotcazou@adacore.com>
1211
1212 * gcc-interface/trans.c (lhs_or_actual_p): New predicate.
1213 (unchecked_conversion_nop): Use it.
1214 (gnat_to_gnu): Likewise.
1215
b7562769
EB
12162011-10-20 Eric Botcazou <ebotcazou@adacore.com>
1217
1218 * back_end.adb (Call_Back_End): Pass the maximum logical line number
1219 instead of the maximum physical line number to gigi.
1220 * gcc-interface/trans.c (Sloc_to_locus): Cope with line zero.
1221
53e7c794 12222011-10-16 Tom Tromey <tromey@redhat.com>
46427374
TT
1223 Dodji Seketeli <dodji@redhat.com>
1224
be7552fc
EB
1225 * gcc-interface/trans.c (gigi, Sloc_to_locus): Adjust to use the new
1226 public ordinary map interface.
46427374 1227
ea10ca9c
AC
12282011-10-16 Tristan Gingold <gingold@adacore.com>
1229
53e7c794 1230 * link.c (_AIX): Add support for GNU ld.
ea10ca9c
AC
1231
12322011-10-16 Fedor Rybin <frybin@adacore.com>
1233
1234 * gnat_ugn.texi: Fixing gnattest example names in the doc.
1235 Adding explanation to additional tests usage.
1236
12372011-10-16 Robert Dewar <dewar@adacore.com>
1238
1239 * exp_ch6.adb, sem_ch6.adb: Minor reformatting.
1240
12412011-10-16 Eric Botcazou <ebotcazou@adacore.com>
1242
1243 * a-convec.adb: Fix minor inconsistencies.
1244
12452011-10-16 Matthew Heaney <heaney@adacore.com>
1246
1247 * a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (package
1248 Implementation): Specify pragma Implementation_Defined.
1249
c225ba50
NR
12502011-10-15 Nicolas Roche <roche@adacore.com>
1251
1252 * gcc-interface/lang-specs.h: Ensure -mrtp switch is passed when using
1253 either rtp-smp or ravenscar-cert-rtp runtimes.
1254
3e452820
AC
12552011-10-15 Bob Duff <duff@adacore.com>
1256
1257 * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call):
1258 Do not create a pool formal on unless RE_Root_Storage_Pool_Ptr
1259 is available.
1260 (Expand_N_Extended_Return_Statement): Do not create a renaming of the
1261 build-in-place pool parameter unless RE_Root_Storage_Pool_Ptr is
1262 available.
1263 (Make_Build_In_Place_Call_In_Allocator): Add the user-defined
1264 pool only if RE_Root_Storage_Pool_Ptr is available.
1265 (Make_Build_In_Place_Call_In_Object_Declaration): Do not add a
1266 pool actual unless RE_Root_Storage_Pool_Ptr is available.
1267 * sem_ch6.adb (Create_Extra_Formals): Add build-in-place pool
1268 formal only if RE_Root_Storage_Pool_Ptr is available.
1269
12702011-10-15 Matthew Heaney <heaney@adacore.com>
1271
1272 * a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (Queue
1273 type): Specify Priority aspect for protected type.
1274
b7539c3b
AC
12752011-10-14 Ed Schonberg <schonberg@adacore.com>
1276
1277 * exp_disp.adb (Check_Premature_Freezing): If an untagged type
1278 is a generic actual, it is a subtype of a type that was frozen
1279 by the instantiation, and even if not marked frozen it does not
1280 affect the construction of the dispatch table.
1281
12822011-10-14 Robert Dewar <dewar@adacore.com>
1283
1284 * make.adb, mlib-utl.adb, sem_util.adb, sem_ch4.adb: Minor code
1285 reformatting.
1286 * s-rident.ads: Add missing Compiler_Unit pragma.
1287
af89615f
AC
12882011-10-14 Gary Dismukes <dismukes@adacore.com>
1289
1290 * sem_res.adb: Minor reformatting.
1291
12922011-10-14 Hristian Kirtchev <kirtchev@adacore.com>
1293
1294 * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
1295 Code and comment reformatting. Use BIP_Task_Master
1296 when creating a _master.
1297 (BIP_Formal_Suffix): Code reformatting. Correct the case for
1298 BIP_Task_Master.
1299 (Make_Build_In_Place_Call_In_Object_Declaration): Use
1300 BIP_Task_Master when creating a reference to the enclosing
1301 function's _master formal.
1302 (Move_Activation_Chain): Use BIP_Task_Master when creating a reference
1303 to the _master.
1304 * exp_ch6.ads: Change BIP_Master to BIP_Task_Master.
1305 (Needs_BIP_Finalization_Master): Alphabetized.
1306 * sem_ch6.adb (Create_Extra_Formals): Update the usage of
1307 BIP_Task_Master.
1308
13092011-10-14 Ed Schonberg <schonberg@adacore.com>
1310
1311 * par-ch6.adb (P_Return_Object_Declaration): In Ada 2012 mode,
1312 reject an aliased keyword on the object declaration of an extended
1313 return statement. In older versions of the language indicate
1314 that this is illegal in the standard.
1315
13162011-10-14 Pascal Obry <obry@adacore.com>
1317
1318 * sem_util.adb, sem_ch4.adb: Minor reformatting.
1319
13202011-10-14 Ed Schonberg <schonberg@adacore.com>
1321
1322 * sem_ch13.adb: Recognize properly procedure calls that are
1323 transformed into code statements.
1324
13252011-10-14 Vincent Celier <celier@adacore.com>
1326
1327 * projects.texi: Minor fix in project example.
1328
f2d10a02
AC
13292011-10-14 Ed Schonberg <schonberg@adacore.com>
1330
1331 * sem_util.adb: Return objects are aliased if their type is
1332 immutably limited as per AI05-0053.
1333
13342011-10-14 Gary Dismukes <dismukes@adacore.com>
1335
1336 * exp_ch4.adb (Expand_N_Op_And): Remove Short_Circuit_And_Or
1337 expansion code (moved to sem_res) (Expand_N_Op_Or): Remove
1338 Short_Circuit_And_Or expansion code (moved to sem_res).
1339 * sem_res.adb (Resolve_Logical_Op): Add code to rewrite Boolean
1340 "and" and "or" operators as short-circuit "and then" and "or
1341 else", when pragma Short_Circuit_And_Or is active.
1342
2fcc44fa
AC
13432011-10-13 Robert Dewar <dewar@adacore.com>
1344
1345 * sem_ch9.adb, sem_util.adb, sem_util.ads, exp_ch6.adb, sem_ch4.adb,
1346 sem_ch6.adb, exp_ch3.adb: Minor reformatting.
1347
13482011-10-13 Arnaud Charlet <charlet@adacore.com>
1349
1350 * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add a-ngcoar.o.
1351
13522011-10-13 Jerome Guitton <guitton@adacore.com>
1353
1354 * sysdep.c (__gnat_get_task_options): Re-enable VX_SPE_TASK on vThreads
1355
13562011-10-13 Eric Botcazou <ebotcazou@adacore.com>
1357
1358 * a-convec.ads (Cursor): Minor reformatting.
1359 * a-convec.adb (Next): Fix minor inconsistencies.
1360 (Previous): Likewise.
1361
9b62eb32
AC
13622011-10-13 Ed Schonberg <schonberg@adacore.com>
1363
1364 * sem_util.ads, sem_util.adb (Available_Full_View_Of_Component):
1365 New predicate to determine whether some operations on an array
1366 type are available when the full view of its component may differ
1367 from the view of the point of the array declaration.
1368 * sem_ch4.adb (Find_Equality_Types): Use
1369 Available_Full_View_Of_Component.
1370 * sem_type.adb (Valid_Boolean_Arg, Valid_Comparison_Arg): Ditto
1371
13722011-10-13 Ed Schonberg <schonberg@adacore.com>
1373
1374 * sem_ch9.adb: Analyze aspects while discriminants of protected
1375 type are visible.
1376
13772011-10-13 Geert Bosch <bosch@adacore.com>
1378
1379 * Makefile.rtl (GNATRTL_TASKING_OBJECTS): Add
1380 a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o, as these no
1381 longer depend on an external library.
1382 * gcc-interface/Makefile.in (GNATRTL_LINEARALGEBRA_OBJS): Remove
1383 a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o.
1384 Update dependencies.
1385 * gcc-interface/Make-lang.in: Update dependencies.
1386
1a36a0cd
AC
13872011-10-13 Cyrille Comar <comar@adacore.com>
1388
1389 * gnat_ugn.texi: Minor editing.
1390
13912011-10-13 Vincent Celier <celier@adacore.com>
1392
1393 * projects.texi: Add documentation on packages and attributes
1394 that are inherited from a project being extended into the
1395 extended project.
1396
13972011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
1398
1399 * exp_ch3.adb (Build_Master): Rewritten.
1400 (Expand_N_Full_Type_Declaration): Reformat the declarative
1401 region. Update the call to Build_Master_Renaming.
1402 (Expand_Previous_Access_Type): Rewritten.
1403 * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
1404 Add local constant Result_Subt and update related usage.
1405 (Expand_N_Extended_Return_Statement): Add local constant
1406 Result_Subt and update related usage.
1407 * exp_ch9.adb (Build_Activation_Chain): Rewritten to use the
1408 new context detection mechanism.
1409 (Build_Class_Wide_Master):
1410 Use Insert_Action to add the renaming into the tree.
1411 (Build_Master_Entity): Rewritten to use the new context detection
1412 mechanism.
1413 (Build_Master_Renaming): Add formal parameter Ins_Nod
1414 and related usage. Use Insert_Action to add the renaming into the
1415 tree.
1416 (Find_Enclosing_Context): New subsidiary routine. Rather
1417 than relying on enclosing scopes, this routine looks at the
1418 tree structure to figure out the proper context for a _master
1419 or a _chain. This approach eliminates the issues with transient
1420 scopes which have not been converted into blocks.
1421 * exp_ch9.ads (Build_Master_Entity): Change parameter profile
1422 to better reflect the new usage. Update the related comment.
1423 (Build_Master_Renaming): Add formal parameter Ins_Nod. Update
1424 the comment on usage.
1425 * sem_ch3.adb (Access_Definition): Update the calls to
1426 Build_Master_Entity and Build_Master_Renaming.
1427 * sem_ch6.adb (Create_Extra_Formals): Add local variable
1428 Full_Subt. Code reformatting.
1429 * sem_util.adb (Is_Iterator): Alphabetized.
1430 (Is_LHS): Alphabetized.
1431 (Is_Limited_Class_Wide_Type): New routine.
1432 * sem_util.ads (Is_Limited_Class_Wide_Type): New routine.
1433
a5917ffb
GB
14342011-10-13 Geert Bosch <bosch@adacore.com>
1435
1436 * a-ngrear.adb (Solve): Make generic and move to
1437 System.Generic_Array_Operations.
1438 * s-gearop.ads (Matrix_Vector_Solution, Matrix_Matrix_Solution):
1439 New generic solvers to compute a vector resp. matrix Y such
1440 that A * Y = X, approximately.
1441 * s-gearop.adb (Matrix_Vector_Solution, Matrix_Matrix_Solution):
1442 Implement using Forward_Eliminate and Back_Substitute
1443 * a-ngcoar.adb: Reimplement in pure Ada to remove dependencies
1444 on BLAS and LAPACK.
1445 * a-ngcoar.ads ("abs"): Fix return type to be real.
1446
574ec945
EB
14472011-10-13 Eric Botcazou <ebotcazou@adacore.com>
1448
1449 PR ada/50589
1450 * s-linux-alpha.ads: Do not "with" Interfaces.C.
1451 * s-linux-sparc.ads: Likewise.
1452
8668ea36
GB
14532011-10-13 Geert Bosch <bosch@adacore.com>
1454
1455 * s-gearop.ads (Forward_Eliminate): Add "abs" formal function
1456 returning a Real.
1457 * s-gearop.adb (Forward_Eliminate): Remove local "abs" function
1458 and use formal.
1459 * a-ngrear.adb (Forward_Eliminate): Adjust instantiation for
1460 new profile.
1461
edcf5983
GB
14622011-10-13 Geert Bosch <bosch@adacore.com>
1463
1464 * a-ngrear.adb, s-gearop.adb, s-gearop.ads (Sqrt): Make generic and
1465 move to System.Generic_Array_Operations.
1466
a4935dea
GB
14672011-10-13 Geert Bosch <bosch@adacore.com>
1468
1469 * a-ngrear.adb ("abs"): Adjust for modified L2_Norm generic
1470 * s-gearop.ads (L2_Norm): Change profile to be suitable for
1471 Complex_Vector
1472 * s-gearop.adb (L2_Norm): Reimplement using direct definition,
1473 not inner product
1474
3e7302c3
AC
14752011-10-13 Robert Dewar <dewar@adacore.com>
1476
1477 * exp_ch5.adb, sem_ch3.adb, impunit.adb, impunit.ads, sem_type.adb,
1478 prj-proc.adb, exp_ch9.adb, s-regpat.adb, sem_ch10.adb, sem_prag.adb,
1479 sem_ch12.adb, freeze.adb, sem_attr.adb, sem_attr.ads, gnatlink.adb,
1480 par-ch6.adb, exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, sem_ch8.adb,
1481 par-util.adb, sem_ch13.adb, lib-xref.adb, g-trasym.adb, g-trasym.ads,
1482 exp_aggr.adb, s-taprop-posix.adb: Minor reformatting.
1483
14842011-10-13 Geert Bosch <bosch@adacore.com>
1485
1486 * s-gearop.adb: Minor comment additions.
1487
8417f4b2
AC
14882011-10-13 Fedor Rybin <frybin@adacore.com>
1489
1490 * gnat_ugn.texi: Add gnattest section.
1491
14922011-10-13 Ed Schonberg <schonberg@adacore.com>
1493
1494 * freeze.adb: Do not create body of renaming if declaration has
1495 errors.
1496
14972011-10-13 Olivier Hainque <hainque@adacore.com>
1498
1499 * init.c (__gnat_error_handler - vxworks case): Restrict sigtramp calls
1500 further, to the ppc+kernel case only.
1501
15022011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
1503
1504 * exp_ch4.adb (Expand_N_Allocator): Comment reformatting.
1505 * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call):
1506 Do not create a pool formal on .NET/JVM.
1507 (Expand_N_Extended_Return_Statement): Alphabetize local
1508 variables. Do not create a renaming of the build-in-place pool
1509 parameter on .NET/JVM. (Make_Build_In_Place_Call_In_Allocator):
1510 Add the user-defined pool only on non-VM targets.
1511 (Make_Build_In_Place_Call_In_Object_Declaration): Alphabetize
1512 local variables. Do not add a pool actual on .NET/JVM.
1513 * sem_ch6.adb: Add with and use clause for Targparm.
1514 (Create_Extra_Formals): Add build-in-place pool formal only on
1515 non-VM targets.
1516 * rtsfind.ads: Alphabetize entries.
1517
4674dd21
AC
15182011-10-13 Sergey Rybin <rybin@adacore.com>
1519
1520 * gnat_ugn.texi: Minor correction.
1521
15222011-10-13 Ed Schonberg <schonberg@adacore.com>
1523
1524 * sem_ch8.adb: Minor error message improvement.
1525
15262011-10-13 Robert Dewar <dewar@adacore.com>
1527
1528 * a-cbprqu.adb, a-ciorma.adb, exp_ch3.adb: Minor reformatting.
1529
95aeda79
GD
15302011-10-13 Gary Dismukes <dismukes@adacore.com>
1531
1532 * exp_ch5.adb (Expand_N_Loop_Statement): For the transformation
1533 of a for loop for an enumeration type with an enumeration rep
1534 clause, which involves moving the original loop parameter into
1535 a nested block, the loop parameter's entity must be removed from
1536 the entity list of the loop scope.
1537
200b7162
BD
15382011-10-13 Bob Duff <duff@adacore.com>
1539
1540 * exp_ch6.ads (BIP_Storage_Pool): New "extra implicit parameter"
1541 that gets passed in the same cases where BIP_Alloc_Form is passed
1542 (caller-unknown-size results). BIP_Storage_Pool is used when
1543 BIP_Alloc_Form = User_Storage_Pool. In that case, a pointer
1544 to the user-defined storage pool is passed at the call site,
1545 and this pool is used in callee to allocate the result.
1546 * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call): New
1547 version of Add_Alloc_Form_Actual_To_Build_In_Place_Call. Passes
1548 the additional BIP_Storage_Pool actual.
1549 (Expand_N_Extended_Return_Statement): Allocate the function
1550 result using the user-defined storage pool, if BIP_Alloc_Form =
1551 User_Storage_Pool.
1552 * sem_ch6.adb: Add the "extra formal" for BIP_Storage_Pool.
1553 * exp_ch4.adb: Don't overwrite storage pool set by
1554 Expand_N_Extended_Return_Statement.
1555 * s-stopoo.ads, rtsfind.ads (Root_Storage_Pool_Ptr): New type,
1556 for use in build-in-place function calls within allocators
1557 where the access type has a user-defined storage pool.
1558
9f8d1e5c
AC
15592011-10-13 Sergey Rybin <rybin@adacore.com>
1560
1561 * gnat_ugn.texi, vms_data.ads: Add an option to control enumeration
1562 literal casing.
1563
15642011-10-13 Nicolas Roche <roche@adacore.com>
1565
be7552fc
EB
1566 * gnatlink.adb: Ensure that -mrtp is passed when runtime name ends
1567 with 'rtp'.
9f8d1e5c
AC
1568
15692011-10-13 Ed Schonberg <schonberg@adacore.com>
1570
be7552fc
EB
1571 * sem_prag.adb (Analyze_Pragma, case Unchecked_Union): Take into
1572 account that an unchecked union type can be limited.
9f8d1e5c
AC
1573
15742011-10-13 Olivier Hainque <hainque@adacore.com>
1575
1576 * init.c (__gnat_error_handler) <VxWorks version>: Add comments on
1577 the use of the signal trampoline for PPC in the sjlj case as well.
1578 Add legitimate casts, preventing compile time warnings on the
1579 (sighandler *) profile.
1580
15812011-10-13 Yannick Moy <moy@adacore.com>
1582
be7552fc
EB
1583 * sem_aggr.adb (Resolve_Aggr_Expr): Always perform semantic analysis
1584 in Alfa mode.
9f8d1e5c
AC
1585
15862011-10-13 Ed Schonberg <schonberg@adacore.com>
1587
1588 * sem_ch3.adb (OK_For_Limited_Init_In_05): Conditional and case
1589 expressions are legal limited return values if each one of their
1590 dependent expressions are legal.
1591
15922011-10-13 Ed Schonberg <schonberg@adacore.com>
1593
1594 * sem_ch6.adb (Analyze_Procedure_Call_Statement): In Ada 2012 mode,
1595 if the prefix of the call is a qualified expression, rewrite as
1596 a code statement.
1597 * sem_ch13.adb (Analyze_Code_Statement): In Ada 2012 mode, the
1598 code statement is legal if it is a rewriting of a procedure call.
1599
16002011-10-13 Ed Schonberg <schonberg@adacore.com>
1601
1602 * exp_aggr.adb (Flatten): If a component association has a box,
1603 assume that aggregate is not static.
1604 (Safe_Aggregate): If a component association in a non-limited
1605 aggregate has a box, assume that it cannot be expanded in place.
1606
16072011-10-13 Vincent Celier <celier@adacore.com>
1608
1609 * prj-conf.adb (Get_Or_Create_Configuration_File): Call
1610 Process_Project_Tree_Phase_1 with Packages_To_Check.
1611 (Process_Project_And_Apply_Config): Ditto
1612 * prj-part.ads, prj-part.adb, prj-pars.ads, prj-pars.adb (Parse):
1613 Remove default for argument Packages_To_Check.
1614 * prj-proc.adb (Recursive_Process): New argument
1615 Packages_To_Check.
1616 (Process): Ditto.
1617 (Process_Project_Tree_Phase_1): Ditto.
1618 (Recursive_Project.Process_Aggregated_Projects): Call
1619 Prj.Part.Parse and Process_Project_Tree_Phase_1 with
1620 Packages_To_Check.
1621 * prj-proc.ads (Process): New argument Packages_To_Check
1622 (Process_Project_Tree_Phase_1): Ditto
1623
46f8e1ac
AC
16242011-10-13 Arnaud Charlet <charlet@adacore.com>
1625
1626 * gcc-interface/Makefile.in: Fix typo.
1627
8097203f
AC
16282011-10-13 Ed Schonberg <schonberg@adacore.com>
1629
1630 * sem_ch12.adb (Analyze_Formal_{Floating_Type,
1631 Signed_Integer_Type, Decimal_Fixed_Point_Type, Discrete_Type}):
1632 Use sloc of defining identifier of farmal type declaration,
1633 as sloc of generated internal entity, to prevent misplaced
1634 references in ali.
1635
16362011-10-13 Ed Schonberg <schonberg@adacore.com>
1637
1638 * sem_intr.adb (Check_Intrinsic_Operator): Check that type
1639 is fully defined before checking that it is a numeric type.
1640
16412011-10-13 Ed Schonberg <schonberg@adacore.com>
1642
1643 * sem_aggr.adb (Resolve_Record_Aggregate): If a component
1644 association for component X has a box, then X is covered in the
1645 aggregate even if there is not default value for X in the type
1646 declaration, and X has to be default-initialized.
1647
16482011-10-13 Ed Schonberg <schonberg@adacore.com>
1649
be7552fc
EB
1650 * sem_attr.adb (Check_Enum_Image, Analyze_Attribute case 'Value): Mark
1651 literals as referenced only if reference is in current source unit.
8097203f
AC
1652
16532011-10-13 Matthew Heaney <heaney@adacore.com>
1654
1655 * a-csquin.ads (Enque, Dequeue): Mark interface operations as entries.
1656
16572011-10-13 Olivier Hainque <hainque@adacore.com>
1658
1659 * sigtramp.h: New file. Prototype and spec of the signal
1660 trampoline to be called by an established handler to provide
1661 dwarf call frame info before the real signal processing code.
1662 * sigtramp-ppcvxw.c: New file. Implementation of the signal
1663 trampoline for ppc-vxworks.
1664 * init.c (vxworks section): Use it for ppc.
1665
e192a2cd
AC
16662011-10-13 Thomas Quinot <quinot@adacore.com>
1667
1668 * par-ch2.adb, par.adb, par-util.adb, par-ch3.adb
1669 (Check_Future_Identifier): New subprogram,
1670 factors duplicated code from Par.Ch2.P_Identifier and
1671 Par.Ch3.P_Defining_Identifier.
1672
16732011-10-13 Thomas Quinot <quinot@adacore.com>
1674
1675 * s-taprop-posix.adb (Initialize): Always raise Storage_Error
1676 if we fail to initialize CV attributes or CV.
1677
16782011-10-13 Thomas Quinot <quinot@adacore.com>
1679
1680 * s-tasren.adb (Timed_Selective_Wait, case
1681 Accept_Alternative_Selected): Use Defer_Abort_Nestable, since
1682 we know abortion is already deferred.
1683
16842011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
1685
1686 * exp_ch3.adb (Build_Class_Wide_Master): Moved to exp_ch9.
1687 (Build_Master_Renaming (function)): Removed.
1688 (Build_Master_Renaming (procedure)): Moved to exp_ch9.
1689 (Expand_Full_Type_Declaration): Alphabetize
1690 variables. Reformatting of code and comments. Rewrite the
1691 section on processing of anonymous access-to-task types in
1692 record components.
1693 * exp_ch3.ads (Build_Class_Wide_Master): Moved to exp_ch9.
1694 (Build_Master_Renaming): Moved to exp_ch9.
1695 * exp_ch9.adb (Build_Class_Wide_Master): Moved from exp_ch3.
1696 (Build_Master_Entity): Add formal parameter
1697 Use_Current. Reformatting of code and comments.
1698 (Build_Master_Renaming): Moved from exp_ch3.
1699 * exp_ch9.ads (Build_Class_Wide_Master): Moved from
1700 exp_ch3. Update comment on usage.
1701 (Build_Master_Entity):
1702 Add formal parameter Use_Current. Update comment on usage.
1703 (Build_Master_Renaming): Moved from exp_ch3.
1704 * sem_ch3.adb (Access_Definition): Remove redundant code to
1705 create a _master and a renaming.
1706
17072011-10-13 Ed Schonberg <schonberg@adacore.com>
1708
1709 * lib-xref.adb: Do no emit reference to overridden operation,
1710 if it is internally generated.
1711
17122011-10-13 Vincent Celier <celier@adacore.com>
1713
1714 * bindgen.adb: Remove any processing related to g-trasym
1715 * Makefile.rtl: Add g-trasym.o to GNATRTL_NONTASKING_OBJS
1716 * mlib-prj.adb: Remove any processing related to g-trasym.
1717
0cfaf83f
EB
17182011-10-12 Eric Botcazou <ebotcazou@adacore.com>
1719
1720 * sem_util.adb (Denotes_Same_Prefix): Fix fatal warning.
1721 * gcc-interface/Make-lang.in (WARN_ADAFLAGS): New.
1722 (ALL_ADAFLAGS): Include WARN_ADAFLAGS.
1723 (ADA_FLAGS_TO_PASS): Likewise.
1724 (COMMON_FLAGS_TO_PASS): New.
1725 (ADA_TOOLS_FLAGS_TO_PASS): Use COMMON_FLAGS_TO_PASS. In the regular
1726 native case, also use FLAGS_TO_PASS and ADA_FLAGS_TO_PASS.
1727 (gnatlib): Use COMMON_FLAGS_TO_PASS.
1728 (ada.install-common): Likewise.
1729 (install-gnatlib): Likewise.
1730 (install-gnatlib-obj): Likewise.
1731 (gnattools): Use ADA_TOOLS_FLAGS_TO_PASS for gnattools1 as well.
1732 (gnat-cross): Delete.
1733 (gnatboot): Likewise.
1734 (gnatboot2): Likewise.
1735 (gnatboot3): Likewise.
1736 (gnatstage1): Likewise.
1737 (gnatstage2): Likewise.
1738 * gcc-interface/Makefile.in (SOME_ADAFLAGS): Likewise.
1739 (MOST_ADAFLAGS): Likewise.
1740 (LOOSE_CFLAGS): Likewise.
1741 (gnat-cross): Likewise.
1742 (GNATLIBFLAGS): Add -W -Wall.
1743 (GNATLIBCFLAGS_FOR_C): Likewise.
1744 * gcc-interface/lang.opt: Remove C-specific warnings. Add doc lines.
1745 * gcc-interface/misc.c (gnat_handle_option): Remove obsolete cases.
1746
722356ce
EB
17472011-10-12 Eric Botcazou <ebotcazou@adacore.com>
1748
1749 * gcc-interface/trans.c (Attribute_to_gnu): Use remove_conversions.
1750 (push_range_check_info): Likewise.
1751 (gnat_to_gnu) <N_Code_Statement>: Likewise.
1752 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
1753 (gnat_invariant_expr): Likewise.
1754 * gcc-interface/utils.c (compute_related_constant): Likewise.
1755 (max_size): Fix handling of SAVE_EXPR.
1756 (remove_conversions): Fix formatting.
1757
15bf7d19
EB
17582011-10-12 Eric Botcazou <ebotcazou@adacore.com>
1759
1760 * gcc-interface/ada-tree.h (DECL_LOOP_PARM_P): New flag.
1761 (DECL_INDUCTION_VAR): New macro.
1762 (SET_DECL_INDUCTION_VAR): Likewise.
1763 * gcc-interface/gigi.h (convert_to_index_type): Declare.
1764 (gnat_invariant_expr): Likewise.
1765 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If this is a loop
1766 parameter, set DECL_LOOP_PARM_P on it.
1767 * gcc-interface/misc.c (gnat_print_decl) <VAR_DECL>: If DECL_LOOP_PARM_P
1768 is set, print DECL_INDUCTION_VAR instead of DECL_RENAMED_OBJECT.
1769 * gcc-interface/trans.c (gnu_loop_label_stack): Delete.
1770 (struct range_check_info_d): New type.
1771 (struct loop_info_d): Likewise.
1772 (gnu_loop_stack): New stack.
1773 (Identifier_to_gnu): Set TREE_READONLY flag on the first dereference
1774 built for a by-double-ref read-only parameter. If DECL_LOOP_PARM_P
1775 is set, do not test DECL_RENAMED_OBJECT.
1776 (push_range_check_info): New function.
1777 (Loop_Statement_to_gnu): Push a new struct loop_info_d instead of just
1778 the label. Reference the label and the iteration variable from it.
1779 Build the special induction variable in the unsigned version of the
1780 size type, if it is larger than the base type. And attach it to the
1781 iteration variable if the latter isn't by-ref. In the iteration scheme
1782 case, initialize the invariant conditions in front of the loop if
1783 deemed profitable. Use gnu_loop_stack.
1784 (gnat_to_gnu) <N_Exit_Statement>: Use gnu_loop_stack.
1785 <N_Raise_Constraint_Error>: Always process the reason. In the range
1786 check and related cases, and if loop unswitching is enabled, compute
1787 invariant conditions and push this information onto the stack.
1788 Do not translate again the condition if it has been already translated.
1789 * gcc-interface/utils.c (record_global_renaming_pointer): Assert that
1790 DECL_LOOP_PARM_P isn't set.
1791 (convert_to_index_type): New function.
1792 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Use it in order
1793 to convert the index from the base index type to sizetype.
1794 (gnat_invariant_expr): New function.
1795
e79983f4
MM
17962011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
1797
1798 * gcc-interface/utils.c (def_builtin_1): Delete old interface with
1799 two parallel arrays to hold standard builtin declarations, and
1800 replace it with a function based interface that can support
15bf7d19 1801 creating builtins on the fly in the future.
e79983f4
MM
1802 * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Ditto.
1803 (gnat_to_gnu): Ditto.
1804
228ee426
EB
18052011-10-07 Eric Botcazou <ebotcazou@adacore.com>
1806
1807 PR lto/50492
1808 * gcc-interface/gigi.h (gnat_pushdecl): Adjust comment.
1809 * gcc-interface/utils.c (global_context): New variable.
1810 (gnat_pushdecl): Initialize it and set it as the DECL_CONTEXT of DECLs
1811 that are either public external or at top level. Use "No" macro.
1812 (end_subprog_body): Call decl_function_context.
1813 (rest_of_subprog_body_compilation): Likewise.
1814
71196d4e
EB
18152011-10-07 Eric Botcazou <ebotcazou@adacore.com>
1816
1817 * gcc-interface/gigi.h (gnat_useless_type_conversion): Declare.
1818 (rest_of_subprog_body_compilation): Likewise.
1819 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: For renaming,
1820 test for useless conversions by means of gnat_useless_type_conversion.
1821 * gcc-interface/trans.c: Include bitmap.h and cgraph.h.
1822 (language_function): Add named_ret_val and other_ret_val.
1823 (f_named_ret_val): New macro.
1824 (f_other_ret_val): Likewise.
1825 (gigi): Call rest_of_subprog_body_compilation.
1826 (struct nrv_data): New structure.
1827 (is_nrv_p): New predicate.
1828 (prune_nrv_r): New helper function.
1829 (prune_nrv_in_block): New function.
1830 (finalize_nrv_r): New helper function.
1831 (finalize_nrv): New function.
1832 (return_value_ok_for_nrv_p): New predicate.
1833 (build_return_expr): If optimization is enabled, record candidates for
1834 the Named Return Value optimization.
1835 (build_function_stub): Call rest_of_subprog_body_compilation.
1836 (Subprogram_Body_to_gnu): If optimization is enabled and there are
1837 candidates, finalize the Named Return Value optimization.
1838 Call rest_of_subprog_body_compilation.
1839 (call_to_gnu): At the end, if a return value is needed, simplify the
1840 result before wrapping it up in a COMPOUND_EXPR.
1841 * gcc-interface/utils.c (end_subprog_body): Split into...
1842 (rest_of_subprog_body_compilation): ...this. New function.
1843 (gnat_useless_type_conversion): Likewise.
1844
885c4871
AC
18452011-10-06 Thomas Quinot <quinot@adacore.com>
1846
1847 * einfo.ads, exp_attr.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb,
1848 exp_ch9.adb, exp_ch9.ads, exp_strm.adb, exp_util.adb, freeze.adb,
1849 g-debpoo.ads, opt.ads, par-ch12.adb, par-ch2.adb, par-ch3.adb,
1850 par-ch5.adb, par-ch6.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
1851 sem_ch10.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
1852 sem_ch6.adb, sem_intr.adb, sem_res.ads, sem_type.adb, sem_util.adb,
1853 s-regpat.adb, s-tpopde-vms.ads: Minor reformatting.
1854 * s-osinte-freebsd.ads: Fix for tasking failures on FreeBSD.
1855
18562011-10-06 Ed Schonberg <schonberg@adacore.com>
1857
1858 * a-cihase.adb, a-ciorma.adb: Avoid accessibility checks in container
1859 references.
1860
18612011-10-06 Matthew Heaney <heaney@adacore.com>
1862
1863 * a-cuprqu.ads, a-cuprqu.adb, a-cbprqu.ads, a-cbprqu.adb
1864 (Dequeue_Only_High_Priority): Protected procedure now implemented.
1865
18662011-10-06 Vincent Celier <celier@adacore.com>
1867
1868 * g-trasym.adb: Replace old implementation with the default
1869 implementation that returns list of addresses as "0x...".
1870 * g-trasym.ads: Update the list of platforms with the full
1871 capability. Indicate that there is a default implementation
1872 for other platforms.
1873 * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: Remove.
1874 * gcc-interface/Makefile.in: Remove g-trasym-unimplemented, as there
1875 is now a default implementation for all platforms without the full
1876 capability.
1877
ce72a9a3
AC
18782011-10-06 Robert Dewar <dewar@adacore.com>
1879
1880 * a-ciorse.adb, a-cihase.adb, a-cihase.ads, a-coorse.adb,
1881 a-cborse.adb, a-comutr.adb, a-ciorma.adb, a-cbmutr.adb,
1882 a-cbmutr.ads, a-cbhase.adb, a-cbhase.ads: Minor reformatting and code
1883 reorganization (use conditional expressions).
1884
18852011-10-06 Robert Dewar <dewar@adacore.com>
1886
1887 * sem_res.adb (Resolve_Arithmetic_Op): Fix bad warning for
1888 floating divide by zero.
1889
18902011-10-06 Ed Schonberg <schonberg@adacore.com>
1891
1892 * sem_ch6.adb: Limited interfaces that are not immutably limited
1893 are OK in return statements.
1894
a912d7d9
IS
18952011-09-30 Iain Sandoe <iains@gcc.gnu.org>
1896
1897 * gcc-interface/Makefile.in (Darwin): Partial reversion of previous
1898 change to powerpc section.
1899
39ffb1f9
IS
19002011-09-29 Iain Sandoe <iains@gcc.gnu.org>
1901
1902 * gcc-interface/Makefile.in (Darwin): Factor LIBGNAT_TARGET_PAIRS
1903 across the port.
1904
ffb35bbf
ES
19052011-09-27 Ed Schonberg <schonberg@adacore.com>
1906
1907 * a-cbhase.adb, a-cbhase.ads, a-cborse.adb, a-cborse.ads,
1908 a-cihase.adb, a-cihase.ads, a-ciorse.adb, a-ciorse.ads,
1909 a-coorse.adb, a-coorse.ads: Add iterator machinery to bounded sets and
1910 indefinite sets.
1911 * a-coorma.ads: Minor reformmating.
1912 * einfo.ads: Improve the comment describing the
1913 Directly_Designated_Type function.
1914 * a-ciorma.adb, a-ciorma.ads: Add iterator machinery to indefinite
1915 ordered maps.
1916 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
1917 dependencies.
1918
da124b6a
AC
19192011-09-27 Robert Dewar <dewar@adacore.com>
1920
1921 * a-comutr.ads: Minor reformatting.
1922
19232011-09-27 Ed Schonberg <schonberg@adacore.com>
1924
1925 * a-cimutr.adb, a-cimutr.ads, a-cbmutr.adb, a-cbmutr.ads: Add children
1926 iterators to multiway trees.
1927
19282011-09-27 Yannick Moy <moy@adacore.com>
1929
1930 * debug.adb (d.D): New option for strict Alfa mode.
1931 * opt.ads (Strict_Alfa_Mode): New flag to interpret compiler
1932 permissions as strictly as possible.
1933 * sem_ch3.adb (Signed_Integer_Type_Declaration): In non-strict
1934 Alfa mode, now, interpret ranges of base types like GNAT does; in
1935 strict mode, simply change the range of the implicit base Itype.
1936 * gnat1drv.adb: Update comments. Set Strict_Alfa_Mode.
1937
706a4067
AC
19382011-09-27 Robert Dewar <dewar@adacore.com>
1939
1940 * exp_ch9.adb: Minor comment fixes.
1941
19422011-09-27 Ed Schonberg <schonberg@adacore.com>
1943
1944 * a-comutr.adb, a-comutr.ads: Add children iterators on multiway
1945 trees.
1946
05c1e7d2
AC
19472011-09-27 Eric Botcazou <ebotcazou@adacore.com>
1948
1949 * checks.adb (Apply_Scalar_Range_Check): Use Designated_Type
1950 instead of Directly_Designated_Type in the indirect array case.
1951
19522011-09-27 Robert Dewar <dewar@adacore.com>
1953
1954 * exp_util.adb, exp_aggr.adb: Minor reformatting.
1955
65e78a74
AC
19562011-09-27 Ed Schonberg <schonberg@adacore.com>
1957
1958 * sinfo.ads, par-ch3.adb: Minor comment update: aspect specification
1959 on subtype declarations.
1960 * exp_aggr.adb: Minor comment update.
1961
19622011-09-27 Eric Botcazou <ebotcazou@adacore.com>
1963
1964 * exp_util.adb (Safe_Prefixed_Reference): Remove always-false
1965 test in the N_Explicit_Dereference case. Fold double logical
1966 negation in the special loop case and conditionalize it on
1967 Variable_Ref being true.
1968
19692011-09-27 Ed Schonberg <schonberg@adacore.com>
1970
1971 * sem_ch4.adb (Analyze_Selected_Component): If the prefix is a
1972 single protected object and the selector is a discriminant or an
1973 entry family, this is a non-overloaded candidate interpretation,
1974 and possible primitive operations of the type must not be
1975 examined.
1976
19772011-09-27 Arnaud Charlet <charlet@adacore.com>
1978
1979 * s-taspri-posix-noaltstack.ads (Lock): Mark fields aliased.
1980
6f5add73
AC
19812011-09-27 Pascal Obry <obry@adacore.com>
1982
1983 * s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
1984 s-osinte-irix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads:
1985 Add dummy definitions for pthread_rwlock_t
1986 and pthread_rwlockattr_t on all POSIX platforms.
1987 * s-taprop-irix.adb, s-taprop-posix.adb (Initialize_Lock): Fix lock
1988 reference.
1989 (Finalize_Lock): Likewise.
1990 (Write_Lock): Likewise.
1991 (Unlock): Likewise.
1992
19932011-09-27 Tristan Gingold <gingold@adacore.com>
1994
1995 * s-tassta.adb (Task_Wrapper): Increase Guard_Page_Size value for
1996 windows 64.
1997
64a63cd5
PO
19982011-09-27 Pascal Obry <obry@adacore.com>
1999
2000 * s-osinte-hpux.ads, s-taprop-vxworks.adb, s-taspri-vxworks.ads,
2001 s-taprop-tru64.adb, s-osinte-aix.ads, s-taspri-posix-noaltstack.ads,
2002 s-taspri-mingw.ads, s-taprop-vms.adb, s-tpoben.adb, s-tpoben.ads,
2003 s-taprop-mingw.adb, s-taprob.adb, s-taprob.ads,
2004 s-osinte-solaris-posix.ads, s-taprop-solaris.adb, s-taspri-solaris.ads,
2005 s-osinte-irix.ads, s-taprop-irix.adb, s-osinte-darwin.ads,
2006 s-taspri-dummy.ads, s-taspri-posix.ads, s-taprop.ads,
2007 s-taspri-vms.ads, s-osinte-freebsd.ads, s-taprop-hpux-dce.adb,
2008 s-taspri-hpux-dce.ads, s-taspri-tru64.ads, s-taprop-dummy.adb,
2009 s-taprop-posix.adb: Revert previous changes.
2010 (Lock): Now a record containing the two possible lock
2011 (mutex and read/write) defined in OS_Interface.
2012 * s-taprop-linux.adb (Finalize_Protection): Use r/w lock for
2013 'R' locking policy.
2014 (Initialize_Protection): Likewise.
2015 (Lock): Likewise.
2016 (Lock_Read_Only): Likewise.
2017 (Unlock): Likewise.
2018
f672a756
AC
20192011-09-27 Pascal Obry <obry@adacore.com>
2020
2021 * s-taspri-posix-noaltstack.ads (RW_Lock): This type is now defined as
2022 OS_Interface.pthread_rwlock_t.
2023
20242011-09-27 Robert Dewar <dewar@adacore.com>
2025
2026 * exp_ch9.adb, a-cimutr.adb, a-cimutr.ads, gnat1drv.adb, a-comutr.adb,
2027 a-comutr.ads, exp_dist.adb, a-cbmutr.adb, a-cbmutr.ads,
2028 sem_ch5.adb, sem_util.adb: Minor reformatting.
2029
7a44cb69
PO
20302011-09-27 Pascal Obry <obry@adacore.com>
2031
2032 * s-taprop.ads (Initialize_Lock)[RW_Lock]: New spec for r/w lock.
2033 (Finalize_Lock)[RW_Lock]: Likewise.
2034 (Write_Lock)[RW_Lock]: Likewise.
2035 (Unlock)[RW_Lock]: Likewise.
2036 (Read_Lock): Define L as RW_Lock (instead of Lock).
2037 * s-taprop-linux.adb (Initialize_Lock)[RW_Lock]: New
2038 routine for r/w lock.
2039 (Finalize_Lock)[RW_Lock]: Likewise.
2040 (Write_Lock)[RW_Lock]: Likewise.
2041 (Unlock)[RW_Lock]: Likewise.
2042 (Read_Lock): Define L as RW_Lock (instead of Lock).
2043
2044 * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
2045 s-taprop-mingw.adb, s-taprop-solaris.adb, s-taprop-irix.adb,
2046 s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-posix.adb
2047 (Initialize_Lock)[RW_Lock]: Same implementation as corresponding
2048 routine for standard lock.
2049 (Finalize_Lock)[RW_Lock]: Likewise.
2050 (Write_Lock)[RW_Lock]: Likewise.
2051 (Unlock)[RW_Lock]: Likewise.
2052 (Read_Lock): Define L as RW_Lock (instead of Lock).
2053 * s-taprob.ads, s-tpoben.ads (Protection): Add RWL (RW_Lock)
2054 in the record definition.
2055 * s-taprob.adb, s-taproben.adb (Finalize_Protection): Use r/w
2056 lock for 'R' locking policy.
2057 (Initialize_Protection): Likewise.
2058 (Lock): Likewise.
2059 (Lock_Read_Only): Likewise.
2060 (Unlock): Likewise.
2061 * s-taspri-posix.ads (RW_Lock): New type defined as
2062 OS_Interface.pthread_rwlock_t.
2063
2064 * s-taspri-vxworks.ads, s-taspri-posix-noaltstack.ads,
2065 s-taspri-mingw.ads, s-taspri-solaris.ads, s-taspri-dummy.ads,
2066 s-taspri-posix.ads, s-taspri-vms.ads, s-taspri-hpux-dce.ads,
2067 s-taspri-tru64.ads (RW_Lock): New type defined as alias to Lock.
2068
4c173b50
PO
20692011-09-27 Pascal Obry <obry@adacore.com>
2070
2071 * exp_ch9.adb, s-taspri-posix.ads: Minor reformatting.
2072
20732011-09-27 Pascal Obry <obry@adacore.com>
2074
2075 * s-osinte-aix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads,
2076 s-osinte-hpux.ads, s-osinte-irix.ads,
2077 s-osinte-solaris-posix.ads (pthread_rwlock_t): New definition alias of
2078 pthread_mutex_t.
2079 (pthread_rwlockattr_t): New definition alias of pthread_mutexattr_t.
2080 * s-osinte-linux.ads (pthread_rwlock_t, pthread_rwlockattr_t,
2081 pthread_rwlockattr_init, pthread_rwlockattr_destroy,
2082 pthread_rwlockattr_setkind_np, pthread_rwlock_init,
2083 pthread_rwlock_destroy, pthread_rwlock_rdlock,
2084 pthread_rwlock_wrlock, pthread_rwlock_unlock): New.
2085
343250a6
PO
20862011-09-27 Pascal Obry <obry@adacore.com>
2087
2088 * rtsfind.ads: Add RE_Lock_Read_Only into rtsfind circuitry.
2089 (RE_Id): Add RE_Lock_Read_Only.
2090 (RE_Unit_Table): Likewise.
2091 * sem_prag.adb (Process_Convention): Change Pragma_Locking_Policy
2092 to lift restriction on first character. Handle now the
2093 Name_Concurrent_Readers_Locking where policy character is set to
2094 'R'.
2095 * snames.ads-tmpl (Name_Concurrent_Readers_Locking): New
2096 constant.
2097 * exp_ch9.adb (Build_Protected_Subprogram_Body): Generate a
2098 read only lock for function in protected object.
2099 * s-taprob.ads (Lock_Read_Only): Remove obsolete comment as
2100 this routine is now used.
2101
2d0dd51a
EB
21022011-09-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2103
2104 * s-atocou-x86.adb (Decrement): Use %;.
2105 (Increment): Likewise.
2106
bdbebf66
EB
21072011-09-26 Eric Botcazou <ebotcazou@adacore.com>
2108
2109 * gcc-interface/utils2.c (build_allocator): Set TREE_THIS_NOTRAP on the
2110 dereference of the pointer to the storage area. Remove useless type
2111 conversions and factor out common code.
2112
1aa291f7
EB
21132011-09-26 Eric Botcazou <ebotcazou@adacore.com>
2114
2115 * gcc-interface/utils.c (maybe_unconstrained_array): Declare TYPE local
2116 variable and use it throughout.
2117 <UNCONSTRAINED_ARRAY_TYPE>: Add 'break' at the end.
2118 <RECORD_TYPE>: Do not unconditionally convert to the unpadded type as a
2119 first step. Also convert to the unpadded type as a last step.
2120
7d76717d
EB
21212011-09-26 Eric Botcazou <ebotcazou@adacore.com>
2122
2123 * gcc-interface/gigi.h (create_subprog_decl): Replace TREE_CHAIN with
2124 DECL_CHAIN in comment.
2125 * gcc-interface/trans.c (gigi): Likewise.
2126 (Attribute_to_gnu): Likewise.
2127 (build_function_stub): Likewise.
2128 (gnat_to_gnu): Likewise.
2129 * gcc-interface/utils.c (create_subprog_decl): Likewise.
2130 (convert_vms_descriptor64): Likewise.
2131 (convert_vms_descriptor32): Likewise.
2132
42acad07
EB
21332011-09-26 Eric Botcazou <ebotcazou@adacore.com>
2134
2135 * gcc-interface/trans.c (assoc_to_constructor): Minor tweaks.
2136 * gcc-interface/utils2.c (build_simple_component_ref): Fix formatting
2137 issues. Use COMPLETE_TYPE_P in assertion. Also set TREE_READONLY if
2138 the type of the record is TYPE_READONLY.
2139
a1d72281
EB
21402011-09-26 Eric Botcazou <ebotcazou@adacore.com>
2141 Robert Dewar <dewar@adacore.com>
2142
2143 * sem_ch6.adb (Set_Formal_Mode): Set Can_Never_Be_Null on an IN or IN
2144 OUT formal parameter which is of an null-exclusion access subtype.
2145
a1c7d797
EB
21462011-09-26 Eric Botcazou <ebotcazou@adacore.com>
2147
2148 * gcc-interface/ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro.
2149 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Set the flag.
2150 (gnat_to_gnu_param): Likewise.
2151 * gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Invoke
2152 maybe_unconstrained_array instead of doing the work manually.
2153 (maybe_unconstrained_array): Propagate the TREE_THIS_NOTRAP flag.
2154 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: If operand
2155 is a DECL with the flag, set TREE_THIS_NOTRAP on the reference.
2156 (gnat_stabilize_reference_1): Propagate the TREE_THIS_NOTRAP flag.
2157 (gnat_stabilize_reference): Likewise.
2158
50179d58
EB
21592011-09-26 Eric Botcazou <ebotcazou@adacore.com>
2160
2161 * gcc-interface/ada-tree.h (TYPE_NULL_BOUNDS): New macro.
2162 (SET_TYPE_NULL_BOUNDS): Likewise.
2163 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Set again
2164 TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.
2165 * gcc-interface/trans.c (Identifier_to_gnu): Return initializers of fat
2166 pointer types.
2167 * gcc-interface/utils.c (create_var_decl_1): If the object is external,
2168 check that the initializer is a valid constant expression for use in
2169 initializing a static variable. Add missing guard.
2170 (update_pointer_to): Adjust TYPE_NULL_BOUNDS if set.
2171 (convert_to_fat_pointer): In the null fat pointer case, build a valid
2172 pointer for the bounds.
2173 * gcc-interface/utils2.c (compare_fat_pointers): New function.
2174 (build_binary_op) <EQ_EXPR>: Call it to compare fat pointers.
2175
ad1d36ba
EB
21762011-09-25 Eric Botcazou <ebotcazou@adacore.com>
2177
2178 * gcc-interface/ada-tree.h (TREE_THIS_NOTRAP): Redefine.
2179 * gcc-interface/trans.c (Identifier_to_gnu): Factor out common code in
2180 the by-ref case. Do not set TREE_READONLY on a renamed object. Set
2181 TREE_THIS_NOTRAP on UNCONSTRAINED_ARRAY_REF nodes.
2182 (Attribute_to_gnu) <Attr_Length>: Expand the use of the parameter cache
2183 to the indirect case.
2184 * gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Preserve
2185 the TREE_THIS_NOTRAP flag.
2186
6162cec0
EB
21872011-09-25 Eric Botcazou <ebotcazou@adacore.com>
2188
2189 * gcc-interface/trans.c (Loop_Statement_to_gnu): In the case of an
2190 iteration scheme, always generate the do-while form if optimization
2191 is enabled. Use more straightforward test at the end.
2192
dee12fcd
EB
21932011-09-25 Eric Botcazou <ebotcazou@adacore.com>
2194
2195 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Subtype>: Use
2196 XNEW instead of xmalloc. Do not build useless pointer type.
2197 <E_Anonymous_Access_Subprogram_Type>: Use XNEW instead of xmalloc.
2198 * gcc-interface/trans.c (gnat_to_gnu) <N_Raise_Constraint_Error>: Tidy.
2199 * gcc-interface/utils2.c (build_unary_op): Remove local variable.
2200
dea976c4
EB
22012011-09-25 Eric Botcazou <ebotcazou@adacore.com>
2202
2203 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not promote
2204 the alignment if this doesn't prevent BLKmode access to the object.
2205
655ae828
IS
22062011-09-24 Iain Sandoe <iains@gcc.gnu.org>
2207
2208 * gcc-interface/Makefile.in (darwin): Do not issue the
2209 '-flat_namespace' linker flag during Ada build.
2210 * mlib-tgt-specific-darwin.adb: Remove '-flat_namespace' flag from the
2211 default shared library options.
2212
0e871c15
AO
22132011-09-19 Alexandre Oliva <aoliva@redhat.com>
2214
2215 * gcc-interface/decl.c (annotate_value): Look up expression for
2216 insertion in the cache at the end.
2217
1e6a52b4
AC
22182011-09-19 Arnaud Charlet <charlet@adacore.com>
2219
2220 * gcc-interface/Make-lang.in: Update dependencies.
2221
a3068ca6
AC
22222011-09-19 Steve Baird <baird@adacore.com>
2223
2224 * snames.ads-tmpl: Move declaration of Name_Annotate into range of
2225 configuration pragma names so that Is_Configuration_Pragma_Name
2226 will return True for Name_Annotate. Make corresponding change in
2227 Pragma_Id enumeration type. This is needed to allow an Annotate
2228 pragma to occur in a configuration pragma file (typically,
2229 a gnat.adc file).
2230 * gnat_ugn.texi: Add Annotate to the list of configuration pragmas.
2231 * gnat_rm.texi: Note that pragma Annotate may be used as a
2232 configuration pragma.
2233
22342011-09-19 Ed Schonberg <schonberg@adacore.com>
2235
2236 * a-cbmutr.adb, a-cbmutr.ads, a-cimutr.adb, a-cimutr.ads,
2237 a-comutr.adb, a-comutr.ads: Add iterator machinery for multiway trees.
2238
22392011-09-19 Yannick Moy <moy@adacore.com>
2240
2241 * exp_alfa.adb, exp_alfa.ads (Expand_Alfa_N_In): New function
2242 for expansion of set membership.
2243 (Expand_Alfa): Call expansion for N_In and N_Not_In nodes.
2244 * exp_ch4.adb, exp_ch4.ads (Expand_Set_Membership): Make procedure
2245 visible for use in Alfa expansion.
2246 * sem_ch5.adb (Analyze_Iterator_Specification): Introduce loop
2247 variable in Alfa mode.
2248
22492011-09-19 Thomas Quinot <quinot@adacore.com>
2250
2251 * s-osinte-darwin.ads: Change SIGADAABRT on Darwin to SIGABRT.
2252
22532011-09-19 Thomas Quinot <quinot@adacore.com>
2254
2255 * exp_ch9.adb: Minor reformatting.
2256
22572011-09-19 Hristian Kirtchev <kirtchev@adacore.com>
2258
2259 * freeze.adb (Build_Renamed_Body): Generic subprograms
2260 instantiations cannot be poperly inlined by the compiler, do
2261 not set the Body_To_Inline attribute in such cases.
2262 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Inherit all
2263 inlining-related flags from the generic subprogram declaration.
2264
22652011-09-19 Thomas Quinot <quinot@adacore.com>
2266
2267 * exp_dist.adb, rtsfind.ads, sem_util.adb, sem_util.ads
2268 (Build_Stub_Type): Remove, instead copy components from
2269 System.Partition_Interface.RACW_Stub_Type.
2270 (RPC_Receiver_Decl): Remainder of code from old Build_Stub_Type routine.
2271 (Copy_Component_List): New subprogram.
2272
22732011-09-19 Yannick Moy <moy@adacore.com>
2274
2275 * lib-xref.adb (Generate_Reference): Ignore references to
2276 constants in Standard.
2277
e7fceebc
AC
22782011-09-19 Robert Dewar <dewar@adacore.com>
2279
2280 * err_vars.ads, errout.ads: Minor reformatting.
2281
22822011-09-19 Robert Dewar <dewar@adacore.com>
2283
2284 * aspects.ads (Impl_Defined_Aspects): New array
2285 * lib-writ.adb (No_Dependences): New name for No_Dependence
2286 * restrict.adb (No_Dependences): New name for No_Dependence
2287 (Check_Restriction_No_Specification_Of_Aspect): New
2288 procedure.
2289 (Set_Restriction_No_Specification_Of_Aspect): New procedure
2290 (Restricted_Profile_Result): New variable
2291 (No_Specification_Of_Aspects): New variable
2292 (No_Specification_Of_Aspect_Warning): New variable
2293 * restrict.ads (No_Dependences): New name for No_Dependence
2294 (Check_Restriction_No_Specification_Of_Aspect): New procedure
2295 (Set_Restriction_No_Specification_Of_Aspect): New procedure
2296 * s-rident.ads: Add restriction
2297 No_Implementation_Aspect_Specifications, this is also added to
2298 the No_Implementation_Extensions profile.
2299 * sem_ch13.adb (Analyze_Aspect_Specifications): Check
2300 No_Implementation_Defined_Aspects
2301 (Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect
2302 * sem_prag.adb (Analyze_Aspect_Specifications): Check
2303 No_Implementation_Aspects
2304 (Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect
2305 * snames.ads-tmpl (Name_No_Specification_Of_Aspect): New name
2306
23072011-09-19 Yannick Moy <moy@adacore.com>
2308
2309 * lib-xref.adb (Generate_Reference): Take into account multiple
2310 renamings for Alfa refs.
2311
23122011-09-19 Thomas Quinot <quinot@adacore.com>
2313
2314 * g-socthi-mingw.adb: Minor reformatting.
2315
23162011-09-19 Yannick Moy <moy@adacore.com>
2317
2318 * gnat1drv.adb (Adjust_Global_Switches): Set tagged type
2319 expansion to False in mode Alfa
2320
23212011-09-19 Pascal Obry <obry@adacore.com>
2322
2323 * mingw32.h: Remove obsolete code needed for old versions
2324 of MingW.
2325
e5a163fc
RD
23262011-09-19 Robert Dewar <dewar@adacore.com>
2327
2328 * errout.ads: Minor reformatting.
2329
6d7e5c54
AC
23302011-09-19 Ed Schonberg <schonberg@adacore.com>
2331
2332 * sem_ch6.adb (Analyze_Expression_Function): When the expression
2333 function is transformed into a declaration and a body, insert
2334 body at the end of the declarative part, to prevent premature
2335 freeze actions, and preserve original specification in the
2336 subprogram declaration.
2337
23382011-09-19 Vincent Celier <celier@adacore.com>
2339
2340 * projects.texi: Minor editing.
2341
99ba07a3
AC
23422011-09-19 Robert Dewar <dewar@adacore.com>
2343
2344 * sem_aggr.adb, lib-writ.ads, s-restri.ads, sem_ch6.adb,
2345 exp_aggr.adb: Minor reformatting.
2346
23472011-09-19 Yannick Moy <moy@adacore.com>
2348
2349 * lib-xref.adb (Generate_Reference): Change entity referenced
2350 to underlying object if any, or else reference to the HEAP.
2351
41781043
AC
23522011-09-15 Arnaud Charlet <charlet@adacore.com>
2353
2354 * gcc-interface/Make-lang.in: Update dependencies.
2355
804ff4c3
AC
23562011-09-15 Robert Dewar <dewar@adacore.com>
2357
2358 * tree_io.ads: Minor reformatting.
2359 * a-intnam.ads: Fix bad header.
2360
23612011-09-15 Thomas Quinot <quinot@adacore.com>
2362
2363 * a-exexpr-gcc.adb: Minor reformatting.
2364
23652011-09-15 Yannick Moy <moy@adacore.com>
2366
2367 * sem_ch6.adb: Propagate information that an expression function comes
2368 from source (otherwise references to this entity are not stored).
2369
0b5b2bbc
AC
23702011-09-15 Robert Dewar <dewar@adacore.com>
2371
2372 * a-cdlili.adb, a-coinve.adb, a-stzunb-shared.ads, a-suezst.adb,
2373 a-suenco.adb, a-stwiun-shared.ads, a-cobove.adb, a-convec.adb,
2374 a-btgbso.adb, a-cbdlli.adb, a-suewst.adb: Minor reformatting.
2375
23762011-09-15 Ed Schonberg <schonberg@adacore.com>
2377
2378 * sem_ch6.adb (Analyze_Expression_Function): Code cleanup:
2379 if the expression function is not a completion, create a
2380 new specification for the generated declaration, and keep the
2381 original specification in the generated body. Shorter code also
2382 ensures that proper warnings are generated for unused formals
2383 in all cases.
2384
23852011-09-15 Sergey Rybin <rybin@adacore.com>
2386
2387 * tree_io.ads: Update ASIS_Version_Number because of the changes
2388 in the tree structures for expression functions.
2389
23902011-09-15 Arnaud Charlet <charlet@adacore.com>
2391
2392 * s-osinte-aix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads,
2393 s-osinte-hpux.ads, s-osinte-lynxos.ads, s-osinte-solaris-posix.ads,
2394 s-taprop-posix.adb (CLOCK_MONOTONIC): New constant.
2395 (CLOCK_REALTIME): Fix wrong value on some OSes.
2396 * s-taprop-posix.adb (Monotonic_Clock): Use CLOCK_MONOTONIC.
2397
7e169899
EB
23982011-09-11 Eric Botcazou <ebotcazou@adacore.com>
2399
2400 * gcc-interface/utils.c (maybe_unconstrained_array): In the reference
2401 to unconstrained array case, deal with each branch of a COND_EXPR.
2402 * gcc-interface/utils2.c (build_allocator): Deal with each branch of
2403 a COND_EXPR in the initializer, if present.
2404
819a653e
EB
24052011-09-11 Eric Botcazou <ebotcazou@adacore.com>
2406
2407 * gcc-interface/decl.c (maybe_pad_type): Do not try to change the form
2408 of an addressable type.
2409 * gcc-interface/trans.c (gnat_gimplify_expr) <VIEW_CONVERT_EXPR>: New.
2410 Deal with those cases for which creating a temporary is mandatory.
2411
c946adde
EB
24122011-09-11 Eric Botcazou <ebotcazou@adacore.com>
2413
2414 * gcc-interface/trans.c (call_to_gnu): Use local variable. Make sure
2415 this is a real formal parameter before testing whether it is by ref.
2416
dddf8120
EB
24172011-09-11 Eric Botcazou <ebotcazou@adacore.com>
2418
2419 * gcc-interface/gigi.h (build_call_0_expr): Delete.
2420 (build_call_1_expr): Likewise.
2421 (build_call_2_expr): Likewise.
2422 (build_call_n_expr): New prototype.
2423 * gcc-interface/decl.c (gnat_to_gnu_entity): Use build_call_n_expr.
2424 * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Ditto.
2425 (Handled_Sequence_Of_Statements_to_gnu): Likewise.
2426 (Exception_Handler_to_gnu_zcx): Likewise.
2427 (gnat_to_gnu): Likewise.
2428 (build_binary_op_trapv): Likewise.
2429 * gcc-interface/utils2.c (build_call_0_expr): Delete.
2430 (build_call_1_expr): Likewise.
2431 (build_call_2_expr): Likewise.
2432 (build_call_n_expr): New function.
2433 (build_call_raise): Use build_call_n_expr.
2434 (build_call_raise_range): Likewise.
2435 (build_call_raise_column): Likewise.
2436 (build_call_alloc_dealloc_proc): Likewise.
2437 (maybe_wrap_malloc): Likewise.
2438 (maybe_wrap_free): Likewise.
2439
d8e38554
EB
24402011-09-11 Eric Botcazou <ebotcazou@adacore.com>
2441
2442 * gcc-interface/trans.c (build_return_expr): Use void_type_node for
2443 MODIFY_EXPR.
2444 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Assert that
2445 the result type is null if ENABLE_CHECKING. Set operation_type at the
2446 end unconditionally if not set in the previous cases.
2447 Use build2 and void_type_node for MODIFY_EXPR.
2448 (build_allocator): Use NULL_TREE for MODIFY_EXPR.
2449
416de7d5
EB
24502011-09-08 Eric Botcazou <ebotcazou@adacore.com>
2451
2452 * gcc-interface/utils.c (unchecked_convert): Use a field of the right
2453 precision when converting to or from an integral type whose precision
2454 is not equal to its size.
2455
88b76013
IS
24562011-09-08 Iain Sandoe <iains@gcc.gnu.org>
2457
416de7d5 2458 * traceback.c (Darwin) USE_GCC_UNWINDER for Darwin versions >= 8.
88b76013 2459
1aeee5ad
IS
24602011-09-07 Iain Sandoe <iains@gcc.gnu.org>
2461
416de7d5 2462 * gcc-interface/Makefile.in (darwin): Provide powerpc64 system
1aeee5ad
IS
2463 implementation.
2464 * system-darwin-ppc64.ads: New file.
2465
f61fc398
IS
24662011-09-06 Iain Sandoe <iains@gcc.gnu.org>
2467
2468 * gcc-interface/Makefile.in (gnatlib-shared-darwin): Remove
2469 reference to "-lm".
2470
84ef27d3
IS
24712011-09-06 Iain Sandoe <iains@gcc.gnu.org>
2472
2473 * gcc-interface/Makefile.in (darwin, SO_OPTS): Provide architecture
2474 size switches to the link phase for shared libs.
2475
a1bf1ec7
IS
24762011-09-06 Iain Sandoe <iains@gcc.gnu.org>
2477
416de7d5 2478 * gcc-interface/Makefile.in (x86_64 darwin arch): Adjust
a1bf1ec7
IS
2479 LIBGNAT_TARGET_PAIRS for x86 and x86_64 variants.
2480
e972fd52
AC
24812011-09-06 Arnaud Charlet <charlet@adacore.com>
2482
2483 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in
2484 (gnattools, regnattools, cross-gnattools, canadian-gnattools,
2485 gnatlib, gnatlib-sjlj, gnatlib-zcx, gnatlib-shared, gnatlib_and_tools):
2486 New targets.
2487 (TOOLS_FLAGS_TO_PASS): New.
2488 (../stamp-tools): Reintroduce, to avoid merge conflicts.
2489
ef417be1
RD
24902011-09-06 Robert Dewar <dewar@adacore.com>
2491
2492 * sem_ch10.adb, impunit.ads, impunit.adb (Not_Impl_Defined_Unit): New
2493 name for Is_RM_Defined_Unit. Also several fixes to this unit.
2494
0a034606
RD
24952011-09-06 Robert Dewar <dewar@adacore.com>
2496
2497 * impunit.ads, impunit.adb (Is_RM_Defined_Unit): New function.
2498 * s-rident.ads: New restriction No_Implementation_Units
2499 (this restriction is also part of the profile
2500 No_Implementation_Extensions)
2501 * sem_ch10.adb (Analyze_With_Clause): Add check for
2502 No_Implementation_Units restriction.
2503
ebb6faaa
AC
25042011-09-06 Jerome Guitton <guitton@adacore.com>
2505
2506 * sysdep.c (__gnat_get_task_options): Disable VX_SPE_TASK
2507 on vThreads.
2508
25092011-09-06 Thomas Quinot <quinot@adacore.com>
2510
2511 * s-solita.adb: Minor reformatting.
2512
25132011-09-06 Ed Schonberg <schonberg@adacore.com>
2514
2515 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): The body that
2516 is a rewriting of an expression function does not freeze previous
2517 entities.
2518
25192011-09-06 Robert Dewar <dewar@adacore.com>
2520
2521 * impunit.adb (Is_Known_Unit): Fix bad handling of Ada 2012 case
2522
60435286
TG
25232011-09-06 Tristan Gingold <gingold@adacore.com>
2524
2525 * gcc-interface/Makefile.in: Handle e500v2-wrs-vxworksae like
2526 powerpc-wrs-vxworksae.
2527
08f8a983
AC
25282011-09-06 Thomas Quinot <quinot@adacore.com>
2529
2530 * s-os_lib.ads (Spawn): Minor documentation clarification,
2531 Success is True for a zero exit status.
2532
25332011-09-06 Ed Schonberg <schonberg@adacore.com>
2534
2535 * sem_ch5.adb: Add message for common iterator error.
2536
25372011-09-06 Ed Schonberg <schonberg@adacore.com>
2538
2539 * exp_ch3.adb (Build_Initialization_Call): If the target is a
2540 selected component discriminated by a current instance, replace
2541 the constraint with a reference to the target object, regardless
2542 of whether the context is an init_proc.
2543
25442011-09-06 Robert Dewar <dewar@adacore.com>
2545
2546 * exp_attr.adb: Descriptor_Size is never static.
2547
25482011-09-06 Robert Dewar <dewar@adacore.com>
2549
2550 * gnat_ugn.texi: Add documentation for LSLOC metric in gnatmetric
2551
25522011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
2553
2554 * gnat_rm.texi: Clarify that attribute Descriptor_Size is
2555 non-static.
2556
25572011-09-06 Ed Schonberg <schonberg@adacore.com>
2558
2559 * sem_res.adb (Resolve): An expression that is the body of an
2560 expression function does not freeze.
2561
25622011-09-06 Matthew Heaney <heaney@adacore.com>
2563
2564 * a-csquin.ads, a-cusyqu.adb, a-cbprqu.adb, a-cbsyqu.adb,
2565 a-cuprqu.adb: Changed copyright notice to indicate current
2566 year only.
2567
25682011-09-06 Vincent Celier <celier@adacore.com>
2569
2570 * prj.adb: Minor spelling error fix in comment
2571 * sem_res.adb: Minor reformatting
2572
25732011-09-06 Pascal Obry <obry@adacore.com>
2574
2575 * sysdep.c (winflush_nt): Removed as not needed anymore.
2576 (winflush_95): Likewise.
2577 (winflush_init): Likewise.
2578 (winflush_function): Likewise.
2579 (getc_immediate_common): Remove call to winflush_function.
2580
cb3d8731
HK
25812011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
2582
2583 * exp_attr.adb (Expand_N_Attribute_Reference): Rewrite the
2584 processing for Descriptor_Size.
2585 * gnat_rm.texi: Rephrase the wording for attribute Descriptor_Size
2586 to account for its broader usage.
2587 * sem_attr.adb (Analyze_Attribute): Change the error detection
2588 circuitry for Descriptor_Size as the attribute is now applicable
2589 to all types.
2590
f7e6fc47
RD
25912011-09-06 Robert Dewar <dewar@adacore.com>
2592
2593 * sem_attr.adb, prj-nmsc.adb, exp_aggr.adb: Minor reformatting.
2594
f8e9fc30
AC
25952011-09-06 Ed Schonberg <schonberg@adacore.com>
2596
2597 * lib-xref.adb (OK_To_Set_Referenced): A reference to a formal
2598 in a parameter association must not set the Referenced flag on
2599 the formal.
2600 * prj-nmsc.adb (Check_File_Naming_Schemes): Remove useless formal
2601
26022011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
2603
2604 * gnat_rm.texi: Add a section on attribute Descriptor_Size
2605
e8e38f35
AC
26062011-09-06 Arnaud Charlet <charlet@adacore.com>
2607
2608 * gcc-interface/Makefile.in (common-tools, gnatmake-re,
2609 gnatlink-re): Speed up by using -j0.
2610
ba759acd
AC
26112011-09-06 Yannick Moy <moy@adacore.com>
2612
2613 * sem_ch13.adb (Analyze_Aspect_Specifications): Call
2614 Set_Corresponding_Aspect when creating pragma from aspect.
2615 (Add_Predicates): Use new field Corresponding_Aspect.
2616 * sem_prag.adb (Analyze_Pragma): Make Pname hold source aspect
2617 name when present, for the purpose of issuing error messages;
2618 remove local procedure Error_Pragma_Arg_Alternate_Name.
2619 * sinfo.adb, sinfo.ads (Corresponding_Aspect): New field in
2620 N_Pragma node.
2621 (From_Dynamic_Predicate, From_Static_Predicate): Remove fields from
2622 N_Pragma node.
2623
26242011-09-06 Robert Dewar <dewar@adacore.com>
2625
2626 * checks.adb, s-except.ads, g-socket.adb: Minor reformatting.
2627
26282011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
2629
2630 * exp_ch6.adb (Build_Heap_Allocator): Add new
2631 local variable Desig_Typ. Code and comment reformatting. Add
2632 machinery to ensure that the allocation uses a fat pointer when
2633 the type of the return object is a constrained array and the
2634 function return type is an unconstrained array.
2635
26362011-09-06 Vincent Celier <celier@adacore.com>
2637
2638 * make.adb, prj-part.adb, prj-nmsc.adb: Remove unused formal
2639 parameters in subprograms.
2640
26412011-09-06 Arnaud Charlet <charlet@adacore.com>
2642
2643 * s-taprop-mingw.adb (Finalize_TCB): Fix typo.
2644
26452011-09-06 Thomas Quinot <quinot@adacore.com>
2646
2647 * s-taprop-vxworks.adb, s-tpoaal.adb, s-tpopsp-vxworks.adb
2648 (System.Tasking.Primitive_Operations.Specific.Delete): Remove
2649 subprogram.
2650 (System.Tasking.Primitive_Operations.Specific.Set): If argument
2651 is null, destroy task specific data, to make API consistent with
2652 other platforms, and thus compatible with the shared version
2653 of s-tpoaal.adb.
2654 (System.Tasking.Primitive_Operations.ATCB_Allocation.Free_ATCB):
2655 Document the above assumption.
2656
f4f92d9d
AC
26572011-09-06 Ed Schonberg <schonberg@adacore.com>
2658
2659 * exp_ch6.adb (Expand_Inlined_Call): Fix use of uninitialized
2660 variable for type of return value when return type is
2661 unconstrained and context is an assignment.
2662
26632011-09-06 Ed Schonberg <schonberg@adacore.com>
2664
2665 * sem_ch8.adb (Check_Class_Wide_Actual): Do not generate body of
2666 class-wide operation if expansion is not enabled.
2667
26682011-09-06 Eric Botcazou <ebotcazou@adacore.com>
2669
2670 * checks.adb (Apply_Scalar_Range_Check): Deal with access
2671 type prefix.
2672
26732011-09-06 Yannick Moy <moy@adacore.com>
2674
2675 * sem_ch13.adb (Analyze_Aspect_Specifications, case
2676 Aspect_Invariant): Do not issue error at this point on illegal
2677 pragma placement, as this is checked later on when analyzing
2678 the corresponding pragma.
2679 * sem_prag.adb (Error_Pragma_Arg_Alternate_Name): New procedure
2680 similar to Error_Pragma_Arg, except the source name of the
2681 aspect/pragma to use in warnings may be equal to parameter
2682 Alt_Name (Analyze_Pragma, case Pragma_Invariant): refine error
2683 message to distinguish source name of pragma/aspect, and whether
2684 the illegality resides in the type being public, or being private
2685 without a public declaration
2686
26872011-09-06 Thomas Quinot <quinot@adacore.com>
2688
2689 * g-socket.adb (Check_For_Fd_Set): On Windows, no need for bitmap
2690 size check (fd_set is implemented differently on that platform).
2691
26922011-09-06 Thomas Quinot <quinot@adacore.com>
2693
2694 * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
2695 s-tpoaal.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
2696 s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop.ads,
2697 s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-posix.adb
2698 (ATCB_Allocation): New subpackage of
2699 System.Tasking.Primitive_Operations, shared across all targets
2700 with full tasking runtime.
2701 (ATCB_Allocation.New_ATCB): Moved there (from target specific
2702 s-taprop bodies).
2703 (ATCB_Allocation.Free_ATCB): New subprogram. Deallocate an ATCB,
2704 taking care of establishing a local temporary ATCB if the one
2705 being deallocated is Self, to avoid a reference to the freed
2706 ATCB in Abort_Undefer.
2707
27082011-09-06 Thomas Quinot <quinot@adacore.com>
2709
2710 * s-tassta.adb, s-taskin.ads (Free_Task): If the task is not
2711 terminated, mark it for deallocation upon termination.
2712 (Terminate_Task): Call Free_Task again if the task is marked
2713 for automatic deallocation upon termination.
2714
df177175
RD
27152011-09-06 Robert Dewar <dewar@adacore.com>
2716
2717 * a-cbprqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cusyqu.ads,
2718 a-intnam-aix.ads, a-intnam-darwin.ads, a-intnam-dummy.ads,
2719 a-intnam-freebsd.ads, a-intnam-hpux.ads, a-intnam-irix.ads,
2720 a-intnam-linux.ads, a-intnam-lynxos.ads, a-intnam-mingw.ads,
2721 a-intnam-solaris.ads, a-intnam-tru64.ads,
2722 a-intnam-vms.ads, a-intnam-vxworks.ads, a-intnam.ads, interfac.ads,
2723 cstand.adb, s-maccod.ads: Mark all entities as Implementation_Defined
2724 * einfo.ads, einfo.adb (Is_Implementation_Defined): New flag
2725 * par-prag.adb: Add dummy entry for pragma Implementation_Defined
2726 * s-rident.ads: Add new restriction No_Implementation_Identifiers
2727 Add new profile No_Implementation_Extensions
2728 * sem_prag.adb: Implement pragma Implementation_Defined Implement
2729 profile No_Implementation_Extensions
2730 * sem_util.adb: Minor reformatting (Set_Entity_With_Style_Check):
2731 Check violation of restriction No_Implementation_Identifiers
2732 * snames.ads-tmpl: Add entries for pragma Implementation_Defined
2733 Add entry for Name_No_Implementation_Extensions
2734
27352011-09-06 Robert Dewar <dewar@adacore.com>
2736
2737 * impunit.ads: Minor reformatting.
2738
b991dd43
AC
27392011-09-06 Robert Dewar <dewar@adacore.com>
2740
2741 * ali.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.
2742
27432011-09-06 Pascal Obry <obry@adacore.com>
2744
2745 * s-osinte-linux.ads, s-oscons-tmplt.c: Use oscons to define sigset_t
2746 types.
2747
516785cc
AC
27482011-09-06 Robert Dewar <dewar@adacore.com>
2749
2750 * g-socket.adb: Minor reformatting
2751
27522011-09-06 Javier Miranda <miranda@adacore.com>
2753
2754 * ali.adb (Scan_ALI): Add missing support to load references of
2755 entities imported from other languages.
2756 * ali.ads (Xref_Record): Adding new fields to store the language and
2757 name of an imported entity.
2758 * lib-xref.adb (Output_Import_Export_Info): Fix typo
2759 in comment.
2760
27612011-09-06 Ed Schonberg <schonberg@adacore.com>
2762
2763 * sem_prag.adb (Analyze_Pragma, case Type_Invariant): A type invariant
2764 is allowed on a full type declaration if it is the completion of
2765 a private declarations.
2766 * sem_ch13.adb (Analyze_Aspect_Specifications): An invariant
2767 aspect is allowed on a full type declaration in the private part
2768 of a package.
2769
96691943
AC
27702011-09-06 Robert Dewar <dewar@adacore.com>
2771
2772 * sem_ch8.ads: Minor reformatting
2773
27742011-09-06 Thomas Quinot <quinot@adacore.com>
2775
2776 * s-oscons-tmplt.c, g-socket.adb (GNAT.Sockets.Clear,Set,Is_Set):
2777 Guard against socket values that are not in [0;FD_SETSIZE[
2778
54bf19e4
AC
27792011-09-06 Robert Dewar <dewar@adacore.com>
2780
2781 * s-osinte-linux.ads, a-iteint.ads, exp_ch6.adb, s-solita.adb: Minor
2782 reformatting.
2783
27842011-09-06 Arnaud Charlet <charlet@adacore.com>
2785
2786 * s-linux-alpha.ads: Minor reformatting
2787 * s-oscons-tmplt.c: Fix generated comments in s-oscons template.
2788 Use sizeof instead of corresponding C defines in s-oscons template.
2789
5d42cba1
VG
27902011-09-06 Vadim Godunko <godunko@adacore.com>
2791
2792 * a-convec.ads, a-iteint.ads: Minor reformatting.
2793
77aa62e7
AC
27942011-09-06 Vincent Celier <celier@adacore.com>
2795
2796 * projects.texi: Add menus and @node lines.
2797
27982011-09-06 Ed Schonberg <schonberg@adacore.com>
2799
2800 * exp_ch6.adb (Expand_Inlined_Call): Handle properly the case
2801 where the return type is an unconstrained array and the context
2802 is an assignment. Optimize the case when the target of the
2803 assignment is a selected component.
2804
28052011-09-06 Arnaud Charlet <charlet@adacore.com>
2806
2807 * s-solita.adb: Update comments.
2808
28092011-09-06 Pascal Obry <obry@adacore.com>
2810
2811 * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, s-linux-mipsel.ads,
2812 s-linux-sparc.ads: Remove hard coded and now wrong definitions.
2813 * s-oscons-tmplt.c: Add support for generating pthread related
2814 types size on GNU/Linux as done for Darwin.
2815 * s-osinte-linux.ads: Use s-oscons to define the pthread types.
2816
886b5a18
AC
28172011-09-06 Robert Dewar <dewar@adacore.com>
2818
2819 * exp_ch6.adb: Fix minor typo.
2820
28212011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
2822
2823 * exp_ch7.adb: Remove with and use clauses for Get_Targ.
2824 (Alignment_Of): Moved to the body of Nearest_Multiple_Rounded_Up.
2825 (Double_Size_Of): Alphabetized. Update the comment on usage.
2826 (Make_Finalize_Address_Stmts): Update comments and reformat code.
2827 (Nearest_Multiple_Rounded_Up): New routine.
2828 (Size_Of): Update comment on usage. The generated expression now
2829 accounts for alignment gaps by rounding the size of the type to the
2830 nearest multiple rounded up of the type's alignment.
2831
57a3fca9
AC
28322011-09-06 Robert Dewar <dewar@adacore.com>
2833
2834 * exp_ch7.adb, g-comlin.adb: Minor reformatting.
2835
28362011-09-06 Steve Baird <baird@adacore.com>
2837
2838 * exp_ch4.adb (Expand_Allocator_Expression): Look through
2839 derived subprograms in checking for presence of an
2840 Extra_Accessibility_Of_Result formal parameter.
2841 * exp_ch6.adb (Expand_Call): Look through derived subprograms in
2842 checking for presence of an Extra_Accessibility_Of_Result formal
2843 parameter.
2844 (Expand_Call.Add_Actual_Parameter): Fix a bug in the
2845 case where the Parameter_Associatiations attribute is already set,
2846 but set to an empty list.
2847 (Needs_Result_Accessibility_Level):
2848 Unconditionally return False. This is a temporary
2849 change, disabling the Extra_Accessibility_Of_Result
2850 mechanism.
2851 (Expand_Simple_Function_Return): Check for
2852 Extra_Accessibility_Of_Result parameter's presence instead of
2853 testing Ada_Version when generating a runtime accessibility
2854 check which makes use of the parameter.
2855
eaed0c37
AC
28562011-09-06 Ed Schonberg <schonberg@adacore.com>
2857
2858 * exp_ch4.adb (Expand_N_Case_Expression): Actions created for the
2859 expression in a given case alternative must be attached to the
2860 statement list of the ccrresponding case statement alternative
2861 They cannot be propagated ahead of the case statement, because
2862 the validity of the expression that generated the action may
2863 hold only for that alternative.
2864
28652011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
2866
2867 * exp_ch7.adb: Remove with and use clauses for Get_Targ.
2868 (Alignment_Of): Remove the code for strict alignment targets.
2869 (Double_Alignment_Of): Removed.
2870 (Double_Size_Of): New routine.
2871 (Make_Finalize_Address_Stmts): Change the
2872 calculation of the dope's size. Update relevant comments.
2873 (Size_Of): New routine.
2874
b8a93198
AC
28752011-09-06 Steve Baird <baird@adacore.com>
2876
2877 * einfo.ads (Extra_Accessibility): Update associated comment to use
2878 the term "present" correctly ("present" just means that it is not
2879 an error to query the value of the attribute - it does not imply
2880 that the value must be non-null).
2881 (Extra_Constrained): Ditto.
2882 (Is_Visible_Formal): Ditto.
2883 (Extra_Accessibility_Of_Result) Ditto; also add Inline pragma.
2884 (Set_Extra_Accessibility_Of_Result): Add Inline pragma.
2885 * exp_ch4.adb (Expand_Allocator_Expression): Improve a comment.
2886 * exp_ch6.adb (Expand_Call): The callee may require an
2887 Extra_Accessibility_Of_Result actual parameter even if Ada_Version
2888 < Ada_2012. This can occur if the callee is exported from a Gnat
2889 runtimes unit. Also improve a comment.
2890
28912011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
2892
2893 * exp_ch7.adb: Add with and use clauses for Get_Targ.
2894 (Alignment_Of): Rename formal parameter Some_Typ
2895 to Typ, update related comment. Use the allocator alignment on
2896 strict alignment targets such as SPARC.
2897 (Double_Alignment_Of): Rename formal parameter Some_Typ to Typ, update
2898 related comment.
2899
29002011-09-06 Gary Dismukes <dismukes@adacore.com>
2901
2902 * sem_ch9.adb (Check_Interfaces): Test
2903 Is_Limited_Type rather than Is_Limited_Record when checking that
2904 the partial view of a synchronized full view must be limited.
2905
29062011-09-06 Emmanuel Briot <briot@adacore.com>
2907
2908 * g-comlin.adb (Free): Fix memory leak.
2909
ebf494ec
RD
29102011-09-06 Robert Dewar <dewar@adacore.com>
2911
2912 * sem_util.adb, exp_ch6.adb: Minor reformatting and code reorganization.
2913
63585f75
SB
29142011-09-06 Steve Baird <baird@adacore.com>
2915
2916 * einfo.ads (Extra_Accessibility_Of_Result): New function; in the
2917 (Ada2012) cases described in AI05-0234 where the accessibility
2918 level of a function result is "determined by the point of
2919 call", an implicit parameter representing that accessibility
2920 level is passed in. Extra_Accessibilty_Of_Result yields this
2921 additional formal parameter. Extra_Accessibility_Of_Result
2922 is analogous to the existing Extra_Accessibility
2923 function used in the implementation of access parameters.
2924 (Set_Extra_Accessibility_Of_Result): New procedure; sets
2925 Extra_Accessibility_Of_Result attribute.
2926 * einfo.adb (Extra_Accessibility_Of_Result): New function.
2927 (Set_Extra_Accessibility_Of_Result): New procedure.
2928 (Write_Field19_Name): Display Extra_Accessibilty_Of_Result attribute.
2929 * sem_util.adb (Dynamic_Accessibility_Level): Set Etype of
2930 an accessibility level literal to Natural; introduce a nested
2931 function, Make_Level_Literal, to do this.
2932 * exp_ch6.ads (Needs_Result_Accessibility_Level): New function;
2933 determines whether a given function (or access-to-function
2934 type) needs to have an implicitly-declared accessibility-level
2935 parameter added to its profile.
2936 (Add_Extra_Actual_To_Call): Export an existing procedure which was
2937 previously declared in the body of Exp_Ch6.
2938 * exp_ch6.adb (Add_Extra_Actual_To_Call): Export declaration by moving
2939 it to exp_ch6.ads.
2940 (Has_Unconstrained_Access_Discriminants): New Function; a
2941 predicate on subtype entities which returns True if the given
2942 subtype is unconstrained and has one or more access discriminants.
2943 (Expand_Call): When expanding a call to a function which takes an
2944 Extra_Accessibility_Of_Result parameter, pass in the appropriate
2945 actual parameter value. In the case of a function call which is
2946 used to initialize an allocator, this may not be possible because
2947 the Etype of the allocator may not have been set yet. In this
2948 case, we defer passing in the parameter and handle it later in
2949 Expand_Allocator_Expression.
2950 (Expand_Simple_Function_Return): When returning from a function which
2951 returns an unconstrained subtype having at least one access
2952 discriminant, generate the accessibility check needed to ensure that
2953 the function result will not outlive any objects designated by its
2954 discriminants.
2955 (Needs_Result_Accessibility_Level): New function; see exp_ch6.ads
2956 description.
2957 * exp_ch4.adb (Expand_Allocator_Expression): When a function call
2958 is used to initialize an allocator, we may need to pass in "the
2959 accessibility level determined by the point of call" (AI05-0234)
2960 to the function. Expand_Call, where such actual parameters are
2961 usually generated, is too early in this case because the Etype of
2962 the allocator (which is used in determining the level to be passed
2963 in) may not have been set yet when Expand_Call executes. Instead,
2964 we generate code to pass in the appropriate actual parameter
2965 in Expand_Allocator_Expression.
2966 * sem_ch6.adb (Create_Extra_Formals): Create
2967 the new Extra_Accessibility_Of_Result formal if
2968 Needs_Result_Accessibility_Level returns True. This includes the
2969 introduction of a nested procedure, Check_Against_Result_Level.
2970
1a982c6e
AC
29712011-09-06 Arnaud Charlet <charlet@adacore.com>
2972
2973 * gcc-interface/Makefile.in (X86_TARGET_PAIRS): Remove duplicate
2974 declaration.
2975
e42bcfa3
AC
29762011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
2977
2978 * s-finmas.adb (Set_Finalize_Address): Explain the reason
2979 for the synchronization. Move the test for null from
2980 s-stposu.Allocate_Any_Controlled to this routine since the check
2981 needs to be protected too.
2982 (Set_Heterogeneous_Finalize_Address): Explain the reason for the
2983 synchronization code.
2984 * s-finmas.ads (Set_Heterogeneous_Finalize_Address): Add comment
2985 explaining the context in which this routine is used.
2986 * s-stposu.adb (Allocate_Any_Controlled): Move the test for null
2987 to s-finmas.Set_Finalize_Address.
2988
29892011-09-05 Ed Schonberg <schonberg@adacore.com>
2990
2991 * einfo.ads: Document that itypes have no parent field.
2992
29932011-09-05 Robert Dewar <dewar@adacore.com>
2994
2995 * rtsfind.adb (Check_CRT): Check for overloaded entity
2996 * rtsfind.ads: Document that entities to be found by rtsfind
2997 cannot be overloaded
2998 * s-taenca.adb, s-tasren.adb, s-tpobop.adb, s-tpoben.ads, s-tpoben.adb
2999 (Lock_Entries_With_Status): New name for Lock_Entries with two
3000 arguments (changed to meet rtsfind no overloading rule).
3001
544e7c17
AC
30022011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
3003
3004 * s-finmas.adb (Set_Finalize_Address (Address,
3005 Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
3006 (Set_Finalize_Address (in out Finalization_Master,
3007 Finalize_Address_Ptr): Add synchronization code.
3008 * s-finmas.ads (Set_Finalize_Address (Address,
3009 Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
3010 * s-stposu.adb (Allocate_Any_Controlled): Update the call to
3011 Set_Finalize_Address for the heterogeneous case.
3012
30132011-09-05 Ed Schonberg <schonberg@adacore.com>
3014
3015 * sem_ch3.adb: Undo previous change, not suitable after all.
3016
30172011-09-05 Robert Dewar <dewar@adacore.com>
3018
3019 * einfo.ads: Minor comment clarification.
3020
0613fb33
AC
30212011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
3022
3023 * exp_ch6.adb (Move_Activation_Chain): Rewritten. The routine
3024 no longer needs to search through the entities of the return
3025 statement scope to find the _chain.
3026 * sem_ch5.adb: Add with and use clauses for Exp_Ch6 and Sem_Ch6.
3027 (Analyze_Block_Statement): Add local variable
3028 Is_BIP_Return_Statement. Add machinery to install all entities
3029 produced by the expansion of the return object declaration.
3030 (Install_Return_Entities): New routine.
3031 * sem_ch6.ads, sem_ch6.adb (Install_Entity): Moved from body to spec.
3032
30332011-09-05 Ed Schonberg <schonberg@adacore.com>
3034
3035 * sem_ch10.adb (Analyze_Context): Apply simple fixup if context
3036 of subunit is incomplete.
3037 (Analyze_Proper_Body): If parent spec is not available, do not
3038 attempt analysis.
3039
5dcab3ca
AC
30402011-09-05 Ed Schonberg <schonberg@adacore.com>
3041
3042 * sem_disp.adb (Find_Controlling_Arg): Add checks for
3043 interface type conversions, that are expanded into dereferences.
3044
30452011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
3046
3047 * sem_ch6.adb (Analyze_Subprogram_Body_Helper):
3048 Examine the parameter and return profile of a subprogram and swap
3049 any incomplete types coming from a limited context with their
3050 corresponding non-limited views.
3051 (Exchange_Limited_Views): New routine.
3052
30532011-09-05 Ed Schonberg <schonberg@adacore.com>
3054
3055 * sem_ch3.adb (Prepare_Private_Subtype_Completion): Set parent
3056 of internal entity to the subtype declaration, so that when
3057 entities are subsequently exchanged in a package body, the tree
3058 remains properly formatted for ASIS.
3059
8da1a312
AC
30602011-09-05 Johannes Kanig <kanig@adacore.com>
3061
3062 * g-comlin.adb (Set_Usage): Additional optional argument to set help
3063 message.
3064 (Display_Help): display the user given help message, if available.
3065
30662011-09-05 Ed Schonberg <schonberg@adacore.com>
3067
3068 * sem_ch3.adb (OK_For_Limited_Init_In_05): The expression
3069 is legal if the original node is an identifier that is a
3070 parameterless function call.
3071
69b73847
PO
30722011-09-05 Pascal Obry <obry@adacore.com>
3073
3074 * prj-nmsc.adb: Minor reformatting.
3075 Add support for standalone aggregate library.
3076 (Check_Stand_Alone_Library): Handle standalone aggregate library.
3077 * projects.texi: Fix documentation for aggregate library projects.
3078
81bf2382
AC
30792011-09-05 Robert Dewar <dewar@adacore.com>
3080
3081 * sem_ch6.adb: Minor reformatting.
3082
30832011-09-05 Matthew Gingell <gingell@adacore.com>
3084
3085 * s-tassta.adb (Task_Wrapper): Ensure that we don't try to write the
3086 stack guard page on PPC Linux. This patch ensures the 64K guard page at
3087 the bottom of the stack is not overwritten.
3088
13a0b1e8
AC
30892011-09-05 Thomas Quinot <quinot@adacore.com>
3090
3091 * exp_intr.adb, s-tasini.adb: Minor reformatting.
3092
30932011-09-05 Ed Schonberg <schonberg@adacore.com>
3094
3095 * sem_ch3.adb (Access_Definition): If an access type declaration
3096 appears in a child unit, the scope of whatever anonymous type
3097 may be generated is the child unit itself.
3098
30992011-09-05 Ed Schonberg <schonberg@adacore.com>
3100
3101 * sem_ch6.adb (Analyze_Expression_Function): Do not set
3102 Comes_From_Source on rewritten body.
3103 (Analyze_Subprogram_Body_Helper): Check that the original node for
3104 the body comes from source, when determining whether expansion
3105 of a protected operation is needed.
3106
20428725
AC
31072011-09-05 Ed Schonberg <schonberg@adacore.com>
3108
3109 * exp_aggr.adb (Replace_Type): If the target of the assignment is
3110 a selected component and the right-hand side is a self-referential
3111 access, the proper prefix of the rewritten attribute is a copy
3112 of the left-hand side, not of its prefix.
3113
31142011-09-05 Robert Dewar <dewar@adacore.com>
3115
3116 * sem_ch5.adb: Minor reformatting.
3117 * sem_ch3.adb: Minor code clean up.
3118
31192011-09-05 Jose Ruiz <ruiz@adacore.com>
3120
3121 * exp_ch9.adb (Make_Initialize_Protection): The fact that
3122 restriction No_Dynamic_Attachment is in effect or not should
3123 not influence the default priority associated to a protected
3124 object. With this change, when the restriction is in effect (as
3125 is the case for the Ravenscar profile) the default priority of
3126 a protected object with an interrupt handler is in the range of
3127 interrupt priorities (Default_Interrupt_Priority) as required
3128 by D.3(10).
3129
31302011-09-05 Arnaud Charlet <charlet@adacore.com>
3131
3132 * a-iteint.ads: Fix header.
3133
31342011-09-05 Vincent Celier <celier@adacore.com>
3135
3136 * prj-conf.adb (Do_Autoconf): Make sure Obj_Dir always ends
3137 with a directory separator to avoid output such as:
3138 "/path/to/objauto.cgpr" has been deleted.
3139
4a1bfefb
AC
31402011-09-05 Robert Dewar <dewar@adacore.com>
3141
3142 * sem_ch3.adb: Minor reformatting.
3143
31442011-09-05 Ed Schonberg <schonberg@adacore.com>
3145
3146 * sem_ch5.adb: Better error message.
3147
31482011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
3149
3150 * exp_aggr.adb: Add with and use clause for Exp_Ch6.
3151 (Expand_Array_Aggregate): Detect a special case of an aggregate
3152 which contains tasks in the context of an unexpanded return
3153 statement of a build-in-place function.
3154 * exp_ch6.adb: Add with and use clause for Exp_Aggr.
3155 (Expand_N_Extended_Return_Statement): Detect a delayed aggregate
3156 which contains tasks and expand it now that the original simple
3157 return statement has been rewritten.
3158 * exp_ch9.adb (Build_Activation_Chain_Entity): Code
3159 reformatting. Do not create a chain for an extended return
3160 statement if one is already available.
3161 (Has_Activation_Chain): New routine.
3162
9ec080cb
AC
31632011-09-05 Marc Sango <sango@adacore.com>
3164
3165 * sem_ch3.adb (Analyze_Object_Declaration): Remove
3166 the wrong test and add the correct test to detect the violation
3167 of illegal use of unconstrained string type in SPARK mode.
3168
31692011-09-05 Ed Schonberg <schonberg@adacore.com>
3170
3171 * sem_ch5.adb (Analyze_Iteration_Specification): Improve error
3172 message on an iterator over an array.
3173
31742011-09-05 Robert Dewar <dewar@adacore.com>
3175
3176 * lib-xref-alfa.adb: Minor reformatting.
3177
aeae67ed
RD
31782011-09-05 Robert Dewar <dewar@adacore.com>
3179
3180 * sem_ch3.adb, sem_res.adb, par.adb, par-ch6.adb, g-comlin.adb,
3181 exp_ch6.adb, lib-xref-alfa.adb: Minor reformatting.
3182
d72e7628
AC
31832011-09-05 Gary Dismukes <dismukes@adacore.com>
3184
3185 * exp_ch7.adb, exp_ch6.adb: Minor reformatting.
3186
31872011-09-05 Johannes Kanig <kanig@adacore.com>
3188
3189 * lib-xref-alfa.adb: Update comments.
3190
31912011-09-05 Thomas Quinot <quinot@adacore.com>
3192
3193 * sem_res.adb: Minor reformatting
3194
0d566e01
ES
31952011-09-05 Ed Schonberg <schonberg@adacore.com>
3196
3197 * exp_ch6.adb (Build_In_Place_Formal): If extra formals are not
3198 present, create them now. Needed in case the return type was
3199 a limited view in the function declaration.
3200 (Make_Build_In_Place_Call_In_Allocator): If return type contains
3201 tasks, build the activation chain for it. Pass a reference to
3202 the Master_Id in call to Add_Task_Actuals_To_Build_In_Place call.
3203 * exp_ch7.adb (Make_Set_Finalize_Address_Call): Clean up interface
3204 with build_in_place calls.
3205 * sem_ch9.adb (Analyze_Task_Type_Declaration): If partial view was
3206 incomplete, inatialize its Corresponding_Record_Type component.
3207 * sem_ch10.adb (Build_Chain): Initialize Private_Dependents field
3208 of limited views.
3209
ec09f261
AC
32102011-09-05 Johannes Kanig <kanig@adacore.com>
3211
3212 * lib-xref-alfa.adb (Is_Alfa_Reference): Filter constants from effect
3213 information.
3214
32152011-09-05 Ed Schonberg <schonberg@adacore.com>
3216
3217 * par-ch6.adb (P_Subprogram): In Ada2012 mode, if the subprogram
3218 appears within a package specification and the token after "IS"
3219 is not a parenthesis, assume that this is an unparenthesized
3220 expression function, even if the token appears in a line by
3221 itself.
3222 * par.adb: Clarify use of Labl field of scope stack in error
3223 recovery.
3224
7109f4f5
AC
32252011-09-05 Bob Duff <duff@adacore.com>
3226
3227 * sem_res.adb (Resolve_Intrinsic_Operator): Use unchecked
3228 conversions instead of normal type conversions in all cases where a
3229 type conversion would be illegal. In particular, use unchecked
3230 conversions when the operand types are private.
3231
32322011-09-05 Johannes Kanig <kanig@adacore.com>
3233
3234 * lib-xref-alfa.adb (Is_Alfa_Reference): Never declare effects on
3235 objects of task type or protected type.
3236
66dc8075
AC
32372011-09-05 Ed Schonberg <schonberg@adacore.com>
3238
3239 * sem_ch6.adb (Analyze_Expression_Function): If the expression
3240 function comes from source, indicate that so does its rewriting,
3241 so it is compatible with any subsequent expansion of the
3242 subprogram body (e.g. when it is a protected operation).
3243 * sem_ch4.adb: minor reformatting
3244
32452011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
3246
3247 * lib.adb (Check_Same_Extended_Unit): Comment rewriting. Use
3248 Get_Source_Unit rather than Get_Code_Unit as instantiation unfolding
3249 may lead to wrong ancestor package in the case of instantiated subunit
3250 bodies. If a subunit is instantiated, follow the chain of instantiations
3251 rather than the stub structure.
3252
bd38b431
AC
32532011-09-02 Robert Dewar <dewar@adacore.com>
3254
3255 * sem_ch4.adb, sem_ch6.adb: Minor reformatting.
3256 * gcc-interface/Make-lang.in: Update dependencies.
3257
32582011-09-02 Marc Sango <sango@adacore.com>
3259
3260 * sem_ch3.adb (Analyze_Object_Declaration): Change
3261 comment and add additional check to differentiate constant of
3262 type string from others unconstrained type.
3263
99d520ad
ES
32642011-09-02 Ed Schonberg <schonberg@adacore.com>
3265
3266 * sinfo.ads, sinfo.adb: New semantic attribute Premature_Use,
3267 present in incomplete type declarations to refine the error
3268 message the full declaration is in the same unit.
3269 * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of
3270 an incomplete type, set the Premature_Use for additional message.
3271 * sem_ch3.adb (Find_Type_Name): If partial view is incomplete
3272 and Premature_Use is set, place additional information at the
3273 point of premature use.
3274
5b5588dd
AC
32752011-09-02 Bob Duff <duff@adacore.com>
3276
3277 * sem_ch6.adb: (Check_Post_State): Suppress warning
3278 "postcondition refers only to pre-state" when the expression has not
3279 yet been analyzed, because it causes false alarms. This can happen when
3280 the postcondition contains a quantified expression, because those are
3281 analyzed later. This is a temporary/partial fix.
3282 (Process_Post_Conditions): Minor: change wording of warning.
3283
32842011-09-02 Marc Sango <sango@adacore.com>
3285
3286 * sem_ch3.adb (Analyze_Object_Declaration): Detect the violation of
3287 illegal use of unconstrained string type in SPARK mode.
3288 * sem_res.adb (Analyze_Operator_Symbol): Set the
3289 right place where the string operand of concatenation should be
3290 violate in SPARK mode.
3291
bd603506
RD
32922011-09-02 Robert Dewar <dewar@adacore.com>
3293
3294 * sem_prag.adb, sem_util.adb, sem_ch6.adb, prj-nmsc.adb,
3295 exp_ch3.adb: Minor reformatting.
3296
24a120ac
AC
32972011-09-02 Vincent Celier <celier@adacore.com>
3298
3299 * prj-conf.adb (Add_Default_GNAT_Naming_Scheme): Declare "gcc"
3300 as the compiler driver so Is_Compilable returns True for sources.
3301 * prj-nmsc.adb (Override_Kind): When Kind is Sep, set the source
3302 for the body.
3303
33042011-09-02 Ed Schonberg <schonberg@adacore.com>
3305
3306 * sem_prag.adb (Analyze_PPC_In_Decl_Part): for a class-wide
3307 condition, a reference to a controlling formal must be interpreted
3308 as having the class-wide type (or an access to such) so that the
3309 inherited condition can be properly applied to any overriding
3310 operation (see ARM12 6.6.1 (7)).
3311
33122011-09-02 Tristan Gingold <gingold@adacore.com>
3313
3314 * init.c (__gnat_is_vms_v7): Fix case and add prototype
3315 for LIB$GETSYI.
3316
33172011-09-02 Javier Miranda <miranda@adacore.com>
3318
3319 * exp_ch3.adb (Expand_N_Object_Declaration): Do not copy the
3320 initializing expression of a class-wide interface object declaration
3321 if its type is limited.
3322
33232011-09-02 Johannes Kanig <kanig@adacore.com>
3324
3325 * sem_util.adb (Unique_Name): To obtain a unique name for enumeration
3326 literals, take into account the type name; the type is *not*
3327 the scope for an enumeration literal.
3328
33292011-09-02 Ed Schonberg <schonberg@adacore.com>
3330
3331 * sem_ch6.adb (Check_Overriding_Indicator): add special check
3332 to reject an overriding indicator on a user-defined Adjust
3333 subprogram for a limited controlled type.
3334
33352011-09-02 Ed Schonberg <schonberg@adacore.com>
3336
3337 * sem_res.adb (Resolve_Actuals): add missing call to Resolve
3338 for an actual that is a function call returning an unconstrained
3339 limited controlled type.
3340
33412011-09-02 Tristan Gingold <gingold@adacore.com>
3342
3343 * g-socthi-vms.adb (c_sendmsg, c_recvmsg): Use unpacked msg if on vms 7
3344
33452011-09-02 Johannes Kanig <kanig@adacore.com>
3346
3347 * alfa.ads (Name_Of_Heap_Variable): Change value of the HEAP variable
3348 from "HEAP" to __HEAP Change comment that refers to that variable
3349 * put_alfa.adb: Change comment that refers to that variable
3350
c5f5123f
AC
33512011-09-02 Robert Dewar <dewar@adacore.com>
3352
3353 * exp_ch4.adb, exp_ch6.adb, prj-nmsc.adb: Minor reformatting.
3354
33552011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
3356
3357 * exp_util.adb (Extract_Renamed_Object): Renamed to
3358 Find_Renamed_Object. This routine has been reimplemented and now uses
3359 tree traversal to locate a renamed object.
3360 (Is_Aliased): Replace call to Extract_Renamed_Object with
3361 Find_Renamed_Object.
3362
33632011-09-02 Tristan Gingold <gingold@adacore.com>
3364
3365 * init.c: (__gnat_is_vms_v7): New function.
3366
33672011-09-02 Olivier Hainque <hainque@adacore.com>
3368
3369 * tracebak.c (STOP_FRAME, ppc elf/vxworks case): Stop on frames
3370 that have a misaligned backchain, necessarily bogus.
3371
2bfa5484
HK
33722011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
3373
3374 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not create
3375 TSS routine Finalize_Address when compiling in Alfa mode.
3376 (Expand_Freeze_Record_Type): Do not create TSS routine
3377 Finalize_Address when compiling in Alfa mode.
3378 * exp_ch4.adb (Expand_Allocator_Expression): Do not produce a
3379 call to Set_Finalize_Address in Alfa mode because Finalize_Address is
3380 not built.
3381 (Expand_N_Allocator): Do not produce a call to
3382 Set_Finalize_Address in Alfa mode because Finalize_Address is not built.
3383 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Do not
3384 produce a call to primitive Set_Finalize_Address in Alfa mode because
3385 Finalize_Address is not built.
3386 * exp_ch7.adb (Build_Finalization_Master): Do not create
3387 finalization masters in Afa mode since they are not needed.
3388 (Build_Finalizer): Do not create scope and library-level
3389 finalizers in Alfa mode since they are not needed.
3390 * exp_util.adb (Build_Allocate_Deallocate_Proc): Do not expand
3391 "new" and "free" when applied to controlled objects in Alfa mode since
3392 this is not needed.
3393
7a0ddd20
AC
33942011-09-02 Vincent Celier <celier@adacore.com>
3395
3396 * prj-nmsc.db: (Check_Stand_Alone_Library): For SALs, allow
3397 only library names with the syntax of Ada identifiers, to avoid errors
3398 when compiling the binder generated files.
3399 * projects.texi: Document restriction on SAL library names
3400
34012011-09-02 Thomas Quinot <quinot@adacore.com>
3402
3403 * a-chtgbo.adb: Minor comment fix.
3404
439b6dfa
AC
34052011-09-02 Robert Dewar <dewar@adacore.com>
3406
3407 * lib-xref.adb: Minor reformatting
3408
34092011-09-02 Vincent Celier <celier@adacore.com>
3410
3411 * bindusg.adb, clean.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
3412 gnatls.adb, gnatname.adb, gnatxref.adb, gprep.adb, makeusg.adb: Add
3413 --version and --help in usage.
3414 * switch.ads, switch.adb (Display_Usage_Version_And_Help): New procedure
3415
f2404867
AC
34162011-09-02 Bob Duff <duff@adacore.com>
3417
3418 * lib-xref.adb: (Hash): Avoid use of 'Mod attribute, because old
3419 compilers don't understand it.
3420
34212011-09-02 Gary Dismukes <dismukes@adacore.com>
3422
3423 * exp_attr.adb (Expand_N_Attribute_Reference): Pass the
3424 underlying subtype rather than its base type on the call to
3425 Build_Record_Or_Elementary_Input_Function, so that any
3426 constraints on a discriminated subtype will be available for
3427 doing the check required by AI05-0192.
3428 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
3429 If the prefix subtype of the 'Input attribute is a constrained
3430 discriminated subtype, then check each constrained discriminant value
3431 against the corresponding value read from the stream.
3432
029b67ba
YM
34332011-09-02 Yannick Moy <moy@adacore.com>
3434
3435 * usage.adb, warnsw.adb, sem_ch6.adb, opt.ads: Disable by default
3436 warnings on suspicious contracts, and enable them with -gnatwa.
3437
dc36a7e3
RD
34382011-09-02 Robert Dewar <dewar@adacore.com>
3439
3440 * exp_util.adb, exp_ch9.adb, sem_attr.adb, sem_ch6.adb: Minor
3441 reformatting.
3442
d5aa443c
AC
34432011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
3444
3445 * exp_ch9.adb (Install_Private_Data_Declarations): Add guards
3446 which ensure that restriction No_Dynamic_Attachment has not been
3447 violated.
3448 (Make_Initialize_Protection): Protected types with attach or
3449 interrupt handlers must not violate restriction No_Dynamic_Attachment.
3450 * exp_util.adb (Corresponding_Runtime_Package): Add a guard
3451 which ensures that restriction No_Dynamic_Attachment has not been
3452 violated.
3453 * sem_attr.adb: (Eval_Attribute): Transform
3454 VAX_Float_Type'First and 'Last into references to
3455 the temporaries which store the corresponding bounds. The
3456 transformation is needed since the back end cannot evaluate
3457 'First and 'Last on VAX.
3458 (Is_VAX_Float): New routine.
3459
34602011-09-02 Ed Schonberg <schonberg@adacore.com>
3461
3462 * sem_ch12.adb (Analyze_Subprogram_Instantiation): If the
3463 generic unit is not intrinsic and has an explicit convention,
3464 the instance inherits it.
3465
67c86178
AC
34662011-09-02 Robert Dewar <dewar@adacore.com>
3467
3468 * prj-dect.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, prj-tree.adb,
3469 prj.adb, prj.ads, sem_ch5.adb: Minor reformatting.
3470
34712011-09-02 Thomas Quinot <quinot@adacore.com>
3472
3473 * sem_attr.adb (Analyze_Attribute, case Unrestriced_Access):
3474 Guard against a prefix that is an N_Has_Entity but has no
3475 associated entity.
3476
34772011-09-02 Yannick Moy <moy@adacore.com>
3478
3479 * lib-xref-alfa.adb (Is_Alfa_Reference): Ignore IN parameters in Alfa
3480 references.
3481
34822011-09-02 Yannick Moy <moy@adacore.com>
3483
3484 * opt.ads (Warn_On_Suspicious_Contract): New warning flag.
3485 * sem_ch3.adb (Analyze_Declarations): Call checker for suspicious
3486 contracts.
3487 * sem_ch6.adb, sem_ch6.ads (Check_Subprogram_Contract): New
3488 procedure looking for suspicious postconditions.
3489 * usage.adb (Usage): New options -gnatw.t and -gnatw.T.
3490 * warnsw.adb (Set_Dot_Warning_Switch): Take into account new
3491 options -gnatw.t and -gnatw.T.
3492
735ca1b9
PO
34932011-09-02 Pascal Obry <obry@adacore.com>
3494
3495 * prj.adb: Minor code refactoring. Move check for null project in
3496 Project_Changed.
3497 * projects.texi: Fix minor typos.
3498
86828d40
AC
34992011-09-02 Ed Schonberg <schonberg@adacore.com>
3500
3501 * sem_ch5.adb (Analyze_Iterator_Specification): If the domain
3502 of iteration is an expression, its value must be captured in a
3503 renaming declaration, so that modification of the elements is
3504 propagated to the original container.
3505
35062011-09-02 Pascal Obry <obry@adacore.com>
3507
3508 * prj-proc.adb, prj.adb, makeutl.adb, makeutl.ads, prj-dect.adb,
3509 prj-nmsc.adb, prj-util.adb, prj-conf.adb, prj-env.adb,
3510 prj-tree.adb: Minor reformatting and style fixes.
3511
83de674b
AC
35122011-09-02 Robert Dewar <dewar@adacore.com>
3513
3514 * s-rident.ads: Add new restriction No_Implicit_Aliasing
3515 * sem_attr.adb: (Analyze_Access_Attribute): Deal with
3516 No_Implicit_Aliasing
3517 (Analyze_Attribute, case Address): ditto
3518 (Analyze_Attribute, case Unrestricted_Access): ditto
3519 * sem_util.ads, sem_util.adb: (Is_Aliased_View): Handle
3520 No_Implicit_Aliasing restriction.
3521 * gnat_rm.texi: Add documentation for No_Implicit_Aliasing
3522
35232011-09-02 Ed Schonberg <schonberg@adacore.com>
3524
3525 * exp_util.adb: (Possible_Bit_Aligned_Object): If the object
3526 is an unchecked conversion, apply test to its expression.
3527
35282011-09-02 Javier Miranda <miranda@adacore.com>
3529
3530 * sem_ch3.adb (Check_Abstract_Overriding): When
3531 traversing the chain of aliased subprograms avoid reporting a
3532 redundant error on the current entity.
3533
35342011-09-02 Sergey Rybin <rybin@adacore.com>
3535
3536 * gnat_ugn.texi: Minor clean up.
3537
35382011-09-02 Bob Duff <duff@adacore.com>
3539
3540 * s-htable.adb (Set_If_Not_Present): Use renaming
3541 instead of ":=", because the type Key is limited in the generic (even
3542 if not in the instances).
3543
2c17ca0a
AC
35442011-09-02 Robert Dewar <dewar@adacore.com>
3545
3546 * exp_util.adb, sem_ch10.adb, sem_attr.adb, s-htable.adb,
3547 g-comlin.adb, g-comlin.ads, lib-xref-alfa.adb, lib-xref.adb: Minor
3548 reformatting.
3549
35502011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
3551
3552 * sem_ch3.adb: (Set_Anonymous_Type): Associate the itype of an
3553 inherited component with the enclosing derived type. Code reformatting.
3554
35552011-09-02 Gary Dismukes <dismukes@adacore.com>
3556
3557 * checks.adb: (Determine_Range): Add test of OK1 to prevent the early
3558 return done when overflow checks are enabled, since comparisons against
3559 Lor and Hir should not be done when OK1 is False.
3560
35612011-09-02 Gary Dismukes <dismukes@adacore.com>
3562
3563 * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
3564 Add new formal Master_Exp. When present, add that expression to the
3565 call as an extra actual.
3566 (Make_Build_In_Place_Call_In_Object_Declaration): Add variable
3567 Fmaster_Actual and in the case of a BIP call initializing a return
3568 object of an enclosing BIP function set it to a
3569 new reference to the implicit finalization master
3570 formal of the enclosing function. Fmaster_Actual is
3571 then passed to the new formal Master_Exp on the call to
3572 Add_Finalization_Master_Actual_To_Build_ In_Place_Call. Move
3573 initializations of Enclosing_Func to its declaration.
3574
35752011-09-02 Thomas Quinot <quinot@adacore.com>
3576
3577 * csets.ads: Minor reformatting
3578
35792011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
3580
3581 * exp_aggr.adb: (Get_Constraint_Association): Add code to retrieve
3582 the full view of a private type coming from an instantiation.
3583 * exp_ch4.adb: (Current_Anonymous_Master): Reimplement the search
3584 loop to iterate over the declarations rather than use the
3585 First_Entity / Next_Entity scheme.
3586
ed32b82e
ES
35872011-09-02 Ed Schonberg <schonberg@adacore.com>
3588
3589 * sem_attr.adb: (Analyze_Attribute, case 'Range): when expanding
3590 X'range (N) into X'First (N) .. X'Last (N), do not share the
3591 dimension indicator N, if present. Even though it is a static
3592 constant, its source location may be modified when printing
3593 expanded code under -gnatDL, and node sharing will lead to chaos
3594 in Sprint on large files, by generating a sloc value that does
3595 not correspond to any source file.
3596
f7bb41af
AC
35972011-09-02 Bob Duff <duff@adacore.com>
3598
3599 * einfo.adb: (Has_Xref_Entry): Do not call
3600 Implementation_Base_Type. Lib.Xref has been
3601 rewritten to avoid the need for it, and it was costly.
3602 * s-htable.ads,s-htable.adb: (Present,Set_If_Not_Present): New
3603 functions in support of efficient xref.
3604 * lib-xref-alfa.adb: Misc changes related to Key component of
3605 type Xref_Entry.
3606 * lib-xref.adb: (Add_Entry,etc): Speed improvement.
3607 (New_Entry): Call Implementation_Base_Type, because Has_Xref_Entry
3608 no longer does. This is the one place where it is needed.
3609
36102011-09-02 Johannes Kanig <kanig@adacore.com>
3611
3612 * g-comlin.adb (Getopt): New optional argument Concatenate to have
3613 similar interface as the other Getopt function.
3614
36152011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
3616
3617 * exp_ch4.adb: (Expand_Allocator_Expression): Do not generate
3618 a call to Set_Finalize_Address if there is no allocator available.
3619 * exp_util.adb: (Build_Allocate_Deallocate_Proc): Account for
3620 a case of allocator expansion where the allocator is not expanded but
3621 needs a custom allocate routine. Code reformatting.
3622 (Is_Finalizable_Transient): Remove local variables Has_Rens and
3623 Ren_Obj. Code reformatting.
3624 (Is_Renamed): Renamed to Is_Aliased. Add code to detect aliasing
3625 through the use of 'reference.
3626 * sem_ch4.adb: (Analyze_Allocator): Detect allocators generated
3627 as part of build-in-place expansion. They are intentionally marked as
3628 coming from source, but their parents are not.
3629
bd0bc43e
AC
36302011-09-02 Ed Schonberg <schonberg@adacore.com>
3631
3632 * sem_ch10.adb (Analyze_With_Clause): If the library unit
3633 is the generated subprogram declaration for a child unit body
3634 that acts as spec, use the original body in the with_clause,
3635 to prevent binding errors.
3636
36372011-09-02 Vincent Celier <celier@adacore.com>
3638
3639 * gnat_ugn.texi: Adapt documentation of -gnateInnn to new VMS
3640 qualifier /MULTI_UNIT_INDEX=
3641
36422011-09-02 Johannes Kanig <kanig@adacore.com>
3643
3644 * g-comlin.adb (Getopt): Return when switch is dealt with automatically,
3645 instead of calling the callback function
3646
9fdb5d21
RD
36472011-09-02 Robert Dewar <dewar@adacore.com>
3648
3649 * prj-proc.adb, prj.ads, sem_util.adb, s-taprop-linux.adb,
3650 prj-nmsc.adb, prj-util.ads, prj-env.adb: Minor reformatting.
3651
c6d5d1ac
AC
36522011-09-02 Vincent Celier <celier@adacore.com>
3653
3654 * prj-nmsc.adb: (Find_Sources): When the list of sources is
3655 explicitly declared in an extending project, do not warn if a source
3656 for an inherited naming exception is not found.
3657
36582011-09-02 Gary Dismukes <dismukes@adacore.com>
3659
3660 * exp_ch6.adb: (Is_Build_In_Place_Function_Call): Return False if
3661 expansion is inactive.
3662
36632011-09-02 Ed Schonberg <schonberg@adacore.com>
3664
3665 * sem_util.adb (Note_Possible_Modification): If the entity
3666 being modified is the renaming generated for an Ada2012 iterator
3667 element, the enclosing container or array is modified as well.
3668
2ba1a7c7
AC
36692011-09-02 Jose Ruiz <ruiz@adacore.com>
3670
3671 * s-taprop-linux.adb (Initialize_Lock, Initialize_TCB,
3672 Initialize): Define and initialize the
3673 mutex attributes and condition variable attributes locally.
3674
36752011-09-02 Vincent Celier <celier@adacore.com>
3676
3677 * prj-nmsc.adb (Check_File): Mark as Locally_Removed a naming
3678 exception replaced in an extending project.
3679 (Check_Object): No error when the other source is locally removed.
3680
36812011-09-02 Yannick Moy <moy@adacore.com>
3682
3683 * exp_ch6.adb (Is_Build_In_Place_Function_Call): in Alfa mode, allow
3684 unresolved calls.
3685
d51813db
AC
36862011-08-31 Arnaud Charlet <charlet@adacore.com>
3687
3688 * gcc-interface/Makefile.in: Clean up handling of x86 and x86-64
3689 run-time files.
3690 * gcc-interface/Make-lang.in: Update dependencies.
3691
9f55bc62
AC
36922011-09-01 Robert Dewar <dewar@adacore.com>
3693
3694 * sem_ch3.adb, s-taprop-linux.adb, gnatls.adb: Minor reformatting.
3695
36962011-09-01 Jose Ruiz <ruiz@adacore.com>
3697
3698 * adaint.h (__gnat_cpu_free): Fix the name of this profile.
3699 * adaint.c (__gnat_cpu_alloc, __gnat_cpu_alloc_size, __gnat_cpu_free,
3700 __gnat_cpu_zero, __gnat_cpu_set): Create version of these subprograms
3701 specific for systems where their glibc version does not define the
3702 routines to handle dynamically allocated CPU sets.
3703
37042011-09-01 Vincent Celier <celier@adacore.com>
3705
3706 * prj-proc.adb, prj.ads, prj-nmsc.adb, prj-util.adb, prj-util.ads,
3707 prj-env.adb: Implement inheritance of naming exceptions in extending
3708 projects.
3709
d7386a7a
AC
37102011-09-01 Romain Berrendonner <berrendo@adacore.com>
3711
3712 * gnatls.adb: Display simple message instead of content of
3713 gnatlic.adl.
3714
37152011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
3716
3717 * sem_ch3.adb: (Build_Derived_Record_Type) Remove the kludgy update of
3718 access discriminant and anonymous access component scopes.
3719 (Inherit_Component): Reuse the itype of an access discriminant
3720 or anonymous access component by copying it in order to set the proper
3721 scope. This is done only when the parent and the derived type
3722 are in different scopes.
3723 (Set_Anonymous_Etype): New routine.
3724
37252011-09-01 Robert Dewar <dewar@adacore.com>
3726
3727 * a-convec.adb: Minor reformatting throughout.
3728
9d1e0e72
JR
37292011-09-01 Jose Ruiz <ruiz@adacore.com>
3730
3731 * adaint.c, adaint.h (__gnat_cpu_alloc, __gnat_cpu_alloc_size,
3732 __gnat_cpu_set_free): Create these wrappers around the CPU_ALLOC,
3733 CPU_ALLOC_SIZE and CPU_FREE linux macros.
3734 (__gnat_cpu_zero, __gnat_cpu_set): Use the CPU_ZERO_S and
3735 CPU_SET_S respectively because we are now using dynamically allocated
3736 CPU sets which are more portable across different glibc versions.
3737 * s-osinte-linux.ads (cpu_set_t_ptr, CPU_ALLOC, CPU_ALLOC_SIZE,
3738 CPU_FREE): Add this type and subprograms to be able to create cpu_set_t
3739 masks dynamically according to the number of processors in the target
3740 platform.
3741 (CPU_ZERO, CPU_SET): They are now mapped to the CPU_ZERO_S and CPU_SET_S
3742 respectively, so we need to pass the size of the masks as
3743 parameters.
3744 * s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use dynamically
3745 created cpu_set_t masks
3746 with the number of processors available in the target platform,
3747 instead of static bit arrays. It enhances portability because
3748 it uses the information from the target platform.
3749 * sem_ch8.adb: (Attribute_Renaming): When checking whether we
3750 are using a restricted run-time library, use the flag
3751 Configurable_Run_Time_Mode instead of Restricted_Profile.
3752
a95be2d4
AC
37532011-09-01 Vincent Celier <celier@adacore.com>
3754
3755 * ug_words: Add /MULTI_UNIT_INDEX= -> -gnateI
3756 * vms_data.ads: Add new VMS qualifier equivalent for -gnateInnn
3757
37582011-09-01 Nicolas Roche <roche@adacore.com>
3759
3760 * adaint.c (__gnat_tmp_name): Don't use tmpnam function from the system
3761 on VxWorks in kernel mode.
3762
6b81741c
AC
37632011-09-01 Jose Ruiz <ruiz@adacore.com>
3764
3765 * s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use the linux
3766 macros for handling CPU sets (CPU_ZERO, CPU_SET) instead of modifying
3767 directly the bit array.
3768 * s-osinte-linux.ads (CPU_ZERO, CPU_SET): Import these wrappers around
3769 the linux macros with the same name.
3770 * adaint.h, adaint.c (__gnat_cpu_zero, __gnat_cpu_set): Create these
3771 wrappers around the CPU_ZERO and CPU_SET linux macros.
3772
37732011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
3774
3775 * exp_ch7.adb (Find_Insertion_List): Removed.
3776 (Process_Transient_Objects): Insert the declarations of the hook
3777 access type and the hook object before the associated transient object.
3778
37792011-09-01 Jose Ruiz <ruiz@adacore.com>
3780
3781 * sem_ch8.adb (Attribute_Renaming): Add missing check to avoid loading
3782 package System.Aux_Dec when using restricted run-time libraries which
3783 do not have this package.
3784
37852011-09-01 Tristan Gingold <gingold@adacore.com>
3786
3787 * s-vaflop-vms-alpha.adb: Remove pragma optimize, useless.
3788
37892011-09-01 Bob Duff <duff@adacore.com>
3790
3791 * sem_attr.adb (Analyze_Access_Attribute): Do not call
3792 Kill_Current_Values for P'Unrestricted_Access, where P is library level
3793
37942011-09-01 Thomas Quinot <quinot@adacore.com>
3795
3796 * exp_ch5.adb: Minor reformatting
3797 * gnat_ugn.texi: Fix minor typos.
3798 * gcc-interface/Make-lang.in: Update dependencies.
3799
8256c1bf
AC
38002011-09-01 Robert Dewar <dewar@adacore.com>
3801
3802 * inline.adb, sem_aggr.adb: Minor reformatting.
3803
38042011-09-01 Ed Schonberg <schonberg@adacore.com>
3805
3806 * a-convec.adb: Proper handling of cursors for Ada2012 iterators.
3807
d1c5f424
AC
38082011-09-01 Robert Dewar <dewar@adacore.com>
3809
3810 * prj-proc.adb, exp_ch6.adb, prj-env.adb: Minor reformatting.
3811
38122011-09-01 Bob Duff <duff@adacore.com>
3813
3814 * sem_aggr.adb (Resolve_Aggregate): Need to treat "in instance
3815 body" the same as "in inlined body", because visibility shouldn't
3816 apply there.
3817
38182011-09-01 Eric Botcazou <ebotcazou@adacore.com>
3819
3820 * inline.adb (Add_Inlined_Body): Refine previous change.
3821
1bb6e262
AC
38222011-09-01 Gary Dismukes <dismukes@adacore.com>
3823
3824 * exp_ch6.ads (Needs_BIP_Alloc_Form): New utility function.
3825 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
3826 Test for case where call
3827 initializes an object of a return statement before testing for
3828 a constrained call, to ensure that all such cases get handled
3829 by simply passing on the caller's parameters. Also, in that
3830 case call Needs_BIP_Alloc_Form to determine whether to pass on
3831 the BIP_Alloc_Form parameter of the enclosing function rather
3832 than testing Is_Constrained. Add similar tests for the return
3833 of a BIP call to later processing to ensure consistent handling.
3834 (Needs_BIP_Alloc_Form): New utility function.
3835 * sem_ch6.adb: (Create_Extra_Formals): Replace test for adding
3836 a BIP_Alloc_Form formal with call to new utility function
3837 Needs_BIP_Alloc_Form.
3838
38392011-09-01 Pascal Obry <obry@adacore.com>
3840
3841 * prj-part.adb: Minor reformatting.
3842
38432011-09-01 Vincent Celier <celier@adacore.com>
3844
3845 * prj-env.adb (Create_Mapping_File.Process): Encode the upper
3846 half character in the unit name.
3847
db15225a
AC
38482011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
3849
3850 * exp_ch4.adb: Minor code and comment reformatting.
3851
38522011-09-01 Thomas Quinot <quinot@adacore.com>
3853
3854 * exp_ch6.adb (Expand_Inlined_Call): Remove redundant tests
3855 for Is_Limited_Type and Is_Tagged_Type in condition checking
3856 for by-reference type.
3857 * inline.adb (Add_Inlined_Body): Only exclude init_procs. Other
3858 subprograms may have a completion because of a previous
3859 Inline_Always clause, but the enclosing package must be marked
3860 inlined for the subprogram body to become visible to the backend.
3861
9d641fc0
TQ
38622011-09-01 Thomas Quinot <quinot@adacore.com>
3863
3864 * sem_aux.adb, exp_ch4.adb: Minor reformatting
3865
dbe36d67
AC
38662011-09-01 Pascal Obry <obry@adacore.com>
3867
3868 * prj-proc.adb, prj.ads, sinput-p.adb: Minor reformatting.
3869
38702011-09-01 Ed Schonberg <schonberg@adacore.com>
3871
3872 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate references to
3873 the formals of a subprogram stub that acts as a spec.
3874
38752011-09-01 Ed Schonberg <schonberg@adacore.com>
3876
3877 * exp_ch6.adb (Expand_Inlined_Call): If an actual is a by_reference
3878 type, declare a renaming for it, not an object declaration.
3879
f5037886
AC
38802011-09-01 Yannick Moy <moy@adacore.com>
3881
3882 * ali-util.adb, ali-util.ads (Read_Withed_ALIs): Add parameter
3883 Ignore_Errors to ignore failures to read ALI files when True.
3884
38852011-09-01 Javier Miranda <miranda@adacore.com>
3886
3887 * exp_ch3.adb (Expand_N_Object_Declaration): Handle non-default
3888 constructor calls associated with non-tagged record types.
3889
38902011-09-01 Robert Dewar <dewar@adacore.com>
3891
3892 * g-socthi-vms.adb: Minor reformatting.
3893
38942011-09-01 Nicolas Roche <roche@adacore.com>
3895
3896 * sysdep.c: Don't use macro functions for stdio functions on VxWorks
3897 in order to avoid impact of imcompatible changes.
3898 * cstreams.c: Likewise
3899 * cio.c: Likewise
3900 * aux-io.c: Likewise
3901
39022011-09-01 Yannick Moy <moy@adacore.com>
3903
3904 * lib-writ.adb (Write_With_Lines): Always output complete information
3905 on "with" line in Alfa mode, as this is required by formal verification
3906 back-end.
3907
549e4558
AC
39082011-09-01 Tristan Gingold <gingold@adacore.com>
3909
3910 * g-socthi-vms.adb: Add comments.
3911
39122011-09-01 Pascal Obry <obry@adacore.com>
3913
3914 * prj.ads: Minor reformatting.
3915
70c0422d
AC
39162011-09-01 Vincent Celier <celier@adacore.com>
3917
3918 * prj-env.adb (Create_Config_Pragmas_File.Check): Put all naming
3919 exceptions in the config pragmas file.
3920
39212011-09-01 Tristan Gingold <gingold@adacore.com>
3922
3923 * gnat_ugn.texi: Document GNAT_STACK_SIZE on IVMS.
3924
8c5b03a0
AC
39252011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
3926
3927 * exp_ch7.adb (Find_Insertion_List): New routine.
3928 (Process_Transient_Objects): Add code to handle the abnormal
3929 finalization of a controlled transient associated with a subprogram
3930 call. Since transients are cleaned up right after the associated
3931 context, an exception raised during a subprogram call may bypass the
3932 finalization code.
3933
39342011-09-01 Robert Dewar <dewar@adacore.com>
3935
3936 * exp_ch6.adb (Expand_Call): Check actual for aliased parameter is
3937 aliased.
3938
3040dbd4
RD
39392011-09-01 Robert Dewar <dewar@adacore.com>
3940
3941 * exp_ch4.adb, a-exexda.adb: Minor reformatting.
3942
fecbd779
AC
39432011-09-01 Robert Dewar <dewar@adacore.com>
3944
3945 * s-taskin.ads, s-tassta.adb, sem_ch13.adb: Minor reformatting.
3946
39472011-09-01 Thomas Quinot <quinot@adacore.com>
3948
3949 * Makefile.rtl: Move s-oscons.o from GNATRTL_TASKING_OBJS to
3950 GNATRTL_NONTASKING_OBJS.
3951
39522011-09-01 Robert Dewar <dewar@adacore.com>
3953
3954 * einfo.ads (Is_Aliased): Fix existing documentation and add note on
3955 possibility of this flag being set for formals in Ada 2012 mode.
3956 * par-ch6.adb (P_Formal_Part): Handle aliased for parameters for Ada
3957 2012.
3958 * sem_ch6.adb (Process_Formals): Handle aliased parameters in Ada 2012
3959 mode.
3960 * sinfo.adb (Aliased_Present): Allowed in N_Parameter_Specification for
3961 Ada 2012.
3962 * sinfo.ads (Aliased_Present): Allowed in N_Parameter_Specification for
3963 Ada 2012.
3964
39652011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
3966
3967 * exp_ch4.adb (Find_Insertion_Node): New routine. Determines the proper
3968 insertion node in a tree of nested Expression_With_Actions nodes.
3969 (Process_Transient_Object): In the case where a complex if statement
3970 has been converted into nested Expression_With_Actions nodes, the
3971 "hook" object and the associated access type must be inserted before
3972 the top most Expression_With_Actions.
3973
516f608f
AC
39742011-09-01 Robert Dewar <dewar@adacore.com>
3975
3976 * a-cbprqu.adb, a-cbprqu.ads, a-cuprqu.adb, a-cuprqu.ads,
3977 a-cbsyqu.adb, a-cbsyqu.ads: Minor reformatting.
3978
39792011-09-01 Ed Schonberg <schonberg@adacore.com>
3980
3981 * sem_attr.adb: Conditionalize aliasing predicates to Ada2012.
3982
39832011-09-01 Jose Ruiz <ruiz@adacore.com>
3984
3985 * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the CPU
3986 aspect.
3987 * aspects.adb (Canonical_Aspect): Add entry for the CPU aspect.
3988 * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the CPU aspect
3989 in a similar way as we do for the Priority or Dispatching_Domain aspect.
3990 * s-mudido-affinity.adb (Dispatching_Domain_Tasks,
3991 Dispatching_Domains_Frozen): Move this local data to package
3992 System.Tasking because with the CPU aspect we need to have access
3993 to this data when creating the task in System.Tasking.Stages.Create_Task
3994 * s-taskin.ads (Dispatching_Domain_Tasks, Dispatching_Domains_Frozen):
3995 Move these variables from the body of
3996 System.Multiprocessors.Dispatching_Domains because with the CPU aspect
3997 we need to have access to this data when creating the task in
3998 System.Tasking.Stages.Create_Task.
3999 * s-taskin.adb (Initialize): Signal the allocation of the environment
4000 task to a CPU, if any, so that we know whether the CPU can be
4001 transferred to a different dispatching domain.
4002 * s-tassta.adb (Create_Task): Check whether the CPU to which this task
4003 is being allocated belongs to the dispatching domain where the task
4004 lives. Signal the allocation of the task to a CPU, if any, so that we
4005 know whether the CPU can be transferred to a different dispatching
4006 domain.
4007
2d42e881
ES
40082011-09-01 Ed Schonberg <schonberg@adacore.com>
4009
4010 * exp_attr.adb, sem_attr.adb, snames.ads-tmpl: Implementation of
4011 attributes Same_Storage and Overlaps_Storage.
4012
579fda56
AC
40132011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
4014
4015 * exp_strm.adb: Remove with and use clause for Opt.
4016 (Build_Array_Input_Function): Remove the version-dependent generation
4017 of the return statement. The Ada 2005 tree is now the default.
4018
40192011-09-01 Yannick Moy <moy@adacore.com>
4020
4021 * put_alfa.adb: Unconditionnally write files in Alfa section, so that
4022 it is never empty when compiling in Alfa mode.
4023
40242011-09-01 Robert Dewar <dewar@adacore.com>
4025
4026 * sem_aggr.adb, sem_ch3.adb, a-direct.adb, s-taprop-vxworks.adb,
4027 comperr.adb, exp_ch9.adb, exp_pakd.adb, sem_ch12.adb, freeze.adb,
4028 s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
4029 gnat1drv.adb, a-rbtgbo.adb, exp_dist.adb: Minor reformatting
4030
40312011-09-01 Matthew Heaney <heaney@adacore.com>
4032
4033 * Makefile.rtl, impunit.adb: Add a-csquin.ads, a-cusyqu.ad[sb],
4034 a-cuprqu.ad[sb], a-cbsyqu.ad[sb], a-cbprqu.ad[sb]
4035 * a-csquin.ads: New Ada 2012 unit that specifies the queue interface
4036 * a-cusyqu.ads, a-cusyqu.adb: New Ada 2012 unit that specifies the
4037 unbounded queue container.
4038 * a-cbsyqu.ads, a-cbsyqu.adb: New Ada 2012 unit that specifies the
4039 bounded queue container.
4040 * a-cuprqu.ads, a-cuprqu.adb: New Ada 2012 unit that specifies the
4041 unbounded priority queue container.
4042 * a-cbprqu.ads, a-cbprqu.adb: New Ada 2012 unit that specifies the
4043 bounded priority queue container.
4044
24c34107
AC
40452011-08-31 Pascal Obry <obry@adacore.com>
4046
4047 * a-direct.adb: Do not try to create an UNC path on Windows.
4048 (Create_Path): Skip leading computer name in UNC path if any.
4049
40502011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
4051
4052 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Remove the
4053 version-dependent generation of the return statement. The Ada 2005 tree
4054 is now the default.
4055
40562011-08-31 Thomas Quinot <quinot@adacore.com>
4057
4058 * rtsfind.ads, exp_dist.adb (Find_Numeric_Representation): Predefined
4059 types Stream_Element_Offset and Storage_Offset have a different native
4060 type depending on whether the platform is 32 or 64 bits. When
4061 exchanging them, always convert to 64 bits.
4062
40632011-08-31 Yannick Moy <moy@adacore.com>
4064
4065 * debug.adb: Reserve debug option -gnatd.E for passing gnatprove option
4066 --force-alfa to gnat2why.
4067
40682011-08-31 Ed Schonberg <schonberg@adacore.com>
4069
4070 * sem_ch12.adb (Save_References): If the node has aspects, save
4071 references within the corresponding expressions in a separate step,
4072 because the aspects are not directly in the tree for the declaration
4073 to which they belong.
4074
40752011-08-31 Arnaud Charlet <charlet@adacore.com>
4076
4077 * freeze.adb (Freeze_Record_Type): Omit test on variable size component
4078 in CodePeer mode, since representation clauses are partially ignored.
4079 * gcc-interface/Make-lang.in: Update dependencies.
4080
702d2020
AC
40812011-08-31 Jose Ruiz <ruiz@adacore.com>
4082
4083 * s-taprop-vxworks.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
4084 s-taprop-solaris.adb (Create_Task): Not_A_Specific_CPU can be assigned
4085 to any dispatching domain.
4086
40872011-08-31 Thomas Quinot <quinot@adacore.com>
4088
4089 * exp_ch4.adb: Minor reformatting.
4090
40912011-08-31 Bob Duff <duff@adacore.com>
4092
4093 * sem_ch6.adb (Get_Generic_Parent_Type): Don't query Subtype_Indication
4094 on nodes for which it is not defined.
4095 (Is_Non_Overriding_Operation): Exit the loop when we find a generic
4096 parent type.
4097
40982011-08-31 Bob Duff <duff@adacore.com>
4099
4100 * sem_ch3.adb (Process_Full_View): Disable legality check if
4101 In_Instance, to avoid spurious errors.
4102 * sem_ch12.adb (Validate_Derived_Type_Instance): Disable legality check
4103 if In_Instance, to avoid spurious errors.
4104
41052011-08-31 Pascal Obry <obry@adacore.com>
4106
4107 * a-direct.adb: Use Dir_Seps everywhere to properly handle all
4108 directory speparators.
4109 (Compose): Use Dir_Seps to handle both forms.
4110 (Create_Path): Use Dir_Seps instead of explicit check, no semantic
4111 changes.
4112 (Extension): Use Dir_Seps to handle both forms.
4113
41142011-08-31 Pascal Obry <obry@adacore.com>
4115
4116 * prj-conf.adb: Minor reformatting.
4117
67645bde
AC
41182011-08-31 Jose Ruiz <ruiz@adacore.com>
4119
4120 * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the
4121 dispatching domain aspect.
4122 * aspects.adb (Canonical_Aspect): Add entry for the dispatching domain
4123 aspect.
4124 * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the
4125 Dispatching_Domain aspect in a similar way as we do for the Priority
4126 aspect.
4127 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Add the
4128 Dispatching_Domain component if a Dispatching_Domain pragma or aspect
4129 is present.
4130 (Make_Task_Create_Call): Add the Dispatching_Domain when creating a task
4131 * par-prag.adb (Prag): Add Pragma_Dispatching_Domain as a known pragma.
4132 * sem_prag.adb (Analyze_Pragma): Check the correctness of a pragma
4133 Dispatching_Domain and add it to the task definition.
4134 (Sig_Flags): Add Pragma_Dispatching_Domain.
4135 * rtsfind.ads, rtsfind.adb (RTU_Id, RE_Id, Get_Unit_Name): Add the
4136 support to find the types Dispatching_Domain and
4137 Dispatching_Domain_Access.
4138 * sinfo.ads, sinfo.adb (Has_Pragma_Dispatching_Domain,
4139 Set_Has_Pragma_Dispatching_Domain): Add these subprograms to set and
4140 query the availability of a pragma Dispatching_Domain.
4141 * snames.ads-tmpl (Name_uDispatching_Domain): Add this name required by
4142 the expander to pass the Dispatching_Domain when creating a task.
4143 (Name_Dispatching_Domain): Add this new name for a pragma.
4144 (Pragma_Id): Add the new Pragma_Dispatching_Domain.
4145 * s-tassta.ads, s-tassta.adb (Create_Task): Set the domain to which the
4146 task has been allocated at creation time.
4147 * s-tarest.adb (Create_Restricted_Task): The dispatching domain using
4148 Ravenscar is always null.
4149 * s-taskin.ads, s-taskin.adb (Initialize_ATCB): Set the domain to which
4150 the task has been allocated at creation time.
4151 * s-tporft.adb (Register_Foreign_Thread): A foreign task will not have
4152 a specific dispatching domain.
4153 * s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-vxworks.adb,
4154 s-taprop-mingw.adb (Create_Task): Check whether both Dispatching_Domain
4155 and CPU are specified for the task, and the CPU value is not contained
4156 within the range of processors for the domain.
4157
41582011-08-31 Vincent Celier <celier@adacore.com>
4159
4160 * make.adb (Original_Gcc) : New constant String_Access.
4161 (Gnatmake): For VM targets, do not use VM version of the compiler if
4162 --GCC= has been specified.
4163
41642011-08-31 Thomas Quinot <quinot@adacore.com>
4165
4166 * sem_ch5.adb: Minor reformatting.
4167
41682011-08-31 Ed Schonberg <schonberg@adacore.com>
4169
4170 * exp_pakd.adb (Convert_To_PAT_Type): If prefix is a function call, do
4171 not reanalyze it.
4172
41732011-08-31 Bob Duff <duff@adacore.com>
4174
4175 * exp_ch4.adb (Expand_N_Selected_Component): Use the full type, in case
4176 the access type is private; we don't care about privacy in expansion.
4177
41782011-08-31 Ed Schonberg <schonberg@adacore.com>
4179
4180 * sem_aggr.adb (Resolve_Aggregate): In an instance, ignore aggregate
4181 subcomponents tnat may be limited, because they originate in view
4182 conflicts. If the original aggregate is legal and the actuals are
4183 legal, the aggregate itself is legal.
4184
b8789727
AC
41852011-08-31 Matthew Heaney <heaney@adacore.com>
4186
4187 * a-rbtgbo.adb (Clear_Tree): Assert representation invariant for lock
4188 status.
4189
41902011-08-31 Ed Schonberg <schonberg@adacore.com>
4191
4192 * sem_ch5.adb: Set kind of loop parameter properly, to preserve all
4193 errors in B tests.
4194
41952011-08-31 Jose Ruiz <ruiz@adacore.com>
4196
4197 * sem_ch13.adb (Analyze_Aspect_Specifications): For the Priority and
4198 Interrupt_Priority aspects, force the analysis of the aspect expression
4199 (when building the equivalent pragma). Otherwise, its analysis is done
4200 too late, after the task or protected object has been created.
4201 * sem_ch9.adb (Analyze_Single_Protected_Declaration,
4202 Analyze_Single_Task_Declaration): Remove the code to move the aspects
4203 to the object declaration because they are needed in the type
4204 declaration.
4205
e0c32166
AC
42062011-08-31 Robert Dewar <dewar@adacore.com>
4207
4208 * exp_ch5.adb, exp_ch7.ads, sem_ch5.adb, put_scos.adb, s-rannum.adb,
4209 a-rbtgbo.adb, exp_intr.adb, a-cbdlli.adb, a-cbdlli.ads: Minor
4210 reformatting.
4211
42122011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
4213
4214 * exp_util.adb (Find_Protection_Type): Do not look for fields _object
4215 if the corresponding type is malformed due to restriction violations.
4216
42172011-08-31 Robert Dewar <dewar@adacore.com>
4218
4219 * s-ransee.ads, s-ransee.adb: Minor reformatting.
4220
42212011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
4222
4223 * exp_ch4.adb (Expand_N_Allocator): Correct faulty condition which
4224 would cause the generation of Set_Finalize_Address if the target is a
4225 VM and the designated type is not derived from [Limited_]Controlled.
4226
42272011-08-31 Arnaud Charlet <charlet@adacore.com>
4228
4229 * comperr.adb, comperr.ads, gnat1drv.adb (Delete_SCIL_Files): New
4230 subprogram.
4231 (Compiler_Abort, Gnat1drv): Call Delete_SCIL_Files in codepeer mode in
4232 case of a compilation error.
4233
42342011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
4235
4236 * init.c (__gnat_error_handler): Standardize the stack overflow or
4237 erroneous memory access message.
4238 * seh_init.c (__gnat_SEH_error_handler): Standardize the stack overflow
4239 or erroneous memory access message.
4240
11bc76df
AC
42412011-08-31 Robert Dewar <dewar@adacore.com>
4242
4243 * sem_ch4.adb: Minor reformatting.
4244 * sem_ch6.adb: Minor code reorganization (use Ekind_In).
4245
42462011-08-31 Thomas Quinot <quinot@adacore.com>
4247
4248 * scos.ads: Minor documentation clarification.
4249 * put_scos.adb: Do not generate SCO unit header line for a unit that
4250 has no SCO lines.
4251
876d4394
RD
42522011-08-31 Robert Dewar <dewar@adacore.com>
4253
4254 * a-rbtgbo.adb, alfa_test.adb: Minor reformatting.
4255
36b8f95f
AC
42562011-08-31 Tristan Gingold <gingold@adacore.com>
4257
4258 * exp_ch7.ads, exp_ch7.adb (Finalization_Exception_Data): New type to
4259 hold variables between these following subprograms.
4260 (Build_Exception_Handler, Build_Object_Declarations,
4261 Build_Raise_Statement): Use the above type as parameter.
4262 Make the above adjustments.
4263 * exp_intr.adb (Expand_Unc_Deallocation): Adjust.
4264
42652011-08-31 Pascal Obry <obry@adacore.com>
4266
4267 * projects.texi: Minor reformatting.
4268
42692011-08-31 Tristan Gingold <gingold@adacore.com>
4270
4271 * s-ransee.ads, s-ransee.adb: Add system.random_seed unit.
4272 * s-rannum.adb (Reset): Use Get_Seed from s-ransee.
4273
42742011-08-31 Ed Schonberg <schonberg@adacore.com>
4275
4276 * exp_ch5.adb: Minor code cleanup.
4277 * sem_ch5.adb (Analyze_Iteration_Scheme): Set ekind of loop variable to
4278 prevent cascaded errors.
4279 (Analyze_Loop_Statement): In semantics-only mode, introduce loop
4280 variable of an iterator specification in current scope.
4281 * sem_ch6.adb (Analyze_Return_Statement, Find_what_It_Apples_To): Skip
4282 postconditions on the stack, as they contain no return statements.
4283
42842011-08-31 Yannick Moy <moy@adacore.com>
4285
4286 * exp_alfa.adb (Expand_Alfa_N_Package_Declaration,
4287 Expand_Alfa_N_Subprogram_Body): Remove useless procedures which simply
4288 call Qualify_Entity_Names.
4289 (Expand_Alfa): call Qualify_Entity_Names in more cases
4290 * lib-xref-alfa.adb: Take into account system package.
4291 * sem_prag.adb Take into account restrictions in Alfa mode, contrary to
4292 CodePeer mode in which we are interested in finding bugs even if
4293 compiler cannot compile source.
4294 * sem_util.adb, sem_util.ads (Unique_Entity): Take into account case of
4295 deferred constant.
4296
42972011-08-31 Gary Dismukes <dismukes@adacore.com>
4298
4299 * sem_ch3.adb (Constrain_Concurrent): Retrieve Base_Type of the subtype
4300 denoted by the subtype mark to ensure getting the concurrent type in
4301 the case where the subtype mark denotes a private subtype of a
4302 concurrent type (needed when using -gnatc).
4303 (Process_Subtype): For the processing specific to type kinds, case on
4304 the Base_Type kind of the Subtype_Mark_Id, to handle cases where the
4305 subtype denotes a private subtype whose base type is nonprivate (needed
4306 for subtypes of private fulfilled by task types when compiling with
4307 -gnatc).
4308
43092011-08-31 Gary Dismukes <dismukes@adacore.com>
4310
4311 * sem_disp.adb (Check_Dispatching_Operation): Bypass registration of
4312 late primitives that override interface operations when the full
4313 expander is not active, to avoid blowups in Register_Primitive when
4314 types don't have associated secondary dispatch tables.
4315
43162011-08-31 Yannick Moy <moy@adacore.com>
4317
4318 * alfa_test.adb: Code clean up.
4319
43202011-08-31 Marc Sango <sango@adacore.com>
4321
4322 * restrict.adb (Check_SPARK_Restriction): Change Comes_From_Source (N)
4323 by Comes_From_Source (Original_Node (N)) in order to treat also the
4324 nodes which have been rewritten.
4325 * sem_ch4.adb (Analyze_Explicit_Dereference, Analyze_Slice): Guard the
4326 explicit dereference and slice violation in spark mode on the nodes
4327 coming only from the source code.
4328
8cf23b91
AC
43292011-08-31 Robert Dewar <dewar@adacore.com>
4330
4331 * exp_ch5.adb, exp_alfa.ads, prj.ads, sem_attr.adb,
4332 lib-xref-alfa.adb: Minor reformatting.
4333
43342011-08-31 Matthew Heaney <heaney@adacore.com>
4335
4336 * a-crbltr.ads (Tree_Type): Default-initialize the Nodes component.
4337
43382011-08-31 Javier Miranda <miranda@adacore.com>
4339
4340 * sem_ch4.adb (Try_Object_Operation): Addition of one formal to search
4341 only for class-wide subprograms conflicting with entities of concurrent
4342 tagged types.
4343
43442011-08-31 Matthew Heaney <heaney@adacore.com>
4345
4346 * a-rbtgbo.adb (Generic_Allocate): Initialize pointer components of
4347 node to null value.
4348
43492011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
4350
4351 * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Provide a more
4352 general description of the routine.
4353
43542011-08-31 Ed Schonberg <schonberg@adacore.com>
4355
4356 * a-cbdlli.adb, a-cbdlli.ads: Add iterator machinery to bounded
4357 doubly-linked lists.
4358
0bb3bfb8
GD
43592011-08-31 Gary Dismukes <dismukes@adacore.com>
4360
4361 * exp_ch5.adb (Expand_N_Assignment_Statement): When a discriminant
4362 check is needed for a left-hand side that is a dereference, and the
4363 base type is private without discriminants (whereas the full type does
4364 have discriminants), an extra retrieval of the underlying type may be
4365 needed in the case where the subtype is a record subtype whose base
4366 type is private. Update comments.
4367
11fa950b
AC
43682011-08-31 Javier Miranda <miranda@adacore.com>
4369
4370 * sem_ch4.adb (Try_Object_Operation): When a dispatching primitive is
4371 found check if there is a class-wide subprogram covering the primitive.
4372
43732011-08-31 Yannick Moy <moy@adacore.com>
4374
4375 * sem_res.adb: Further cases where full expansion test is needed,
4376 rather than expansion test.
4377
43782011-08-31 Pascal Obry <obry@adacore.com>
4379
4380 * prj-attr.adb: Fix Source_File_Switches attribute kind (must be a list)
4381
43822011-08-31 Ed Schonberg <schonberg@adacore.com>
4383
4384 * exp_ch5.adb: Handle iterators over derived container types.
4385
43862011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
4387
4388 * einfo.ads, einfo.adb: Add new flag Has_Anonymous_Master.
4389 (Has_Anonymous_Master): New routine.
4390 (Set_Has_Anonymous_Master): New routine.
4391 (Write_Entity_Flags): Add an entry for Has_Anonymous_Master.
4392 * exp_ch4.adb: Add with and use clause for Sem_Ch8.
4393 (Current_Anonymous_Master): New routine.
4394 (Current_Unit_First_Declaration): Removed.
4395 (Current_Unit_Scope): Removed.
4396 (Expand_N_Allocator): Anonymous access-to-controlled types now chain
4397 their objects on a per-unit heterogeneous finalization master.
4398
43992011-08-31 Matthew Heaney <heaney@adacore.com>
4400
4401 * a-cbhama.adb, a-cbhase.adb (Insert): Check for zero-length buckets
4402 array.
4403
44042011-08-31 Jose Ruiz <ruiz@adacore.com>
4405
4406 * s-taprop-linux.adb (Create_Task): Avoid changing the affinity mask
4407 when not needed.
4408
44092011-08-31 Gary Dismukes <dismukes@adacore.com>
4410
4411 * sem_disp.adb (Propagate_Tag): Return without propagating in the case
4412 where the actual is an unexpanded call to 'Input.
4413
d2b4b3da
AC
44142011-08-31 Yannick Moy <moy@adacore.com>
4415
4416 * sem_ch4.adb: Code clean up.
4417
44182011-08-31 Yannick Moy <moy@adacore.com>
4419
4420 * exp_alfa.adb, exp_alfa.ads: Minor correction of copyright notice.
4421
44222011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
4423
4424 * exp_ch7.adb (Build_Array_Deep_Procs): Do not generate Deep_Finalize
4425 and TSS primitive Finalize_Address if finalization is suppressed.
4426 (Build_Record_Deep_Procs): Do not generate Deep_Finalize and TSS
4427 primitive Finalize_Address if finalization is suppressed.
4428
44292011-08-31 Jose Ruiz <ruiz@adacore.com>
4430
4431 * s-mudido-affinity.adb, s-taprop-linux.adb, s-taprop-mingw.adb,
4432 s-taprop-solaris.adb, s-taprop-vxworks.adb (Set_Task_Affinity): Make
4433 sure that the underlying task has already been created before trying
4434 to change its affinity.
4435 (Set_CPU): Use the term processor instead of CPU, as we do in
4436 Assign_Task.
4437
44382011-08-31 Vincent Celier <celier@adacore.com>
4439
4440 * prj-attr.adb: New Compiler attribute Source_File_Switches.
4441 * prj-nmsc.adb (Process_Compiler): Process attribute
4442 Source_File_Switches.
4443 * prj.ads (Language_Config): New name list component
4444 Name_Source_File_Switches.
4445 * snames.ads-tmpl (Name_Source_File_Switches): New standard name.
4446
44472011-08-31 Ed Schonberg <schonberg@adacore.com>
4448
4449 * sem_attr.adb (Analyze_Attribute, case 'Old): If prefix may be a
4450 discriminated component of an actual, expand at once to prevent
4451 ouf-of-order references with generated subtypes.
4452
44532011-08-31 Yannick Moy <moy@adacore.com>
4454
4455 * lib-xref-alfa.adb (Add_Alfa_Xrefs): Do not take into account read
4456 reference to operator in Alfa xrefs.
4457
44582011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
4459
4460 * sem_ch12.adb (Freeze_Subprogram_Body): Add code to handle the case
4461 where the parent instance was frozen before the current instance due to
4462 the presence of a source body. Update calls to Insert_After_Last_Decl.
4463 (Insert_After_Last_Decl): Renamed to Insert_Freeze_Node_For_Instance.
4464 Update the comment which illustrates the purpose of the routine.
4465 Package instances are now frozen by source bodies which appear after
4466 the instance. This ensures that entities coming from within the
4467 instance are available for use in the said bodies.
4468 (Install_Body): Add code to handle the case where the parent instance
4469 was frozen before the current instance due to the presence of a source
4470 body. Update calls to Insert_After_Last_Decl.
4471
56812278
AC
44722011-08-31 Jose Ruiz <ruiz@adacore.com>
4473
4474 * s-taprop-linux.adb (Set_Task_Affinity): Avoid the use of anonymous
4475 access types.
4476 * affinity.c (__gnat_set_affinity_mask): Declare index variable.
4477
44782011-08-31 Yannick Moy <moy@adacore.com>
4479
4480 * sem_ch8.adb (Analyze_Subprogram_Renaming): Refine expander test in
4481 full-expander test.
16c3301a
AC
4482 * alfa.adb, alfa.ads, alfa_test.adb, ali.adb, debug.adb, errout.adb,
4483 errout.ads, erroutc.adb, expander.adb, exp_ch4.adb, exp_ch7.adb,
4484 freeze.adb, get_alfa.adb, get_alfa.ads, gnat1drv.adb, lib-writ.adb,
4485 lib-writ.ads, lib-xref.adb, lib-xref.ads, lib-xref-alfa.adb, opt.adb,
4486 opt.ads, put_alfa.adb, put_alfa.ads, restrict.adb, sem_ch12.adb,
4487 sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
4488 sem_prag.adb, sem_res.adb, sem_util.adb: Minor reformatting, renaming
4489 ALFA in Alfa (we dropped acronym).
56812278
AC
4490 * einfo.adb (Primitive_Operations): Correctly return list of primitive
4491 operations in a case where it returned previously No_Elist.
4492
7cda9727
RD
44932011-08-31 Robert Dewar <dewar@adacore.com>
4494
4495 * s-taprop-vxworks.adb, sem_ch5.adb, s-taprop-tru64.adb, exp_alfa.adb,
4496 s-taprop-vms.adb, bindgen.adb, s-mudido.adb, s-mudido.ads,
4497 sem_res.adb, expander.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
4498 s-taprop-solaris.adb, s-mudido-affinity.adb, vms_conv.adb,
4499 s-taprop-irix.adb, s-taprop.ads, s-taskin.adb, s-taskin.ads,
4500 s-taprop-hpux-dce.adb, a-chtgbo.adb, s-taprop-posix.adb: Minor
4501 reformatting.
4502
0a190dfd
AC
45032011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
4504
4505 * sem_ch12 (Check_Private_View): Revert previous change.
4506 * sem_res.adb (Conversion_Check): Do not emit the error message if the
4507 conversion is in a generic instance.
4508
45092011-08-31 Matthew Heaney <heaney@adacore.com>
4510
4511 * a-cbhase.adb (Symmetric_Difference): Dereference correct node array.
4512 * a-chtgbo.adb (Free): Allow 0 as index value.
4513
45142011-08-31 Matthew Heaney <heaney@adacore.com>
4515
4516 * a-cborma.adb (Insert): Add comment to explain why no element
4517 assignment.
4518
45192011-08-31 Gary Dismukes <dismukes@adacore.com>
4520
4521 * sem_util.adb (Find_Body_Discriminal): Test whether the scope of the
4522 spec discriminant is already a concurrent type, in which case just use
4523 it, otherwise fetch the Corresponding_Concurrent_Type as before.
4524
7d266442
EB
45252011-08-30 Eric Botcazou <ebotcazou@adacore.com>
4526
4527 * system-irix-n64.ads, system-linux-armeb.ads, system-linux-armel.ads,
4528 system-linux-mips.ads, system-linux-mipsel.ads,
4529 system-linux-mips64el.ads, system-linux-ppc64.ads,
4530 system-linux-sparcv9.ads, system-rtems.ads: Remove GCC_ZCX_Support.
4531
4f1a975c
EB
45322011-08-30 Eric Botcazou <ebotcazou@adacore.com>
4533
4534 * gcc-interface/ada-tree.h (TYPE_EXTRA_SUBTYPE_P): Add internal check.
4535 * gcc-interface/utils2.c (build_binary_op): Tighten condition.
4536 (build_unary_op): Likewise.
4537
f2991b48
EB
45382011-08-30 Eric Botcazou <ebotcazou@adacore.com>
4539
4540 * raise-gcc.c: Do not include coretypes.h and tm.h.
4541 (setup_to_install): Remove test for compiler macro.
4542 * targext.c: Document use for the library.
4543 * gcc-interface/Makefile.in: Fix comment on the use of IN_GCC.
4544
10a22f43
EB
45452011-08-30 Eric Botcazou <ebotcazou@adacore.com>
4546
4547 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not convert
4548 the expression to the nominal type if the latter is a record type with
4549 a variant part and the type of the former is a record type without one.
4550
bfa2e39d
AC
45512011-08-30 Yannick Moy <moy@adacore.com>
4552
4553 * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
4554 expansion in Alfa mode.
4555 * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public
4556 * exp_alfa.adb, exp_alfa.ads: New package defining light expansion for
4557 Alfa mode.
4558 * gnat1drv.adb (Adjust_Global_Switches): Update Comment.
4559 * sem_res.adb: Ditto.
bd34109a 4560 * gcc-interface/Make-lang.in: Update dependencies.
bfa2e39d
AC
4561
45622011-08-30 Thomas Quinot <quinot@adacore.com>
4563
4564 * g-socket.ads: Minor documentation adjustment.
4565
a0347839
AC
45662011-08-30 Robert Dewar <dewar@adacore.com>
4567
4568 * exp_ch9.adb, s-tassta.adb, s-secsta.adb: Minor reformatting.
4569
45702011-08-30 Yannick Moy <moy@adacore.com>
4571
4572 * exp_ch6_light.adb, exp_ch6_light.ads, exp_attr_light.adb,
4573 exp_attr_light.ads, exp_ch7_light.adb, exp_ch7_light.ads,
4574 exp_light.adb, exp_light.ads, exp_prag.adb, expander.adb,
4575 gnat1drv.adb, exp_ch11.adb, exp_ch6.adb, exp_ch6.ads, exp_aggr.adb:
4576 Revert change which introduced files for "light"
4577 expansion, to be replaced by a single file for Alfa expansion.
4578
3597c0e9
RD
45792011-08-30 Robert Dewar <dewar@adacore.com>
4580
4581 * opt.ads, s-soflin.adb, exp_ch9.adb, sem_res.adb: Update comment.
4582 Minor code reorg/reformatting.
4583
da94696d
AC
45842011-08-30 Yannick Moy <moy@adacore.com>
4585
4586 * opt.adb, opt.ads (Full_Expander_Active): New function defines a
4587 common shorthand for (Expander_Active and not ALFA_Mode) that can be
4588 used for testing full expansion, that is active expansion not in the
4589 reduced mode for Alfa
4590 * exp_ch4.adb, exp_ch9.adb, exp_disp.adb, sem_ch10.adb, sem_ch12.adb,
4591 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Use newly defined "flag" instead
4592 of the verbose (Expander_Active and not ALFA_Mode)
4593
45942011-08-30 Tristan Gingold <gingold@adacore.com>
4595
4596 * s-parame-vms-alpha.ads, s-parame-hpux.ads, s-tassta.adb,
4597 s-tarest.adb, s-parame-vms-ia64.ads, s-soflin.adb, s-secsta.adb,
5b8ca141
TG
4598 s-secsta.ads, s-parame.ads, s-parame-vxworks.ads, s-parame-ae653.ads:
4599 Renames Ratio to Percentage, and Sec_Stack_Ratio to Sec_Stack_Percentage
da94696d 4600
c199ccf7
AC
46012011-08-30 Gary Dismukes <dismukes@adacore.com>
4602
4603 * sem_res.adb (Valid_Conversion): Revise test for implicit anonymous
4604 access conversions to check that the conversion is a rewritten node,
4605 rather than just having Comes_From_Source set to False, which wasn't
4606 sufficient.
4607
46082011-08-30 Robert Dewar <dewar@adacore.com>
4609
4610 * exp_ch9.adb, sem_ch9.adb, sem_ch6.adb, exp_disp.adb,
4611 g-socket.ads: Minor reformatting.
4612
46132011-08-30 Thomas Quinot <quinot@adacore.com>
4614
4615 * sem_util.adb: Minor reformatting.
4616
46172011-08-30 Tristan Gingold <gingold@adacore.com>
4618
4619 * raise-gcc.c: Never catch exception if _UA_FORCE_UNWIND flag is set,
4620 to be compliant with the ABI.
4621
dff99e1a
AC
46222011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
4623
4624 * sem_ch12.adb (Check_Private_View): Exchange the private and full view
4625 of a designated type when the related access type is an actual in an
4626 instance. This ensures that the full view of designated type is
4627 available when inside the body of the instance.
4628
46292011-08-30 Ed Schonberg <schonberg@adacore.com>
4630
4631 * sem_util.adb (May_Be_Lvalue): To determine whether a reference may be
4632 in a position to be modified, a slice is treated like an indexed
4633 component.
4634
63be2a5a
AC
46352011-08-30 Thomas Quinot <quinot@adacore.com>
4636
4637 * s-oscons-tmplt.c, g-socket.ads: Adjust maximum allowed value for
4638 field tv_sec in struct timeval.
4639
46402011-08-30 Yannick Moy <moy@adacore.com>
4641
4642 * exp_ch9.adb, exp_disp.adb, sem_ch9.adb, sem_res.adb: Protect several
4643 blocks of code doing full expansion, previously only guarded by
4644 Expander_Active, by anding the test that ALFA_Mode is not set
4645
46462011-08-30 Ed Schonberg <schonberg@adacore.com>
4647
4648 * sem_ch6.adb (Analyze_Return_Type): If the return type is incomplete,
4649 add the function to the list of private dependents, for subsequent
4650 legality check on Taft amendment types.
4651 * sem_ch12.adb (Analyze_Formal_Incomplete_Type): Initialize
4652 Private_Dependents, as for other incomplete types.
4653 * sem_util.adb (Wrong_Type): Avoid cascaded errors when a
4654 Taft-amendment type is used as the return type of a function.
4655
dd54644b
JM
46562011-08-30 Javier Miranda <miranda@adacore.com>
4657
4658 * sem_ch3.adb (Check_Abstract_Overriding): Code cleanup: replace code
4659 which emits an error by a call to a new routine which report the error.
4660 * exp_ch9.adb (Build_Wrapper_Spec): Build the wrapper even if the
4661 entity does not cover an existing interface.
4662 * errout.ads, errout.adb (Error_Msg_PT): New routine. Used to factorize
4663 code.
4664 * sem_ch6.adb (Check_Conformance): Add specific error for wrappers of
4665 protected procedures or entries whose mode is not conformant.
4666 (Check_Synchronized_Overriding): Code cleanup: replace code which emits
4667 an error by a call to a new routine which report the error.
4668
d3ba478e
AC
46692011-08-30 Robert Dewar <dewar@adacore.com>
4670
4671 * gnat_rm.texi: Minor change.
4672 * exp_attr_light.adb: Minor reformatting.
4673
46742011-08-30 Ed Schonberg <schonberg@adacore.com>
4675
4676 * sem_ch3.adb: Patch inheritance of aspects in
4677 Complete_Private_Subtype, to avoid infinite loop.
4678
c01817d2
AC
46792011-08-30 Javier Miranda <miranda@adacore.com>
4680
4681 * sem_ch3.adb (Add_Internal_Interface_Entities): If serious errors have
4682 been reported and a subprogram covering an interface primitive is not
4683 found then skip generating the internal entity. Done to avoid crashing
4684 the frontend.
4685 (Check_Abstract_Overriding): Change text of error of wrong formal of
4686 protected subprogram or entry. Done for consistency to emit exactly the
4687 same error reported by Check_Synchronized_Overriding. In addition, the
4688 error is restricted to protected types (bug found working on AI05-0090)
4689
46902011-08-30 Yannick Moy <moy@adacore.com>
4691
4692 * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
4693 expansion in Alfa mode.
4694 * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public.
4695 * exp_light.adb, exp_light.ads: New package defining light expansion.
4696 * expander.adb (Expand): Call light expansion in Alfa mode
4697 * exp_ch6_light.adb, exp_ch6_light.ads: Light expansion of chapter 6
4698 constructs.
4699 * exp_ch7_light.adb, exp_ch7_light.ads: Light expansion of chapter 7
4700 constructs.
4701 * exp_attr_light.adb, exp_attr_light.ads: Light expansion of attributes
4702 * gnat1drv.adb (Adjust_Global_Switches): Comment
4703
47042011-08-30 Yannick Moy <moy@adacore.com>
4705
4706 * lib-xref-alfa.adb: Minor refactoring.
4707
47082011-08-30 Yannick Moy <moy@adacore.com>
4709
4710 * exp_ch9.adb (Expand_Entry_Barrier): Do not perform expansion in Alfa
4711 mode.
4712 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not perform
4713 expansion in Alfa mode.
4714 * sem_ch9.adb (Analyze_Entry_Body): Do not perform expansion in Alfa
4715 mode.
4716
47172011-08-30 Robert Dewar <dewar@adacore.com>
4718
4719 * debug_a.adb: Update comment.
4720
996c8821
RD
47212011-08-30 Robert Dewar <dewar@adacore.com>
4722
4723 * exp_ch5.adb, sem_ch3.adb, sem_ch5.adb, einfo.adb, checks.adb,
4724 sem_util.adb, sem_util.ads, sem_res.adb, s-stposu.adb, sem_attr.adb,
4725 exp_ch4.adb, exp_ch6.adb, lib-xref-alfa.adb,
4726 sem_ch8.adb, sem_disp.adb, exp_ch3.adb: Minor reformatting
4727
47282011-08-30 Robert Dewar <dewar@adacore.com>
4729
4730 * gnat_rm.texi: Add section on C.6(16) implementation advice for pragma
4731 volatile.
4732
3647ca26
HK
47332011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
4734
4735 * exp_ch3.adb (Expand_Freeze_Array_Type): Correct the call to
4736 Build_Finalization_Master by supplying an insertion node and enclosing
4737 scope. In its old version, the call did not generate a finalization
4738 master.
4739 (Expand_Freeze_Record_Type): Add local variable Has_AACC. Add code to
4740 recognize anonymous access-to-controlled components. Rewrite the
4741 machinery which creates finalization masters to service anonymous
4742 access-to-controlled components of a record type. In its current state,
4743 only one heterogeneous master is necessary to handle multiple anonymous
4744 components.
4745 (Freeze_Type): Comment reformatting.
4746 * rtsfind.ads: Add RE_Set_Is_Heterogeneous to tables RE_Id and
4747 RE_Unit_Table.
4748 * s-stposu.adb (Allocate_Any_Controlled): Rewrite the machinery which
4749 associates TSS primitive Finalize_Address with either the master itself
4750 or with the internal hash table depending on the mode of operation of
4751 the master.
4752
6d4e4fbc
JM
47532011-08-30 Javier Miranda <miranda@adacore.com>
4754
4755 * exp_ch3.adb (Make_Eq_If): If the etype of the _parent component is an
4756 interface type then do not generate code to compare this component.
4757 Required since they have no components and their equality operator is
4758 abstract.
4759
d15f9422
AC
47602011-08-30 Steve Baird <baird@adacore.com>
4761
4762 * sem_util.ads (Deepest_Type_Access_Level): New function; for the type
4763 of a saooaaat (i.e, a stand-alone object of an anonymous access type),
4764 returns the (static) accessibility level of the object. Otherwise, the
4765 same as Type_Access_Level.
4766 (Dynamic_Accessibility_Level): New function; given an expression which
4767 could occur as the rhs of an assignment to a saooaaat (i.e., an
4768 expression of an access-to-object type), return the new value for the
4769 saooaaat's associated Extra_Accessibility object.
4770 (Effective_Extra_Accessibility): New function; same as
4771 Einfo.Extra_Accessibility except that object renames are looked through.
4772 * sem_util.adb
4773 (Deepest_Type_Access_Level): New function; see sem_util.ads description.
4774 (Dynamic_Accessibility_Level): New function; see sem_util.ads
4775 description.
4776 (Effective_Extra_Accessibility): New function; see sem_util.ads
4777 description.
4778 * einfo.ads (Is_Local_Anonymous_Access): Update comments.
4779 (Extra_Accessibility): Update comments.
4780 (Init_Object_Size_Align): New procedure; same as Init_Size_Align
4781 except RM_Size field (which is only for types) is unaffected.
4782 * einfo.adb
4783 (Extra_Accessibility): Expand domain to allow objects, not just formals.
4784 (Set_Extra_Accessibility): Expand domain to allow objects, not just
4785 formals.
4786 (Init_Size): Add assertion that we are not trashing the
4787 Extra_Accessibility attribute of an object.
4788 (Init_Size_Align): Add assertion that we are not trashing the
4789 Extra_Accessibility attribute of an object.
4790 (Init_Object_Size_Align): New procedure; see einfo.ads description.
4791 * sem_ch3.adb (Find_Type_Of_Object): Set Is_Local_Anonymous_Access
4792 differently for the type of a (non-library-level) saooaaat depending
4793 whether Ada_Version < Ada_2012. This is the only point where Ada_Version
4794 is queried in this set of changes - everything else (in particular,
4795 setting of the Extra_Accessibility attribute in exp_ch3.adb) is
4796 driven off of the setting of the Is_Local_Anonymous_Access attribute.
4797 The special treatment of library-level saooaaats is an optimization,
4798 not required for correctnesss. This is based on the observation that the
4799 Ada2012 rules (static and dynamic) for saooaaats turn out to be
4800 equivalent to the Ada2005 rules in the case of a library-level saooaaat.
4801 * exp_ch3.adb
4802 (Expand_N_Object_Declaration): If Is_Local_Anonymous_Access is
4803 false for the type of a saooaaat, declare and initialize its
4804 accessibility level object and set the Extra_Accessibility attribute
4805 of the saooaaat to refer to this object.
4806 * checks.adb (Apply_Accessibility_Check): Add Ada 2012 saooaaat support.
4807 * exp_ch4.adb (Expand_N_In): Replace some Extra_Accessibility calls with
4808 calls to Effective_Extra_Accessibility in order to support
4809 renames of saooaaats.
4810 (Expand_N_Type_Conversion): Add new local function,
4811 Has_Extra_Accessibility, and call it when determining whether an
4812 accessibility check is needed.
4813 It returns True iff Present (Effective_Extra_Accessibility (Id)) would
4814 evaluate to True (without raising an exception).
4815 * exp_ch5.adb
4816 (Expand_N_Assignment_Statement): When assigning to an Ada2012
4817 saooaaat, update its associated Extra_Accessibility object (if
4818 it has one). This includes an accessibility check.
4819 * exp_ch6.adb (Add_Call_By_Copy_Code): When parameter copy-back updates
4820 a saooaaat, update its Extra_Accessibility object too (if it
4821 has one).
4822 (Expand_Call): Replace a couple of calls to Type_Access_Level
4823 with calls to Dynamic_Access_Level to handle cases where
4824 passing a literal (any literal) is incorrect.
4825 * sem_attr.adb (Resolve_Attribute): Handle the static accessibility
4826 checks associated with "Saooaat := Some_Object'Access;"; this must
4827 be rejected if Some_Object is declared in a more nested scope
4828 than Saooaat.
4829 * sem_ch5.adb (Analyze_Assignment): Force accessibility checking for an
4830 assignment to a saooaaat even if Is_Local_Anonymous_Access
4831 returns False for its type (indicating a 2012-style saooaaat).
4832 * sem_ch8.adb
4833 (Analyze_Object_Renaming): Replace a call to Init_Size_Align
4834 (which is only appropriate for objects, not types) with a call
4835 of Init_Object_Size_Align in order to avoid trashing the
4836 Extra_Accessibility attribute of a rename (the two attributes
4837 share storage).
4838 * sem_res.adb
4839 (Valid_Conversion) Replace six calls to Type_Access_Level with
4840 calls to Deepest_Type_Access_Level. This is a bit tricky. For an
4841 Ada2012 non-library-level saooaaat, the former returns library level
4842 while the latter returns the (static) accessibility level of the
4843 saooaaat. A type conversion to the anonymous type of a saooaaat
4844 can only occur as part of an assignment to the saooaaat, so we
4845 know that such a conversion must be in a lhs context, so Deepest
4846 yields the result that we need. If such a conversion could occur,
4847 say, as the operand of an equality operator, then this might not
4848 be right. Also add a test so that static accessibilty checks are
4849 performed for converting to a saooaaat's type even if
4850 Is_Local_Anonymous_Access yields False for the type.
4851
48522011-08-30 Javier Miranda <miranda@adacore.com>
4853
4854 * sem_disp.adb (Check_Dispatching_Operation): Complete condition that
4855 controls generation of a warning associated with late declaration of
4856 dispatching functions. Required to avoid generating spurious
4857 warnings.
4858
6cce2156
GD
48592011-08-30 Gary Dismukes <dismukes@adacore.com>
4860
4861 * sem_ch6.adb (Check_Return_Subtype_Indication): Issue error if the
4862 return object has an anonymous access type and the function's type is
4863 a named access type.
4864 * sem_ch8.adb (Analyze_Object_Renaming): Suppress error about renaming
4865 conversions on implicit conversions, since such conversions can occur
4866 for anonymous access cases due to expansion. Issue error for attempt
4867 to rename an anonymous expression as an object of a named access type.
4868 * sem_res.ads (Valid_Conversion): Add defaulted parameter Report_Errs,
4869 to indicate whether this function should report errors on invalid
4870 conversions.
4871 * sem_res.adb (Resolve): For Ada 2012, in the case where the type of
4872 the expression is of an anonymous access type and the expected type is
4873 a named general access type, rewrite the expression as a type
4874 conversion, unless this is an expression of a membership test.
4875 (Valid_Conversion.Error_Msg_N): New procedure that conditions the
4876 calling of Error_Msg_N on new formal Report_Errs.
4877 (Valid_Conversion.Error_Msg_NE): New procedure that conditions the
4878 calling of Error_Msg_NE on new formal Report_Errs.
4879 (Valid_Conversion): Move declaration of this function to the package
4880 spec, to allow calls from membership test processing. For Ada 2012,
4881 enforce legality restrictions on implicit conversions of anonymous
4882 access values to general access types, disallowing such conversions in
4883 cases where the expression has a dynamic accessibility level (access
4884 parameters, stand-alone anonymous access objects, or a component of a
4885 dereference of one of the first two cases).
4886 * sem_type.adb (Covers): For Ada 2012, allow an anonymous access type
4887 in the context of a named general access expected type.
4888 * exp_ch4.adb Add with and use of Exp_Ch2.
4889 (Expand_N_In): Add processing for membership tests applied to
4890 expressions of an anonymous access type. First, Valid_Conversion is
4891 called to check whether the test is statically False, and then the
4892 conversion is expanded to test that the expression's accessibility
4893 level is no deeper than that of the tested type. In the case of
4894 anonymous access-to-tagged types, a tagged membership test is applied
4895 as well.
4896 (Tagged_Membership): Extend to handle access type cases, applying the
4897 test to the designated types.
4898 * exp_ch6.adb (Expand_Call): When creating an extra actual for an
4899 accessibility level, and the actual is a 'Access applied to a current
4900 instance, pass the accessibility level of the type of the current
4901 instance rather than applying Object_Access_Level to the prefix. Add a
4902 ??? comment, since this level isn't quite right either (will eventually
4903 need to pass an implicit level parameter to init procs).
4904
747de90b
AC
49052011-08-30 Bob Duff <duff@adacore.com>
4906
4907 * s-taskin.ads: Minor comment fix.
4908
49092011-08-30 Ed Schonberg <schonberg@adacore.com>
4910
4911 * sem_res.adb (Check_Parameterless_Call): If the node is a selected
4912 component and the selector is a dispatching operation, check if it is
4913 a prefixed call before rewriting as a parameterless function call.
4914
cdc4cc65
JJ
49152011-08-29 Jakub Jelinek <jakub@redhat.com>
4916
4917 * gcc-interface/Makefile.in (../stamp-gnatlib1-$(RTSDIR)): Copy
4918 tsystem.h into $(RTSDIR) instead of rts.
4919
226a7fa4
AC
49202011-08-29 Robert Dewar <dewar@adacore.com>
4921
4922 * sem_ch10.adb, a-coorse.adb, exp_dist.adb, exp_ch3.adb: Minor
4923 reformatting.
4924 * gcc-interface/Make-lang.in: Update dependencies.
4925
49262011-08-29 Yannick Moy <moy@adacore.com>
4927
4928 * alfa.ads (Name_Of_Heap_Variable): New constant name.
4929 * lib-xref-alfa.adb, lib-xref.adb, lib-xref.ads (Drefs): New global
4930 table to hold dereferences.
4931 (Add_ALFA_Xrefs): Take into account dereferences as special
4932 reads/writes to the variable "HEAP".
4933 (Enclosing_Subprogram_Or_Package): Move subprogram here.
4934 (Generate_Dereference): New procedure to store a read/write dereferencew
4935 in the table Drefs.
4936 * put_alfa.adb (Put_ALFA): Use different default than (0,0) used for
4937 the special "HEAP" var.
4938 * sem_ch4.adb (Analyze_Explicit_Dereference): Store read dereference
4939 in ALFA mode.
4940 * sem_util.adb (Note_Possible_Modification): Store write dereference
4941 in ALFA mode.
4942
dfbcb149
HK
49432011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
4944
4945 * exp_ch3.adb (Freeze_Type): Generate an accessibility check which
4946 ensures that the level of the subpool access type is not deeper than
4947 that of the pool object.
4948 * sem_util.adb (Object_Access_Level): Expand to handle defining
4949 identifiers.
4950 * sem_res.adb (Resolve_Allocator): Add a guard to avoid examining the
4951 subpool handle name of a rewritten allocator.
4952
1df4f514
AC
49532011-08-29 Robert Dewar <dewar@adacore.com>
4954
4955 * impunit.adb, exp_ch4.adb, s-finmas.adb: Minor reformatting.
4956
49572011-08-29 Thomas Quinot <quinot@adacore.com>
4958
4959 * exp_dist.adb (TC_Rec_Add_Process_Element): For a choice with multiple
4960 values, we generate multiple triples of parameters in the TypeCode.
4961 Bump Choice_Index for each such triple so that a subsequent default
4962 choice is associated with the correct index in the typecode.
4963
49642011-08-29 Ed Schonberg <schonberg@adacore.com>
4965
4966 * a-cdlili.adb (Iterate): Initialize properly an iterator over a null
4967 container.
4968 (First, Last): Handle properly an iterator over a null container.
4969
49702011-08-29 Bob Duff <duff@adacore.com>
4971
4972 * sem_ch10.adb (Analyze_With_Clause,Install_Withed_Unit): Abandon
4973 processing if we run across a node with no Scope. This can happen if
4974 we're with-ing an library-level instance, and that instance got errors
4975 that caused "instantiation abandoned".
4976 * sem_util.adb (Unit_Declaration_Node): Make it more robust, by raising
4977 an exception instead of using Assert, so it won't go into an infinite
4978 loop, even when assertions are turned off.
4979
49802011-08-29 Ed Schonberg <schonberg@adacore.com>
4981
4982 * a-coorse.adb: Proper handling of empty ordered sets.
4983
14f0f659
AC
49842011-08-29 Johannes Kanig <kanig@adacore.com>
4985
4986 * debug.adb: Add comments.
4987
8027b455
AC
49882011-08-29 Thomas Quinot <quinot@adacore.com>
4989
4990 * a-except.adb, a-except-2005.adb: Minor comment rewording and
4991 reformatting.
4992
49932011-08-29 Yannick Moy <moy@adacore.com>
4994
4995 * sem_ch3.adb (Array_Type_Declaration): Remove insertion of
4996 declaration for Itypes in Alfa mode.
4997
d85fd922
AC
49982011-08-29 Robert Dewar <dewar@adacore.com>
4999
5000 * a-cdlili.ads, a-coinve.ads, a-coorma.adb, a-coorma.ads, s-tassta.adb,
5001 a-cborma.adb, a-cborma.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
5002 a-cborse.ads, a-cobove.adb, a-cobove.ads, a-cbhase.ads: Minor
5003 reformatting.
5004
50052011-08-29 Tristan Gingold <gingold@adacore.com>
5006
5007 * exp_ch7.adb, exp_ch7.ads (Build_Exception_Handler): Move its spec to
5008 package spec.
5009 * exp_intr.adb (Expand_Unc_Deallocation): Use Build_Exception_Handler.
5010 * a-except.adb, a-except-2005.adb (Rcheck_22): Do not defer aborts
5011 while raising PE.
5012
fd3d2680
AC
50132011-08-29 Robert Dewar <dewar@adacore.com>
5014
5015 * a-cbhama.adb, a-cbhama.ads: Minor reformatting.
5016
50172011-08-29 Javier Miranda <miranda@adacore.com>
5018
5019 * sem_ch8.adb (Analyze_Subprogram_Renaming): Complete support for
5020 renamings of formal subprograms when the actual for a formal type is
5021 class-wide.
5022
dfbf013f
MH
50232011-08-29 Matthew Heaney <heaney@adacore.com>
5024
5025 * a-cbhama.ads, a-cbhase.ads (Move): Clear Source following assignment
5026 to Target.
5027
50282011-08-29 Matthew Heaney <heaney@adacore.com>
5029
5030 * a-cborma.ads, a-cborse.ads (Cursor): Default-initialize all
5031 components of record type.
5032 * a-cborma.adb, a-cborse.adb (Move): Clear Source following assignmentw
5033 to Target.
5034
a6dd3a54
ES
50352011-08-29 Ed Schonberg <schonberg@adacore.com>
5036
5037 * a-cbhama.adb, a-cbhama.ads, a-cborma.adb, a-cborma.ads, a-cobove.adb,
5038 a-cobove.ads, a-coorma.adb, a-coorma.ads: Add iterator machinery to
5039 container packages.
5040
c54796e0
AC
50412011-08-29 Robert Dewar <dewar@adacore.com>
5042
5043 * sem_ch3.adb, sem_util.adb, gnat1drv.adb, s-parint.ads: Minor
5044 reformatting.
5045
50462011-08-29 Matthew Heaney <heaney@adacore.com>
5047
5048 * a-cbhama.ads, a-cbhase.ads (Cursor): Default-initialize all
5049 components of record type.
5050
50512011-08-29 Bob Duff <duff@adacore.com>
5052
5053 * s-tassta.adb (Task_Wrapper): Handle and ignore exceptions propagated
5054 by the termination handler.
5055
9fd9d2be
AC
50562011-08-29 Yannick Moy <moy@adacore.com>
5057
5058 * sem_ch3.adb (Array_Type_Declaration): Create declarations for Itypes
5059 created in Alfa mode, instead of inserting artificial declarations of
5060 non-Itypes in the tree.
5061 * sem_util.adb, sem_util.ads (Itype_Has_Declaration): New function to
5062 know if an Itype has a corresponding declaration, as defined in
5063 itypes.ads.
5064
50652011-08-29 Yannick Moy <moy@adacore.com>
5066
5067 * gnat1drv.adb: Minor rewrite.
5068
50692011-08-29 Bob Duff <duff@adacore.com>
5070
5071 * s-tasuti.adb (Make_Passive): Work around race condition in
5072 Make_Independent, which can cause Wait_Count to be zero. So instead of
5073 asserting that Wait_Count > 0, and then decrementing it, decrement it
5074 only if Wait_Count > 0.
5075 * s-taskin.ads (Wait_Count, Alive_Count, Awake_Count): All of these
5076 should be nonnegative, so declare them Natural instead of Integer.
5077
833eaa8a
AC
50782011-08-29 Robert Dewar <dewar@adacore.com>
5079
5080 * exp_ch5.adb, sem_ch3.adb, a-cihama.adb, a-cihama.ads, exp_ch7.adb,
5081 sem_ch5.adb, a-ciorse.adb, a-ciorse.ads, sem_ch12.adb, a-cidlli.adb,
5082 a-cidlli.ads, sem_util.adb, sem_res.adb, gnat1drv.adb, a-except.adb,
5083 a-except.ads, a-except-2005.ads, sem_ch4.adb, exp_disp.adb,
5084 exp_aggr.adb, sem_ch13.adb, par-ch3.adb: Minor reformatting.
5085
50862011-08-29 Tristan Gingold <gingold@adacore.com>
5087
5088 * s-auxdec-vms-alpha.adb: Add comments, remove some HT before labels.
5089
50902011-08-29 Vadim Godunko <godunko@adacore.com>
5091
5092 * s-parint.ads: Minor comment clarification.
5093
50942011-08-29 Vincent Celier <celier@adacore.com>
5095
5096 * prj.adb (Initialize): Make sure that new reserved words after Ada 95
5097 may be used as identifiers.
5098
50992011-08-29 Ed Schonberg <schonberg@adacore.com>
5100
5101 * a-coinho.ads: Minor reformating.
5102
3a613a36
AC
51032011-08-29 Ed Schonberg <schonberg@adacore.com>
5104
5105 * exp_ch5.adb (Expand_Iterator_Loop): Handle properly a loop over a
5106 container of a derived type.
5107
3a613a36
AC
51082011-08-29 Ed Schonberg <schonberg@adacore.com>
5109
5110 * a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads,
5111 a-ciorse.adb, a-ciorse.ads: Add iterator machinery to containers.
5112
14848f57
AC
51132011-08-29 Pascal Obry <obry@adacore.com>
5114
5115 * exp_disp.adb: Minor comment fix.
5116 (Make_Disp_Asynchronous_Select_Body): Properly initialize out parameters
5117 to avoid warnings when compiling with -Wall.
5118 (Make_Disp_Conditional_Select_Body): Likewise.
5119 (Make_Disp_Timed_Select_Body): Likewise.
5120
51212011-08-29 Ed Schonberg <schonberg@adacore.com>
5122
5123 * sem_ch12.adb (Analyze_Formal_Subprogram_Declaration): If default is
5124 an entity name, generate reference for it.
5125
51262011-08-29 Ed Schonberg <schonberg@adacore.com>
5127
5128 * exp_ch5.adb (Expand_Iterator_Loop): Uniform handling of "X of S"
5129 iterator form.
5130 * sem_util.adb (Is_Iterator, Is_Reversible_Iterator): Yield True for
5131 the class-wide type.
5132 * sem_ch5.adb: Move some rewriting to the expander, where it belongs.
5133
51342011-08-29 Ed Schonberg <schonberg@adacore.com>
5135
5136 * sem_ch8.adb (Check_Constrained_Object): Do not create an actual
5137 subtype for an object whose type is an unconstrained union.
5138
51392011-08-29 Ed Schonberg <schonberg@adacore.com>
5140
5141 * par-ch3.adb (P_Array_Type_Definiation, P_Component_Items): "aliased"
5142 is allowed in a component definition, by AI95-406.
5143
51442011-08-29 Matthew Heaney <heaney@adacore.com>
5145
5146 * a-chtgbo.adb (Generic_Iteration): Use correct overloading of Next.
5147
51482011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
5149
5150 * a-except-2005.adb: Alphabetize all routines.
5151 (Triggered_By_Abort): New routine.
5152 * a-except-2005.ads (Triggered_By_Abort): New routine.
5153 * a-except.adb Alphabetize all routines.
5154 (Triggered_By_Abort): New routine.
5155 * a-except.ads (Triggered_By_Abort): New routine.
5156 * exp_ch7.adb: Update all comments involving the detection of aborts in
5157 finalization code.
5158 (Build_Object_Declarations): Do not generate code to detect the
5159 presence of an abort at the start of finalization code, use a runtime
5160 routine istead.
5161 * rtsfind.ads: Add RE_Triggered_By_Abort to tables RE_Id and
5162 RE_Unit_Table.
5163 * sem_res.adb (Resolve_Allocator): Emit a warning when attempting to
5164 allocate a task on a subpool.
5165 * s-stposu.adb: Add library-level flag Finalize_Address_Table_In_Use.
5166 The flag disables all actions related to the maintenance of
5167 Finalize_Address_Table when subpools are not in use.
5168 (Allocate_Any_Controlled): Signal the machinery that subpools are in
5169 use.
5170 (Deallocate_Any_Controlled): Do not call Delete_Finalize_Address which
5171 performs costly task locking when subpools are not in use.
5172
57a8057a
AC
51732011-08-29 Yannick Moy <moy@adacore.com>
5174
5175 * gnat1drv.adb (Adjust_Global_Switches): Restore expansion of tagged
5176 types and dispatching calls in Alfa mode.
5177 * lib-xref-alfa.adb (Collect_ALFA): Rewrite computation of
5178 correspondance between body and spec scopes, to reuse utility functions
5179 (Traverse_Declarations_Or_Statements): Protect access to body for stub
5180 by testing the presence of the library unit for the body
5181 * sem_ch6.adb (Set_Actual_Subtypes): take into account that in Alfa
5182 mode the expansion of accept statements is skipped
5183 * sem_util.adb, sem_util.ads (Unique_Entity): New function returning
5184 the unique entity corresponding to the one returned by
5185 Unique_Defining_Entity applied to the enclosing declaration of the
5186 argument.
5187
51882011-08-29 Bob Duff <duff@adacore.com>
5189
5190 * treepr.ads: Improve debugging facilities. pn(x) no longer crashes in
5191 gdb when x is not a node (it can be a node list, name_id, etc). pp is
5192 an alias for pn. ppp is an alias for pt.
5193
51942011-08-29 Javier Miranda <miranda@adacore.com>
5195
5196 * exp_aggr.adb (Expand_Record_Aggregate): Use the top-level enclosing
5197 aggregate to take a consistent decision on the need to convert into
5198 assignments aggregates that initialize constant objects.
5199
52002011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
5201
5202 * exp_ch4.adb (Expand_Allocator_Expression): Add a call to
5203 Build_Allocate_Deallocate_Proc in order to handle allocation of
5204 non-controlled objects on subpools.
5205 * impunit.adb: Remove s-finmas and s-spsufi since they were never meant
5206 to be end-user visible.
5207 * s-finmas.adb: Add with and use clause for System.HTable.
5208 Add an instantiation of Simple_HTable which provides a mapping between
5209 the address of a controlled object and the corresponding
5210 Finalize_Address used to clean up the object. The table is used when a
5211 master is operating in heterogeneous mode.
5212 (Attach): Explain why the input node is not verified on being already
5213 attached.
5214 (Delete_Finalize_Address): New routine.
5215 (Detach): Add pragma Assert which ensures that a node is already
5216 attached.
5217 (Finalize): Add local variable Cleanup. Rewrite the iteration scheme
5218 since nodes are no longer removed on traversal. Explain why node
5219 detachment is undesirable in this case.
5220 (Get_Finalize_Address): New routine.
5221 (Hash): New routine.
5222 (Is_Empty_List): Removed.
5223 (pm): Renamed to Print_Master. Add output for discriminant
5224 Is_Homogeneous.
5225 Comment reformatting.
5226 (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
5227 * s-finmas.ads: Various comments additions / improvements.
5228 Type Finalization_Master has a discriminant which determines the mode of
5229 operation.
5230 (Delete_Finalize_Address): New routine.
5231 (Get_Finalize_Address): New routine.
5232 (pm): Renamed to Print_Master.
5233 (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
5234 * s-stposu.adb: Add with clause for System.Address_Image; Add with and
5235 use clause for System.IO.
5236 (Allocate_Any_Controlled): Add machinery to set TSS primitive
5237 Finalize_Address depending on the mode of allocation and the mode of
5238 the master.
5239 (Deallocate_Any_Controlled): Remove the relation pair object -
5240 Finalize_Address regardless of the master mode. Add comment explaining
5241 the reason.
5242 (Detach): Ensure that fields Prev and Next are null after detachment.
5243 (Finalize_Pool): Remove local variable Next_Ptr. Rewrite the iteration
5244 scheme to check whether the list of subpools is empty. There is no
5245 longer need to store the next subpool or advance the current pointer.
5246 (Is_Empty_List): New routine.
5247 (Print_Pool): New routine.
5248 (Print_Subpool): New routine.
5249 * s-stposu.ads: Various comments additions / improvements.
5250 Field Master of type Root_Subpool is now a heterogeneous collection.
5251 (Print_Pool): New routine.
5252 (Print_Subpool): New routine.
5253
52542011-08-29 Ed Schonberg <schonberg@adacore.com>
5255
5256 * exp_ch5.adb (Expand_N_Iterator_Loop): Implement Ada2012 loop iterator
5257 forms, using aspects of container types.
5258 * sem_ch3.adb (Find_Type_Name): Preserve Has_Delayed_Aspects and
5259 Has_Implicit_Dereference flags, that may be set on the partial view.
5260 * sem_ch4.adb (Process_Overloaded_Indexed_Component): Prefix may be a
5261 container type with an indexing aspect.
5262 (Analyze_Quantified_Expression): Analyze construct with expansion
5263 disabled, because it will be rewritten as a loop during expansion.
5264 (Try_Container_Indexing): The prefix itself may be a container type
5265 with an indexing aspect, as with a vector of vectors.
5266 * sem_ch5.adb (Analyze_Iteration_Scheme): In a generic context, analyze
5267 the original doamin of iteration, for name capture.
5268 (Analyze_Iterator_Specification): If the domain is an expression that
5269 needs finalization, create a separate declaration for it.
5270 For an iterator with "of" retrieve default iterator info from aspect of
5271 container type. For "in" iterator, retrieve type of Iterate function.
5272 * sem_ch13.adb (Check_Iterator_Function): Fix typo.
5273 (Check_Aspect_At_End_Of_Declaration): Make type unfrozen before
5274 analysis, to prevent spurious errors about late attributes.
5275 * sprint.adb: Handle quantified expression with either loop or iterator
5276 specification.
5277 * a-convec.ads, a-convec.adb: Iterate function returns a reversible
5278 iterator.
5279
ddf67a1d
AC
52802011-08-29 Vincent Celier <celier@adacore.com>
5281
5282 * make.adb (Scan_Make_Arg): Take any option as is in packages Compiler,
5283 Binder or Linker of the main project file.
5284
52852011-08-29 Ed Schonberg <schonberg@adacore.com>
5286
5287 * inline.adb (Add_Scopes_To_Clean): Exclude any entity within a generic
5288 unit.
5289
52902011-08-29 Yannick Moy <moy@adacore.com>
5291
5292 * exp_ch9.adb: Partial revert of previous change for Alfa mode
5293
52942011-08-29 Yannick Moy <moy@adacore.com>
5295
5296 * exp_ch11.adb: Minor expansion of comment.
5297
52982011-08-29 Yannick Moy <moy@adacore.com>
5299
5300 * lib-xref-alfa.adb (Add_ALFA_Scope): Treat generic entities.
5301
53022011-08-29 Ed Schonberg <schonberg@adacore.com>
5303
5304 * sem_res.adb (Resolve_Arithmetic_Op): If the node has a universal
5305 interpretation, set the type before resolving the operands, because
5306 legality checks on an exponention operand need to know the type of the
5307 context.
5308
53092011-08-29 Ed Schonberg <schonberg@adacore.com>
5310
5311 * sem_ch12.adb (Analyze_Package_Instantiation): Do not set delayed
5312 cleanups on a master if the instance is within a generic unit.
5313 Complement to the corresponding fix to inline.adb for K520-030.
5314
53152011-08-29 Tristan Gingold <gingold@adacore.com>
5316
5317 * exp_ch7.adb (Build_Raise_Statement): Raise PE instead of the current
5318 occurrence.
5319 * exp_intr.adb: Minor comment fix.
5320
53212011-08-29 Bob Duff <duff@adacore.com>
5322
5323 * sem_ch13.adb (Analyze_Aspect_Specifications): Fix cases where
5324 Delay_Required was used as an uninitialized variable.
5325
690943fc
RD
53262011-08-29 Robert Dewar <dewar@adacore.com>
5327
5328 * a-cdlili.adb, a-cdlili.ads, a-coinve.adb, a-coinve.ads,
5329 sem_util.adb, sem_util.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb,
5330 a-coorse.ads, aspects.ads, sem_ch8.adb: Minor reformatting.
5331
9f0ee988
TQ
53322011-08-29 Thomas Quinot <quinot@adacore.com>
5333
5334 * system-freebsd-x86_64.ads (Backend_Overflow_Checks): Set true True.
5335 Remove unused variables.
5336
3e24afaa
AC
53372011-08-29 Ed Schonberg <schonberg@adacore.com>
5338
5339 * sem_res.adb: Remove Build_Explicit_Dereference.
5340 * sem_util.adb, sem_util.ads (Build_Explicit_Dereference): Moved here
5341 from sem_res.adb, used in analysis of additional constructs.
5342 (Is_Iterator, Is_Reversible_Iterator): New predicates for Ada2012
5343 expansion of iterators.
5344 (Is_Object_Reference): Recognize variables rewritten as explicit
5345 dereferences in Ada2012.
5346 * snames.ads-tmpl: Add Has_Element, Forward_Iterator,
5347 Reversible_Iterator names, for expansion of Ada2012 iterators.
5348 * aspects.ads, aspects.adb (Find_Aspect): Utility.
5349 * a-cdlili.ads, a-cdlili.adb: Add new iterator machinery to doubly
5350 linked list container.
5351 * a-coinve.ads, a-coinve.adb: Ditto for indefinite vector containers.
5352 * a-coorse.ads, a-coorse.adb: Ditto for ordered sets.
5353
53542011-08-29 Ed Schonberg <schonberg@adacore.com>
5355
5356 * a-cohama.adb, a-cohama.ads: Add iterator primitives to hashed map
5357 containers.
5358
53592011-08-29 Vincent Celier <celier@adacore.com>
5360
5361 * make.adb (Gnatmake): Get the maximum number of simultaneous
5362 compilation processes after the Builder switches has been scanned, as
5363 there may include -jnn.
5364
53652011-08-29 Matthew Heaney <heaney@adacore.com>
5366
5367 * a-chtgbo.adb (Generic_Equal): Use correct overloading of Next.
5368
53692011-08-29 Tristan Gingold <gingold@adacore.com>
5370
5371 * gnatcmd.adb (GNATCmd): On OpenVMS, truncate the length of
5372 GNAT_DRIVER_COMMAND_LINE to 255.
5373
53742011-08-29 Pascal Obry <obry@adacore.com>
5375
5376 * freeze.adb, sem_ch8.adb, a-convec.adb, a-convec.ads: Minor
5377 reformatting and style fix (class attribute casing).
5378
53792011-08-29 Yannick Moy <moy@adacore.com>
5380
5381 * exp_ch11.adb: Yet another case where expansion should be common
5382 between CodePeer and Alfa.
5383
53842011-08-29 Yannick Moy <moy@adacore.com>
5385
5386 * exp_ch9.adb: Partial revert of previous change for Alfa mode.
5387
53882011-08-29 Ed Schonberg <schonberg@adacore.com>
5389
5390 * sem_ch6.adb (Matches_Limited_With_View): The limited views of an
5391 incomplete type and its completion match.
5392
3ddd922e
AC
53932011-08-29 Yannick Moy <moy@adacore.com>
5394
5395 * exp_ch13.adb: Adjust previous change.
5396
53972011-08-29 Robert Dewar <dewar@adacore.com>
5398
5399 * sem_prag.adb, prj.adb, sem_util.adb, sem_res.adb, gnat1drv.adb,
5400 exp_ch4.adb, sem_ch8.adb: Minor code reorganization
5401 Minor reformatting.
5402
444acbdd
AC
54032011-08-29 Emmanuel Briot <briot@adacore.com>
5404
5405 * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Also
5406 initialize aggregated projects.
5407
54082011-08-29 Ed Schonberg <schonberg@adacore.com>
5409
5410 * sem_ch8.adb (Find_Renamed_Entity): Within an instance, use scope
5411 depth of candidates to resolve a potentially spurious ambiguity between
5412 two visible subprograms.
5413
e0296583
AC
54142011-08-29 Yannick Moy <moy@adacore.com>
5415
5416 * sem_prag.adb (Analyze_Pragma): Allow Test_Case pragma without
5417 Requires/Ensures.
5418 * sem_util.adb (Get_Ensures_From_Test_Case_Pragma,
5419 Get_Requires_From_Test_Case_Pragma): Allow Test_Case pragma without
5420 Requires/Ensures.
5421
54222011-08-29 Arnaud Charlet <charlet@adacore.com>
5423
5424 * gnat1drv.adb (Adjust_Global_Switches): Improve previous change.
5425 Add comment.
5426
54272011-08-29 Thomas Quinot <quinot@adacore.com>
5428
5429 * sem_res.adb: Minor reformatting.
5430
69794413
JK
54312011-08-29 Johannes Kanig <kanig@adacore.com>
5432
5433 * exp_ch4.adb (Expand_Quantified_Expression): Do not expand in ALFA
5434 mode.
5435 * gnat1drv.adb (Adjust_Global_Switches): Set
5436 Use_Expressions_With_Actions to False in ALFA mode.
5437 * sem_res.adb (Resolve_Quantified_Expression): Simpler treatment in
5438 ALFA mode.
5439
59e6b23c
AC
54402011-08-29 Yannick Moy <moy@adacore.com>
5441
5442 * exp_ch13.adb (Expand_N_Freeze_Entity): Do nothing in Alfa mode.
5443 * exp_ch9.adb: Do not expand tasking constructs in Alfa mode.
5444 * gnat1drv.adb (Adjust_Global_Switches): Suppress the expansion of
5445 tagged types and dispatching calls in Alfa mode.
5446
54472011-08-29 Javier Miranda <miranda@adacore.com>
5448
5449 * sem_ch3.adb (Process_Discriminants): Add missing check to ensure that
5450 we do not report an error on an Empty node.
5451
54522011-08-29 Geert Bosch <bosch@adacore.com>
5453
5454 * Makefile.rtl (GNATRTL_NONTASKING_OBJECTS): Add a-nllrar.o,
5455 a-nlrear.o and a-nurear.o.
5456
54572011-08-29 Robert Dewar <dewar@adacore.com>
5458
5459 * freeze.adb: Minor code reorganization.
5460 Minor reformatting.
5461 * sem_util.adb, errout.adb, exp_ch11.adb, a-ngrear.adb, s-gearop.adb,
5462 sem_ch6.adb: Minor reformatting
5463
54642011-08-29 Tristan Gingold <gingold@adacore.com>
5465
5466 * s-except.ads, s-except.adb: Provide dummy body.
5467
54682011-08-29 Yannick Moy <moy@adacore.com>
5469
5470 * sem_warn.adb (Within_Postcondition): Take into account the case of
5471 an Ensures component in a Test_Case.
5472
4d792549
AC
54732011-08-29 Tristan Gingold <gingold@adacore.com>
5474
5475 * s-excdeb.ads, s-excdeb.adb: New files, created from s-except.
5476 * rtsfind.ads (RTU_Id): Replaces System_Exceptions by
5477 System_Exceptions_Debug
5478 (RE_Unit_Table): Search RE_Local_Raise in System_Exceptions_Debug
5479 * a-except.adb: With and use System.Exceptions_Debug instead of
5480 System.Exceptions.
5481 * a-except-2005.adb: Likewise.
5482 * s-assert.adb: Likewise.
5483 * s-except.adb, s-except.ads: Move debugging hooks to s-excdeb.
5484 * Makefile.rtl: Add s-excdeb. Adjust compilation rule.
5485 * gcc-interfaces/Makefile.in, gcc-interface/Make-lang.in: Add
5486 s-excdeb. Update dependencies.
5487 (GNATRTL_LINEARALGEBRA_OBJS): Remove a-nlrear.o a-nurear.o a-nllrar.o
5488 as these no longer need external libraries.
5489
54902011-08-29 Ed Schonberg <schonberg@adacore.com>
5491
5492 * sem_res.adb (Resolve_Op_Expon): Additional check to reject an
5493 exponentiation operator on universal values in a context that requires
5494 a fixed-point type.
5495
54962011-08-29 Tristan Gingold <gingold@adacore.com>
5497
5498 * raise-gcc.c (personnality_routine): Fix thinko. Set Ada occurrence
5499 before calling notify_handled_exception.
5500 * a-exextr.adb: Fix comment.
5501
b254da66
AC
55022011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
5503
5504 * exp_ch4.adb (Expand_Allocator_Expression): Add code to set attribute
5505 Finalize_Address of the access type's finalization master.
5506 (Expand_N_Allocator): Add code to set attribute Finalize_Address of the
5507 access type's finalization master. Add a guard to prevent
5508 Associated_Storage_Pool from being set on .NET/JVM.
5509 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add code to set
5510 attribute Finalize_Address of the access type's finalization master.
5511 * exp_ch7.adb (Make_Finalize_Address_Call): New routine.
5512 * exp_ch7.ads (Make_Finalize_Address_Call): New routine.
5513 * rtsfind.ads: Add RE_Set_Finalize_Address to tables RE_Id and
5514 RE_Unit_Table.
5515 * s-finmas.adb: Add with clause for System.Address_Image. Add with and
5516 use clause for System.IO
5517 (Detach): Relax the assertion, to be reinstated later.
5518 (Finalize): Rewrite the iteration loop to avoid pointer comparison.
5519 Relax the assertion on Finalize_Address, to be reinstated later.
5520 (Is_Empty_List): New routine.
5521 (pm): New debug routine.
5522 (Set_Finalize_Address): New routine.
5523 * s-finmas.ads (pm): New debug routine.
5524 (Set_Finalize_Address): New routine.
5525 * s-stposu.adb (Allocate_Any_Controlled): Code reformatting.
5526
55272011-08-29 Tristan Gingold <gingold@adacore.com>
5528
5529 * a-exexpr-gcc.adb (GCC_Exception_Access, GNAT_GCC_Exception_Access):
5530 Remove convention C.
5531
55322011-08-29 Tristan Gingold <gingold@adacore.com>
5533
5534 * s-taprop-vms.adb (Get_Exc_Stack_Addr): Remove.
5535 (Initialize_TCB): Remove Exc_Stack_Ptr initialization.
5536 (Finalize_TCB): Remove its finalization.
5537 (Initialize): Remove assignment of GET_Exc_Stack_Addr
5538 * s-soflin.adb (NT_Exc_Stack): Remove
5539 (Get_Exc_Stack_Addr_NT): Likewise.
5540 (Get_Exc_Stack_Addr_Soft): Likewise.
5541 * s-soflin.ads (Get_Exc_Stack_Addr_NT): Remove.
5542 (Get_Exc_Stack_Addr): Likewise.
5543 (Get_Exc_Stack_Addr_Soft): Likewise
5544 * s-taspri-vms.ads (Exc_Stack_T): Remove.
5545 (Exc_Stack_Ptr_T): Likewise.
5546 (Private_Data): Remove Exc_Stack_Ptr component.
5547
55482011-08-29 Tristan Gingold <gingold@adacore.com>
5549
5550 * raise-gcc.c (get_ip_from_context): New function. Factorize code.
5551
55522011-08-29 Tristan Gingold <gingold@adacore.com>
5553
5554 * gnat_ugn.texi: Fix aix and x86-solaris info for run-time.
5555
55562011-08-29 Geert Bosch <bosch@adacore.com>
5557
5558 * s-gearop.ads (Back_Substitute, Diagonal, Forward_Eliminate,
5559 L2_Norm, Swap_Column): New generic subprograms
5560 * s-gearop.adb (Back_Substitute, Diagonal, Forward_Eliminate,
5561 L2_Norm, Swap_Column): Implement new subprograms in order to
5562 eliminate dependency on BLAS and LAPACK libraries in
5563 Ada.Numerics.Generic_Real_Arrays and eventually also the complex
5564 version. Forward_Eliminate/Back_Substitute can be used to put a
5565 matrix in row echelon or reduced row echelon form using partial
5566 pivoting.
5567 * a-ngrear.adb: (Back_Substitute, Diagonal, Forward_Eleminate,
5568 Swap_Column): Instantiate from System.Generic_Array_Operations.
5569 ("*", "abs"): Implement by instantiation from Generic_Array_Operations.
5570 (Sqrt): Local function for simple computation of square root without
5571 adding dependencies on Generic_Elementary_Functions.
5572 (Swap): New subprogram to exchange floating point numbers.
5573 (Inverse): Reimplement using Jordan-Gauss elimination.
5574 (Jacobi): New procedure implementing Jacobi's method for computation
5575 of eigensystems, based on Rutishauser's implementation.
5576 (L2_Norm): Implement directly using the inner product.
5577 (Sort_Eigensystem): Sort eigenvalue/eigenvector pairs in order of
5578 decreasing eigenvalue as required by the Ada RM.
5579 (Swap_Column): New helper procedure for Sort_Eigensystem.
5580 Remove with of System.Generic_Real_BLAS and System.Generic_Real_LAPACK.
5581 Add with of Ada.Containers.Generic_Anonymous_Array_Sort, for
5582 Sort_Eigensystems.
5583
55842011-08-29 Thomas Quinot <quinot@adacore.com>
5585
5586 * put_scos.adb (Put_SCOs): Do not emit a newline for an empty
5587 statements line.
5588
60370fb1
AC
55892011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
5590
5591 * s-finmas.adb (Finalize): Check Finalize_Address of the master rather
5592 than the current node.
5593 * s-finmas.ads: Move field Finalize_Address from type FM_Node to
5594 Finalization_Master. The list headers have two fields instead of three.
5595 This should fix alignment issue but subpool allocations are now
5596 unusable. Alphabetize subprograms.
5597 * s-stposu.adb (Allocate_Any_Controlled): Use the offset rather than
5598 the size of the header when converting the beginning of the object to
5599 a FM_Node. Set the master's Finalize_Address attribute if not already
5600 set.
5601 (Deallocate_Any_Controlled): Use the offset rather than the size of the
5602 header when converting the beginning of the object to a FM_Node.
5603
56042011-08-29 Gary Dismukes <dismukes@adacore.com>
5605
5606 * exp_ch11.adb (Expand_N_Raise_Statement): Don't suppress expansion of
5607 reraise when compiling for CodePeer.
5608
56092011-08-29 Arnaud Charlet <charlet@adacore.com>
5610
5611 * a-iteint.ads, Makefile.rtl: Add missing compilation of a-iteint.ads,
5612 now needed by a-convec.adb. Fix warning.
5613
56142011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
5615
5616 * exp_util.adb (Build_Allocate_Deallocate_Proc): Add a guard for the
5617 processing of TSS routine Finalize_Address when compiling in
5618 CodePeer_Mode.
5619
56202011-08-29 Thomas Quinot <quinot@adacore.com>
5621
5622 * a-strunb.ads, einfo.ads, g-comlin.ads, sem_ch6.adb,
5623 sem_warn.adb: Minor reformatting.
5624
56252011-08-29 Emmanuel Briot <briot@adacore.com>
5626
5627 * prj-conf.adb (Get_Config_Switches): Also collect the list of
5628 languages from aggregated projects.
5629
56302011-08-29 Yannick Moy <moy@adacore.com>
5631
5632 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Declarations_Or_Statements,
5633 Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
5634 Traverse_Package_Declaration, Traverse_Subprogram_Body,
5635 Traverse_Compilation_Unit): Add a parameter Inside_Stubs so that bodies
5636 for stubs are traversed too when parameter is set
5637 (Traverse_All_Compilation_Units): Traverse without going inside stubs
5638 (Traverse_Declarations_Or_Statements): Do the special traversing for
5639 stubs when required.
5640 * sem_util.adb, sem_util.ads (Get_Body_From_Stub): New function to
5641 return subprogram or package body from stub.
5642 (Is_Subprogram_Stub_Without_Prior_Declaration): New function to detect
5643 stubs without prior subprogram decl.
5644
56452011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
5646
5647 * gnat_ugn.texi: Fix typo.
5648
e9c9d122
HK
56492011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
5650
5651 * s-stposu.adb (Allocate_Any_Controlled): Reimplement the mechanism
5652 which accounts for size vs alignment issues and calculates the size of
5653 the list header.
5654 (Deallocate_Any_Controlled): Ditto.
5655 (Nearest_Multiple_Rounded_Up): New routine.
5656
25ebc085
AC
56572011-08-29 Tristan Gingold <gingold@adacore.com>
5658
5659 * a-exstat.adb (String_To_EO): Do no set Cleanup_Flag.
5660 * a-exexda.adb (Set_Exception_C_Msg): Ditto.
5661 (Set_Exception_Msg): Ditto.
5662 * a-exexpr-gcc.adb (Setup_Current_Excep): Ditto. Do not set
5663 Private_Data.
5664 * a-except.adb, a-except-2005.adb (Save_Occurrence_No_Private): Remove.
5665 Use Save_Occurrence instead of Save_Occurrence_No_Private.
5666 (Raise_With_Msg): Remove Cleanup_Flag.
5667 * a-except.ads, a-except-2005.ads (Exception_Occurrence): Remove
5668 Clean_Flag and Private_Data components.
5669
56702011-08-29 Yannick Moy <moy@adacore.com>
5671
5672 * freeze.adb (Freeze_Record_Type): Ignore packing in Alfa mode, like
5673 in CodePeer mode.
5674 * sem_ch3.adb (Signed_Integer_Type_Declaration): Correct the generation
5675 of an explicitly declared type, so that the base types of the original
5676 type and this generated type are the same, and a "type" (not a subtype
5677 like previously).
5678 * errout.adb (Special_Msg_Delete): Do not issue messages "Size too
5679 small" in Alfa mode, like in CodePeer mode.
5680 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore rep
5681 clauses in Alfa mode.
5682
56832011-08-29 Javier Miranda <miranda@adacore.com>
5684
5685 * exp_ch6.ads, exp_ch6.adb (Is_Null_Procedure): Move the spec of this
5686 function to the package spec.
5687 * sem_ch6.adb (Find_Corresponding_Spec, New_Overloaded_Entity): For
5688 internally generated bodies of null procedures locate the internally
5689 generated spec enforcing mode conformance.
5690 (Is_Interface_Conformant): Ensure that the controlling formal of the
5691 primitives match.
5692
56932011-08-29 Ed Schonberg <schonberg@adacore.com>
5694
5695 * sem_prag.adb (Analyze_Pragma, case Inline): In an instance, do not
5696 reject the pragma if it appears to apply to a formal subprogram.
5697
56982011-08-29 Ed Schonberg <schonberg@adacore.com>
5699
5700 * exp_ch4.adb (Expand_Allocator_Expression): Use consistent name for
5701 inner expression, to prevent double evaluation.
5702
590549fb
AC
57032011-08-29 Tristan Gingold <gingold@adacore.com>
5704
5705 * a-exexpr.adb (Propagate_Exception): Remove all the parameters as
5706 they were unused.
5707 * a-exexpr-gcc.adb (Propagate_Exception): Ditto.
5708 * a-except-2005.adb (Propagate_Exception): Adjust spec.
5709 (Raise_Current_Excep): Adjust call.
5710 (Raise_From_Signal_Handler): Call now simply call Raise_Current_Excep.
5711
57122011-08-29 Thomas Quinot <quinot@adacore.com>
5713
5714 * exp_disp.adb: Minor reformatting.
5715
62380e66
TG
57162011-08-29 Tristan Gingold <gingold@adacore.com>
5717
5718 * a-exexpr.adb (Setup_Exception): Removed.
5719 * a-exexpr-gcc.adb (Setup_Exception): Removed.
5720 * a-except.adb (Exception_Propagation): Removed.
5721 * a-except-2005.adb (Setup_Exception): Removed.
5722 (Reraise): Remove call to Setup_Exception.
5723 (Reraise_Occurrence): Ditto.
5724 (Reraise_Occurrence_Always): Ditto.
5725 (Reraise_Occurrence_No_Defer): Ditto.
5726 (Transfer_Occurrence): Ditto.
5727 * a-exexda.adb (Set_Exception_C_Msg): Remove call to Setup_Exception.
5728 (Set_Exception_Msg): Ditto.
5729
c95aa61c
AC
57302011-08-29 Robert Dewar <dewar@adacore.com>
5731
5732 * a-convec.adb, exp_disp.adb: Minor reformatting.
5733
57342011-08-29 Tristan Gingold <gingold@adacore.com>
5735
5736 * a-exexpr-gcc.adb (GNAT_GCC_Exception_Access): Set to convention C.
5737
624e1688
AC
57382011-08-29 Gary Dismukes <dismukes@adacore.com>
5739
5740 * exp_ch3.adb (Build_Record_Init_Proc.Build_Init_Procedure): Set
5741 Exception_Handlers to No_List instead of Empty_List in the case where
5742 there are no handlers.
5743
57442011-08-29 Tristan Gingold <gingold@adacore.com>
5745
5746 * gcc-interface/gigi.h (enum standard_datatypes): Add
5747 ADT_reraise_zcx_decl
5748 (reraise_zcx_decl): New macro.
5749 * gcc-interface/trans.c (gnu_incoming_exc_ptr): New variable.
5750 (gigi): Set reraise_zcx_decl.
5751 (Exception_Handler_to_gnu_zcx): Save and restore gnu_incoming_exc_ptr.
5752 (gnat_to_gnu): Handle N_Raise_Statement.
5753
7134062a
AC
57542011-08-29 Robert Dewar <dewar@adacore.com>
5755
5756 * sem_ch6.adb, exp_ch3.adb, s-stposu.adb, a-undesu.ads,
5757 a-undesu.adb: Minor reformatting.
5758
57592011-08-29 Ed Schonberg <schonberg@adacore.com>
5760
5761 * exp_disp.adb (Check_Premature_Freezing): When building a dispatch
5762 table, accept an unfrozen untagged component if it is an actual for a
5763 formal incomplete type.
5764 * a-convec.ads, a-convec.adb: Instantiate Ada.Iterator_Interfaces to
5765 provide new iterator forms over vectors.
5766 Introduce type Iterator in package body to implement operations of
5767 Reversible_Iterator interface.
5768 * a-iteint.ads: Make package pure so it is usable with new container
5769 packages, that are categorized Remote_Types.
5770
ca5af305
AC
57712011-08-29 Robert Dewar <dewar@adacore.com>
5772
5773 * a-exexpr-gcc.adb, a-synbar.adb, sem_ch13.adb: Minor reformatting.
5774
57752011-08-29 Bob Duff <duff@adacore.com>
5776
5777 * sem_aggr.adb (Resolve_Aggr_Expr): Call this routine even in the case
5778 of <>, because this is the routine that checks for dimensionality
5779 errors (for example, for a two-dimensional array, (others => <>) should
5780 be (others => (others => <>)).
5781
57822011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
5783
5784 * impunit.adb: Add new run-time units.
5785 * freeze.adb, exp_ch7.ads, exp_ch7.adb, exp_util.ads, exp_util.adb,
5786 s-stposu.ads, s-stposu.adb: Code clean up.
5787 Handle protected class-wide or task class-wide types
5788 Handle C/C++/CIL/Java types.
5789 * s-spsufi.adb, s-spsufi.ads: New files.
5790
5accd7b6
AC
57912011-08-29 Yannick Moy <moy@adacore.com>
5792
5793 * sem_ch13.adb (Analyze_Aspect_Specifications): Reject test-case on
5794 library-level subprogram.
5795 * sem_prag.adb (Check_Test_Case): Stricter rules for test-case
5796 placement.
5797 (Analyze_Pragma): Change name "Normal" for "Nominal" in test-case
5798 component.
5799 * snames.ads-tmpl: Change name "Normal" for "Nominal" in test-case
5800 component.
5801 * gnat_rm.texi: Update doc for Test_Case pragma.
5802
58032011-08-29 Tristan Gingold <gingold@adacore.com>
5804
5805 * a-exexpr-gcc.adb (Unwind_Exception): Remove default value, made it
5806 convention C.
5807 (GCC_Exception_Access): New type.
5808 (Unwind_DeleteException): New imported procedure
5809 (Foreign_Exception): Import it.
5810 (GNAT_GCC_Exception): Simply have the occurrence inside.
5811 (To_GCC_Exception): New function.
5812 (To_GNAT_GCC_Exception): New function.
5813 (GNAT_GCC_Exception_Cleanup): New procedure..
5814 (Propagate_GCC_Exception): New procedure.
5815 (Reraise_GCC_Exception): New procedure.
5816 (Setup_Current_Excep): New procedure.
5817 (CleanupUnwind_Handler): Change type of UW_Exception parameter.
5818 (Unwind_RaiseException): Ditto.
5819 (Unwind_ForcedUnwind): Ditto.
5820 (Remove): Removed.
5821 (Begin_Handler): Change type of parameter.
5822 (End_Handler): Ditto. Now delete the exception if still present.
5823 (Setup_Key): Removed.
5824 (Is_Setup_And_Not_Propagated): Removed.
5825 (Set_Setup_And_Not_Propagated): Ditto.
5826 (Clear_Setup_And_Not_Propagated): Ditto.
5827 (Save_Occurrence_And_Private): Ditto.
5828 (EID_For): Add 'not null' constraint on parameter.
5829 (Setup_Exception): Does nothing.
5830 (Propagate_Exception): Simplified.
5831 * exp_ch11.adb (Expand_N_Raise_Statement): In back-end exception model,
5832 re-raise is not expanded anymore.
5833 * s-except.ads (Foreign_Exception): New exception - placeholder for
5834 non Ada exceptions.
5835 * raise-gcc.c (__gnat_setup_current_excep): Declare
5836 (CXX_EXCEPTION_CLASS): Define (not yet used)
5837 (GNAT_EXCEPTION_CLASS): Define.
5838 (is_handled_by): Handle foreign exceptions.
5839 (PERSONALITY_FUNCTION): Call __gnat_setup_current_excep.
5840
58412011-08-29 Jose Ruiz <ruiz@adacore.com>
5842
5843 * a-synbar.adb (Synchronous_Barrier): Some additional clarification.
5844
2ef48385
AC
58452011-08-29 Thomas Quinot <quinot@adacore.com>
5846
5847 * a-synbar-posix.adb: Minor reformatting.
5848
58492011-08-29 Jose Ruiz <ruiz@adacore.com>
5850
5851 * a-exetim-posix.adb, a-exetim-mingw.adb, a-exetim-mingw.ads,
5852 a-exetim-default.ads (Interrupt_Clocks_Supported,
5853 Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
5854 definitions to be compliant with AI-0171. The target systems do not
5855 support separate account for the execution time of interrupt handlers.
5856
58572011-08-29 Jose Ruiz <ruiz@adacore.com>
5858
5859 * a-synbar.adb (Wait): Change the order of evaluation of the conditions
5860 in the barrier to put first the easiest to evaluate (and the one which
5861 will be True more often). More efficient.
5862
58632011-08-29 Eric Botcazou <ebotcazou@adacore.com>
5864
5865 * s-atocou-x86.adb: Fix constraint in machine code insertion.
5866
58672011-08-29 Bob Duff <duff@adacore.com>
5868
5869 * aspects.ads, aspects.adb: Add new aspects for various pragmas and
5870 attributes that are now aspects, as specified by AI05-0229-1.
5871 * sem_ch13.adb (Analyze_Aspect_Specifications,
5872 Check_Aspect_At_Freeze_Point): Analyze the new aspects. Turn them into
5873 pragmas or attribute references, as appropriate.
5874
0db16b1e
AC
58752011-08-29 Robert Dewar <dewar@adacore.com>
5876
5877 * a-synbar.ads, a-synbar.adb, a-synbar-posix.adb,
5878 a-synbar-posix.ads: Minor reformatting.
5879
58802011-08-29 Yannick Moy <moy@adacore.com>
5881
5882 * snames.ads-tmpl: Add name Force.
5883
978ffe02
AC
58842011-08-29 Pascal Obry <obry@adacore.com>
5885
5886 * prj-nmsc.adb: Minor reformatting.
5887
58882011-08-29 Jose Ruiz <ruiz@adacore.com>
5889
5890 * a-exetim.ads (Interrupt_Clocks_Supported,
5891 Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
5892 definitions to be compliant with AI-0171.
5893
58942011-08-29 Robert Dewar <dewar@adacore.com>
5895
5896 * a-ngelfu.adb: Add comments.
5897
718f39dc
AC
58982011-08-29 Geert Bosch <bosch@adacore.com>
5899
5900 * a-ngelfu.adb (Tan): Do not raise Constraint_Error if the argument is
5901 the closest machine number to Pi / 2.0.
5902
59032011-08-29 Jose Ruiz <ruiz@adacore.com>
5904
5905 * impunit.adb (Non_Imp_File_Names_12): Add a-synbar for new Ada 2012
5906 package Ada.Synchronous_Barriers.
5907 * a-synbar.ads, a-synbar.adb, a-synbar-posix.ads, a-synbar-posix.adb:
5908 Add new specs and bodies for Ada.Synchronous_Barriers. There is a
5909 default implementation using protected objects and another one
5910 a-synbar-posix using POSIX barriers as the underlying support.
5911 * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for Linux (x86,
5912 x86_64, ia64) and MIPS IRIX): Use the a-synbar-posix implementation of
5913 Ada.Synchronous_Barriers which uses POSIX barriers (more efficient).
5914 Clean up dependencies.
5915 * Makefile.rtl (GNATRTL_TASKING_OBJS): Add a-synbar.o
5916
ee2e3f6b
AC
59172011-08-29 Robert Dewar <dewar@adacore.com>
5918
5919 * sem_ch7.adb, make.adb, sem_res.adb, exp_intr.adb,
5920 exp_dist.adb: Minor code reorganization.
5921 Minor reformatting.
5922
59232011-08-29 Thomas Quinot <quinot@adacore.com>
5924
5925 * sem_cat.adb (Validate_RACW_Primitive): The return type of an RACW
5926 primitive operation must support external streaming if it is not a
5927 controlling access result.
5928
646e2823
AC
59292011-08-29 Thomas Quinot <quinot@adacore.com>
5930
5931 * sinfo.ads, sem_ch7.adb: Minor reformatting.
5932
59332011-08-29 Bob Duff <duff@adacore.com>
5934
5935 * sem_ch4.adb (Analyze_Allocator): Check No_Nested_Finalization
5936 restriction on allocators, as required by AI05-0013-1.
5937 * restrict.ads: Minor comment fix.
5938
5d59eef2
AC
59392011-08-29 Tristan Gingold <gingold@adacore.com>
5940
5941 * a-exexpr.adb, a-except-2005.ads (Jmpbuf_Address): Move to a-exexpr.adb
5942 (To_Jmpbuf_Address): Ditto
5943 (builtin_longjmp): Ditto
5944
59452011-08-29 Thomas Quinot <quinot@adacore.com>
5946
5947 * sem_res.adb: Minor reformatting.
5948
59492011-08-29 Vincent Celier <celier@adacore.com>
5950
5951 * make.adb (Gnatmake): Move special processing for VM targets after the
5952 call to Get_Target_Parameters.
5953
59542011-08-29 Thomas Quinot <quinot@adacore.com>
5955
5956 * sem_ch12.adb, par-ch12.adb: Minor reformatting.
5957
949a18cc
AC
59582011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
5959
5960 * sem_res.adb (Resolve_Allocator): Implement Ada2012-B052. Detect cases
5961 where an anonymous access discriminant of a limited designated type
5962 appears in a non-immutably limited discriminated type and issue an
5963 error message. Add local variable Desig_T and replace all occurrences
5964 of Designated_Type.
5965
59662011-08-29 Jose Ruiz <ruiz@adacore.com>
5967
5968 * a-rttiev.adb (Set_Handler): Update comment to indicate that our
5969 implementation is compliant to RM D.15(15/2) after the modification
5970 imposed by AI05-0094-1 (binding interpretation).
5971
cb25faf8
AC
59722011-08-29 Robert Dewar <dewar@adacore.com>
5973
5974 * exp_ch9.adb, s-tasren.adb, exp_sel.adb, exp_sel.ads, exp_ch11.adb,
5975 s-interr-hwint.adb, s-tpobop.adb, sem_ch13.adb: Minor reformatting.
5976
59772011-08-29 Thomas Quinot <quinot@adacore.com>
5978
5979 * par-endh.adb (Check_End): For an END where it is mandatory to repeat
5980 the scope name, do not report a missing label as a style violation (it
5981 will be diagnosed as an illegality).
5982 * exp_dist.adb (Add_Params_For_Variant_Components): Fix handling of
5983 variant records: Get_Enum_Lit_From_Pos already returns a usage
5984 occurrence of the literal, no need to use New_Occurrence_Of. Set Etype
5985 on Expr in Integer_Literal case so that it can be used by
5986 Build_To_Any_Call.
5987
1d10f669
AC
59882011-08-29 Tristan Gingold <gingold@adacore.com>
5989
5990 * exp_sel.ads (Build_Abort_BLock_Handler): New function spec.
5991 Adjust comment.
5992 * exp_sel.adb (Build_Abort_Block): Use Build_Abort_Block_Handler.
5993 (Build_Abort_Block_Handler): New function to build an Abort_Signal
5994 exception handler.
5995 * exp_ch9.adb (Expand_N_Asynchronous_Select): Call
5996 Build_Abort_Block_Handler to build the exception handler. Do not
5997 undefer aborts for the Abort_Signal exception handler if back-end
5998 exception mechanism.
5999 * exp_ch11.adb (Expand_Exception_Handlers): Do not undefer aborts if
6000 back_end exceptions for all others and abort_signal.
6001 * s-except.ads (ZCX_By_Default): New constant.
6002 * a-except-2005.adb (Raise_Exception): Do not defer abort if ZCX.
6003 (Raise_Exception_Always): Ditto.
6004 (Raise_From_Signal_Handler): Ditto.
6005 (Raise_With_Location_And_Msg): Ditto.
6006 (Raise_With_Msg): Ditto.
6007 (Reraise): Ditto.
6008 (Reraise_Occurence): Ditto.
6009 (Reraise_Occurrence_Always): Ditto.
6010 * s-tasren.adb (Exceptional_Complete_Rendezvous): Defer aborts if ZCX.
6011 * s-tpobop.adb: (Exceptional_Complete_Body): Undefer abort if ZCX.
1d10f669
AC
6012
60132011-08-29 Thomas Quinot <quinot@adacore.com>
6014
6015 * sem_util.ads (Get_Enum_Lit_From_Pos): Clarify documentation.
6016
d986066d
AC
60172011-08-29 Robert Dewar <dewar@adacore.com>
6018
6019 * snames.adb-tmpl, sem_ch13.adb: Minor reformatting
6020 Minor code reorganization.
6021
60222011-08-29 Bob Duff <duff@adacore.com>
6023
6024 * usage.adb (-gnatwy): Fix documentation: this switch applies to Ada
6025 2012, not just Ada 2005.
6026
60272011-08-29 Vincent Celier <celier@adacore.com>
6028
6029 * gnat_ugn.texi: Indicate that when the compiler is called by gnatmake
6030 with a project file or with gprbuid, if -gnatep= is specified, the
6031 builder may need to be invoked with -x.
6032
60332011-08-29 Tristan Gingold <gingold@adacore.com>
6034
6035 * a-exexpr-gcc.adb: Minor comment fix.
6036
ff4f0ed0
AC
60372011-08-29 Robert Dewar <dewar@adacore.com>
6038
6039 * sem_ch8.adb: Minor reformatting.
6040
60412011-08-29 Bob Duff <duff@adacore.com>
6042
6043 * par-ch2.adb (P_Identifier): Warn that "some" is reserved in Ada 2012.
6044 * par-ch4.adb (P_Quantified_Expression): Remove unnecessary code for
6045 treating "some" as unreserved in earlier Ada versions. This is now
6046 handled in Snames.Is_Keyword_Name. Parse "for some" using Tok_Some,
6047 rather than Name_Some, since Tok_Some is now recognized as reserved.
6048 * scans.adb (Initialize_Ada_Keywords): Handle Tok_Some like any other
6049 reserved word.
6050 * scans.ads: Minor comment fixes.
6051 * snames.adb-tmpl (Is_Keyword_Name): Handle Ada 2012 reserved words as
6052 for other language versions.
6053 * scn.adb (Scan_Reserved_Identifier): Remove unnecessary code for
6054 treating "some" as unreserved in earlier Ada versions. This is now
6055 handled in Snames.Is_Keyword_Name.
6056 * par-ch3.adb (P_Defining_Identifier): Warn that "some" is reserved in
6057 Ada 2012.
6058 (P_Subtype_Mark_Resync): Remove unnecessary code for treating "some" as
6059 unreserved in earlier Ada versions. This is now handled in
6060 Snames.Is_Keyword_Name.
6061 * snames.ads-tmpl (Ada_2012_Reserved_Words): Handle Ada 2012 reserved
6062 words as for other language versions.
6063 * gnat_ugn.texi (-gnatwy): Fix documentation: this switch applies to
6064 Ada 2012, not just Ada 2005.
6065
d941cee6
AC
60662011-08-29 Ed Schonberg <schonberg@adacore.com>
6067
6068 * sem_ch13.adb: Additional semantic checks for aspects involved in
6069 iterators.
6070
60712011-08-29 Matthew Heaney <heaney@adacore.com>
6072
6073 * a-comutr.ads, a-comutr.adb, a-cimutr.ads, a-cimutr.adb,
6074 a-cbmutr.ads, a-cbmutr.adb (Find_In_Subtree): Remove superfluous
6075 Container parameter.
6076 (Ancestor_Find): ditto.
6077
b970af39
TQ
60782011-08-29 Thomas Quinot <quinot@adacore.com>
6079
6080 * par-endh.adb: Minor reformatting.
d941cee6 6081
92db5dee
AC
60822011-08-29 Tristan Gingold <gingold@adacore.com>
6083
6084 * a-exexpr-gcc.adb (Unwind_Action) Rewrite as an integer with constants.
6085 (GNAT_GCC_Exception): Remove N_Cleanups_To_Trigger component.
6086 (Adjust_N_CLeanups_For): Remove.
6087 (CleanupUnwind_Handler): Call Unhandled_Exception_Terminate when end of
6088 stack is reached.
6089 (Propgate_Exception): Adjust.
6090 * raise-gcc.c: Add a few static/const.
6091 (Adjust_N_Cleanups_For): Remove declaration.
6092 (PERSONALITY_FUNCTION): Remove code dealing with N_Cleanups_To_Trigger.
6093
60942011-08-29 Ed Schonberg <schonberg@adacore.com>
6095
6096 * sem_ch8.adb: Use type of function return when rewriting as object
6097 declaration.
6098
1378bf10
AC
60992011-08-29 Gary Dismukes <dismukes@adacore.com>
6100
6101 * sem_type.adb: Minor reformatting.
6102
61032011-08-29 Robert Dewar <dewar@adacore.com>
6104
6105 * makeutl.adb: Minor reformatting.
6106
61072011-08-29 Ed Schonberg <schonberg@adacore.com>
6108
6109 * sem_ch8.adb (Analyze_Object_Renaming): If the renamed object is a
6110 function call of a limited type, the expansion of the renaming is
6111 complicated by the presence of various temporaries and subtypes that
6112 capture constraints of the renamed object.
6113 Rewrite node as an object declaration, whose expansion is simpler.
6114 Given that the object is limited there is no copy involved and no
6115 performance hit.
6116
164e06c6
AC
61172011-08-29 Robert Dewar <dewar@adacore.com>
6118
6119 * exp_ch5.adb, sinfo.ads, make.adb, s-pooglo.adb, sem_ch12.adb,
6120 freeze.adb, sem_ch6.adb, par-ch12.adb: Minor reformatting.
6121
61222011-08-29 Tristan Gingold <gingold@adacore.com>
6123
6124 * system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads,
6125 system-tru64.ads, system-irix-n32.ads, system-vxworks-arm.ads,
6126 system-linux-hppa.ads, system-linux-s390.ads,
6127 system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads,
6128 system-vms_64.ads, system-vxworks-sparcv9.ads, system-linux-ppc.ads,
6129 system-aix64.ads, system-lynxos-ppc.ads, system-linux-sh4.ads,
6130 system-solaris-x86.ads, system-linux-x86_64.ads, system-linux-x86.ads,
6131 system-vxworks-ppc.ads, system-hpux.ads, system-darwin-ppc.ads,
6132 system-solaris-sparc.ads, system-lynxos-x86.ads,
6133 system-vxworks-m68k.ads, system-hpux-ia64.ads, system-irix-o32.ads,
6134 system-solaris-x86_64.ads, system-mingw-x86_64.ads,
6135 system-vxworks-mips.ads, system-linux-sparc.ads, system-vms-ia64.ads,
6136 system-freebsd-x86.ads, system-aix.ads, system-darwin-x86_64.ads,
7d266442 6137 system-vxworks-x86.ads: Remove GCC_ZCX_Support.
164e06c6
AC
6138 * s-taprop-posix.adb, s-taprop-irix.adb, s-taprop-vxworks.adb,
6139 s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb: Ditto.
6140 * opt.ads: Adjust comment.
6141 * targparm.ads, targparm.adb: Remove GCC_ZCX_Support_On_Target.
6142 * gnat1drv.adb: Do not check for GCC_ZCX_Support_On_Target.
6143 * system.ads: Move GCC_ZCX_Support to obsolete entries.
6144
61452011-08-29 Emmanuel Briot <briot@adacore.com>
6146
6147 * makeutl.adb (Do_Complete): Resolve symbolic links when a relative
6148 file name is specified on the gnatmake or gprbuild command line, and
6149 before we search for that file in the project.
6150
61512011-08-29 Ed Schonberg <schonberg@adacore.com>
6152
6153 * sem_type.adb (Within_Instance): New predicate in Collect_Interps,
6154 used to determine whether a possible interpretation for an overloadable
6155 entity is declared within the current instantiation and should be
6156 included in the candidate set.
6157
61582011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
6159
6160 * gnat_rm.texi, gnat_ugn.texi: Clean ups.
6161
97216ca8
ES
61622011-08-29 Ed Schonberg <schonberg@adacore.com>
6163
6164 * sem_res.adb (Resolve_Actuals): Use base type to determine whether an
6165 access subtype is access_to_subprogram, when applying checks for
6166 RM 3.10.2 (27).
6167
d3cb4cc0
AC
61682011-08-29 Matthew Heaney <heaney@adacore.com>
6169
6170 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Splice_Subtree): Only check
6171 for sibling when common parent.
6172
61732011-08-29 Thomas Quinot <quinot@adacore.com>
6174
6175 * get_scos.adb: Literals of Pragma_Id are pragma names prefixed with
6176 "pragma_".
6177
61782011-08-29 Ed Schonberg <schonberg@adacore.com>
6179
6180 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Enable freeze actions
6181 for the return type when in ASIS mode.
6182
61832011-08-29 Vincent Celier <celier@adacore.com>
6184
6185 * make.adb (Gnatmake): Get the default search dirs, then the target
6186 parameters after getting the Builder switches, as the Builder switches
6187 may include --RTS= and that could change the default search dirs.
6188
61892011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
6190
6191 * exp_ch7.adb (Make_Adjust_Call): Rewrite to mimic the structure of
6192 Make_Final_Call. Move the processing for class-wide types before the
6193 processing for derivations from [Limited_]Controlled.
6194 (Make_Final_Call): Move the processing for class-wide types before the
6195 processing for derivations from [Limited_]Controlled.
6196 * s-stposu.adb (Allocate_Any_Controlled): Correct the membership check.
6197 Add code to account for alignments larger than the list header. Add a
6198 comment illustrating the structure of the allocated object + padding +
6199 header.
6200 (Deallocate_Any_Controlled): Add code to account for alignments larger
6201 than the list header.
6202
62032011-08-29 Ed Schonberg <schonberg@adacore.com>
6204
6205 * sinfo.ads, sinfo.adb: New node kind
6206 N_Formal_Incomplete_Type_Definition, related flags.
6207 par-ch12.adb (P_Formal_Type_Declaration, G_Formal_Type_Definition):
6208 Parse formal incomplete types.
6209 * sem.adb (Analyze): Formal_Incomplete_Type_Definitions are handled in
6210 sem_ch12.
6211 * sem_ch7.adb (Analyze_Package_Specification, Unit_Requires_Body):
6212 Formal incomplete types do not need completion.
6213 * sem_ch12.adb (Analyze_Formal_Incomplete_Type,
6214 Validate_Incomplete_Type_Instance): New procedures to handle formal
6215 incomplete types.
6216 * freeze.adb (Freeze_Entity): Do not freeze the subtype of an actual
6217 that corresponds to a formal incomplete type.
6218 * sprint.adb: Handle formal incomplete type declarations.
6219 * exp_util.adb (Insert_Actions): An incomplete_type_definition is not
6220 an insertion point.
6221
d3f70b35
AC
62222011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
6223
6224 * a-fihema.ads, a-fihema.adb: Unit removed.
6225 * a-undesu.ads, a-undesu.adb: New unit implementing
6226 Ada.Unchecked_Deallocate_Subpool.
6227 * einfo.adb: Remove Associated_Collection from the node usage.
6228 Add Finalization_Master to the node usage.
6229 (Associated_Collection): Removed.
6230 (Finalization_Master): New routine.
6231 (Set_Associated_Collection): Removed.
6232 (Set_Finalization_Master): New routine.
6233 (Write_Field23_Name): Remove Associated_Collection from the output. Add
6234 Finalization_Master to the output.
6235 * einfo.ads: Remove attribute Associated_Collection and its uses in
6236 entities.
6237 Add new attribute Finalization_Master along with its uses in entitites.
6238 (Associated_Collection): Removed along with its pragma import.
6239 (Finalization_Master): New routine along with a pragma import.
6240 (Set_Associated_Collection): Removed along with its pragma import.
6241 (Set_Finalization_Master): New routine along with a pragma import.
6242 * exp_ch3.adb (Expand_Freeze_Array_Type): Replace call to
6243 Build_Finalization_Collection with Build_Finalization_Master.
6244 (Expand_Freeze_Record_Type): Move the generation of Finalize_Address
6245 before the bodies of the predefined routines. Add comment explaining
6246 this. Replace call to Build_Finalization_Collection with
6247 Build_Finalization_Master.
6248 (Freeze_Type): Replace call to Build_Finalization_Collection with
6249 Build_Finalization_Master.
6250 (Make_Finalize_Address_Body): Comment reformatting.
6251 (Make_Predefined_Primitive_Specs): Code reformatting.
6252 (Stream_Operation_OK): Update comment mentioning finalization
6253 collections. Replace RE_Finalization_Collection with
6254 RE_Finalization_Master.
6255 * exp_ch4.adb (Complete_Controlled_Allocation): Replace call to
6256 Associated_Collection with Finalization_Master. Replace call to
6257 Build_Finalization_Collection with Build_Finalization_Master.
6258 (Expand_Allocator_Expression): Replace call to Associated_Collection
6259 with Finalization_Master. Replace call to Set_Associated_Collection with
6260 Set_Finalization_Master. Remove the generation of
6261 Set_Finalize_Address_Ptr.
6262 (Expand_N_Allocator): Replace call to Associated_Collection with
6263 Finalization_Master. Remove the generation of Set_Finalize_Address_Ptr.
6264 * exp_ch6.adb (Add_Collection_Actual_To_Build_In_Place_Call): Renamed to
6265 Add_Finalization_Master_Actual_To_Build_In_Place_Call. Update the
6266 comment on usage. Replace call to Needs_BIP_Collection with
6267 Needs_BIP_Finalization_Master Remplace BIP_Collection with
6268 BIP_Finalization_Master. Update all comments which mention finalization
6269 collections. Replace Associated_Collection with
6270 Finalization_Master. Replace Build_Finalization_Collection with
6271 Build_Finalization_Master.
6272 (BIP_Formal_Suffix): Update BIP_Collection's case.
6273 (Build_Heap_Allocator): Update the related comment. Rename local
6274 variable Collect to Fin_Mas_Id and update its occurrences. Update
6275 comments which mention finalization collections. Replace
6276 Set_Associated_Collection with Set_Finalization_Master.
6277 (Expand_Call): Update the code which detects a special piece of library
6278 code for .NET/JVM.
6279 (Make_Build_In_Place_Call_In_Allocator): Replace the call to
6280 Add_Collection_Actual_To_Build_In_Place_Call with
6281 Add_Finalization_Master_Actual_To_Build_In_Place_Call. Remove the code
6282 which generates a call to Make_Set_Finalize_Address_Ptr_Call.
6283 (Make_Build_In_Place_Call_In_Anonymous_Context): Replace call to
6284 Add_Collection_Actual_To_Build_In_Place_Call with
6285 Add_Finalization_Master_Actual_To_Build_In_Place_Call.
6286 (Make_Build_In_Place_Call_In_Assignment): Replace call to
6287 Add_Collection_Actual_To_Build_In_Place_Call with
6288 Add_Finalization_Master_Actual_To_Build_In_Place_Call.
6289 (Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
6290 * exp_ch6.ads: Rename BIP_Collection to BIP_Finalization_Master.
6291 (Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
6292 * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Update comment on usage.
6293 Rename local variable Collect to Fin_Mas_Id and update its occurrences.
6294 Replace call to Set_Associated_Collection with Set_Finalization_Master.
6295 (Build_Finalization_Collection): Renamed to Build_Finalization_Master.
6296 Replace the call to Associated_Collection with Finalization_Master.
6297 Rename local variable Coll_Id to Fin_Mas_Id and update its occurrences.
6298 Update the way finalization master names are generated. Update the
6299 retrieval of the correct access type which will carry the pool and
6300 master attributes.
6301 (Make_Final_Call): Reimplement the way [Deep_]Finalize is retrieved.
6302 (Make_Finalize_Address_Body): Abstract types do not need
6303 Finalize_Address. Code reformatting.
6304 (Make_Finalize_Address_Stmts): Update comment on usage.
6305 (Make_Set_Finalize_Address_Ptr_Call): Removed.
6306 (Process_Declarations): Update comments.
6307 * exp_ch7.ads (Build_Finalization_Collection): Renamed to
6308 Build_Finalization_Master. Update associated comment.
6309 (Make_Set_Finalize_Address_Ptr_Call): Removed.
6310 * exp_ch13.adb: Update comments which mention finalization collections.
6311 (Expand_N_Free_Statement): Replace the call to Associated_Collection
6312 with Finalization_Master.
6313 * exp_util.adb (Build_Allocate_Deallocate_Proc): Reimplemented to
6314 create calls to routines Allocate_Any_Controlled and
6315 Deallocate_Any_Controlled.
6316 (Find_Finalize_Address): New routine.
6317 (Is_Allocate_Deallocate_Proc): Update the RTE entities used in the
6318 comparison.
6319 (Requires_Cleanup_Actions): Update the comment on freeze node
6320 inspection.
6321 * exp_util.ads: Remove comment on generated code for
6322 Build_Allocate_Deallocate_Proc. The code is now quite complex and it
6323 is better to simply look in the body.
6324 * freeze.adb (Freeze_All): Update the comment of finalization
6325 collections. Replace the call to Associated_Collection with
6326 Finalization_Master. Replace the call to Build_Finalization_Collection
6327 with Build_Finalization_Master.
6328 * impunit.adb: Add a-undesu and s-stposu to the list of units.
6329 * Makefile.rtl: Add files a-undesu, s-finmas and s-stposu. Remove file
6330 a-fihema.
6331 * rtsfind.adb (Get_Unit_Name): Remove the processing for children of
6332 Ada.Finalization. Add processing for children of System.Storage_Pools.
6333 * rtsfind.ads: Remove the naming of second level children of
6334 Ada.Finalization.
6335 Remove Ada_Finalization_Heap_Management from the list of units.
6336 Remove subtype Ada_Finalization_Child.
6337 Remove the following subprogram entities:
6338
6339 RE_Allocate
6340 RE_Deallocate
6341 RE_Finalization_Collection
6342 RE_Finalization_Collection_Ptr
6343 RE_Set_Finalize_Address_Ptr
6344
6345 Add the naming of second level children of System.Storage_Pools.
6346 Add System_Finalization_Masters and System_Storage_Pools_Subpools to
6347 the list of units.
6348 Add subtype System_Storage_Pools_Child.
6349 Add the following subprogram entities to System.Finalization_Masters:
6350
6351 RE_Finalization_Master
6352 RE_Finalization_Master_Ptr
6353
6354 Add the following subprogram entities to System.Storage_Pools.Subpools:
6355
6356 RE_Allocate_Any_Controlled
6357 RE_Deallocate_Any_Controlled
6358 RE_Root_Storage_Pool_With_Subpools
6359 RE_Root_Subpool
6360 RE_Subpool_Handle
6361
6362 Move the following subprogram entities from
6363 Ada.Finalization.Heap_Management to System.Finalization_Masters:
6364
6365 RE_Add_Offset_To_Address
6366 RE_Attach
6367 RE_Base_Pool
6368 RE_Detach
6369
6370 * sem_ch3.adb (Access_Type_Declaration): Replace the call to
6371 Set_Associated_Collection with Set_Finalization_Master.
6372 * sem_ch6.adb (Create_Extra_Formals): Update the way extra formal
6373 BIP_Finalization_Master is created.
6374 * s-finmas.adb: New unit System.Finalization_Masters.
6375 * s-finmas.ads: New unit System.Finalization_Masters.
6376 * s-stopoo.ads, s-stopoo.adb: Minor code reformatting.
6377 * s-stposu.ads, s-stposu.adb: New unit implementing
6378 System.Storage_Pools.Subpools.
6379
63802011-08-29 Bob Duff <duff@adacore.com>
6381
6382 * tbuild.adb: Add assertion.
6383
8c889ae4
AC
63842011-08-29 Thomas Quinot <quinot@adacore.com>
6385
6386 * s-pooglo.adb: Minor reformatting.
6387
63882011-08-29 Ed Schonberg <schonberg@adacore.com>
6389
6390 * exp_ch5.adb (Expand_N_Assignment_Statement): if the left-hand side is
6391 an indexed component of a packed array whose element type is a record
6392 with a representation clause different from that of the right-hand
6393 side, generate a temporary to minimuze the number of bit-field
6394 operations generated.
6395
63962011-08-29 Ed Schonberg <schonberg@adacore.com>
6397
6398 * exp_util.adb (Insert_Actions): Use clauses can be part of lists of
6399 declarations, and thus are likely insertion points for actions.
6400
64012011-08-29 Bob Duff <duff@adacore.com>
6402
6403 * einfo.ads: Minor comment fix.
6404
1a07a71a
AC
64052011-08-29 Robert Dewar <dewar@adacore.com>
6406
6407 * frontend.adb, gnat1drv.adb: Minor reformatting.
6408
64092011-08-29 Tristan Gingold <gingold@adacore.com>
6410
6411 * s-pooglo.adb (Allocate, Deallocate): Take into account the alignment.
6412 * a-fihema.adb (Allocate, Deallocate): Ditto. Possibly add padding
6413 space in front of the header.
6414
4bcd6411
JK
64152011-08-29 Johannes Kanig <kanig@adacore.com>
6416
6417 * frontend.adb (Frontend): Exit after creating Standard package when
6418 -gnatd.H is present.
6419 * gnat1drv.adb (Gnat1drv): Call Backend right away when -gnatd.H is
6420 present.
6421
f0f88eb6
RD
64222011-08-29 Robert Dewar <dewar@adacore.com>
6423
6424 * exp_ch9.adb, mlib-prj.adb, prj.adb, prj.ads, ttypes.ads, sem_ch4.adb,
6425 makeutl.adb, makeutl.ads, atree.ads, snames.adb-tmpl,
6426 snames.ads-tmpl: Minor reformatting.
6427
3e37be71
PG
64282011-08-29 Philippe Gil <gil@adacore.com>
6429
6430 * prj.adb (Reset_Units_In_Table): New procedure.
6431 Reset units to avoid access to freed memory.
6432
94fb7608
AC
64332011-08-29 Thomas Quinot <quinot@adacore.com>
6434
6435 * get_scos.adb: When reading a P statement SCO without a pragma name
6436 (from an older ALI file), ensure that the Pragma_Name component is set
6437 to Unknown_Pragma (not left uninitialized).
6438
64392011-08-29 Vincent Celier <celier@adacore.com>
6440
6441 * makeutl.adb (Get_Directories): New procedure moved from Buildgpr and
6442 modified to compute correctly the object path of a SAL project that is
6443 extending another library project.
6444 (Write_Path_File): New procedure.
6445 * makeutl.ads (Directories): New table moved from Buildgpr
6446 (Get_Directories): New procedure moved from Buildgpr
6447 (Write_Path_File): New procedure
6448 * mlib-prj.adb (Build_Library): Use Makeutl.Get_Directories to set the
6449 paths before binding SALs, instead of Set_Ada_Paths.
6450 * prj-env.adb (Set_Path_File_Var): Procedure has been moved to package
6451 Prj.
6452 * prj.adb (Set_Path_File_Var): New procedure moved from Prj.Env
6453 (Current_Source_Path_File_Of): New function
6454 (Set_Current_Object_Path_File_Of): New procedure
6455 (Current_Source_Object_File_Of): New function
6456 (Set_Current_Object_Path_File_Of): New procedure
6457 * prj.ads (Set_Path_File_Var): New procedure moved from Prj.Env
6458 (Current_Source_Path_File_Of): New function
6459 (Set_Current_Object_Path_File_Of): New procedure
6460 (Current_Source_Object_File_Of): New function
6461 (Set_Current_Object_Path_File_Of): New procedure
6462
64632011-08-29 Ed Schonberg <schonberg@adacore.com>
6464
6465 * exp_ch5.adb (Expand_N_Assignment_Statement): For an assignment to a
6466 packed entity, use a bit-field assignment only if there is no change of
6467 representation.
6468
c5ecd6b7
AC
64692011-08-29 Thomas Quinot <quinot@adacore.com>
6470
6471 * rtsfind.ads, exp_ch3.adb (In_Runtime): Minor code improvement, use
6472 Is_RTU instead of using Chars comparisons.
6473
64742011-08-29 Thomas Quinot <quinot@adacore.com>
6475
6476 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do not create a
6477 temporary object if the actual is constrained, and the discriminants
6478 read from the stream don't match.
6479
64802011-08-29 Tristan Gingold <gingold@adacore.com>
6481
6482 * sem_attr.adb, exp_attr.adb: Add handling of
6483 Attribute_System_Allocator_Alignment
6484 * snames.ads-tmpl: Add Name_System_Allocator_Alignment and
6485 Attribute_System_Allocator_Alignment.
6486 * ttypes.ads, get_targ.ads: Add Get_System_Allocator_Alignment.
6487 * gcc-interface/targtyps.c, gcc-interface/utils2.c,
6488 gcc-interface/gigi.h: Renames get_target_default_allocator_alignment to
6489 get_target_system_allocator_alignment.
6490
64912011-08-29 Arnaud Charlet <charlet@adacore.com>
6492
6493 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
6494 dependencies.
6495
8abdac29
AC
64962011-08-29 Arnaud Charlet <charlet@adacore.com>
6497
6498 * exp_ch3.adb (In_Runtime): Fix typo.
6499
df170605
AC
65002011-08-29 Bob Duff <duff@adacore.com>
6501
6502 * sem_ch4.adb (Analyze_Allocator): Analyze the subpool specification.
6503
65042011-08-29 Ed Schonberg <schonberg@adacore.com>
6505
6506 * exp_ch3.adb (Expand_N_Object_Declaration): If the entity is tagged
6507 and a separate tag assignment is generated, ensure that the tag
6508 assignment is analyzed.
6509
864a4236
ES
65102011-08-29 Ed Schonberg <schonberg@adacore.com>
6511
6512 * atree.ads, atree.adb (Copy_Separate_List): New function that applies
6513 Copy_Separate_Tree to a list of nodes. Used to create disjoint copies
6514 of statement lists that may contain local declarations.
df170605
AC
6515 * exp_ch9.adb (Expand_N_Timed_Entry_Call): Use Copy_Separate_List to
6516 duplicate the triggering statements needed for the expansion of this
6517 construct, when the trigger is a dispatching call to a synchronized
6518 primitive.
864a4236 6519
7f394c1d
AC
65202011-08-29 Arnaud Charlet <charlet@adacore.com>
6521
6522 * gnat_rm.texi: Add doc for 'Elab_Subp_Body.
6523 * bindgen.adb: Add comments.
6524 * snames.adb-tmpl (Is_Attribute_Name): Only recognize 'Elab_Subp_Body
6525 in CodePeer mode.
6526
2c1a2cf3
RD
65272011-08-29 Robert Dewar <dewar@adacore.com>
6528
6529 * exp_attr.adb: Minor reformatting.
6530 Minor code reorganization and commenting.
6531 * par_sco.adb, checks.adb, sem_attr.adb, get_scos.adb: Minor
6532 reformatting.
6533
0bfc9a64
AC
65342011-08-29 Thomas Quinot <quinot@adacore.com>
6535
6536 * get_scos.adb: Ignore chaining indicators not currently supported
6537 by Ada.
6538
65392011-08-29 Arnaud Charlet <charlet@adacore.com>
6540
6541 * system.ads: Minor editing.
6542
65432011-08-29 Arnaud Charlet <charlet@adacore.com>
6544
6545 * bindgen.adb (Gen_Elab_Calls): Generate calls to subp'Elab_Subp_Body in
6546 CodePeer mode.
6547 * sem_attr.ads, sem_attr.adb, exp_Attr.adb, sem_ch6.adb: Add handling of
6548 Attribute_Elab_Subp_Body.
6549 * snames.ads-tmpl (Attribute_Elab_Subp_Body, Name_Elab_Subp_Body): New.
6550 * sem_util.adb: Update comments.
6551
828d4cf0
TQ
65522011-08-29 Thomas Quinot <quinot@adacore.com>
6553
6554 * par_sco.adb, scos.adb, scos.ads, put_scos.adb, get_scos.adb: Record
6555 pragma name for each SCO statement corresponding to a pragma.
6556
5cd7bb15
AC
65572011-08-29 Arnaud Charlet <charlet@adacore.com>
6558
6559 * opt.ads: Minor editing.
6560
65612011-08-29 Yannick Moy <moy@adacore.com>
6562
6563 * gnat1drv.adb (Adjust_Global_Switches): Remove options for ALFA mode
6564 that only made sense for CodePeer mode.
6565
65662011-08-29 Jose Ruiz <ruiz@adacore.com>
6567
6568 * targparm.ads (Support_64_Bit_Divides_On_Target): Remove this flag
6569 which is no longer used.
6570 * targparm.adb (S64, S64_Str, Get_Target_Parameters): Remove the
6571 handling of the 64-bit division check.
6572 * exp_ch4.adb (Expand_N_Op_Divide): Remove the check for 64-bit
6573 division available.
6574 * system*.ads (Support_64_Bit_Divides): Remove this flag which is no
6575 longer used.
6576
65772011-08-29 Thomas Quinot <quinot@adacore.com>
6578
6579 * get_scos.adb: Minor reformatting.
6580
25b589cb
AC
65812011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
6582
6583 * exp_util.adb (Process_Statements_For_Controlled_Objects): Whenever a
6584 statement list is wrapped in a block, the block is explicitly analyzed
6585 in order to properly redecorate the entities and create a servicing
6586 finalizer.
6587
65882011-08-29 Tristan Gingold <gingold@adacore.com>
6589
6590 * sinfo.ads, sinfo.adb (Zero_Cost_Handling): Remove.
6591 (Set_Zero_Cost_Handling): Remove.
6592
65932011-08-29 Thomas Quinot <quinot@adacore.com>
6594
6595 * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting
6596
1197ddb1
AC
65972011-08-29 Geert Bosch <bosch@adacore.com>
6598
6599 * s-vaflop-vms-alpha.adb (Neg_F): Use subtraction instead of negation
6600 instruction, as the latter may produce -0.0, which is not a valid VAX
6601 F float number.
6602 (Neg_G): Likewise for VAX F float.
6603
66042011-08-29 Robert Dewar <dewar@adacore.com>
6605
6606 * exp_util.adb: Minor reformatting.
6607
66082011-08-29 Yannick Moy <moy@adacore.com>
6609
6610 * sem_ch3.adb: Minor comment update.
6611
66122011-08-29 Thomas Quinot <quinot@adacore.com>
6613
6614 * checks.adb (Apply_Type_Conversion_Checks): Use the Underlying_Type of
6615 the operand type.
6616
66172011-08-29 Thomas Quinot <quinot@adacore.com>
6618
6619 * par_sco.adb (Traverse_Declarations_Or_Statements): Do not flush
6620 current statement sequence on a generic instantiation or a subprogram
6621 declaration.
6622
8f66cda7
AC
66232011-08-29 Robert Dewar <dewar@adacore.com>
6624
6625 * sem_type.adb, einfo.ads, freeze.adb, exp_ch4.adb, sem_ch13.adb:
6626 Minor reformatting.
6627
66282011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
6629
6630 * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
6631 Correct the check which involves the freeze node of a controlled or
6632 access-to-controlled type.
6633
66342011-08-29 Geert Bosch <bosch@adacore.com>
6635
6636 * sem_warn.adb (Check_Code_Statement): Remove check for consecutive Asm
6637 statements.
6638 * s-vaflop-vms-alpha.adb: Remove bogus Volatile => True arguments from
6639 Asm statements.
6640
cf161d66
AC
66412011-08-29 Yannick Moy <moy@adacore.com>
6642
6643 * sem_ch3.adb (Array_Type_Declaration): Insert a subtype declaration
6644 for every index type and component type that is not a subtype_mark.
6645 (Process_Subtype): Set Etype of subtype.
6646
66472011-08-29 Robert Dewar <dewar@adacore.com>
6648
6649 * a-cbmutr.adb, a-cimutr.adb, a-comutr.adb, prj-nmsc.adb: Minor code
6650 reorganization. Minor reformatting.
6651
7cc83cd8
AC
66522011-08-29 Steve Baird <baird@adacore.com>
6653
6654 * exp_ch4.adb (Expand_N_Op_Expon): Suppress N_Op_Expon node expansion
6655 for CodePeer and ALFA modes.
6656
66572011-08-29 Ed Schonberg <schonberg@adacore.com>
6658
6659 * sem_type.adb (Collect_Interps): Within an instance, collect a homonym
6660 that comes from an enclosing scope if it is not the renaming of an
6661 actual, to handle properly a spurious ambiguity in an instance.
6662
76af4137
AC
66632011-08-29 Eric Botcazou <ebotcazou@adacore.com>
6664
6665 * sem_ch13.adb (Alignment_Check_For_Esize_Change): Rename to...
6666 (Alignment_Check_For_Size_Change): ...this. Add SIZE parameter and
6667 use it instead of the Esize of the first parameter.
6668 (Analyze_Attribute_Definition_Clause) <Object_Size>: Adjust call to
6669 above change.
6670 <Size>: Likewise. Call it for composite types on the RM size.
6671
66722011-08-29 Yannick Moy <moy@adacore.com>
6673
6674 * exp_ch4.adb (Expand_N_Op_Not): Do not expand not on array.
6675 * sem_util.adb (Unique_Name): Correct behaviour for names of
6676 compilation units.
6677
9b20e59b
AC
66782011-08-29 Yannick Moy <moy@adacore.com>
6679
6680 * sem_prag.adb (Check_Precondition_Postcondition): In formal
6681 verification mode, analyze pragma expression for correctness, for
6682 pre/post on library-level subprogram, as it is not expanded later.
6683
66842011-08-29 Yannick Moy <moy@adacore.com>
6685
6686 * exp_aggr.adb (Expand_Array_Aggregate): Do not expand array aggregates
6687 in formal verification.
6688
66892011-08-29 Thomas Quinot <quinot@adacore.com>
6690
6691 * sem_util.adb: Minor reformatting.
6692 * freeze.adb, sem_ch13.adb: Fix comment: Bit_Order is an attribute,
6693 there's no pragma.
6694 * par_sco.ads, par_sco.adb: Update comments.
6695
66962011-08-29 Yannick Moy <moy@adacore.com>
6697
6698 * einfo.adb, einfo.ads: Remove flag Is_Postcondition_Proc and
6699 associated getter/setter.
6700 * sem_ch6.adb: Remove reference to Is_Postcondition_Proc.
6701
67022011-08-29 Vincent Celier <celier@adacore.com>
6703
6704 * prj-attr.adb: New Compiler attribute Dependency_Kind and Language_Kind
6705 * prj-conf.adb: Add_Default_GNAT_Naming_Scheme: Add a package Compiler
6706 with declarations for Language_Kind and Dependency_Kind for Ada.
6707 * prj-nmsc.adb (Check_Unit_Name): New name of procedure Check_Ada_Name
6708 (Process_Compiler): Take into account the new attributes Dependency_Kind
6709 and Language_Kind.
6710 (Check_Configuration): Check if language kind is unit based, not if the
6711 language name is Ada.
6712 (Process_Exceptions_Unit_Based): Ditto
6713 (Add_Language): Remove default additions of language and dependency kind
6714 * prj.ads: Minor comment change
6715 * snames.ads-tmpl: New standard names Dependency_Kind and Language_Kind
6716
67172011-08-29 Johannes Kanig <kanig@adacore.com>
6718
6719 * debug.adb: Update comments.
6720
c5bc3df6
JM
67212011-08-24 Joseph Myers <joseph@codesourcery.com>
6722
6723 * gcc-interface/Make-lang.in (CFLAGS-ada/tracebak.o)
6724 (CFLAGS-ada/targext.o, CFLAGS-ada/cio.o, CFLAGS-ada/init.o)
6725 (CFLAGS-ada/initialize.o, CFLAGS-ada/raise.o): New.
6726 (ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o)
6727 (ada/initialize.o, ada/raise.o): Remove explicit compilation rules.
6728
e3aa9eba
RO
67292011-08-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6730
6731 * gcc-interface/Makefile.in (PICFLAG_FOR_TARGET): New.
6732 (GNATLIBCFLAGS_FOR_C): Replace
6733 TARGET_LIBGCC2_CFLAGS by PICFLAG_FOR_TARGET.
6734 (gnatlib-shared-default, gnatlib-shared-dual-win32)
6735 (gnatlib-shared-win32, gnatlib-shared-darwin, gnatlib-shared)
6736 (gnatlib-sjlj, gnatlib-zcx): Likewise.
6737
f446d60e
EB
67382011-08-07 Eric Botcazou <ebotcazou@adacore.com>
6739
6740 * gcc-interface/Makefile.in (raise-gcc.o): Fix previous change.
6741
588c8f48
EB
6742 * gcc-interface/gigi.h (enumerate_modes): Fix formatting.
6743
6744 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Revert latest change.
6745
28d711bf
NR
67462011-08-05 Nicolas Roche <roche@adacore.com>
6747
6748 * gcc-interface/Makefile.in: Don't use directly ../xgcc to build shared
6749 libgnat. Use rather the value of GCC_FOR_TARGET. Fix issue with
6750 canadian cross.
6751 * gcc-interface/Make-lang.in: Add support for canadian cross setting.
6752
993f8920
AC
67532011-08-05 Matthew Heaney <heaney@adacore.com>
6754
6755 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Child_Count, Child_Depth):
6756 subprogram bodies declared out-of-order.
6757
67582011-08-05 Yannick Moy <moy@adacore.com>
6759
6760 * sem_util.adb (Unique_Name): only prefix with "standard" the names of
6761 entities directly in package Standard, otherwise skip the standard
6762 prefix.
6763
9b3956dd
RD
67642011-08-05 Robert Dewar <dewar@adacore.com>
6765
6766 * a-cbmutr.adb: Minor reformatting
6767 (Allocate_Node): refactor node allocation algorithm
6768
67692011-08-05 Robert Dewar <dewar@adacore.com>
6770
6771 * opt.ads, opt.adb (Debug_Pragmas_Disabled): New switch.
6772 * sem_prag.adb (Analyze_Pragma, case Debug_Policy): Implement Disable
6773 mode.
6774 (Analyze_Pragma, case Check_Policy): Ditto.
6775 * sem_prag.ads (Check_Disabled): New function
6776 * snames.ads-tmpl: Add Name_Disable.
6777
67782011-08-05 Robert Dewar <dewar@adacore.com>
6779
6780 * gnat_rm.texi: Document implementation-defined policy DISABLE for
6781 pragmas Assertion_Policy, Check_Policy, Debug_Policy.
6782
79e705d6
AC
67832011-08-05 Ed Schonberg <schonberg@adacore.com>
6784
6785 * sem_prag.adb (Analyze_Pragma, case Inline): reject an Inline pragma
6786 that appears in a generic formal part and applies to a formal
6787 subprogram.
6788
67892011-08-05 Robert Dewar <dewar@adacore.com>
6790
6791 * a-cbmutr.ads: Minor reformatting.
6792
23b6deca
AC
67932011-08-05 Matthew Heaney <heaney@adacore.com>
6794
6795 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Read): do not use T'Valid
6796 to check count, check sign of value instead.
6797 * a-comutr.adb, a-cimutr.adb (Write): return immediately if tree empty
6798 (Copy_Subtree): allocate copy of source element
6799 (Equal_Subtree): compare elements, not access objects
6800
68012011-08-05 Vincent Celier <celier@adacore.com>
6802
6803 * gnat_ugn.texi: Fix VMS alternative.
6804
a2773bd3
AC
68052011-08-05 Thomas Quinot <quinot@adacore.com>
6806
6807 * sem_ch11.adb: Add comment.
6808
68092011-08-05 Robert Dewar <dewar@adacore.com>
6810
6811 * exp_util.adb: Minor comment fix.
6812
68132011-08-05 Robert Dewar <dewar@adacore.com>
6814
6815 * scng.adb (Error_Unterminated_String): Improve flag position when
6816 comma present.
6817
68182011-08-05 Matthew Heaney <heaney@adacore.com>
6819
6820 * Makefile.rtl, impunit.adb: Added a-cbmutr.ad[sb] (bounded multiway
6821 tree containers).
6822 * a-cbmutr.ads, a-cbmutr.adb: This is the new Ada 2012 unit for bounded
6823 multiway tree containers.
6824
68252011-08-05 Robert Dewar <dewar@adacore.com>
6826
6827 * styleg.adb (Check_Comment): Implement comment spacing of 1 or 2
6828 * stylesw.adb: Implement -gnatyC to control comment spacing
6829 * stylesw.ads (Style_Check_Comments_Spacing): New switch (set by
6830 -gnatyc/C).
6831 * usage.adb: Add line for -gnatyC.
6832
68332011-08-05 Robert Dewar <dewar@adacore.com>
6834
f446d60e 6835 * gnat_ugn.texi: Document -gnatyC.
a2773bd3
AC
6836 * vms_data.ads: Implement COMMENTS1/COMMENTS2 (retaining COMMENTS as a
6837 synonym for COMMENTS2).
6838
dedac3eb
RD
68392011-08-05 Robert Dewar <dewar@adacore.com>
6840
6841 * par_sco.adb, sem_ch3.adb, scos.ads, a-iteint.ads, sem_ch12.adb,
6842 a-cimutr.adb, a-cimutr.ads, sem_util.ads, sem_res.adb, a-fihema.adb,
6843 sem_ch4.adb, lib-xref-alfa.adb, exp_disp.adb, a-comutr.adb,
6844 a-comutr.ads, lib-xref.adb: Minor reformatting.
6845
68462011-08-05 Robert Dewar <dewar@adacore.com>
6847
6848 * sem_ch11.adb (Analyze_Raise_Statement): Kill assignment to formal
6849 warning if there is an exception handler present.
6850
7c62a85a
AC
68512011-08-05 Pascal Obry <obry@adacore.com>
6852
6853 * a-iteint.ads: Fix copyright year.
6854
68552011-08-05 Thomas Quinot <quinot@adacore.com>
6856
6857 * par_sco.adb (Traverse_Declarations_Or_Statements): Do not generate a
6858 statement SCO for a USE clause or a representation clause.
6859
68602011-08-05 Yannick Moy <moy@adacore.com>
6861
6862 * lib-xref-alfa.adb (Collect_ALFA): generate the proper relation
6863 between body and spec for stub.
6864 (Detect_And_Add_ALFA_Scope): take into account subprogram stub
6865 * lib-xref.adb (Enclosing_Subprogram_Or_Package): in the case of a
6866 pragma precondition or postcondition, for which the enclosing
6867 subprogram or package in the AST is not the desired one, return empty.
6868
e49208a9
AC
68692011-08-05 Thomas Quinot <quinot@adacore.com>
6870
6871 * g-expect.adb: Minor reformatting.
6872
68732011-08-05 Bob Duff <duff@adacore.com>
6874
6875 * a-fihema.adb: Comment out OS_Lib.
6876
68772011-08-05 Matthew Heaney <heaney@adacore.com>
6878
6879 * Makefile.rtl, impunit.adb: Added a-c[oi]mutr.ad[sb]
6880 (unbounded multiway tree containers) and a-iteint.ads.
6881 * a-comutr.ads, a-comutr.adb:
6882 This is the new Ada 2012 unit for unbounded multiway tree containers
6883 * a-cimutr.ads, a-cimutr.adb
6884 This is the new Ada 2012 unit for indefinite multiway tree containers
6885 * a-iteint.ads: New file.
6886
201cdb74
RO
68872011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6888
f446d60e 6889 * gcc-interface/Makefile.in (raise-gcc.o): Search $(srcdir)/../libgcc.
201cdb74 6890
d50f4827
AC
68912011-08-05 Bob Duff <duff@adacore.com>
6892
6893 * sinfo.ads, sinfo.adb (Subpool_Handle_Name): New attribute for
6894 subpools.
6895 * par-ch4.adb (P_Allocator): Parse new subpool specification syntax.
6896
68972011-08-05 Ed Schonberg <schonberg@adacore.com>
6898
6899 * sem_ch4.adb (Try_Container_Indexing): New procedure to implement the
6900 general indexing aspects of Ada2012. Called when analyzing indexed
6901 components when other interpretations fail.
6902 * sem_ch8.adb (Find_Direct_Name): check for implicit dereference only
6903 in an expression context where overloading is meaningful. This excludes
6904 the occurrence in an aspect specification (efficiency only).
6905 * sem_attr.adb (Analyze_Attribute): indicate that the attributes
6906 related to iterators can be set by an attribute specification, but
6907 cannot be queried.
6908 * sem_ch13.adb (Analyze_Aspect_Specifications): handle
6909 Constant_Indexing and Variable_Indexing.
6910 (Check_Indexing_Functions): New procedure to perform legality checks.
6911 Additional semantic checks at end of declarations.
6912
efe05dfc
AC
69132011-08-05 Sergey Rybin <rybin@adacore.com>
6914
6915 * tree_io.ads: Update ASIS_Version_Number because of the change of the
6916 order of calling Tree_Write/Tree_Read routines made for aspects.
6917
69182011-08-05 Bob Duff <duff@adacore.com>
6919
6920 * a-fihema.adb (Finalize): Fix race condition.
6921
5f9cdefe
AC
69222011-08-05 Yannick Moy <moy@adacore.com>
6923
6924 * sem_ch12.adb (Analyze_Package_Instantiation,
6925 Need_Subprogram_Instance_Body): do not generate instance bodies in ALFA
6926 mode.
6927
69282011-08-05 Ed Schonberg <schonberg@adacore.com>
6929
6930 * sem_type.adb (Specific_Type): in an instance, the type-specific
6931 operand of an equality check that involves null may have a private
6932 type. Use full view to determine legality of construct.
6933
822868aa
AC
69342011-08-05 Vincent Celier <celier@adacore.com>
6935
6936 * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
6937 delete or close the file when the call to gnatmake was successful.
6938
69392011-08-05 Yannick Moy <moy@adacore.com>
6940
6941 * gnat1drv.adb (Adjust_Global_Switches): in ALFA mode, set
6942 Global_Discard_Names.
6943
69442011-08-05 Ed Schonberg <schonberg@adacore.com>
6945
6946 * sinfo.ads: comments on use of entity field for aspect specifications.
6947
69482011-08-05 Ed Schonberg <schonberg@adacore.com>
6949
6950 * sem_ch12.adb (Reset_Entity): If the entity field of the associated
6951 node is not itself an entity but a selected component, it is a
6952 rewritten parameterless call to an en enclosing synchronized operation,
6953 and this expansion will be performed again in the instance, so there is
6954 no global information to preserve.
6955
44a10091
AC
69562011-08-05 Javier Miranda <miranda@adacore.com>
6957
6958 * exp_disp.adb (Set_All_DT_Position): Cleanup code and improve support
6959 for renamings of predefined primitives.
6960 (In_Predef_Prims_DT): New subprogram.
6961
69622011-08-05 Ed Schonberg <schonberg@adacore.com>
6963
6964 * sem_util.adb, sem_util.ads (Check_Implicit_Dereference): If a
6965 possible interpretation of name is a reference type, add an
6966 interpretation that is the designated type of the reference
6967 discriminant of that type.
6968 * sem_res.adb (resolve): If the interpretation imposed by context is an
6969 implicit dereference, rewrite the node as the deference of the
6970 reference discriminant.
6971 * sem_ch3.adb (Analyze_Subtype_Declaration, Build_Derived_Record_Type,
6972 Build_Discriminated_Subtype): Inherit Has_Implicit_Dereference from
6973 parent type or base type.
6974 * sem_ch4.adb (Process_Indexed_Component,
6975 Process_Overloaded_Indexed_Component, Indicate_Name_And_Type,
6976 Analyze_Overloaded_Selected_Component, Analyze_Selected_Component):
6977 Check for implicit dereference.
6978 (List_Operand_Interps): Indicate when an implicit dereference is
6979 ambiguous.
6980 * sem_ch8.adb (Find_Direct_Name): Check for implicit dereference.
6981
69822011-08-05 Thomas Quinot <quinot@adacore.com>
6983
6984 * scos.ads: Update documentation of SCO table. Pragma statements can now
6985 be marked as disabled (using 'p' instead of 'P' as the statement kind).
6986 * par_sco.ads, par_sco.adb: Implement the above change.
6987 (Process_Decisions_Defer): Generate a P decision for the first parameter
6988 of a dyadic pragma Debug.
6989 * sem_prag.adb (Analyze_Pragma, case Debug): Mark pragma as enabled if
6990 necessary.
6991 * put_scos.adb: Code simplification based on above change.
6992
bb3c784c
AC
69932011-08-05 Robert Dewar <dewar@adacore.com>
6994
6995 * sem_ch3.adb, gnatcmd.adb, switch-c.adb, exp_attr.adb, make.adb,
6996 bindgen.adb, einfo.adb, sem_ch12.adb, sem_attr.adb, a-fihema.adb,
6997 a-fihema.ads, sem_elab.adb, sem_elab.ads, aspects.adb, opt.ads,
6998 prj-conf.adb, sem_ch13.adb, s-ficobl.ads: Minor reformatting
6999
70002011-08-05 Bob Duff <duff@adacore.com>
7001
7002 * a-stunau.ads, g-spipat.adb: Update comments.
7003
36f686f9
BD
70042011-08-05 Bob Duff <duff@adacore.com>
7005
7006 * a-fihema.ads: Minor comment fix.
7007 * a-fihema.adb (Allocate, Deallocate): Assert that the alignment is
7008 correct.
7009 (Attach, Detach): Remove some unnecessary code.
7010 (Finalize): Remove Node_Ptr_To_Address, replace with a constant.
7011
7882673f
BD
70122011-08-05 Bob Duff <duff@adacore.com>
7013
7014 * a-fihema.ads, a-fihema.adb (Finalization_Collection): Avoid heap
7015 allocation for Objects component. This simplifies the code somewhat. It
7016 is also a little more efficient in the not-so-unusual case where there
7017 are no controlled objects allocated.
7018 Make Finalization_Started flag atomic.
7019 (Finalize): Avoid unnecessary detachment of items from the list.
7020 (pcol): Minor cleanup.
7021
d34cd274
AC
70222011-08-05 Ed Schonberg <schonberg@adacore.com>
7023
7024 * sem_ch12.adb (Analyze_Formal_Package_Declaration): reject a formal
7025 package whose name is the same as that of the generic unit, or its
7026 ultimate prefix.
7027
70282011-08-05 Bob Duff <duff@adacore.com>
7029
7030 * a-fihema.adb, a-fihema.ads: Minor comment improvements.
7031 * sem_ch3.adb, exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb:
7032 Minor comment fixes.
7033
00332244
AC
70342011-08-05 Arnaud Charlet <charlet@adacore.com>
7035
7036 * make.adb (Linking_Phase): No longer need to set source search path
7037 before calling gnatlink in CodePeer mode.
7038 * gnatlink.adb (Gnatlink): No longer pass -gnat83/95/05/12 switch to
7039 gcc in CodePeer mode, since the binder generated file no longer has a
7040 'with Main'.
7041 * switch.ads, switch.adb (Is_Language_Switch): Removed.
7042 * switch-c.adb: Update comment.
7043
70442011-08-05 Thomas Quinot <quinot@adacore.com>
7045
7046 * exp_strm.adb, bindgen.adb, s-ficobl.ads: Minor reformatting.
7047
70482011-08-05 Nicolas Roche <roche@adacore.com>
7049
7050 * gnat_ugn.texi: Fix minor syntax error issue.
7051
70522011-08-05 Vincent Celier <celier@adacore.com>
7053
7054 * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
7055 delete or close the file when the call to gnatmake returns a non
7056 successful return code.
7057
70582011-08-05 Ed Schonberg <schonberg@adacore.com>
7059
7060 * exp_ch4.adb (Expand_N_Type_Conversion): When expanding a predicate
7061 check, indicate that the copy of the original node does not come from
7062 source, to prevent an infinite recursion of the expansion.
7063
70642011-08-05 Johannes Kanig <kanig@adacore.com>
7065
7066 * debug.adb: document switch -gnatd.G for gnat2why, which deactivates
7067 VC generation for subprogram bodies.
7068
70692011-08-05 Yannick Moy <moy@adacore.com>
7070
7071 * einfo.ads: Typo.
7072 * sem_ch3.adb (Signed_Integer_Type_Declaration): in ALFA mode, define
7073 the base type with the smallest allowed base type.
7074
70752011-08-05 Sergey Rybin <rybin@adacore.com>
7076
7077 * tree_gen.adb, tree_in.adb, aspects.adb: Fix tree read-write for
7078 aspects.
7079
70802011-08-05 Ed Schonberg <schonberg@adacore.com>
7081
7082 * sem_ch12.ads: minor comment updates.
7083
70842011-08-05 Ed Schonberg <schonberg@adacore.com>
7085
7086 * sem_ch12.adb (Analyze_Formal_Package_Declaration): in an
7087 instantiation and a formal package the compiler generates a package
7088 renaming declaration so that the generic name within the declaration
7089 is interpreted as a renaming of the instance. At the end of a formal
7090 package declaration, this renaming must become invisible.
7091
0da80d7d
AC
70922011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
7093
7094 * exp_ch7.adb (Is_Init_Call): Reimplemented to avoid character
7095 comparison and rely on concrete entities instead.
7096
70972011-08-05 Ed Schonberg <schonberg@adacore.com>
7098
7099 * einfo.ads, einfo.adb (Has_Implicit_Dereference): new flag on types
7100 and discriminants, to indicate that the type has an access discriminant
7101 that supports implicit dereference.
7102 * snames.ads-tmpl: Add names of aspects and attributes related to
7103 Ada2012 iterators: constant_indexing, default_iterator,
7104 iterator_element, implicit_dereference, variable_indexing.
7105 * aspects.ads, aspects.adb: entries for iterator-related aspects.
7106 * sem_ch13.adb (Analyze_aspect_specifications): dummy entries for
7107 iterator-related aspects.
7108 * sem_attr.adb, exp_attr.adb Dummy entries for iterator-related aspects.
7109
71102011-08-05 Sergey Rybin <rybin@adacore.com>
7111
7112 * gnat_ugn.texi, vms_data.ads: Extend the subsection about coupling
7113 metrics in gnatmetric to cover new kinds of coupling mentrics.
7114
71152011-08-05 Steve Baird <baird@adacore.com>
7116
7117 * bindgen.adb (Gen_CodePeer_Wrapper): Call Ada_Main_Program instead
2c7f9cc0 7118 of calling the user-defined main subprogram.
0da80d7d
AC
7119 (Gen_Main): Declare Ada_Main_Program and (if CodePeer_Mode
7120 is set) Call_Main_Subprogram ahead of, as opposed to
7121 inside of, Main.
7122 (Gen_Output_File_Ada): Remove CodePeer_Mode-conditional
7123 generation of a "with" of the user-defined main subprogram.
7124 Remove CodePeer_Mode-conditional call to Gen_CodePeer_Wrapper
7125 (which is now called from Gen_Main instead).
7126
73242473
AC
71272011-08-05 Emmanuel Briot <briot@adacore.com>
7128
7129 * projects.texi: Added reference to the Makefile package.
7130
71312011-08-05 Thomas Quinot <quinot@adacore.com>
7132
7133 * exp_ch7.adb: Minor comment rewording.
7134
71352011-08-05 Ed Falis <falis@adacore.com>
7136
7137 * env.c: Fix comment.
7138
71392011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
7140
7141 * sem_elab.adb (Is_Finalization_Procedure): Reimplemented to avoid
7142 character comparison and rely on concrete entities instead.
7143
97ed5872
AC
71442011-08-05 Ed Schonberg <schonberg@adacore.com>
7145
7146 * sem_ch3.adb: (Check_Private_Overriding): better error message,
7147 suggested by AI95-0068.
7148
71492011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
7150
7151 * exp_ch7.adb (Find_Last_Init): Use Next_Suitable_Statement to retrieve
7152 the two potential initialization calls. This accounts for any
7153 access-before-elaboration checks which may precede the initialization
7154 calls.
7155 (Next_Suitable_Statement): New routine. Returns the next real statement
7156 after the input node while skipping generated checks.
7157 * sem_elab.adb (Check_A_Call): New formal parameter In_Init_Proc along
7158 with comment on usage.
7159 Do not generate Elaborate_All when the trigger is a finalization call
7160 coming from a type init proc.
7161 (Check_Elab_Call): Propagate the initialization procedure context to
7162 subsequent calls to Check_A_Call.
7163 (Check_Internal_Call_Continue): Propagate the initialization procedure
7164 context to subsequent calls to Check_Elab_Call.
7165 (Is_Finalization_Procedure): New routine. Returns True if the input
7166 entity denotes a [Deep_]Finalize routine.
7167 * sem_elab.ads (Check_Elab_Call): New formal parameter In_Init_Proc
7168 along with comment on usage.
7169
71702011-08-05 Vadim Godunko <godunko@adacore.com>
7171
7172 * s-atocou.ads: Add list of supported platforms.
7173
71742011-08-05 Yannick Moy <moy@adacore.com>
7175
7176 * sem_prag.adb, restrict.adb: Correct style for or'ing Boolean variables
7177
7178 * opt.ads (Disable_ALI_File): new Boolean flag
7179 * lib-writ.adb (Write_ALI): when Disable_ALI_File is set, do nothing
7180
71812011-08-05 Ed Falis <falis@adacore.com>
7182
7183 * env.c (__gnat_environ): Fix includes for RTPs and VTHREADS so that
7184 environ is properly defined.
7185
71862011-08-05 Vincent Celier <celier@adacore.com>
7187
7188 * make.adb (Compilation_Phase): Exit immediately when all objects have
7189 been found up to date, to avoid multiple exit messages.
7190 * prj-nmsc.adb (Add_Source): Allow duplicate source file names in the
7191 same project for languages with no compiler.
7192 * gnat_ugn.texi: Document compiler switch -gnateI and gnatmake switch
7193 -eI.
9aff36e9
RD
71942011-08-05 Robert Dewar <dewar@adacore.com>
7195
7196 * exp_ch7.ads, sem_type.adb, make.adb, sem_prag.adb, sem_util.adb,
7197 sem_util.ads, sem_attr.adb, restrict.ads, sem_ch6.adb, prj-conf.adb,
7198 prj-conf.ads, s-atocou.ads, s-atocou.adb, s-atocou-x86.adb,
7199 s-atocou-builtin.adb: Minor reformatting.
7200
406935b6
AC
72012011-08-05 Yannick Moy <moy@adacore.com>
7202
7203 * exp_ch7.adb (Establish_Transient_Scope): in formal verification mode,
7204 if the node to wrap is a pragma check, this node and enclosed
7205 expression are not expanded, so do not apply any transformations here.
7206 * exp_prag.adb (Expand_Pragma_Check): document the need to avoid
7207 introducing transient scopes.
7208
72092011-08-05 Jose Ruiz <ruiz@adacore.com>
7210
7211 * adaint.c (__gnat_set_writable, __gnat_set_readable,
7212 __gnat_set_executable, __gnat_set_non_writable, __gnat_set_non_readable,
7213 __gnat_copy_attribs): On VxWorks 6.x and later, the required chmod
7214 routine is available, so we use the default implementation of these
7215 functions.
7216 * s-os_lib.ads (Copy_File, Copy_Time_Stamps): Document that there is
7217 support for copying attributes on VxWorks 6.
7218
72192011-08-05 Yannick Moy <moy@adacore.com>
7220
7221 * debug.adb: Remove use of -gnatd.D.
7222 * gnat1drv.adb (Adjust_Global_Switches): adjust switches for ALFA mode
7223 * opt.ads: Simplify variables for ALFA mode, to keep one only
7224 * restrict.adb, sem_prag.adb: Adapt treatment done for CodePeer mode
7225 to ALFA mode.
7226
72272011-08-05 Vincent Celier <celier@adacore.com>
7228
7229 * prj-conf.adb (Do_Autoconf): Look also for --RTS in
7230 Builder'Default_Switches.
7231
72322011-08-05 Vincent Celier <celier@adacore.com>
7233
7234 * makeusg.adb: Add lines for --create-map-file switches.
7235
72362011-08-05 Ed Schonberg <schonberg@adacore.com>
7237
7238 * freeze.adb (Freeze_Entity): For a subprogram, if a type in the
7239 profile is incomplete and the full view is available, replace it with
7240 the full view.
7241 * sem_ch6.adb (Possible_Freeze): if a type in the profile is
7242 incomplete, freezing the subprogram is delayed until the full view is
7243 frozen.
7244 * sem_type.adb (Disambiguate): an ambiguity between a user-defined
7245 fixed-point multiplication operator and the predefined operator is
7246 resolved in favor of the user-defined one.
7247
96c891b3
RO
72482011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7249
7250 * init.c [__alpha__ && __osf__] (__gnat_error_handler): Use
7251 CONST_CAST.
7252
276e7ed0
AC
72532011-08-04 Ed Schonberg <schonberg@adacore.com>
7254
7255 * sem_util.ads, sem_unit.adb (Type_Without_Stream_Operation): determine
7256 whether a type lacks user-defined Read or Write operations, or has a
7257 component that lacks them.
7258 * sem_attr.adb (Check_Stream_Attribute): if restriction
7259 No_Default_Stream_Attributes is active, verify that all subcomponent
7260 types of the target have user-defined stream operations, and report
7261 error otherwise.
7262 * exp_ch3.adb (Stream_Operqtion_OK): use Type_Without_Stream_Operation.
7263 * exp_strm.adb: Build_Elementary_Input_Call,
7264 Build_Elementary_Write_Call): remove checks for restriction
7265 No_Default_Stream_Attributes, now checked in semantics.
7266
72672011-08-04 Vincent Celier <celier@adacore.com>
7268
7269 * prj-conf.ads, prj-conf.adb (Do_Autoconf): If there is no --RTS
7270 switches on the command line, look for all valid --RTS switches in the
7271 Builder switches and for each language use the first runtime name found
7272 to invoke gprconfig.
7273 (Get_Or_Create_Configuration_File): Warn if --RTS is specified on the
7274 command line and there is no auto-configuration.
7275 (Runtime_Name_Set_For): New function.
7276
72772011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
7278
7279 * exp_ch7.adb (Build_Object_Declarations): Do not generate the
7280 elaborate initialization expression for variable Abort when processing
7281 a package body or a declaration.
7282 (Create_Finalizer): Propagate the package context when creating the
7283 exception-related variables.
7284 * exp_ch7.ads (Build_Object_Declarations): New formal parameter
7285 For_Package along with usage comment.
7286
19172ae9
AC
72872011-08-04 Arnaud Charlet <charlet@adacore.com>
7288
7289 * gcc-interface/Makefile.in: Clean up targets.
7290 Enable new package for atomic counters and copy-on-write implementation
7291 of unbounded strings on x86 platforms.
7292 * gcc-interface/Make-lang.in: Update dependencies.
7293
0319cacc
AC
72942011-08-04 Robert Dewar <dewar@adacore.com>
7295
7296 * exp_ch7.adb: Minor reformatting.
7297
72982011-08-04 Robert Dewar <dewar@adacore.com>
7299
7300 * exp_strm.adb: Minor reformatting.
7301
73022011-08-04 Vadim Godunko <godunko@adacore.com>
7303
7304 * s-atocou.adb: Replace by dummy version and use on targets where atomic
7305 operations are not supported.
7306 * s-atocou-builtin.adb: Renamed from s-atocou.adb.
7307 * s-atocou-x86.adb: New file.
7308 * Makefile.rtl: Add s-atocou.o file
7309
73102011-08-04 Arnaud Charlet <charlet@adacore.com>
7311
7312 * make.adb (Compile): Move setting of CodePeer_Mode to ...
7313 (Compilation_Phase): ... here.
7314 (Scan_Make_Arg): Now bind and link by default in CodePeer mode.
7315
73162011-08-04 Thomas Quinot <quinot@adacore.com>
7317
7318 * Make-generated.in: Fix minor typo in comment.
7319
26e7e1a0
AC
73202011-08-04 Thomas Quinot <quinot@adacore.com>
7321
7322 * gnatls.adb: Use Prj.Env.Initialize_Default_Project_Path to retrieve
7323 the project path.
7324
73252011-08-04 Robert Dewar <dewar@adacore.com>
7326
7327 * a-coinho.adb: Minor reformatting.
7328
73292011-08-04 Robert Dewar <dewar@adacore.com>
7330
7331 * a-coinho.ads: Minor reformatting.
7332
73332011-08-04 Vadim Godunko <godunko@adacore.com>
7334
7335 * s-atocou.ads, s-atocou.adb: New files.
7336 * a-strunb-shared.ads, a-strunb-shared.adb, a-stwiun-shared.ads,
7337 a-stwiun-shared.adb, a-stzunb-shared.ads, a-stzunb-shared.adb: Remove
7338 direct use of GCC's atomic builtins and replace them by use of new
7339 atomic counter package.
7340
73412011-08-04 Ed Schonberg <schonberg@adacore.com>
7342
7343 * exp_strm.adb: better error message for No_Default_Stream_Attributes.
7344
73452011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
7346
7347 * a-tags.adb (Unregister_Tag): Replace the complex address arithmetic
7348 with a call to Get_External_Tag.
7349 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on
7350 subprogram usage. Remove the guard against package declarations and
7351 bodies since Build_Cleanup_Statements is no longer invoked in that
7352 context.
7353 (Build_Components): Initialize Tagged_Type_Stmts when the context
7354 contains at least one library-level tagged type.
7355 (Build_Finalizer): New local variables Has_Tagged_Types and
7356 Tagged_Type_Stmts along with associated comments on usage. Update the
7357 logic to include tagged type processing.
7358 (Create_Finalizer): Insert all library-level tagged type unregistration
7359 code before the jump block circuitry.
7360 (Expand_N_Package_Body): Remove the call to Build_Cleanup_Statements.
7361 (Expand_N_Package_Declaration): Remove the call to
7362 Build_Cleanup_Statements.
7363 (Process_Tagged_Type_Declaration): New routine. Generate a call to
7364 unregister the external tag of a tagged type.
7365 (Processing_Actions): Reimplemented to handle tagged types.
7366 (Process_Declarations): Detect the declaration of a library-level
7367 tagged type and carry out the appropriate actions.
7368 (Unregister_Tagged_Types): Removed. The machinery has been directly
7369 merged with Build_Finalizer.
7370
7483c888
AC
73712011-08-04 Robert Dewar <dewar@adacore.com>
7372
7373 * bindgen.ads, gnatlink.adb, sem_ch4.adb, gnatbind.adb, put_alfa.adb,
7374 gnatls.adb, exp_ch3.adb: Minor reformatting.
7375
73762011-08-04 Marc Sango <sango@adacore.com>
7377
7378 * sem_attr.adb (Analyze_Attribute): Replace the message
7379 "invisible attribute of}" of the spark restriction violation in
7380 attribute reference by the simple message "invisible attribute of type".
7381 Indeed, the node value Error_Msg_Node_1 used is in conflit with the
7382 two insertion characters: '&' and '}'.
7383
73842011-08-04 Vadim Godunko <godunko@adacore.com>
7385
7386 * impunit.adb (Non_Imp_File_Names_12): Add "a-coinho".
7387 * a-coinho.ads, a-coinho.adb: New file.
7388 * Makefile.rtl: Add Ada.Containers.Indefinite_Holders.
7389
5207696c
AC
73902011-08-04 Nicolas Roche <roche@adacore.com>
7391
7392 * alfa_test.adb: Not all ali files are containing alfa information even
7393 if compiled with -gnatd.F. So suppress warning about missing ALFA
7394 information.
7395
73962011-08-04 Yannick Moy <moy@adacore.com>
7397
7398 * lib-xref-alfa.adb (Add_ALFA_Scope): use non-empty unique name for
7399 scope.
7400 * put_alfa.adb: Check that scope name is not empty.
7401
74022011-08-04 Ed Schonberg <schonberg@adacore.com>
7403
7404 * exp_ch3.adb (Stream_Operation_Ok): new predicate
7405 Needs_Elementary_Stream_Operation, to determine whether user-defined
7406 Read and Write attributes are available for the elementary components
7407 of the given type. If only the predefined attributes are available,
7408 then when restriction No_Default_Stream_Attributes is active the
7409 predefined stream attributes for the composite type cannot be created.
7410
74112011-08-04 Robert Dewar <dewar@adacore.com>
7412
7413 * bindgen.adb: Fix obsolete comments and names from Ada/C days.
7414 Put routines in alpha order
7415
2bd2d858
JR
74162011-08-04 Jose Ruiz <ruiz@adacore.com>
7417
7418 * gcc-interface/Makefile.in: Remove xenomai specific versions of system.
7419 * gcc-interface/Make-lang.in: Update dependencies.
7420
8fae6016
AC
74212011-08-04 Arnaud Charlet <charlet@adacore.com>
7422
7423 * gcc-interface/lang.opt: Add AdaWhy language, simimlar to Ada.
7424 * gcc-interface/lang-specs.h: Add handling of AdaWhy specs (calls
7425 gnat1why).
7426
a54d0eb4
AC
74272011-08-04 Robert Dewar <dewar@adacore.com>
7428
7429 * sem_ch3.adb, make.adb, a-cohata.ads, sem_prag.adb, makeutl.adb,
7430 lib-xref-alfa.adb: Minor reformatting.
7431
74322011-08-04 Marc Sango <sango@adacore.com>
7433
7434 * sem_ch12.adb (Analyze_Generic_Package_Declaration,
7435 Analyze_Generic_Subprogram_Declaration, Analyze_Package_Instantiation,
7436 Analyze_Subprogram_Instantiation): Check absence of generic in SPARK
7437 mode.
7438
74392011-08-04 Tristan Gingold <gingold@adacore.com>
7440
7441 * bindgen.adb (Gen_Adainit_C): Remove.
7442 (Gen_Adafinal_C): Ditto.
7443 (Gen_Elab_Externals_C): Ditto.
7444 (Gen_Elab_Calls_C): Ditto.
7445 (Gen_Elab_Order_C): Ditto.
7446 (Gen_Elab_Defs_C): Ditto.
7447 (Gen_Finalize_Library_C): Ditto.
7448 (Gen_Finalize_Library_Defs_C): Ditto.
7449 (Gen_Main_C): Ditto.
7450 (Gen_Output_File_C): Ditto.
7451 (Gen_Restrictions_C): Ditto.
7452 (Gen_Versions_C): Ditto.
7453 (Write_Info_Ada_C): Ditto.
7454 (Gen_Object_Files_Options): Call WBI instead of Write_Info_Ada_C
7455 (Gen_Output_File): Do not force Ada_Bind_File anymore.
7456 Always call Gen_Output_File_Ada.
7457 * gnatlink.adb (Begin_Info): Now a constant.
7458 (End_Info): Ditto.
7459 (Ada_Bind_File): Remove
7460 (Process_Args): Do not handle -A/-C. Remove not Ada_Bind_File cases.
7461 * switch-b.adb (Scan_Binder_Switches): Do not handle -C.
7462 * gnatbind.adb (Gnatbind): Remove not Ada_Bind_File cases.
7463 * opt.ads (Ada_Bind_File): Remove.
7464
74652011-08-04 Thomas Quinot <quinot@adacore.com>
7466
7467 * projects.texi: Document target-specific directory in default project
7468 path for gnatmake.
7469
74702011-08-04 Thomas Quinot <quinot@adacore.com>
7471
7472 * gnatls.adb, prj-env.adb: Add $prefix/share/gpr to default project
7473 path in all cases .
7474
24558db8
AC
74752011-08-04 Yannick Moy <moy@adacore.com>
7476
7477 * sem_ch3.adb, sem_ch5.adb, sem_util.adb, sem_ch4.adb, sem_ch8.adb,
7478 opt.ads, lib-xref.ads: Code clean up.
7479
74802011-08-04 Yannick Moy <moy@adacore.com>
7481
7482 * gnat_rm.texi: Update description of Test_Case
7483 * gnat_ugn.texi: Typo.
7484
74852011-08-04 Ed Falis <falis@adacore.com>
7486
7487 * adaint.c (__gnat_get_number_of_cpus): fix typo in last checkin.
7488
74892011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
7490
7491 * exp_ch4.adb (Suitable_Element): Skip field _parent on .NET/JVM when
7492 it is of type Root_Controlled. This action eliminates fields Prev and
7493 Next from type equality.
7494
74952011-08-04 Yannick Moy <moy@adacore.com>
7496
7497 * lib-xref-alfa.adb: Correct typo.
7498
74992011-08-04 Matthew Heaney <heaney@adacore.com>
7500
7501 * a-cohata.ads (Hash_Table_Type): default-initialize the Nodes
7502 component.
7503
1f9939b5
AC
75042011-08-04 Yannick Moy <moy@adacore.com>
7505
7506 * sem_prag.adb (Check_Arg_Is_String_Literal): remove useless procedure
7507 (Analyze_Pragma): allow static string expression for name of Test_Case,
7508 instead of simply string literals.
7509 * sem_util.adb (Get_Name_From_Test_Case_Pragma): adapt to static string
7510 expressions.
7511
75122011-08-04 Vincent Celier <celier@adacore.com>
7513
7514 * makeutl.adb (Complete_Mains.Find_File_Add_Extension): Use canonical
7515 case suffixes to find truncated main sources.
7516
75172011-08-04 Tristan Gingold <gingold@adacore.com>
7518
7519 * impunit.adb (Non_Imp_File_Names_95): Add g-tastus.
7520 s-stusta.adb (Compute_All_Task): Use Put_Line instead of Put.
7521 (Compute_Current_Task): Ditto.
7522
75232011-08-04 Tristan Gingold <gingold@adacore.com>
7524
7525 * gnat_ugn.texi: Mention GNAT.Task_Stack_Usage.
7526
75272011-08-04 Yannick Moy <moy@adacore.com>
7528
7529 * lib-xref-alfa.adb (Is_Global_Constant): new function that detects
7530 library-level constant.
7531 (Add_ALFA_Xrefs): ignore global constants in ALFA xref.
7532 * sem_res.adb (Resolve_Actuals): do not add cross-reference to Formal
7533 used as selector of parameter association, in ALFA mode.
7534
15d8a51d
AC
75352011-08-04 Robert Dewar <dewar@adacore.com>
7536
7537 * exp_ch5.adb, exp_ch7.adb, exp_util.adb, bindgen.adb, sem_prag.adb,
7538 s-tassta.adb, exp_ch4.adb, exp_disp.adb, s-stausa.adb: Minor
7539 reformatting.
7540
75412011-08-04 Arnaud Charlet <charlet@adacore.com>
7542
7543 * make.adb (Linking_Phase): Set source search path before calling
7544 gnatlink in CodePeer mode.
7545
f46faa08
AC
75462011-08-04 Javier Miranda <miranda@adacore.com>
7547
7548 * exp_ch7.adb (Expand_N_Package_Body, Expand_N_Package_Declaration):
7549 Remove code which takes care of building TSDs.
7550 * rtsfind.ads (RE_Check_Interface_Conversion): New entity.
7551 * exp_ch4.adb (Apply_Accessibility_Check): Add support for generating
7552 the accessibility check in VM targets.
7553 * exp_disp.adb (Make_VM_TSD): Spec moved to exp_disp.ads
7554 (Building_Static_DT): Now returns false for VM targets.
7555 (Build_VM_TSDs): Removed.
7556 (Expand_Interface_Conversion): Generate missing runtime check for
7557 conversions to interface types whose target type is unknown at compile
7558 time.
7559 (Make_VM_TSD): Add missing code to disable the generation of calls to
7560 Check_TSD if the tagged type is not defined at library level, or not
7561 has a representation clause specifying its external tag, or -gnatdQ is
7562 active.
7563 * exp_disp.ads (Build_VM_TSDs): Removed.
7564 (Make_VM_TSDs): Spec relocated from exp_disp.adb
7565 * sem_disp.adb (Check_Dispatching_Operation): No code required to
7566 register primitives in the dispatch tables in VM targets.
7567 * exp_ch3.adb (Expand_N_Object_Declaration): Remove wrong expansion of
7568 initialization of class-wide interface objects in VM targets.
7569 (Expand_Freeze_Record_Type): For VM targets call Make_VM_TSD (instead
7570 of Make_DT).
7571
75722011-08-04 Jerome Lambourg <lambourg@adacore.com>
7573
7574 * gnatlink.adb (Gnatlink): Correct missleading error message displayed
7575 when dotnet-ld cannot be found.
7576
75772011-08-04 Arnaud Charlet <charlet@adacore.com>
7578
7579 * bindgen.adb: Simplify significantly generation of binder body file in
7580 CodePeer mode.
7581 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Prevent assert failure
7582 when compiling binder generated file in CodePeer mode (xxx'Elab_Spec
7583 not expanded).
7584
2ba7e31e
AC
75852011-08-04 Yannick Moy <moy@adacore.com>
7586
7587 * sem_prag.adb, sem.ads: Code cleanup.
7588
75892011-08-04 Tristan Gingold <gingold@adacore.com>
7590
7591 * s-tassta.adb (Task_Wrapper): Rewrite the dynamic stack usage part.
7592 * s-stausa.adb, s-stausa.ads: Major rewrite. Now provides accurate
7593 results if possible.
7594 * s-stusta.adb (Print): Adjust after changes in s-stausa.
7595 * gnat_ugn.texi: Update dynamic stack usage section.
7596
75972011-08-04 Steve Baird <baird@adacore.com>
7598
7599 * bindgen.adb (Gen_CodePeer_Wrapper): new procedure.
7600 Generate (if CodePeer_Mode is set) a "wrapper" subprogram which
7601 contains only a call to the user-defined main subprogram.
7602 (Gen_Main_Ada) - If CodePeer_Mode is set, then
7603 call the "wrapper" subprogram instead of directly
7604 calling the user-defined main subprogram.
7605
76062011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
7607
7608 * exp_ch5.adb (Expand_N_Case_Statement): Check the statements of all
7609 alternatives of a case statement for controlled objects. Rename local
7610 variable A to Dead_Alt.
7611 (Expand_N_If_Statement): Check the then and else statements of an if
7612 statement for controlled objects. Check the then statements of all
7613 elsif parts of an if statement for controlled objects.
7614 (Expand_N_Loop_Statement): Check the statements of a loop for controlled
7615 objects.
7616 * exp_ch7.adb (Process_Transient_Objects): Rewrite the condition which
7617 detects a loop associated with the expansion of an array object.
7618 Augment the processing of the loop statements to account for a possible
7619 wrap done by Process_Statements_For_Controlled_Objects.
7620 * exp_ch9.adb (Expand_N_Asynchronous_Select): Check the triggering
7621 statements and abortable part of an asynchronous select for controlled
7622 objects.
7623 (Expand_N_Conditional_Entry_Call): Check the else statements of a
7624 conditional entry call for controlled objects.
7625 (Expand_N_Selective_Accept): Check the alternatives of a selective
7626 accept for controlled objects.
7627 (Expand_N_Timed_Entry_Call): Check the entry call and delay
7628 alternatives of a timed entry call for controlled objects.
7629 * exp_ch11.adb (Expand_Exception_Handlers): Check the statements of an
7630 exception handler for controlled objects.
7631 * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
7632 Add formal parameter Nested_Constructs along with its associated
7633 comment.
7634 (Requires_Cleanup_Actions (Node_Id)): Update all calls to
7635 Requires_Cleanup_Actions.
7636 (Process_Statements_For_Controlled_Objects): New routine.
7637 * exp_util.ads (Process_Statements_For_Controlled_Objects): New
7638 routine. Inspect a node which contains a non-handled sequence of
7639 statements for controlled objects. If such an object is found, the
7640 statements are wrapped in a block.
7641
1bf773bb
AC
76422011-08-04 Bob Duff <duff@adacore.com>
7643
7644 * sem_type.adb (Covers): If T2 is a subtype of a class-wide type, we
7645 need to compare with Class_Wide_Type (T2), in order to get at the
7646 original class-wide type node.
7647 * sem_type.ads (Covers): Improve the comment.
7648 * einfo.ads (Class_Wide_Type): Improve the comment.
7649 * exp_intr.adb (Expand_Unc_Deallocation): Remove unnecessary setting of
7650 the type of the Deref.
7651
76522011-08-04 Yannick Moy <moy@adacore.com>
7653
7654 * gnat_rm.texi: Document that Test_Case pragma can only appear on
7655 separate declarations.
7656 * sem_prag.adb (procedure Check_Identifier_Is_One_Of): new procedure to
7657 check identifier of pragma argument.
7658 (Chain_TC): check that no other test case associated to the same entity
7659 share the same name.
7660 (Check_Test_Case): disallow test case inside subprogram body
7661 (Analyze_Pragma): correct call to check identifier and not argument
7662 * sem_util.adb, sem_util.ads (Get_Name_From_Test_Case_Pragma): new
7663 function gets name from test case pragma.
7664
dac3bede
YM
76652011-08-04 Yannick Moy <moy@adacore.com>
7666
7667 * gnat_rm.texi: Document new pragma and aspect.
7668 * aspects.adb, aspects.ads (Aspect_Id): new value Aspect_Test_Case
7669 (No_Duplicates_Allowed): new constant array defining whether duplicates
7670 aspects of each kind can appear on the same declaration.
7671 * einfo.adb, einfo.ads (Spec_PPC_List): replace field with Contract
7672 field, which points to a node holding the previous Spec_PPC_List.
7673 * exp_ch9.adb, sem_ch6.adb, sem_prag.adb: Reach to Spec_PPC_List
7674 through the indirection with Contract.
7675 * exp_util.adb (Insert_Actions): raise Program_Error on N_Contract node
7676 * par-prag.adb (Prag): do nothing on Test_Case pragma
7677 * sem.adb (Analyze): abort on N_Contract, on which Analyze should not
7678 be called directly.
7679 * sem_attr.adb (Analyze_Attribute): allow attribute 'Result in
7680 component Ensures of Test_Case.
7681 * sem_ch12.adb, sem_ch6.adb, sem_ch9.adb
7682 (Analyze_Generic_Subprogram_Declaration,
7683 Analyze_Subprogram_Instantiation,
7684 Analyze_Abstract_Subprogram_Declaration,
7685 Analyze_Subprogram_Body_Helper,
7686 Analyze_Subprogram_Specification, Analyze_Entry_Declaration):
7687 insert contract in subprogram node at point of definition
7688 * sem_ch13.adb
7689 (Aspect_Loop): do not raise error on duplicate Test_Case aspect
7690 (Analyze_Aspect_Specifications): analyze Test_Case aspect and create
7691 corresponding pragma
7692 (Check_Aspect_At_Freeze_Point): raise Program_Error on Test_Case aspect
7693 * sem_ch3.adb (Analyze_Declarations): insert analysis of test-cases,
7694 similar to the analysis of pre/post
7695 (Derive_Subprogram): insert contract in subprogram node at point of
7696 derivation.
7697 * sem_prag.adb, sem_prag.ads
7698 (Check_Arg_Is_String_Literal, Check_Identifier):
7699 new checking procedures to be called in treatment of pragmas
7700 (Check_Test_Case): new procedure to check that a Test_Case aspect or
7701 pragma is well-formed. This does not check currently that 'Result is
7702 used only in the Ensures component of a Test_Case.
7703 (Analyze_Pragma): add case for Test_Case
7704 (Analyze_TC_In_Decl_Part): pre-analyze the Requires and Ensures
7705 components of a Test_Case.
7706 (Preanalyze_TC_Args): new procedure to preanalyze the boolean
7707 expressions in the 3rd (and 4th if present) arguments of a Test_Case
7708 pragma, treated as spec expressions.
7709 (Sig_Flags): add value -1 for Test_Case.
7710 * sem_util.adb, sem_util.ads (Get_Ensures_From_Test_Case_Pragma,
7711 Get_Requires_From_Test_Case_Pragma): getters for both expression
7712 components of a Test_Case.
7713 * sinfo.adb, sinfo.ads (N_Contract): new kind of node used as
7714 indirection between an entry or [generic] subprogram entity and its
7715 pre/post + test-cases.
7716 (Spec_PPC_List, Spec_TC_List, Set_Spec_PPC_List, Set_Spec_TC_List):
7717 get/set for fields of an N_Contract node.
7718 * snames.ads-tmpl (Name_Test_Case, Name_Ensures, Name_Mode,
7719 Name_Normal, Name_Requires, Name_Robustness, Pragma_Test_Case): new
7720 names and pragma for Test_Case.
7721 * sprint.adb (Sprint_Node): raise Program_Error on N_Contract node
7722
6a2e5d0f
AC
77232011-08-04 Vincent Celier <celier@adacore.com>
7724
7725 * gnat_ugn.texi: Improve documentation of gnatmake switch
7726 --source-info-file=.
7727
77282011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
7729
7730 * exp_ch7.adb (Make_Final_Call): Add local variable Atyp (assertion
7731 type). Initialize Atyp to the appropriate type which is later checked
7732 for completion. Rewrite the assertion associated with private type
7733 completion.
7734
77352011-08-04 Ed Falis <falis@adacore.com>
7736
7737 * adaint.c: Add call to vxCpuConfiguredGet for VxWorks SMP to
7738 initialize the number of CPUs.
7739
77402011-08-04 Ed Schonberg <schonberg@adacore.com>
7741
7742 * sem_type.adb (Disambiguate): New subsidiary routine
7743 In_Same_Declaration_List, to implement AI05-0020: a user-defined
7744 equality on an anonymous access type whose designated type is private
7745 does not lead to an ambiguity with the universal access equality
7746 operator in the body or child units of the defining package. The same
7747 is true for a multiplication operator on a private type completed with
7748 a fixed-point-type.
7749
77502011-08-04 Javier Miranda <miranda@adacore.com>
7751
7752 * opt.ads (Init_Or_Norm_Scalars_Config): Removed.
7753 (Normalize_Scalars_Config): Removed.
7754 * opt.adb
7755 (Register_Opt_Config_Switches): Remove registering config values of
7756 Init_Or_Norm_Scalars_Config and Normalize_Scalars_Config.
7757 (Restore_Opt_Config_Switches): Remove code which restores the values of
7758 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
7759 Init_Or_Norm_Scalars.
7760 (Save_Opt_Config_Switches): Remove code which saves values of
7761 Init_Or_Norm_Scalars and Normalize_Scalars.
7762 (Set_Opt_Config_Switches): Remove code which restores config values of
7763 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
7764 Init_Or_Norm_Scalars.
7765
77662011-08-04 Yannick Moy <moy@adacore.com>
7767
7768 * frontend.adb (Frontend): remove previous patch to avoid full
7769 qualification in ALFA mode.
7770 * lib-xref-alfa.adb (Add_ALFA_Xrefs): use unique name for variables.
7771 * sem_util.adb, sem_util.ads (Unique_Name): new function to define a
7772 unique name for an entity, which could be used to identify the entity
7773 across compilation units.
7774
77752011-08-04 Thomas Quinot <quinot@adacore.com>
7776
7777 * prj-env.adb
7778 (Initialize_Default_Project_Path): Add target specific directory
7779 ($prefix/$target/lib/gnat) in front of project path in all cases
7780 (making gnatmake's behaviour consistent with gprbuild).
7781 * gnatcmd.adb, make.adb, prj-makr.adb, clean.adb:
7782 Pass target name from Sdefault to project subsystem.
7783 * gnatls.adb: Show new target specific default project directory.
7784
77852011-08-04 Johannes Kanig <kanig@adacore.com>
7786
7787 * cstand.adb: Add Information to Identifier in Standard
7788 (Identifer_For): Set Entity to the corresponding entity
7789
483361a6
AC
77902011-08-04 Sergey Rybin <rybin@adacore.com>
7791
7792 * gnat_ugn.texi: Update doc on gnatcheck.
7793
77942011-08-04 Yannick Moy <moy@adacore.com>
7795
7796 * lib-xref-alfa.adb (Add_ALFA_Xrefs): correct definition of ranges of
7797 xrefs in a scope.
7798
77992011-08-04 Yannick Moy <moy@adacore.com>
7800
7801 * exp_prag.adb (Expand_Pragma_Check): in ALFA mode, return without
7802 performing expansion.
7803 * sem_ch6.adb (Analyze_Subprogram_Body_Helper,
7804 Analyze_Generic_Subprogram_Body): protect call to Process_PCCs so that
7805 it is not called in ALFA mode.
7806
ef5569c6
AC
78072011-08-04 Emmanuel Briot <briot@adacore.com>
7808
7809 * make.adb, osint.adb, osint.ads (Reset_Command_Line_Files): not used
7810 after all, so removed.
7811
78122011-08-04 Sergey Rybin <rybin@adacore.com>
7813
7814 * vms_data.ads: Add missing VMS qualifiers.
7815
1ab4a286
EB
78162011-08-04 Emmanuel Briot <briot@adacore.com>
7817
7818 * make.adb, makeutl.adb, osint.adb, osint.ads (Check_Mains): rebuild
7819 the list of files on the command line after processing it through
7820 Complete_Mains.
7821
7ae0d98c
AC
78222011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
7823
7824 * exp_ch7.adb (Build_Raise_Statement): Remove the specialized
7825 processing for .NET/JVM. These targets can now benefit from
7826 Raise_From_Controlled_Operation and they share the same processing with
7827 standard targets.
7828 (Establish_Transient_Scope): Remove the restriction for .NET/JVM.
7829 These targets need transient scopes in order to properly finalize short
7830 lived controlled objects.
7831 (Make_Handler_For_Ctrl_Operation): Remove the specialized processing for
7832 NET/JVM. These targets can now benefit from
7833 Raise_From_Controlled_Operation and they share the same processing with
7834 standard targets.
7835
78362011-08-04 Geert Bosch <bosch@adacore.com>
7837
7838 * tracebak.c (STOP_FRAME): Stop at any next pointer outside the stack
7839
78402011-08-04 Ed Schonberg <schonberg@adacore.com>
7841
7842 * exp_aggr.adb (Has_Visible_Private_Ancestor): subsidiary routine to
7843 Expand_Record_Aggregate, to determine whether aggregate must be
7844 expanded into assignments. This is the case if the ancestor part is
7845 private, regarless of the setting of the flag Has_Private_Ancestor.
7846
78472011-08-04 Ed Falis <falis@adacore.com>
7848
7849 * vxaddr2line.adb: Add support for e500v2 and for Linux hosts
7850
78512011-08-04 Bob Duff <duff@adacore.com>
7852
7853 * sinfo.ads: Fix comment.
7854
78552011-08-04 Steve Baird <baird@adacore.com>
7856
7857 * bindgen.adb (Get_Ada_Main_Name): If CodePeer_Mode is set, then
7858 choose a package name in much the same way as is
7859 done for JGNAT when VM_Target /= No_VM, except that
7860 a slightly more distinctive prefix string is used.
7861
78622011-08-04 Emmanuel Briot <briot@adacore.com>
7863
7864 * makeutl.adb (Complete_Mains): no longer accept unit names on the
7865 gnatmake command line.
7866 This behavior was never documented (and was supported only because of
7867 an early bug in the code). This case might lead to ambiguous cases
7868 (between unit names and truncated base names without suffixes).
7869
87729e5a
AC
78702011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
7871
7872 * a-tags.ads, a-tags.adb (Unregister_Tag): New routine.
7873 Remove the external tag of a tagged type from the internal hash table.
7874 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on the
7875 expanded usage of the routine. Strenghten the check for Is_Master. Add
7876 processing for tagged types.
7877 (Build_Finalizer): Create all the necessary lists used in finalizer
7878 creation when the processed context is a package that may contain
7879 tagged types.
7880 (Expand_Cleanup_Actions): Rename the call to Has_Controlled_Objects to
7881 Requires_Cleanup_Actions.
7882 (Expand_N_Package_Body): Package bodies may need clean up code
7883 depending on whether they contain tagged types.
7884 (Expand_N_Package_Declaration): Package declarations may need clean up
7885 code depending on whether they contain tagged types.
7886 (Unregister_Tagged_Types): New routine. Search through a list of
7887 declarations or statements, looking for non-abstract Ada tagged types.
7888 For each such type, generate code to unregister the external tag.
7889 * exp_util.adb (Has_Controlled_Objects (Node_Id)): Renamed to
7890 Requires_Cleanup_Actions.
7891 (Requires_Cleanup_Actions (List_Id, Boolean)): New routine. Search
7892 through a list of declarations or statements looking for non-abstract
7893 Ada tagged types or controlled objects.
7894 * exp_util.ads (Has_Controlled_Objects (Node_Id)): Renamed to
7895 Requires_Cleanup_Actions.
7896 (Has_Controlled_Objects (List_Id, Boolean)): Removed.
7897 * rtsfind.ads: Add entry RE_Unregister_Tag to tables RE_Id and
7898 RE_Unit_Table.
7899
79002011-08-04 Vincent Celier <celier@adacore.com>
7901
7902 * prj-env.adb (For_All_Source_Dirs.For_Project): Check if project Prj
7903 has Ada sources, not project Project, because if the root project
7904 Project has no sources of its own, all projects will be deemed without
7905 sources.
7906
79072011-08-04 Gary Dismukes <dismukes@adacore.com>
7908
7909 * bindgen.adb (Gen_Adainit_Ada): Move the generation of the declaration
7910 of the No_Param_Proc acc-to-subp type used for initialization of
7911 __gnat_finalize_library_objects so that it's declared at library level
7912 rather than nested inside of the adainit routine.
7913
79142011-08-04 Javier Miranda <miranda@adacore.com>
7915
7916 * exp_disp.adb (Make_DT): Generate code to check the external tag ONLY
7917 if the tagged type has a representation clause which specifies its
7918 external tag.
7919
79202011-08-04 Ed Schonberg <schonberg@adacore.com>
7921
7922 * einfo.ads, einfo.adb (Has_Private_Ancestor): now a flag on types.
7923 Remove previous procedure with that name.
7924 * sem_ch3.adb (Build_Derived_Record_Type): set Has_Private_Ancestor
7925 when appropriate.
7926 * sem_aggr.adb (Resolve_Extension_Aggregate): if the ancestor part is a
7927 subtype mark, the ancestor cannot have unknown discriminants.
7928 (Resolve_Record_Aggregate): if the type has invisible components
7929 because of a private ancestor, the aggregate is illegal.
7930
79312011-08-04 Vincent Celier <celier@adacore.com>
7932
7933 * switch-m.adb (Normalize_Compiler_Switches): Recognize and take into
7934 account switches -gnat2005, -gnat12 and -gnat2012.
7935
79362011-08-04 Bob Duff <duff@adacore.com>
7937
7938 * s-tasdeb.ads: Minor comment fix.
7939
79402011-08-04 Arnaud Charlet <charlet@adacore.com>
7941
7942 * gnatlink.adb (Gnatlink): Pass -gnat83/95/05/12 switch to gcc in
7943 CodePeer mode.
7944 * switch.ads, switch.adb (Is_Language_Switch): New function.
7945
79462011-08-04 Vincent Celier <celier@adacore.com>
7947
7948 * switch-c.adb: Minor comment addition.
7949
79502011-08-04 Vincent Celier <celier@adacore.com>
7951
7952 * vms_conv.adb (Process_Argument): Fail graciously when qualifier
7953 ending with '=' is followed by a space (missing file name).
7954
79552011-08-04 Pascal Obry <obry@adacore.com>
7956
7957 * g-regist.ads: Fix size of HKEY on x86_64-windows.
7958
79592011-08-04 Ed Schonberg <schonberg@adacore.com>
7960
7961 * sem_ch12.adb (Analyze_Associations): New routine
7962 Check_Overloaded_Formal_Subprogram to reject a formal package when
7963 there is a named association or a box initialisation for an overloaded
7964 formal subprogram of the corresponding generic.
7965
79662011-08-04 Yannick Moy <moy@adacore.com>
7967
7968 * alfa.ads (ALFA_Xref_Record): add component for type of entity
7969 * get_alfa.adb, put_alfa.adb: Read and write new component of
7970 cross-reference.
7971 * lib-xref-alfa.adb (Collect_ALFA): generate new component.
7972
88f47280
AC
79732011-08-04 Pascal Obry <obry@adacore.com>
7974
7975 * urealp.adb: Minor reformatting.
7976
79772011-08-04 Tristan Gingold <gingold@adacore.com>
7978
7979 * exp_ch7.adb (build_finalizer.process_declarations.processing_actions):
7980 Handle the case when Cleanup_Protected_Object returns Empty.
7981
79822011-08-04 Yannick Moy <moy@adacore.com>
7983
7984 * frontend.adb (Frontend): only qualify names in non-ALFA mode
7985
79862011-08-04 Ed Schonberg <schonberg@adacore.com>
7987
7988 * sem_ch4.adb (Try_Class_Wide_Operation): if the context is a procedure
7989 call, ignore functions.
7990
05c53a69
GB
79912011-08-04 Geert Bosch <bosch@adacore.com>
7992
7993 * urealp.adb (Equivalent_Decimal_Exponent): Avoid the use of floating
7994 point.
7995
23cc1ace
EB
79962011-08-04 Emmanuel Briot <briot@adacore.com>
7997
7998 * makeutl.adb (Compute_Builder_Switches): no longer accept a unit name
7999 as an index for Builder'Switches. This conforms to the documentation.
8000 * make.adb (Insert_Project_Sources): avoid duplicate code
8001
cef14201
AC
80022011-08-04 Emmanuel Briot <briot@adacore.com>
8003
8004 * makeutl.adb (Complete_Mains): if the user has passed a relative file
8005 name on the command line (for instance "../dummy"), never assume it can
8006 be a unit name.
8007
80082011-08-04 Tristan Gingold <gingold@adacore.com>
8009
8010 * bindgen.adb: Remove code the reference or create the
8011 Break_Start/__gnat_break_start procedure.
8012 * s-stalib.adb (Break_Start): Removed.
8013
e2fee30d
EB
80142011-08-04 Emmanuel Briot <briot@adacore.com>
8015
8016 * make.adb, makeutl.adb, makeutl.ads (Compute_Builder_Switches): now
8017 shared with gprbuild.
8018
2d395256
AC
80192011-08-04 Yannick Moy <moy@adacore.com>
8020
8021 * par-ch4.adb (P_Primary): preferentially issue an error message about
8022 a missing parenthesis arount a conditional or case expression in Ada
8023 2012 mode, if we detect that the alignment is not correct for a
8024 statement.
8025
80262011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8027
8028 * exp_ch7.adb (Process_Declarations): Do not consider the result of a
8029 tag-to-class-wide conversion as needing finalization actions.
8030 * exp_util.adb (Has_Controlled_Objects): Do not consider the result of
8031 a tag-to-class-wide conversion as needing finalization actions.
8032 (Is_Finalizable_Transient): The result of a tag-to-class-wide
8033 conversion does not need finalization actions.
8034 (Is_Tag_To_CW_Conversion): New routine.
8035 * exp_util.ads (Is_Tag_To_CW_Conversion): New routine. Determines
8036 whether an object is the result of a tag-to-class-wide conversion.
8037
80382011-08-04 Yannick Moy <moy@adacore.com>
8039
8040 * sem_ch13.adb (Analyze_Aspect_Specifications): correct order in which
8041 the left-hand-side and right-hand-side of a conjunct are inserted when
8042 translating a pre- or postcondition
8043 * sem_ch6.adb: Correct typo in comment
8044
80452011-08-04 Ed Schonberg <schonberg@adacore.com>
8046
8047 * gnat_rm.texi: Ravenscar does not prohibit dependence on
8048 Unchecked_Conversion and Unchecked_Deallocation.
8049
80502011-08-04 Thomas Quinot <quinot@adacore.com>
8051
8052 * make.adb: Minor reformatting.
8053
767ab2fd
EB
80542011-08-04 Emmanuel Briot <briot@adacore.com>
8055
8056 * prj.adb, prj.ads, makeutl.adb (Complete_Mains): search for the
8057 sources in the project and its imported projects, but not in the whole
8058 tree.
8059
8fb3f5df
AC
80602011-08-04 Emmanuel Briot <briot@adacore.com>
8061
8062 * make.adb: Remove debug trace.
8063
80642011-08-04 Vincent Celier <celier@adacore.com>
8065
8066 * makeutl.adb (Do_Complete): Get the absolute path name of a relative
8067 path in canonical form, to be able to compare path names on platforms
8068 such as Windows or Darwin.
8069
80702011-08-04 Thomas Quinot <quinot@adacore.com>
8071
8072 * par_sco.adb (Traverse_Declarations_Or_Statements.Set_Statement_Entry):
8073 For a pragma (statement with C1 = 'P'), record the sloc of the pragma.
8074 * scos.ads: Update documentation accordingly.
8075 * put_scos.adb (Output_SCO_Line): Omit statement SCOs for disabled
8076 pragmas.
8077
9515740f
AC
80782011-08-04 Ed Schonberg <schonberg@adacore.com>
8079
8080 * sem_attr.adb (Bad_Attribute_For_Predicate): flag illegal use of
8081 attribute only if prefix type is scalar.
8082
80832011-08-04 Emmanuel Briot <briot@adacore.com>
8084
8085 * make.adb, makeutl.adb, prj-env.adb (Check_Mains): put back support
8086 in gnatmake for specifying mains on the command line that do not belong
8087 to the main project. These mains must currently all belong to the same
8088 project, though.
8089 (Ultimate_Extension_Of): removed, since duplicated
8090 Ultimate_Extending_Project.
8091
92966893
AC
80922011-08-04 Arnaud Charlet <charlet@adacore.com>
8093
8094 * make.adb (Do_Codepeer_Globalize_Step): Removed. Use CodePeer_Mode
8095 instead.
8096 (CodePeer_Mode_String): New.
8097 (Linking_Phase, Binding_Phase): Call gnatlink with -P switch in
8098 CodePeer mode.
8099 (Scan_Make_Arg): Do not disable binding/linking phase in CodePeer mode.
8100 * bindgen.adb (Gen_Elab_Calls_Ada): Ignore subprograms in CodePeer
8101 mode, since no useful elaboration subprogram is needed by CodePeer.
8102 * gnatlink.adb (Gnatlink): Add support for -P switch (CodePeer mode).
8103 In this mode, compile binder file with -gnatC and do stop after this
8104 step.
8105
81062011-08-04 Vincent Celier <celier@adacore.com>
8107
8108 * exp_ch7.adb: Minor comment fix.
8109
5969611f
RD
81102011-08-04 Robert Dewar <dewar@adacore.com>
8111
8112 * exp_ch7.adb, make.adb, sem_ch10.adb, bindgen.adb, sem_res.adb,
8113 exp_ch4.adb, makeutl.adb: Minor reformatting.
8114
6367dd30
AC
81152011-08-04 Emmanuel Briot <briot@adacore.com>
8116
8117 * make.adb, makeutl.adb, makeutl.ads (Make): major refactoring.
8118 Create several new subprograms to move code out of Make. This makes the
8119 code more readable, removes code duplication, and is a preparation work
8120 for adding support for aggregate projects.
8121
81222011-08-04 Tristan Gingold <gingold@adacore.com>
8123
8124 * s-po32gl.ads, s-po32gl.adb: New files.
8125 * exp_ch7.ads (Get_Global_Pool_For_Access_Type): New function.
8126 * exp_ch7.adb (Get_Global_Pool_For_Access_Type): New function.
8127 (Build_Finalization_Collection): Use it.
8128 * exp_ch4.adb (Complete_Controlled_Allocation): Ditto.
8129 * rtsfind.ads: System_Pool_32_Global, Re_Global_Pool_32_Object: New
8130 literals.
8131 * gcc-interface/Makefile.in: Use s-po32gl.o on VMS.
8132 * gcc-interface/Make-lang.in: Update dependencies.
8133
cd8bfe35
EB
81342011-08-04 Emmanuel Briot <briot@adacore.com>
8135
8136 * makeutl.adb (Complete_Mains): add support for specs with no suffix on
8137 the command line.
8138
7db29ea7
EB
81392011-08-04 Emmanuel Briot <briot@adacore.com>
8140
8141 * make.adb, makeutl.adb (Complete_Mains): if a main specified on the
8142 command line is not a file name, also check whether it could be a unit
8143 name.
8144
d9b056ea
AC
81452011-08-04 Eric Botcazou <ebotcazou@adacore.com>
8146
8147 * bindgen.adb (Gen_Finalize_Library_Ada): Factor out code to generate
8148 the header of the finalization routine.
8149 If the unit has no finalizer but is a body whose spec has one, then
8150 generate the decrement of the elaboration entity only.
8151 If the unit has a finalizer and is a spec, then do not generate the
8152 decrement of the elaboration entity.
8153 (Gen_Finalize_Library_C): Likewise.
8154
81552011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8156
8157 * exp_ch7.adb (Alignment_Of): New subsidiary routine.
8158 (Bounds_Size_Expression): Removed.
8159 (Double_Alignment_Of): New subsidiary routine.
8160 (Make_Finalize_Address_Stmts): New local variable Index_Typ. Account
8161 for a hole in the dope vector of unconstrained arrays due to different
8162 index and element alignments.
8163
81642011-08-04 Ed Schonberg <schonberg@adacore.com>
8165
8166 * sem_res.adb (Resolve_Allocator): diagnose task allocator that will
8167 raise program_error because body has not been seen yet.
8168
81692011-08-04 Ed Schonberg <schonberg@adacore.com>
8170
8171 * sem_ch10.adb (Analyze_With_Clause): Protect against child unit with
8172 an unresolved name.
8173
81742011-08-04 Vincent Celier <celier@adacore.com>
8175
8176 * makeutl.adb (Do_Complete): Check absolute paths in canonical forms
8177
81782011-08-04 Yannick Moy <moy@adacore.com>
8179
8180 * alfa.adb, alfa.ads (Unique_Defining_Entity): move function from here
8181 * sem_util.adb, sem_util.ads (Unique_Defining_Entity): ...to here
8182
81832011-08-04 Thomas Quinot <quinot@adacore.com>
8184
8185 * sem_ch12.adb (Analyze_Package_Instantiation): Do not omit body for
8186 instantiation in RCI.
8187
81882011-08-04 Emmanuel Briot <briot@adacore.com>
8189
8190 * make.adb: Share more code with gprbuild
8191
f5fc5b9d
AC
81922011-08-04 Emmanuel Briot <briot@adacore.com>
8193
8194 * projects.texi: Added documentation for the IDE'Gnat project file
8195 attribute.
8196
81972011-08-04 Nicolas Roche <roche@adacore.com>
8198
8199 * gnat_rm.texi: Minor editing.
8200
82012011-08-04 Javier Miranda <miranda@adacore.com>
8202
8203 * bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
8204 and the library case for VM targets.
8205 (Gen_Adainit_Ada): Likewise.
8206
82072011-08-04 Robert Dewar <dewar@adacore.com>
8208
8209 * g-altive.ads: Minor comment updates.
8210 * prj-nmsc.adb: Minor reformatting.
8211
82122011-08-04 Javier Miranda <miranda@adacore.com>
8213
8214 * opt.ads
8215 (Normalize_Scalars_Config): Value of the configuration switch set by
8216 pragma Normalize_Scalars when it appears in the gnat.adc file.
8217 (Normalize_Scalars): New field for record Config_Switches_Type. Used
8218 to save and restore settings of this pragma.
8219 * opt.adb
8220 (Register_Opt_Config_Switches, Save_Opt_Config_Switches,
8221 Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.
8222
82232011-08-04 Vincent Celier <celier@adacore.com>
8224
8225 * gnat_ugn.texi: Document gnatlink options -M and -M=mapfile
8226
0c4683cf
AC
82272011-08-04 Arnaud Charlet <charlet@adacore.com>
8228
8229 * makeutl.adb: Minor reformatting.
8230
82312011-08-04 Olivier Hainque <hainque@adacore.com>
8232
8233 * g-altive.ads: Update comments to reflect that only the soft
8234 binding is available today.
8235
2598ee6d
RD
82362011-08-04 Robert Dewar <dewar@adacore.com>
8237
8238 * bindgen.adb, einfo.adb, sem_ch12.adb, s-tasren.adb, sem_res.adb,
8239 makeutl.adb, prj-nmsc.adb, opt.ads, prj-env.adb: Minor reformatting
8240 * gcc-interface/Make-lang.in: Update dependencies.
8241
c2db4b32
AC
82422011-08-04 Arnaud Charlet <charlet@adacore.com>
8243
8244 * prj-env.adb: Remove local debug traces.
8245
82462011-08-04 Yannick Moy <moy@adacore.com>
8247
8248 * checks.adb (Apply_Float_Conversion_Check): correct a typo where Lo_OK
8249 was used instead of Hi_OK, which could cause a read of an uninitialized
8250 value later on. Detected while working on the new warning.
8251 * exp_ch9.adb (Expand_N_Entry_Declaration): remove useless assignment
8252 to local variable.
8253 * sem_ch5.adb (Analyze_Assignment): set the last assignment component
8254 in more cases, in order to detect more unreferenced values.
8255 * sem_util.adb, sem_util.ads (Get_Enclosing_Object): return enclosing
8256 object for expression, if any.
8257
82582011-08-04 Eric Botcazou <ebotcazou@adacore.com>
8259
8260 * exp_intr.adb (Expand_Binary_Operator_Call): Look at the RM size of
8261 the operand types instead of the Esize.
8262
82632011-08-04 Steve Baird <baird@adacore.com>
8264
8265 * switch-b.adb (Scan_Binder_Switches): Add -P binder switch, used to
8266 enable CodePeer_Mode.
8267 * bindusg.adb (Display): Add help message describing -P binder switch.
8268 * gnat_ugn.texi: Document -P binder switch.
8269 * bindgen.adb (Gen_Main_Ada): If CodePeer_Mode is set, then call the
8270 user-defined main program directly.
8271 (Gen_Output_File_Ada): If CodePeer_Mode is set, generate a with of the
8272 user-defined main program in the context clause of the package body.
8273
ad05f2e9
AC
82742011-08-04 Yannick Moy <moy@adacore.com>
8275
8276 * alfa.adb, alfa.ads (Get_Entity_For_Decl): remove function, partial
8277 duplicate of Defining_Entity
8278 (Get_Unique_Entity_For_Decl): rename function into
8279 Unique_Defining_Entity
8280 * einfo.adb, einfo.ads (Is_In_ALFA, Body_Is_In_ALFA): remove flags
8281 (Formal_Proof_On): remove synthesized flag
8282 * cstand.adb, sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
8283 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb, sem_util.adb,
8284 sem_util.ads, stand.ads: Remove treatment associated to entities in ALFA
8285 * sem_prag.adb (Analyze_Pragma): remove special treatment for pragma
8286 Annotate (Formal_Proof)
8287
82882011-08-04 Emmanuel Briot <briot@adacore.com>
8289
8290 * prj-env.adb (Create_Config_Pragmas_File): fix handling of multi-unit
8291 source files with non-standard naming schemes, in imported projects
8292
756ef2a0
AC
82932011-08-04 Emmanuel Briot <briot@adacore.com>
8294
8295 * makeutl.adb (Complete_Mains): when a multi-unit source file is
8296 specified on the gprbuild command line, we need to compile all units
8297 within that file, not just the first one we find
8298 Fix error message for mains that are not found.
8299
83002011-08-04 Thomas Quinot <quinot@adacore.com>
8301
8302 * sem_ch6.adb: Update comment.
8303 * sem_ch12.adb: Minor reformatting.
8304
83052011-08-04 Bob Duff <duff@adacore.com>
8306
8307 * s-tasren.adb (Task_Do_Or_Queue): Previous code was reading
8308 Acceptor.Terminate_Alternative without locking Acceptor, which causes a
8309 race condition whose symptom is to fail to lock Parent. That, in turn,
8310 causes Parent.Awake_Count to be accessed without locking Parent, which
8311 causes another race condition whose symptom is that Parent.Awake_Count
8312 can be off by 1 (either too high or too low). The solution is to lock
8313 Parent unconditionally, and then lock Acceptor, before reading
8314 Acceptor.Terminate_Alternative.
8315
4fdebd93
AC
83162011-08-04 Arnaud Charlet <charlet@adacore.com>
8317
8318 * debug.adb: Update comment.
8319
83202011-08-04 Robert Dewar <dewar@adacore.com>
8321
8322 * par_sco.adb, exp_util.adb, make.adb, a-tags.adb, sem_prag.adb,
8323 sem_util.adb, sem_attr.adb, exp_ch4.adb, g-comlin.adb, g-comlin.ads,
8324 exp_ch6.adb: Minor reformatting.
8325
83262011-08-04 Gary Dismukes <dismukes@adacore.com>
8327
8328 * gnat_ugn.texi: Add sentence about the case of compile-time-detected
8329 checks for -gnateE.
8330
83312011-08-04 Ed Schonberg <schonberg@adacore.com>
8332
8333 * gnat_rm.texi: update Ravenscar desription to reflect Ada2012 RM.
8334
83352011-08-04 Thomas Quinot <quinot@adacore.com>
8336
8337 * sinfo.ads: Minor reformatting.
8338
83392011-08-04 Emmanuel Briot <briot@adacore.com>
8340
8341 * makeutl.adb, makeutl.ads, prj-nmsc.adb (Complete_Mains): report error
8342 even if there is no location.
8343
6aaa0587
ES
83442011-08-04 Ed Schonberg <schonberg@adacore.com>
8345
8346 * sem_res.adb, sem_ch4.adb: move check for restriction
8347 No_Task_Hierarchy to resolve_allocator.
8348
35a1c212
AC
83492011-08-04 Thomas Quinot <quinot@adacore.com>
8350
8351 * sinfo.adb, sinfo.ads, sem_prag.adb, sem_ch12.adb (Pragma_Enabled):
8352 This flag of N_Pragma nodes is not used, remove it as well as all of
8353 the associated circuitry.
8354
83552011-08-04 Javier Miranda <miranda@adacore.com>
8356
8357 * exp_disp.adb (Make_DT): Switch -gnatdQ disables the generation of the
8358 runtime check on duplicated externa tags
8359 * debug.adb Document switch -gnatdQ.
8360
83612011-08-04 Gary Dismukes <dismukes@adacore.com>
8362
8363 * a-fihema.ads: Minor typo fix.
8364
83652011-08-04 Yannick Moy <moy@adacore.com>
8366
8367 * sem_ch10.adb: Minor comment update.
8368
83692011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8370
8371 * einfo.adb: Update the node field usage to reflect the renaming of
8372 Return_Flag to Return_ Flag_Or_Transient_Decl.
8373 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl.
8374 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl.
8375 (Write_Field15_Name): Change Return_Flag to
8376 Return_Flag_Or_Transient_Decl.
8377 * einfo.ads: Rename node field Return_Flag to
8378 Return_Flag_Or_Transient_Decl. Update the associated comment and all
8379 occurrences in entities.
8380 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl. Update
8381 associated Inline pragma.
8382 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl. Update
8383 associated Inline pragma.
8384 * exp_ch4.ads, exp_ch4.adb (Expand_N_Expression_With_Actions): New
8385 routine.
8386 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Update the calls to
8387 Return_Flag and Set_Return_Flag.
8388 * exp_ch7.adb (Process_Declarations): Add code to recognize hook
8389 objects generated for controlled transients declared inside an
8390 Exception_With_Actions. Update the calls to Return_Flag.
8391 (Process_Object_Declaration): Add code to add a null guard for hook
8392 objects generated for controlled transients declared inside an
8393 Exception_With_Actions. Update related comment.
8394 * exp_util.adb (Has_Controlled_Objects): Add code to recognize hook
8395 objects generated for controlled transients declared inside an
8396 Exception_With_Actions. Update the calls to Return_Flag.
8397 * expander.adb (Expand): Add new case for N_Expression_With_Actions.
8398
83992011-08-04 Ed Schonberg <schonberg@adacore.com>
8400
8401 * sem_util.adb:(Wrong_Type): Improve error message on a one-element
8402 positional aggregate.
8403
84042011-08-04 Vincent Celier <celier@adacore.com>
8405
8406 * par_sco.adb (Process_Decisions.Output_Header): Check and record pragma
8407 SLOC only for pragmas.
8408
84092011-08-04 Emmanuel Briot <briot@adacore.com>
8410
8411 * projects.texi: Minor typo fix.
8412
84132011-08-04 Emmanuel Briot <briot@adacore.com>
8414
8415 * prj-nmsc.adb (Check_File): Minor change to traces, to help debugging
8416 on case-sensitive file systems.
8417
c2873f74
TQ
84182011-08-04 Thomas Quinot <quinot@adacore.com>
8419
8420 * put_scos.adb (Put_SCOs): Do not emit decision SCO for an X decision
8421 nested in a disabled pragma.
8422 * scos.ads, scos.adb, par_sco.ads, par_sco.adb: Record sloc of
8423 enclosing pragma, if any, for X decisions.
8424
84252011-08-04 Thomas Quinot <quinot@adacore.com>
8426
8427 * sem_prag.adb: Minor reformatting.
8428
46414266
VC
84292011-08-04 Vincent Celier <celier@adacore.com>
8430
8431 * a-tags.adb (Check_TSD): Avoid concatenation of strings, as it is not
8432 allowed in no run time mode.
8433
84342011-08-04 Vincent Celier <celier@adacore.com>
8435
8436 * make.adb (Check): When -gnatc is used, check for the source file
8437 inside the ALI file with a canonical case file name.
8438
afab164f
EB
84392011-08-04 Emmanuel Briot <briot@adacore.com>
8440
8441 * g-comlin.adb, g-comlin.ads (Add_Switch): Put back support for
8442 overriding the separator.
8443
fe0ec02f
AC
84442011-08-04 Robert Dewar <dewar@adacore.com>
8445
8446 * sem_aggr.adb, par_sco.adb, sem_type.adb, exp_util.adb, exp_ch9.adb,
8447 prj-nmsc.adb, sem_ch13.adb, exp_strm.adb: Minor reformatting.
8448
84492011-08-04 Robert Dewar <dewar@adacore.com>
8450
8451 * gnat_rm.texi: Minor documentation fix for pragma Annotate.
8452
84532011-08-04 Yannick Moy <moy@adacore.com>
8454
8455 * sem_attr.adb (Analyze_Attribute): add check during pre-analysis that
8456 'Result only appears in postcondition of function.
8457
84582011-08-04 Thomas Quinot <quinot@adacore.com>
8459
8460 * a-tags.adb (Check_TSD): When raising PROGRAM_ERROR for a duplicated
8461 external tag, include the value of the external tag in the exception
8462 message.
8463
0180fd26
AC
84642011-08-04 Yannick Moy <moy@adacore.com>
8465
8466 * sem_attr.adb (Result): modify error message for misplaced 'Result
8467
84682011-08-04 Sergey Rybin <rybin@adacore.com>
8469
8470 * gnat_rm.texi (pragma Annotate): Fix syntax description to make it
8471 clear that the second argument must be an identifier.
8472
84732011-08-04 Thomas Quinot <quinot@adacore.com>
8474
8475 * exp_ch9.adb (Build_Barrier_Function): When compiling with
8476 -fpreserve-control-flow, insert an IF statement on the barrier
8477 condition to ensure that a conditional branch instruction is generated.
8478
84792011-08-04 Emmanuel Briot <briot@adacore.com>
8480
8481 * prj-part.adb, prj.adb, prj.ads, prj-tree.ads
8482 (Processing_Flags.Ignore_Missing_With): new flag.
8483
84842011-08-04 Emmanuel Briot <briot@adacore.com>
8485
8486 * prj-nmsc.adb (Find_Sources, Path_Name_Of): Fix handling of
8487 Source_List_File on case-insensitive systems where the file is actually
8488 on a case-sensitive file system (NFS,...).
8489
84902011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8491
8492 * sem_ch6.adb (Analyze_Function_Return): In a rare case where a
8493 function return contains a controlled [extension] aggregate and the
8494 return statement is not part of a handled sequence of statements, wrap
8495 the return in a block. This ensures that all controlled temporaries
8496 generated during aggregate resolution will be picked up by the
8497 finalization machinery.
8498
84992011-08-04 Ed Schonberg <schonberg@adacore.com>
8500
8501 * sem_aggr.adb (Resolve_Aggregate): If aggregate has box-initialized
8502 components, freeze type before resolution, to ensure that default
8503 initializations are present for all components.
8504 * sem_res.adb (Resolve_Actuals): the designated object of an
8505 accces-to-constant type is a legal actual in a call to an
8506 initialization procedure.
8507
85082011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8509
8510 * exp_util.adb (Extract_Renamed_Object): Add N_Type_Conversion and
8511 N_Unchecked_Type_Conversion to the possible containers of a renamed
8512 transient variable.
8513
78efd712
AC
85142011-08-04 Yannick Moy <moy@adacore.com>
8515
8516 * par-ch13.adb (Aspect_Specifications_Present): recognize
8517 "with Identifier'Class =>" as an aspect, so that a meaningful warning
8518 is issued in Strict mode.
8519 * par.adb: Fix typos in comments.
8520
85212011-08-04 Yannick Moy <moy@adacore.com>
8522
8523 * sem_attr.adb (Result): modify error message to take into account Post
8524 aspect when compiling Ada 2012 (or newer) code.
8525
85262011-08-04 Nicolas Roche <roche@adacore.com>
8527
8528 * env.c (__gnat_clearenv): Avoid use of dynamic size array in order to
2c7f9cc0 8529 remove need for GCC exceptions.
78efd712
AC
8530
85312011-08-04 Vincent Celier <celier@adacore.com>
8532
8533 * makeutl.adb (Do_Complete): Call Debug_Output with the name of the
8534 project, not the source file name.
8535 * prj.adb (Find_Sources.Look_For_Sources): If the source has been
8536 excluded, continue looking. This excluded source will only be returned
8537 if there is no other source with the same base name that is not locally
8538 removed.
8539
85402011-08-04 Ed Schonberg <schonberg@adacore.com>
8541
8542 * sem_res.adb (Resolve_Intrinsic_Operator): if the result type is
8543 private and one of the operands is a real literal, use a qualified
8544 expression rather than a conversion which is not meaningful to the
8545 back-end.
8546
0170a691
AC
85472011-08-04 Yannick Moy <moy@adacore.com>
8548
8549 * sem_ch13.adb (Aspect_Loop): when an aspect X and its classwise
8550 corresponding aspect X'Class are allowed, proceed with analysis of the
8551 aspect instead of skipping it.
8552
85532011-08-04 Tristan Gingold <gingold@adacore.com>
8554
8555 * s-flocon.adb, s-flocon.ads: Add a body for s-flocon.ads
8556 This will allow to have an Ada implementation for the subprogram.
8557
deb4f5ba
ES
85582011-08-04 Ed Schonberg <schonberg@adacore.com>
8559
8560 * sem_ch3.adb (Analyze_Full_Type_Declaration): If the declaration is a
8561 completion and aspects are present, apply them to the entity for the
8562 type which is currently the partial view, but which is the one that
8563 will be frozen.
8564 * sem_ch13.adb (Analyze_Aspect_Specifications): if the predicate
8565 applies to a partial view, indicate that the full view has predicates
8566 and delayed aspects.
8567 (Replace_Type_Reference): Handle properly predicates that apply to the
8568 full view of a private completion.
8569
fc893455
AC
85702011-08-04 Eric Botcazou <ebotcazou@adacore.com>
8571
8572 * layout.adb (Layout_Type): For composite types, do not set Esize.
8573 * freeze.adb (Set_Small_Size): Remove test on alignment and do not
8574 set Esize.
8575 (Size_Known): Look at the RM size of components instead of the Esize.
8576 (Freeze_Record_Type): Look at the RM size instead of the Esize to
8577 issue warning and activate Implicit_Packing.
8578 (Freeze_Entity): Likewise. Do not issue a warning for alias/atomic
8579 if the Esize is not known.
8580 * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Size>: Set Esize
8581 for elementary types only.
8582 (Analyze_Record_Representation_Clause): Look at the RM size instead
8583 of the Esize to issue errors.
8584 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set Esize if it
8585 is not known.
8586 <E_Record_Type>: Look at the RM size instead of the Esize. Remove
2c7f9cc0 8587 obsolete block.
fc893455
AC
8588 Look at the RM size instead of the Esize for types if the latter is
8589 not known.
8590 (gnat_to_gnu_field): Use Known_Esize instead of Known_Static_Esize.
8591
85922011-08-04 Ed Schonberg <schonberg@adacore.com>
8593
8594 * sem_type.adb: proper handling of equality not involving anonymous
8595 access types.
8596
b37d5bc6
AC
85972011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8598
8599 * exp_ch7.adb (Create_Finalizer): Remove local variables Spec_Nod and
8600 Vis_Decls. When creating a library-level finalizer for a package spec,
8601 both the declaration and body of the finalizer are inserted either in
8602 the visible or private declarations of the package spec.
8603
86042011-08-04 Javier Miranda <miranda@adacore.com>
8605
8606 * sem_ch3.adb (Derive_Subprograms): Complete assertion to request the
8607 use of the full-view of a type when invoking Is_Ancestor.
8608 * sem_type.adb (Is_Ancestor): For consistency, when the traversal of
8609 the full-view of private parents is requested, then use also the
8610 full-view of the parent of the first derivation.
8611
7ab4d95a
AC
86122011-08-04 Tristan Gingold <gingold@adacore.com>
8613
8614 * s-taprop-vxworks.adb (Enter_Task): Use System.Float_Control.Reset
8615 instead of the locally imported procedure.
8616 * s-taprop-mingw.adb (Enter_Task): Ditto.
8617 * s-valrea.adb (Scan_Real): Ditto.
8618 * s-imgrea.adb (Set_Image_Real): Ditto.
8619 * s-flocon.ads: Make the package pure.
8620
86212011-08-04 Thomas Quinot <quinot@adacore.com>
8622
8623 * sinfo.ads, sinfo.adb (Debug_Statement, Set_Debug_Statement): Remove.
8624 * tbuild.ads, tbuild.adb (Make_Pragma): Adjust accordingly.
8625 * sinfo-cn.ads, sinfo-cn.adb (Change_Name_To_Procedure_Call_Statement):
8626 New subprogram, moved here from...
8627 * par.adb, par-ch5.adb (P_Statement_Name): ... here.
8628 * par-prag.adb (Par.Prag, case Pragma_Debug): Do not perform any
8629 rewriting of the last argument into a procedure call statement here...
8630 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): ...do it there
8631 instead.
8632
86332011-08-04 Thomas Quinot <quinot@adacore.com>
8634
8635 * par_sco.adb: Minor reformatting.
8636
51c400f5
AC
86372011-08-04 Robert Dewar <dewar@adacore.com>
8638
8639 * erroutc.adb: Minor reformatting.
8640
86412011-08-04 Thomas Quinot <quinot@adacore.com>
8642
8643 * par_sco.adb: Comment update.
8644
86452011-08-04 Tristan Gingold <gingold@adacore.com>
8646
8647 * s-flocon.ads: New file.
8648 * g-flocon.ads: Now a renaming of s-flocon.
8649 * Makefile.rtl: Add s-flocon.o
8650
6a49f110
AC
86512011-08-04 Javier Miranda <miranda@adacore.com>
8652
8653 * exp_strm.adb (Build_Array_Input_Function): if the array type is
8654 constrained, do not attempt to build a subtype of it.
8655
86562011-08-04 Yannick Moy <moy@adacore.com>
8657
8658 * errout.ads Change comments: remove 'R'M as an example where quotes
8659 are needed; add ALFA as another case where quotes are not needed
8660 * erroutc.adb (Set_Msg_Insertion_Reserved_Word): add ALFA as another
8661 case where quotes are not needed.
8662 * sem_ch11.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
8663 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_prag.adb, sem_res.adb:
8664 Remove all occurrences of 'A'L'F'A
8665
86662011-08-04 Ed Schonberg <schonberg@adacore.com>
8667
8668 * sem_ch13.adb: check legality of invariant pragma.
8669
a4640a39
AC
86702011-08-04 Eric Botcazou <ebotcazou@adacore.com>
8671
8672 * bindgen.adb: Add comments.
8673
86742011-08-04 Yannick Moy <moy@adacore.com>
8675
8676 * einfo.adb, einfo.ads: Free Flag254 and make Formal_Proof_On a
8677 synthesized flag.
8678 * sem_prag.adb (Analyze_Pragma): record the pragma Annotate
8679 (Formal_Proof, On/Off) in the Rep_Item list of the current subprogram.
8680
86812011-08-04 Robert Dewar <dewar@adacore.com>
8682
8683 * exp_ch7.adb, exp_ch6.adb, sem_ch3.adb, layout.adb, sem_ch5.adb,
8684 osint-c.ads, sem_util.ads, gnat1drv.adb, targparm.ads, sem_ch6.adb,
8685 sem_ch13.adb, s-pooloc.adb: Minor reformatting.
8686
39ade2f9
AC
86872011-08-04 Thomas Quinot <quinot@adacore.com>
8688
8689 * s-pooloc.ads, s-pooglo.ads: Minor reformatting
8690
86912011-08-04 Thomas Quinot <quinot@adacore.com>
8692
8693 PR ada/47880
8694 * s-pooloc.adb (Deallocate): Fix the case of deallocating the only
8695 allocated object.
8696
86972011-08-04 Robert Dewar <dewar@adacore.com>
8698
8699 * einfo.ads, exp_ch4.adb: Minor reformatting.
8700
87012011-08-04 Jerome Lambourg <lambourg@adacore.com>
8702
8703 * back_end.ads (Gen_Or_Update_Object_File): Add more comments.
8704
7efc3f2d
AC
87052011-08-04 Ed Schonberg <schonberg@adacore.com>
8706
8707 * exp_ch4.adb (Expand_Composite_Equality): code cleanup: use component
8708 type in all cases to compute list of primitive operations, because full
8709 view may be an itype that is not attached to the list of declarations.
8710
87112011-08-04 Eric Botcazou <ebotcazou@adacore.com>
8712
8713 * bindgen.adb (Gen_Adafinal_Ada): Generate an early return if the
8714 library has already been finalized.
8715 (Gen_Adafinal_C): Likewise.
8716 (Gen_Adainit_Ada): Generate an early return if the library has
8717 already been elaborated.
8718 (Gen_Adainit_C): Likewise.
8719 (Gen_Output_File_Ada): Generate an elaboration flag.
8720 (Gen_Output_File_C): Likewise.
8721
f65df609
HK
87222011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8723
8724 * exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
8725 Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
8726 built in the first place.
8727 (Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
8728 for CodePeer because Finalize_Address was not built to begin with.
8729 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.
8730
a0fb8fe8
AC
87312011-08-04 Pascal Obry <obry@adacore.com>
8732
8733 * adaint.c (__gnat_tmp_name): Use current process id to create temp
8734 filenames, this ensures unicity of filenames across processes.
8735
87362011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8737
8738 * bindgen.adb (Gen_Finalize_Library_Ada): Rename generated routine
8739 Raise_Controlled to Raise_From_Controlled_Operation. Update the
8740 signature of Raise_From_Controlled_Operation by adding flag From_Abort.
8741 Add False as the actual to From_Abort in the generated call to
8742 Raise_From_Controlled_Operation.
8743
87442011-08-04 Jerome Lambourg <lambourg@adacore.com>
8745
8746 * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move to declaration
8747 so that the ali file name can be retrieved from outside of this package.
8748 * back_end.ads, back_end.adb (Gen_Or_Update_Object_File): New method
8749 doing nothing in the general case, but used to update the object file
8750 timestamp if directly generated by the backend.
8751 * gnat1drv.adb (Gnat1drv): Make sure the object file's timestamp is set
8752 to a later time than the ali file one.
8753
9534ab17
AC
87542011-08-04 Yannick Moy <moy@adacore.com>
8755
8756 * einfo.adb, einfo.ads (Formal_Proof_On): new flag set on subprogram
8757 entities whose body contains an Annotate pragma which forces formal
8758 proof on this body.
8759 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
8760 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Adapt call to
8761 Mark_Non_ALFA_Subprogram to pass in a message and node.
8762 * sem_prag.adb (Analyze_Pragma): add treatment of pragma Annotate
8763 (Forma_Proof, On) which sets the flag Formal_Proof_On in the
8764 surrounding subprogram.
8765 * sem_util.adb, sem_util.ads (Mark_Non_ALFA_Subprogram,
8766 Mark_Non_ALFA_Subprogram_Unconditional): if the subprogram being marked
8767 as not in ALFA is annotated with Formal_Proof being On, then an error
8768 is issued based on the additional parameters for message and node.
8769 * snames.ads-tmpl (Name_Formal_Proof): new name for annotation.
8770 * gcc-interface/Make-lang.in: Update dependencies.
8771
87722011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8773
8774 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not generate
8775 Finalize_Address when CodePeer is enabled.
8776
87772011-08-04 Pascal Obry <obry@adacore.com>
8778
8779 * adaint.c (__gnat_tmp_name): Use _tempnam() instead of tempnam() as
8780 the latter returns a pointer to a static buffer which is deallocated
8781 at the end of the routine.
8782
5c0e97dd
AC
87832011-08-04 Yannick Moy <moy@adacore.com>
8784
8785 * sem_ch3.adb (Array_Type_Declaration): move test for type in ALFA
8786 after index creation; mark unconstrained base array type generated as
8787 being in/not in ALFA as well
8788 (Make_Index): mark subtype created as in/not in ALFA
8789 * sem_ch5.adb (Analyze_Iteration_Scheme): mark entity for iterating
8790 over a loop as in/not in ALFA, depending on its type and form of loop
8791 iteration.
8792
87932011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8794
8795 * exp_ch7.adb (Build_Object_Declarations): Initialize flag Abort
8796 directly to False on .NET and JVM.
8797
7a93c64b
YM
87982011-08-04 Yannick Moy <moy@adacore.com>
8799
8800 * sem_ch3.adb (Constrain_Enumeration, Constrain_Integer): remove
8801 constraint that subtype must come from source code to be in ALFA, so
8802 that anonymous subtypes can be in ALFA too.
8803
e9a1ed9b
YM
88042011-08-04 Yannick Moy <moy@adacore.com>
8805
8806 * sem_ch3.adb (Analyze_Object_Declaration): remove obsolete addition of
8807 reference for ALFA mode.
8808 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Compilation_Unit): make
8809 procedure public so as to use it from formal verification back-end.
8810
8e293fbd
AC
88112011-08-04 Jerome Lambourg <lambourg@adacore.com>
8812
8813 * g-comlin.adb (For_Each_Simple_Switch.Is_In_Config): Remove the
8814 invalid checks of the Parameter, making Remove_Switch not working
8815 correctly.
8816
88172011-08-04 Arnaud Charlet <charlet@adacore.com>
8818
8819 * targparm.ads: Update header: no run-time exception is needed on this
8820 file.
8821
88222011-08-04 Vincent Celier <celier@adacore.com>
8823
8824 * a-fihema.adb: Use System.IO instead of GNAT.IO
8825
88262011-08-04 Thomas Quinot <quinot@adacore.com>
8827
8828 * sem_ch3.adb (Access_Definition): Anonymous access to subprogram types
8829 are forbidden in Compiler_Unit mode.
8830
cfae2bed
AC
88312011-08-04 Robert Dewar <dewar@adacore.com>
8832
8833 * sem_util.adb: Minor reformatting.
8834
88352011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8836
8837 * bindgen.adb (Gen_Finalize_Library_Ada): Update the import string for
8838 library-level finalizers.
8839 (Gen_Finalize_Library_C): Update the import string for library-level
8840 finalizers.
8841 (Gen_Finalize_Library_Defs_C): Update the definition name of a
8842 library-level finalizer.
8843 * exp_ch7.adb: Remove with and use clauses for Stringt.
8844 (Create_Finalizer): Remove local variables Conv_Name, Prag_Decl,
8845 Spec_Decl. Add local variable Body_Id. The names of library-level
8846 finalizers are now manually fully qualified and are no longer external.
8847 A single name is now capable of servicing .NET, JVM and non-VM targets.
8848 Pragma Export is no longer required to provide visibility for the name.
8849 (Create_Finalizer_String): Removed.
8850 (New_Finalizer_Name): New routine which mimics New_..._Name.
8851
01f0729a
AC
88522011-08-04 Eric Botcazou <ebotcazou@adacore.com>
8853
8854 * sem_elab.adb (Check_Internal_Call_Continue): Change the type of the
8855 elaboration counter to Standard_Short_Integer.
8856 * sem_util.adb (Build_Elaboration_Entity): Likewise.
8857 * bindgen.adb (Gen_Elab_Externals_Ada): Adjust to above change.
8858 (Gen_Elab_Externals_C): Likewise.
8859
88602011-08-04 Ed Falis <falis@adacore.com>
8861
8862 * system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
8863 system-vxworks-ppc.ads, system-vxworks-m68k.ads,
8864 system-vxworks-mips.ads, system-vxworks-x86.ads
8865 (Always_Compatible_Rep): set to False for all VxWorks targets.
8866
2c1b72d7
AC
88672011-08-04 Robert Dewar <dewar@adacore.com>
8868
8869 * par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads,
8870 makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb,
8871 exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb,
8872 exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb,
8873 exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb,
8874 sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb,
8875 sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb:
8876 Minor reformatting and code reorganization.
8877
88782011-08-04 Emmanuel Briot <briot@adacore.com>
8879
8880 * projects.texi: Added doc for aggregate projects.
8881
824e9320
AC
88822011-08-04 Emmanuel Briot <briot@adacore.com>
8883
8884 * prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items):
8885 Add support for overriding the Project_Path in aggregate projects.
8886
88872011-08-04 Robert Dewar <dewar@adacore.com>
8888
8889 * a-cofove.ads: Minor reformatting.
8890
88912011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
8892
8893 * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment
8894 on the generated code.
8895 (Build_Finalize_Statements): Update the comment on the generated code.
8896 (Build_Initialize_Statements): Update the comment on the generated code.
8897 (Build_Object_Declarations): Add local variable Result. The object
8898 declarations are now built in sequence.
8899 * rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and
8900 RE_Unit_Table.
8901
89022011-08-04 Robert Dewar <dewar@adacore.com>
8903
8904 * checks.adb, alfa.adb, alfa.ads: Minor reformatting.
8905
89062011-08-04 Eric Botcazou <ebotcazou@adacore.com>
8907
8908 * einfo.ads (Elaboration_Entity): Document new definition and use.
8909 (Elaboration_Entity_Required): Adjust to above change.
8910 * exp_attr.adb (Expand_N_Attribute_Reference): Likewise.
8911 * exp_ch12.adb: And with and use for Snames.
8912 (Expand_N_Generic_Instantiation): Test 'Elaborated attribute.
8913 * exp_util.adb (Set_Elaboration_Flag): Likewise.
8914 * sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete.
8915 <Check_Unit_Name>: Deal with N_Expanded_Name.
8916 <Attribute_Elaborated>: Extend to all unit names.
8917 * sem_elab.adb: And with and use for Uintp.
8918 (Check_Internal_Call_Continue): Adjust to Elaboration_Entity change.
8919 * sem_util.ads (Build_Elaboration_Entity): Adjust comment.
8920 * sem_util.adb (Build_Elaboration_Entity): Change type to Integer.
8921 * bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken
8922 from Gen_Adainit_Ada.
8923 (Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C.
8924 (Gen_Adafinal_Ada): Remove redundant test. In the non-main program
8925 case, do not call System.Standard_Library.Adafinal; instead call
8926 finalize_library if needed.
8927 (Gen_Adafinal_C): Likewise.
8928 (Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the
8929 non-main program case.
8930 (Gen_Adainit_C): Generate a couple of external declarations here.
8931 In the main program case, set SSL.Finalize_Library_Objects.
8932 (Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change.
8933 (Gen_Elab_Calls_C): Likewise.
8934 (Gen_Finalize_Library_Ada): Likewise. Skip SAL interface units.
8935 (Gen_Finalize_Library_C): Likewise. Generate a full function.
8936 (Gen_Main_C): Put back call to Ada_Final and don't finalize library
8937 objects here.
8938 (Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final
8939 if -a is specified. Call Gen_Elab_Externals_Ada. Move around call to
8940 Gen_Adafinal_Ada.
8941 (Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final
8942 if -a is specified. Call Gen_Elab_Externals_C. Remove useless couple
2c7f9cc0 8943 of external declarations. Call Gen_Finalize_Library_C.
824e9320 8944
316d9d4f
EB
89452011-08-04 Emmanuel Briot <briot@adacore.com>
8946
8947 * prj.adb, prj.ads, makeutl.adb, makeutl.ads (Complete_Mains,
8948 Compute_Compilation_Phases): new subprogram.
8949 (Builder_Data, Builder_Project_Tree_Data): new subprogram and type
8950 The number of mains as well as the various compilation phases that
8951 need to be run are now project tree specific, since various
8952 aggregated trees might have different requirements. In particular,
8953 they do not all require bind or link phases.
8954
9434c32e
EB
89552011-08-04 Emmanuel Briot <briot@adacore.com>
8956
8957 * prj.adb, prj.ads, makeutl.adb, makeutl.ads, prj-env.adb
8958 (Project_Tree_Appdata): New type.
8959 It is now possible to associate application-specific data to a project
8960 tree. In particular, this is used in the gprbuild builder to avoid a
8961 number of global tables and htables, especially now that there can be
8962 several project trees loaded at once because of aggregate projects.
8963 (Debug_Name): new procedure.
8964 * projects.texi: Clarify syntax of "**" for Source_Dirs
8965
41ba34db
EB
89662011-08-03 Emmanuel Briot <briot@adacore.com>
8967
8968 * prj.ads, makeutl.adb, makeutl.ads (Queue.Insert): now also inserts
8969 the "roots" for a main.
8970 (Fill_From_Project): add support for aggregate projects. Main units
8971 in aggregated projects are now automatically added in the list of
8972 files to build (although this fails later on in gprbuild, because
8973 these files are not using the root proejct tree, so this needs
8974 further cleanup)
8975 * gcc-interface/Make-lang.in: Update dependencies.
8976
fccd42a9
AC
89772011-08-03 Yannick Moy <moy@adacore.com>
8978
8979 * sem_ch4.adb (Analyze_Conditional_Expression): only allow boolean
8980 conditional expression in ALFA.
8981 * sem_res.adb (Resolve_Conditional_Expression): mark non-boolean
8982 expressions as not in ALFA.
8983
89842011-08-03 Robert Dewar <dewar@adacore.com>
8985
8986 * a-cofove.adb: Minor reformatting.
8987
89882011-08-03 Emmanuel Briot <briot@adacore.com>
8989
8990 * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads
8991 (Insert_Project_Sources, Insert_withed_Sources_For): moved from the
8992 gprbuild sources.
8993 These packages are more logically placed in the Queue package, since
8994 they manipulate the queue. It is also likely that they can be adapted
8995 for gnatmake, thus sharing more code.
8996 (Finish_Program, Fail_Program): moved from the gprbuild sources, so
8997 that we could move the above.
8998
89992011-08-03 Emmanuel Briot <briot@adacore.com>
9000
9001 * errutil.adb (Finalize): clean up the list of error messages on exit.
9002 Calling this subprogram multiple times will no longer show duplicate
9003 error messages on stderr.
9004
90052011-08-03 Emmanuel Briot <briot@adacore.com>
9006
9007 * g-comlin.adb, g-comlin.ads (Set_Command_Line): ignore the parameter
9008 Getopt_Switches when we have already define a command line
9009 configuration.
9010
5e8c8e44
YM
90112011-08-03 Yannick Moy <moy@adacore.com>
9012
9013 * sem_ch11.adb (Analyze_Raise_xxx_Error): do not mark such nodes as not
9014 in ALFA. Instead, they are considered as assertions to prove.
9015 * sem_ch4.adb (Analyze_Conditional_Expression): do not always mark such
9016 nodes as not in ALFA. Instead, include conditional expressions in ALFA
9017 if they have no ELSE part, or if they occur in pre- and postconditions,
9018 where the Condition cannot have side-effects in ALFA
9019 (Analyze_Membership_Op): do not mark such nodes as not in ALFA
9020 (Analyze_Type_Conversion): do not always mark such nodes as not in ALFA.
9021 Instead, include type conversion between scalar types in ALFA.
9022 * sem_ch6.adb (Process_Formals): correctly mark a parameter in ALFA
9023 if-and-only-if its type is in ALFA.
9024
5ffe0bab
AC
90252011-08-03 Thomas Quinot <quinot@adacore.com>
9026
9027 * scos.adb, get_scos.adb, put_scos.adb
9028 New code letter for decisions: G (entry guard)
9029 * par_sco.adb
9030 (Traverse_Subprogram_Body): Rename to...
9031 (Traverse_Subprogram_Or_Task_Body): New subrpogram.
9032 (Traverse_Protected_Body): New subprogram
9033 (Traverse_Declarations_Or_Statements): Add traversal of task bodies,
9034 protected bodies and entry bodies.
9035
90362011-08-03 Yannick Moy <moy@adacore.com>
9037
9038 * einfo.adb, einfo.ads (Is_Postcondition_Proc): new flag for procedure
9039 entities with get/set subprograms, which is set on procedure entities
9040 generated by the compiler for a postcondition.
9041 * sem_ch6.adb (Process_PPCs): set new flag on postcondition procedures
9042 * alfa.adb, alfa.ads (Get_Entity_For_Decl): new function returning the
9043 entity for a declaration
9044 (Get_Unique_Entity_For_Decl): new function returning an entity which
9045 represents a declaration, so that matching spec and body have the same
9046 entity.
9047
90482011-08-03 Robert Dewar <dewar@adacore.com>
9049
9050 * a-except-2005.adb, a-cfhama.adb, a-cfhase.adb, a-cfhase.ads,
9051 a-cforma.adb, a-cforse.ads, a-cforse.adb: Minor reformatting
9052
90532011-08-03 Yannick Moy <moy@adacore.com>
9054
9055 * lib-xref-alfa.adb (Detect_And_Add_ALFA_Scope): make the subprogram
9056 library-level because retriction No_Implicit_Dynamic_Code in the
9057 front-end prevents its definition as a local subprogram
9058 (Traverse_Compilation_Unit): extract new procedure from Add_ALFA_File,
9059 for reuse in other contexts
9060 (Traverse_Declarations_Or_Statements,
9061 Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
9062 Traverse_Package_Declaration, Traverse_Subprogram_Body): make all these
9063 procedures take a callback parameter to be called on all declarations
9064 * lib-xref.ads
9065 (Traverse_All_Compilation_Units): new generic function to traverse a
9066 compilation unit and call a callback parameter on all declarations
9067
f9ad6b62
AC
90682011-08-03 Javier Miranda <miranda@adacore.com>
9069
9070 * sem_prag.adb (Process_Interface_Name): Allow duplicated export names
9071 in Java since they are always enclosed in a namespace that
9072 differentiates them, and overloaded entities are supported by the VM.
9073
90742011-08-03 Ed Schonberg <schonberg@adacore.com>
9075
9076 * checks.adb (Determine_Range): If a computed bound of an operation is
9077 outside the range of the base type of the expression, and overflow
9078 checks are enabled, the result is unknown and cannot be used for any
9079 subsequent constant folding.
9080 * sem_eval.adb (Compile_Time_Compare): if the bounds of one operand are
9081 unknown, so is the result of the comparison.
9082
90832011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
9084
9085 * a-except-2005.adb (Raise_From_Controlled_Operation): Add new formal
9086 From_Abort. When finalization was triggered by an abort, propagate
9087 Standard'Abort_Signal rather than Program_Error.
9088 * a-except-2005.ads (Raise_From_Controlled_Operation): Add new formal
9089 From_Abort.
9090 * a-except.adb (Raise_From_Controlled_Operation): Add new formal
9091 From_Abort. When finalization was triggered by an abort, propagate
9092 Standard'Abort_Signal rather than Program_Error.
9093 * a-except.ads:(Raise_From_Controlled_Operation): Add new formal
9094 From_Abort.
9095 * exp_ch7.adb:(Build_Adjust_Or_Finalize_Statements): New local variable
9096 Abort_Id. Update the calls to Build_Object_Declarations and
9097 Build_Raise_Statement to include Abort_Id.
9098 (Build_Adjust_Statements): New local variable Abort_Id. Update the
9099 calls to Build_Object_Declarations and Build_Raise_Statement to include
9100 Abort_Id.
9101 (Build_Finalize_Statements): New local variable Abort_Id. Update the
9102 calls to Build_Object_Declarations and Build_Raise_Statement to include
9103 Abort_Id.
9104 (Build_Components): Create an entity for Abort_Id when exceptions are
9105 allowed on the target.
9106 (Build_Finalizer): New local variable Abort_Id.
9107 (Build_Initialize_Statements): New local variable Abort_Id. Update the
9108 calls to Build_Object_Declarations and Build_Raise_Statement to include
9109 Abort_Id.
9110 (Build_Object_Declarations): Add new formal Abort_Id. Create the
9111 declaration of flag Abort_Id to preserve the original abort status
9112 before finalization code is executed.
9113 (Build_Raise_Statement): Add new formal Abort_Id. Pass Abort_Id to
9114 runtime routine Raise_From_Controlled_Operation.
9115 (Create_Finalizer): Update the call to Build_Raise_Statement to include
9116 Abort_Id. Update the call to Build_Object_Declarations to include
9117 Abort_Id. Update the layout of the finalizer body.
9118 (Make_Handler_For_Ctrl_Operation): Add an actual for From_Abort.
9119 (Process_Transient_Objects): New local variable Abort_Id. Remove the
9120 clunky code to create all flags and objects related to
9121 exception propagation and replace it with a call to
9122 Build_Object_Declarations. Update the call to Build_Raise_Statement to
9123 include Abort_Id.
9124 * exp_ch7.ads (Build_Object_Declarations): Moved from body to spec.
9125 Add new formal Abort_Id and associated comment on its use.
9126 (Build_Raise_Statement): Add new formal Abort_Id and associated comment
9127 on its use.
9128 * exp_intr.adb (Expand_Unc_Deallocation): New local variable Abort_Id.
9129 Remove the clunky code to create all flags and objects related to
9130 exception propagation and replace it with a call to
9131 Build_Object_Declarations. Update the call to Build_Raise_Statement.
9132
91332011-08-03 Eric Botcazou <ebotcazou@adacore.com>
9134
9135 * s-tassta.adb: Fix minor typos.
9136
91372011-08-03 Robert Dewar <dewar@adacore.com>
9138
9139 * rtsfind.ads, makeutl.ads, prj.ads, prj.adb, make.adb,
9140 lib-writ.adb, makeutl.adb, s-soflin.ads, clean.adb: Minor reformatting.
9141
1cdfa9be
AC
91422011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
9143
9144 * exp_ch7.adb (Create_Finalizer): Treat freeze nodes in similar fashion
9145 to packages. This ensures that the finalizer body will not end up
9146 inside the freeze node.
9147 (Process_Declarations): Add code to detect whether a freeze node has a
9148 nested finalization collection.
9149
91502011-08-03 Pascal Obry <obry@adacore.com>
9151
9152 * g-awk.adb, g-awk.ads: Make GNAT.AWK API compatible with Ada 2005.
9153 (Current_Session): Return a not null access to Session_Type.
9154 (Default_Session): Likewise.
9155
243cae0a
AC
91562011-08-03 Robert Dewar <dewar@adacore.com>
9157
9158 * a-cfdlli.adb, bindgen.adb, exp_ch4.adb, exp_ch13.adb, sem_warn.adb,
9159 exp_ch3.adb, exp_ch3.ads: Minor reformatting.
9160
91612011-08-03 Pascal Obry <obry@adacore.com>
9162
9163 * g-awk.ads: Minor comment fix.
9164
91652011-08-03 Sergey Rybin <rybin@adacore.com>
9166
9167 * tree_io.ads (ASIS_Version_Number): Update because of the changes in
9168 the tree structure related to discriminant constraints.
9169 Original_Discriminant cannot be used any more for computing the
9170 defining name for the reference to a discriminant.
9171
91722011-08-03 Ed Schonberg <schonberg@adacore.com>
9173
9174 * sem_disp.adb (Is_Tag_Indeterminate): If the return type of the
9175 function is not visibly tagged, this is not a dispatching call and
9176 therfore is not Tag_Indeterminate, even if the function is marked as
9177 dispatching on result.
9178
f553e7bc
AC
91792011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
9180
9181 * exp_ch13.adb: Add with and use clauses for Restrict and Rident.
9182 (Expand_N_Free_Statement): Add a guard to protect against run-times
9183 which do not support controlled types.
9184 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Add a guard to protect
9185 against run-times which do not support controlled types.
9186 * exp_ch4.adb (Complete_Controlled_Allocation): Add a guard to protect
9187 against run-times which do not support controlled types.
9188 * exp_ch7.adb (Build_Finalization_Collection): Add a guard to protect
9189 against run-times which do not support controlled types.
9190 * exp_util.adb (Needs_Finalization): Code reformatting. Add a guard to
9191 protect against run-times which do not support controlled types.
9192
91932011-08-03 Eric Botcazou <ebotcazou@adacore.com>
9194
9195 * exp_intr.adb: Put back with and use clauses for Exp_Ch11.
9196 (Expand_Unc_Deallocation): Expand the AT_END handler at the very end.
9197
e4982b64
AC
91982011-08-03 Ed Schonberg <schonberg@adacore.com>
9199
9200 * exp_ch5.adb (Expand_Iterator_Loop): indicate that the cursor is
9201 modified in the source, to prevent spurious warnings when compiling
9202 with -gnatg.
9203
92042011-08-03 Thomas Quinot <quinot@adacore.com>
9205
9206 * a-except-2005.adb: Minor reformatting.
9207
92082011-08-03 Ed Schonberg <schonberg@adacore.com>
9209
9210 * sem_warn.adb (Check_One_Unit): if the only mention of a withed unit
9211 is a renaming declaration in the private part of a package, do not emit
9212 a warning that the with_clause could be moved because the renaming may
9213 be used in the body or in a child unit.
9214
92152011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
9216
9217 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
9218 Propagate the Comes_From_Source attribute from the original return
9219 object to the renaming.
9220
92212011-08-03 Jose Ruiz <ruiz@adacore.com>
9222
9223 * exp_ch7.adb (Build_Raise_Statement): Do not call
9224 Raise_From_Controlled_Operation when this routine is not present in
9225 the run-time library.
9226 (Cleanup_Protected_Object, Cleanup_Task): For restricted run-time
9227 libraries (Ravenscar), tasks are non-terminating, and protected objects
9228 and tasks can only appear at library level, so we do not want
9229 finalization of protected objects nor tasks.
9230 * exp_intr.adb: Minor clarification in comment.
9231 bindgen.adb (Gen_Adainit_Ada, Gen_Main_C, Gen_Output_File_Ada,
9232 Gen_Output_File_C): Remove references to finalization of library-level
9233 objects when using restricted run-time libraries.
9234
92352011-08-03 Ed Schonberg <schonberg@adacore.com>
9236
9237 * sem_ch3.adb (Build_Discriminant_Constraints): Set
9238 Original_Discriminant only if the parent type is a generic formal.
9239
deb8dacc
HK
92402011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
9241
9242 * exp_ch13.adb: Add with and use clause for Targparm;
9243 (Expand_N_Free_Statement): Prevent the generation of a custom
9244 Deallocate on .NET/JVM targets since this requires pools and address
9245 arithmetic.
9246 * exp_ch4.adb (Expand_Allocator_Expression): When compiling for
9247 .NET/JVM targets, attach the newly allocated object to the access
9248 type's finalization collection. Do not generate a call to
9249 Set_Finalize_Address_Ptr on .NET/JVM because this routine does not
9250 exist in the runtime.
9251 (Expand_N_Allocator): When compiling for .NET/JVM targets, do not
9252 create a custom Allocate for object that do not require initialization.
9253 Attach a newly allocated object to the access type's finalization
9254 collection on .NET/JVM.
9255 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add special processing for
9256 assignment of controlled types on .NET/JVM. The two hidden pointers
9257 Prev and Next and stored and later restored after the assignment takes
9258 place.
9259 * exp_ch6.adb (Expand_Call): Add local constant Curr_S. Add specialized
9260 kludge for .NET/JVM to recognize a particular piece of code coming from
9261 Heap_Management and change the call to Finalize into Deep_Finalize.
9262 * exp_ch7.adb (Build_Finalization_Collection): Allow the creation of
9263 finalization collections on .NET/JVM only for types derived from
9264 Controlled. Separate the association of storage pools with a collection
9265 and only allow it on non-.NET/JVM targets.
9266 (Make_Attach_Call): New routine.
9267 (Make_Detach_Call): New routine.
9268 (Process_Object_Declarations): Suppress the generation of
9269 build-in-place return object clean up code on .NET/JVM since it uses
9270 pools.
9271 * exp_ch7.ads (Make_Attach_Call): New routine.
9272 (Make_Detach_Call): New routine.
9273 * exp_intr.adb Add with and use clause for Targparm.
9274 (Expand_Unc_Deallocation): Detach a controlled object from a collection
9275 on .NET/JVM targets.
9276 * rtsfind.ads: Add entries RE_Attach, RE_Detach and
9277 RE_Root_Controlled_Ptr to tables RE_Id and RE_Unit_Table.
9278 * snames.ads-tmpl: Add name Name_Prev. Move Name_Prev to the special
9279 names used in finalization.
9280
92812011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
9282
9283 * a-fihema.adb: Add with and use clauses for System.Soft_Links.
9284 (Attach, Detach): Lock the current task when chaining an object onto a
9285 collection.
9286
df3e68b1
HK
92872011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
9288
9289 * a-except.adb, a-except-2005.adb (Raise_From_Controlled_Operation):
9290 Rewritten to create the message strings when the exception is not
9291 raised by an abort during finalization.
9292 * a-except.ads, a-except-2005.ads: Add pragma Export for procedure
9293 Raise_From_Controlled_Operation and update its associated comment.
9294 * a-fihema.ads, a-fihema.adb: New GNAT unit.
9295 Ada.Finalization.Heap_Management provides key functionality
9296 associated with controlled objects on the heap, their creation,
9297 finalization and reclamation. Type Finalization_Collection is
9298 effectively a wrapper which sits ontop of a storage pool and performs
9299 all necessary bookkeeping for all the objects it contains. Each
9300 access-to-controlled or access-to-class-wide type receives a collection
9301 as part of its expansion. The compiler generates buffer code and
9302 invokes Allocate / Deallocate to create and destroy allocated
9303 controlled objects.
9304 * a-finali.adb ("="): Removed.
9305 * a-finali.ads ("="): Removed. Controlled types no longer carry hidden
9306 fields Prev and Next.
9307 * ali.adb (Scan_ALI): Add parsing code to process PF / Has_Finalizer.
9308 A library unit with at least one controlled object on the library level
9309 has a special finalizer which is invoked by the binder. To signal this,
9310 ali files carry field PF.
9311 * ali.ads: New field in type Unit_Record called Has_Finalizer. Add
9312 associated comment on field usage.
9313 * a-tags.adb (Get_RC_Offset): Removed.
9314 (Needs_Finalization): New routine.
9315 * a-tags.ads: Update the structure of the GNAT dispatch tables.
9316 Dispatch tables now carry field Needs_Finalization which provides
9317 runtime indication whether a type is controlled or has controlled
9318 components or both. Remove field RC_Offset.
9319 (Get_RC_Offset): Removed along with its associated pragma Export.
9320 Since tagged types with controlled components no longer carry hidden
9321 field _controller, the special mechanism to retrieve its location is no
9322 longer needed.
9323 (Needs_Finalization): New routine.
9324 * atree.ads, atree.adb (Elist24): New routine.
9325 (Set_Elist24): New routine.
9326 * atree.h: Add a define clause for Elist24.
9327 * bindgen.adb New library-level variable Lib_Final_Built.
9328 (Gen_Adafinal_Ada): Reimplemented. Depending on the restrictions or the
9329 presence of a VM target, the routine generates calls to the proper
9330 library finalization routine.
9331 (Gen_Adainit_Ada): Import Finalize_Library_Objects only on non-VM
9332 targets. Set the correct library finalization routine depending on
9333 whether the library has controlled objects or this is a VM compilation.
9334 (Gen_Finalize_Library_Ada): New routine. This procedure generates calls
9335 to library-level finalizers of compiled units in reverse order of
9336 elaboration. It also produces exception management code and reraises a
9337 potential exception after all units have been finalized.
9338 (Gen_Finalize_Library_C): New routine. This procedure generates calls to
9339 library-level finalizers of compiled units in reverse order of
9340 elaboration.
9341 (Gen_Finalize_Library_Defs_C): New routine. This procedure generates the
9342 definitions of all library-level finalizers available to the compilation
9343 (Gen_Main_Ada): Directly call Adafinal which now contails all target
9344 dependent code.
9345 (Gen_Main_C): Add new local constant Needs_Library_Finalization. Call
9346 System.Standard_Library.Adafinal directly. If the library needs
9347 finalization actions, create the sequence of finalization calls.
9348 (Gen_Output_File_Ada): Alphabetize local variables and constants.
9349 Generate a with clause for System.Soft_Links when compiling for a VM.
9350 Remove the code which imports System.Standard_Library.Adafinal as
9351 Do_Finalize. Generate the library finalization routine.
9352 (Gen_Output_File_C): Add new local constant Needs_Library_Finalization.
9353 If the library needs finalization actions, create all the definitions
9354 of library- level finalizers.
9355 (Has_Finalizer): New routine. Determines whether at least one compiled
9356 unit has a library-level finalizer.
9357 Add type Qualification_Mode.
9358 (Set_Unit_Name): Add a formal which controls the replacement of a dot.
9359 * einfo.adb: New usage of field 15 as Return_Flag.
9360 Remove Finalization_Chain_Entity from the usages of field 19.
9361 Remove Associated_Final_Chain from the usages of field 23.
9362 New usage of field 23 as Associated_Collection.
9363 New usage of field 24 as Finalizer.
9364 New usage of flag 252 as Is_Processed_Transient.
9365 (Associated_Final_Chain): Removed.
9366 (Associated_Collection): New routine.
9367 (Finalization_Chain_Entity): Removed.
9368 (Finalizer): New routine.
9369 (Is_Finalizer): New routine.
9370 (Is_Processed_Transient): New routine.
9371 (Return_Flag): New routine.
9372 (Set_Associated_Final_Chain): Removed.
9373 (Set_Associated_Collection): New routine.
9374 (Set_Finalization_Chain_Entity): Removed.
9375 (Set_Finalizer): New routine.
9376 (Set_Is_Processed_Transient): New routine.
9377 (Set_Return_Flag): New routine.
9378 (Write_Entity_Flags): Include Is_Processed_Transient to the list of
9379 displayed flags.
9380 (Write_Field8_Name): Alphabetize the output.
9381 (Write_Field11_Name): Alphabetize the output.
9382 (Write_Field12_Name): Alphabetize the output.
9383 (Write_Field13_Name): Alphabetize the output.
9384 (Write_Field14_Name): Alphabetize the output.
9385 (Write_Field15_Name): Alphabetize the output.
9386 (Write_Field16_Name): Alphabetize the output.
9387 (Write_Field17_Name): Alphabetize the output.
9388 (Write_Field18_Name): Alphabetize the output.
9389 (Write_Field19_Name): Alphabetize the output. Remove the output of
9390 Finalization_Chain_Entity.
9391 (Write_Field20_Name): Alphabetize the output.
9392 (Write_Field21_Name): Alphabetize the output.
9393 (Write_Field22_Name): Alphabetize the output.
9394 (Write_Field23_Name): Alphabetize the output. Remove the output of
9395 Associated_Final_Chain. Add output for Associated_Collection.
9396 (Write_Field24_Name): Alphabetize the output.
9397 (Write_Field25_Name): Add output for Finalizer.
9398 (Write_Field26_Name): Alphabetize the output.
9399 (Write_Field27_Name): Alphabetize the output.
9400 (Write_Field28_Name): Alphabetize the output.
9401 * einfo.ads: Add new field description for Associated_Collection and
9402 its uses in nodes.
9403 Remove Associated_Final_Chain and its uses in nodes.
9404 Remove Finalization_Chain_Entity and its uses in nodes.
9405 Add new field description for Finalizer and its uses in nodes.
9406 Add new synthesized attribute Is_Finalizer.
9407 Add new flag description for Is_Processed_Transient and its uses in
9408 nodes.
9409 Add new field description for Return_Flag and its uses in nodes.
9410 (Associated_Final_Chain): Removed along with its pragma Inline.
9411 (Associated_Collection): New routine and pragma Inline.
9412 (Finalization_Chain_Entity): Removed along with its pragma Inline.
9413 (Finalizer): New routine and pragma Inline.
9414 (Is_Finalizer): New routine and pragma Inline.
9415 (Is_Processed_Transient): New routine and pragma Inline.
9416 (Return_Flag): New routine and pragma Inline.
9417 (Set_Associated_Final_Chain): Removed along with its pragma Inline.
9418 (Set_Associated_Collection): New routine and pragma Inline.
9419 (Set_Finalization_Chain_Entity): Removed along with its pragma Inline.
9420 (Set_Finalizer): New routine and pragma Inline.
9421 (Set_Is_Processed_Transient): New routine and pragma Inline.
9422 (Set_Return_Flag): New routine and pragma Inline.
9423 * exp_aggr.adb: Alphabetize subprograms.
9424 (Build_Array_Aggr_Code): Remove formal Flist and its associated comment.
9425 (Build_Record_Aggr_Code): Remove formals Flist and Obj along with their
9426 associated comments. Remove local variables External_Final_List and
9427 Attach.
9428 Rename Ctrl_Stuff_Done to Finalization_Done. Rename local variable A to
9429 Ancestor. Remove the retrieval of finalization lists. Update the call to
9430 Make_Adjust_Call.
9431 (Convert_Aggr_In_Allocator): Remove the retrieval of finalization
9432 lists. Update the call to Late_Expansion.
9433 (Convert_Aggr_In_Assignment): Update the call to Late_Expansion.
9434 (Convert_Aggr_In_Object_Decl): Update the call to Late_Expansion.
9435 (Gen_Assign): Remove the retrieval of the finalization list used to
9436 build the assignment. Update the calls to Make_Init_Call and
9437 Make_Adjust_Call.
9438 (Gen_Ctrl_Actions_For_Aggr): Renamed to Generate_Finalization_Actions.
9439 Remove the mechanism to determine attachment levels and finalization
9440 list retrieval. Remove the processing for coextensions.
9441 (Init_Controller): Removed. Controllers no longer exist.
9442 (Late_Expansion): Remove formals Flist and Obj along with their
9443 associated comments. Update the calls to Build_Record_Aggr_Code and
9444 Build_Array_Aggr_Code.
9445 * exp_ch13.adb (Expand_N_Free_Statement): New routine.
9446 (Expand_N_Freeze_Entity): Add special processing for finalizers which
9447 appear in entry bodies, protected subprograms and task bodies.
9448 * exp_ch13.ads (Expand_N_Free_Statement): New routine.
9449 * exp_ch3.adb (Add_Final_Chain): Removed.
9450 (Build_Array_Init_Proc): Alphabetize local variables.
9451 (Build_Assignment): Alphabetize local variables. Update the call to
9452 Maked_Adjust_Call.
9453 (Build_Class_Wide_Master): Rename local variables to better reflect
9454 their role.
9455 (Build_Discriminant_Assignments): Code reformatting.
9456 (Build_Init_Call_Thru): Code reformatting.
9457 (Build_Init_Procedure): Code reformatting. Generate a special version
9458 of Deep_Finalize which is capable of finalizing all initialized
9459 components and ignore the rest.
9460 (Build_Init_Statements): Rename local variables to better reflect their
9461 role.
9462 Reimplement the mechanism to include the creation and update of an index
9463 variable called a "counter". It is used as a bookmark for tracing
9464 initialized and non-initialized components.
9465 (Build_Initialization_Call): Remove local variable Controller_Typ.
9466 Alphabetize all local variables. Remove the initialization of the
9467 record controller and update the call to Make_Init_Call.
9468 (Build_Record_Init_Proc): Rename formal Pe to Rec_Ent.
9469 New local variable Counter.
9470 (Constrain_Array): Alphabetize.
9471 (Expand_Freeze_Array_Type): Create a collection instead of a
9472 finalization list.
9473 (Expand_Freeze_Class_Wide_Type): New routine. Creates TSS primitive
9474 Finalize_Address which is used in conjunction with allocated controlled
9475 objects.
9476 (Expand_N_Object_Declaration): Remove the creation of a finalization
9477 list for anonymous access types. Update the calls to Make_Init_Call and
9478 Make_Adjust_Call.
9479 (Expand_Freeze_Record_Type): Remove local variable Flist. Remove the
9480 retrieval of finalization lists. Remove the expansion of the record
9481 controller. Create TSS primitive Finalize_Address used in conjunction
9482 with controlled objects on the heap. Create finalization collections
9483 for access-to-controlled record components.
9484 (Expand_Record_Controller): Removed.
9485 (Freeze_Type): Remove the freezing of record controllers. Freezing of
9486 class-wide types now requires additional processing. Create
9487 finalization collections for access-to-controlled types.
9488 (Increment_Counter): New routine.
9489 (Make_Counter): New routine.
9490 (Make_Eq_If): Remove the mention of Name_uController.
9491 (Make_Predefined_Primitive_Specs): There is no longer need to skip
9492 types coming from System.Finalization_Root.
9493 (Predef_Deep_Spec): Reimplemented to reflect the new parameter profiles.
9494 (Predefined_Primitive_Bodies): There is no longer need to skip types
9495 coming from System.Finalization_Root.
9496 (Stream_Operation_OK): Do not generate stream routines for
9497 type Ada.Finalization.Heap_Management.Finalization_Collection.
9498 * exp_ch3.ads: Alphabetize subprograms.
9499 * exp_ch4.adb: Remove with and use clause for Sem_Ch8.
9500 Add with and use clause for Lib.
9501 (Complete_Coextension_Finalization): Removed.
9502 (Complete_Controlled_Allocation): New routine. Create a finalization
9503 collection for anonymous access-to-controlled types. Create a custom
9504 Allocate which interfaces with the back end and the machinery in
9505 Heap_Management.
9506 (Expand_Allocator_Expression): Add necessary calls to
9507 Complete_Controlled_Allocation. Remove the retrieval of finalization
9508 lists. Update the calls to Make_Adjust_Call. Generate a call to
9509 Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
9510 the associated collection.
9511 (Expand_N_Allocator): Remove the processing for dynamic coextensions.
9512 Code clean up. Remove the retrieval of finalization lists and
9513 attachment levels.
9514 Update the call to Make_Init_Call. Generate a call to
9515 Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
9516 the associated collection.
9517 (Get_Allocator_Final_List): Removed. Finalization lists are not
9518 available.
9519 (Suitable_Element): Remove the mention of Name_uController.
9520 * exp_ch5.adb: Remove with and use clauses for Ttypes and Uintp.
9521 (Make_Tag_Ctrl_Assignment): Rewritten to simply do a finalization of
9522 the left hand side, carry out the assignment and adjust the left hand
9523 side.
9524 * exp_ch6.adb (Add_Final_List_Actual_To_Build_In_Place_Call): Removed.
9525 (Add_Collection_Actual_To_Build_In_Place_Call): New routine.
9526 (BIP_Formal_Suffix): Rename BIP_Final_List and BIPfinallist to
9527 BIP_Collection and BIPcollection.
9528 (Build_Heap_Allocator): New routine used to allocate the return object
9529 of a build-in-place function onto a collection.
9530 (Expand_Ctrl_Function_Call): Moved from Exp_Ch7.
9531 (Expand_Call): Do not replace direct calls to Deep routines with their
9532 aliases.
9533 (Expand_N_Extended_Return_Statement): Give all variables shorter names
9534 and update their occurrences. Add a special return flag to monitor the
9535 [ab]normal execution of the function. The flag is set right before the
9536 return statement.
9537 Rewrite the mechanism used to allocate a build-in-place return object
9538 on the heap or on a storage pool.
9539 (Is_Direct_Deep_Call): New routine.
9540 (Make_Build_In_Place_Call_In_Allocator): Add a collection to a
9541 build-in-place function call instead of a final list. Build a call to
9542 Set_Finalize_Address_Ptr to decorate the associated collection.
9543 (Make_Build_In_Place_Call_In_Anonymous_Context): Create a temporary in
9544 order to name the build-in-place function call's result for later
9545 finalization. Add a collection to a build-in-place function call
9546 instead of a final list.
9547 (Make_Build_In_Place_Call_In_Assignment): Add a collection to a
9548 build-in-place function call instead of a final list. Remove the code
9549 which moves one final list and transforms it into the actual in a
9550 nested build-in-place call.
9551 (Make_Build_In_Place_Call_In_Object_Declaration): Add a collection to a
9552 build-in-place function call instead of a final list.
9553 (Move_Final_List): Removed.
9554 (Needs_BIP_Collection): New routine.
9555 (Needs_BIP_Final_List): Removed.
9556 * exp_ch6.ads: Replace BIP_Final_List with BIP_Collection in
9557 enumeration type BIP_Formal_Kind.
9558 Update the related comment.
9559 (Needs_BIP_Collection): New routine.
9560 (Needs_BIP_Final_List): Removed.
9561 * exp_ch7.adb: Add with and use clauses for Elists, Exp_Ch6, Stringt
9562 and Ttypes. Remove with and use clauses for Sem_Type. Alphabetize the
9563 majority of subprograms in this unit. Add Name_Finalize_Address to
9564 array Name_Of and TSS_Finalize_Address to array Deep_Name_Of.
9565 (Build_Adjust_Or_Finalize_Statements): Create the adjust or finalization
9566 statements for an array type.
9567 (Build_Adjust_Statements): Create the adjust statements for a record
9568 type.
9569 (Build_Cleanup_Statements): New routine. A procedure which given any
9570 construct containing asynchronous calls, references to _master, or is a
9571 task body, a task allocation or a protected body produces the necessary
9572 runtime calls to clean up these constructs.
9573 (Build_Exception_Handler): New routine.
9574 (Build_Final_List): Removed.
9575 (Build_Finalization_Collection): New routine. A core procedure which
9576 creates a collection to service heap allocated controlled objects
9577 associated with an access-to-controlled type.
9578 (Build_Finalize_Statements): Create the finalization statements for a
9579 record types.
9580 (Build_Finalizer): New routine. A core procedure which given any
9581 construct with declarations and/or statements detects all objects which
9582 need any type of clean up (controlled objects, protected objects) and
9583 generates all necessary code to clean up the said objects in the proper
9584 order.
9585 (Build_Finalizer_Call): New routine.
9586 (Build_Initialize_Statements): Create the initialization statements for
9587 an array type. The generated routine contains code to finalize partially
9588 initialized arrays.
9589 (Build_Object_Declarations): New routine.
9590 (Build_Raise_Statement): New routine.
9591 (Clean_Simple_Protected_Objects): Removed.
9592 (Controller_Component): Removed.
9593 (Enclosing_Function): New routine.
9594 (Expand_Cleanup_Actions): Create a finalizer for a construct which has
9595 either declarations or statements or both.
9596 (Expand_N_Package_Body): Create a finalizer for a non-generic package.
9597 (Expand_N_Package_Declaration): Create a finalizer for a non-generic
9598 package.
9599 (Find_Final_List): Removed.
9600 (Global_Flist_Ref): Removed.
9601 (In_Finalization_Root): Removed.
9602 (Insert_Actions_In_Scope_Around): Determine the range of the transient
9603 scope in terms of tree nodes. Process all transient variables within
9604 that range.
9605 (Make_Adjust_Call): Rewritten. There is no longer an attach call
9606 generated after the adjust.
9607 (Make_Attach_Call): Removed.
9608 (Make_Call): New routine.
9609 (Make_Clean): Removed.
9610 (Make_Deep_Array_Body): Rewritten to simply invoke the appropriate
9611 build routines.
9612 (Make_Deep_Proc): Rewritten to generate the new profile signature used
9613 in Deep routines.
9614 (Make_Deep_Record_Body): Rewritten to simply invoke the appropriate
9615 build routines.
9616 (Make_Final_Call): Modified to simply create a call to either
9617 Deep_Finalize or Finalize.
9618 (Make_Finalize_Address_Body): New routine.
9619 (Make_Finalize_Address_Stmts): New routine. A function which produces
9620 TSS primitive Finalize_Address used in conjunction with heap allocated
9621 controlled objects.
9622 (Make_Handler_For_Ctrl_Operation): Add specialized code for .NET/JVM.
9623 (Make_Init_Call): Rewritten. There is no longer an attach call
9624 generated after initialization.
9625 (Make_Local_Deep_Finalize): New routine.
9626 (Make_Set_Finalize_Address_Ptr_Call): New routine.
9627 (Make_Transient_Block): Remove the finalization list retrieval and
9628 manipulation.
9629 (Needs_Finalization): Moved to Exp_Util.
9630 (Parent_Field_Type): New routine.
9631 (Preprocess_Components): New routine.
9632 (Process_Transient_Objects): New routine.
9633 (Wrap_HSS_In_Block): New routine.
9634 (Wrap_Transient_Declaration): Remove finalization list management and
9635 controller insertion.
9636 (Wrap_Transient_Expression): Code reformatting.
9637 (Wrap_Transient_Statement): Code reformatting.
9638 * exp_ch7.ads (Build_Final_List): Removed.
9639 (Build_Finalization_Collection): New routine.
9640 (Build_Raise_Statement): New routine.
9641 (Controller_Component): Removed.
9642 (Expand_Ctrl_Function_Call): Moved to Exp_Ch6.
9643 (Find_Final_List): Removed.
9644 (In_Finalization_Root): Removed.
9645 (Is_Simple_Protected_Type): Update related comment.
9646 (Make_Adjust_Call): New parameter profile and associated comments.
9647 (Make_Attach_Call): Removed.
9648 (Make_Final_Call): New parameter profile and associated comments.
9649 (Make_Finalize_Address_Body): New routine.
9650 (Make_Init_Call): New parameter profile and associated comments.
9651 (Make_Local_Deep_Finalize): New routine.
9652 (Make_Set_Finalize_Address_Ptr_Call): New routine.
9653 (Needs_Finalization): Moved to Exp_Util.
9654 * exp_ch9.adb (Add_Object_Pointer): Code reformatting.
9655 (Expand_N_Protected_Body): Remove the handling of finalization lists.
9656 (Find_Protection_Type): Moved to Exp_Util.
9657 * exp_disp.adb: Remove with and use clauses for Exp_Ch7.
9658 (Make_DT): Update sequence of dispatch table initialization. Remove the
9659 initialization of field RC_Offset. Add initialization of field Needs_
9660 Finalization.
9661 * exp_intr.adb (Expand_Unc_Deallocation): Code reformatting.
9662 Reimplement how an object is first finalized, then deallocated.
9663 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
9664 Code reformatting.
9665 * exp_tss.ads: Add special suffix for TSS primitive Finalize_Address.
9666 Register TSS_Finalize_Address with type TSS_Names.
9667 * exp_util.adb (Build_Allocate_Deallocate_Proc): New routine. This core
9668 procedure provides the interface between an allocation / deallocation
9669 and the support machinery in Ada.Finalization.Heap_Management.
9670 (Find_Init_Call): Code reformatting.
9671 (Find_Init_Call_In_List): Code reformatting.
9672 (Find_Protection_Type): Moved from Exp_Ch9.
9673 (Find_Prim_Op): Reimplement to add preference of recovered primitive.
9674 (Has_Controlled_Coextensions): Removed.
9675 (Has_Controlled_Objects): New routine.
9676 (In_Library_Level_Package_Body): New routine.
9677 (Insert_Action_After): New routine.
9678 (Is_Finalizable_Transient): New routine. This predicate determines
9679 whether an object declaration is one of the many variants of controlled
9680 transients.
9681 (Is_Null_Access_BIP_Func_Call): New routine.
9682 (Is_Non_BIP_Func_Call): New routine.
9683 (Is_Related_To_Func_Return): New routine.
9684 (Needs_Finalization): Moved from Exp_Ch7.
9685 * exp_util.ads (Build_Allocate_Deallocate_Proc): New routine.
9686 (Find_Protection_Type): Moved from Exp_Ch9.
9687 (Has_Controlled_Coextensions): Removed.
9688 (Has_Controlled_Objects): New routine.
9689 (In_Library_Level_Package_Body): New routine.
9690 (Insert_Action_After): New routine.
9691 (Is_Finalizable_Transient): New routine.
9692 (Is_Null_Access_BIP_Func_Call): New routine.
9693 (Is_Non_BIP_Func_Call): New routine.
9694 (Is_Related_To_Func_Return): New routine.
9695 (Needs_Finalization): Moved from Exp_ch7.
9696 * expander.adb (Expand): Add a case for N_Free_Statement.
9697 * freeze.adb (Freeze_All): Replace the generation of a finalization
9698 list with a collection for access-to-controlled types.
9699 (Freeze_Entity): Code reformatting.
9700 (Freeze_Record_Type): Remove the freezing of a record controller
9701 component.
9702 (Freeze_Subprogram): Code reformatting.
9703 * inline.adb (Cleanup_Scopes): Remove the reset of the scope
9704 finalization list.
9705 * lib-writ.adb (Write_Unit_Information): Output "PF" when a package
9706 has a library-level finalizer.
9707 * lib-writ.ads: Add "PF" to the sequence of unit attributes.
9708 * a-filico.ads, a-filico.adb, s-finimp.ads, s-finimp.adb: Removed.
9709 * Makefile.rtl: Remove a-filico and s-finimp from the list of object
9710 files. Add a-fihema to the list of object files.
9711 * par-ch4.adb:
9712 Alphabetize the associations in type Is_Parameterless_Attribute.
9713 * rtsfind.ads: Ada.Finalization_List.Controller and
9714 System.Finalization_Implementation are no longer a GNAT unit.
9715 Update the range of type Ada_Finalization_Child. Remove the following
9716 recoverable entities:
2c7f9cc0 9717
df3e68b1
HK
9718 RE_Attach_To_Final_List
9719 RE_Deep_Tag_Attach
9720 RE_Finalize_List
9721 RE_Finalize_One
9722 RE_Finalizable_Ptr_Ptr
9723 RE_Global_Final_List
9724 RE_Limited_Record_Controller
9725 RE_List_Controller
9726 RE_Move_Final_List
9727 RE_Record_Controller
9728 RE_Simple_List_Controller
2c7f9cc0 9729
df3e68b1 9730 Add the following recoverable entities:
2c7f9cc0 9731
df3e68b1
HK
9732 RE_Add_Offset_To_Address
9733 RE_Allocate
9734 RE_Base_Pool
9735 RE_Deallocate
9736 RE_Exception_Identity
9737 RE_Finalization_Collection
9738 RE_Finalization_Collection_Ptr
9739 RE_Needs_Finalization
9740 RE_Save_Library_Occurrence
9741 RE_Set_Finalize_Address_Ptr
9742 RE_Set_Storage_Pool_Ptr
9743 RE_Storage_Count
9744 * sem_aggr.adb (Resolve_Record_Aggregate): Remove mention of
9745 Name_uController.
9746 * sem_aux.adb (First_Discriminant): Remove mention of Name_uController.
9747 (First_Stored_Discriminant): Remove the mention of Name_uController.
9748 * sem_aux.ads: Comment reformatting.
9749 * sem_ch10.adb (Build_Chain): Signal the class-wide creation machinery
9750 to redecorate an already existing class-wide type.
9751 (Decorate_Tagged_Type): New parameter profile and associated comment.
9752 Create a "shadow class-wide type" for a shadow entity.
9753 * sem_ch11.adb (Analyze_Exception_Handlers): Remove the dubious setting
9754 of the final chain along with the associated comment.
9755 * sem_ch3.adb (Access_Type_Declaration): Add new local variable
9756 Full_Desig and set it to the full view of the designated type.
9757 Initialize the finalization collection to empty.
9758 (Build_Derived_Record_Type): Alphabetize local variables. Code
9759 reformatting.
9760 (Collect_Fixed_Components): Remove the mention of Name_uController.
9761 (Create_Constrained_Components): Remove the mention of Name_uController.
9762 (Make_Class_Wide_Type): Add specialized code to redecorate an existing
9763 class-wide type of a shadow entity.
9764 (Process_Full_View): Update the machinery which marks type
9765 Limited_Controlled's entity as limited.
9766 * sem_ch4.adb (Analyze_One_Call): Code reformatting.
9767 * sem_ch6.adb (Create_Extra_Formals): Do not generate a finalization
9768 list, instead make a collection build-in-place formal.
9769 * sem_ch8.adb (Analyze_Object_Renaming): Look at the available view of
9770 a designated type in order to establish a match between the renaming
9771 and the renamed entity.
9772 (Find_Selected_Component): Add guard to prevent spurious exceptions
9773 from being raised on .NET/JVM.
9774 * sem_disp.adb (Check_Dispatching_Operation): Include Finalize_Address
9775 to the list of primitive that need special processing. Update arrays
9776 C_Names and D_Names.
9777 (Replace_Types): Handle class-wide types.
9778 * sem_elab.adb (Check_A_Call): Since Deep_Initialize now has a
9779 different parameter profile, look at the first formal.
9780 * sem_prag.adb: Remove with and use clauses for Exp_Ch7. Add with and
9781 use clauses for Exp_Util.
9782 * sem_res.adb: Remove with and use clauses for Elists.
9783 (Propagate_Coextensions): Removed.
9784 (Resolve_Allocator): Do not propagate the list of coextensions from one
9785 allocator to another.
9786 * sem_util.adb (Build_Actual_Subtype_Of_Component): Rename variable
9787 Deaccessed_T to Desig_Typ.
9788 (Enter_Name): Remove the mention of Name_uController.
9789 (Gather_Components): Remove the mention of Name_uController.
9790 (Incomplete_Or_Private_View): New routine.
9791 (Is_Coextension_Root): Removed.
9792 (Is_Fully_Initialized_Type): Remove the mention of Name_uController.
9793 * sem_util.ads (Incomplete_Or_Private_View): New routine.
9794 (Is_Coextension_Root): Removed.
9795 * s-finroo.ads: Remove with clause for Ada.Unchecked_Conversion.
9796 Controlled types are now derived from a null tagged record. Remove
9797 types Finalizable_Ptr, Finalizable and Empty_Root_Controlled.
9798 * sinfo.adb (Coextensions): Removed.
9799 (Set_Coextensions): Removed.
9800 * sinfo.ads: Remove Coextensions from the explanation of node fields
9801 and its uses in nodes.
9802 Update the field usage of N_Allocator.
9803 (Coextensions): Removed along with its pragma Inline.
9804 (Set_Coextensions): Removed along with its pragma Inline.
9805 * snames.ads-tmpl: Remove names
2c7f9cc0 9806
df3e68b1
HK
9807 Name_uClean
9808 Name_uController
9809 Name_uFinal_List
9810 Name_uLocal_Final_List
9811 Name_Finalization_Root
9812 Name_Next
9813 Name_Prev
2c7f9cc0 9814
df3e68b1 9815 Add names
2c7f9cc0 9816
df3e68b1
HK
9817 Name_uFinalizer
9818 Name_Finalize_Address
9819 * s-pooglo.adb (Allocate): Add overriding indicator.
9820 (Deallocate): Add overriding indicator.
9821 (Storage_Size): Add overriding indicator.
9822 * s-soflin.adb (Adafinal_NT): Invoke Finalize_Library_Objects rather
9823 than Finalize_Global_List.
9824 (Null_Finalize_Global_List): Removed.
9825 (Save_Library_Occurrence): New routine.
9826 * s-soflin.ads: Remove variable Finalize_Global_List along with its
9827 initialization. Add variable Finalize_Library_Objects along with its
9828 pragma Export. Add variables Library_Exception and
9829 Library_Exception_Set along with their pragma Export.
9830 (Null_Finalize_Global_List): Removed.
9831 (Save_Library_Occurrence): New routine.
9832 * s-tassta.adb (Finalize_Global_Tasks): Call Finalize_Library_Objects
9833 rather than Finalize_Global_List.
9834 * tbuild.adb (Unchecked_Convert_To): Capture and set the parent field
9835 of the constructed node.
9836
2ee06322
RO
98372011-08-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9838
9839 * link.c: Include "auto-host.h" before system headers.
9840
f77b022b
VC
98412011-08-03 Vincent Celier <celier@adacore.com>
9842
9843 * make.adb (Gnatmake): Add to table Library_Projs only library projects
9844 that are not extended. Do not check if a library project that is
9845 extended should be regenerated. Do not add to table Library_Paths the
9846 libraries that are in extended projects. Link only with libraries that
9847 are in libray projects that are not extended.
9848 * prj-nmsc.adb (Check_Library_Attributes): Do not reset flag Library
9849 for a library project that is extended.
9850
0187b60e
AC
98512011-08-03 Gary Dismukes <dismukes@adacore.com>
9852
9853 * sem_ch6.adb (Find_Corresponding_Spec): When in an instance, skip
9854 conforming subprogram renamings that appear to be completions if they
9855 are not fully conformant.
9856 Such renamings are homographs but not completions.
9857 * sem_type.adb (Disambiguate): Handle disambiguation of overloaded
9858 names in a subprogram renaming that appears in an instance.
9859
98602011-08-03 Ed Schonberg <schonberg@adacore.com>
9861
9862 * exp_util.adb (Expand_Subtype_From_Expr): if the type is limited but
9863 not immutably limited, build actual subtype from expression to provide
9864 proper bounds to caller.
9865
98662011-08-03 Gary Dismukes <dismukes@adacore.com>
9867
9868 * sem_ch8.adb: Minor comment correction.
9869
98702011-08-03 Thomas Quinot <quinot@adacore.com>
9871
9872 * exp_strm.adb (Build_Array_Input_Function): In Ada 2005 mode, when
9873 returning a limited array, use an extended return statement.
9874
98752011-08-03 Vincent Celier <celier@adacore.com>
9876
9877 * make.adb (Initialize): If --subdirs= is used, but no project file is
9878 specified, attempt to create the specify subdir if it does not already
9879 exist and use it as the object directory as if -D had been specified.
9880
98812011-08-03 Arnaud Charlet <charlet@adacore.com>
9882
9883 * s-tpopsp-vms.adb: New file.
9884 * s-taprop-vms.adb: Put back ATCB_Key, since needed by this file on VMS.
9885 * gcc-interfaces/Makefile.in: Use s-taprop-vms.adb on VMS.
9886
e280f981
AC
98872011-08-03 Emmanuel Briot <briot@adacore.com>
9888
9889 * make.adb, makeutl.adb, makeutl.ads, clean.adb (Makeutl.Queue): new
9890 package.
9891
98922011-08-03 Yannick Moy <moy@adacore.com>
9893
9894 * cstand.adb (Create_Standard): select Universal_Integer as an ALFA type
9895 * sem_ch3.adb (Array_Type_Declaration): detect array types in ALFA
9896 * sem_util.adb, sem_util.ads (Has_Static_Array_Bounds): new function to
9897 detect that an array has static bounds.
9898
98c99a5a
AC
98992011-08-03 Thomas Quinot <quinot@adacore.com>
9900
9901 * exp_dist.adb: Minor reformatting.
9902
99032011-08-03 Arnaud Charlet <charlet@adacore.com>
9904
9905 * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-vms.adb
9906 (ATCB_Key): Removed, not always used.
9907
99082011-08-03 Emmanuel Briot <briot@adacore.com>
9909
9910 * gnatcmd.adb, make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads,
9911 clean.adb, prj-conf.adb, prj-env.adb, prj-env.ads (Makeutl): remove
9912 most remaining global variables.
9913
686d0984
AC
99142011-08-03 Robert Dewar <dewar@adacore.com>
9915
9916 * gnatcmd.adb, prj-proc.adb, mlib-prj.adb, prj.adb, makeutl.ads,
9917 prj-util.adb, prj-util.ads, prj-conf.adb, prj-env.adb: Minor
9918 reformatting.
9919
99202011-08-03 Javier Miranda <miranda@adacore.com>
9921
9922 * exp_util.adb (Is_VM_By_Copy_Actual): Include N_Slide nodes as actuals
9923 that must be passed by copy in VM targets.
9924
99252011-08-03 Emmanuel Briot <briot@adacore.com>
9926
9927 * prj.ads, prj-nmsc.adb (Files_Htable): removed this htable, which
9928 duplicates a similar htable now in the project tree.
9929
99302011-08-03 Claire Dross <dross@adacore.com>
9931
9932 * a-cfdlli.adb, a-cfhama.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb,
9933 a-cofove.adb ("=", Length, Is_Empty, Clear, Assign, Copy, Element,
9934 Replace_Element, Query_Element, Update_Element, Move, Insert, Prepend,
9935 Append, Delete, Delete_First, Delete_Last, Reverse_Element, Swap,
9936 Splice, First, First_Element, Last, Last_Element, Next, Previous, Find,
9937 Reverse_Find, Contains, Has_Element, Iterate, Reverse_Iterate, Capacity,
9938 Reserve_Length, Length, Strict_Equal, Left, Right): Data-structure
9939 update.
9940
99412011-08-03 Arnaud Charlet <charlet@adacore.com>
9942
9943 * s-taprop-posix.adb, s-taprop-linux.adb, s-taprop-tru64.adb
9944 (ATCB_Key): Removed, not always used.
9945 * s-tpopsp-posix.adb, s-tpopsp-posix-foreign.adb (ATCB_Key): Moved from
9946 s-taprop-posix.adb.
9947 * s-tpopsp-tls.adb: New file.
9948 * gcc-interface/Makefile.in: Use TLS implementation of s-tpopsp.adb on
9949 x86/x64/ia64/powerpc/sparc Linux.
9950
99512011-08-03 Arnaud Charlet <charlet@adacore.com>
9952
9953 * system-aix.ads, system-aix64.ads: Set ZCX_By_Default to True.
9954 * gcc-interface/Makefile.in: Switch to ZCX by default on AIX ports.
9955
99562011-08-03 Thomas Quinot <quinot@adacore.com>
9957
9958 * rtsfind.ads, exp_dist.adb, exp_dist.ads
9959 (Build_From_Any_Call, Build_To_Any_Call, Build_TypeCode_Call):
9960 Fix type selection for mapping integer types to PolyORB types.
9961
99622011-08-03 Bob Duff <duff@adacore.com>
9963
9964 * sem_ch7.adb: Minor comment clarification.
9965
99662011-08-03 Bob Duff <duff@adacore.com>
9967
9968 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): If we get
9969 an error analyzing a choice, skip further processing. Further
9970 processing could cause a crash or cascade errors.
9971
40ecf2f5
EB
99722011-08-03 Emmanuel Briot <briot@adacore.com>
9973
9974 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, mlib-prj.adb,
9975 prj.adb, prj.ads, makeutl.adb, makeutl.ads, clean.adb, prj-nmsc.adb,
9976 prj-util.adb, prj-util.ads, prj-conf.adb, prj-conf.ads, prj-env.adb,
9977 prj-env.ads (Shared_Project_Tree_Data): new type
9978 An aggregate project and its aggregated trees need to share the common
9979 data structures used for lists of strings, packages,... This makes the
9980 code simpler since otherwise we have to pass the root tree (also used
9981 for the configuration file data) in addition to the current project
9982 tree. This also avoids ambiguities as to which tree should be used.
9983 And finally this saves a bit of memory.
9984 (For_Every_Project_Imported): new parameter Tree.
9985 Since aggregated projects are using a different tree, we need to let
9986 the caller know which tree to use to manipulate the returned project.
9987
9fde638d
RD
99882011-08-03 Robert Dewar <dewar@adacore.com>
9989
9990 * prj-proc.adb, exp_util.ads, exp_ch9.adb, make.adb, prj-ext.adb,
9991 prj-ext.ads, alfa.ads, sem_ch4.adb, makeutl.adb, makeutl.ads,
9992 lib-xref-alfa.adb, sem_cat.adb, exp_dist.adb, get_alfa.adb,
9993 prj-env.adb, prj-env.ads, prj-tree.adb, alfa.ads: Minor reformatting.
9994
95eb8b69
AC
99952011-08-03 Javier Miranda <miranda@adacore.com>
9996
9997 * exp_util.adb, sem_aux.adb, exp_util.ads, sem_aux.ads:
9998 Move routine Is_VM_By_Copy_Actual from sem_aux to exp_util.
9999
100002011-08-03 Bob Duff <duff@adacore.com>
10001
10002 * sem_ch8.adb (Is_Primitive_Operator_In_Use): Always check In_Use on
10003 the Base_Type.
10004
100052011-08-03 Joel Brobecker <brobecker@adacore.com brobecker>
10006
10007 * g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads, g-sha384.ads,
10008 g-sehash.ads: Fix typo. Update header.
10009
100102011-08-03 Thomas Quinot <quinot@adacore.com>
10011
10012 * exp_ch6.adb (Expand_Actuals): Remove Ada_2005 guard on build-in-place
10013 expansion.
10014
100152011-08-03 Gary Dismukes <dismukes@adacore.com>
10016
10017 * sem_ch4.adb (Analyze_Overloaded_Selected_Component): Consider
10018 prefixes of private types along with records, since the selector may be
10019 a discriminant.
10020 * sem_res.adb (Resolve_Selected_Component): Consider prefixes of
10021 private types along with records, since the selector may be a
10022 discriminant.
10023
92e77027
AC
100242011-08-03 Emmanuel Briot <briot@adacore.com>
10025
b2f7ebc1 10026 * prj-pp.adb (Pretty_Print): Remove trailing blank line.
92e77027
AC
10027
100282011-08-03 Javier Miranda <miranda@adacore.com>
10029
10030 * sem_aux.adb (Is_VM_By_Copy_Actual): Fix wrong use of
10031 Tagged_Type_Expansion.
10032
100332011-08-03 Yannick Moy <moy@adacore.com>
10034
b2f7ebc1
GP
10035 * sem_res.adb (Resolve_Op_Concat_Arg): Do not issue a SPARK
10036 violation when the argument of concatenation is the name of a
10037 constant.
92e77027 10038
ab29a348
EB
100392011-08-03 Emmanuel Briot <briot@adacore.com>
10040
10041 * prj-proc.adb, prj-ext.adb, prj-ext.ads, prj-env.adb, prj-env.ads,
10042 prj-tree.adb, prj-tree.ads (Initialize_And_Copy, Copy): new subprograms
10043 (Process_Declarative_Items): new parameter Child_Env.
10044
9466892f
AC
100452011-08-03 Yannick Moy <moy@adacore.com>
10046
589ef536
GP
10047 * alfa.ads: Update format of ALFA section in ALI file in order to
10048 add a mapping from bodies to specs when both are present.
10049 (ALFA_Scope_Record): Add components for spec file/scope.
10050 * get_alfa.adb (Get_ALFA): Read the new file/scope for spec when
10051 present.
10052 * lib-xref-alfa.adb (Collect_ALFA): After all scopes have been
10053 collected, fill in the spec information when relevant.
10054 * put_alfa.adb (Put_ALFA): Write the new file/scope for spec when
9466892f
AC
10055 present.
10056
100572011-08-03 Eric Botcazou <ebotcazou@adacore.com>
10058
10059 * inline.adb (Add_Inlined_Subprogram): Do not consider the enclosing
10060 code unit to decide whether to add internally generated subprograms.
2c7f9cc0 10061
9466892f
AC
100622011-08-03 Javier Miranda <miranda@adacore.com>
10063
10064 * sem_aux.ads, sem_aux.adb (Is_VM_By_Copy_Actual): New subprogram.
589ef536
GP
10065 * exp_ch9.adb (Build_Simple_Entry_Call): Handle actuals that must
10066 be handled by copy in VM targets.
9466892f
AC
10067
100682011-08-03 Emmanuel Briot <briot@adacore.com>
10069
589ef536 10070 * make.adb, makeutl.adb, makeutl.ads (Make.Switches_Of): Share
9466892f
AC
10071 code with Makeutl.Get_Switches.
10072 * prj-tree.adb: Update comment.
10073
b5ea9143
AC
100742011-08-03 Thomas Quinot <quinot@adacore.com>
10075
10076 * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Reject a remote
10077 subprogram with a limited formal that does not support external
10078 streaming.
10079
100802011-08-03 Yannick Moy <moy@adacore.com>
10081
10082 * get_alfa.adb (Get_ALFA): add missing Skip_Spaces at start of
10083 continuation line
10084 * lib-xref-alfa.adb (Add_ALFA_File): split removal of scopes that are
10085 not from current unit in two phases, because it is not possible to
10086 change the table while iterating over its content.
10087 * put_alfa.adb (Put_ALFA): reset current file/scope at each new entity
10088
100892011-08-03 Sergey Rybin <rybin@adacore.com>
10090
10091 * vms_data.ads: Add qualifier for gnatmetric --no-static-loop option
10092 * gnat_ugn.texi: Update description of complexity metrics (gnatmetric)
10093
668a19bc
ES
100942011-08-03 Ed Schonberg <schonberg@adacore.com>
10095
10096 * sem_res.adb (Resolve_Op_Concat_Arg): if the argument is an aggregate
10097 and the component type is composite, this is ambiguous for predefined
10098 concatenation, but if the node is not overloaded and the entity is a use
10099 -defined function its profile can be used to resolve that aggregate.
10100
170b2989
AC
101012011-08-03 Robert Dewar <dewar@adacore.com>
10102
10103 * exp_ch4.adb: Minor code cleanup.
10104
101052011-08-03 Thomas Quinot <quinot@adacore.com>
10106
10107 * exp_dist.adb: Do not generate distribution stubs if serious errors
10108 have been diagnosed.
10109
101102011-08-03 Ed Schonberg <schonberg@adacore.com>
10111
10112 * sem_ch4.adb (Try_Primitive_Operation): when checking the validity of
10113 the first formal of a primitive operation, go to the base type to
10114 handle properly an access to a derived type with constrained
10115 discriminants.
10116 * sem_type.adb (Disambiguate): an immediately visible operator hides a
10117 user-defined function that is only use-visible.
170b2989 10118
e917aec2
RD
101192011-08-03 Robert Dewar <dewar@adacore.com>
10120
10121 * sem_aggr.adb, sem_ch3.adb, lib.ads, gnatcmd.adb, prj-proc.adb,
10122 make.adb, lib-writ.adb, prj-part.adb, prj-part.ads, prj-ext.adb,
10123 fname-uf.adb, prj-ext.ads, prj.adb, prj.ads, sem_attr.adb, alfa.adb,
10124 prj-makr.adb, errout.adb, makeutl.adb, makeutl.ads, restrict.ads,
10125 sem_ch6.adb, g-pehage.adb, clean.adb, put_alfa.adb, lib-xref-alfa.adb,
10126 prj-nmsc.adb, prj-nmsc.ads, sem_ch8.adb, prj-pars.ads, exp_aggr.adb,
10127 prj-attr.ads, sem_ch13.adb, get_alfa.adb, prj-env.adb, prj-env.ads,
10128 alfa_test.adb, prj-tree.adb, prj-tree.ads, einfo.ads: Minor reformatting
10129
101302011-08-03 Robert Dewar <dewar@adacore.com>
10131
10132 * repinfo.adb (List_Mechanism): Add handling of
10133 Convention_Ada_Pass_By_XXX.
10134 * sem_mech.adb (Set_Mechanism): Ditto.
10135 * sem_prag.adb (Process_Convention): Add entries for
10136 Convention_Ada_Pass_By_XXX.
10137 * snames.adb-tmpl, snames.ads-tmpl: Ditto.
10138
49bfcf43
AC
101392011-08-03 Pascal Obry <obry@adacore.com>
10140
10141 * makeutl.adb: Minor reformatting.
10142
101432011-08-03 Vincent Celier <celier@adacore.com>
10144
10145 * fname-uf.adb
10146 (Get_File_Name) If the file cannot be found when there are no config
10147 pragmas file and May_Fail is True, return No_File instead of the file
10148 name, to be consistent.
10149
101502011-08-03 Pascal Obry <obry@adacore.com>
10151
10152 * adaint.c (__gnat_is_executable_file_attr): Avoid access
10153 to null pointer.
10154
101552011-08-03 Javier Miranda <miranda@adacore.com>
10156
10157 * sem_ch13.adb
10158 (Same_Representation): In VM targets the representation of arrays with
10159 aliased components differs from arrays with non-aliased components.
10160
34798441
EB
101612011-08-03 Emmanuel Briot <briot@adacore.com>
10162
10163 * prj-proc.adb, prj-attr.adb, prj-attr.ads (Get_Attribute_Index): do
10164 not systematically lower case attribute indexes that contain no "."
10165 Fix definition of several Naming attributes, which take
10166 a unit name as index and therefore should be case insensitive.
10167 Minor refactoring (reduce length of variable names).
10168
101692011-08-03 Emmanuel Briot <briot@adacore.com>
10170
10171 * makeutl.adb, makeutl.ads (Get_Switches): new subprogram.
10172
4437a530
EB
101732011-08-03 Emmanuel Briot <briot@adacore.com>
10174
10175 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
10176 prj-part.ads, switch-m.adb, switch-m.ads, prj-makr.adb, clean.adb,
10177 prj-pars.adb, prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
10178 prj-tree.ads (Prj.Tree.Environment): new type.
10179
804fe3c4
EB
101802011-08-03 Emmanuel Briot <briot@adacore.com>
10181
10182 * prj-proc.adb, prj.ads, makeutl.adb, makeutl.ads, prj-conf.adb,
10183 prj-tree.adb, prj-tree.ads (Environment): new type.
10184
c565bc66
AC
101852011-08-03 Emmanuel Briot <briot@adacore.com>
10186
10187 * prj-tree.ads: Remove unused variable.
10188
101892011-08-03 Yannick Moy <moy@adacore.com>
10190
10191 * restrict.adb (Restriction_Msg): set "SPARK" all in upper case for
10192 issuing messages related to SPARK restriction violation.
10193
4ee646da
AC
101942011-08-03 Ed Schonberg <schonberg@adacore.com>
10195
10196 * sem_ch6.adb: guard against error nodes in return statements.
10197
101982011-08-03 Arnaud Charlet <charlet@adacore.com>
10199
10200 * errout.adb (Error_Msg_Internal): the main unit has not been read yet,
10201 a warning can only appear on a configuration file, so emit warning
10202 without further checks.
10203
102042011-08-03 Arnaud Charlet <charlet@adacore.com>
10205
10206 * s-interr.ads: add overriding keyword.
10207
102082011-08-03 Geert Bosch <bosch@adacore.com>
10209
10210 * exp_attr.adb: Fix minor typo.
10211
102122011-08-03 Ed Schonberg <schonberg@adacore.com>
10213
10214 * par-ch4.adb: improve error recovery.
10215
c0e538ad
AC
102162011-08-03 Emmanuel Briot <briot@adacore.com>
10217
10218 * prj-part.adb, prj-part.ads, prj-makr.adb, prj-pars.adb, prj-conf.adb,
10219 prj-env.adb (Prj.Part.Parse): change parameter Always_Errout_Finalize
10220 to Errout_Handling.
10221
102222011-08-03 Emmanuel Briot <briot@adacore.com>
10223
10224 * prj-dect.adb (Parse_Attribute_Declaration): make sure we can use
10225 "external" as an attribute name in aggregate projects.
10226
102272011-08-03 Jose Ruiz <ruiz@adacore.com>
10228
10229 * s-taprop-vxworks.adb: (Create_Task, Initialize): Ada 2012 pragma CPU
10230 uses CPU numbers starting 1, while VxWorks uses CPU numbers starting
10231 from 0, so we need to adjust.
10232
102332011-08-03 Emmanuel Briot <briot@adacore.com>
10234
10235 * prj-proc.adb, prj-ext.adb, prj-ext.ads, makeutl.adb, prj-tree.adb,
10236 prj-tree.ads, gnatcmd.adb, clean.adb (External_References): new type.
10237
c4d67e2d
AC
102382011-08-03 Yannick Moy <moy@adacore.com>
10239
10240 * sem_ch6.adb (New_Overloaded_Entity): only issue error for SPARK
10241 restriction on overloaded entity if the entity is not an operator.
10242
102432011-08-03 Yannick Moy <moy@adacore.com>
10244
10245 * sem_ch7.adb, sem_res.adb, sem_attr.adb, restrict.adb,
10246 restrict.ads: Rename remaining Check_Formal_Restriction* into
10247 Check_SPARK_Restriction*.
10248
102492011-08-03 Emmanuel Briot <briot@adacore.com>
10250
10251 * prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb,
10252 prj-nmsc.ads, prj-err.adb (Project_Data): now discriminated on its
10253 qualifier.
10254 (Project_Empty): removed
10255 (Empty_Project): new parameter Qualifier
10256 This is used to have fields specific to aggregate projects, cleaner
10257 New field to store the list of aggregated projects.
10258 (Check_Aggregate_Project): removed
10259 (Process_Aggregated_Projects, Free): new subprograms.
10260
3f5a8fee
AC
102612011-08-03 Olivier Hainque <hainque@adacore.com>
10262
10263 * tracebak.c (STOP_FRAME ppc AIX): Stop at null return address as well.
10264
102652011-08-03 Ed Schonberg <schonberg@adacore.com>
10266
10267 * sem_ch8.adb (Analyze_Object_Renaming): if the renamed object is an
10268 explicit dereference of an unconstrained type, create a constrained
10269 subtype for it, as is done for function calls that return an
10270 unconstrained type.
10271
102722011-08-03 Thomas Quinot <quinot@adacore.com>
10273
10274 * g-pehage.adb (Finalize): Avoid possible double-free.
10275
102762011-08-03 Steve Baird <baird@adacore.com>
10277
10278 * exp_attr.adb (Expand_N_Attribute_Reference): Don't expand
10279 Elab_Spec/Body attrs in CodePeer_Mode.
10280
102812011-08-03 Javier Miranda <miranda@adacore.com>
10282
10283 * exp_aggr.adb (Flatten): Convert to positional form aggregates whose
10284 low bound is not known at compile time but they have no others choice.
10285 Done because in this case the bounds can be obtained directly from the
10286 aggregate.
10287
102882011-08-03 Ed Falis <falis@adacore.com>
10289
10290 * s-tasinf-vxworks.ads: Update comment to reflect 0 indexing of CPUs
10291 on VxWorks SMP. Remove unusable constant ANY_CPU.
10292
a96ca600
EB
102932011-08-03 Emmanuel Briot <briot@adacore.com>
10294
10295 * gnatcmd.adb, make.adb, prj-part.adb, prj-part.ads, prj-makr.adb,
10296 clean.adb, prj-nmsc.adb, prj-pars.adb, prj-conf.adb, prj-env.adb,
10297 prj-env.ads (Prj.Env.Initialize_Default_Project_Path,
10298 Prj.Env.Initialize_Empty): new subprograms
10299 (Get_Env, Find_Project): remove parameter Target_Name.
10300
3e582869
AC
103012011-08-03 Gary Dismukes <dismukes@adacore.com>
10302
10303 * sem_ch3.adb (Build_Derived_Record_Type): Test the Derive_Subps formal
10304 as a condition for the delayed call to Derived_Subprograms done for the
10305 case of the rewriting of a derived type that constrains the
10306 discriminants of its parent type.
10307 Avoids redundant subprogram derivations for private subtype derivations.
10308
103092011-08-03 Javier Miranda <miranda@adacore.com>
10310
10311 * exp_aggr.adb (Init_Hidden_Discriminants): New subprogram of
10312 Build_Record_Aggr_Code.
10313 (Build_Record_Aggr_Code): Add missing support to initialize hidden
10314 discriminants in extension aggregates.
10315
103162011-08-03 Emmanuel Briot <briot@adacore.com>
10317
10318 * prj-pp.adb (Print): also output project qualifiers, since in
10319 particular "aggregate" is mandatory in an aggregate project.
10320
103212011-08-03 Emmanuel Briot <briot@adacore.com>
10322
10323 * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb:
10324 (Debug_Output): new function.
10325
56e94186
AC
103262011-08-03 Eric Botcazou <ebotcazou@adacore.com>
10327
10328 * gnat_ugn.texi: Document -Wstack-usage.
10329 * gcc-interface/misc.c (enumerate_modes): Add guard for ghost FP modes.
10330
103312011-08-03 Thomas Quinot <quinot@adacore.com>
10332
10333 * sem_prag.adb Issue an error (not a warning) when a C++ type does not
10334 have keyword LIMITED.
10335
103362011-08-03 Yannick Moy <moy@adacore.com>
10337
10338 * alfa.adb, alfa.ads, alfa_test.adb: New files.
10339 * ali.adb (Known_ALI_Lines): add 'C' lines (SCO) and 'F' lines (ALFA)
10340 (Scan_ALI): do not issue a fatal error if parsing known lines after Xref
10341 section (does not happen in compiler, only if code directly calls
10342 Scan_ALI).
10343 * get_alfa.adb, get_alfa.ads: New files.
10344 * lib-writ.adb, lib-writ.ads (Write_ALI): output ALFA information if
10345 needed.
10346 * lib-xref-alfa.adb: New file.
10347 * lib-xref.adb, lib-xref.ads
10348 (Xref_Entry): redefine information needed in cross-references for ALFA.
10349 Push ALFA treatments in separated local package.
10350 (Enclosing_Subpragram_Or_Package): treat specially subprogram
10351 identifiers. Return entity of package body instead of spec. Return
10352 Empty for a scope with no location.
10353 (Generate_Reference): adapt to new components for ALFA information.
10354 Remove the need for D references on definitions.
10355 (Is_Local_Reference): moved to ALFA local package
10356 (Output_References): extract subfunction as Extract_Source_Name
10357 (Output_Local_References): remove procedure, replaced by filtering of
10358 cross-references in package ALFA and printing in Put_ALFA.
10359 (Write_Entity_Name): remove procedure
10360 * lib.adb, lib.ads (Extract_Source_Name): extract here function to
10361 print exact name of entity as it appears in source file
10362 (Unit_Ref_Table): make type public for use in Lib.Xref.ALFA
10363 * put_alfa.adb, put_alfa.ads: New files.
10364 * xref_lib.adb (Search_Xref): protect read of cross-references against
10365 reading other sections of the ALI file, in gnatxref
10366 (Search): protect read of cross-references against reading other
10367 sections of the ALI file, in gnatfind.
10368 * gcc-interface/Make-lang.in: Update dependencies.
10369
103702011-08-03 Thomas Quinot <quinot@adacore.com>
10371
10372 * sem_ch3.adb: Minor reformatting.
10373
103742011-08-03 Jose Ruiz <ruiz@adacore.com>
10375
10376 * s-inmaop-vxworks.adb (Setup_Interrupt_Mask): Do nothing instead of
10377 raising an exception.
10378
103792011-08-03 Ed Schonberg <schonberg@adacore.com>
10380
10381 * sem_res.adb (Set_String_Literal_Subtype): if index type is an integer
10382 type, always use 1 as the lower bound or string, even if lower bound of
10383 context is not static, to handle properly null strings in a non-static
10384 context.
10385
103862011-08-03 Bob Duff <duff@adacore.com>
10387
10388 * sem_prag.adb (Resolve_Aggregate): An array aggregate with 'others' is
10389 always legal on the right-hand side of an assignment statement; there
10390 is always an applicable index constraint in this case. Therefore, the
10391 check for Pkind = N_Assignment_Statement is now unconditional -- it
10392 doesn't depend on whether Is_Constrained (Typ).
10393
4317e442
AC
103942011-08-03 Robert Dewar <dewar@adacore.com>
10395
10396 * exp_ch5.adb, sem_prag.adb, exp_ch4.adb: Minor reformatting.
10397
103982011-08-03 Ed Schonberg <schonberg@adacore.com>
10399
10400 * sem_ch3.adb (Build_Itype_Reference): do not create an itype reference
10401 for an itype created within a generic unit.
10402
104032011-08-03 Eric Botcazou <ebotcazou@adacore.com>
10404
10405 * gnat_ugn.texi (Switches for gcc): Make it clearer that -fno-inline
10406 suppresses all inlining.
10407
53f29d4f
AC
104082011-08-03 Robert Dewar <dewar@adacore.com>
10409
10410 * sem_ch3.adb, sem_res.adb, exp_ch13.adb, exp_disp.adb,
10411 exp_aggr.adb: Minor reformatting.
10412
104132011-08-03 Thomas Quinot <quinot@adacore.com>
10414
10415 * exp_ch5.adb (Expand_N_Assignment_Statement): Do not force inlining of
10416 tagged assignment when discriminant checks are suppressed. This is
10417 useless and extremely costly in terms of static stack usage.
10418
104192011-08-03 Bob Duff <duff@adacore.com>
10420
10421 * sem_prag.adb (Get_Base_Subprogram): Do not follow Alias for instances
10422 of generics, because this leads to the wrong entity in the wrong scope,
10423 causing (e.g.) pragma Export_Procedure to get an error if the entity is
10424 an instance.
10425 (Process_Interface_Name): Follow Alias for instances of generics, to
10426 correct for the above change.
10427
104282011-08-03 Ed Schonberg <schonberg@adacore.com>
10429
10430 * exp_ch4.adb (Expand_N_Selected_Component): If the discriminant value
10431 is an integer literal it is always safe to replace the reference. In
10432 addition, if the reference appears in the generated code for an object
10433 declaration it is necessary to copy because otherwise the reference
10434 might be to the uninitilized value of the discriminant of the object
10435 itself.
10436
104372011-08-03 Pascal Obry <obry@adacore.com>
10438
10439 * adaint.c (__gnat_is_executable_file_attr): Fix Win32 circuitry when no
10440 ACL used, in this case we want to check for ending .exe, not .exe
10441 anywhere in the path.
10442
104432011-08-03 Sergey Rybin <rybin@adacore.com>
10444
10445 * tree_io.ads (ASIS_Version_Number): Update because of the changes in
10446 the tree structure (semantic decoration of references to record
10447 discriminants).
10448
c0b11850
AC
104492011-08-03 Gary Dismukes <dismukes@adacore.com>
10450
10451 * sem_aggr.adb (Analyze_Array_Aggregate): When checking the discrete
10452 choices of a named array aggregate, bail out when any choices are
10453 marked as Errors_Posted.
10454
104552011-08-03 Ed Schonberg <schonberg@adacore.com>
10456
10457 * exp_ch13.adb (Expand_N_Freeze_Entity): cleanup determination of scope
10458 in which entity is frozen, to handle properly loop variables in
10459 iterators.
10460
104612011-08-03 Ed Schonberg <schonberg@adacore.com>
10462
10463 * sem_res.adb (Set_String_Literal_Subtype): if the lower bound of the
10464 subtype is not static, compute the upper bound using attributes, to
10465 handle properly index types that are not integer types.
10466
104672011-08-03 Bob Duff <duff@adacore.com>
10468
10469 * gnat_rm.texi, gnat_ugn.texi: Fix some dangling URLs.
10470 Update copyright notice.
10471
104722011-08-03 Ed Schonberg <schonberg@adacore.com>
10473
10474 * sem_ch3.adb (Build_Discriminant_Constraints): Only use
10475 Original_Discriminant if within an instance.
10476 * sem_ch4.adb (Analyze_Selected_Component): Ditto.
10477
104782011-08-03 Thomas Quinot <quinot@adacore.com>
10479
10480 * einfo.ads: Minor reformatting.
10481
104822011-08-03 Ed Schonberg <schonberg@adacore.com>
10483
10484 * exp_disp.adb (Check_Premature_Freezing): diagnose the presence of a
10485 composite type with an unfrozen subcomponent, in the profile of a
10486 primitive operation.
10487
5c34e9cd
AC
104882011-08-03 Robert Dewar <dewar@adacore.com>
10489
10490 * sem_util.ads, exp_aggr.adb, exp_ch3.adb: Minor reformatting.
10491
104922011-08-03 Ed Schonberg <schonberg@adacore.com>
10493
10494 * sem_ch3.adb (Analyze_Object_Declaration): if a constant object of an
10495 unconstrained type with discriminants is initialized with an aggregate,
10496 use the constrained subtype of the aggregate as the type of the object,
10497 because it is immutable, and this allows the back-end to generate no
10498 code for the object declaration.
10499
abcd9db2
AC
105002011-08-03 Robert Dewar <dewar@adacore.com>
10501
10502 * exp_ch4.adb (Optimize_Length_Check): Fix bad handling of case where
10503 comparison operand is variable, and turns out to be zero or negative.
10504
105052011-08-03 Javier Miranda <miranda@adacore.com>
10506
10507 * exp_intr.adb
10508 (Expand_Dispatching_Constructor_Call): Disable expansion of
10509 code required for native targets. Done to avoid generating
10510 references to unavailable runtime entities in VM targets.
10511 * exp_ch3.adb
10512 (Expand_N_Object_Declaration): Add missing support to handle
10513 the explicit initialization of class-wide interface objects.
10514 Fix documentation.
10515
105162011-08-03 Matthew Heaney <heaney@adacore.com>
10517
7089ef0f
GP
10518 * a-cobove.adb (Merge): Move source onto target, instead of using
10519 Assign.
abcd9db2
AC
10520
105212011-08-03 Matthew Heaney <heaney@adacore.com>
10522
7089ef0f 10523 * a-cbdlli.adb (Splice): Move source items from first to last.
abcd9db2
AC
10524
105252011-08-03 Yannick Moy <moy@adacore.com>
10526
7089ef0f 10527 * sem_util.ads: Add comment.
abcd9db2
AC
10528
105292011-08-03 Javier Miranda <miranda@adacore.com>
10530
10531 * exp_aggr.adb
10532 (Expand_Record_Aggregate): In VM targets disable the expansion into
10533 assignments of aggregates whose type is not known at compile time.
10534
b474d6c3
ES
105352011-08-03 Ed Schonberg <schonberg@adacore.com>
10536
10537 * exp_ch9.adb (Build_Renamed_Formal_Declaration): common procedure for
10538 protected entries and task entries, to build the proper renaming
10539 declaration for entry formals, used in debugging.
10540 * exp_ch2.adb (Expand_Entry_Parameter): handle task and entry
10541 parameters in the same way.
10542
0580d807
AC
105432011-08-02 Robert Dewar <dewar@adacore.com>
10544
10545 * a-direct.adb, sinfo.ads, exp_ch9.adb, scng.adb, sem_util.adb,
10546 sem_util.ads, restrict.ads, par-prag.adb: Minor reformatting and/or
10547 code reorganization.
10548
105492011-08-02 Robert Dewar <dewar@adacore.com>
10550
10551 * debug.adb: Debug flag d.P to suppress length comparison optimization
10552 * exp_ch4.adb (Optimize_Length_Comparison): New routine to optimize
10553 comparison of Length by comparing First/Last instead.
10554
105552011-08-02 Matthew Heaney <heaney@adacore.com>
10556
10557 * a-cobove.ads: Code clean up.
10558
b191a125
AC
105592011-08-02 Vincent Celier <celier@adacore.com>
10560
10561 * adaint.c (file_names_case_sensitive_cache): New static int.
10562 (__gnat_get_file_names_case_sensitive): Cache the return value in
10563 file_names_case_sensitive_cache at the first invocation, to avoid
10564 multiple calls to getenv.
10565
105662011-08-02 Bob Duff <duff@adacore.com>
10567
10568 * sem_ch12.adb (Validate_Derived_Type_Instance): Implement AI05-0218-1.
10569
316a0661
AC
105702011-08-02 Yannick Moy <moy@adacore.com>
10571
10572 * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_prag.adb, sem.ads,
10573 sem_util.adb, sem_util.ads, sem_res.adb, sem_ch2.adb, sem_ch4.adb,
10574 sem_ch6.adb, sem_ch11.adb: Add semantic flag In_Pre_Post_Expression to
10575 indicate that we are in a precondition or postcondition. This is used in
10576 Mark_Non_ALFA_Subprogram (renaming of Mark_Non_ALFA_Subprogram_Body) to
10577 decide whether to flag the spec or body of the current subprogram as
10578 not in ALFA.
10579
105802011-08-02 Fabien Chouteau <chouteau@adacore.com>
10581
10582 * impunit.adb: Add Ada.Execution_Time.Interrupts in the Ada2012 package
10583 list.
10584 * a-extiin.ads: New file.
10585
105862011-08-02 Bob Duff <duff@adacore.com>
10587
10588 * a-direct.adb (Rename): Implement AI05-0231-1. In particular, Rename
10589 now raises Name_Error instead of Use_Error in certain cases. The other
10590 parts of this AI were already implemented properly.
10591
f9adb9d4
AC
105922011-08-02 Vincent Celier <celier@adacore.com>
10593
10594 * link.c: Only import "auto-host.h" when building the gnattools.
10595
105962011-08-02 Yannick Moy <moy@adacore.com>
10597
10598 * sem_util.adb: Inter-unit inlining does not work for a subprogram
10599 which calls a local subprogram, so extract subprogram
10600 from Mark_Non_ALFA_Subprogram_Body.
10601
106022011-08-02 Javier Miranda <miranda@adacore.com>
10603
10604 * exp_ch9.adb
10605 (Extract_Dispatching_Call): If the type of the dispatching object is an
10606 access type then return an explicit dereference in the Object out-mode
10607 parameter.
10608
106092011-08-02 Gary Dismukes <dismukes@adacore.com>
10610
10611 * sem_ch3.adb (Analyze_Subtype_Declaration): Generate range
10612 compatibility checks for all indexes of an array subtype, not just the
10613 first. Reset Has_Dynamic_Range_Check on the subtype before each
10614 potential check to ensure that Insert_Range_Checks will not elide any
10615 of the dynamic checks.
10616
106172011-08-02 Yannick Moy <moy@adacore.com>
10618
10619 * par-prag.ad (Process_Restrictions_Or_Restriction_Warnings): recognize
10620 SPARK restriction at parsing time.
10621 * scng.adb (Scan): Generate a token Tok_SPARK_Hide for a SPARK HIDE
10622 directive only if the SPARK restriction is set for this unit.
10623
83f33150
YM
106242011-08-02 Yannick Moy <moy@adacore.com>
10625
10626 * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb, sem_util.ads,
10627 sem_res.adb, sem_ch2.adb, sem_ch4.adb, sem_ch6.adb,
10628 sem_ch11.adb: Protect call to Current_Subprogram which might be costly
10629 when repeated. Rename Current_Subprogram_Is_Not_In_ALFA into
10630 Mark_Non_ALFA_Subprogram_Body.
10631 Split body of Mark_Non_ALFA_Subprogram_Body to get body small and
10632 inlined.
10633
7b98672f
YM
106342011-08-02 Yannick Moy <moy@adacore.com>
10635
10636 * sem_res.adb: Protect calls to Matching_Static_Array_Bounds which
10637 might be costly.
10638
052e0603
AC
106392011-08-02 Robert Dewar <dewar@adacore.com>
10640
10641 * exp_ch9.adb, exp_sel.adb, restrict.ads, exp_disp.adb, erroutc.ads,
10642 exp_ch3.adb: Minor reformatting.
10643
106442011-08-02 Emmanuel Briot <briot@adacore.com>
10645
10646 * adaint.c (__gnat_locate_exec_on_path): only returns executable
10647 files, not any regular file.
10648 (__gnat_locate_file_with_predicate): new subprogram.
10649
106502011-08-02 Yannick Moy <moy@adacore.com>
10651
10652 * sinfo.adb, sinfo.ads: Restrict the use of flags
10653 Has_Dynamic_Length_Check and Has_Dynamic_Range_Check to expression
10654 nodes, plus N_Subtype_Declaration for the 2nd one.
10655
4fbad0ba
AC
106562011-08-02 Sergey Rybin <rybin@adacore.com>
10657
10658 * gnat_rm.texi: Ramification of pragma Eliminate documentation
10659 - fix bugs in the description of Source_Trace;
10660 - get rid of UNIT_NAME;
10661
052e0603
AC
106622011-08-02 Javier Miranda <miranda@adacore.com>
10663
10664 * exp_ch9.adb
10665 (Build_Dispatching_Requeue): Adding support for VM targets
10666 since we cannot directly reference the Tag entity.
10667 * exp_sel.adb (Build_K): Adding support for VM targets.
10668 (Build_S_Assignment): Adding support for VM targets.
10669 * exp_disp.adb
10670 (Default_Prim_Op_Position): In VM targets do not restrict availability
10671 of predefined interface primitives to compiling in Ada 2005 mode.
10672 (Is_Predefined_Interface_Primitive): In VM targets this service is not
10673 restricted to compiling in Ada 2005 mode.
10674 (Make_VM_TSD): Generate code that declares and initializes the OSD
10675 record. Needed to support dispatching calls through synchronized
10676 interfaces.
10677 * exp_ch3.adb
10678 (Make_Predefined_Primitive_Specs): Enable generation of predefined
10679 primitives associated with synchronized interfaces.
10680 (Make_Predefined_Primitive_Bodies): Enable generation of predefined
10681 primitives associated with synchronized interfaces.
10682
106832011-08-02 Yannick Moy <moy@adacore.com>
10684
10685 * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
10686 statements hidden in SPARK if preceded by the HIDE directive
10687 (Parse_Exception_Handlers): mark each exception handler in a sequence of
10688 exception handlers as hidden in SPARK if preceded by the HIDE directive
10689 * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
10690 if starting with the HIDE directive
10691 * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
10692 starting with the HIDE directive; mark the declarations in a private
10693 part as hidden in SPARK if the private part starts with the HIDE
10694 directive
10695 * restrict.adb, restrict.ads
10696 (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
10697 (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
10698 argument node belongs to a part which is hidden in SPARK
10699 (Check_SPARK_Restriction): do not issue violations on nodes in hidden
10700 parts in SPARK; protect the possibly costly call to
10701 Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
10702 * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
10703 * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
10704 Accumulate_Token_Checksum_GNAT_5_03): add case for new token
10705 Tok_SPARK_Hide.
10706 (Scan): recognize special comment starting with '#' and followed by
10707 SPARK keyword "hide" as a HIDE directive.
10708
107092011-08-02 Yannick Moy <moy@adacore.com>
10710
10711 * types.ads, erroutc.ads: Minor reformatting.
10712
107132011-08-02 Vincent Celier <celier@adacore.com>
10714
10715 * link.c: Add response file support for cross platforms.
10716
107172011-08-02 Ed Schonberg <schonberg@adacore.com>
10718
10719 * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
10720 in an association, set parent field of copy before partial analysis.
10721 * sem_res.adb (Resolve_Slice): create reference to itype only when
10722 expansion is enabled.
10723
107242011-08-02 Yannick Moy <moy@adacore.com>
10725
10726 * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
10727 for new flag denoting which subprogram bodies are in ALFA
10728 * restrict.adb, sem_ch7.adb: Update comment
10729 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
10730 sem_ch9.adb, sem_res.adb: Add calls to
10731 Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
10732 * sem_ch6.adb (Analyze_Function_Return): add calls to
10733 Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
10734 middle of the body, and extended return.
10735 (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
10736 False when missing return.
10737 (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
10738 to True for subprograms whose spec is in ALFA. Remove later on the flag
10739 on the entity used for a subprogram body when there exists a separate
10740 declaration.
10741 * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
10742 if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
10743 False, otherwise do nothing.
10744
107452011-08-02 Robert Dewar <dewar@adacore.com>
10746
10747 * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
10748
107492011-08-02 Yannick Moy <moy@adacore.com>
10750
10751 * sem_ch4.ads: minor formatting.
10752
107532011-08-02 Yannick Moy <moy@adacore.com>
10754
10755 * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
10756 debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
10757 errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
10758 restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
10759 opt.ads: cleanup of SPARK mode
10760
107612011-08-02 Yannick Moy <moy@adacore.com>
10762
10763 * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
10764 types.
10765 * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
10766 (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
10767 * sem_ch3.adb
10768 (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
10769 (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
10770 (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
10771 (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
10772 types.
10773 (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
10774 non-static range.
10775 * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
10776 functions whose return type is not in ALFA.
10777 (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
10778 specifications.
10779 (Process_Formals): unset Is_In_ALFA flag for subprograms if a
10780 parameter's type is not in ALFA.
10781 * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
10782 types are in ALFA.
10783
107842011-08-02 Ed Schonberg <schonberg@adacore.com>
10785
10786 * sem_ch6 (Analyze_Expression_Function): treat the function as
10787 Inline_Always, and introduce a subprogram declaration for it when it is
10788 not a completion.
10789 * inline.adb (Add_Inlined_Body): recognize bodies that come from
10790 expression functions, so that the back-end can determine whether they
10791 can in fact be inlined.
10792 * sem_util.adb (Is_Expression_Function): predicate to determine whether
10793 a function body comes from an expression function.
10794
107952011-08-02 Gary Dismukes <dismukes@adacore.com>
10796
10797 * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
10798 null exclusions to test Can_Never_Be_Null on the anonymous access types
10799 of the formals rather than testing the formals themselves. Exclude this
10800 check in cases where the Old_Formal is marked as a controlling formal,
10801 to avoid issuing spurious errors for bodies completing dispatching
10802 operations (due to the flag not getting set on controlling access
10803 formals in body specs).
10804 (Find_Corresponding_Spec): When checking full and subtype conformance of
10805 subprogram bodies in instances, pass Designated and E in that order, for
10806 consistency with the expected order of the formals (New_Id followed by
10807 Old_Id).
10808
108092011-08-02 Robert Dewar <dewar@adacore.com>
10810
10811 * sem_ch8.adb: Minor reformatting.
10812
108132011-08-02 Ed Schonberg <schonberg@adacore.com>
10814
10815 * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
10816 Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
10817 primitive operations of class-wide actuals.
10818
108192011-08-02 Javier Miranda <miranda@adacore.com>
10820
10821 * exp_atag.ads, exp_atag.adb
10822 (Build_Common_Dispatching_Select_Statements): Remove argument Loc
10823 since its value is implicitly passed in argument Typ.
10824 * exp_disp.adb (Make_Disp_Conditional_Select_Body,
10825 Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
10826 Build_Common_Dispatching_Select_Statements.
10827
108282011-08-02 Robert Dewar <dewar@adacore.com>
10829
10830 * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
10831 exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
10832 Minor reformatting.
10833
108342011-08-02 Robert Dewar <dewar@adacore.com>
10835
10836 * sem_res.adb: Minor reformatting.
10837 * sem_prag.adb: Minor reformatting.
10838
108392011-08-02 Javier Miranda <miranda@adacore.com>
10840
10841 * exp_atag.adb, exp_atags.ads
10842 (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
10843 by the tagged type Entity. Required to use this routine in the VM
10844 targets since we do not have available the Tag entity in the VM
10845 platforms.
10846 * exp_ch6.adb
10847 (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
10848 Ada.Tags has not been previously loaded.
10849 * exp_ch7.adb
10850 (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
10851 Build_VM_TSDs if package Ada.Tags has not been previously loaded.
10852 * sem_aux.adb
10853 (Enclosing_Dynamic_Scope): Add missing support to handle the full
10854 view of enclosing scopes. Required to handle enclosing scopes that
10855 are synchronized types whose full view is a task type.
10856 * exp_disp.adb
10857 (Build_VM_TSDs): Minor code improvement to avoid generating and
10858 analyzing lists with empty nodes.
10859 (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
10860 (Make_Disp_Conditional_Select_Body): Add support for VM targets.
10861 (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
10862 (Make_Disp_Timed_Select_Body): Add support for VM targets.
10863 (Make_Select_Specific_Data_Table): Add support for VM targets.
10864 (Make_VM_TSD): Generate code to initialize the SSD structure of
10865 the TSD.
10866
108672011-08-02 Yannick Moy <moy@adacore.com>
10868
10869 * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
10870 cross-references section in ALI.
10871 * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
10872 (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
10873 Sub).
10874 (Enclosing_Subprogram_Or_Package): new function to return the enclosing
10875 subprogram or package entity of a node
10876 (Is_Local_Reference_Type): new function returns True for references
10877 selected in local cross-references.
10878 (Lt): function extracted from Lt in Output_References
10879 (Write_Entity_Name): function extracted from Output_References
10880 (Generate_Definition): generate reference with type 'D' for definition
10881 of objects (object declaration and parameter specification), with
10882 appropriate locations and units, for use in local cross-references.
10883 (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
10884 references of type 'I' for initialization in object definition.
10885 (Output_References): move part of function Lt and procedure
10886 Write_Entity_Name outside of the body. Ignore references of types 'D'
10887 and 'I' introduced for local cross-references.
10888 (Output_Local_References): new procedure to output the local
10889 cross-references sections.
10890 (Lref_Entity_Status): new array defining whether an entity is a local
10891 * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
10892 with 'I' type when initialization expression is present.
10893 * get_scos.adb, get_scos.ads: Correct comments and typos
10894
108952011-08-02 Javier Miranda <miranda@adacore.com>
10896
10897 * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
10898 the JVM target.
10899 * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
10900 the JVM target.
10901 * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
10902 TSD support.
10903
109042011-08-02 Vincent Celier <celier@adacore.com>
10905
10906 * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
10907 (No_Space_Img): New function
10908 (Find_Excluded_Sources): When reading from a file, record the file name
10909 and the line number for each excluded source.
10910 (Mark_Excluded_Sources): When reporting an error, if the excluded
10911 sources were read from a file, include file name and line number in
10912 the error message.
10913
109142011-08-02 Ed Schonberg <schonberg@adacore.com>
10915
10916 * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
10917
109182011-08-02 Robert Dewar <dewar@adacore.com>
10919
10920 * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
10921
109222011-08-02 Javier Miranda <miranda@adacore.com>
10923
10924 * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
10925 generation of TSDs to the DOTNET compiler.
10926 * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
10927 generation of TSDs to the DOTNET compiler.
10928
109292011-08-02 Javier Miranda <miranda@adacore.com>
10930
10931 * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
10932 record of all the tagged types declared inside library level package
10933 declarations, library level package bodies or library level subprograms.
10934 * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
10935 associated with a given tagged type.
10936 (Build_VM_TSDs): New subprogram.
10937 * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
10938 compilation units that are subprograms.
10939 * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
10940 compilation units that are package bodies.
10941 (Expand_N_Package_Declaration): Generate TSDs of the main compilation
10942 units that are a package declaration or a package instantiation.
10943 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
10944 reorganization to improve the error generated by the frontend when the
10945 function Ada.Tags.Secondary_Tag is not available.
10946 * rtsfind.ads (RE_Register_TSD): New runtime entity.
10947 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
10948
109492011-08-02 Javier Miranda <miranda@adacore.com>
10950
10951 * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
10952
109532011-08-02 Robert Dewar <dewar@adacore.com>
10954
10955 * s-imenne.ads: Minor reformatting.
10956
109572011-08-02 Robert Dewar <dewar@adacore.com>
10958
10959 * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
10960 * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
10961 * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
10962
109632011-08-02 Robert Dewar <dewar@adacore.com>
10964
10965 * einfo.ads (Materialize_Entity): Document this is only for renamings
10966 * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
10967 required debug information in the case where we transform the object
10968 declaration into a renaming declaration.
10969 * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
10970 object
10971 * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
10972 Materialize_Entity.
10973
109742011-08-02 Robert Dewar <dewar@adacore.com>
10975
10976 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
10977 Suppress_Init_Procs.
10978 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
10979 Suppress_Initialization/Initialization_Suppressed.
10980 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
10981 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
10982 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
10983 * sem_prag.adb: New processing for pragma Suppress_Initialization.
10984
109852011-08-02 Robert Dewar <dewar@adacore.com>
10986
10987 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
10988 Minor reformatting.
10989
109902011-08-02 Ed Schonberg <schonberg@adacore.com>
10991
10992 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
10993 only have inheritable classwide pre/postconditions.
10994
109952011-08-02 Javier Miranda <miranda@adacore.com>
10996
10997 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
10998 * rtsfind.ads (RE_Check_TSD): New runtime entity.
10999 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
11000 checks if the external tag of a type is the same as the external tag
11001 of some other declaration.
11002
110032011-08-02 Thomas Quinot <quinot@adacore.com>
11004
11005 * s-taskin.ads: Minor reformatting.
11006
110072011-08-02 Emmanuel Briot <briot@adacore.com>
11008
11009 * g-comlin.adb (Display_Help): swap the order in which it prints the
11010 short help and the general usage.
11011
110122011-08-02 Ed Schonberg <schonberg@adacore.com>
11013
11014 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
11015 the aspect declarations and attach them to the generic copy for
11016 subsequent analysis.
11017 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
11018 declarations of the generic tree to the new subprogram declarations.
11019 * sem_attr.adb (Check_Precondition_Postcondition): recognize
11020 conditions that apply to a subprogram instance.
11021
110222011-08-02 Robert Dewar <dewar@adacore.com>
11023
11024 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
11025
110262011-08-02 Ed Schonberg <schonberg@adacore.com>
11027
11028 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
11029 private type with a tagged full view is not derived in the immediate
11030 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
11031
110322011-08-02 Robert Dewar <dewar@adacore.com>
11033
11034 * exp_ch4.adb: Minor reformatting.
11035
110362011-08-02 Ed Schonberg <schonberg@adacore.com>
11037
11038 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
11039 Ada2012 iterator, the loop will be rewritten during expansion into a
11040 while loop with a cursor and an element declaration. Do not analyze the
11041 body in this case, because if the container is for indefinite types the
11042 actual subtype of the elements will only be determined when the cursor
11043 declaration is analyzed.
11044
110452011-08-02 Arnaud Charlet <charlet@adacore.com>
11046
11047 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
11048 size/alignment related attributes in CodePeer_Mode.
11049
110502011-08-02 Gary Dismukes <dismukes@adacore.com>
11051
11052 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
11053 Prepend_Element, since this can result in the operation getting the
11054 wrong slot in the full type's dispatch table if the full type has
11055 inherited operations. The incomplete type's operation will get added
11056 to the proper position in the full type's primitives
11057 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
11058 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
11059 dispatching operations, since there are cases where nonprimitive
11060 subprograms can get added to the list of incomplete dependents (such
11061 as subprograms in nested packages).
11062 * sem_ch6.adb (Process_Formals): First, remove test for being in a
11063 private part when determining whether to add a primitive with a
11064 parameter of a tagged incomplete type to the Private_Dependents list.
11065 Such primitives can also occur in the visible part, and should not have
11066 been excluded from being private dependents.
11067 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
11068 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
11069 list of a Taft-amendment incomplete type is a primitive before issuing
11070 an error that the full type must appear in the same unit. There are
11071 cases where nonprimitives can be in the list (such as subprograms in
11072 nested packages).
11073 * sem_disp.adb (Derives_From): Use correct condition for checking that
11074 a formal's type is derived from the type of the corresponding formal in
11075 the parent subprogram (the condition was completely wrong). Add
11076 checking that was missing for controlling result types being derived
11077 from the result type of the parent operation.
11078
110792011-08-02 Yannick Moy <moy@adacore.com>
11080
11081 * errout.adb (First_Node): minor renaming
11082 * restrict.adb (Check_Formal_Restriction): put restriction warning on
11083 first node.
11084
110852011-08-02 Yannick Moy <moy@adacore.com>
11086
11087 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
11088 before accessing operands.
11089 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
11090 decide whether an initialization expression respects SPARK rules, as
11091 the plain node is the expanded one. This allows for more valid warnings
11092 to be issued.
11093 * gnat_rm.texi: Minor update.
11094
110952011-08-02 Arnaud Charlet <charlet@adacore.com>
11096
11097 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
11098 previous change.
11099
111002011-08-02 Robert Dewar <dewar@adacore.com>
11101
11102 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
11103
111042011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
11105
11106 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
11107 loop statements and the element renaming declaration with a block when
11108 the element type is controlled.
11109
111102011-08-02 Yannick Moy <moy@adacore.com>
11111
11112 * sinfo.ads: Minor formatting.
11113
111142011-08-02 Ed Schonberg <schonberg@adacore.com>
11115
11116 * sem_aggr.adb (Add_Association): if the association has a box and no
11117 expression, use the Sloc of the aggregate itself for the new
11118 association.
11119 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
11120 the Original_Node.
11121
111222011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
11123
11124 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
11125 When a container is provided via a function call, generate a renaming
11126 of the function result. This avoids the creation of a transient scope
11127 and the premature finalization of the container.
11128 * exp_ch7.adb (Is_Container_Cursor): Removed.
11129 (Wrap_Transient_Declaration): Remove the supression of the finalization
11130 of the list controller when the declaration denotes a container cursor,
11131 it is not needed.
11132
111332011-08-02 Yannick Moy <moy@adacore.com>
11134
11135 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
11136 node is from source, instead of the original node being from source.
11137 * sem_aggr.adb
11138 (Resolve_Array_Aggregate): refine the check for a static expression, to
11139 recognize also static ranges
11140 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
11141 Array_Type_Declaration): postpone the test for the type being a subtype
11142 mark after the type has been resolved, so that component-selection and
11143 expanded-name are discriminated.
11144 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
11145 to distinguish the case of an iteration scheme, so that an error is
11146 issed on a non-static range in SPARK except in an iteration scheme.
11147 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
11148 In_Iter_Schm = True.
11149 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
11150 user-defined operators so that they are allowed in renaming
11151 * sem_ch8.adb
11152 (Find_Selected_Component): refine the check for prefixing of operators
11153 so that they are allowed in renaming. Move the checks for restrictions
11154 on selector name after analysis discriminated between
11155 component-selection and expanded-name.
11156 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
11157 concatenation argument of string type if it is static.
11158 * sem_util.adb, sem_util.ads
11159 (Check_Later_Vs_Basic_Declarations): add a new function
11160 Is_Later_Declarative_Item to decice which declarations are allowed as
11161 later items, in the two different modes Ada 83 and SPARK. In the SPARK
11162 mode, add that renamings are considered as later items.
11163 (Enclosing_Package): new function to return the enclosing package
11164 (Enter_Name): correct the rule for homonyms in SPARK
11165 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
11166 from source (result of expansion) to avoid issuing wrong warnings.
11167
111682011-08-02 Ed Schonberg <schonberg@adacore.com>
11169
11170 * errout.adb: On anything but an expression First_Node returns its
11171 argument.
11172
111732011-08-02 Pascal Obry <obry@adacore.com>
11174
11175 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
11176
111772011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
11178
11179 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
11180 Set the associated loop as the related expression of internally
11181 generated cursors.
11182 * exp_ch7.adb (Is_Container_Cursor): New routine.
11183 (Wrap_Transient_Declaration): Supress the finalization of the list
11184 controller when the declaration denotes a container cursor.
11185
111862011-08-02 Yannick Moy <moy@adacore.com>
11187
11188 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
11189 command line now.
11190 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
11191 expression is a simple expression. This check cannot be performed in
11192 the semantics, so just drop it.
11193 (P_Index_Or_Discriminant_Constraint): move check that the index or
11194 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
11195 semantics. Other cases were previously checked in the semantics.
11196 * par-ch4.adb (P_Name): move checks that a selector name is not
11197 character literal or an operator symbol to Find_Selected_Component in
11198 the semantics
11199 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
11200 declarations are not placed after later declarations in a separate
11201 procedure in Sem_Util (possibly not the best choice?), to be used both
11202 during parsing, for Ada 83 mode, and during semantic analysis, for
11203 SPARK mode.
11204 * par-endh.adb (Check_End): move check that end label is not missing
11205 to Process_End_Label in the semantics
11206 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
11207 the special case for SPARK restriction
11208 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
11209 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
11210 parameter Force to issue the error message even on internal node (used
11211 for generated end label). Call Check_Restriction to check when an error
11212 must be issued. In SPARK mode, issue an error message even if the
11213 restriction is not set.
11214 (Check_Restriction): new procedure with an additional out parameter to
11215 inform the caller that a message has been issued
11216 * sem_aggr.adb: Minor modification of message
11217 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
11218 instead of issuing an error message directly
11219 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
11220 declarations are not placed after later declarations, by calling
11221 Check_Later_Vs_Basic_Declarations
11222 (Analyze_Subtype_Declaration): move here the check that an index or
11223 discriminant constraint must be a subtype mark. Change the check that
11224 a subtype of String must start at one so that it works on subtype marks.
11225 * sem_ch4.adb (Analyze_Call): move here the check that a named
11226 association cannot follow a positional one in a call
11227 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
11228 instead of issuing an error message directly
11229 * sem_ch8.adb (Find_Selected_Component): move here the check that a
11230 selector name is not a character literal or an operator symbol. Move
11231 here the check that the prefix of an expanded name cannot be a
11232 subprogram or a loop statement.
11233 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
11234 procedure called from parsing and semantics to check that basic
11235 declarations are not placed after later declarations
11236 (Process_End_Label): move here the check that end label is not missing
11237
112382011-08-02 Arnaud Charlet <charlet@adacore.com>
11239
11240 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
11241 representation clause in codepeer mode, since it confuses CodePeer and
11242 does not bring useful info.
11243
112442011-08-02 Ed Falis <falis@adacore.com>
11245
11246 * init.c: initialize fp hw on MILS.
11247
112482011-08-02 Ed Schonberg <schonberg@adacore.com>
11249
11250 * errout.adb (First_Node): for bodies, return the node itself (small
11251 optimization). For other nodes, do not check source_unit if the node
11252 comes from Standard.
11253
112542011-08-02 Robert Dewar <dewar@adacore.com>
11255
11256 * exp_ch3.adb: Minor comment additions.
11257 * sem_ch13.adb: Minor reformatting.
11258
112592011-08-02 Pascal Obry <obry@adacore.com>
11260
11261 * make.adb, makeutl.adb: Removes some superfluous directory separator.
11262
112632011-08-02 Robert Dewar <dewar@adacore.com>
11264
11265 * sem_attr.adb: Minor reformatting.
11266
112672011-08-02 Robert Dewar <dewar@adacore.com>
11268
11269 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
11270 (Has_Default_Component_Value): Removed
11271 * einfo.ads Comment updates
11272 (Has_Default_Aspect): Replaces Has_Default_Value
11273 (Has_Default_Component_Value): Removed
11274 * exp_ch13.adb
11275 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
11276 * exp_ch3.adb
11277 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
11278 (Get_Simple_Init_Val): Handle Default_Value aspect
11279 (Needs_Simple_Initialization): Handle Default_Value aspect
11280 * exp_ch3.ads: Needs_Simple_Initialization
11281 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
11282 * par-prag.adb (Pragma_Default[_Component]Value) Removed
11283 * sem_ch13.adb
11284 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
11285 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
11286 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
11287
112882011-08-02 Ed Schonberg <schonberg@adacore.com>
11289
11290 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
11291 package containing iteration primitives.
11292 exp_ch5.adb (Expand_Iterator_Loop): ditto.
11293
112942011-08-02 Ed Schonberg <schonberg@adacore.com>
11295
11296 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
11297 "of", pre-analyze expression in case it is a function call with
11298 finalization actions that must be placed ahead of the loop.
11299 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
11300 on an Ada2012 iterator, insert them ahead of the rewritten loop.
11301
113022011-08-02 Geert Bosch <bosch@adacore.com>
11303
11304 * cstand.adb (Create_Float_Types): Only consider C's long double for
11305 Long_Long_Float, in addition to double.
11306
113072011-08-02 Robert Dewar <dewar@adacore.com>
11308
11309 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
11310 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
11311 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
11312 Minor reformatting.
11313
113142011-08-02 Ed Schonberg <schonberg@adacore.com>
11315
11316 * sem_attr.adb: handle properly 'Result when it is a prefix of an
11317 indexed component.
11318
113192011-08-02 Javier Miranda <miranda@adacore.com>
11320
11321 * einfo.ads, einfo.adb
11322 (Original_Access_Type): Move this attribute to Node26 since there was
11323 an undocumented use of Node21 in E_Access_Subprogram_Type entities
11324 which causes conflicts and breaks the generation of the .NET compiler.
11325 (Interface_Name): Add missing documentation on JGNAT only uses of
11326 this attribute.
11327
113282011-08-02 Geert Bosch <bosch@adacore.com>
11329
11330 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
11331 (Find_Back_End_Float_Type): Likewise
11332 (Create_Back_End_Float_Types): Likewise
11333 (Create_Float_Types): Likewise
11334 (Register_Float_Type): Likewise
11335 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
11336 Nlist and split out type selection in new local Find_Base_Type function.
11337 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
11338 Nlist
11339 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
11340
113412011-08-02 Robert Dewar <dewar@adacore.com>
11342
11343 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
11344 alpha order).
11345 * opt.ads: Minor comment change.
11346 * sem_ch12.adb: Minor code reorganization.
11347
113482011-08-02 Gary Dismukes <dismukes@adacore.com>
11349
11350 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
11351 subtype's list of rep items to the list on the full subtype in the case
11352 where the lists are the same.
11353
113542011-08-02 Geert Bosch <bosch@adacore.com>
11355
11356 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
11357 using the one from System.Strings, which also deallocates all strings.
11358
113592011-08-02 Geert Bosch <bosch@adacore.com>
11360
11361 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
11362 function.
11363 * gcc-interface/Make-lang.in: Update dependencies.
11364
113652011-08-02 Olivier Hainque <hainque@adacore.com>
11366
11367 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
11368 end_locus.
11369
113702011-08-02 Javier Miranda <miranda@adacore.com>
11371
11372 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
11373 associated with anonymous access to subprograms.
11374
113752011-08-02 Geert Bosch <bosch@adacore.com>
11376
11377 * opt.ads
11378 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
11379 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
11380 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
11381 (Add_Symbol_Definition): Move to switch-c.adb
11382 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
11383 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
11384 (Add_Symbol_Definition): Move to switch-c.adb.
11385 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
11386 * sem_warn.adb
11387 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
11388 Move to warnsw.adb.
11389 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
11390 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
11391 Move to warnsw.adb.
11392 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
11393 (Add_Symbol_Definition): Moved from Prepcomp.
11394 * switch-c.ads: Update copyright notice. Use String_List instead of
11395 Argument_List, removing dependency on System.OS_Lib.
11396
113972011-08-02 Yannick Moy <moy@adacore.com>
11398
11399 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
11400 mode on initialization expression which does not respect SPARK
11401 restrictions.
11402 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
11403 if the tree referenced by its argument represents an initialization
11404 expression in SPARK, suitable for initializing an object in an object
11405 declaration.
11406
114072011-08-02 Javier Miranda <miranda@adacore.com>
11408
11409 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
11410 internally generated access to subprogram with its associated protected
11411 subprogram type.
11412 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
11413
114142011-08-02 Geert Bosch <bosch@adacore.com>
11415
11416 * cstand.adb (Register_Float_Type): Print information about type to
11417 register, if the Debug_Flag_Dot_B is set.
11418 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
11419 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
11420 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
11421 with a requested precision of more than Max_Digits digits and no more
11422 than Max_Base_Digits digits, if a range specification is present and the
11423 Predefined_Float_Types list has a suitable type to derive from.
11424 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
11425 case of type completion with pragma Import
11426 * sem_prag.adb
11427 (Process_Import_Predefined_Type): Processing to complete a type
11428 with pragma Import. Currently supports floating point types only.
11429 (Set_Convention_From_Pragma): Do nothing without underlying type.
11430 (Process_Convention): Guard against absence of underlying type,
11431 which may happen when importing incomplete types.
11432 (Process_Import_Or_Interface): Handle case of importing predefined
11433 types. Tweak error message.
11434
114352011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11436
11437 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
11438 functions to previous change. Reorganize code slightly.
11439
114402011-08-02 Geert Bosch <bosch@adacore.com>
11441
11442 * back_end.ads (Register_Type_Proc): New call back procedure type for
11443 allowing the back end to provide information about available types.
11444 (Register_Back_End_Types): New procedure to register back end types.
11445 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
11446 available types.
11447 * cstand.adb (Back_End_Float_Types): New list for floating point types
11448 supported by the back end.
11449 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
11450 (Copy_Float_Type): New procedure to make new copies of predefined types.
11451 (Register_Float_Type): New call back procedure to populate the BEFT list
11452 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
11453 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
11454 (Create_Float_Types): New procedure to create entities for floating
11455 point types predefined in Standard, and put these and any remaining
11456 BEFTs on the Predefined_Float_Types list.
11457 * stand.ads (Predefined_Float_Types): New list for predefined floating
11458 point types that do not have declarations in package Standard.
11459
114602011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11461
11462 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
11463 entity node for the unit containing the parameter.
11464 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
11465 (Add_Inlined_Subprogram): Likewise.
11466 * gcc-interface/Make-lang.in: Update dependencies.
11467
114682011-08-02 Thomas Quinot <quinot@adacore.com>
11469
11470 * s-stusta.adb (Print): Make sure Pos is always initialized to a
11471 suitable value.
11472
114732011-08-02 Geert Bosch <bosch@adacore.com>
11474
11475 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
11476
114772011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11478
11479 * sem_type.adb (Covers): Move trivial case to the top and reuse the
11480 computed value of Base_Type.
11481
114822011-08-02 Yannick Moy <moy@adacore.com>
11483
11484 * restrict.adb (Check_Restriction): issue an error for any use of
11485 class-wide, even if the No_Dispatch restriction is not set.
11486 * sem_aggr.adb: Correct typos in comments and messages in formal mode
11487 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
11488 when completing a private extension, the type named in the private part
11489 is not the same as that named in the visible part.
11490 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
11491 of an inherited primitive operations of a tagged type or type extension
11492 that returns the tagged type.
11493 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
11494 function which returns True for an implicit operation inherited by the
11495 derived type declaration for the argument type.
11496 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
11497 order.
11498
114992011-08-02 Ed Schonberg <schonberg@adacore.com>
11500
11501 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
11502 Process_Bounds, to perform analysis with expansion of a range or an
11503 expression that is the iteration scheme for a loop.
11504 (Analyze_Iterator_Specification): If domain of iteration is given by a
11505 function call with a controlled result, as is the case if call returns
11506 a predefined container, ensure that finalization actions are properly
11507 generated.
11508 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
11509
115102011-08-02 Javier Miranda <miranda@adacore.com>
11511
11512 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
11513 * gcc-interface/Make-lang.in: Update dependencies.
11514
115152011-08-02 Javier Miranda <miranda@adacore.com>
11516
11517 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
11518 determine if the analysis is performed using N or Original_Node (N).
11519 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
11520 functionality of routine Is_Variable avoids code duplication.
11521 * checks.adb (Determine_Range): Handle temporaries generated by
11522 Remove_Side_Effects.
11523
115242011-08-02 Javier Miranda <miranda@adacore.com>
11525
11526 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
11527 expansion of the condition. Required since the previous analysis was
11528 done with expansion disabled (see Resolve_Quantified_Expression) and
11529 hence checks were not inserted and record comparisons have not been
11530 expanded.
11531
115322011-08-02 Ed Falis <falis@adacore.com>
11533
11534 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
11535 Update header.
11536
115372011-08-02 Bob Duff <duff@adacore.com>
11538
11539 * opt.ads: Minor comment fix.
11540
115412011-08-02 Bob Duff <duff@adacore.com>
11542
11543 * sem_ch12.adb (Analyze_Package_Instantiation,
11544 Analyze_Subprogram_Instantiation): Turn off style checking while
11545 analyzing an instance. Whatever style checks that apply to the generic
11546 unit should apply, so it makes no sense to apply them in an instance.
11547 This was causing trouble when compiling an instance of a runtime
11548 unit that violates the -gnatyO switch.
11549 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
11550 one of the two case statements, causing spurious errors.
11551
115522011-08-02 Robert Dewar <dewar@adacore.com>
11553
11554 * uname.adb: Minor reformatting.
11555 * gnatcmd.adb: Minor reformatting.
11556 * exp_attr.adb: Minor reformatting.
11557
115582011-08-02 Ed Schonberg <schonberg@adacore.com>
11559
11560 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
11561 No_Dispatching_Calls, do not look for the Assign primitive, because
11562 predefined primitives are not created in this case.
11563
115642011-08-02 Bob Duff <duff@adacore.com>
11565
11566 * stylesw.ads: Minor comment fixes.
11567
115682011-08-02 Robert Dewar <dewar@adacore.com>
11569
11570 * freeze.adb (Add_To_Result): New procedure.
11571
115722011-08-02 Jose Ruiz <ruiz@adacore.com>
11573
11574 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
11575 time, if the specific run-time routines for handling streams of strings
11576 are not available, use the default mechanism.
11577
115782011-08-02 Arnaud Charlet <charlet@adacore.com>
11579
11580 * s-regpat.ads: Fix typo.
11581
115822011-08-02 Vincent Celier <celier@adacore.com>
11583
11584 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
11585 not null, call it to create the in memory config project file without
11586 parsing an existing default config project file.
11587
115882011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11589
11590 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
11591
115922011-08-02 Ed Schonberg <schonberg@adacore.com>
11593
11594 * sem_elim.adb: an abstract subprogram does not need an eliminate
11595 pragma for its descendant to be eliminable.
11596
115972011-08-02 Ed Falis <falis@adacore.com>
11598
11599 * init.c: revert to handling before previous checkin for VxWorks
11600 * s-intman-vxworks.adb: delete unnecessary declarations related to
11601 using Ada interrupt facilities for handling signals.
11602 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
11603 * s-intman-vxworks.ads: Import __gnat_install_handler as
11604 Initialize_Interrupts.
11605 * s-taprop-vxworks.adb: Delete Signal_Mask.
11606 (Abort_Handler): change construction of mask to unblock exception
11607 signals.
11608
116092011-08-02 Jerome Guitton <guitton@adacore.com>
11610
11611 * a-except-2005.adb (Raise_From_Signal_Handler): Call
11612 Debug_Raise_Exception before propagation starts.
11613
116142011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11615
11616 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
11617 to Restriction_Check_Required.
11618 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
11619 * sem_res.adb (Resolve_Call): Likewise.
11620 * sem_attr.adb (Check_Stream_Attribute): Likewise.
11621
116222011-08-02 Bob Duff <duff@adacore.com>
11623
11624 * stylesw.ads: Update comment.
11625 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
11626 * errout.ads: Remove obsolete comment.
11627
116282011-08-02 Javier Miranda <miranda@adacore.com>
11629
11630 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
11631 (Set_Is_Safe_To_Reevaluate): new procedure.
11632 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
11633 assignment is allowed on safe-to-reevaluate variables.
11634 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
11635 temporary created to remove side effects in expressions that use
11636 the secondary stack as safe-to-reevaluate.
11637 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
11638 variables that are not true constants.
11639
116402011-08-02 Robert Dewar <dewar@adacore.com>
11641
11642 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
11643 sem_res.adb, sem_ch6.adb: Minor reformatting.
11644
116452011-08-02 Jerome Guitton <guitton@adacore.com>
11646
11647 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
11648
116492011-08-02 Ed Schonberg <schonberg@adacore.com>
11650
11651 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
11652 not set Overridden_Operation if subprogram is an initialization
11653 procedure.
11654
116552011-08-02 Yannick Moy <moy@adacore.com>
11656
11657 * par-ch6.adb: Correct obsolete name in comments
11658 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
11659 which takes two message arguments (existing function takes one), with
11660 second message used for continuation.
11661 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
11662 block statements that originate from a source block statement, not
11663 generated block statements
11664 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
11665 symmetry with procedure case
11666 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
11667 function to issue an error in formal mode if a package specification
11668 contains more than one tagged type or type extension.
11669 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
11670 parameters matching formals of tagged types are objects (or ancestor
11671 type conversions of objects), not general expressions. Issue an error
11672 on view conversions that are not involving ancestor conversion of an
11673 extended type.
11674 (Resolve_Type_Conversion): in formal mode, issue an error on the
11675 operand of an ancestor type conversion which is not an object
11676 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
11677 procedure so that it works also for actuals of function calls
11678 (Is_Actual_Tagged_Parameter): new function which determines if its
11679 argument is an actual parameter of a formal of tagged type in a
11680 subprogram call
11681 (Is_SPARK_Object_Reference): new function which determines if the tree
11682 referenced by its argument represents an object in SPARK
11683
116842011-08-02 Robert Dewar <dewar@adacore.com>
11685
11686 * sem_ch3.adb: Minor reformatting
11687 Minor comment addition
11688 Minor error msg text change
11689
116902011-08-02 Javier Miranda <miranda@adacore.com>
11691
11692 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
11693 function. Used to be more precise when we generate a variable plus one
11694 assignment to remove side effects in the evaluation of the Bound
11695 expressions.
11696 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
11697 of the bound expression to force its re-analysis and thus expand the
11698 associated transient scope (if required). Code cleanup replacing the
11699 previous code that declared the constant entity by an invocation to
11700 routine Force_Evaluation which centralizes this work in the frontend.
11701
117022011-08-02 Robert Dewar <dewar@adacore.com>
11703
11704 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
11705 (Base_Type): Now uses improved Is_Base_Type function
11706 * einfo.ads (Base_Type): Inline this function
11707
117082011-08-02 Robert Dewar <dewar@adacore.com>
11709
11710 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
11711 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
11712
117132011-08-02 Arnaud Charlet <charlet@adacore.com>
11714
11715 * gcc-interface/Make-lang.in: Update dependencies.
11716 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
11717 targets.
11718
117192011-08-02 Yannick Moy <moy@adacore.com>
11720
11721 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
11722 non-simple expression used in delta constraint
11723 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
11724 index constraint which is not a subtype mark
11725 * par.adb: With and use Restrict
11726 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
11727 mode on component type which is not a subtype mark and default
11728 expression on component
11729 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
11730 of string which does not have a lower index bound equal to 1
11731 (Array_Type_Declaration): issue an error in formal mode on index or
11732 component type which is not a subtype mark, and on aliased keyword on
11733 component
11734 (Derived_Type_Declaration): issue an error in formal mode on interface,
11735 limited or abstract type
11736 (Record_Type_Declaration): issue an error in formal mode on interface
11737 (Record_Type_Definition): issue an error in formal mode on tagged types
11738 and type extensions not declared in the specification of a library unit
11739 package; on null non-tagged record; on variant part
11740
117412011-08-02 Vincent Celier <celier@adacore.com>
11742
11743 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
11744 not declared for qualified library project when Library_Name is not
11745 declared, but Library_Dir is.
11746
117472011-08-02 Robert Dewar <dewar@adacore.com>
11748
11749 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
11750 pragmas (affects aspects [Component_]Default_Value
11751 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
11752 component type for the resolution
11753
117542011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11755
11756 * einfo.adb (Base_Type): Tune implementation for speed.
11757
117582011-08-02 Robert Dewar <dewar@adacore.com>
11759
11760 * freeze.adb: Minor reformatting.
11761
117622011-08-02 Thomas Quinot <quinot@adacore.com>
11763
11764 * scos.ads: Update comments.
11765
117662011-08-02 Ed Schonberg <schonberg@adacore.com>
11767
11768 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
11769 base type, because the parent may be a subtype of a private type whose
11770 convention is established in a private part.
11771
117722011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
11773
11774 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
11775 statement in a block when the expansion of the return expression has
11776 created a finalization chain.
11777 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
11778 with the parent node.
11779 Add N_Extended_Return_Statement to handle the case where a transient
11780 object declaration appears in the Return_Object_Declarations list of
11781 an extended return statement.
11782
117832011-08-02 Matthew Gingell <gingell@adacore.com>
11784
11785 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
11786 unused parameter 'name'.
11787
117882011-08-02 Ed Schonberg <schonberg@adacore.com>
11789
11790 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
11791 inherited operation, check whether its alias, which is the source
11792 operastion that it renames, has been marked eliminated.
11793
117942011-08-02 Javier Miranda <miranda@adacore.com>
11795
11796 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
11797 in-mode parameter whose type is an access type since it can be used to
11798 modify its designated object. Enforce code that handles as safe an
11799 access type that is not access-to-constant but it is the result of a
11800 previous removal of side-effects.
11801 (Remove_Side_Effects): Minor code reorganization of cases which require
11802 no action. Done to incorporate documentation on new cases uncovered
11803 working in this ticket: no action needed if this routine was invoked
11804 too early and the nodes are not yet decorated.
11805 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
11806 to routine Remove_Side_Effects by calls to Force_Evaluation since they
11807 were issued with actuals that are implicitly provided by
11808 Force_Evaluation.
11809
118102011-08-02 Robert Dewar <dewar@adacore.com>
11811
11812 * sem_ch3.adb, sem_res.adb: Minor reformatting.
11813
118142011-08-02 Yannick Moy <moy@adacore.com>
11815
11816 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
11817 to issue an error in formal mode on attribute not supported in this mode
11818 (Analyze_Attribute): issue errors on standard attributes not supported
11819 in formal mode.
11820 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
11821 comment, and issue error in formal mode on modulus which is not a power
11822 of 2.
11823 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
11824 range.
11825 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
11826 subtype mark.
11827 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
11828 operator on modular type (except 'not').
11829
118302011-08-02 Robert Dewar <dewar@adacore.com>
11831
11832 * gnat_rm.texi: Minor reformatting.
11833
118342011-08-02 Arnaud Charlet <charlet@adacore.com>
11835
11836 * s-osinte-linux.ads: Minor comment update and reformatting.
11837 * i-cexten.ads: Make this unit pure, as for its parent.
11838 Will allow its usage in more contexts if needed.
11839
118402011-08-02 Robert Dewar <dewar@adacore.com>
11841
11842 * s-utf_32.ads: Minor comment fix.
11843
118442011-08-02 Ed Schonberg <schonberg@adacore.com>
11845
11846 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
11847 operation of a tagged synchronized type, handle the case where the
11848 controlling argument is overloaded.
11849
118502011-08-02 Yannick Moy <moy@adacore.com>
11851
11852 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
11853 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
11854 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
11855 SPARK mode and formal verification mode on processing SPARK restriction
11856 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
11857 requiring consistency checking.
11858
118592011-08-02 Robert Dewar <dewar@adacore.com>
11860
11861 * sem_res.adb: Minor reformatting.
11862
118632011-08-02 Robert Dewar <dewar@adacore.com>
11864
11865 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
11866 a-cforse.ads: Remove unneeded with of Ada.Containers
11867 Remove commented out pragma Inline's
11868 Move specifications of new subprograms to the actual specs
11869
118702011-08-02 Yannick Moy <moy@adacore.com>
11871
11872 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
11873 a-cforse.ads: Update comments.
11874
118752011-08-02 Ed Schonberg <schonberg@adacore.com>
11876
11877 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
11878
118792011-08-02 Robert Dewar <dewar@adacore.com>
11880
11881 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
11882 a-cforse.ads, a-cofove.ads: Minor reformatting.
11883
118842011-08-02 Claire Dross <dross@adacore.com>
11885
11886 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
11887 a-cofove.ads: Add comments.
11888
118892011-08-02 Yannick Moy <moy@adacore.com>
11890
11891 * gnat_rm.texi: Document formal containers.
11892
118932011-08-02 Emmanuel Briot <briot@adacore.com>
11894
11895 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
11896 are empty sections.
11897
118982011-08-02 Robert Dewar <dewar@adacore.com>
11899
11900 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
11901 reformatting.
11902
119032011-08-02 Robert Dewar <dewar@adacore.com>
11904
11905 * aspects.adb: New aspects Default_Value and Default_Component_Value
11906 New format of Aspect_Names table checks for omitted entries
11907 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
11908 handling of boolean aspects for derived types.
11909 New aspects Default_Value and Default_Component_Value
11910 New format of Aspect_Names table checks for omitted entries
11911 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
11912 (Has_Default_Value): New flag
11913 (Has_Default_Component_Value): New flag
11914 (Has_Default_Value): New flag
11915 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
11916 table.
11917 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
11918 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
11919 Default_Value and Default_Component_Value
11920 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
11921 New aspects Default_Value and Default_Component_Value
11922 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
11923 * sprint.adb: Print N_Aspect_Specification node when called from gdb
11924
119252011-08-02 Vincent Celier <celier@adacore.com>
11926
11927 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
11928 inherit library kind.
11929
119302011-08-02 Ed Schonberg <schonberg@adacore.com>
11931
11932 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
11933 Minor reformatting.
11934
119352011-08-02 Robert Dewar <dewar@adacore.com>
11936
11937 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
11938
119392011-08-02 Yannick Moy <moy@adacore.com>
11940
11941 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
11942
119432011-08-02 Robert Dewar <dewar@adacore.com>
11944
11945 * impunit.adb: Add comment.
11946
119472011-08-02 Yannick Moy <moy@adacore.com>
11948
11949 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
11950 qualification of aggregates in formal mode
11951 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
11952 another aggregate
11953 (Resolve_Aggregate): complete the test that an aggregate is adequately
11954 qualified in formal mode
11955
119562011-08-02 Pascal Obry <obry@adacore.com>
11957
11958 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
11959 * mlib-prj.adb: Supress warning when compiling binder generated file.
11960 (Build_Library): Supress all warnings when compiling the binder
11961 generated file.
11962
119632011-08-02 Yannick Moy <moy@adacore.com>
11964
11965 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
11966 from here...
11967 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
11968 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
11969 Add with/use clauses to make Check_Formal_Restriction visible
11970
119712011-08-02 Ed Schonberg <schonberg@adacore.com>
11972
11973 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
11974 in-parameters when type of the generic formal is private in the generic
11975 spec and non-private in the body.
11976
119772011-08-02 Claire Dross <dross@adacore.com>
11978
11979 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
11980 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
11981 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
11982 * impunit.adb, Makefile.rtl: Take new files into account.
11983
119842011-08-02 Robert Dewar <dewar@adacore.com>
11985
11986 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
11987 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
11988
119892011-08-02 Yannick Moy <moy@adacore.com>
11990
11991 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
11992 formal mode
11993 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
11994 matching static array bounds, taking into account the special case of
11995 string literals
11996 * sem_ch3.adb: Typo in comment.
11997
119982011-08-02 Yannick Moy <moy@adacore.com>
11999
12000 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
12001 which issues an error in formal mode if its argument node is originally
12002 from source
12003 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
12004 has a discriminant specification so that it does not include the case
12005 of derived types
12006 (Derived_Type_Declaration): move here the test that a derived type has a
12007 discriminant specification
12008 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
12009 first element of a component association before accessing its choices
12010 (presence of component association is not enough)
12011 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
12012 declaration is a library item before accessing the next element in a
12013 list, as library items are not member of lists
12014 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
12015 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
12016 Check_Formal_Restriction whenever possible.
12017
120182011-08-02 Ed Schonberg <schonberg@adacore.com>
12019
12020 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
12021 reference when needed.
12022
120232011-08-02 Bob Duff <duff@adacore.com>
12024
12025 * gnat_ugn.texi: Fix typo.
12026
120272011-08-02 Vincent Celier <celier@adacore.com>
12028
12029 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
12030 archive file name. Do not use the full path name of archives for Open
12031 VMS.
12032
120332011-08-02 Robert Dewar <dewar@adacore.com>
12034
12035 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
12036 Analyze_Aspect_Specifications
12037 * sem_ch13.adb
12038 (Analyze_Aspect_Specifications): New handling for boolean aspects
12039 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
12040 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
12041 sequence for Analyze_Aspect_Specifications
12042 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
12043 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
12044
120452011-08-02 Robert Dewar <dewar@adacore.com>
12046
12047 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
12048 aspects, since these no longer exist.
12049
120502011-08-02 Robert Dewar <dewar@adacore.com>
12051
12052 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
12053 semicolon, do not try to see if there are aspects following it.
12054 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
12055 aspect spec.
12056
120572011-08-02 Robert Dewar <dewar@adacore.com>
12058
12059 * sem_ch8.adb, aspects.ads: Minor reformatting.
12060
120612011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12062
12063 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
12064 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
12065 extracted from...
12066 (Analyze_Aspect_Specifications): ...here. Call above procedure.
12067
120682011-08-02 Yannick Moy <moy@adacore.com>
12069
12070 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
12071 mode on subprogram declaration outside of package specification, unless
12072 it is followed by a pragma Import
12073 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
12074 Access_Type_Declaration): issue error in formal mode on access type
12075 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
12076 incomplete type
12077 (Analyze_Object_Declaration): issue error in formal mode on object
12078 declaration which does not respect SPARK restrictions
12079 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
12080 declaration which does not respect SPARK restrictions
12081 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
12082 error in formal mode on digits or delta constraint
12083 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
12084 decimal fixed point type
12085 (Derived_Type_Declaration): issue error in formal mode on derived type
12086 other than type extensions of tagged record types
12087 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
12088 with check on access definition
12089 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
12090 mode on protected definition.
12091 (Analyze_Task_Definition): issue error in formal mode on task definition
12092
120932011-08-02 Robert Dewar <dewar@adacore.com>
12094
12095 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
12096
120972011-08-02 Javier Miranda <miranda@adacore.com>
12098
12099 * sem_ch6.adb (Can_Override_Operator): New function.
12100 (Verify_Overriding_Indicator): Add missing code to check overriding
12101 indicator in operators. Fixes regression.
12102 (Check_Overriding_Indicator): Minor reformating after replacing the
12103 code that evaluates if the subprogram can override an operator by
12104 invocations to the above new function.
12105 * einfo.adb
12106 (Write_Field26_Name): Add missing code to ensure that, following
12107 the documentation in einfo.ads, this field is not shown as attribute
12108 "Static_Initialization" on non-dispatching functions.
12109
121102011-08-02 Jose Ruiz <ruiz@adacore.com>
12111
12112 * sem_res.adb (Resolve_Call): A call to
12113 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
12114 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
12115 i.e., when the second parameter is of type Time_Span.
12116
121172011-08-02 Vincent Celier <celier@adacore.com>
12118
12119 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
12120 with an archive instead of -L<library dir> -l<library name>.
12121
121222011-08-02 Ed Schonberg <schonberg@adacore.com>
12123
12124 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
12125 mark the base types In_Use in addition to making the operations
12126 use_visible.
12127
121282011-08-02 Ed Falis <falis@adacore.com>
12129
12130 * init.c: add and setup __gnat_signal_mask for the exception signals
12131 * s-inmaop-vxworks.adb: new file.
12132 * s-intman-vxworks.adb: remove unnecessary initializations and
12133 simplify remaining
12134 * s-intman-vxworks.ads: remove unnecessary variable
12135 * s-taprop-vxworks.adb: simplify signal initialization
12136
121372011-08-02 Robert Dewar <dewar@adacore.com>
12138
12139 * sem_ch8.adb: Minor code reorganization, comment updates.
12140
121412011-08-02 Robert Dewar <dewar@adacore.com>
12142
12143 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
12144 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
12145 here from Sem_Res.
12146 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
12147 (Matching_Static_Array_Bounds): Moved here from Sem_Res
12148
121492011-08-02 Ed Schonberg <schonberg@adacore.com>
12150
12151 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
12152 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
12153 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
12154 use_type_clauses, to handle more efficiently use_type and use_all_type
12155 constructs.
12156 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
12157 Ada2012 Use_All_Type clause.
12158 (Use_Class_Wide_Operations): new procedure.
12159
121602011-08-02 Robert Dewar <dewar@adacore.com>
12161
12162 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
12163 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
12164 expression to expression function.
12165
121662011-08-02 Ed Schonberg <schonberg@adacore.com>
12167
12168 * sem_ch4.adb: transform simple Ada2012 membership into equality only
12169 if types are compatible.
12170
121712011-08-02 Yannick Moy <moy@adacore.com>
12172
12173 * sem_res.adb (Matching_Static_Array_Bounds): new function which
12174 returns True if its argument array types have same dimension and same
12175 static bounds at each index.
12176 (Resolve_Actuals): issue an error in formal mode on actuals passed as
12177 OUT or IN OUT paramaters which are not view conversions in SPARK.
12178 (Resolve_Arithmetic_Op): issue an error in formal mode on
12179 multiplication or division with operands of fixed point types which are
12180 not qualified or explicitly converted.
12181 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
12182 Boolean or array type (except String) operands.
12183 (Resolve_Equality_Op): issue an error in formal mode on equality
12184 operators for array types other than String with non-matching static
12185 bounds.
12186 (Resolve_Logical_Op): issue an error in formal mode on logical operators
12187 for array types with non-matching static bounds. Factorize the code in
12188 Matching_Static_Array_Bounds.
12189 (Resolve_Qualified_Expression): issue an error in formal mode on
12190 qualified expressions for array types with non-matching static bounds.
12191 (Resolve_Type_Conversion): issue an error in formal mode on type
12192 conversion for array types with non-matching static bounds
12193
121942011-08-02 Robert Dewar <dewar@adacore.com>
12195
12196 * par-ch10.adb: Minor code reorganization (use Nkind_In).
12197
121982011-08-02 Ed Schonberg <schonberg@adacore.com>
12199
12200 * par-ch9.adb: save location of entry for proper error message.
12201
122022011-08-02 Javier Miranda <miranda@adacore.com>
12203
12204 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
12205 (Use_Full_View) which permits this routine to climb through the
12206 ancestors using the full-view of private parents.
12207 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
12208 Use_Full_View to true in calls to Is_Ancestor.
12209 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
12210 true in call to Is_Ancestor.
12211 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
12212 Use_Full_View to true in call to Is_Ancestor.
12213 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
12214 call to Is_Ancestor.
12215 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
12216 Use_Full_View to true in calls to Is_Ancestor.
12217 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
12218 Make_Select_Specific_Data_Table, Register_Primitive,
12219 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
12220 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
12221 to true in call to Is_Ancestor.
12222 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
12223 Use_Full_View to true in calls to Is_Ancestor.
12224 * exp_cg.adb
12225 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
12226 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
12227
122282011-08-02 Robert Dewar <dewar@adacore.com>
12229
12230 * gnat_rm.texi: Minor reformatting.
12231 * sem_prag.adb: Minor reformatting.
12232
122332011-08-02 Tristan Gingold <gingold@adacore.com>
12234
12235 * vms_data.ads: Add VMS qualifier for -gnateP.
12236
122372011-08-02 Robert Dewar <dewar@adacore.com>
12238
12239 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
12240 * par-ch7.adb (P_Package): Proper placement of aspects for package
12241 decl/instantiation.
12242 * par-endh.adb (Check_End): Ad Is_Sloc parameter
12243 (End_Statements): Add Is_Sloc parameterr
12244 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
12245 (Check_End): Ad Is_Sloc parameter
12246 (End_Statements): Add Is_Sloc parameterr
12247
122482011-08-02 Vincent Celier <celier@adacore.com>
12249
12250 * ug_words: Add VMS qualifier equivalent to -gnateP:
12251 /SYMBOL_PREPROCESSING.
12252
122532011-08-02 Jose Ruiz <ruiz@adacore.com>
12254
12255 * gnat-style.texi: For hexadecimal numeric literals the typical
12256 grouping of digits is 4 to represent 2 bytes.
12257 A procedure spec which is split into several lines is indented two
12258 characters.
12259
122602011-08-02 Yannick Moy <moy@adacore.com>
12261
12262 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
12263 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
12264 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
12265 properly qualified
12266 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
12267 choice in array aggregate
12268 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
12269 mark as ancestor
12270 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
12271 positional and named aggregate for record, or others in record
12272 aggregate, or multiple choice in record aggregate
12273 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
12274 array operands to logical operations AND, OR and XOR do not have the
12275 same static lower and higher bounds
12276 * sem_ch5.adb, sinfo.ads: Correct typos in comments
12277
122782011-08-01 Robert Dewar <dewar@adacore.com>
12279
12280 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
12281 Replaces Last_Source_Node_In_Sequence.
12282 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
12283 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
12284 parens and blank in string (this was inconsistently implemented).
12285 * errout.ads
12286 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
12287 blank in string (this was inconsistently implemented).
12288 * gnat1drv.adb
12289 (Set_Global_Switches): Set formal mode switches appropriately
12290 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
12291 * par-prag.adb
12292 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
12293 call Set_Error_Msg_Lang to set "spark" as language name.
12294 * par.adb: Remove unnecessary call to set formal language for errout
12295 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
12296 appropriately and call Set_Error_Msg_Lang to set "spark" as language
12297 name.
12298 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
12299 calls to it, moved after resolution so that types are known
12300 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
12301 result of concatenation is not of type String
12302 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
12303 concatenation is not properly restricted
12304 * gnat_rm.texi: Add doc on pragma Spark_95.
12305 * gcc-interface/Makefile.in: Remove obsolete target pairs for
12306 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
12307 * gcc-interface/Make-lang.in: Update dependencies.
12308
123092011-08-01 Javier Miranda <miranda@adacore.com>
12310
12311 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
12312 condition that detects if the overridden operation must replace an
12313 existing entity.
12314
123152011-08-01 Javier Miranda <miranda@adacore.com>
12316
12317 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
12318 code declarations inserted by Insert_Actions in each alternative of the
12319 N_Case_Expression node.
12320
123212011-08-01 Robert Dewar <dewar@adacore.com>
12322
12323 * sem_ch6.adb: Minor code reorganization.
12324 * sem_util.adb: Minor reformatting.
12325
123262011-08-01 Pascal Obry <obry@adacore.com>
12327
12328 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
12329 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
12330
123312011-08-01 Yannick Moy <moy@adacore.com>
12332
12333 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
12334 literal or operator symbol which is prefixed
12335 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
12336 mode on access attributes.
12337 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
12338 that concatenation operands are properly restricted in formal mode
12339 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
12340 Analyze_Concatenation_Operand. Issue an error in formal mode if the
12341 result of the concatenation has a type different from String.
12342 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
12343 Analyze_Quantified_Expression, Analyze_Slice,
12344 Analyze_Null): issue an error in formal mode on unsupported constructs
12345 * sem_ch5.adb
12346 (Analyze_Block_Statement): only issue error on source block statement
12347 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
12348 function which returns the last node in a list of nodes for which
12349 Comes_From_Source returns True, if any
12350 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
12351 Last_Source_Node_In_Sequence
12352 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
12353 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
12354 mode on unsupported constructs
12355 * sem_ch9.adb Do not return after issuing error in formal mode, as the
12356 rest of the actions may be needed later on since the error is marked as
12357 not serious.
12358 * sinfo.ads: Typos in comments.
12359
123602011-08-01 Pascal Obry <obry@adacore.com>
12361
12362 * projects.texi: Minor editing.
12363
123642011-08-01 Yannick Moy <moy@adacore.com>
12365
12366 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
12367 insertion character ~~
12368 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
12369 (Set_Error_Msg_Lang): new procedure which fixes the language for use
12370 with insertion character ~~
12371 (Set_Msg_Text): treat insertion character ~~
12372 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
12373 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
12374 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
12375 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
12376 errors related to the formal language restriction not serious
12377 (insertion character |).
12378 * par.adb (Par): set formal language for error messages if needed
12379 * sem_ch6.adb (Check_Missing_Return): take into account possible
12380 generated statements at the end of the function
12381 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
12382 enumeration value to define a new pragma SPARK_95
12383 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
12384 SPARK_Version): new type and variables to store the SPARK version
12385 (none by default).
12386 (SPARK_Mode): return True when SPARK_Version is set
12387 * par-prag.adb: Correct indentation
12388 (Prag): take Pragma_SPARK_95 into account
12389 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
12390 into account.
12391
123922011-08-01 Robert Dewar <dewar@adacore.com>
12393
12394 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
12395 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
12396 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
12397
123982011-08-01 Pascal Obry <obry@adacore.com>
12399
12400 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
12401 Target_Name to Get_Path call.
12402 (Parse_Single_Project): Likewise.
12403 (Post_Parse_Context_Clause): Likewise.
12404 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
12405 Call Initialise_Project_Path with the proper Target_Name.
12406 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
12407 search path.
12408 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
12409 with the proper Target_Name.
12410 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
12411 Part.Parse routine.
12412 (Parse_Project_And_Apply_Config): Likewise.
12413 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
12414 This is fine as this part of the code is supporting only native
12415 compilation.
12416 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
12417 is fine as this part of the code is supporting only native compilation.
12418
124192011-08-01 Yannick Moy <moy@adacore.com>
12420
12421 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
12422 of homonym, unless the homonym is one of the cases allowed in SPARK
12423 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
12424 package declaration occurring after a body.
12425
124262011-08-01 Robert Dewar <dewar@adacore.com>
12427
12428 * checks.adb, exp_ch4.adb: Minor reformatting.
12429
124302011-08-01 Javier Miranda <miranda@adacore.com>
12431
12432 * einfo.ads (Access_Disp_Table): Fix documentation.
12433 (Dispatch_Table_Wrappers): Fix documentation.
12434
124352011-08-01 Pascal Obry <obry@adacore.com>
12436
12437 * prj-env.adb, prj-env.ads: Minor reformatting.
12438
124392011-08-01 Yannick Moy <moy@adacore.com>
12440
12441 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
12442 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
12443 procedures out of these packages.
2c7f9cc0 12444 * errout.ads, errout.adb
052e0603
AC
12445 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
12446 procedures in of this package
12447 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
12448 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
12449 on misplaced later vs initial declarations, like in Ada 83
12450 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
12451 formal mode on attribute of private type whose full type declaration
12452 is not visible
12453 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
12454 package declaration inside a package specification
12455 (Analyze_Full_Type_Declaration): issue error in formal mode on
12456 controlled type or discriminant type
12457 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
12458 user-defined operator means that it should come from the source
12459 (New_Overloaded_Entity): issue error in formal mode on overloaded
12460 entity.
12461 * sem_ch6.ads, sem_ch13.ads: typos in comments.
12462
124632011-08-01 Thomas Quinot <quinot@adacore.com>
12464
12465 * atree.adb: Minor reformatting.
12466 * checks.adb: Minor reformatting.
12467
124682011-08-01 Vincent Celier <celier@adacore.com>
12469
12470 * s-parame-vms-ia64.ads: Fix typo in comment
12471 Minor reformatting
12472 * s-parame-vms-restrict.ads: Removed, unused.
12473
124742011-08-01 Javier Miranda <miranda@adacore.com>
12475
12476 * exp_ch3.adb
12477 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
12478 * sem_ch3.adb
12479 (Constrain_Index): Remove side effects in the evaluation of the bounds.
12480 * sem_ch3.ads, sem_ch3.adb
12481 (Is_Constant_Bound): New extended version of the subprogram that was
12482 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
12483 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
12484 * sem_aux.ads (Constant_Value): Fix typo in comment.
12485 * checks.adb (Generate_Index_Checks): New implementation which, for
12486 array objects with constant bounds, generates the runtime check
12487 referencing the bounds of the array type. For other cases this routine
12488 provides its previous behavior obtaining such values from the array
12489 object.
12490 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
12491 parent type.
12492 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
12493 we cannot have semantic interpretations of the new node.
12494
124952011-08-01 Ed Schonberg <schonberg@adacore.com>
12496
12497 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
12498 expressions.
12499
125002011-08-01 Arnaud Charlet <charlet@adacore.com>
12501
12502 * sem_ch8.adb: Minor code editing.
12503 * s-vxwext.adb: Remove trailing space.
12504 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
12505 consistency with other files.
12506
125072011-08-01 Thomas Quinot <quinot@adacore.com>
12508
12509 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
12510
125112011-08-01 Ed Schonberg <schonberg@adacore.com>
12512
12513 * par-ch10.adb: reject parameterized expressions as compilation unit.
12514 * sem_ch4.adb: handle properly conditional expression with overloaded
12515 then_clause and no else_clause.
12516
125172011-08-01 Tristan Gingold <gingold@adacore.com>
12518
12519 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
12520 like done by System.Aux_DEC.
12521 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
12522
125232011-08-01 Yannick Moy <moy@adacore.com>
12524
12525 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
12526 missing label at end of declaration (subprogram or package)
12527 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
12528 of positional and named parameter association
12529 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
12530 Error_Msg_SP which adds a prefix to the error message giving the name
12531 of the formal language analyzed
12532 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
12533 access result type in subprogram, unconstrained array as result type,.
12534 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
12535 procedure
12536 * sem_ch8.adb: Code clean up.
12537
125382011-08-01 Javier Miranda <miranda@adacore.com>
12539
12540 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
12541 * einfo.ads (Access_Disp_Table): Fix documentation.
12542 (Dispatch_Table_Wrappers): Fix documentation.
12543 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
12544 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
12545 to enforce the documentation of this attribute.
12546 (Set_Is_Interface): Cleanup the assertion.
12547 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
12548 the Underlying_Type entity before reading attribute Access_Disp_Table.
12549 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
12550 Locate the Underlying_Type before reading attribute Access_Disp_Table.
12551 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
12552 the Underlying_Type entity before reading attribute Access_Disp_Table.
12553 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
12554 Locate the Underlying_Type entity before reading attribute
12555 Access_Disp_Table.
12556
125572011-08-01 Ed Schonberg <schonberg@adacore.com>
12558
12559 * s-poosiz.ads: Additional overriding indicators.
12560
125612011-08-01 Yannick Moy <moy@adacore.com>
12562
12563 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
12564 formal mode.
12565 (Analyze_Iteration_Scheme): issue error in formal mode when loop
12566 parameter specification does not include a subtype mark.
12567 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
12568 formal mode on abstract subprogram.
12569 (Analyze_Subprogram_Specification): issue error in formal mode on
12570 user-defined operator.
12571 (Process_Formals): issue error in formal mode on access parameter and
12572 default expression.
12573 * sem_ch9.adb (Analyze_Abort_Statement,
12574 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
12575 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
12576 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
12577 Analyze_Requeue, Analyze_Selective_Accept,
12578 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
12579 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
12580 issue error in formal mode on user-defined raise statement.
12581
125822011-08-01 Thomas Quinot <quinot@adacore.com>
12583
12584 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
12585 declaration being hidden when overriding an implicit inherited
12586 subprogram.
12587 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
12588 (-gnats), do not complain about a source file that contains only a
12589 pragma No_Body.
12590
125912011-08-01 Ed Schonberg <schonberg@adacore.com>
12592
12593 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
12594 variable if already set.
12595
125962011-08-01 Arnaud Charlet <charlet@adacore.com>
12597
12598 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
12599 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
12600 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
12601 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
12602 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
12603 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
12604 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
12605 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
12606 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
12607 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
12608 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
12609 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
12610 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
12611 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
12612 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
12613 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
12614 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
12615 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
12616 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
12617 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
12618 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
12619 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
12620 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
12621 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
12622 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
12623 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
12624 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
12625 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
12626 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
12627 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
12628 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
12629 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
12630 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
12631 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
12632 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
12633 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
12634 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
12635 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
12636 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
12637 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
12638 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
12639 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
12640 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
12641 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
12642 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
12643 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
12644 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
12645 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
12646 s-osinte-mingw.ads: Update to GPLv3 run-time license.
12647 Use GNAT instead of GNARL.
12648
126492011-08-01 Bob Duff <duff@adacore.com>
12650
12651 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
12652 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
12653 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
12654 reformatting.
12655
126562011-08-01 Yannick Moy <moy@adacore.com>
12657
12658 * debug.adb (d.D) reverve flag for the SPARK mode
12659 (d.E) reverve flag for SPARK generation mode
12660 (d.F) reverve flag for Why generation mode
2c7f9cc0 12661 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
052e0603
AC
12662 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
12663 functions which return True when the corresponding modes are set
12664 (Formal_Language): return "spark" or "alfa" when in formal verification
12665 mode.
12666 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
12667 Error_Msg to prefix the error message with a tag giving the formal
12668 language
12669 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
12670 message with a tag giving the formal language
12671 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
12672 block statement
12673 (Analyze_Case_Statement): issue error in formal mode on case statement
12674 with a single "others" case alternative
12675 (Analyze_Exit_Statement): issue errors in formal mode on exit
12676 statements which do not respect SPARK restrictions
12677 (Analyze_Goto_Statement): issue error in formal mode on goto statement
12678 (Check_Unreachable_Code): always issue an error (not a warning) in
12679 formal mode on unreachable code (concerns both code after an infinite
12680 loop and after an unconditional jump, both not allowed in SPARK)
12681 * sem_ch6.adb (Analyze_Return_Statement): add call to
12682 Set_Return_Present for a procedure containing a return statement
12683 (already done for functions in Analyze_Function_Return)
12684 (Analyze_Function_Return): issue error in formal mode on extended
12685 return or if return is not last statement in function
12686 (Check_Missing_Return): issue error in formal mode if function does
12687 not end with return or if procedure contains a return
12688 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
12689 function to detect if there is an inner scope of its parameter S which
12690 is a loop.
12691
126922011-08-01 Thomas Quinot <quinot@adacore.com>
12693
12694 * sem_ch6.ads: Minor reformatting.
12695
126962011-08-01 Javier Miranda <miranda@adacore.com>
12697
12698 * sem_util.adb (Abstract_Interface_List): Complete condition when
12699 processing private type declarations to avoid reading unavailable
12700 attribute.
12701 (Is_Synchronized_Tagged_Type): Complete condition when processing
12702 private extension declaration nodes to avoid reading unavailable
12703 attribute.
12704
127052011-08-01 Thomas Quinot <quinot@adacore.com>
12706
12707 * sem_ch3.adb: Minor reformatting.
12708
127092011-08-01 Thomas Quinot <quinot@adacore.com>
12710
12711 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
12712 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
12713 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
12714 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
12715 for VMS, instead parametrize the common implementation with
12716 System.Parameters declarations.
12717
127182011-08-01 Eric Botcazou <ebotcazou@adacore.com>
12719
12720 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
12721
127222011-08-01 Tristan Gingold <gingold@adacore.com>
12723
12724 * seh_init.c: Fix SEH handler installation on win64.
12725
127262011-08-01 Ed Schonberg <schonberg@adacore.com>
12727
12728 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
12729 double analysis of an anonymous access to subprogram, because it can
12730 lead to improper sharing of profiles and a back-end crash.
12731
127322011-08-01 Robert Dewar <dewar@adacore.com>
12733
12734 * make.adb, sem_ch4.adb: Minor reformatting.
12735 * gcc-interface/Make-lang.in: Update dependencies.
12736 * sem_util.adb, exp_ch5.adb: Minor reformatting.
12737
127382011-08-01 Arnaud Charlet <charlet@adacore.com>
12739
12740 * gnat_rm.texi: Fix definition of Long_Integer.
12741
127422011-08-01 Ed Schonberg <schonberg@adacore.com>
12743
12744 * exp_aggr.adb: check limit size of static aggregate unconditionally,
12745 to prevent storage exhaustion.
12746 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
12747 finalized is a function body, insert the cleanup code before the final
12748 return statement, to prevent spurious warnings.
12749 * s-pooglo.ads: add overriding indicator.
12750
127512011-08-01 Ed Schonberg <schonberg@adacore.com>
12752
12753 * sem_ch4.adb (Operator_Check): improve error message when both a
12754 with_clause and a use_clause are needed to make operator usage legal.
12755 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
12756 determine whether a compilation unit is visible within an other,
12757 either through a with_clause in the current unit, or a with_clause in
12758 its library unit or one one of its parents.
12759
127602011-08-01 Ed Schonberg <schonberg@adacore.com>
12761
12762 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
12763 over an arbitrary expression of an array or container type.
12764 * lib-xref.adb: clarify comment.
12765
127662011-08-01 Bob Duff <duff@adacore.com>
12767
12768 * einfo.ads: Minor reformatting.
12769 * debug.adb: Minor comment improvement.
12770
127712011-08-01 Javier Miranda <miranda@adacore.com>
12772
12773 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
12774 consider hidden subprograms as valid candidates.
12775
127762011-08-01 Arnaud Charlet <charlet@adacore.com>
12777
12778 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
12779
127802011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
12781
12782 * gnat_ugn.texi: Fix typo.
12783
127842011-08-01 Robert Dewar <dewar@adacore.com>
12785
12786 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
12787 lib-xref.adb: Minor reformatting
12788
127892011-08-01 Gary Dismukes <dismukes@adacore.com>
12790
12791 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
12792 when to generate a call to Move_Final_List.
12793 (Has_Controlled_Parts): Remove this function.
12794
127952011-08-01 Geert Bosch <bosch@adacore.com>
12796
12797 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
12798 "," in choice list.
12799
128002011-08-01 Thomas Quinot <quinot@adacore.com>
12801
12802 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
12803 explicit raise of a predefined exception as Comes_From_Source if the
12804 original N_Raise_Statement comes from source.
12805
128062011-08-01 Robert Dewar <dewar@adacore.com>
12807
12808 * sinfo.ads: Add comment.
12809 * sem_ch6.adb: Minor reformatting.
12810
128112011-08-01 Robert Dewar <dewar@adacore.com>
12812
12813 * freeze.adb (Freeze_Entity): Refine check for bad component size
12814 clause to avoid rejecting confirming clause when atomic/aliased present.
12815
128162011-08-01 Ed Schonberg <schonberg@adacore.com>
12817
12818 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
12819 better determine whether an entity reference is a write.
12820 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
12821 subcomponent.
12822 * lib-xref.adb (Output_References): Do no suppress a read reference at
12823 the same location as an immediately preceeding modify-reference, to
12824 handle properly in-out actuals.
12825
128262011-08-01 Tristan Gingold <gingold@adacore.com>
12827
12828 * env.c (__gnat_setenv) [VMS]: Refine previous change.
12829
128302011-08-01 Quentin Ochem <ochem@adacore.com>
12831
12832 * i-cstrin.adb (New_String): Changed implementation, now uses only the
12833 heap to compute the result.
12834
128352011-08-01 Robert Dewar <dewar@adacore.com>
12836
12837 * atree.ads: Minor reformatting.
12838
128392011-08-01 Emmanuel Briot <briot@adacore.com>
12840
12841 * g-expect.adb (Get_Command_Output): Fix memory leak.
12842
128432011-08-01 Geert Bosch <bosch@adacore.com>
12844
12845 * cstand.adb (P_Float_Type): New procedure to print the definition of
12846 predefined fpt types.
12847 (P_Mixed_Name): New procedure to print a name using mixed case
12848 (Print_Standard): Use P_Float_Type for printing floating point types
12849 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
12850 precision IEEE float.
12851
128522011-08-01 Thomas Quinot <quinot@adacore.com>
12853
12854 * sem_ch3.adb: Minor reformatting.
12855
128562011-08-01 Ed Schonberg <schonberg@adacore.com>
12857
12858 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
12859 the completion of a generic function, insert the new body rather than
12860 rewriting the original.
12861
128622011-08-01 Yannick Moy <moy@adacore.com>
12863
12864 * sinfo.ads, errout.ads: Typos in comments.
12865
128662011-08-01 Robert Dewar <dewar@adacore.com>
12867
12868 * par-endh.adb: Minor reformatting.
12869
128702011-08-01 Robert Dewar <dewar@adacore.com>
12871
12872 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
12873 (Pre_Post_Aspects): New subtype.
12874 * par-ch12.adb (P_Generic): New syntax for aspects in packages
12875 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
12876 * par-ch7.adb (P_Package): Remove Decl parameter
12877 (P_Package): Handle new syntax for aspects (before IS)
12878 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
12879 new aspect syntax
12880 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
12881 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
12882 (P_Package): Remove Decl parameter
12883 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
12884 aspects
12885 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
12886 specs
12887 * sem_util.ads, sem_util.adb (Static_Boolean): New function
12888 * sinfo.ads: Document new syntax for aspects in packages etc.
12889 * sprint.adb: Handle new syntax of aspects before IS in package
12890
128912011-08-01 Thomas Quinot <quinot@adacore.com>
12892
12893 * atree.ads: Minor reformatting.
12894 * sem_prag.adb: Minor reformatting.
12895
128962011-08-01 Robert Dewar <dewar@adacore.com>
12897
12898 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
12899 case expr alternative.
12900
129012011-08-01 Ed Schonberg <schonberg@adacore.com>
12902
12903 * sem_ch12.adb: Fix typo.
12904
129052011-08-01 Geert Bosch <bosch@adacore.com>
12906
12907 * sem_prag.adb (Check_No_Link_Name): New procedure.
12908 (Process_Import_Or_Interface): Use Check_No_Link_Name.
12909 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
12910 instead of Standard_Long_Long_Float_Size global. Preparation for
12911 eventual removal of per type constants.
12912 * exp_util.ads (Get_Stream_Size): New function returning the stream
12913 size value of subtype E.
12914 * exp_util.adb (Get_Stream_Size): Implement new function.
12915 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
12916 function.
12917 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
12918 * einfo.adb:
12919 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
12920
129212011-08-01 Geert Bosch <bosch@adacore.com>
12922
12923 * cstand.adb: Fix comments.
12924 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
12925 count of arguments.
12926
129272011-08-01 Robert Dewar <dewar@adacore.com>
12928
12929 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
12930
129312011-08-01 Geert Bosch <bosch@adacore.com>
12932
12933 * atree.ads: Fix comment.
12934
129352011-08-01 Robert Dewar <dewar@adacore.com>
12936
12937 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
12938 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
12939 * par.adb: Add with for Namet.Sp.
12940 * par-tchk.adb: Minor reformatting.
12941
129422011-08-01 Vincent Celier <celier@adacore.com>
12943
12944 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
12945 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
12946 of the init procedure of a SAL.
12947 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
12948 New procedure.
12949
129502011-08-01 Thomas Quinot <quinot@adacore.com>
12951
12952 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
12953 reformatting.
12954
129552011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12956
12957 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
12958
129592011-08-01 Thomas Quinot <quinot@adacore.com>
12960
12961 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
12962 conformant with its spec (return True only for types that have
12963 an overriding Initialize primitive operation that prevents them from
12964 having preelaborable initialization).
12965 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
12966 initialization for controlled types in Ada 2005 or later mode.
12967
129682011-08-01 Robert Dewar <dewar@adacore.com>
12969
12970 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
12971 Postcondition.
12972 (Same_Aspect): New function.
12973 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
12974 Type_Invariant, Precondition, Postcondition.
12975 * snames.ads-tmpl: Add Name_Type_Invariant.
12976
129772011-08-01 Robert Dewar <dewar@adacore.com>
12978
12979 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
12980 here.
12981 (Freeze_All_Ent): Fix error in handling inherited aspects.
12982 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
12983 already analyzed, but don't skip entire processing of a declaration,
12984 that's wrong in some cases of declarations being rewritten.
12985 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
12986 Don't delay for integer, string literals
12987 Treat predicates in usual manner for delay, remove special case code,
12988 not needed.
12989 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
12990 (Build_Predicate_Function): Update saved expression in aspect
12991 (Build_Invariant_Procedure): Update saved expression in aspect
12992 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
12993 of replacement of discriminant references if the reference is simple.
12994
129952011-08-01 Robert Dewar <dewar@adacore.com>
12996
12997 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
12998 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
12999 Static_Predicate and Dynamic_Predicate.
13000 (Build_Predicate_Function): Add processing for Static_Predicate
13001 and Dynamic_Predicate.
13002 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
13003 (From_Static_Predicate): New flag
13004 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
13005
130062011-08-01 Robert Dewar <dewar@adacore.com>
13007
13008 * usage.adb: Documentation cleanup for Ada version modes in usage.
13009 * expander.adb: Minor reformatting.
13010
130112011-08-01 Robert Dewar <dewar@adacore.com>
13012
13013 * atree.ads: Minor comment fix.
13014 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
13015 a-witeio.ads, sem_prag.adb: Minor reformatting.
13016
130172011-08-01 Doug Rupp <rupp@adacore.com>
13018
13019 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
13020 pointers. Use descrip.h header file for convenience. Add some
13021 comments.
13022
130232011-08-01 Robert Dewar <dewar@adacore.com>
13024
13025 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
13026 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
13027 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
13028 New procedure.
13029 (Check_Aspect_At_End_Of_Declarations): New procedure
13030 (Analye_Aspect_Specification): Minor changes for above procedures
13031 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
13032 specification node as well.
13033
130342011-08-01 Pascal Obry <obry@adacore.com>
13035
13036 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
13037 Windows files. Use GetFilesAttributes() in this case to check for file
13038 existence instead of returning with an error code.
13039
130402011-08-01 Vincent Celier <celier@adacore.com>
13041
13042 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
13043 High is above Source length.
13044
130452011-08-01 Robert Dewar <dewar@adacore.com>
13046
13047 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
13048
130492011-08-01 Robert Dewar <dewar@adacore.com>
13050
13051 * aspects.ads (Boolean_Aspects): New subtype.
13052 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
13053 for derived types in cases where the parent type and derived type have
13054 aspects.
13055 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
13056 with aspects when parent type also has aspects.
13057 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
13058 boolean expression at this point).
13059 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
13060 accordance with final decision on the Ada 2012 feature.
13061 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
13062
130632011-08-01 Matthew Heaney <heaney@adacore.com>
13064
13065 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
13066
130672011-08-01 Pascal Obry <obry@adacore.com>
13068
13069 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
13070 Fix Replace_Slice when High is above current string size.
13071 (Replace_Slice): Fix DL computation when High is above current
13072 string length.
13073
130742011-08-01 Gary Dismukes <dismukes@adacore.com>
13075
13076 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
13077
130782011-08-01 Matthew Heaney <heaney@adacore.com>
13079
13080 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
13081 of node.
13082
130832011-08-01 Pascal Obry <obry@adacore.com>
13084
13085 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
13086 reformatting.
13087
130882011-08-01 Ed Schonberg <schonberg@adacore.com>
13089
13090 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
13091 access to protected subprograms in generic bodies.
13092 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
13093 protected type, indicate that the convention of the subprogram is
13094 Convention_Protected, because it may be used in subsequent declarations
13095 within the protected declaration.
13096
130972011-08-01 Vincent Celier <celier@adacore.com>
13098
13099 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
13100 and "final" procedures when the name of the library is "ada", to avoid
13101 duplicate symbols "adainit" and "adafinal" in executables.
13102
131032011-08-01 Ed Schonberg <schonberg@adacore.com>
13104
13105 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
13106 quantified expression that appears within a postcondition and uses the
13107 Ada2012 'Result attribute.
13108
131092011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13110
13111 * init.c (__gnat_error_handler): Cast reason to int.
13112 (__gnat_install_handler): Explain sa_sigaction use.
13113
131142011-07-24 Eric Botcazou <ebotcazou@adacore.com>
13115
13116 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
13117 subprogram has copy-in copy-out parameters, try to promote the mode of
13118 the return type if it is passed in registers.
13119
131202011-07-24 Eric Botcazou <ebotcazou@adacore.com>
13121
13122 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
13123 left operand as addressable.
13124
131252011-07-24 Eric Botcazou <ebotcazou@adacore.com>
13126
13127 * gcc-interface/gigi.h (build_function_stub): Remove.
13128 (build_return_expr): Likewise.
13129 (convert_vms_descriptor): Declare.
13130 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
13131 (build_function_stub): Move to...
13132 * gcc-interface/utils2.c (build_return_expr): Move to...
13133 * gcc-interface/trans.c (build_function_stub): ...here.
13134 (build_return_expr): ...here.
13135 (Subprogram_Body_to_gnu): Add local variable for language_function.
13136 Disconnect the parameter attributes cache, if any, once done with it.
13137 Call end_subprog_body only after setting the end_locus.
13138 Build the stub associated with the function, if any, at the very end.
13139 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
13140 variables and streamline control flow.
13141
131422011-07-23 Arnaud Charlet <charlet@adacore.com>
13143
13144 PR ada/49819
13145 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
13146 g-trasym-dwarf.adb.
13147
131482011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13149
13150 PR bootstrap/49794
13151 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
13152 Assign to act.sa_sigaction.
13153 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
13154 current->return_address to char * before arithmetic.
13155
131562011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13157
13158 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
13159 Correct argument types.
13160 Extract code from reason.
13161 (__gnat_install_handler): Assign to act.sa_sigaction.
13162
131632011-07-21 Eric Botcazou <ebotcazou@adacore.com>
13164
13165 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
13166 (GNAT1_OBJS): ...here.
13167
131682011-07-15 Eric Botcazou <ebotcazou@adacore.com>
13169
13170 PR ada/48711
13171 * g-socthi-mingw.adb (Fill): Fix formatting.
13172
13173 * gcc-interface/gigi.h: Move around comment.
13174
131752011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13176
13177 PR ada/46350
13178 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
13179
131802011-07-14 Florian Weimer <fw@deneb.enyo.de>
13181
13182 PR ada/48711
13183 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
13184
131852011-07-13 Eric Botcazou <ebotcazou@adacore.com>
13186
13187 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
13188 range comparison if Pmode is SImode.
13189
131902011-07-12 Laurent GUERBY <laurent@guerby.net>
13191 Eric Botcazou <ebotcazou@adacore.com>
13192
13193 * adadecode.c: Wrap up in extern "C" block.
13194 * adadecode.h: Likewise.
13195 * adaint.c: Likewise. Remove 'const' keyword.
13196 * adaint.h: Likewise.
13197 * argv.c: Likewise.
13198 * atree.h: Likewise.
13199 * cio.c: Likewise.
13200 * cstreams.c: Likewise.
13201 * env.c: Likewise.
13202 * exit.c: Likewise.
13203 * fe.h: Likewise.
13204 * final.c: Likewise.
13205 * init.c: Likewise.
13206 * initialize.c: Likewise.
13207 * link.c: Likewise.
13208 * namet.h: Likewise.
13209 * nlists.h: Likewise.
13210 * raise.c: Likewise.
13211 * raise.h: Likewise.
13212 * repinfo.h: Likewise.
13213 * seh_init.c: Likewise.
13214 * targext.c: Likewise.
13215 * tracebak.c: Likewise.
13216 * uintp.h: Likewise.
13217 * urealp.h: Likewise.
13218 * xeinfo.adb: Wrap up generated C code in extern "C" block.
13219 * xsinfo.adb: Likewise.
13220 * xsnamest.adb: Likewise.
13221 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
13222 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
13223 * gcc-interface/misc.c: Likewise.
13224 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
13225 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
13226 ada/targext.o here...
13227 (GNAT_ADA_OBJS): ...and not here.
13228 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
13229 (GNATBIND_OBJS): Reorder.
13230
132312011-07-07 Richard Henderson <rth@redhat.com>
13232
13233 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
13234 dwarf2out_frame_init.
13235
132362011-07-07 Eric Botcazou <ebotcazou@adacore.com>
13237
13238 * gcc-interface/misc.c (gnat_init): Tweak previous change.
13239
132402011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13241
13242 PR target/39150
13243 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
13244
132452011-07-06 Richard Guenther <rguenther@suse.de>
13246
13247 * gcc-interface/misc.c (gnat_init): Merge calls to
13248 build_common_tree_nodes and build_common_tree_nodes_2.
13249 Re-initialize boolean_false_node.
13250
132512011-07-02 Eric Botcazou <ebotcazou@adacore.com>
13252 Olivier Hainque <hainque@adacore.com>
13253 Nicolas Setton <setton@adacore.com>
13254
13255 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
13256 the type according to the ARTIFICIAL_P parameter.
13257 (create_type_decl): Likewise.
13258 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
13259
132602011-07-01 Eric Botcazou <ebotcazou@adacore.com>
13261
13262 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
13263 (gnatbind): Likewise.
13264
132652011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13266
13267 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
13268
132692011-06-18 Eric Botcazou <ebotcazou@adacore.com>
13270
13271 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
13272 local variable throughout. Remove useless call to Base_Type.
13273 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
13274 Take it also into account for the volatileness of the field. Set the
13275 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
13276
132772011-06-18 Eric Botcazou <ebotcazou@adacore.com>
13278
13279 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
13280 on a dereference built for a by-ref object if it has an address clause.
13281
132822011-06-18 Eric Botcazou <ebotcazou@adacore.com>
13283
13284 * einfo.ads (Address_Taken): Document use for the second argument of
13285 Asm_Input and Asm_Output attributes.
13286 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
13287 argument is an entity name, then set Address_Taken on it.
13288 <Attribute_Asm_Output>: Likewise.
13289 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
13290 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
13291 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
13292 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
13293
132942011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
13295
13296 PR middle-end/46500
13297 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
13298
132992011-06-14 Joseph Myers <joseph@codesourcery.com>
13300
13301 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
13302 (ada/utils.o): Update dependencies.
13303 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
13304 ../../../libcpp/libcpp.a.
13305 * gcc-interface/utils.c: Include common/common-target.h.
13306 (process_attributes): Use targetm_common.have_named_sections.
13307
133082011-06-07 Richard Guenther <rguenther@suse.de>
13309
13310 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
13311 set_sizetype.
13312
133132011-06-06 Eric Botcazou <ebotcazou@adacore.com>
13314
13315 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
13316 TREE_THIS_NOTRAP flag.
13317
133182011-06-06 Eric Botcazou <ebotcazou@adacore.com>
13319
13320 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
13321 Fix thinko.
13322
133232011-06-06 Eric Botcazou <ebotcazou@adacore.com>
13324
13325 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
13326 constants whose full view has discriminants specially.
13327
133282011-06-06 Eric Botcazou <ebotcazou@adacore.com>
13329
13330 * gcc-interface/utils.c: Include diagnostic.h.
13331 (gnat_write_global_declarations): Output debug information for all
13332 global type declarations before finalizing the compilation unit.
13333 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
13334
133352011-05-25 Jakub Jelinek <jakub@redhat.com>
13336
13337 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
13338
133392011-05-25 Kai Tietz <ktietz@redhat.com>
13340
13341 * adaint.c (__gnat_to_canonical_file_list_next): Use array
13342 initialization instead of const/none-const pointer assignment.
13343
133442011-05-24 Joseph Myers <joseph@codesourcery.com>
13345
13346 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
13347 $(EXTRA_GNAT1_OBJS).
13348 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
13349 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
13350 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
13351 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
13352 libcommon-target.a instead of prefix.o.
13353
133542011-05-21 Joseph Myers <joseph@codesourcery.com>
13355
13356 PR ada/49097
13357 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
13358
133592011-05-20 Joseph Myers <joseph@codesourcery.com>
13360
13361 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
13362 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
13363 instead of version.o.
13364
2d0dd51a 133652011-05-18 Kai Tietz <ktietz@redhat.com>
052e0603
AC
13366
13367 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
13368 boolean_false_node instead of integer_zero_node.
13369 (convert_with_check): Likewise.
13370 * gcc-interface/decl.c (choices_to_gnu): Likewise.
13371
133722011-05-12 Eric Botcazou <ebotcazou@adacore.com>
13373
13374 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
13375 type of the parameter is an unconstrained array, convert the actual to
13376 the type of the formal in the In Out and Out cases as well.
13377
133782011-05-11 Nathan Froyd <froydnj@codesourcery.com>
13379
13380 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
13381 call build_function_type_array or build_varargs_function_type_array
13382 instead.
13383 (create_subprog_type): Don't call build_function_type; call
13384 build_function_type_vec instead.
13385
133862011-05-11 Nathan Froyd <froydnj@codesourcery.com>
13387
13388 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
13389 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
13390 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
13391
133922011-05-07 Eric Botcazou <ebotcazou@adacore.com>
13393
13394 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
13395
13396 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
13397 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
13398
133992011-05-05 Nathan Froyd <froydnj@codesourcery.com>
13400
13401 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
13402
134032011-05-05 Nathan Froyd <froydnj@codesourcery.com>
13404
13405 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
13406 instead of accessing TYPE_ARG_TYPES directly.
13407 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
13408
134092011-05-05 Eric Botcazou <ebotcazou@adacore.com>
13410
13411 PR ada/48844
13412 * gcc-interface/gigi.h (get_variant_part): Declare.
13413 * gcc-interface/decl.c (get_variant_part): Make global.
13414 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
13415 types have the same constant size, are record types and T1 has a
13416 variant part while T2 doesn't.
13417
134182011-05-05 Eric Botcazou <ebotcazou@adacore.com>
13419
13420 * gcc-interface/utils.c (begin_subprog_body): Do not call
13421 get_pending_sizes.
13422 (end_subprog_body): Likewise.
13423
134242011-05-04 Richard Guenther <rguenther@suse.de>
13425
13426 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
13427 int_const_binop.
13428 (pos_to_constructor): Likewise.
13429
134302011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2c7f9cc0 13431 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
13432
13433 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
13434 of build_function_type. Adjust calls to...
13435 (build_raise_check): ...this. Do not take a void_tree parameter.
13436 Call build_function_type_list instead of build_function_type.
13437 Fix head comment and swap couple of conditional blocks.
13438
134392011-04-30 Eric Botcazou <ebotcazou@adacore.com>
13440
13441 * gnatvsn.ads (Library_Version): Bump to 4.7.
13442 (Current_Year): Bump to 2011.
13443
134442011-04-29 Michael Matz <matz@suse.de>
13445
13446 * gcc-interface/misc.c (gnat_handle_option): Set
13447 warn_maybe_uninitialized.
13448
134492011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
13450
13451 * gnat_ugn.texi (Complexity Metrics Control): Update link to
13452 the Watson/McCabe paper.
13453
134542011-04-23 Jim Meyering <meyering@redhat.com>
13455
13456 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
13457
134582011-04-22 Eric Botcazou <ebotcazou@adacore.com>
13459
13460 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
13461 onto the new type.
13462
134632011-04-22 Eric Botcazou <ebotcazou@adacore.com>
13464
13465 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
13466 parameter.
13467 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
13468 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
13469 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
13470 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
13471 <all>: Do not set flags on the reused DECL node coming from an alias.
13472 Set DECL_IGNORED_P on the DECL node built for subprograms if they
13473 don't need debug info here...
13474 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
13475 (gigi): Adjust calls to create_subprog_decl.
13476 (build_raise_check): Likewise.
13477 (establish_gnat_vms_condition_handler): Likewise.
13478 (Compilation_Unit_to_gnu): Likewise.
13479 (gnat_to_gnu): Likewise.
13480
134812011-04-21 Eric Botcazou <ebotcazou@adacore.com>
13482
13483 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
13484 (NO_REORDER_ADAFLAGS): New variable.
13485 (EXTRA_GNATTOOLS): Always define.
13486 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
13487 Clean up and adjust list of files compiled with special options.
13488 * gcc-interface/Make-lang.in: Likewise.
13489 (ada/decl.o): Cosmetical change.
13490 (ada/misc.o): Remove dependency on $(PLUGIN_H).
13491
134922011-04-20 Jim Meyering <meyering@redhat.com>
13493
13494 * initialize.c (__gnat_initialize): Remove useless if-before-free.
13495
134962011-04-17 Eric Botcazou <ebotcazou@adacore.com>
13497
13498 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
13499 $(CFLAGS) on the link line.
13500
135012011-04-17 Eric Botcazou <ebotcazou@adacore.com>
13502
13503 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
13504 padded type built for the return type if it is unconstrained.
13505
135062011-04-14 Nathan Froyd <froydnj@codesourcery.com>
13507
13508 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
13509
135102011-04-12 Nathan Froyd <froydnj@codesourcery.com>
13511
13512 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
13513 before calling TREE_CHAIN.
13514 * gcc-interface/misc.c (gnat_init_ts): New function.
13515 (LANG_HOOKS_INIT_TS): Define.
13516
135172011-04-12 Martin Jambor <mjambor@suse.cz>
13518
13519 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
13520 instead of cgraph_node.
13521
135222011-04-08 Eric Botcazou <ebotcazou@adacore.com>
13523
13524 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
13525 alignment on fields of the RETURN type built for the Copy-In Copy-Out
13526 mechanism.
13527
135282011-04-08 Eric Botcazou <ebotcazou@adacore.com>
13529
13530 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
13531 of aggregate types that contain a placeholder.
13532
135332011-04-08 Nathan Froyd <froydnj@codesourcery.com>
13534
13535 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
13536 TYPE_ARG_TYPES.
13537 (handle_type_generic_attribute): Likewise.
13538
135392011-04-04 Eric Botcazou <ebotcazou@adacore.com>
13540
13541 PR ada/47163
13542 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
13543
135442011-04-04 Kai Tietz <ktietz@redhat.com>
13545
13546 PR ada/47163
13547 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
13548 to flag value.
13549
135502011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13551
13552 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
13553 type case, do not strip a padding type around the array type.
13554
135552011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13556
13557 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
13558 types.
13559
135602011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13561
13562 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
13563 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
13564 code for -feliminate-unused-debug-types.
13565 (gnat_post_options): Likewise.
13566
135672011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13568
13569 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
13570 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
13571 distinct copy.
13572
135732011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13574
13575 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
13576 DECL_ARTIFICIAL flag on enumeration types.
13577
135782011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13579
13580 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
13581 fat pointer types artificial unconditionally.
13582 <E_Array_Subtype>: Attach the base array type as a parallel type if it
13583 isn't artificial.
13584
135852011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13586
13587 * gcc-interface/gigi.h (get_dummy_type): Declare.
13588 (build_dummy_unc_pointer_types): Likewise.
13589 (finish_fat_pointer_type): Likewise.
13590 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
13591 fat pointer type has been built, complete it in place.
13592 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
13593 and thin pointers. Remove useless variable.
13594 (finish_fat_pointer_type): Make global and move to...
13595 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
13596 (get_dummy_type): New function.
13597 (build_dummy_unc_pointer_types): Likewise.
13598 (gnat_pushdecl): Propage the name to the anonymous variants only.
13599 (update_pointer_to): Only adjust the pointer types in the unconstrained
13600 array case.
13601
136022011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13603
13604 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
13605 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
13606 if this is a Taft amendment type and the full declaration is available.
13607 * gcc-interface/trans.c (process_type): Likewise.
13608 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
13609 (process_freeze_entity): Likewise.
13610 * gcc-interface/utils.c (dummy_global): New static variable.
13611 (gnat_write_global_declarations): If there are types declared as used
13612 at the global level, insert them in the global hash table.
13613
136142011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13615
13616 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
13617 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
13618 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
13619 copy.
13620 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
13621 flag of the type accordingly.
13622 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
13623
136242011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13625
13626 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
13627 finalizing types when updating the pointers to the designated type.
13628 <all>: Finalize the deferred types even if we didn't defer processing
13629 of incomplete types in this invocation.
13630
136312011-04-01 Olivier Hainque <hainque@adacore.com>
2c7f9cc0
AS
13632 Nicolas Setton <setton@adacore.com>
13633 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
13634
13635 * gcc-interface/misc.c (gnat_descriptive_type): New function.
13636 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
13637
136382011-03-28 Kai Tietz <ktietz@redhat.com>
13639
13640 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
13641 Windows targets.
13642 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
13643 * system-mingw.ads (System): Change ZCX_By_Default default to True.
13644
13645 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
13646
136472011-03-28 Tristan Gingold <gingold@adacore.com>
13648
13649 PR ada/44431
13650 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
13651 Use ada output of gnatbind.
13652 (ada/b_gnatb.adb): Ditto.
13653 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
13654 (ada.mostlyclean, ada.stage1)
13655 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
13656 (ada.stagefeedback): Adjust.
13657 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
13658 Use ada output of gnatbind.
13659 (b_gnatm.adb): Ditto.
13660 (b_gnatl.o, b_gnatm.o): New rules.
13661
136622011-03-26 Eric Botcazou <ebotcazou@adacore.com>
13663
13664 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
13665 for the padded type built to support a specified size or alignment.
13666
136672011-03-26 Eric Botcazou <ebotcazou@adacore.com>
13668
13669 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
13670 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
13671 unconditionally to the end of the unit when the designated type is
13672 limited_with'ed.
13673 <all>: Rename local variable. Attempt to un-defer types only and do it
13674 for limited_with'ed types as well.
13675 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
13676 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
13677 consistently and remove redundant call to finalize_from_with_types.
13678
136792011-03-26 Eric Botcazou <ebotcazou@adacore.com>
13680
13681 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
13682 subprograms without a previous spec declared in the same unit.
13683 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
13684 subprograms at the end of the unit instead of at the beginning.
13685 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
13686 isn't public for the special handling of non-inline functions nested
13687 inside inline external functions.
13688
136892011-03-25 Jeff Law <law@redhat.com>
13690
13691 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
13692
136932011-03-24 Eric Botcazou <ebotcazou@adacore.com>
13694
13695 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
13696 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
13697 to compute Set_Size_Depends_On_Discriminant.
13698 (Layout_Type): Call it on array types in back-end layout mode.
13699 * sem_util.adb (Requires_Transient_Scope): Return true for array
13700 types only if the size depends on the value of discriminants.
13701 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
13702 type if the RHS is a call to a function that returns an unconstrained
13703 type with default discriminant.
13704
137052011-03-24 Eric Botcazou <ebotcazou@adacore.com>
13706
13707 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
13708 non-conversion to the nominal result type at the end.
13709
137102011-03-23 Eric Botcazou <ebotcazou@adacore.com>
13711
13712 * gcc-interface/trans.c (create_temporary): New function taken from...
13713 (create_init_temporary): ...here. Call it.
13714 (call_to_gnu): Create the temporary for the return value early, if any.
13715 Create it for a function with copy-in/copy-out parameters if there is
13716 no target; in other cases of copy-in/copy-out, use another temporary.
13717 Push the new binding level lazily. Add and rename local variables.
13718
137192011-03-23 Eric Botcazou <ebotcazou@adacore.com>
13720
13721 * gcc-interface/decl.c (validate_size): Improve comments and tweak
13722 error message.
13723 (set_rm_size): Likewise.
13724
137252011-03-23 Eric Botcazou <ebotcazou@adacore.com>
13726
13727 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
13728 for the padded type built in order to support a specified alignment.
13729 Fix incorrect formatting.
13730
137312011-03-21 Eric Botcazou <ebotcazou@adacore.com>
13732
13733 PR bootstrap/48216
13734 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
13735
137362011-03-21 Eric Botcazou <ebotcazou@adacore.com>
13737
13738 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
13739 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
13740 to the end of the list. Adjust recursive call. Rename local variable.
13741 If REORDER is true, reorder components of the record type.
13742 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
13743 components_to_record and adjust the parameter list.
13744
137452011-03-21 Eric Botcazou <ebotcazou@adacore.com>
13746
13747 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
13748 disabled, use the variable for bounds of loop iteration scheme.
13749
137502011-03-21 Kai Tietz <ktietz@redhat.com>
13751
13752 PR target/12171
13753 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
13754
137552011-03-17 Eric Botcazou <ebotcazou@adacore.com>
13756
13757 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
13758 out whether the expression is read-only. Short-circuit placeholder
13759 case and rename a couple of local variables.
13760
137612011-03-17 Eric Botcazou <ebotcazou@adacore.com>
13762
13763 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
13764 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
13765 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
13766 (convert): Deal with conversions from a smaller form type specially.
13767
137682011-02-14 Eric Botcazou <ebotcazou@adacore.com>
13769
13770 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
13771 its argument, except for the special -I- switch.
13772
137732011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
13774
13775 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
13776 "Ada Issues".
13777
137782011-02-08 Eric Botcazou <ebotcazou@adacore.com>
13779
13780 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
13781
137822011-02-03 Eric Botcazou <ebotcazou@adacore.com>
13783
13784 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
13785 GNAT_FORMAL.
13786 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
13787 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
13788 instead of GNAT_FORMAL. Protect the expression against multiple uses.
13789 Do not generate the check directly, instead instantiate the template
13790 check present in the descriptor.
13791 (make_descriptor_field): Move around.
13792 (build_vms_descriptor32): Build a template check in the POINTER field.
13793 (build_vms_descriptor): Remove useless suffixes.
13794 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
13795
137962011-01-26 Eric Botcazou <ebotcazou@adacore.com>
13797
13798 PR bootstrap/47467
13799 * targext.c: Include target files if IN_RTS is defined.
13800
138012011-01-26 Richard Guenther <rguenther@suse.de>
13802
13803 PR bootstrap/47467
13804 * targext.c: Include config.h.
13805 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
13806 dependency.
13807
138082011-01-04 Pascal Obry <obry@adacore.com>
2c7f9cc0 13809 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
13810
13811 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
13812
138132011-01-04 Eric Botcazou <ebotcazou@adacore.com>
13814
13815 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
13816 end-of-case on the end label and its associated gotos, if any.
13817
138182011-01-04 Eric Botcazou <ebotcazou@adacore.com>
13819
13820 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
13821 expressions of the parameter cache within the statement group of
13822 the CICO mechanism.
13823
138242011-01-04 Olivier Hainque <hainque@adacore.com>
2c7f9cc0 13825 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
13826
13827 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
13828 (set_end_locus_from_node): New function.
13829 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
13830 make and the function end_locus.
13831 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
13832 for the elaboration subprogram.
13833 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
13834 set the end_locus of the expression as well.
13835
138362011-01-04 Eric Botcazou <ebotcazou@adacore.com>
13837
13838 PR ada/47131
13839 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
13840 variables that are referenced in exception handlers volatile.
13841
13842
13843\f
13844Copyright (C) 2011 Free Software Foundation, Inc.
13845
13846Copying and distribution of this file, with or without modification,
13847are permitted in any medium without royalty provided the copyright
13848notice and this notice are preserved.
13849
13850 * gnat_rm.texi: Ramification of pragma Eliminate documentation
13851 - fix bugs in the description of Source_Trace;
13852 - get rid of UNIT_NAME;
13853
4fbad0ba
AC
138542011-08-02 Javier Miranda <miranda@adacore.com>
13855
13856 * exp_ch9.adb
13857 (Build_Dispatching_Requeue): Adding support for VM targets
13858 since we cannot directly reference the Tag entity.
13859 * exp_sel.adb (Build_K): Adding support for VM targets.
13860 (Build_S_Assignment): Adding support for VM targets.
13861 * exp_disp.adb
13862 (Default_Prim_Op_Position): In VM targets do not restrict availability
13863 of predefined interface primitives to compiling in Ada 2005 mode.
13864 (Is_Predefined_Interface_Primitive): In VM targets this service is not
13865 restricted to compiling in Ada 2005 mode.
13866 (Make_VM_TSD): Generate code that declares and initializes the OSD
13867 record. Needed to support dispatching calls through synchronized
13868 interfaces.
13869 * exp_ch3.adb
13870 (Make_Predefined_Primitive_Specs): Enable generation of predefined
13871 primitives associated with synchronized interfaces.
13872 (Make_Predefined_Primitive_Bodies): Enable generation of predefined
13873 primitives associated with synchronized interfaces.
13874
138752011-08-02 Yannick Moy <moy@adacore.com>
13876
13877 * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
13878 statements hidden in SPARK if preceded by the HIDE directive
13879 (Parse_Exception_Handlers): mark each exception handler in a sequence of
13880 exception handlers as hidden in SPARK if preceded by the HIDE directive
13881 * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
13882 if starting with the HIDE directive
13883 * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
13884 starting with the HIDE directive; mark the declarations in a private
13885 part as hidden in SPARK if the private part starts with the HIDE
13886 directive
13887 * restrict.adb, restrict.ads
13888 (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
13889 (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
13890 argument node belongs to a part which is hidden in SPARK
13891 (Check_SPARK_Restriction): do not issue violations on nodes in hidden
13892 parts in SPARK; protect the possibly costly call to
13893 Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
13894 * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
13895 * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
13896 Accumulate_Token_Checksum_GNAT_5_03): add case for new token
13897 Tok_SPARK_Hide.
13898 (Scan): recognize special comment starting with '#' and followed by
13899 SPARK keyword "hide" as a HIDE directive.
13900
139012011-08-02 Yannick Moy <moy@adacore.com>
13902
13903 * types.ads, erroutc.ads: Minor reformatting.
13904
139052011-08-02 Vincent Celier <celier@adacore.com>
13906
13907 * link.c: Add response file support for cross platforms.
13908
6ff6152d
ES
139092011-08-02 Ed Schonberg <schonberg@adacore.com>
13910
13911 * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
13912 in an association, set parent field of copy before partial analysis.
13913 * sem_res.adb (Resolve_Slice): create reference to itype only when
13914 expansion is enabled.
13915
975c6896
YM
139162011-08-02 Yannick Moy <moy@adacore.com>
13917
13918 * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
13919 for new flag denoting which subprogram bodies are in ALFA
13920 * restrict.adb, sem_ch7.adb: Update comment
13921 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
13922 sem_ch9.adb, sem_res.adb: Add calls to
13923 Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
13924 * sem_ch6.adb (Analyze_Function_Return): add calls to
13925 Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
13926 middle of the body, and extended return.
13927 (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
13928 False when missing return.
13929 (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
13930 to True for subprograms whose spec is in ALFA. Remove later on the flag
13931 on the entity used for a subprogram body when there exists a separate
13932 declaration.
13933 * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
13934 if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
13935 False, otherwise do nothing.
13936
afc8324d
AC
139372011-08-02 Robert Dewar <dewar@adacore.com>
13938
13939 * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
13940
139412011-08-02 Yannick Moy <moy@adacore.com>
13942
13943 * sem_ch4.ads: minor formatting.
13944
2ba431e5
YM
139452011-08-02 Yannick Moy <moy@adacore.com>
13946
13947 * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
13948 debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
13949 errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
13950 restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
13951 opt.ads: cleanup of SPARK mode
13952
0f853035
YM
139532011-08-02 Yannick Moy <moy@adacore.com>
13954
13955 * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
13956 types.
13957 * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
13958 (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
13959 * sem_ch3.adb
13960 (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
13961 (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
13962 (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
13963 (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
13964 types.
13965 (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
13966 non-static range.
13967 * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
13968 functions whose return type is not in ALFA.
13969 (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
13970 specifications.
13971 (Process_Formals): unset Is_In_ALFA flag for subprograms if a
13972 parameter's type is not in ALFA.
13973 * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
13974 types are in ALFA.
13975
d2b10647
ES
139762011-08-02 Ed Schonberg <schonberg@adacore.com>
13977
13978 * sem_ch6 (Analyze_Expression_Function): treat the function as
13979 Inline_Always, and introduce a subprogram declaration for it when it is
13980 not a completion.
13981 * inline.adb (Add_Inlined_Body): recognize bodies that come from
13982 expression functions, so that the back-end can determine whether they
13983 can in fact be inlined.
13984 * sem_util.adb (Is_Expression_Function): predicate to determine whether
13985 a function body comes from an expression function.
13986
c7b9d548
AC
139872011-08-02 Gary Dismukes <dismukes@adacore.com>
13988
13989 * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
13990 null exclusions to test Can_Never_Be_Null on the anonymous access types
13991 of the formals rather than testing the formals themselves. Exclude this
13992 check in cases where the Old_Formal is marked as a controlling formal,
13993 to avoid issuing spurious errors for bodies completing dispatching
13994 operations (due to the flag not getting set on controlling access
13995 formals in body specs).
13996 (Find_Corresponding_Spec): When checking full and subtype conformance of
13997 subprogram bodies in instances, pass Designated and E in that order, for
13998 consistency with the expected order of the formals (New_Id followed by
13999 Old_Id).
14000
140012011-08-02 Robert Dewar <dewar@adacore.com>
14002
14003 * sem_ch8.adb: Minor reformatting.
14004
1138cf59
AC
140052011-08-02 Ed Schonberg <schonberg@adacore.com>
14006
14007 * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
14008 Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
14009 primitive operations of class-wide actuals.
14010
140112011-08-02 Javier Miranda <miranda@adacore.com>
14012
14013 * exp_atag.ads, exp_atag.adb
14014 (Build_Common_Dispatching_Select_Statements): Remove argument Loc
14015 since its value is implicitly passed in argument Typ.
14016 * exp_disp.adb (Make_Disp_Conditional_Select_Body,
14017 Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
14018 Build_Common_Dispatching_Select_Statements.
14019
7b9db926
RD
140202011-08-02 Robert Dewar <dewar@adacore.com>
14021
14022 * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
14023 exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
14024 Minor reformatting.
14025
e8374e7a
AC
140262011-08-02 Robert Dewar <dewar@adacore.com>
14027
14028 * sem_res.adb: Minor reformatting.
14029 * sem_prag.adb: Minor reformatting.
14030
140312011-08-02 Javier Miranda <miranda@adacore.com>
14032
14033 * exp_atag.adb, exp_atags.ads
14034 (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
14035 by the tagged type Entity. Required to use this routine in the VM
14036 targets since we do not have available the Tag entity in the VM
14037 platforms.
14038 * exp_ch6.adb
14039 (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
14040 Ada.Tags has not been previously loaded.
14041 * exp_ch7.adb
14042 (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
14043 Build_VM_TSDs if package Ada.Tags has not been previously loaded.
14044 * sem_aux.adb
14045 (Enclosing_Dynamic_Scope): Add missing support to handle the full
14046 view of enclosing scopes. Required to handle enclosing scopes that
14047 are synchronized types whose full view is a task type.
14048 * exp_disp.adb
14049 (Build_VM_TSDs): Minor code improvement to avoid generating and
14050 analyzing lists with empty nodes.
14051 (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
14052 (Make_Disp_Conditional_Select_Body): Add support for VM targets.
14053 (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
14054 (Make_Disp_Timed_Select_Body): Add support for VM targets.
14055 (Make_Select_Specific_Data_Table): Add support for VM targets.
14056 (Make_VM_TSD): Generate code to initialize the SSD structure of
14057 the TSD.
14058
140592011-08-02 Yannick Moy <moy@adacore.com>
14060
14061 * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
14062 cross-references section in ALI.
14063 * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
14064 (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
14065 Sub).
14066 (Enclosing_Subprogram_Or_Package): new function to return the enclosing
14067 subprogram or package entity of a node
14068 (Is_Local_Reference_Type): new function returns True for references
14069 selected in local cross-references.
14070 (Lt): function extracted from Lt in Output_References
14071 (Write_Entity_Name): function extracted from Output_References
14072 (Generate_Definition): generate reference with type 'D' for definition
14073 of objects (object declaration and parameter specification), with
14074 appropriate locations and units, for use in local cross-references.
14075 (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
14076 references of type 'I' for initialization in object definition.
14077 (Output_References): move part of function Lt and procedure
14078 Write_Entity_Name outside of the body. Ignore references of types 'D'
14079 and 'I' introduced for local cross-references.
14080 (Output_Local_References): new procedure to output the local
14081 cross-references sections.
14082 (Lref_Entity_Status): new array defining whether an entity is a local
14083 * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
14084 with 'I' type when initialization expression is present.
14085 * get_scos.adb, get_scos.ads: Correct comments and typos
14086
1f6439e3
AC
140872011-08-02 Javier Miranda <miranda@adacore.com>
14088
14089 * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
14090 the JVM target.
14091 * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
14092 the JVM target.
14093 * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
14094 TSD support.
14095
140962011-08-02 Vincent Celier <celier@adacore.com>
14097
14098 * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
14099 (No_Space_Img): New function
14100 (Find_Excluded_Sources): When reading from a file, record the file name
14101 and the line number for each excluded source.
14102 (Mark_Excluded_Sources): When reporting an error, if the excluded
14103 sources were read from a file, include file name and line number in
14104 the error message.
14105
141062011-08-02 Ed Schonberg <schonberg@adacore.com>
14107
14108 * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
14109
ab027d28
RD
141102011-08-02 Robert Dewar <dewar@adacore.com>
14111
14112 * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
14113
b3b28b0c
JM
141142011-08-02 Javier Miranda <miranda@adacore.com>
14115
14116 * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
14117 generation of TSDs to the DOTNET compiler.
14118 * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
14119 generation of TSDs to the DOTNET compiler.
14120
9732e886
JM
141212011-08-02 Javier Miranda <miranda@adacore.com>
14122
14123 * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
14124 record of all the tagged types declared inside library level package
14125 declarations, library level package bodies or library level subprograms.
14126 * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
14127 associated with a given tagged type.
14128 (Build_VM_TSDs): New subprogram.
14129 * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
14130 compilation units that are subprograms.
14131 * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
14132 compilation units that are package bodies.
14133 (Expand_N_Package_Declaration): Generate TSDs of the main compilation
14134 units that are a package declaration or a package instantiation.
14135 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
14136 reorganization to improve the error generated by the frontend when the
14137 function Ada.Tags.Secondary_Tag is not available.
14138 * rtsfind.ads (RE_Register_TSD): New runtime entity.
14139 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
14140
e526d0c7
AC
141412011-08-02 Javier Miranda <miranda@adacore.com>
14142
14143 * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
14144
141452011-08-02 Robert Dewar <dewar@adacore.com>
14146
14147 * s-imenne.ads: Minor reformatting.
14148
141492011-08-02 Robert Dewar <dewar@adacore.com>
14150
14151 * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
14152 * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
14153 * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
14154
141552011-08-02 Robert Dewar <dewar@adacore.com>
14156
14157 * einfo.ads (Materialize_Entity): Document this is only for renamings
14158 * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
14159 required debug information in the case where we transform the object
14160 declaration into a renaming declaration.
14161 * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
14162 object
14163 * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
14164 Materialize_Entity.
14165
5b1e6aca
RD
141662011-08-02 Robert Dewar <dewar@adacore.com>
14167
14168 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
14169 Suppress_Init_Procs.
14170 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
14171 Suppress_Initialization/Initialization_Suppressed.
14172 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
14173 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
14174 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
14175 * sem_prag.adb: New processing for pragma Suppress_Initialization.
14176
5ad4969d
RD
141772011-08-02 Robert Dewar <dewar@adacore.com>
14178
14179 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
14180 Minor reformatting.
14181
8c4ee6f5
AC
141822011-08-02 Ed Schonberg <schonberg@adacore.com>
14183
14184 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
14185 only have inheritable classwide pre/postconditions.
14186
141872011-08-02 Javier Miranda <miranda@adacore.com>
14188
14189 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
14190 * rtsfind.ads (RE_Check_TSD): New runtime entity.
14191 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
14192 checks if the external tag of a type is the same as the external tag
14193 of some other declaration.
14194
0b3d16c0
AC
141952011-08-02 Thomas Quinot <quinot@adacore.com>
14196
14197 * s-taskin.ads: Minor reformatting.
14198
141992011-08-02 Emmanuel Briot <briot@adacore.com>
14200
14201 * g-comlin.adb (Display_Help): swap the order in which it prints the
14202 short help and the general usage.
14203
142042011-08-02 Ed Schonberg <schonberg@adacore.com>
14205
14206 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
14207 the aspect declarations and attach them to the generic copy for
14208 subsequent analysis.
14209 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
14210 declarations of the generic tree to the new subprogram declarations.
14211 * sem_attr.adb (Check_Precondition_Postcondition): recognize
14212 conditions that apply to a subprogram instance.
14213
142142011-08-02 Robert Dewar <dewar@adacore.com>
14215
14216 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
14217
142182011-08-02 Ed Schonberg <schonberg@adacore.com>
14219
14220 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
14221 private type with a tagged full view is not derived in the immediate
14222 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
14223
4637729f
AC
142242011-08-02 Robert Dewar <dewar@adacore.com>
14225
14226 * exp_ch4.adb: Minor reformatting.
14227
142282011-08-02 Ed Schonberg <schonberg@adacore.com>
14229
14230 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
14231 Ada2012 iterator, the loop will be rewritten during expansion into a
14232 while loop with a cursor and an element declaration. Do not analyze the
14233 body in this case, because if the container is for indefinite types the
14234 actual subtype of the elements will only be determined when the cursor
14235 declaration is analyzed.
14236
142372011-08-02 Arnaud Charlet <charlet@adacore.com>
14238
14239 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
14240 size/alignment related attributes in CodePeer_Mode.
14241
142422011-08-02 Gary Dismukes <dismukes@adacore.com>
14243
14244 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
14245 Prepend_Element, since this can result in the operation getting the
14246 wrong slot in the full type's dispatch table if the full type has
14247 inherited operations. The incomplete type's operation will get added
14248 to the proper position in the full type's primitives
14249 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
14250 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
14251 dispatching operations, since there are cases where nonprimitive
14252 subprograms can get added to the list of incomplete dependents (such
14253 as subprograms in nested packages).
14254 * sem_ch6.adb (Process_Formals): First, remove test for being in a
14255 private part when determining whether to add a primitive with a
14256 parameter of a tagged incomplete type to the Private_Dependents list.
14257 Such primitives can also occur in the visible part, and should not have
14258 been excluded from being private dependents.
14259 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
14260 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
14261 list of a Taft-amendment incomplete type is a primitive before issuing
14262 an error that the full type must appear in the same unit. There are
14263 cases where nonprimitives can be in the list (such as subprograms in
14264 nested packages).
14265 * sem_disp.adb (Derives_From): Use correct condition for checking that
14266 a formal's type is derived from the type of the corresponding formal in
14267 the parent subprogram (the condition was completely wrong). Add
14268 checking that was missing for controlling result types being derived
14269 from the result type of the parent operation.
14270
4c60de0c
YM
142712011-08-02 Yannick Moy <moy@adacore.com>
14272
14273 * errout.adb (First_Node): minor renaming
14274 * restrict.adb (Check_Formal_Restriction): put restriction warning on
14275 first node.
14276
f5afb270
AC
142772011-08-02 Yannick Moy <moy@adacore.com>
14278
14279 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
14280 before accessing operands.
14281 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
14282 decide whether an initialization expression respects SPARK rules, as
14283 the plain node is the expanded one. This allows for more valid warnings
14284 to be issued.
14285 * gnat_rm.texi: Minor update.
14286
142872011-08-02 Arnaud Charlet <charlet@adacore.com>
14288
14289 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
14290 previous change.
14291
142922011-08-02 Robert Dewar <dewar@adacore.com>
14293
14294 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
14295
142962011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
14297
14298 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
14299 loop statements and the element renaming declaration with a block when
14300 the element type is controlled.
14301
143022011-08-02 Yannick Moy <moy@adacore.com>
14303
14304 * sinfo.ads: Minor formatting.
14305
143062011-08-02 Ed Schonberg <schonberg@adacore.com>
14307
14308 * sem_aggr.adb (Add_Association): if the association has a box and no
14309 expression, use the Sloc of the aggregate itself for the new
14310 association.
14311 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
14312 the Original_Node.
14313
db72f10a
AC
143142011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
14315
14316 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
14317 When a container is provided via a function call, generate a renaming
14318 of the function result. This avoids the creation of a transient scope
14319 and the premature finalization of the container.
14320 * exp_ch7.adb (Is_Container_Cursor): Removed.
14321 (Wrap_Transient_Declaration): Remove the supression of the finalization
14322 of the list controller when the declaration denotes a container cursor,
14323 it is not needed.
14324
143252011-08-02 Yannick Moy <moy@adacore.com>
14326
14327 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
14328 node is from source, instead of the original node being from source.
14329 * sem_aggr.adb
14330 (Resolve_Array_Aggregate): refine the check for a static expression, to
14331 recognize also static ranges
14332 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
14333 Array_Type_Declaration): postpone the test for the type being a subtype
14334 mark after the type has been resolved, so that component-selection and
14335 expanded-name are discriminated.
14336 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
14337 to distinguish the case of an iteration scheme, so that an error is
14338 issed on a non-static range in SPARK except in an iteration scheme.
14339 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
14340 In_Iter_Schm = True.
14341 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
14342 user-defined operators so that they are allowed in renaming
14343 * sem_ch8.adb
14344 (Find_Selected_Component): refine the check for prefixing of operators
14345 so that they are allowed in renaming. Move the checks for restrictions
14346 on selector name after analysis discriminated between
14347 component-selection and expanded-name.
14348 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
14349 concatenation argument of string type if it is static.
14350 * sem_util.adb, sem_util.ads
14351 (Check_Later_Vs_Basic_Declarations): add a new function
14352 Is_Later_Declarative_Item to decice which declarations are allowed as
14353 later items, in the two different modes Ada 83 and SPARK. In the SPARK
14354 mode, add that renamings are considered as later items.
14355 (Enclosing_Package): new function to return the enclosing package
14356 (Enter_Name): correct the rule for homonyms in SPARK
14357 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
14358 from source (result of expansion) to avoid issuing wrong warnings.
14359
143602011-08-02 Ed Schonberg <schonberg@adacore.com>
14361
14362 * errout.adb: On anything but an expression First_Node returns its
14363 argument.
14364
23685ae6
AC
143652011-08-02 Pascal Obry <obry@adacore.com>
14366
14367 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
14368
143692011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
14370
14371 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
14372 Set the associated loop as the related expression of internally
14373 generated cursors.
14374 * exp_ch7.adb (Is_Container_Cursor): New routine.
14375 (Wrap_Transient_Declaration): Supress the finalization of the list
14376 controller when the declaration denotes a container cursor.
14377
143782011-08-02 Yannick Moy <moy@adacore.com>
14379
14380 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
14381 command line now.
14382 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
14383 expression is a simple expression. This check cannot be performed in
14384 the semantics, so just drop it.
14385 (P_Index_Or_Discriminant_Constraint): move check that the index or
14386 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
14387 semantics. Other cases were previously checked in the semantics.
14388 * par-ch4.adb (P_Name): move checks that a selector name is not
14389 character literal or an operator symbol to Find_Selected_Component in
14390 the semantics
14391 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
14392 declarations are not placed after later declarations in a separate
14393 procedure in Sem_Util (possibly not the best choice?), to be used both
14394 during parsing, for Ada 83 mode, and during semantic analysis, for
14395 SPARK mode.
14396 * par-endh.adb (Check_End): move check that end label is not missing
14397 to Process_End_Label in the semantics
14398 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
14399 the special case for SPARK restriction
14400 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
14401 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
14402 parameter Force to issue the error message even on internal node (used
14403 for generated end label). Call Check_Restriction to check when an error
14404 must be issued. In SPARK mode, issue an error message even if the
14405 restriction is not set.
14406 (Check_Restriction): new procedure with an additional out parameter to
14407 inform the caller that a message has been issued
14408 * sem_aggr.adb: Minor modification of message
14409 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
14410 instead of issuing an error message directly
14411 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
14412 declarations are not placed after later declarations, by calling
14413 Check_Later_Vs_Basic_Declarations
14414 (Analyze_Subtype_Declaration): move here the check that an index or
14415 discriminant constraint must be a subtype mark. Change the check that
14416 a subtype of String must start at one so that it works on subtype marks.
14417 * sem_ch4.adb (Analyze_Call): move here the check that a named
14418 association cannot follow a positional one in a call
14419 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
14420 instead of issuing an error message directly
14421 * sem_ch8.adb (Find_Selected_Component): move here the check that a
14422 selector name is not a character literal or an operator symbol. Move
14423 here the check that the prefix of an expanded name cannot be a
14424 subprogram or a loop statement.
14425 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
14426 procedure called from parsing and semantics to check that basic
14427 declarations are not placed after later declarations
14428 (Process_End_Label): move here the check that end label is not missing
14429
144302011-08-02 Arnaud Charlet <charlet@adacore.com>
14431
14432 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
14433 representation clause in codepeer mode, since it confuses CodePeer and
14434 does not bring useful info.
14435
144362011-08-02 Ed Falis <falis@adacore.com>
14437
14438 * init.c: initialize fp hw on MILS.
14439
144402011-08-02 Ed Schonberg <schonberg@adacore.com>
14441
14442 * errout.adb (First_Node): for bodies, return the node itself (small
14443 optimization). For other nodes, do not check source_unit if the node
14444 comes from Standard.
14445
d2d9cc22
AC
144462011-08-02 Robert Dewar <dewar@adacore.com>
14447
14448 * exp_ch3.adb: Minor comment additions.
14449 * sem_ch13.adb: Minor reformatting.
14450
144512011-08-02 Pascal Obry <obry@adacore.com>
14452
14453 * make.adb, makeutl.adb: Removes some superfluous directory separator.
14454
a01b9df6
AC
144552011-08-02 Robert Dewar <dewar@adacore.com>
14456
14457 * sem_attr.adb: Minor reformatting.
14458
144592011-08-02 Robert Dewar <dewar@adacore.com>
14460
14461 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
14462 (Has_Default_Component_Value): Removed
14463 * einfo.ads Comment updates
14464 (Has_Default_Aspect): Replaces Has_Default_Value
14465 (Has_Default_Component_Value): Removed
14466 * exp_ch13.adb
14467 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
14468 * exp_ch3.adb
14469 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
14470 (Get_Simple_Init_Val): Handle Default_Value aspect
14471 (Needs_Simple_Initialization): Handle Default_Value aspect
14472 * exp_ch3.ads: Needs_Simple_Initialization
14473 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
14474 * par-prag.adb (Pragma_Default[_Component]Value) Removed
14475 * sem_ch13.adb
14476 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
14477 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
14478 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
14479
144802011-08-02 Ed Schonberg <schonberg@adacore.com>
14481
14482 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
14483 package containing iteration primitives.
14484 exp_ch5.adb (Expand_Iterator_Loop): ditto.
14485
75c90775
AC
144862011-08-02 Ed Schonberg <schonberg@adacore.com>
14487
14488 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
14489 "of", pre-analyze expression in case it is a function call with
14490 finalization actions that must be placed ahead of the loop.
14491 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
14492 on an Ada2012 iterator, insert them ahead of the rewritten loop.
14493
144942011-08-02 Geert Bosch <bosch@adacore.com>
14495
14496 * cstand.adb (Create_Float_Types): Only consider C's long double for
14497 Long_Long_Float, in addition to double.
14498
ded8909b
AC
144992011-08-02 Robert Dewar <dewar@adacore.com>
14500
14501 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
14502 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
14503 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
14504 Minor reformatting.
14505
145062011-08-02 Ed Schonberg <schonberg@adacore.com>
14507
14508 * sem_attr.adb: handle properly 'Result when it is a prefix of an
14509 indexed component.
14510
145112011-08-02 Javier Miranda <miranda@adacore.com>
14512
14513 * einfo.ads, einfo.adb
14514 (Original_Access_Type): Move this attribute to Node26 since there was
14515 an undocumented use of Node21 in E_Access_Subprogram_Type entities
14516 which causes conflicts and breaks the generation of the .NET compiler.
14517 (Interface_Name): Add missing documentation on JGNAT only uses of
14518 this attribute.
14519
70c34e1c
AC
145202011-08-02 Geert Bosch <bosch@adacore.com>
14521
14522 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
14523 (Find_Back_End_Float_Type): Likewise
14524 (Create_Back_End_Float_Types): Likewise
14525 (Create_Float_Types): Likewise
14526 (Register_Float_Type): Likewise
14527 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
14528 Nlist and split out type selection in new local Find_Base_Type function.
14529 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
14530 Nlist
14531 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
14532
145332011-08-02 Robert Dewar <dewar@adacore.com>
14534
14535 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
14536 alpha order).
14537 * opt.ads: Minor comment change.
14538 * sem_ch12.adb: Minor code reorganization.
14539
b715bc59
AC
145402011-08-02 Gary Dismukes <dismukes@adacore.com>
14541
14542 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
14543 subtype's list of rep items to the list on the full subtype in the case
14544 where the lists are the same.
14545
145462011-08-02 Geert Bosch <bosch@adacore.com>
14547
14548 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
14549 using the one from System.Strings, which also deallocates all strings.
14550
002bdd68
AC
145512011-08-02 Geert Bosch <bosch@adacore.com>
14552
14553 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
14554 function.
14555 * gcc-interface/Make-lang.in: Update dependencies.
14556
145572011-08-02 Olivier Hainque <hainque@adacore.com>
14558
14559 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
14560 end_locus.
14561
499769ec
AC
145622011-08-02 Javier Miranda <miranda@adacore.com>
14563
14564 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
14565 associated with anonymous access to subprograms.
14566
145672011-08-02 Geert Bosch <bosch@adacore.com>
14568
14569 * opt.ads
14570 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
14571 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
14572 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
14573 (Add_Symbol_Definition): Move to switch-c.adb
14574 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
14575 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
14576 (Add_Symbol_Definition): Move to switch-c.adb.
14577 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
14578 * sem_warn.adb
14579 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
14580 Move to warnsw.adb.
14581 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
14582 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
14583 Move to warnsw.adb.
14584 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
14585 (Add_Symbol_Definition): Moved from Prepcomp.
14586 * switch-c.ads: Update copyright notice. Use String_List instead of
14587 Argument_List, removing dependency on System.OS_Lib.
14588
aa1e353a
AC
145892011-08-02 Yannick Moy <moy@adacore.com>
14590
14591 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
14592 mode on initialization expression which does not respect SPARK
14593 restrictions.
14594 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
14595 if the tree referenced by its argument represents an initialization
14596 expression in SPARK, suitable for initializing an object in an object
14597 declaration.
14598
145992011-08-02 Javier Miranda <miranda@adacore.com>
14600
14601 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
14602 internally generated access to subprogram with its associated protected
14603 subprogram type.
14604 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
14605
15b682ca
GB
146062011-08-02 Geert Bosch <bosch@adacore.com>
14607
14608 * cstand.adb (Register_Float_Type): Print information about type to
14609 register, if the Debug_Flag_Dot_B is set.
14610 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
14611 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
14612 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
14613 with a requested precision of more than Max_Digits digits and no more
14614 than Max_Base_Digits digits, if a range specification is present and the
14615 Predefined_Float_Types list has a suitable type to derive from.
14616 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
14617 case of type completion with pragma Import
14618 * sem_prag.adb
14619 (Process_Import_Predefined_Type): Processing to complete a type
14620 with pragma Import. Currently supports floating point types only.
14621 (Set_Convention_From_Pragma): Do nothing without underlying type.
14622 (Process_Convention): Guard against absence of underlying type,
14623 which may happen when importing incomplete types.
14624 (Process_Import_Or_Interface): Handle case of importing predefined
14625 types. Tweak error message.
14626
f8726f2b
AC
146272011-08-02 Eric Botcazou <ebotcazou@adacore.com>
14628
14629 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
14630 functions to previous change. Reorganize code slightly.
14631
146322011-08-02 Geert Bosch <bosch@adacore.com>
14633
14634 * back_end.ads (Register_Type_Proc): New call back procedure type for
14635 allowing the back end to provide information about available types.
14636 (Register_Back_End_Types): New procedure to register back end types.
14637 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
14638 available types.
14639 * cstand.adb (Back_End_Float_Types): New list for floating point types
14640 supported by the back end.
14641 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
14642 (Copy_Float_Type): New procedure to make new copies of predefined types.
14643 (Register_Float_Type): New call back procedure to populate the BEFT list
14644 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
14645 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
14646 (Create_Float_Types): New procedure to create entities for floating
14647 point types predefined in Standard, and put these and any remaining
14648 BEFTs on the Predefined_Float_Types list.
14649 * stand.ads (Predefined_Float_Types): New list for predefined floating
14650 point types that do not have declarations in package Standard.
14651
feecad68
AC
146522011-08-02 Eric Botcazou <ebotcazou@adacore.com>
14653
14654 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
14655 entity node for the unit containing the parameter.
14656 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
14657 (Add_Inlined_Subprogram): Likewise.
14658 * gcc-interface/Make-lang.in: Update dependencies.
14659
146602011-08-02 Thomas Quinot <quinot@adacore.com>
14661
14662 * s-stusta.adb (Print): Make sure Pos is always initialized to a
14663 suitable value.
14664
12f0c50c
AC
146652011-08-02 Geert Bosch <bosch@adacore.com>
14666
14667 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
14668
146692011-08-02 Eric Botcazou <ebotcazou@adacore.com>
14670
14671 * sem_type.adb (Covers): Move trivial case to the top and reuse the
14672 computed value of Base_Type.
14673
146742011-08-02 Yannick Moy <moy@adacore.com>
14675
14676 * restrict.adb (Check_Restriction): issue an error for any use of
14677 class-wide, even if the No_Dispatch restriction is not set.
14678 * sem_aggr.adb: Correct typos in comments and messages in formal mode
14679 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
14680 when completing a private extension, the type named in the private part
14681 is not the same as that named in the visible part.
14682 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
14683 of an inherited primitive operations of a tagged type or type extension
14684 that returns the tagged type.
14685 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
14686 function which returns True for an implicit operation inherited by the
14687 derived type declaration for the argument type.
14688 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
14689 order.
14690
fb86fe11
ES
146912011-08-02 Ed Schonberg <schonberg@adacore.com>
14692
14693 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
14694 Process_Bounds, to perform analysis with expansion of a range or an
14695 expression that is the iteration scheme for a loop.
14696 (Analyze_Iterator_Specification): If domain of iteration is given by a
14697 function call with a controlled result, as is the case if call returns
14698 a predefined container, ensure that finalization actions are properly
14699 generated.
14700 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
14701
62be5d0a
JM
147022011-08-02 Javier Miranda <miranda@adacore.com>
14703
14704 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
14705 * gcc-interface/Make-lang.in: Update dependencies.
14706
147072011-08-02 Javier Miranda <miranda@adacore.com>
14708
14709 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
14710 determine if the analysis is performed using N or Original_Node (N).
14711 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
14712 functionality of routine Is_Variable avoids code duplication.
14713 * checks.adb (Determine_Range): Handle temporaries generated by
14714 Remove_Side_Effects.
14715
147162011-08-02 Javier Miranda <miranda@adacore.com>
14717
14718 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
14719 expansion of the condition. Required since the previous analysis was
14720 done with expansion disabled (see Resolve_Quantified_Expression) and
14721 hence checks were not inserted and record comparisons have not been
14722 expanded.
14723
a20f4389
AC
147242011-08-02 Ed Falis <falis@adacore.com>
14725
14726 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
14727 Update header.
14728
147292011-08-02 Bob Duff <duff@adacore.com>
14730
14731 * opt.ads: Minor comment fix.
14732
147332011-08-02 Bob Duff <duff@adacore.com>
14734
14735 * sem_ch12.adb (Analyze_Package_Instantiation,
14736 Analyze_Subprogram_Instantiation): Turn off style checking while
14737 analyzing an instance. Whatever style checks that apply to the generic
14738 unit should apply, so it makes no sense to apply them in an instance.
14739 This was causing trouble when compiling an instance of a runtime
14740 unit that violates the -gnatyO switch.
14741 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
14742 one of the two case statements, causing spurious errors.
14743
147442011-08-02 Robert Dewar <dewar@adacore.com>
14745
14746 * uname.adb: Minor reformatting.
14747 * gnatcmd.adb: Minor reformatting.
14748 * exp_attr.adb: Minor reformatting.
14749
90878b12
AC
147502011-08-02 Ed Schonberg <schonberg@adacore.com>
14751
14752 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
14753 No_Dispatching_Calls, do not look for the Assign primitive, because
14754 predefined primitives are not created in this case.
14755
147562011-08-02 Bob Duff <duff@adacore.com>
14757
14758 * stylesw.ads: Minor comment fixes.
14759
147602011-08-02 Robert Dewar <dewar@adacore.com>
14761
14762 * freeze.adb (Add_To_Result): New procedure.
14763
147642011-08-02 Jose Ruiz <ruiz@adacore.com>
14765
14766 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
14767 time, if the specific run-time routines for handling streams of strings
14768 are not available, use the default mechanism.
14769
147702011-08-02 Arnaud Charlet <charlet@adacore.com>
14771
14772 * s-regpat.ads: Fix typo.
14773
147742011-08-02 Vincent Celier <celier@adacore.com>
14775
14776 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
14777 not null, call it to create the in memory config project file without
14778 parsing an existing default config project file.
14779
147802011-08-02 Eric Botcazou <ebotcazou@adacore.com>
14781
14782 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
14783
147842011-08-02 Ed Schonberg <schonberg@adacore.com>
14785
14786 * sem_elim.adb: an abstract subprogram does not need an eliminate
14787 pragma for its descendant to be eliminable.
14788
147892011-08-02 Ed Falis <falis@adacore.com>
14790
14791 * init.c: revert to handling before previous checkin for VxWorks
14792 * s-intman-vxworks.adb: delete unnecessary declarations related to
14793 using Ada interrupt facilities for handling signals.
14794 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
14795 * s-intman-vxworks.ads: Import __gnat_install_handler as
14796 Initialize_Interrupts.
14797 * s-taprop-vxworks.adb: Delete Signal_Mask.
14798 (Abort_Handler): change construction of mask to unblock exception
14799 signals.
14800
273adcdf
AC
148012011-08-02 Jerome Guitton <guitton@adacore.com>
14802
14803 * a-except-2005.adb (Raise_From_Signal_Handler): Call
14804 Debug_Raise_Exception before propagation starts.
14805
148062011-08-02 Eric Botcazou <ebotcazou@adacore.com>
14807
14808 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
14809 to Restriction_Check_Required.
14810 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
14811 * sem_res.adb (Resolve_Call): Likewise.
14812 * sem_attr.adb (Check_Stream_Attribute): Likewise.
14813
148142011-08-02 Bob Duff <duff@adacore.com>
14815
14816 * stylesw.ads: Update comment.
14817 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
14818 * errout.ads: Remove obsolete comment.
14819
148202011-08-02 Javier Miranda <miranda@adacore.com>
14821
14822 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
14823 (Set_Is_Safe_To_Reevaluate): new procedure.
14824 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
14825 assignment is allowed on safe-to-reevaluate variables.
14826 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
14827 temporary created to remove side effects in expressions that use
14828 the secondary stack as safe-to-reevaluate.
14829 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
14830 variables that are not true constants.
14831
6320f5e1
AC
148322011-08-02 Robert Dewar <dewar@adacore.com>
14833
14834 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
14835 sem_res.adb, sem_ch6.adb: Minor reformatting.
14836
148372011-08-02 Jerome Guitton <guitton@adacore.com>
14838
14839 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
14840
2fe829ae
ES
148412011-08-02 Ed Schonberg <schonberg@adacore.com>
14842
14843 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
14844 not set Overridden_Operation if subprogram is an initialization
14845 procedure.
14846
e24329cd
YM
148472011-08-02 Yannick Moy <moy@adacore.com>
14848
14849 * par-ch6.adb: Correct obsolete name in comments
14850 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
14851 which takes two message arguments (existing function takes one), with
14852 second message used for continuation.
14853 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
14854 block statements that originate from a source block statement, not
14855 generated block statements
14856 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
14857 symmetry with procedure case
14858 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
14859 function to issue an error in formal mode if a package specification
14860 contains more than one tagged type or type extension.
14861 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
14862 parameters matching formals of tagged types are objects (or ancestor
14863 type conversions of objects), not general expressions. Issue an error
14864 on view conversions that are not involving ancestor conversion of an
14865 extended type.
14866 (Resolve_Type_Conversion): in formal mode, issue an error on the
14867 operand of an ancestor type conversion which is not an object
14868 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
14869 procedure so that it works also for actuals of function calls
14870 (Is_Actual_Tagged_Parameter): new function which determines if its
14871 argument is an actual parameter of a formal of tagged type in a
14872 subprogram call
14873 (Is_SPARK_Object_Reference): new function which determines if the tree
14874 referenced by its argument represents an object in SPARK
14875
176dadf6
AC
148762011-08-02 Robert Dewar <dewar@adacore.com>
14877
14878 * sem_ch3.adb: Minor reformatting
14879 Minor comment addition
14880 Minor error msg text change
14881
148822011-08-02 Javier Miranda <miranda@adacore.com>
14883
14884 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
14885 function. Used to be more precise when we generate a variable plus one
14886 assignment to remove side effects in the evaluation of the Bound
14887 expressions.
14888 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
14889 of the bound expression to force its re-analysis and thus expand the
14890 associated transient scope (if required). Code cleanup replacing the
14891 previous code that declared the constant entity by an invocation to
14892 routine Force_Evaluation which centralizes this work in the frontend.
14893
d8b962d8
AC
148942011-08-02 Robert Dewar <dewar@adacore.com>
14895
14896 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
14897 (Base_Type): Now uses improved Is_Base_Type function
14898 * einfo.ads (Base_Type): Inline this function
14899
149002011-08-02 Robert Dewar <dewar@adacore.com>
14901
14902 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
14903 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
14904
149052011-08-02 Arnaud Charlet <charlet@adacore.com>
14906
14907 * gcc-interface/Make-lang.in: Update dependencies.
14908 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
14909 targets.
14910
149112011-08-02 Yannick Moy <moy@adacore.com>
14912
14913 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
14914 non-simple expression used in delta constraint
14915 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
14916 index constraint which is not a subtype mark
14917 * par.adb: With and use Restrict
14918 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
14919 mode on component type which is not a subtype mark and default
14920 expression on component
14921 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
14922 of string which does not have a lower index bound equal to 1
14923 (Array_Type_Declaration): issue an error in formal mode on index or
14924 component type which is not a subtype mark, and on aliased keyword on
14925 component
14926 (Derived_Type_Declaration): issue an error in formal mode on interface,
14927 limited or abstract type
14928 (Record_Type_Declaration): issue an error in formal mode on interface
14929 (Record_Type_Definition): issue an error in formal mode on tagged types
14930 and type extensions not declared in the specification of a library unit
14931 package; on null non-tagged record; on variant part
14932
149332011-08-02 Vincent Celier <celier@adacore.com>
14934
14935 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
14936 not declared for qualified library project when Library_Name is not
14937 declared, but Library_Dir is.
14938
149392011-08-02 Robert Dewar <dewar@adacore.com>
14940
14941 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
14942 pragmas (affects aspects [Component_]Default_Value
14943 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
14944 component type for the resolution
14945
f96b2d85
AC
149462011-08-02 Eric Botcazou <ebotcazou@adacore.com>
14947
14948 * einfo.adb (Base_Type): Tune implementation for speed.
14949
149502011-08-02 Robert Dewar <dewar@adacore.com>
14951
14952 * freeze.adb: Minor reformatting.
14953
8b3c6430
AC
149542011-08-02 Thomas Quinot <quinot@adacore.com>
14955
14956 * scos.ads: Update comments.
14957
149582011-08-02 Ed Schonberg <schonberg@adacore.com>
14959
14960 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
14961 base type, because the parent may be a subtype of a private type whose
14962 convention is established in a private part.
14963
149642011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
14965
14966 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
14967 statement in a block when the expansion of the return expression has
14968 created a finalization chain.
14969 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
14970 with the parent node.
14971 Add N_Extended_Return_Statement to handle the case where a transient
14972 object declaration appears in the Return_Object_Declarations list of
14973 an extended return statement.
14974
149752011-08-02 Matthew Gingell <gingell@adacore.com>
14976
14977 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
14978 unused parameter 'name'.
14979
149802011-08-02 Ed Schonberg <schonberg@adacore.com>
14981
14982 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
14983 inherited operation, check whether its alias, which is the source
14984 operastion that it renames, has been marked eliminated.
14985
cae81f17
JM
149862011-08-02 Javier Miranda <miranda@adacore.com>
14987
14988 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
14989 in-mode parameter whose type is an access type since it can be used to
14990 modify its designated object. Enforce code that handles as safe an
14991 access type that is not access-to-constant but it is the result of a
14992 previous removal of side-effects.
14993 (Remove_Side_Effects): Minor code reorganization of cases which require
14994 no action. Done to incorporate documentation on new cases uncovered
14995 working in this ticket: no action needed if this routine was invoked
14996 too early and the nodes are not yet decorated.
14997 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
14998 to routine Remove_Side_Effects by calls to Force_Evaluation since they
14999 were issued with actuals that are implicitly provided by
15000 Force_Evaluation.
15001
218e6dee
RD
150022011-08-02 Robert Dewar <dewar@adacore.com>
15003
15004 * sem_ch3.adb, sem_res.adb: Minor reformatting.
15005
7a489a2b
AC
150062011-08-02 Yannick Moy <moy@adacore.com>
15007
15008 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
15009 to issue an error in formal mode on attribute not supported in this mode
15010 (Analyze_Attribute): issue errors on standard attributes not supported
15011 in formal mode.
15012 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
15013 comment, and issue error in formal mode on modulus which is not a power
15014 of 2.
15015 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
15016 range.
15017 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
15018 subtype mark.
15019 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
15020 operator on modular type (except 'not').
15021
150222011-08-02 Robert Dewar <dewar@adacore.com>
15023
15024 * gnat_rm.texi: Minor reformatting.
15025
cb7fa356
AC
150262011-08-02 Arnaud Charlet <charlet@adacore.com>
15027
15028 * s-osinte-linux.ads: Minor comment update and reformatting.
15029 * i-cexten.ads: Make this unit pure, as for its parent.
15030 Will allow its usage in more contexts if needed.
15031
150322011-08-02 Robert Dewar <dewar@adacore.com>
15033
15034 * s-utf_32.ads: Minor comment fix.
15035
150362011-08-02 Ed Schonberg <schonberg@adacore.com>
15037
15038 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
15039 operation of a tagged synchronized type, handle the case where the
15040 controlling argument is overloaded.
15041
150422011-08-02 Yannick Moy <moy@adacore.com>
15043
15044 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
15045 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
15046 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
15047 SPARK mode and formal verification mode on processing SPARK restriction
15048 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
15049 requiring consistency checking.
15050
5cc9353d
RD
150512011-08-02 Robert Dewar <dewar@adacore.com>
15052
15053 * sem_res.adb: Minor reformatting.
15054
e51537ff
RD
150552011-08-02 Robert Dewar <dewar@adacore.com>
15056
15057 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
15058 a-cforse.ads: Remove unneeded with of Ada.Containers
15059 Remove commented out pragma Inline's
15060 Move specifications of new subprograms to the actual specs
15061
83fa09c5
AC
150622011-08-02 Yannick Moy <moy@adacore.com>
15063
15064 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
15065 a-cforse.ads: Update comments.
15066
150672011-08-02 Ed Schonberg <schonberg@adacore.com>
15068
15069 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
15070
d11cfaf8
RD
150712011-08-02 Robert Dewar <dewar@adacore.com>
15072
15073 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
15074 a-cforse.ads, a-cofove.ads: Minor reformatting.
15075
300b98bb
AC
150762011-08-02 Claire Dross <dross@adacore.com>
15077
15078 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
15079 a-cofove.ads: Add comments.
15080
150812011-08-02 Yannick Moy <moy@adacore.com>
15082
15083 * gnat_rm.texi: Document formal containers.
15084
150852011-08-02 Emmanuel Briot <briot@adacore.com>
15086
15087 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
15088 are empty sections.
15089
19fb051c
AC
150902011-08-02 Robert Dewar <dewar@adacore.com>
15091
15092 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
15093 reformatting.
15094
150952011-08-02 Robert Dewar <dewar@adacore.com>
15096
15097 * aspects.adb: New aspects Default_Value and Default_Component_Value
15098 New format of Aspect_Names table checks for omitted entries
15099 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
15100 handling of boolean aspects for derived types.
15101 New aspects Default_Value and Default_Component_Value
15102 New format of Aspect_Names table checks for omitted entries
15103 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
15104 (Has_Default_Value): New flag
15105 (Has_Default_Component_Value): New flag
15106 (Has_Default_Value): New flag
15107 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
15108 table.
15109 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
15110 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
15111 Default_Value and Default_Component_Value
15112 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
15113 New aspects Default_Value and Default_Component_Value
15114 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
15115 * sprint.adb: Print N_Aspect_Specification node when called from gdb
15116
151172011-08-02 Vincent Celier <celier@adacore.com>
15118
15119 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
15120 inherit library kind.
15121
151222011-08-02 Ed Schonberg <schonberg@adacore.com>
15123
15124 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
15125 Minor reformatting.
15126
151272011-08-02 Robert Dewar <dewar@adacore.com>
15128
15129 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
15130
5f7747af
AC
151312011-08-02 Yannick Moy <moy@adacore.com>
15132
15133 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
15134
151352011-08-02 Robert Dewar <dewar@adacore.com>
15136
15137 * impunit.adb: Add comment.
15138
a5fe697b
AC
151392011-08-02 Yannick Moy <moy@adacore.com>
15140
15141 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
15142 qualification of aggregates in formal mode
15143 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
15144 another aggregate
15145 (Resolve_Aggregate): complete the test that an aggregate is adequately
15146 qualified in formal mode
15147
151482011-08-02 Pascal Obry <obry@adacore.com>
15149
15150 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
15151 * mlib-prj.adb: Supress warning when compiling binder generated file.
15152 (Build_Library): Supress all warnings when compiling the binder
15153 generated file.
15154
bd65a2d7 151552011-08-02 Yannick Moy <moy@adacore.com>
d4487611 15156
bd65a2d7
AC
15157 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
15158 from here...
15159 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
15160 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
15161 Add with/use clauses to make Check_Formal_Restriction visible
15162
151632011-08-02 Ed Schonberg <schonberg@adacore.com>
15164
15165 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
15166 in-parameters when type of the generic formal is private in the generic
15167 spec and non-private in the body.
15168
151692011-08-02 Claire Dross <dross@adacore.com>
15170
15171 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
15172 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
15173 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
15174 * impunit.adb, Makefile.rtl: Take new files into account.
d4487611
AC
15175
151762011-08-02 Robert Dewar <dewar@adacore.com>
15177
15178 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
15179 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
15180
bd434b3f
YM
151812011-08-02 Yannick Moy <moy@adacore.com>
15182
15183 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
15184 formal mode
15185 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
15186 matching static array bounds, taking into account the special case of
15187 string literals
15188 * sem_ch3.adb: Typo in comment.
15189
fe5d3068
YM
151902011-08-02 Yannick Moy <moy@adacore.com>
15191
15192 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
15193 which issues an error in formal mode if its argument node is originally
15194 from source
15195 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
15196 has a discriminant specification so that it does not include the case
15197 of derived types
15198 (Derived_Type_Declaration): move here the test that a derived type has a
15199 discriminant specification
15200 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
15201 first element of a component association before accessing its choices
15202 (presence of component association is not enough)
15203 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
15204 declaration is a library item before accessing the next element in a
15205 list, as library items are not member of lists
15206 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
15207 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
15208 Check_Formal_Restriction whenever possible.
15209
b60a3f26
AC
152102011-08-02 Ed Schonberg <schonberg@adacore.com>
15211
15212 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
15213 reference when needed.
15214
152152011-08-02 Bob Duff <duff@adacore.com>
15216
15217 * gnat_ugn.texi: Fix typo.
15218
152192011-08-02 Vincent Celier <celier@adacore.com>
15220
15221 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
15222 archive file name. Do not use the full path name of archives for Open
15223 VMS.
15224
eaba57fb
RD
152252011-08-02 Robert Dewar <dewar@adacore.com>
15226
15227 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
15228 Analyze_Aspect_Specifications
15229 * sem_ch13.adb
15230 (Analyze_Aspect_Specifications): New handling for boolean aspects
15231 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
15232 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
15233 sequence for Analyze_Aspect_Specifications
15234 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
15235 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
15236
152372011-08-02 Robert Dewar <dewar@adacore.com>
15238
15239 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
15240 aspects, since these no longer exist.
15241
152422011-08-02 Robert Dewar <dewar@adacore.com>
15243
15244 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
15245 semicolon, do not try to see if there are aspects following it.
15246 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
15247 aspect spec.
15248
8830d1d2
AC
152492011-08-02 Robert Dewar <dewar@adacore.com>
15250
15251 * sem_ch8.adb, aspects.ads: Minor reformatting.
15252
152532011-08-02 Eric Botcazou <ebotcazou@adacore.com>
15254
15255 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
15256 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
15257 extracted from...
15258 (Analyze_Aspect_Specifications): ...here. Call above procedure.
15259
7ff2d234
AC
152602011-08-02 Yannick Moy <moy@adacore.com>
15261
15262 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
15263 mode on subprogram declaration outside of package specification, unless
15264 it is followed by a pragma Import
15265 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
15266 Access_Type_Declaration): issue error in formal mode on access type
15267 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
15268 incomplete type
15269 (Analyze_Object_Declaration): issue error in formal mode on object
15270 declaration which does not respect SPARK restrictions
15271 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
15272 declaration which does not respect SPARK restrictions
15273 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
15274 error in formal mode on digits or delta constraint
15275 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
15276 decimal fixed point type
15277 (Derived_Type_Declaration): issue error in formal mode on derived type
15278 other than type extensions of tagged record types
15279 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
15280 with check on access definition
15281 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
15282 mode on protected definition.
15283 (Analyze_Task_Definition): issue error in formal mode on task definition
15284
152852011-08-02 Robert Dewar <dewar@adacore.com>
15286
15287 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
15288
806f6d37
AC
152892011-08-02 Javier Miranda <miranda@adacore.com>
15290
15291 * sem_ch6.adb (Can_Override_Operator): New function.
15292 (Verify_Overriding_Indicator): Add missing code to check overriding
15293 indicator in operators. Fixes regression.
15294 (Check_Overriding_Indicator): Minor reformating after replacing the
15295 code that evaluates if the subprogram can override an operator by
15296 invocations to the above new function.
15297 * einfo.adb
15298 (Write_Field26_Name): Add missing code to ensure that, following
15299 the documentation in einfo.ads, this field is not shown as attribute
15300 "Static_Initialization" on non-dispatching functions.
15301
153022011-08-02 Jose Ruiz <ruiz@adacore.com>
15303
15304 * sem_res.adb (Resolve_Call): A call to
15305 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
15306 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
15307 i.e., when the second parameter is of type Time_Span.
15308
153092011-08-02 Vincent Celier <celier@adacore.com>
15310
15311 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
15312 with an archive instead of -L<library dir> -l<library name>.
15313
153142011-08-02 Ed Schonberg <schonberg@adacore.com>
15315
15316 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
15317 mark the base types In_Use in addition to making the operations
15318 use_visible.
15319
153202011-08-02 Ed Falis <falis@adacore.com>
15321
15322 * init.c: add and setup __gnat_signal_mask for the exception signals
15323 * s-inmaop-vxworks.adb: new file.
15324 * s-intman-vxworks.adb: remove unnecessary initializations and
15325 simplify remaining
15326 * s-intman-vxworks.ads: remove unnecessary variable
15327 * s-taprop-vxworks.adb: simplify signal initialization
15328
780d052e
RD
153292011-08-02 Robert Dewar <dewar@adacore.com>
15330
15331 * sem_ch8.adb: Minor code reorganization, comment updates.
15332
153332011-08-02 Robert Dewar <dewar@adacore.com>
15334
15335 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
15336 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
15337 here from Sem_Res.
15338 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
15339 (Matching_Static_Array_Bounds): Moved here from Sem_Res
15340
29efbb8c
ES
153412011-08-02 Ed Schonberg <schonberg@adacore.com>
15342
15343 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
15344 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
15345 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
15346 use_type_clauses, to handle more efficiently use_type and use_all_type
15347 constructs.
15348 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
15349 Ada2012 Use_All_Type clause.
15350 (Use_Class_Wide_Operations): new procedure.
15351
b0186f71
AC
153522011-08-02 Robert Dewar <dewar@adacore.com>
15353
15354 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
15355 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
15356 expression to expression function.
15357
153582011-08-02 Ed Schonberg <schonberg@adacore.com>
15359
15360 * sem_ch4.adb: transform simple Ada2012 membership into equality only
15361 if types are compatible.
15362
153632011-08-02 Yannick Moy <moy@adacore.com>
15364
15365 * sem_res.adb (Matching_Static_Array_Bounds): new function which
15366 returns True if its argument array types have same dimension and same
15367 static bounds at each index.
15368 (Resolve_Actuals): issue an error in formal mode on actuals passed as
15369 OUT or IN OUT paramaters which are not view conversions in SPARK.
15370 (Resolve_Arithmetic_Op): issue an error in formal mode on
15371 multiplication or division with operands of fixed point types which are
15372 not qualified or explicitly converted.
15373 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
15374 Boolean or array type (except String) operands.
15375 (Resolve_Equality_Op): issue an error in formal mode on equality
15376 operators for array types other than String with non-matching static
15377 bounds.
15378 (Resolve_Logical_Op): issue an error in formal mode on logical operators
15379 for array types with non-matching static bounds. Factorize the code in
15380 Matching_Static_Array_Bounds.
15381 (Resolve_Qualified_Expression): issue an error in formal mode on
15382 qualified expressions for array types with non-matching static bounds.
15383 (Resolve_Type_Conversion): issue an error in formal mode on type
15384 conversion for array types with non-matching static bounds
15385
767bb4e8
AC
153862011-08-02 Robert Dewar <dewar@adacore.com>
15387
15388 * par-ch10.adb: Minor code reorganization (use Nkind_In).
15389
153902011-08-02 Ed Schonberg <schonberg@adacore.com>
15391
15392 * par-ch9.adb: save location of entry for proper error message.
15393
4ac2477e
JM
153942011-08-02 Javier Miranda <miranda@adacore.com>
15395
15396 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
15397 (Use_Full_View) which permits this routine to climb through the
15398 ancestors using the full-view of private parents.
15399 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
15400 Use_Full_View to true in calls to Is_Ancestor.
15401 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
15402 true in call to Is_Ancestor.
15403 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
15404 Use_Full_View to true in call to Is_Ancestor.
15405 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
15406 call to Is_Ancestor.
15407 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
15408 Use_Full_View to true in calls to Is_Ancestor.
15409 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
15410 Make_Select_Specific_Data_Table, Register_Primitive,
15411 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
15412 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
15413 to true in call to Is_Ancestor.
15414 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
15415 Use_Full_View to true in calls to Is_Ancestor.
15416 * exp_cg.adb
15417 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
15418 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
15419
9f90d123
AC
154202011-08-02 Robert Dewar <dewar@adacore.com>
15421
15422 * gnat_rm.texi: Minor reformatting.
15423 * sem_prag.adb: Minor reformatting.
15424
154252011-08-02 Tristan Gingold <gingold@adacore.com>
15426
15427 * vms_data.ads: Add VMS qualifier for -gnateP.
15428
154292011-08-02 Robert Dewar <dewar@adacore.com>
15430
15431 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
15432 * par-ch7.adb (P_Package): Proper placement of aspects for package
15433 decl/instantiation.
15434 * par-endh.adb (Check_End): Ad Is_Sloc parameter
15435 (End_Statements): Add Is_Sloc parameterr
15436 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
15437 (Check_End): Ad Is_Sloc parameter
15438 (End_Statements): Add Is_Sloc parameterr
15439
154402011-08-02 Vincent Celier <celier@adacore.com>
15441
15442 * ug_words: Add VMS qualifier equivalent to -gnateP:
15443 /SYMBOL_PREPROCESSING.
15444
154452011-08-02 Jose Ruiz <ruiz@adacore.com>
15446
15447 * gnat-style.texi: For hexadecimal numeric literals the typical
15448 grouping of digits is 4 to represent 2 bytes.
15449 A procedure spec which is split into several lines is indented two
15450 characters.
15451
154522011-08-02 Yannick Moy <moy@adacore.com>
15453
15454 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
15455 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
15456 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
15457 properly qualified
15458 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
15459 choice in array aggregate
15460 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
15461 mark as ancestor
15462 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
15463 positional and named aggregate for record, or others in record
15464 aggregate, or multiple choice in record aggregate
15465 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
15466 array operands to logical operations AND, OR and XOR do not have the
15467 same static lower and higher bounds
15468 * sem_ch5.adb, sinfo.ads: Correct typos in comments
15469
2933b16c
RD
154702011-08-01 Robert Dewar <dewar@adacore.com>
15471
15472 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
15473 Replaces Last_Source_Node_In_Sequence.
15474 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
15475 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
15476 parens and blank in string (this was inconsistently implemented).
15477 * errout.ads
15478 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
15479 blank in string (this was inconsistently implemented).
15480 * gnat1drv.adb
15481 (Set_Global_Switches): Set formal mode switches appropriately
15482 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
15483 * par-prag.adb
15484 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
15485 call Set_Error_Msg_Lang to set "spark" as language name.
15486 * par.adb: Remove unnecessary call to set formal language for errout
15487 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
15488 appropriately and call Set_Error_Msg_Lang to set "spark" as language
15489 name.
15490 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
15491 calls to it, moved after resolution so that types are known
15492 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
15493 result of concatenation is not of type String
15494 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
15495 concatenation is not properly restricted
15496 * gnat_rm.texi: Add doc on pragma Spark_95.
15497 * gcc-interface/Makefile.in: Remove obsolete target pairs for
15498 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
15499 * gcc-interface/Make-lang.in: Update dependencies.
15500
05dbd302
AC
155012011-08-01 Javier Miranda <miranda@adacore.com>
15502
15503 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
15504 condition that detects if the overridden operation must replace an
15505 existing entity.
15506
155072011-08-01 Javier Miranda <miranda@adacore.com>
15508
15509 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
15510 code declarations inserted by Insert_Actions in each alternative of the
15511 N_Case_Expression node.
15512
155132011-08-01 Robert Dewar <dewar@adacore.com>
15514
15515 * sem_ch6.adb: Minor code reorganization.
15516 * sem_util.adb: Minor reformatting.
15517
af9e051f
PO
155182011-08-01 Pascal Obry <obry@adacore.com>
15519
15520 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
15521 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
15522
1d801f21
AC
155232011-08-01 Yannick Moy <moy@adacore.com>
15524
15525 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
15526 literal or operator symbol which is prefixed
15527 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
15528 mode on access attributes.
15529 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
15530 that concatenation operands are properly restricted in formal mode
15531 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
15532 Analyze_Concatenation_Operand. Issue an error in formal mode if the
15533 result of the concatenation has a type different from String.
15534 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
15535 Analyze_Quantified_Expression, Analyze_Slice,
15536 Analyze_Null): issue an error in formal mode on unsupported constructs
15537 * sem_ch5.adb
15538 (Analyze_Block_Statement): only issue error on source block statement
15539 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
15540 function which returns the last node in a list of nodes for which
15541 Comes_From_Source returns True, if any
15542 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
15543 Last_Source_Node_In_Sequence
15544 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
15545 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
15546 mode on unsupported constructs
15547 * sem_ch9.adb Do not return after issuing error in formal mode, as the
15548 rest of the actions may be needed later on since the error is marked as
15549 not serious.
15550 * sinfo.ads: Typos in comments.
15551
155522011-08-01 Pascal Obry <obry@adacore.com>
15553
15554 * projects.texi: Minor editing.
15555
53beff22
YM
155562011-08-01 Yannick Moy <moy@adacore.com>
15557
15558 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
15559 insertion character ~~
15560 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
15561 (Set_Error_Msg_Lang): new procedure which fixes the language for use
15562 with insertion character ~~
15563 (Set_Msg_Text): treat insertion character ~~
15564 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
15565 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
15566 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
15567 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
15568 errors related to the formal language restriction not serious
15569 (insertion character |).
15570 * par.adb (Par): set formal language for error messages if needed
15571 * sem_ch6.adb (Check_Missing_Return): take into account possible
15572 generated statements at the end of the function
15573 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
15574 enumeration value to define a new pragma SPARK_95
15575 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
15576 SPARK_Version): new type and variables to store the SPARK version
15577 (none by default).
15578 (SPARK_Mode): return True when SPARK_Version is set
15579 * par-prag.adb: Correct indentation
15580 (Prag): take Pragma_SPARK_95 into account
15581 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
15582 into account.
15583
8d606a78
RD
155842011-08-01 Robert Dewar <dewar@adacore.com>
15585
15586 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
15587 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
15588 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
15589
1982d5a8
PO
155902011-08-01 Pascal Obry <obry@adacore.com>
15591
15592 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
15593 Target_Name to Get_Path call.
15594 (Parse_Single_Project): Likewise.
15595 (Post_Parse_Context_Clause): Likewise.
15596 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
15597 Call Initialise_Project_Path with the proper Target_Name.
15598 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
15599 search path.
15600 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
15601 with the proper Target_Name.
15602 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
15603 Part.Parse routine.
15604 (Parse_Project_And_Apply_Config): Likewise.
15605 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
15606 This is fine as this part of the code is supporting only native
15607 compilation.
15608 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
15609 is fine as this part of the code is supporting only native compilation.
15610
0d53d36b
AC
156112011-08-01 Yannick Moy <moy@adacore.com>
15612
15613 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
15614 of homonym, unless the homonym is one of the cases allowed in SPARK
15615 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
15616 package declaration occurring after a body.
15617
156182011-08-01 Robert Dewar <dewar@adacore.com>
15619
15620 * checks.adb, exp_ch4.adb: Minor reformatting.
15621
156222011-08-01 Javier Miranda <miranda@adacore.com>
15623
15624 * einfo.ads (Access_Disp_Table): Fix documentation.
15625 (Dispatch_Table_Wrappers): Fix documentation.
15626
156272011-08-01 Pascal Obry <obry@adacore.com>
15628
15629 * prj-env.adb, prj-env.ads: Minor reformatting.
15630
8ed68165
AC
156312011-08-01 Yannick Moy <moy@adacore.com>
15632
15633 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
15634 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
15635 procedures out of these packages.
2c7f9cc0 15636 * errout.ads, errout.adb
8ed68165
AC
15637 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
15638 procedures in of this package
15639 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
15640 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
15641 on misplaced later vs initial declarations, like in Ada 83
15642 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
15643 formal mode on attribute of private type whose full type declaration
15644 is not visible
15645 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
15646 package declaration inside a package specification
15647 (Analyze_Full_Type_Declaration): issue error in formal mode on
15648 controlled type or discriminant type
15649 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
15650 user-defined operator means that it should come from the source
15651 (New_Overloaded_Entity): issue error in formal mode on overloaded
15652 entity.
15653 * sem_ch6.ads, sem_ch13.ads: typos in comments.
15654
156552011-08-01 Thomas Quinot <quinot@adacore.com>
15656
15657 * atree.adb: Minor reformatting.
15658 * checks.adb: Minor reformatting.
15659
4230bdb7
AC
156602011-08-01 Vincent Celier <celier@adacore.com>
15661
15662 * s-parame-vms-ia64.ads: Fix typo in comment
15663 Minor reformatting
15664 * s-parame-vms-restrict.ads: Removed, unused.
15665
156662011-08-01 Javier Miranda <miranda@adacore.com>
15667
15668 * exp_ch3.adb
15669 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
15670 * sem_ch3.adb
15671 (Constrain_Index): Remove side effects in the evaluation of the bounds.
15672 * sem_ch3.ads, sem_ch3.adb
15673 (Is_Constant_Bound): New extended version of the subprogram that was
15674 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
15675 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
15676 * sem_aux.ads (Constant_Value): Fix typo in comment.
15677 * checks.adb (Generate_Index_Checks): New implementation which, for
15678 array objects with constant bounds, generates the runtime check
15679 referencing the bounds of the array type. For other cases this routine
15680 provides its previous behavior obtaining such values from the array
15681 object.
15682 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
15683 parent type.
15684 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
15685 we cannot have semantic interpretations of the new node.
15686
2010d078
AC
156872011-08-01 Ed Schonberg <schonberg@adacore.com>
15688
15689 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
15690 expressions.
15691
156922011-08-01 Arnaud Charlet <charlet@adacore.com>
15693
15694 * sem_ch8.adb: Minor code editing.
15695 * s-vxwext.adb: Remove trailing space.
15696 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
15697 consistency with other files.
15698
156992011-08-01 Thomas Quinot <quinot@adacore.com>
15700
15701 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
15702
157032011-08-01 Ed Schonberg <schonberg@adacore.com>
15704
15705 * par-ch10.adb: reject parameterized expressions as compilation unit.
15706 * sem_ch4.adb: handle properly conditional expression with overloaded
15707 then_clause and no else_clause.
15708
157092011-08-01 Tristan Gingold <gingold@adacore.com>
15710
15711 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
15712 like done by System.Aux_DEC.
15713 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
15714
daec8eeb
YM
157152011-08-01 Yannick Moy <moy@adacore.com>
15716
15717 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
15718 missing label at end of declaration (subprogram or package)
15719 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
15720 of positional and named parameter association
15721 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
15722 Error_Msg_SP which adds a prefix to the error message giving the name
15723 of the formal language analyzed
15724 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
15725 access result type in subprogram, unconstrained array as result type,.
15726 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
15727 procedure
15728 * sem_ch8.adb: Code clean up.
15729
38171f43
AC
157302011-08-01 Javier Miranda <miranda@adacore.com>
15731
15732 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
15733 * einfo.ads (Access_Disp_Table): Fix documentation.
15734 (Dispatch_Table_Wrappers): Fix documentation.
15735 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
15736 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
15737 to enforce the documentation of this attribute.
15738 (Set_Is_Interface): Cleanup the assertion.
15739 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
15740 the Underlying_Type entity before reading attribute Access_Disp_Table.
15741 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
15742 Locate the Underlying_Type before reading attribute Access_Disp_Table.
15743 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
15744 the Underlying_Type entity before reading attribute Access_Disp_Table.
15745 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
15746 Locate the Underlying_Type entity before reading attribute
15747 Access_Disp_Table.
15748
157492011-08-01 Ed Schonberg <schonberg@adacore.com>
15750
15751 * s-poosiz.ads: Additional overriding indicators.
15752
157532011-08-01 Yannick Moy <moy@adacore.com>
15754
15755 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
15756 formal mode.
15757 (Analyze_Iteration_Scheme): issue error in formal mode when loop
15758 parameter specification does not include a subtype mark.
15759 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
15760 formal mode on abstract subprogram.
15761 (Analyze_Subprogram_Specification): issue error in formal mode on
15762 user-defined operator.
15763 (Process_Formals): issue error in formal mode on access parameter and
15764 default expression.
15765 * sem_ch9.adb (Analyze_Abort_Statement,
15766 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
15767 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
15768 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
15769 Analyze_Requeue, Analyze_Selective_Accept,
15770 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
15771 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
15772 issue error in formal mode on user-defined raise statement.
15773
1f250383
AC
157742011-08-01 Thomas Quinot <quinot@adacore.com>
15775
15776 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
15777 declaration being hidden when overriding an implicit inherited
15778 subprogram.
15779 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
15780 (-gnats), do not complain about a source file that contains only a
15781 pragma No_Body.
15782
157832011-08-01 Ed Schonberg <schonberg@adacore.com>
15784
15785 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
15786 variable if already set.
15787
607d0635
AC
157882011-08-01 Arnaud Charlet <charlet@adacore.com>
15789
15790 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
15791 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
15792 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
15793 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
15794 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
15795 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
15796 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
15797 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
15798 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
15799 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
15800 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
15801 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
15802 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
15803 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
15804 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
15805 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
15806 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
15807 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
15808 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
15809 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
15810 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
15811 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
15812 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
15813 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
15814 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
15815 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
15816 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
15817 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
15818 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
15819 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
15820 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
15821 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
15822 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
15823 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
15824 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
15825 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
15826 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
15827 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
15828 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
15829 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
15830 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
15831 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
15832 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
15833 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
15834 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
15835 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
15836 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
15837 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
15838 s-osinte-mingw.ads: Update to GPLv3 run-time license.
15839 Use GNAT instead of GNARL.
15840
158412011-08-01 Bob Duff <duff@adacore.com>
15842
15843 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
15844 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
15845 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
15846 reformatting.
15847
158482011-08-01 Yannick Moy <moy@adacore.com>
15849
15850 * debug.adb (d.D) reverve flag for the SPARK mode
15851 (d.E) reverve flag for SPARK generation mode
15852 (d.F) reverve flag for Why generation mode
2c7f9cc0 15853 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
607d0635
AC
15854 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
15855 functions which return True when the corresponding modes are set
15856 (Formal_Language): return "spark" or "alfa" when in formal verification
15857 mode.
15858 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
15859 Error_Msg to prefix the error message with a tag giving the formal
15860 language
15861 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
15862 message with a tag giving the formal language
15863 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
15864 block statement
15865 (Analyze_Case_Statement): issue error in formal mode on case statement
15866 with a single "others" case alternative
15867 (Analyze_Exit_Statement): issue errors in formal mode on exit
15868 statements which do not respect SPARK restrictions
15869 (Analyze_Goto_Statement): issue error in formal mode on goto statement
15870 (Check_Unreachable_Code): always issue an error (not a warning) in
15871 formal mode on unreachable code (concerns both code after an infinite
15872 loop and after an unconditional jump, both not allowed in SPARK)
15873 * sem_ch6.adb (Analyze_Return_Statement): add call to
15874 Set_Return_Present for a procedure containing a return statement
15875 (already done for functions in Analyze_Function_Return)
15876 (Analyze_Function_Return): issue error in formal mode on extended
15877 return or if return is not last statement in function
15878 (Check_Missing_Return): issue error in formal mode if function does
15879 not end with return or if procedure contains a return
15880 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
15881 function to detect if there is an inner scope of its parameter S which
15882 is a loop.
15883
158842011-08-01 Thomas Quinot <quinot@adacore.com>
15885
15886 * sem_ch6.ads: Minor reformatting.
15887
d8b3ccb9
AC
158882011-08-01 Javier Miranda <miranda@adacore.com>
15889
15890 * sem_util.adb (Abstract_Interface_List): Complete condition when
15891 processing private type declarations to avoid reading unavailable
15892 attribute.
15893 (Is_Synchronized_Tagged_Type): Complete condition when processing
15894 private extension declaration nodes to avoid reading unavailable
15895 attribute.
15896
158972011-08-01 Thomas Quinot <quinot@adacore.com>
15898
15899 * sem_ch3.adb: Minor reformatting.
15900
159012011-08-01 Thomas Quinot <quinot@adacore.com>
15902
15903 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
15904 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
15905 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
15906 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
15907 for VMS, instead parametrize the common implementation with
15908 System.Parameters declarations.
15909
0bb9276c
AC
159102011-08-01 Eric Botcazou <ebotcazou@adacore.com>
15911
15912 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
15913
159142011-08-01 Tristan Gingold <gingold@adacore.com>
15915
15916 * seh_init.c: Fix SEH handler installation on win64.
15917
159182011-08-01 Ed Schonberg <schonberg@adacore.com>
15919
15920 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
15921 double analysis of an anonymous access to subprogram, because it can
15922 lead to improper sharing of profiles and a back-end crash.
15923
6a2e4f0b
AC
159242011-08-01 Robert Dewar <dewar@adacore.com>
15925
15926 * make.adb, sem_ch4.adb: Minor reformatting.
15927 * gcc-interface/Make-lang.in: Update dependencies.
15928 * sem_util.adb, exp_ch5.adb: Minor reformatting.
15929
159302011-08-01 Arnaud Charlet <charlet@adacore.com>
15931
15932 * gnat_rm.texi: Fix definition of Long_Integer.
15933
159342011-08-01 Ed Schonberg <schonberg@adacore.com>
15935
15936 * exp_aggr.adb: check limit size of static aggregate unconditionally,
15937 to prevent storage exhaustion.
15938 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
15939 finalized is a function body, insert the cleanup code before the final
15940 return statement, to prevent spurious warnings.
15941 * s-pooglo.ads: add overriding indicator.
15942
4561baf7
ES
159432011-08-01 Ed Schonberg <schonberg@adacore.com>
15944
15945 * sem_ch4.adb (Operator_Check): improve error message when both a
15946 with_clause and a use_clause are needed to make operator usage legal.
15947 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
15948 determine whether a compilation unit is visible within an other,
15949 either through a with_clause in the current unit, or a with_clause in
15950 its library unit or one one of its parents.
15951
383e179e
AC
159522011-08-01 Ed Schonberg <schonberg@adacore.com>
15953
15954 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
15955 over an arbitrary expression of an array or container type.
15956 * lib-xref.adb: clarify comment.
15957
159582011-08-01 Bob Duff <duff@adacore.com>
15959
15960 * einfo.ads: Minor reformatting.
15961 * debug.adb: Minor comment improvement.
15962
159632011-08-01 Javier Miranda <miranda@adacore.com>
15964
15965 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
15966 consider hidden subprograms as valid candidates.
15967
159682011-08-01 Arnaud Charlet <charlet@adacore.com>
15969
15970 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
15971
159722011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
15973
15974 * gnat_ugn.texi: Fix typo.
15975
61c161b2
AC
159762011-08-01 Robert Dewar <dewar@adacore.com>
15977
15978 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
15979 lib-xref.adb: Minor reformatting
15980
159812011-08-01 Gary Dismukes <dismukes@adacore.com>
15982
15983 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
15984 when to generate a call to Move_Final_List.
15985 (Has_Controlled_Parts): Remove this function.
15986
84df40f7
AC
159872011-08-01 Geert Bosch <bosch@adacore.com>
15988
15989 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
15990 "," in choice list.
15991
159922011-08-01 Thomas Quinot <quinot@adacore.com>
15993
15994 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
15995 explicit raise of a predefined exception as Comes_From_Source if the
15996 original N_Raise_Statement comes from source.
15997
159982011-08-01 Robert Dewar <dewar@adacore.com>
15999
16000 * sinfo.ads: Add comment.
16001 * sem_ch6.adb: Minor reformatting.
16002
160032011-08-01 Robert Dewar <dewar@adacore.com>
16004
16005 * freeze.adb (Freeze_Entity): Refine check for bad component size
16006 clause to avoid rejecting confirming clause when atomic/aliased present.
16007
160082011-08-01 Ed Schonberg <schonberg@adacore.com>
16009
16010 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
16011 better determine whether an entity reference is a write.
16012 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
16013 subcomponent.
16014 * lib-xref.adb (Output_References): Do no suppress a read reference at
16015 the same location as an immediately preceeding modify-reference, to
16016 handle properly in-out actuals.
16017
160182011-08-01 Tristan Gingold <gingold@adacore.com>
16019
16020 * env.c (__gnat_setenv) [VMS]: Refine previous change.
16021
160222011-08-01 Quentin Ochem <ochem@adacore.com>
16023
16024 * i-cstrin.adb (New_String): Changed implementation, now uses only the
16025 heap to compute the result.
16026
c7f0d2c0
AC
160272011-08-01 Robert Dewar <dewar@adacore.com>
16028
16029 * atree.ads: Minor reformatting.
16030
160312011-08-01 Emmanuel Briot <briot@adacore.com>
16032
16033 * g-expect.adb (Get_Command_Output): Fix memory leak.
16034
160352011-08-01 Geert Bosch <bosch@adacore.com>
16036
16037 * cstand.adb (P_Float_Type): New procedure to print the definition of
16038 predefined fpt types.
16039 (P_Mixed_Name): New procedure to print a name using mixed case
16040 (Print_Standard): Use P_Float_Type for printing floating point types
16041 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
16042 precision IEEE float.
16043
160442011-08-01 Thomas Quinot <quinot@adacore.com>
16045
16046 * sem_ch3.adb: Minor reformatting.
16047
160482011-08-01 Ed Schonberg <schonberg@adacore.com>
16049
16050 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
16051 the completion of a generic function, insert the new body rather than
16052 rewriting the original.
16053
160542011-08-01 Yannick Moy <moy@adacore.com>
16055
16056 * sinfo.ads, errout.ads: Typos in comments.
16057
1c54829e
AC
160582011-08-01 Robert Dewar <dewar@adacore.com>
16059
16060 * par-endh.adb: Minor reformatting.
16061
160622011-08-01 Robert Dewar <dewar@adacore.com>
16063
16064 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
16065 (Pre_Post_Aspects): New subtype.
16066 * par-ch12.adb (P_Generic): New syntax for aspects in packages
16067 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
16068 * par-ch7.adb (P_Package): Remove Decl parameter
16069 (P_Package): Handle new syntax for aspects (before IS)
16070 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
16071 new aspect syntax
16072 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
16073 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
16074 (P_Package): Remove Decl parameter
16075 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
16076 aspects
16077 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
16078 specs
16079 * sem_util.ads, sem_util.adb (Static_Boolean): New function
16080 * sinfo.ads: Document new syntax for aspects in packages etc.
16081 * sprint.adb: Handle new syntax of aspects before IS in package
16082
160832011-08-01 Thomas Quinot <quinot@adacore.com>
16084
16085 * atree.ads: Minor reformatting.
16086 * sem_prag.adb: Minor reformatting.
16087
160882011-08-01 Robert Dewar <dewar@adacore.com>
16089
16090 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
16091 case expr alternative.
16092
160932011-08-01 Ed Schonberg <schonberg@adacore.com>
16094
16095 * sem_ch12.adb: Fix typo.
16096
9eea4346
GB
160972011-08-01 Geert Bosch <bosch@adacore.com>
16098
16099 * sem_prag.adb (Check_No_Link_Name): New procedure.
16100 (Process_Import_Or_Interface): Use Check_No_Link_Name.
16101 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
16102 instead of Standard_Long_Long_Float_Size global. Preparation for
16103 eventual removal of per type constants.
16104 * exp_util.ads (Get_Stream_Size): New function returning the stream
16105 size value of subtype E.
16106 * exp_util.adb (Get_Stream_Size): Implement new function.
16107 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
16108 function.
16109 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
16110 * einfo.adb:
16111 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
16112
3d6c3bd7
GB
161132011-08-01 Geert Bosch <bosch@adacore.com>
16114
16115 * cstand.adb: Fix comments.
16116 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
16117 count of arguments.
16118
e7d897b8
AC
161192011-08-01 Robert Dewar <dewar@adacore.com>
16120
16121 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
16122
161232011-08-01 Geert Bosch <bosch@adacore.com>
16124
16125 * atree.ads: Fix comment.
16126
c228a069
AC
161272011-08-01 Robert Dewar <dewar@adacore.com>
16128
16129 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
16130 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
16131 * par.adb: Add with for Namet.Sp.
16132 * par-tchk.adb: Minor reformatting.
16133
161342011-08-01 Vincent Celier <celier@adacore.com>
16135
16136 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
16137 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
16138 of the init procedure of a SAL.
16139 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
16140 New procedure.
16141
161422011-08-01 Thomas Quinot <quinot@adacore.com>
16143
16144 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
16145 reformatting.
16146
161472011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16148
16149 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
16150
161512011-08-01 Thomas Quinot <quinot@adacore.com>
16152
16153 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
16154 conformant with its spec (return True only for types that have
16155 an overriding Initialize primitive operation that prevents them from
16156 having preelaborable initialization).
16157 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
16158 initialization for controlled types in Ada 2005 or later mode.
16159
857ade1b
RD
161602011-08-01 Robert Dewar <dewar@adacore.com>
16161
16162 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
16163 Postcondition.
16164 (Same_Aspect): New function.
16165 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
16166 Type_Invariant, Precondition, Postcondition.
16167 * snames.ads-tmpl: Add Name_Type_Invariant.
16168
bd949ee2
RD
161692011-08-01 Robert Dewar <dewar@adacore.com>
16170
16171 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
16172 here.
16173 (Freeze_All_Ent): Fix error in handling inherited aspects.
16174 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
16175 already analyzed, but don't skip entire processing of a declaration,
16176 that's wrong in some cases of declarations being rewritten.
16177 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
16178 Don't delay for integer, string literals
16179 Treat predicates in usual manner for delay, remove special case code,
16180 not needed.
16181 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
16182 (Build_Predicate_Function): Update saved expression in aspect
16183 (Build_Invariant_Procedure): Update saved expression in aspect
16184 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
16185 of replacement of discriminant references if the reference is simple.
16186
f1c952af
RD
161872011-08-01 Robert Dewar <dewar@adacore.com>
16188
16189 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
16190 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
16191 Static_Predicate and Dynamic_Predicate.
16192 (Build_Predicate_Function): Add processing for Static_Predicate
16193 and Dynamic_Predicate.
16194 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
16195 (From_Static_Predicate): New flag
16196 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
16197
161982011-08-01 Robert Dewar <dewar@adacore.com>
16199
16200 * usage.adb: Documentation cleanup for Ada version modes in usage.
16201 * expander.adb: Minor reformatting.
16202
47e11d08
AC
162032011-08-01 Robert Dewar <dewar@adacore.com>
16204
16205 * atree.ads: Minor comment fix.
16206 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
16207 a-witeio.ads, sem_prag.adb: Minor reformatting.
16208
162092011-08-01 Doug Rupp <rupp@adacore.com>
16210
16211 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
16212 pointers. Use descrip.h header file for convenience. Add some
16213 comments.
16214
162152011-08-01 Robert Dewar <dewar@adacore.com>
16216
16217 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
16218 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
16219 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
16220 New procedure.
16221 (Check_Aspect_At_End_Of_Declarations): New procedure
16222 (Analye_Aspect_Specification): Minor changes for above procedures
16223 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
16224 specification node as well.
16225
162262011-08-01 Pascal Obry <obry@adacore.com>
16227
16228 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
16229 Windows files. Use GetFilesAttributes() in this case to check for file
16230 existence instead of returning with an error code.
16231
a3a16b21
VC
162322011-08-01 Vincent Celier <celier@adacore.com>
16233
16234 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
16235 High is above Source length.
16236
ff58cc69
RD
162372011-08-01 Robert Dewar <dewar@adacore.com>
16238
16239 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
16240
6bb88533
AC
162412011-08-01 Robert Dewar <dewar@adacore.com>
16242
16243 * aspects.ads (Boolean_Aspects): New subtype.
16244 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
16245 for derived types in cases where the parent type and derived type have
16246 aspects.
16247 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
16248 with aspects when parent type also has aspects.
16249 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
16250 boolean expression at this point).
16251 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
16252 accordance with final decision on the Ada 2012 feature.
16253 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
16254
162552011-08-01 Matthew Heaney <heaney@adacore.com>
16256
16257 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
16258
060a3f28
AC
162592011-08-01 Pascal Obry <obry@adacore.com>
16260
16261 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
16262 Fix Replace_Slice when High is above current string size.
16263 (Replace_Slice): Fix DL computation when High is above current
16264 string length.
16265
162662011-08-01 Gary Dismukes <dismukes@adacore.com>
16267
16268 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
16269
e7f567a3
AC
162702011-08-01 Matthew Heaney <heaney@adacore.com>
16271
16272 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
16273 of node.
16274
162752011-08-01 Pascal Obry <obry@adacore.com>
16276
16277 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
16278 reformatting.
16279
1a265e78
AC
162802011-08-01 Ed Schonberg <schonberg@adacore.com>
16281
16282 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
16283 access to protected subprograms in generic bodies.
16284 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
16285 protected type, indicate that the convention of the subprogram is
16286 Convention_Protected, because it may be used in subsequent declarations
16287 within the protected declaration.
16288
162892011-08-01 Vincent Celier <celier@adacore.com>
16290
16291 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
16292 and "final" procedures when the name of the library is "ada", to avoid
16293 duplicate symbols "adainit" and "adafinal" in executables.
16294
67e28ef8
ES
162952011-08-01 Ed Schonberg <schonberg@adacore.com>
16296
16297 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
16298 quantified expression that appears within a postcondition and uses the
16299 Ada2012 'Result attribute.
16300
6da2ca7d
RO
163012011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16302
16303 * init.c (__gnat_error_handler): Cast reason to int.
16304 (__gnat_install_handler): Explain sa_sigaction use.
16305
7d5997c6
EB
163062011-07-24 Eric Botcazou <ebotcazou@adacore.com>
16307
16308 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
16309 subprogram has copy-in copy-out parameters, try to promote the mode of
16310 the return type if it is passed in registers.
16311
4b4cfdd5
EB
163122011-07-24 Eric Botcazou <ebotcazou@adacore.com>
16313
16314 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
16315 left operand as addressable.
16316
f3d34576
EB
163172011-07-24 Eric Botcazou <ebotcazou@adacore.com>
16318
16319 * gcc-interface/gigi.h (build_function_stub): Remove.
16320 (build_return_expr): Likewise.
16321 (convert_vms_descriptor): Declare.
16322 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
16323 (build_function_stub): Move to...
16324 * gcc-interface/utils2.c (build_return_expr): Move to...
16325 * gcc-interface/trans.c (build_function_stub): ...here.
16326 (build_return_expr): ...here.
16327 (Subprogram_Body_to_gnu): Add local variable for language_function.
16328 Disconnect the parameter attributes cache, if any, once done with it.
16329 Call end_subprog_body only after setting the end_locus.
16330 Build the stub associated with the function, if any, at the very end.
16331 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
16332 variables and streamline control flow.
16333
0a6ecc08
AC
163342011-07-23 Arnaud Charlet <charlet@adacore.com>
16335
16336 PR ada/49819
16337 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
16338 g-trasym-dwarf.adb.
16339
5b6d595b
RO
163402011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16341
16342 PR bootstrap/49794
16343 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
16344 Assign to act.sa_sigaction.
16345 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
16346 current->return_address to char * before arithmetic.
16347
94017021
RO
163482011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16349
16350 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
16351 Correct argument types.
16352 Extract code from reason.
16353 (__gnat_install_handler): Assign to act.sa_sigaction.
16354
52fd02bb
EB
163552011-07-21 Eric Botcazou <ebotcazou@adacore.com>
16356
16357 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
16358 (GNAT1_OBJS): ...here.
16359
f39a9ca2
EB
163602011-07-15 Eric Botcazou <ebotcazou@adacore.com>
16361
16362 PR ada/48711
16363 * g-socthi-mingw.adb (Fill): Fix formatting.
16364
9e36aa23
EB
16365 * gcc-interface/gigi.h: Move around comment.
16366
e3aca522
JDA
163672011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16368
16369 PR ada/46350
16370 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
16371
696b1960
FW
163722011-07-14 Florian Weimer <fw@deneb.enyo.de>
16373
16374 PR ada/48711
16375 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
16376
f542c405
EB
163772011-07-13 Eric Botcazou <ebotcazou@adacore.com>
16378
16379 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
16380 range comparison if Pmode is SImode.
16381
9e9bd455
LG
163822011-07-12 Laurent GUERBY <laurent@guerby.net>
16383 Eric Botcazou <ebotcazou@adacore.com>
16384
16385 * adadecode.c: Wrap up in extern "C" block.
16386 * adadecode.h: Likewise.
16387 * adaint.c: Likewise. Remove 'const' keyword.
16388 * adaint.h: Likewise.
16389 * argv.c: Likewise.
16390 * atree.h: Likewise.
16391 * cio.c: Likewise.
16392 * cstreams.c: Likewise.
16393 * env.c: Likewise.
16394 * exit.c: Likewise.
16395 * fe.h: Likewise.
16396 * final.c: Likewise.
16397 * init.c: Likewise.
16398 * initialize.c: Likewise.
16399 * link.c: Likewise.
16400 * namet.h: Likewise.
16401 * nlists.h: Likewise.
16402 * raise.c: Likewise.
16403 * raise.h: Likewise.
16404 * repinfo.h: Likewise.
16405 * seh_init.c: Likewise.
16406 * targext.c: Likewise.
16407 * tracebak.c: Likewise.
16408 * uintp.h: Likewise.
16409 * urealp.h: Likewise.
16410 * xeinfo.adb: Wrap up generated C code in extern "C" block.
16411 * xsinfo.adb: Likewise.
16412 * xsnamest.adb: Likewise.
16413 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
16414 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
16415 * gcc-interface/misc.c: Likewise.
16416 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
16417 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
16418 ada/targext.o here...
16419 (GNAT_ADA_OBJS): ...and not here.
16420 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
16421 (GNATBIND_OBJS): Reorder.
16422
7644b3c7
RH
164232011-07-07 Richard Henderson <rth@redhat.com>
16424
16425 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
16426 dwarf2out_frame_init.
16427
8384ac41
EB
164282011-07-07 Eric Botcazou <ebotcazou@adacore.com>
16429
16430 * gcc-interface/misc.c (gnat_init): Tweak previous change.
16431
fbdd5d87
RO
164322011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16433
16434 PR target/39150
16435 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
16436
1a072294
RG
164372011-07-06 Richard Guenther <rguenther@suse.de>
16438
8384ac41
EB
16439 * gcc-interface/misc.c (gnat_init): Merge calls to
16440 build_common_tree_nodes and build_common_tree_nodes_2.
1a072294
RG
16441 Re-initialize boolean_false_node.
16442
bc712852
EB
164432011-07-02 Eric Botcazou <ebotcazou@adacore.com>
16444 Olivier Hainque <hainque@adacore.com>
16445 Nicolas Setton <setton@adacore.com>
16446
16447 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
16448 the type according to the ARTIFICIAL_P parameter.
16449 (create_type_decl): Likewise.
16450 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
16451
2eb22389
EB
164522011-07-01 Eric Botcazou <ebotcazou@adacore.com>
16453
16454 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
16455 (gnatbind): Likewise.
16456
4bdaaf2f
RO
164572011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16458
16459 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
16460
c020c92b
EB
164612011-06-18 Eric Botcazou <ebotcazou@adacore.com>
16462
16463 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
16464 local variable throughout. Remove useless call to Base_Type.
16465 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
16466 Take it also into account for the volatileness of the field. Set the
16467 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
16468
96769d32
EB
164692011-06-18 Eric Botcazou <ebotcazou@adacore.com>
16470
16471 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
16472 on a dereference built for a by-ref object if it has an address clause.
16473
7e4680c1
EB
164742011-06-18 Eric Botcazou <ebotcazou@adacore.com>
16475
16476 * einfo.ads (Address_Taken): Document use for the second argument of
16477 Asm_Input and Asm_Output attributes.
16478 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
16479 argument is an entity name, then set Address_Taken on it.
16480 <Attribute_Asm_Output>: Likewise.
16481 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
16482 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
16483 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
16484 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
16485
164862011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
d5cc9181
JR
16487
16488 PR middle-end/46500
16489 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
16490
677f3fa8
JM
164912011-06-14 Joseph Myers <joseph@codesourcery.com>
16492
16493 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
16494 (ada/utils.o): Update dependencies.
16495 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
16496 ../../../libcpp/libcpp.a.
16497 * gcc-interface/utils.c: Include common/common-target.h.
16498 (process_attributes): Use targetm_common.have_named_sections.
16499
009db074
RG
165002011-06-07 Richard Guenther <rguenther@suse.de>
16501
0bad0e23
EB
16502 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
16503 set_sizetype.
009db074 16504
3bfc61cf
EB
165052011-06-06 Eric Botcazou <ebotcazou@adacore.com>
16506
0bad0e23 16507 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
3bfc61cf
EB
16508 TREE_THIS_NOTRAP flag.
16509
5c4a1c7b
EB
165102011-06-06 Eric Botcazou <ebotcazou@adacore.com>
16511
16512 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
16513 Fix thinko.
16514
e9f57686
EB
165152011-06-06 Eric Botcazou <ebotcazou@adacore.com>
16516
16517 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
16518 constants whose full view has discriminants specially.
16519
10e4d056
EB
165202011-06-06 Eric Botcazou <ebotcazou@adacore.com>
16521
16522 * gcc-interface/utils.c: Include diagnostic.h.
16523 (gnat_write_global_declarations): Output debug information for all
16524 global type declarations before finalizing the compilation unit.
16525 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
16526
0957c029
JJ
165272011-05-25 Jakub Jelinek <jakub@redhat.com>
16528
16529 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
16530
52d0a7ac
KT
165312011-05-25 Kai Tietz <ktietz@redhat.com>
16532
16533 * adaint.c (__gnat_to_canonical_file_list_next): Use array
16534 initialization instead of const/none-const pointer assignment.
16535
1ed1641d
JM
165362011-05-24 Joseph Myers <joseph@codesourcery.com>
16537
16538 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
16539 $(EXTRA_GNAT1_OBJS).
16540 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
16541 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
16542 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
16543 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
16544 libcommon-target.a instead of prefix.o.
16545
9fe72ebd
JM
165462011-05-21 Joseph Myers <joseph@codesourcery.com>
16547
16548 PR ada/49097
0bad0e23 16549 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
9fe72ebd 16550
2691e6d7
JM
165512011-05-20 Joseph Myers <joseph@codesourcery.com>
16552
0bad0e23
EB
16553 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
16554 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
16555 instead of version.o.
2691e6d7 16556
2d0dd51a 165572011-05-18 Kai Tietz <ktietz@redhat.com>
bf6490b5
KT
16558
16559 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
16560 boolean_false_node instead of integer_zero_node.
16561 (convert_with_check): Likewise.
16562 * gcc-interface/decl.c (choices_to_gnu): Likewise.
16563
7bf9a5ac
EB
165642011-05-12 Eric Botcazou <ebotcazou@adacore.com>
16565
16566 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
16567 type of the parameter is an unconstrained array, convert the actual to
16568 the type of the formal in the In Out and Out cases as well.
16569
e5b00edf
NF
165702011-05-11 Nathan Froyd <froydnj@codesourcery.com>
16571
16572 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
16573 call build_function_type_array or build_varargs_function_type_array
16574 instead.
16575 (create_subprog_type): Don't call build_function_type; call
16576 build_function_type_vec instead.
16577
51545682
NF
165782011-05-11 Nathan Froyd <froydnj@codesourcery.com>
16579
16580 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
16581 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
16582 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
16583
c99c0026
EB
165842011-05-07 Eric Botcazou <ebotcazou@adacore.com>
16585
f620bd21
EB
16586 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
16587
c99c0026
EB
16588 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
16589 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
16590
3d528853
NF
165912011-05-05 Nathan Froyd <froydnj@codesourcery.com>
16592
c99c0026 16593 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
3d528853 16594
d7d058c5
NF
165952011-05-05 Nathan Froyd <froydnj@codesourcery.com>
16596
16597 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
16598 instead of accessing TYPE_ARG_TYPES directly.
16599 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
16600
805e60a0
EB
166012011-05-05 Eric Botcazou <ebotcazou@adacore.com>
16602
16603 PR ada/48844
16604 * gcc-interface/gigi.h (get_variant_part): Declare.
16605 * gcc-interface/decl.c (get_variant_part): Make global.
16606 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
16607 types have the same constant size, are record types and T1 has a
16608 variant part while T2 doesn't.
16609
907a08d9
EB
166102011-05-05 Eric Botcazou <ebotcazou@adacore.com>
16611
16612 * gcc-interface/utils.c (begin_subprog_body): Do not call
16613 get_pending_sizes.
16614 (end_subprog_body): Likewise.
16615
d35936ab
RG
166162011-05-04 Richard Guenther <rguenther@suse.de>
16617
16618 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
16619 int_const_binop.
16620 (pos_to_constructor): Likewise.
16621
c1fd8753 166222011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2c7f9cc0 16623 Eric Botcazou <ebotcazou@adacore.com>
c1fd8753
NF
16624
16625 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
16626 of build_function_type. Adjust calls to...
16627 (build_raise_check): ...this. Do not take a void_tree parameter.
16628 Call build_function_type_list instead of build_function_type.
16629 Fix head comment and swap couple of conditional blocks.
16630
4fb87d2b
EB
166312011-04-30 Eric Botcazou <ebotcazou@adacore.com>
16632
16633 * gnatvsn.ads (Library_Version): Bump to 4.7.
16634 (Current_Year): Bump to 2011.
16635
fa5e5a76
MM
166362011-04-29 Michael Matz <matz@suse.de>
16637
16638 * gcc-interface/misc.c (gnat_handle_option): Set
16639 warn_maybe_uninitialized.
16640
8d6a2f69
GP
166412011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
16642
16643 * gnat_ugn.texi (Complexity Metrics Control): Update link to
16644 the Watson/McCabe paper.
16645
770937fd
JM
166462011-04-23 Jim Meyering <meyering@redhat.com>
16647
16648 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
16649
eb601ae1
EB
166502011-04-22 Eric Botcazou <ebotcazou@adacore.com>
16651
16652 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
16653 onto the new type.
16654
7d7fcb08
EB
166552011-04-22 Eric Botcazou <ebotcazou@adacore.com>
16656
16657 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
16658 parameter.
16659 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
16660 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
16661 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
16662 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
16663 <all>: Do not set flags on the reused DECL node coming from an alias.
16664 Set DECL_IGNORED_P on the DECL node built for subprograms if they
16665 don't need debug info here...
16666 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
16667 (gigi): Adjust calls to create_subprog_decl.
16668 (build_raise_check): Likewise.
16669 (establish_gnat_vms_condition_handler): Likewise.
16670 (Compilation_Unit_to_gnu): Likewise.
16671 (gnat_to_gnu): Likewise.
16672
e1876cac
EB
166732011-04-21 Eric Botcazou <ebotcazou@adacore.com>
16674
16675 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
16676 (NO_REORDER_ADAFLAGS): New variable.
16677 (EXTRA_GNATTOOLS): Always define.
16678 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
16679 Clean up and adjust list of files compiled with special options.
16680 * gcc-interface/Make-lang.in: Likewise.
16681 (ada/decl.o): Cosmetical change.
16682 (ada/misc.o): Remove dependency on $(PLUGIN_H).
16683
04695783
JM
166842011-04-20 Jim Meyering <meyering@redhat.com>
16685
16686 * initialize.c (__gnat_initialize): Remove useless if-before-free.
16687
23399579
EB
166882011-04-17 Eric Botcazou <ebotcazou@adacore.com>
16689
16690 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
16691 $(CFLAGS) on the link line.
16692
51c5169c
EB
166932011-04-17 Eric Botcazou <ebotcazou@adacore.com>
16694
16695 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
16696 padded type built for the return type if it is unconstrained.
16697
61e46a7d
NF
166982011-04-14 Nathan Froyd <froydnj@codesourcery.com>
16699
16700 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
16701
81f653d6
NF
167022011-04-12 Nathan Froyd <froydnj@codesourcery.com>
16703
b4867846
EB
16704 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
16705 before calling TREE_CHAIN.
81f653d6
NF
16706 * gcc-interface/misc.c (gnat_init_ts): New function.
16707 (LANG_HOOKS_INIT_TS): Define.
16708
a358e188
MJ
167092011-04-12 Martin Jambor <mjambor@suse.cz>
16710
b4867846
EB
16711 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
16712 instead of cgraph_node.
a358e188 16713
29b1c5a4
EB
167142011-04-08 Eric Botcazou <ebotcazou@adacore.com>
16715
16716 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
16717 alignment on fields of the RETURN type built for the Copy-In Copy-Out
16718 mechanism.
16719
88872b00
EB
167202011-04-08 Eric Botcazou <ebotcazou@adacore.com>
16721
16722 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
16723 of aggregate types that contain a placeholder.
16724
dcf0c47e
NF
167252011-04-08 Nathan Froyd <froydnj@codesourcery.com>
16726
16727 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
b4867846 16728 TYPE_ARG_TYPES.
dcf0c47e
NF
16729 (handle_type_generic_attribute): Likewise.
16730
53e3000c
EB
167312011-04-04 Eric Botcazou <ebotcazou@adacore.com>
16732
16733 PR ada/47163
16734 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
16735
ab380bb4
KT
167362011-04-04 Kai Tietz <ktietz@redhat.com>
16737
16738 PR ada/47163
0bad0e23
EB
16739 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
16740 to flag value.
ab380bb4 16741
8ffac116
EB
167422011-04-02 Eric Botcazou <ebotcazou@adacore.com>
16743
16744 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
16745 type case, do not strip a padding type around the array type.
16746
de9528f0
EB
167472011-04-02 Eric Botcazou <ebotcazou@adacore.com>
16748
16749 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
16750 types.
16751
d9d7a26c
EB
167522011-04-02 Eric Botcazou <ebotcazou@adacore.com>
16753
16754 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
16755 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
de9528f0 16756 code for -feliminate-unused-debug-types.
d9d7a26c
EB
16757 (gnat_post_options): Likewise.
16758
4cb12a90
EB
167592011-04-02 Eric Botcazou <ebotcazou@adacore.com>
16760
16761 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
16762 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
16763 distinct copy.
16764
acccc61c
EB
167652011-04-02 Eric Botcazou <ebotcazou@adacore.com>
16766
16767 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
16768 DECL_ARTIFICIAL flag on enumeration types.
16769
583eb0c9
EB
167702011-04-02 Eric Botcazou <ebotcazou@adacore.com>
16771
16772 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
16773 fat pointer types artificial unconditionally.
16774 <E_Array_Subtype>: Attach the base array type as a parallel type if it
16775 isn't artificial.
16776
e3edbd56
EB
167772011-04-02 Eric Botcazou <ebotcazou@adacore.com>
16778
16779 * gcc-interface/gigi.h (get_dummy_type): Declare.
16780 (build_dummy_unc_pointer_types): Likewise.
16781 (finish_fat_pointer_type): Likewise.
16782 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
16783 fat pointer type has been built, complete it in place.
16784 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
16785 and thin pointers. Remove useless variable.
16786 (finish_fat_pointer_type): Make global and move to...
16787 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
16788 (get_dummy_type): New function.
16789 (build_dummy_unc_pointer_types): Likewise.
16790 (gnat_pushdecl): Propage the name to the anonymous variants only.
16791 (update_pointer_to): Only adjust the pointer types in the unconstrained
16792 array case.
16793
65444786
EB
167942011-04-02 Eric Botcazou <ebotcazou@adacore.com>
16795
16796 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
16797 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
16798 if this is a Taft amendment type and the full declaration is available.
16799 * gcc-interface/trans.c (process_type): Likewise.
16800 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
16801 (process_freeze_entity): Likewise.
16802 * gcc-interface/utils.c (dummy_global): New static variable.
16803 (gnat_write_global_declarations): If there are types declared as used
16804 at the global level, insert them in the global hash table.
16805
1aeb40dd
EB
168062011-04-02 Eric Botcazou <ebotcazou@adacore.com>
16807
16808 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
16809 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
16810 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
16811 copy.
16812 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
16813 flag of the type accordingly.
16814 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
16815
80ec8b4c
EB
168162011-04-02 Eric Botcazou <ebotcazou@adacore.com>
16817
16818 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
16819 finalizing types when updating the pointers to the designated type.
16820 <all>: Finalize the deferred types even if we didn't defer processing
16821 of incomplete types in this invocation.
16822
2a9d769a 168232011-04-01 Olivier Hainque <hainque@adacore.com>
2c7f9cc0
AS
16824 Nicolas Setton <setton@adacore.com>
16825 Eric Botcazou <ebotcazou@adacore.com>
2a9d769a
OH
16826
16827 * gcc-interface/misc.c (gnat_descriptive_type): New function.
16828 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
16829
2438d7a6
KT
168302011-03-28 Kai Tietz <ktietz@redhat.com>
16831
333d8aff 16832 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
80ec8b4c
EB
16833 Windows targets.
16834 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
16835 * system-mingw.ads (System): Change ZCX_By_Default default to True.
333d8aff 16836
80ec8b4c 16837 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
2438d7a6 16838
8ad150f6
TG
168392011-03-28 Tristan Gingold <gingold@adacore.com>
16840
16841 PR ada/44431
80ec8b4c
EB
16842 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
16843 Use ada output of gnatbind.
8ad150f6
TG
16844 (ada/b_gnatb.adb): Ditto.
16845 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
16846 (ada.mostlyclean, ada.stage1)
16847 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
16848 (ada.stagefeedback): Adjust.
80ec8b4c 16849 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
8ad150f6
TG
16850 Use ada output of gnatbind.
16851 (b_gnatm.adb): Ditto.
16852 (b_gnatl.o, b_gnatm.o): New rules.
16853
51c7954d
EB
168542011-03-26 Eric Botcazou <ebotcazou@adacore.com>
16855
16856 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
16857 for the padded type built to support a specified size or alignment.
16858
6ddf9843
EB
168592011-03-26 Eric Botcazou <ebotcazou@adacore.com>
16860
16861 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
16862 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
16863 unconditionally to the end of the unit when the designated type is
16864 limited_with'ed.
16865 <all>: Rename local variable. Attempt to un-defer types only and do it
16866 for limited_with'ed types as well.
16867 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
16868 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
16869 consistently and remove redundant call to finalize_from_with_types.
16870
5daed84a
EB
168712011-03-26 Eric Botcazou <ebotcazou@adacore.com>
16872
16873 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
16874 subprograms without a previous spec declared in the same unit.
16875 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
16876 subprograms at the end of the unit instead of at the beginning.
16877 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
16878 isn't public for the special handling of non-inline functions nested
16879 inside inline external functions.
16880
0edf1bb2
JL
168812011-03-25 Jeff Law <law@redhat.com>
16882
5daed84a 16883 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
0edf1bb2 16884
e3c4580e
EB
168852011-03-24 Eric Botcazou <ebotcazou@adacore.com>
16886
16887 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
16888 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
16889 to compute Set_Size_Depends_On_Discriminant.
16890 (Layout_Type): Call it on array types in back-end layout mode.
16891 * sem_util.adb (Requires_Transient_Scope): Return true for array
16892 types only if the size depends on the value of discriminants.
16893 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
16894 type if the RHS is a call to a function that returns an unconstrained
16895 type with default discriminant.
16896
abbc8c7b
EB
168972011-03-24 Eric Botcazou <ebotcazou@adacore.com>
16898
16899 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
16900 non-conversion to the nominal result type at the end.
16901
ddb5a105
EB
169022011-03-23 Eric Botcazou <ebotcazou@adacore.com>
16903
16904 * gcc-interface/trans.c (create_temporary): New function taken from...
16905 (create_init_temporary): ...here. Call it.
16906 (call_to_gnu): Create the temporary for the return value early, if any.
16907 Create it for a function with copy-in/copy-out parameters if there is
16908 no target; in other cases of copy-in/copy-out, use another temporary.
16909 Push the new binding level lazily. Add and rename local variables.
16910
0d853156
EB
169112011-03-23 Eric Botcazou <ebotcazou@adacore.com>
16912
16913 * gcc-interface/decl.c (validate_size): Improve comments and tweak
16914 error message.
16915 (set_rm_size): Likewise.
16916
4184ef1b
EB
169172011-03-23 Eric Botcazou <ebotcazou@adacore.com>
16918
16919 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
16920 for the padded type built in order to support a specified alignment.
16921 Fix incorrect formatting.
16922
bf7eefab
EB
169232011-03-21 Eric Botcazou <ebotcazou@adacore.com>
16924
16925 PR bootstrap/48216
16926 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
16927
ef0feeb2
EB
169282011-03-21 Eric Botcazou <ebotcazou@adacore.com>
16929
16930 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
16931 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
16932 to the end of the list. Adjust recursive call. Rename local variable.
16933 If REORDER is true, reorder components of the record type.
16934 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
16935 components_to_record and adjust the parameter list.
16936
646f9414
EB
169372011-03-21 Eric Botcazou <ebotcazou@adacore.com>
16938
16939 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
16940 disabled, use the variable for bounds of loop iteration scheme.
16941
62d784f7
KT
169422011-03-21 Kai Tietz <ktietz@redhat.com>
16943
16944 PR target/12171
0bad0e23 16945 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
62d784f7 16946
f230d759
EB
169472011-03-17 Eric Botcazou <ebotcazou@adacore.com>
16948
16949 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
16950 out whether the expression is read-only. Short-circuit placeholder
16951 case and rename a couple of local variables.
16952
bb1f7929
EB
169532011-03-17 Eric Botcazou <ebotcazou@adacore.com>
16954
16955 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
16956 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
16957 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
16958 (convert): Deal with conversions from a smaller form type specially.
16959
400a2d24
EB
169602011-02-14 Eric Botcazou <ebotcazou@adacore.com>
16961
16962 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
16963 its argument, except for the special -I- switch.
16964
c26bc3ad
GP
169652011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
16966
0bad0e23
EB
16967 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
16968 "Ada Issues".
c26bc3ad 16969
07b8e910
EB
169702011-02-08 Eric Botcazou <ebotcazou@adacore.com>
16971
16972 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
16973
31a5a547
EB
169742011-02-03 Eric Botcazou <ebotcazou@adacore.com>
16975
16976 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
16977 GNAT_FORMAL.
16978 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
16979 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
16980 instead of GNAT_FORMAL. Protect the expression against multiple uses.
16981 Do not generate the check directly, instead instantiate the template
16982 check present in the descriptor.
16983 (make_descriptor_field): Move around.
16984 (build_vms_descriptor32): Build a template check in the POINTER field.
16985 (build_vms_descriptor): Remove useless suffixes.
16986 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
16987
dcf25f59
EB
169882011-01-26 Eric Botcazou <ebotcazou@adacore.com>
16989
16990 PR bootstrap/47467
16991 * targext.c: Include target files if IN_RTS is defined.
16992
0418e131
RG
169932011-01-26 Richard Guenther <rguenther@suse.de>
16994
16995 PR bootstrap/47467
16996 * targext.c: Include config.h.
16997 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
16998 dependency.
16999
c6eecbd8 170002011-01-04 Pascal Obry <obry@adacore.com>
2c7f9cc0 17001 Eric Botcazou <ebotcazou@adacore.com>
c6eecbd8
PO
17002
17003 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
17004
2d3c7e4f
EB
170052011-01-04 Eric Botcazou <ebotcazou@adacore.com>
17006
17007 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
17008 end-of-case on the end label and its associated gotos, if any.
17009
0394741f
EB
170102011-01-04 Eric Botcazou <ebotcazou@adacore.com>
17011
17012 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
17013 expressions of the parameter cache within the statement group of
17014 the CICO mechanism.
17015
2a02d090 170162011-01-04 Olivier Hainque <hainque@adacore.com>
2c7f9cc0 17017 Eric Botcazou <ebotcazou@adacore.com>
2a02d090
OH
17018
17019 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
17020 (set_end_locus_from_node): New function.
17021 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
17022 make and the function end_locus.
17023 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
17024 for the elaboration subprogram.
17025 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
17026 set the end_locus of the expression as well.
17027
89f5e978
EB
170282011-01-04 Eric Botcazou <ebotcazou@adacore.com>
17029
17030 PR ada/47131
17031 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
17032 variables that are referenced in exception handlers volatile.
17033
17034
ad41bd84 17035\f
797103eb 17036Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
17037
17038Copying and distribution of this file, with or without modification,
17039are permitted in any medium without royalty provided the copyright
17040notice and this notice are preserved.
This page took 2.662648 seconds and 5 git commands to generate.