]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
[multiple changes]
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
87729e5a
AC
12011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
2
3 * a-tags.ads, a-tags.adb (Unregister_Tag): New routine.
4 Remove the external tag of a tagged type from the internal hash table.
5 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on the
6 expanded usage of the routine. Strenghten the check for Is_Master. Add
7 processing for tagged types.
8 (Build_Finalizer): Create all the necessary lists used in finalizer
9 creation when the processed context is a package that may contain
10 tagged types.
11 (Expand_Cleanup_Actions): Rename the call to Has_Controlled_Objects to
12 Requires_Cleanup_Actions.
13 (Expand_N_Package_Body): Package bodies may need clean up code
14 depending on whether they contain tagged types.
15 (Expand_N_Package_Declaration): Package declarations may need clean up
16 code depending on whether they contain tagged types.
17 (Unregister_Tagged_Types): New routine. Search through a list of
18 declarations or statements, looking for non-abstract Ada tagged types.
19 For each such type, generate code to unregister the external tag.
20 * exp_util.adb (Has_Controlled_Objects (Node_Id)): Renamed to
21 Requires_Cleanup_Actions.
22 (Requires_Cleanup_Actions (List_Id, Boolean)): New routine. Search
23 through a list of declarations or statements looking for non-abstract
24 Ada tagged types or controlled objects.
25 * exp_util.ads (Has_Controlled_Objects (Node_Id)): Renamed to
26 Requires_Cleanup_Actions.
27 (Has_Controlled_Objects (List_Id, Boolean)): Removed.
28 * rtsfind.ads: Add entry RE_Unregister_Tag to tables RE_Id and
29 RE_Unit_Table.
30
312011-08-04 Vincent Celier <celier@adacore.com>
32
33 * prj-env.adb (For_All_Source_Dirs.For_Project): Check if project Prj
34 has Ada sources, not project Project, because if the root project
35 Project has no sources of its own, all projects will be deemed without
36 sources.
37
382011-08-04 Gary Dismukes <dismukes@adacore.com>
39
40 * bindgen.adb (Gen_Adainit_Ada): Move the generation of the declaration
41 of the No_Param_Proc acc-to-subp type used for initialization of
42 __gnat_finalize_library_objects so that it's declared at library level
43 rather than nested inside of the adainit routine.
44
452011-08-04 Javier Miranda <miranda@adacore.com>
46
47 * exp_disp.adb (Make_DT): Generate code to check the external tag ONLY
48 if the tagged type has a representation clause which specifies its
49 external tag.
50
512011-08-04 Ed Schonberg <schonberg@adacore.com>
52
53 * einfo.ads, einfo.adb (Has_Private_Ancestor): now a flag on types.
54 Remove previous procedure with that name.
55 * sem_ch3.adb (Build_Derived_Record_Type): set Has_Private_Ancestor
56 when appropriate.
57 * sem_aggr.adb (Resolve_Extension_Aggregate): if the ancestor part is a
58 subtype mark, the ancestor cannot have unknown discriminants.
59 (Resolve_Record_Aggregate): if the type has invisible components
60 because of a private ancestor, the aggregate is illegal.
61
622011-08-04 Vincent Celier <celier@adacore.com>
63
64 * switch-m.adb (Normalize_Compiler_Switches): Recognize and take into
65 account switches -gnat2005, -gnat12 and -gnat2012.
66
672011-08-04 Bob Duff <duff@adacore.com>
68
69 * s-tasdeb.ads: Minor comment fix.
70
712011-08-04 Arnaud Charlet <charlet@adacore.com>
72
73 * gnatlink.adb (Gnatlink): Pass -gnat83/95/05/12 switch to gcc in
74 CodePeer mode.
75 * switch.ads, switch.adb (Is_Language_Switch): New function.
76
772011-08-04 Vincent Celier <celier@adacore.com>
78
79 * switch-c.adb: Minor comment addition.
80
812011-08-04 Vincent Celier <celier@adacore.com>
82
83 * vms_conv.adb (Process_Argument): Fail graciously when qualifier
84 ending with '=' is followed by a space (missing file name).
85
862011-08-04 Pascal Obry <obry@adacore.com>
87
88 * g-regist.ads: Fix size of HKEY on x86_64-windows.
89
902011-08-04 Ed Schonberg <schonberg@adacore.com>
91
92 * sem_ch12.adb (Analyze_Associations): New routine
93 Check_Overloaded_Formal_Subprogram to reject a formal package when
94 there is a named association or a box initialisation for an overloaded
95 formal subprogram of the corresponding generic.
96
972011-08-04 Yannick Moy <moy@adacore.com>
98
99 * alfa.ads (ALFA_Xref_Record): add component for type of entity
100 * get_alfa.adb, put_alfa.adb: Read and write new component of
101 cross-reference.
102 * lib-xref-alfa.adb (Collect_ALFA): generate new component.
103
88f47280
AC
1042011-08-04 Pascal Obry <obry@adacore.com>
105
106 * urealp.adb: Minor reformatting.
107
1082011-08-04 Tristan Gingold <gingold@adacore.com>
109
110 * exp_ch7.adb (build_finalizer.process_declarations.processing_actions):
111 Handle the case when Cleanup_Protected_Object returns Empty.
112
1132011-08-04 Yannick Moy <moy@adacore.com>
114
115 * frontend.adb (Frontend): only qualify names in non-ALFA mode
116
1172011-08-04 Ed Schonberg <schonberg@adacore.com>
118
119 * sem_ch4.adb (Try_Class_Wide_Operation): if the context is a procedure
120 call, ignore functions.
121
05c53a69
GB
1222011-08-04 Geert Bosch <bosch@adacore.com>
123
124 * urealp.adb (Equivalent_Decimal_Exponent): Avoid the use of floating
125 point.
126
23cc1ace
EB
1272011-08-04 Emmanuel Briot <briot@adacore.com>
128
129 * makeutl.adb (Compute_Builder_Switches): no longer accept a unit name
130 as an index for Builder'Switches. This conforms to the documentation.
131 * make.adb (Insert_Project_Sources): avoid duplicate code
132
cef14201
AC
1332011-08-04 Emmanuel Briot <briot@adacore.com>
134
135 * makeutl.adb (Complete_Mains): if the user has passed a relative file
136 name on the command line (for instance "../dummy"), never assume it can
137 be a unit name.
138
1392011-08-04 Tristan Gingold <gingold@adacore.com>
140
141 * bindgen.adb: Remove code the reference or create the
142 Break_Start/__gnat_break_start procedure.
143 * s-stalib.adb (Break_Start): Removed.
144
e2fee30d
EB
1452011-08-04 Emmanuel Briot <briot@adacore.com>
146
147 * make.adb, makeutl.adb, makeutl.ads (Compute_Builder_Switches): now
148 shared with gprbuild.
149
2d395256
AC
1502011-08-04 Yannick Moy <moy@adacore.com>
151
152 * par-ch4.adb (P_Primary): preferentially issue an error message about
153 a missing parenthesis arount a conditional or case expression in Ada
154 2012 mode, if we detect that the alignment is not correct for a
155 statement.
156
1572011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
158
159 * exp_ch7.adb (Process_Declarations): Do not consider the result of a
160 tag-to-class-wide conversion as needing finalization actions.
161 * exp_util.adb (Has_Controlled_Objects): Do not consider the result of
162 a tag-to-class-wide conversion as needing finalization actions.
163 (Is_Finalizable_Transient): The result of a tag-to-class-wide
164 conversion does not need finalization actions.
165 (Is_Tag_To_CW_Conversion): New routine.
166 * exp_util.ads (Is_Tag_To_CW_Conversion): New routine. Determines
167 whether an object is the result of a tag-to-class-wide conversion.
168
1692011-08-04 Yannick Moy <moy@adacore.com>
170
171 * sem_ch13.adb (Analyze_Aspect_Specifications): correct order in which
172 the left-hand-side and right-hand-side of a conjunct are inserted when
173 translating a pre- or postcondition
174 * sem_ch6.adb: Correct typo in comment
175
1762011-08-04 Ed Schonberg <schonberg@adacore.com>
177
178 * gnat_rm.texi: Ravenscar does not prohibit dependence on
179 Unchecked_Conversion and Unchecked_Deallocation.
180
1812011-08-04 Thomas Quinot <quinot@adacore.com>
182
183 * make.adb: Minor reformatting.
184
767ab2fd
EB
1852011-08-04 Emmanuel Briot <briot@adacore.com>
186
187 * prj.adb, prj.ads, makeutl.adb (Complete_Mains): search for the
188 sources in the project and its imported projects, but not in the whole
189 tree.
190
8fb3f5df
AC
1912011-08-04 Emmanuel Briot <briot@adacore.com>
192
193 * make.adb: Remove debug trace.
194
1952011-08-04 Vincent Celier <celier@adacore.com>
196
197 * makeutl.adb (Do_Complete): Get the absolute path name of a relative
198 path in canonical form, to be able to compare path names on platforms
199 such as Windows or Darwin.
200
2012011-08-04 Thomas Quinot <quinot@adacore.com>
202
203 * par_sco.adb (Traverse_Declarations_Or_Statements.Set_Statement_Entry):
204 For a pragma (statement with C1 = 'P'), record the sloc of the pragma.
205 * scos.ads: Update documentation accordingly.
206 * put_scos.adb (Output_SCO_Line): Omit statement SCOs for disabled
207 pragmas.
208
9515740f
AC
2092011-08-04 Ed Schonberg <schonberg@adacore.com>
210
211 * sem_attr.adb (Bad_Attribute_For_Predicate): flag illegal use of
212 attribute only if prefix type is scalar.
213
2142011-08-04 Emmanuel Briot <briot@adacore.com>
215
216 * make.adb, makeutl.adb, prj-env.adb (Check_Mains): put back support
217 in gnatmake for specifying mains on the command line that do not belong
218 to the main project. These mains must currently all belong to the same
219 project, though.
220 (Ultimate_Extension_Of): removed, since duplicated
221 Ultimate_Extending_Project.
222
92966893
AC
2232011-08-04 Arnaud Charlet <charlet@adacore.com>
224
225 * make.adb (Do_Codepeer_Globalize_Step): Removed. Use CodePeer_Mode
226 instead.
227 (CodePeer_Mode_String): New.
228 (Linking_Phase, Binding_Phase): Call gnatlink with -P switch in
229 CodePeer mode.
230 (Scan_Make_Arg): Do not disable binding/linking phase in CodePeer mode.
231 * bindgen.adb (Gen_Elab_Calls_Ada): Ignore subprograms in CodePeer
232 mode, since no useful elaboration subprogram is needed by CodePeer.
233 * gnatlink.adb (Gnatlink): Add support for -P switch (CodePeer mode).
234 In this mode, compile binder file with -gnatC and do stop after this
235 step.
236
2372011-08-04 Vincent Celier <celier@adacore.com>
238
239 * exp_ch7.adb: Minor comment fix.
240
5969611f
RD
2412011-08-04 Robert Dewar <dewar@adacore.com>
242
243 * exp_ch7.adb, make.adb, sem_ch10.adb, bindgen.adb, sem_res.adb,
244 exp_ch4.adb, makeutl.adb: Minor reformatting.
245
6367dd30
AC
2462011-08-04 Emmanuel Briot <briot@adacore.com>
247
248 * make.adb, makeutl.adb, makeutl.ads (Make): major refactoring.
249 Create several new subprograms to move code out of Make. This makes the
250 code more readable, removes code duplication, and is a preparation work
251 for adding support for aggregate projects.
252
2532011-08-04 Tristan Gingold <gingold@adacore.com>
254
255 * s-po32gl.ads, s-po32gl.adb: New files.
256 * exp_ch7.ads (Get_Global_Pool_For_Access_Type): New function.
257 * exp_ch7.adb (Get_Global_Pool_For_Access_Type): New function.
258 (Build_Finalization_Collection): Use it.
259 * exp_ch4.adb (Complete_Controlled_Allocation): Ditto.
260 * rtsfind.ads: System_Pool_32_Global, Re_Global_Pool_32_Object: New
261 literals.
262 * gcc-interface/Makefile.in: Use s-po32gl.o on VMS.
263 * gcc-interface/Make-lang.in: Update dependencies.
264
cd8bfe35
EB
2652011-08-04 Emmanuel Briot <briot@adacore.com>
266
267 * makeutl.adb (Complete_Mains): add support for specs with no suffix on
268 the command line.
269
7db29ea7
EB
2702011-08-04 Emmanuel Briot <briot@adacore.com>
271
272 * make.adb, makeutl.adb (Complete_Mains): if a main specified on the
273 command line is not a file name, also check whether it could be a unit
274 name.
275
d9b056ea
AC
2762011-08-04 Eric Botcazou <ebotcazou@adacore.com>
277
278 * bindgen.adb (Gen_Finalize_Library_Ada): Factor out code to generate
279 the header of the finalization routine.
280 If the unit has no finalizer but is a body whose spec has one, then
281 generate the decrement of the elaboration entity only.
282 If the unit has a finalizer and is a spec, then do not generate the
283 decrement of the elaboration entity.
284 (Gen_Finalize_Library_C): Likewise.
285
2862011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
287
288 * exp_ch7.adb (Alignment_Of): New subsidiary routine.
289 (Bounds_Size_Expression): Removed.
290 (Double_Alignment_Of): New subsidiary routine.
291 (Make_Finalize_Address_Stmts): New local variable Index_Typ. Account
292 for a hole in the dope vector of unconstrained arrays due to different
293 index and element alignments.
294
2952011-08-04 Ed Schonberg <schonberg@adacore.com>
296
297 * sem_res.adb (Resolve_Allocator): diagnose task allocator that will
298 raise program_error because body has not been seen yet.
299
3002011-08-04 Ed Schonberg <schonberg@adacore.com>
301
302 * sem_ch10.adb (Analyze_With_Clause): Protect against child unit with
303 an unresolved name.
304
3052011-08-04 Vincent Celier <celier@adacore.com>
306
307 * makeutl.adb (Do_Complete): Check absolute paths in canonical forms
308
3092011-08-04 Yannick Moy <moy@adacore.com>
310
311 * alfa.adb, alfa.ads (Unique_Defining_Entity): move function from here
312 * sem_util.adb, sem_util.ads (Unique_Defining_Entity): ...to here
313
3142011-08-04 Thomas Quinot <quinot@adacore.com>
315
316 * sem_ch12.adb (Analyze_Package_Instantiation): Do not omit body for
317 instantiation in RCI.
318
3192011-08-04 Emmanuel Briot <briot@adacore.com>
320
321 * make.adb: Share more code with gprbuild
322
f5fc5b9d
AC
3232011-08-04 Emmanuel Briot <briot@adacore.com>
324
325 * projects.texi: Added documentation for the IDE'Gnat project file
326 attribute.
327
3282011-08-04 Nicolas Roche <roche@adacore.com>
329
330 * gnat_rm.texi: Minor editing.
331
3322011-08-04 Javier Miranda <miranda@adacore.com>
333
334 * bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
335 and the library case for VM targets.
336 (Gen_Adainit_Ada): Likewise.
337
3382011-08-04 Robert Dewar <dewar@adacore.com>
339
340 * g-altive.ads: Minor comment updates.
341 * prj-nmsc.adb: Minor reformatting.
342
3432011-08-04 Javier Miranda <miranda@adacore.com>
344
345 * opt.ads
346 (Normalize_Scalars_Config): Value of the configuration switch set by
347 pragma Normalize_Scalars when it appears in the gnat.adc file.
348 (Normalize_Scalars): New field for record Config_Switches_Type. Used
349 to save and restore settings of this pragma.
350 * opt.adb
351 (Register_Opt_Config_Switches, Save_Opt_Config_Switches,
352 Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.
353
3542011-08-04 Vincent Celier <celier@adacore.com>
355
356 * gnat_ugn.texi: Document gnatlink options -M and -M=mapfile
357
0c4683cf
AC
3582011-08-04 Arnaud Charlet <charlet@adacore.com>
359
360 * makeutl.adb: Minor reformatting.
361
3622011-08-04 Olivier Hainque <hainque@adacore.com>
363
364 * g-altive.ads: Update comments to reflect that only the soft
365 binding is available today.
366
2598ee6d
RD
3672011-08-04 Robert Dewar <dewar@adacore.com>
368
369 * bindgen.adb, einfo.adb, sem_ch12.adb, s-tasren.adb, sem_res.adb,
370 makeutl.adb, prj-nmsc.adb, opt.ads, prj-env.adb: Minor reformatting
371 * gcc-interface/Make-lang.in: Update dependencies.
372
c2db4b32
AC
3732011-08-04 Arnaud Charlet <charlet@adacore.com>
374
375 * prj-env.adb: Remove local debug traces.
376
3772011-08-04 Yannick Moy <moy@adacore.com>
378
379 * checks.adb (Apply_Float_Conversion_Check): correct a typo where Lo_OK
380 was used instead of Hi_OK, which could cause a read of an uninitialized
381 value later on. Detected while working on the new warning.
382 * exp_ch9.adb (Expand_N_Entry_Declaration): remove useless assignment
383 to local variable.
384 * sem_ch5.adb (Analyze_Assignment): set the last assignment component
385 in more cases, in order to detect more unreferenced values.
386 * sem_util.adb, sem_util.ads (Get_Enclosing_Object): return enclosing
387 object for expression, if any.
388
3892011-08-04 Eric Botcazou <ebotcazou@adacore.com>
390
391 * exp_intr.adb (Expand_Binary_Operator_Call): Look at the RM size of
392 the operand types instead of the Esize.
393
3942011-08-04 Steve Baird <baird@adacore.com>
395
396 * switch-b.adb (Scan_Binder_Switches): Add -P binder switch, used to
397 enable CodePeer_Mode.
398 * bindusg.adb (Display): Add help message describing -P binder switch.
399 * gnat_ugn.texi: Document -P binder switch.
400 * bindgen.adb (Gen_Main_Ada): If CodePeer_Mode is set, then call the
401 user-defined main program directly.
402 (Gen_Output_File_Ada): If CodePeer_Mode is set, generate a with of the
403 user-defined main program in the context clause of the package body.
404
ad05f2e9
AC
4052011-08-04 Yannick Moy <moy@adacore.com>
406
407 * alfa.adb, alfa.ads (Get_Entity_For_Decl): remove function, partial
408 duplicate of Defining_Entity
409 (Get_Unique_Entity_For_Decl): rename function into
410 Unique_Defining_Entity
411 * einfo.adb, einfo.ads (Is_In_ALFA, Body_Is_In_ALFA): remove flags
412 (Formal_Proof_On): remove synthesized flag
413 * cstand.adb, sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
414 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb, sem_util.adb,
415 sem_util.ads, stand.ads: Remove treatment associated to entities in ALFA
416 * sem_prag.adb (Analyze_Pragma): remove special treatment for pragma
417 Annotate (Formal_Proof)
418
4192011-08-04 Emmanuel Briot <briot@adacore.com>
420
421 * prj-env.adb (Create_Config_Pragmas_File): fix handling of multi-unit
422 source files with non-standard naming schemes, in imported projects
423
756ef2a0
AC
4242011-08-04 Emmanuel Briot <briot@adacore.com>
425
426 * makeutl.adb (Complete_Mains): when a multi-unit source file is
427 specified on the gprbuild command line, we need to compile all units
428 within that file, not just the first one we find
429 Fix error message for mains that are not found.
430
4312011-08-04 Thomas Quinot <quinot@adacore.com>
432
433 * sem_ch6.adb: Update comment.
434 * sem_ch12.adb: Minor reformatting.
435
4362011-08-04 Bob Duff <duff@adacore.com>
437
438 * s-tasren.adb (Task_Do_Or_Queue): Previous code was reading
439 Acceptor.Terminate_Alternative without locking Acceptor, which causes a
440 race condition whose symptom is to fail to lock Parent. That, in turn,
441 causes Parent.Awake_Count to be accessed without locking Parent, which
442 causes another race condition whose symptom is that Parent.Awake_Count
443 can be off by 1 (either too high or too low). The solution is to lock
444 Parent unconditionally, and then lock Acceptor, before reading
445 Acceptor.Terminate_Alternative.
446
4fdebd93
AC
4472011-08-04 Arnaud Charlet <charlet@adacore.com>
448
449 * debug.adb: Update comment.
450
4512011-08-04 Robert Dewar <dewar@adacore.com>
452
453 * par_sco.adb, exp_util.adb, make.adb, a-tags.adb, sem_prag.adb,
454 sem_util.adb, sem_attr.adb, exp_ch4.adb, g-comlin.adb, g-comlin.ads,
455 exp_ch6.adb: Minor reformatting.
456
4572011-08-04 Gary Dismukes <dismukes@adacore.com>
458
459 * gnat_ugn.texi: Add sentence about the case of compile-time-detected
460 checks for -gnateE.
461
4622011-08-04 Ed Schonberg <schonberg@adacore.com>
463
464 * gnat_rm.texi: update Ravenscar desription to reflect Ada2012 RM.
465
4662011-08-04 Thomas Quinot <quinot@adacore.com>
467
468 * sinfo.ads: Minor reformatting.
469
4702011-08-04 Emmanuel Briot <briot@adacore.com>
471
472 * makeutl.adb, makeutl.ads, prj-nmsc.adb (Complete_Mains): report error
473 even if there is no location.
474
6aaa0587
ES
4752011-08-04 Ed Schonberg <schonberg@adacore.com>
476
477 * sem_res.adb, sem_ch4.adb: move check for restriction
478 No_Task_Hierarchy to resolve_allocator.
479
35a1c212
AC
4802011-08-04 Thomas Quinot <quinot@adacore.com>
481
482 * sinfo.adb, sinfo.ads, sem_prag.adb, sem_ch12.adb (Pragma_Enabled):
483 This flag of N_Pragma nodes is not used, remove it as well as all of
484 the associated circuitry.
485
4862011-08-04 Javier Miranda <miranda@adacore.com>
487
488 * exp_disp.adb (Make_DT): Switch -gnatdQ disables the generation of the
489 runtime check on duplicated externa tags
490 * debug.adb Document switch -gnatdQ.
491
4922011-08-04 Gary Dismukes <dismukes@adacore.com>
493
494 * a-fihema.ads: Minor typo fix.
495
4962011-08-04 Yannick Moy <moy@adacore.com>
497
498 * sem_ch10.adb: Minor comment update.
499
5002011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
501
502 * einfo.adb: Update the node field usage to reflect the renaming of
503 Return_Flag to Return_ Flag_Or_Transient_Decl.
504 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl.
505 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl.
506 (Write_Field15_Name): Change Return_Flag to
507 Return_Flag_Or_Transient_Decl.
508 * einfo.ads: Rename node field Return_Flag to
509 Return_Flag_Or_Transient_Decl. Update the associated comment and all
510 occurrences in entities.
511 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl. Update
512 associated Inline pragma.
513 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl. Update
514 associated Inline pragma.
515 * exp_ch4.ads, exp_ch4.adb (Expand_N_Expression_With_Actions): New
516 routine.
517 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Update the calls to
518 Return_Flag and Set_Return_Flag.
519 * exp_ch7.adb (Process_Declarations): Add code to recognize hook
520 objects generated for controlled transients declared inside an
521 Exception_With_Actions. Update the calls to Return_Flag.
522 (Process_Object_Declaration): Add code to add a null guard for hook
523 objects generated for controlled transients declared inside an
524 Exception_With_Actions. Update related comment.
525 * exp_util.adb (Has_Controlled_Objects): Add code to recognize hook
526 objects generated for controlled transients declared inside an
527 Exception_With_Actions. Update the calls to Return_Flag.
528 * expander.adb (Expand): Add new case for N_Expression_With_Actions.
529
5302011-08-04 Ed Schonberg <schonberg@adacore.com>
531
532 * sem_util.adb:(Wrong_Type): Improve error message on a one-element
533 positional aggregate.
534
5352011-08-04 Vincent Celier <celier@adacore.com>
536
537 * par_sco.adb (Process_Decisions.Output_Header): Check and record pragma
538 SLOC only for pragmas.
539
5402011-08-04 Emmanuel Briot <briot@adacore.com>
541
542 * projects.texi: Minor typo fix.
543
5442011-08-04 Emmanuel Briot <briot@adacore.com>
545
546 * prj-nmsc.adb (Check_File): Minor change to traces, to help debugging
547 on case-sensitive file systems.
548
c2873f74
TQ
5492011-08-04 Thomas Quinot <quinot@adacore.com>
550
551 * put_scos.adb (Put_SCOs): Do not emit decision SCO for an X decision
552 nested in a disabled pragma.
553 * scos.ads, scos.adb, par_sco.ads, par_sco.adb: Record sloc of
554 enclosing pragma, if any, for X decisions.
555
5562011-08-04 Thomas Quinot <quinot@adacore.com>
557
558 * sem_prag.adb: Minor reformatting.
559
46414266
VC
5602011-08-04 Vincent Celier <celier@adacore.com>
561
562 * a-tags.adb (Check_TSD): Avoid concatenation of strings, as it is not
563 allowed in no run time mode.
564
5652011-08-04 Vincent Celier <celier@adacore.com>
566
567 * make.adb (Check): When -gnatc is used, check for the source file
568 inside the ALI file with a canonical case file name.
569
afab164f
EB
5702011-08-04 Emmanuel Briot <briot@adacore.com>
571
572 * g-comlin.adb, g-comlin.ads (Add_Switch): Put back support for
573 overriding the separator.
574
fe0ec02f
AC
5752011-08-04 Robert Dewar <dewar@adacore.com>
576
577 * sem_aggr.adb, par_sco.adb, sem_type.adb, exp_util.adb, exp_ch9.adb,
578 prj-nmsc.adb, sem_ch13.adb, exp_strm.adb: Minor reformatting.
579
5802011-08-04 Robert Dewar <dewar@adacore.com>
581
582 * gnat_rm.texi: Minor documentation fix for pragma Annotate.
583
5842011-08-04 Yannick Moy <moy@adacore.com>
585
586 * sem_attr.adb (Analyze_Attribute): add check during pre-analysis that
587 'Result only appears in postcondition of function.
588
5892011-08-04 Thomas Quinot <quinot@adacore.com>
590
591 * a-tags.adb (Check_TSD): When raising PROGRAM_ERROR for a duplicated
592 external tag, include the value of the external tag in the exception
593 message.
594
0180fd26
AC
5952011-08-04 Yannick Moy <moy@adacore.com>
596
597 * sem_attr.adb (Result): modify error message for misplaced 'Result
598
5992011-08-04 Sergey Rybin <rybin@adacore.com>
600
601 * gnat_rm.texi (pragma Annotate): Fix syntax description to make it
602 clear that the second argument must be an identifier.
603
6042011-08-04 Thomas Quinot <quinot@adacore.com>
605
606 * exp_ch9.adb (Build_Barrier_Function): When compiling with
607 -fpreserve-control-flow, insert an IF statement on the barrier
608 condition to ensure that a conditional branch instruction is generated.
609
6102011-08-04 Emmanuel Briot <briot@adacore.com>
611
612 * prj-part.adb, prj.adb, prj.ads, prj-tree.ads
613 (Processing_Flags.Ignore_Missing_With): new flag.
614
6152011-08-04 Emmanuel Briot <briot@adacore.com>
616
617 * prj-nmsc.adb (Find_Sources, Path_Name_Of): Fix handling of
618 Source_List_File on case-insensitive systems where the file is actually
619 on a case-sensitive file system (NFS,...).
620
6212011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
622
623 * sem_ch6.adb (Analyze_Function_Return): In a rare case where a
624 function return contains a controlled [extension] aggregate and the
625 return statement is not part of a handled sequence of statements, wrap
626 the return in a block. This ensures that all controlled temporaries
627 generated during aggregate resolution will be picked up by the
628 finalization machinery.
629
6302011-08-04 Ed Schonberg <schonberg@adacore.com>
631
632 * sem_aggr.adb (Resolve_Aggregate): If aggregate has box-initialized
633 components, freeze type before resolution, to ensure that default
634 initializations are present for all components.
635 * sem_res.adb (Resolve_Actuals): the designated object of an
636 accces-to-constant type is a legal actual in a call to an
637 initialization procedure.
638
6392011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
640
641 * exp_util.adb (Extract_Renamed_Object): Add N_Type_Conversion and
642 N_Unchecked_Type_Conversion to the possible containers of a renamed
643 transient variable.
644
78efd712
AC
6452011-08-04 Yannick Moy <moy@adacore.com>
646
647 * par-ch13.adb (Aspect_Specifications_Present): recognize
648 "with Identifier'Class =>" as an aspect, so that a meaningful warning
649 is issued in Strict mode.
650 * par.adb: Fix typos in comments.
651
6522011-08-04 Yannick Moy <moy@adacore.com>
653
654 * sem_attr.adb (Result): modify error message to take into account Post
655 aspect when compiling Ada 2012 (or newer) code.
656
6572011-08-04 Nicolas Roche <roche@adacore.com>
658
659 * env.c (__gnat_clearenv): Avoid use of dynamic size array in order to
660 remove need for GCC exceptions.
661
6622011-08-04 Vincent Celier <celier@adacore.com>
663
664 * makeutl.adb (Do_Complete): Call Debug_Output with the name of the
665 project, not the source file name.
666 * prj.adb (Find_Sources.Look_For_Sources): If the source has been
667 excluded, continue looking. This excluded source will only be returned
668 if there is no other source with the same base name that is not locally
669 removed.
670
6712011-08-04 Ed Schonberg <schonberg@adacore.com>
672
673 * sem_res.adb (Resolve_Intrinsic_Operator): if the result type is
674 private and one of the operands is a real literal, use a qualified
675 expression rather than a conversion which is not meaningful to the
676 back-end.
677
0170a691
AC
6782011-08-04 Yannick Moy <moy@adacore.com>
679
680 * sem_ch13.adb (Aspect_Loop): when an aspect X and its classwise
681 corresponding aspect X'Class are allowed, proceed with analysis of the
682 aspect instead of skipping it.
683
6842011-08-04 Tristan Gingold <gingold@adacore.com>
685
686 * s-flocon.adb, s-flocon.ads: Add a body for s-flocon.ads
687 This will allow to have an Ada implementation for the subprogram.
688
deb4f5ba
ES
6892011-08-04 Ed Schonberg <schonberg@adacore.com>
690
691 * sem_ch3.adb (Analyze_Full_Type_Declaration): If the declaration is a
692 completion and aspects are present, apply them to the entity for the
693 type which is currently the partial view, but which is the one that
694 will be frozen.
695 * sem_ch13.adb (Analyze_Aspect_Specifications): if the predicate
696 applies to a partial view, indicate that the full view has predicates
697 and delayed aspects.
698 (Replace_Type_Reference): Handle properly predicates that apply to the
699 full view of a private completion.
700
fc893455
AC
7012011-08-04 Eric Botcazou <ebotcazou@adacore.com>
702
703 * layout.adb (Layout_Type): For composite types, do not set Esize.
704 * freeze.adb (Set_Small_Size): Remove test on alignment and do not
705 set Esize.
706 (Size_Known): Look at the RM size of components instead of the Esize.
707 (Freeze_Record_Type): Look at the RM size instead of the Esize to
708 issue warning and activate Implicit_Packing.
709 (Freeze_Entity): Likewise. Do not issue a warning for alias/atomic
710 if the Esize is not known.
711 * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Size>: Set Esize
712 for elementary types only.
713 (Analyze_Record_Representation_Clause): Look at the RM size instead
714 of the Esize to issue errors.
715 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set Esize if it
716 is not known.
717 <E_Record_Type>: Look at the RM size instead of the Esize. Remove
718 obsolete block.
719 Look at the RM size instead of the Esize for types if the latter is
720 not known.
721 (gnat_to_gnu_field): Use Known_Esize instead of Known_Static_Esize.
722
7232011-08-04 Ed Schonberg <schonberg@adacore.com>
724
725 * sem_type.adb: proper handling of equality not involving anonymous
726 access types.
727
b37d5bc6
AC
7282011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
729
730 * exp_ch7.adb (Create_Finalizer): Remove local variables Spec_Nod and
731 Vis_Decls. When creating a library-level finalizer for a package spec,
732 both the declaration and body of the finalizer are inserted either in
733 the visible or private declarations of the package spec.
734
7352011-08-04 Javier Miranda <miranda@adacore.com>
736
737 * sem_ch3.adb (Derive_Subprograms): Complete assertion to request the
738 use of the full-view of a type when invoking Is_Ancestor.
739 * sem_type.adb (Is_Ancestor): For consistency, when the traversal of
740 the full-view of private parents is requested, then use also the
741 full-view of the parent of the first derivation.
742
7ab4d95a
AC
7432011-08-04 Tristan Gingold <gingold@adacore.com>
744
745 * s-taprop-vxworks.adb (Enter_Task): Use System.Float_Control.Reset
746 instead of the locally imported procedure.
747 * s-taprop-mingw.adb (Enter_Task): Ditto.
748 * s-valrea.adb (Scan_Real): Ditto.
749 * s-imgrea.adb (Set_Image_Real): Ditto.
750 * s-flocon.ads: Make the package pure.
751
7522011-08-04 Thomas Quinot <quinot@adacore.com>
753
754 * sinfo.ads, sinfo.adb (Debug_Statement, Set_Debug_Statement): Remove.
755 * tbuild.ads, tbuild.adb (Make_Pragma): Adjust accordingly.
756 * sinfo-cn.ads, sinfo-cn.adb (Change_Name_To_Procedure_Call_Statement):
757 New subprogram, moved here from...
758 * par.adb, par-ch5.adb (P_Statement_Name): ... here.
759 * par-prag.adb (Par.Prag, case Pragma_Debug): Do not perform any
760 rewriting of the last argument into a procedure call statement here...
761 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): ...do it there
762 instead.
763
7642011-08-04 Thomas Quinot <quinot@adacore.com>
765
766 * par_sco.adb: Minor reformatting.
767
51c400f5
AC
7682011-08-04 Robert Dewar <dewar@adacore.com>
769
770 * erroutc.adb: Minor reformatting.
771
7722011-08-04 Thomas Quinot <quinot@adacore.com>
773
774 * par_sco.adb: Comment update.
775
7762011-08-04 Tristan Gingold <gingold@adacore.com>
777
778 * s-flocon.ads: New file.
779 * g-flocon.ads: Now a renaming of s-flocon.
780 * Makefile.rtl: Add s-flocon.o
781
6a49f110
AC
7822011-08-04 Javier Miranda <miranda@adacore.com>
783
784 * exp_strm.adb (Build_Array_Input_Function): if the array type is
785 constrained, do not attempt to build a subtype of it.
786
7872011-08-04 Yannick Moy <moy@adacore.com>
788
789 * errout.ads Change comments: remove 'R'M as an example where quotes
790 are needed; add ALFA as another case where quotes are not needed
791 * erroutc.adb (Set_Msg_Insertion_Reserved_Word): add ALFA as another
792 case where quotes are not needed.
793 * sem_ch11.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
794 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_prag.adb, sem_res.adb:
795 Remove all occurrences of 'A'L'F'A
796
7972011-08-04 Ed Schonberg <schonberg@adacore.com>
798
799 * sem_ch13.adb: check legality of invariant pragma.
800
a4640a39
AC
8012011-08-04 Eric Botcazou <ebotcazou@adacore.com>
802
803 * bindgen.adb: Add comments.
804
8052011-08-04 Yannick Moy <moy@adacore.com>
806
807 * einfo.adb, einfo.ads: Free Flag254 and make Formal_Proof_On a
808 synthesized flag.
809 * sem_prag.adb (Analyze_Pragma): record the pragma Annotate
810 (Formal_Proof, On/Off) in the Rep_Item list of the current subprogram.
811
8122011-08-04 Robert Dewar <dewar@adacore.com>
813
814 * exp_ch7.adb, exp_ch6.adb, sem_ch3.adb, layout.adb, sem_ch5.adb,
815 osint-c.ads, sem_util.ads, gnat1drv.adb, targparm.ads, sem_ch6.adb,
816 sem_ch13.adb, s-pooloc.adb: Minor reformatting.
817
39ade2f9
AC
8182011-08-04 Thomas Quinot <quinot@adacore.com>
819
820 * s-pooloc.ads, s-pooglo.ads: Minor reformatting
821
8222011-08-04 Thomas Quinot <quinot@adacore.com>
823
824 PR ada/47880
825 * s-pooloc.adb (Deallocate): Fix the case of deallocating the only
826 allocated object.
827
8282011-08-04 Robert Dewar <dewar@adacore.com>
829
830 * einfo.ads, exp_ch4.adb: Minor reformatting.
831
8322011-08-04 Jerome Lambourg <lambourg@adacore.com>
833
834 * back_end.ads (Gen_Or_Update_Object_File): Add more comments.
835
7efc3f2d
AC
8362011-08-04 Ed Schonberg <schonberg@adacore.com>
837
838 * exp_ch4.adb (Expand_Composite_Equality): code cleanup: use component
839 type in all cases to compute list of primitive operations, because full
840 view may be an itype that is not attached to the list of declarations.
841
8422011-08-04 Eric Botcazou <ebotcazou@adacore.com>
843
844 * bindgen.adb (Gen_Adafinal_Ada): Generate an early return if the
845 library has already been finalized.
846 (Gen_Adafinal_C): Likewise.
847 (Gen_Adainit_Ada): Generate an early return if the library has
848 already been elaborated.
849 (Gen_Adainit_C): Likewise.
850 (Gen_Output_File_Ada): Generate an elaboration flag.
851 (Gen_Output_File_C): Likewise.
852
f65df609
HK
8532011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
854
855 * exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
856 Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
857 built in the first place.
858 (Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
859 for CodePeer because Finalize_Address was not built to begin with.
860 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.
861
a0fb8fe8
AC
8622011-08-04 Pascal Obry <obry@adacore.com>
863
864 * adaint.c (__gnat_tmp_name): Use current process id to create temp
865 filenames, this ensures unicity of filenames across processes.
866
8672011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
868
869 * bindgen.adb (Gen_Finalize_Library_Ada): Rename generated routine
870 Raise_Controlled to Raise_From_Controlled_Operation. Update the
871 signature of Raise_From_Controlled_Operation by adding flag From_Abort.
872 Add False as the actual to From_Abort in the generated call to
873 Raise_From_Controlled_Operation.
874
8752011-08-04 Jerome Lambourg <lambourg@adacore.com>
876
877 * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move to declaration
878 so that the ali file name can be retrieved from outside of this package.
879 * back_end.ads, back_end.adb (Gen_Or_Update_Object_File): New method
880 doing nothing in the general case, but used to update the object file
881 timestamp if directly generated by the backend.
882 * gnat1drv.adb (Gnat1drv): Make sure the object file's timestamp is set
883 to a later time than the ali file one.
884
9534ab17
AC
8852011-08-04 Yannick Moy <moy@adacore.com>
886
887 * einfo.adb, einfo.ads (Formal_Proof_On): new flag set on subprogram
888 entities whose body contains an Annotate pragma which forces formal
889 proof on this body.
890 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
891 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Adapt call to
892 Mark_Non_ALFA_Subprogram to pass in a message and node.
893 * sem_prag.adb (Analyze_Pragma): add treatment of pragma Annotate
894 (Forma_Proof, On) which sets the flag Formal_Proof_On in the
895 surrounding subprogram.
896 * sem_util.adb, sem_util.ads (Mark_Non_ALFA_Subprogram,
897 Mark_Non_ALFA_Subprogram_Unconditional): if the subprogram being marked
898 as not in ALFA is annotated with Formal_Proof being On, then an error
899 is issued based on the additional parameters for message and node.
900 * snames.ads-tmpl (Name_Formal_Proof): new name for annotation.
901 * gcc-interface/Make-lang.in: Update dependencies.
902
9032011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
904
905 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not generate
906 Finalize_Address when CodePeer is enabled.
907
9082011-08-04 Pascal Obry <obry@adacore.com>
909
910 * adaint.c (__gnat_tmp_name): Use _tempnam() instead of tempnam() as
911 the latter returns a pointer to a static buffer which is deallocated
912 at the end of the routine.
913
5c0e97dd
AC
9142011-08-04 Yannick Moy <moy@adacore.com>
915
916 * sem_ch3.adb (Array_Type_Declaration): move test for type in ALFA
917 after index creation; mark unconstrained base array type generated as
918 being in/not in ALFA as well
919 (Make_Index): mark subtype created as in/not in ALFA
920 * sem_ch5.adb (Analyze_Iteration_Scheme): mark entity for iterating
921 over a loop as in/not in ALFA, depending on its type and form of loop
922 iteration.
923
9242011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
925
926 * exp_ch7.adb (Build_Object_Declarations): Initialize flag Abort
927 directly to False on .NET and JVM.
928
7a93c64b
YM
9292011-08-04 Yannick Moy <moy@adacore.com>
930
931 * sem_ch3.adb (Constrain_Enumeration, Constrain_Integer): remove
932 constraint that subtype must come from source code to be in ALFA, so
933 that anonymous subtypes can be in ALFA too.
934
e9a1ed9b
YM
9352011-08-04 Yannick Moy <moy@adacore.com>
936
937 * sem_ch3.adb (Analyze_Object_Declaration): remove obsolete addition of
938 reference for ALFA mode.
939 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Compilation_Unit): make
940 procedure public so as to use it from formal verification back-end.
941
8e293fbd
AC
9422011-08-04 Jerome Lambourg <lambourg@adacore.com>
943
944 * g-comlin.adb (For_Each_Simple_Switch.Is_In_Config): Remove the
945 invalid checks of the Parameter, making Remove_Switch not working
946 correctly.
947
9482011-08-04 Arnaud Charlet <charlet@adacore.com>
949
950 * targparm.ads: Update header: no run-time exception is needed on this
951 file.
952
9532011-08-04 Vincent Celier <celier@adacore.com>
954
955 * a-fihema.adb: Use System.IO instead of GNAT.IO
956
9572011-08-04 Thomas Quinot <quinot@adacore.com>
958
959 * sem_ch3.adb (Access_Definition): Anonymous access to subprogram types
960 are forbidden in Compiler_Unit mode.
961
cfae2bed
AC
9622011-08-04 Robert Dewar <dewar@adacore.com>
963
964 * sem_util.adb: Minor reformatting.
965
9662011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
967
968 * bindgen.adb (Gen_Finalize_Library_Ada): Update the import string for
969 library-level finalizers.
970 (Gen_Finalize_Library_C): Update the import string for library-level
971 finalizers.
972 (Gen_Finalize_Library_Defs_C): Update the definition name of a
973 library-level finalizer.
974 * exp_ch7.adb: Remove with and use clauses for Stringt.
975 (Create_Finalizer): Remove local variables Conv_Name, Prag_Decl,
976 Spec_Decl. Add local variable Body_Id. The names of library-level
977 finalizers are now manually fully qualified and are no longer external.
978 A single name is now capable of servicing .NET, JVM and non-VM targets.
979 Pragma Export is no longer required to provide visibility for the name.
980 (Create_Finalizer_String): Removed.
981 (New_Finalizer_Name): New routine which mimics New_..._Name.
982
01f0729a
AC
9832011-08-04 Eric Botcazou <ebotcazou@adacore.com>
984
985 * sem_elab.adb (Check_Internal_Call_Continue): Change the type of the
986 elaboration counter to Standard_Short_Integer.
987 * sem_util.adb (Build_Elaboration_Entity): Likewise.
988 * bindgen.adb (Gen_Elab_Externals_Ada): Adjust to above change.
989 (Gen_Elab_Externals_C): Likewise.
990
9912011-08-04 Ed Falis <falis@adacore.com>
992
993 * system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
994 system-vxworks-ppc.ads, system-vxworks-m68k.ads,
995 system-vxworks-mips.ads, system-vxworks-x86.ads
996 (Always_Compatible_Rep): set to False for all VxWorks targets.
997
2c1b72d7
AC
9982011-08-04 Robert Dewar <dewar@adacore.com>
999
1000 * par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads,
1001 makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb,
1002 exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb,
1003 exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb,
1004 exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb,
1005 sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb,
1006 sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb:
1007 Minor reformatting and code reorganization.
1008
10092011-08-04 Emmanuel Briot <briot@adacore.com>
1010
1011 * projects.texi: Added doc for aggregate projects.
1012
824e9320
AC
10132011-08-04 Emmanuel Briot <briot@adacore.com>
1014
1015 * prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items):
1016 Add support for overriding the Project_Path in aggregate projects.
1017
10182011-08-04 Robert Dewar <dewar@adacore.com>
1019
1020 * a-cofove.ads: Minor reformatting.
1021
10222011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1023
1024 * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment
1025 on the generated code.
1026 (Build_Finalize_Statements): Update the comment on the generated code.
1027 (Build_Initialize_Statements): Update the comment on the generated code.
1028 (Build_Object_Declarations): Add local variable Result. The object
1029 declarations are now built in sequence.
1030 * rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and
1031 RE_Unit_Table.
1032
10332011-08-04 Robert Dewar <dewar@adacore.com>
1034
1035 * checks.adb, alfa.adb, alfa.ads: Minor reformatting.
1036
10372011-08-04 Eric Botcazou <ebotcazou@adacore.com>
1038
1039 * einfo.ads (Elaboration_Entity): Document new definition and use.
1040 (Elaboration_Entity_Required): Adjust to above change.
1041 * exp_attr.adb (Expand_N_Attribute_Reference): Likewise.
1042 * exp_ch12.adb: And with and use for Snames.
1043 (Expand_N_Generic_Instantiation): Test 'Elaborated attribute.
1044 * exp_util.adb (Set_Elaboration_Flag): Likewise.
1045 * sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete.
1046 <Check_Unit_Name>: Deal with N_Expanded_Name.
1047 <Attribute_Elaborated>: Extend to all unit names.
1048 * sem_elab.adb: And with and use for Uintp.
1049 (Check_Internal_Call_Continue): Adjust to Elaboration_Entity change.
1050 * sem_util.ads (Build_Elaboration_Entity): Adjust comment.
1051 * sem_util.adb (Build_Elaboration_Entity): Change type to Integer.
1052 * bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken
1053 from Gen_Adainit_Ada.
1054 (Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C.
1055 (Gen_Adafinal_Ada): Remove redundant test. In the non-main program
1056 case, do not call System.Standard_Library.Adafinal; instead call
1057 finalize_library if needed.
1058 (Gen_Adafinal_C): Likewise.
1059 (Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the
1060 non-main program case.
1061 (Gen_Adainit_C): Generate a couple of external declarations here.
1062 In the main program case, set SSL.Finalize_Library_Objects.
1063 (Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change.
1064 (Gen_Elab_Calls_C): Likewise.
1065 (Gen_Finalize_Library_Ada): Likewise. Skip SAL interface units.
1066 (Gen_Finalize_Library_C): Likewise. Generate a full function.
1067 (Gen_Main_C): Put back call to Ada_Final and don't finalize library
1068 objects here.
1069 (Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final
1070 if -a is specified. Call Gen_Elab_Externals_Ada. Move around call to
1071 Gen_Adafinal_Ada.
1072 (Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final
1073 if -a is specified. Call Gen_Elab_Externals_C. Remove useless couple
1074