]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
[multiple changes]
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
6367dd30
AC
12011-08-04 Emmanuel Briot <briot@adacore.com>
2
3 * make.adb, makeutl.adb, makeutl.ads (Make): major refactoring.
4 Create several new subprograms to move code out of Make. This makes the
5 code more readable, removes code duplication, and is a preparation work
6 for adding support for aggregate projects.
7
82011-08-04 Tristan Gingold <gingold@adacore.com>
9
10 * s-po32gl.ads, s-po32gl.adb: New files.
11 * exp_ch7.ads (Get_Global_Pool_For_Access_Type): New function.
12 * exp_ch7.adb (Get_Global_Pool_For_Access_Type): New function.
13 (Build_Finalization_Collection): Use it.
14 * exp_ch4.adb (Complete_Controlled_Allocation): Ditto.
15 * rtsfind.ads: System_Pool_32_Global, Re_Global_Pool_32_Object: New
16 literals.
17 * gcc-interface/Makefile.in: Use s-po32gl.o on VMS.
18 * gcc-interface/Make-lang.in: Update dependencies.
19
cd8bfe35
EB
202011-08-04 Emmanuel Briot <briot@adacore.com>
21
22 * makeutl.adb (Complete_Mains): add support for specs with no suffix on
23 the command line.
24
7db29ea7
EB
252011-08-04 Emmanuel Briot <briot@adacore.com>
26
27 * make.adb, makeutl.adb (Complete_Mains): if a main specified on the
28 command line is not a file name, also check whether it could be a unit
29 name.
30
d9b056ea
AC
312011-08-04 Eric Botcazou <ebotcazou@adacore.com>
32
33 * bindgen.adb (Gen_Finalize_Library_Ada): Factor out code to generate
34 the header of the finalization routine.
35 If the unit has no finalizer but is a body whose spec has one, then
36 generate the decrement of the elaboration entity only.
37 If the unit has a finalizer and is a spec, then do not generate the
38 decrement of the elaboration entity.
39 (Gen_Finalize_Library_C): Likewise.
40
412011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
42
43 * exp_ch7.adb (Alignment_Of): New subsidiary routine.
44 (Bounds_Size_Expression): Removed.
45 (Double_Alignment_Of): New subsidiary routine.
46 (Make_Finalize_Address_Stmts): New local variable Index_Typ. Account
47 for a hole in the dope vector of unconstrained arrays due to different
48 index and element alignments.
49
502011-08-04 Ed Schonberg <schonberg@adacore.com>
51
52 * sem_res.adb (Resolve_Allocator): diagnose task allocator that will
53 raise program_error because body has not been seen yet.
54
552011-08-04 Ed Schonberg <schonberg@adacore.com>
56
57 * sem_ch10.adb (Analyze_With_Clause): Protect against child unit with
58 an unresolved name.
59
602011-08-04 Vincent Celier <celier@adacore.com>
61
62 * makeutl.adb (Do_Complete): Check absolute paths in canonical forms
63
642011-08-04 Yannick Moy <moy@adacore.com>
65
66 * alfa.adb, alfa.ads (Unique_Defining_Entity): move function from here
67 * sem_util.adb, sem_util.ads (Unique_Defining_Entity): ...to here
68
692011-08-04 Thomas Quinot <quinot@adacore.com>
70
71 * sem_ch12.adb (Analyze_Package_Instantiation): Do not omit body for
72 instantiation in RCI.
73
742011-08-04 Emmanuel Briot <briot@adacore.com>
75
76 * make.adb: Share more code with gprbuild
77
f5fc5b9d
AC
782011-08-04 Emmanuel Briot <briot@adacore.com>
79
80 * projects.texi: Added documentation for the IDE'Gnat project file
81 attribute.
82
832011-08-04 Nicolas Roche <roche@adacore.com>
84
85 * gnat_rm.texi: Minor editing.
86
872011-08-04 Javier Miranda <miranda@adacore.com>
88
89 * bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
90 and the library case for VM targets.
91 (Gen_Adainit_Ada): Likewise.
92
932011-08-04 Robert Dewar <dewar@adacore.com>
94
95 * g-altive.ads: Minor comment updates.
96 * prj-nmsc.adb: Minor reformatting.
97
982011-08-04 Javier Miranda <miranda@adacore.com>
99
100 * opt.ads
101 (Normalize_Scalars_Config): Value of the configuration switch set by
102 pragma Normalize_Scalars when it appears in the gnat.adc file.
103 (Normalize_Scalars): New field for record Config_Switches_Type. Used
104 to save and restore settings of this pragma.
105 * opt.adb
106 (Register_Opt_Config_Switches, Save_Opt_Config_Switches,
107 Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.
108
1092011-08-04 Vincent Celier <celier@adacore.com>
110
111 * gnat_ugn.texi: Document gnatlink options -M and -M=mapfile
112
0c4683cf
AC
1132011-08-04 Arnaud Charlet <charlet@adacore.com>
114
115 * makeutl.adb: Minor reformatting.
116
1172011-08-04 Olivier Hainque <hainque@adacore.com>
118
119 * g-altive.ads: Update comments to reflect that only the soft
120 binding is available today.
121
2598ee6d
RD
1222011-08-04 Robert Dewar <dewar@adacore.com>
123
124 * bindgen.adb, einfo.adb, sem_ch12.adb, s-tasren.adb, sem_res.adb,
125 makeutl.adb, prj-nmsc.adb, opt.ads, prj-env.adb: Minor reformatting
126 * gcc-interface/Make-lang.in: Update dependencies.
127
c2db4b32
AC
1282011-08-04 Arnaud Charlet <charlet@adacore.com>
129
130 * prj-env.adb: Remove local debug traces.
131
1322011-08-04 Yannick Moy <moy@adacore.com>
133
134 * checks.adb (Apply_Float_Conversion_Check): correct a typo where Lo_OK
135 was used instead of Hi_OK, which could cause a read of an uninitialized
136 value later on. Detected while working on the new warning.
137 * exp_ch9.adb (Expand_N_Entry_Declaration): remove useless assignment
138 to local variable.
139 * sem_ch5.adb (Analyze_Assignment): set the last assignment component
140 in more cases, in order to detect more unreferenced values.
141 * sem_util.adb, sem_util.ads (Get_Enclosing_Object): return enclosing
142 object for expression, if any.
143
1442011-08-04 Eric Botcazou <ebotcazou@adacore.com>
145
146 * exp_intr.adb (Expand_Binary_Operator_Call): Look at the RM size of
147 the operand types instead of the Esize.
148
1492011-08-04 Steve Baird <baird@adacore.com>
150
151 * switch-b.adb (Scan_Binder_Switches): Add -P binder switch, used to
152 enable CodePeer_Mode.
153 * bindusg.adb (Display): Add help message describing -P binder switch.
154 * gnat_ugn.texi: Document -P binder switch.
155 * bindgen.adb (Gen_Main_Ada): If CodePeer_Mode is set, then call the
156 user-defined main program directly.
157 (Gen_Output_File_Ada): If CodePeer_Mode is set, generate a with of the
158 user-defined main program in the context clause of the package body.
159
ad05f2e9
AC
1602011-08-04 Yannick Moy <moy@adacore.com>
161
162 * alfa.adb, alfa.ads (Get_Entity_For_Decl): remove function, partial
163 duplicate of Defining_Entity
164 (Get_Unique_Entity_For_Decl): rename function into
165 Unique_Defining_Entity
166 * einfo.adb, einfo.ads (Is_In_ALFA, Body_Is_In_ALFA): remove flags
167 (Formal_Proof_On): remove synthesized flag
168 * cstand.adb, sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
169 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb, sem_util.adb,
170 sem_util.ads, stand.ads: Remove treatment associated to entities in ALFA
171 * sem_prag.adb (Analyze_Pragma): remove special treatment for pragma
172 Annotate (Formal_Proof)
173
1742011-08-04 Emmanuel Briot <briot@adacore.com>
175
176 * prj-env.adb (Create_Config_Pragmas_File): fix handling of multi-unit
177 source files with non-standard naming schemes, in imported projects
178
756ef2a0
AC
1792011-08-04 Emmanuel Briot <briot@adacore.com>
180
181 * makeutl.adb (Complete_Mains): when a multi-unit source file is
182 specified on the gprbuild command line, we need to compile all units
183 within that file, not just the first one we find
184 Fix error message for mains that are not found.
185
1862011-08-04 Thomas Quinot <quinot@adacore.com>
187
188 * sem_ch6.adb: Update comment.
189 * sem_ch12.adb: Minor reformatting.
190
1912011-08-04 Bob Duff <duff@adacore.com>
192
193 * s-tasren.adb (Task_Do_Or_Queue): Previous code was reading
194 Acceptor.Terminate_Alternative without locking Acceptor, which causes a
195 race condition whose symptom is to fail to lock Parent. That, in turn,
196 causes Parent.Awake_Count to be accessed without locking Parent, which
197 causes another race condition whose symptom is that Parent.Awake_Count
198 can be off by 1 (either too high or too low). The solution is to lock
199 Parent unconditionally, and then lock Acceptor, before reading
200 Acceptor.Terminate_Alternative.
201
4fdebd93
AC
2022011-08-04 Arnaud Charlet <charlet@adacore.com>
203
204 * debug.adb: Update comment.
205
2062011-08-04 Robert Dewar <dewar@adacore.com>
207
208 * par_sco.adb, exp_util.adb, make.adb, a-tags.adb, sem_prag.adb,
209 sem_util.adb, sem_attr.adb, exp_ch4.adb, g-comlin.adb, g-comlin.ads,
210 exp_ch6.adb: Minor reformatting.
211
2122011-08-04 Gary Dismukes <dismukes@adacore.com>
213
214 * gnat_ugn.texi: Add sentence about the case of compile-time-detected
215 checks for -gnateE.
216
2172011-08-04 Ed Schonberg <schonberg@adacore.com>
218
219 * gnat_rm.texi: update Ravenscar desription to reflect Ada2012 RM.
220
2212011-08-04 Thomas Quinot <quinot@adacore.com>
222
223 * sinfo.ads: Minor reformatting.
224
2252011-08-04 Emmanuel Briot <briot@adacore.com>
226
227 * makeutl.adb, makeutl.ads, prj-nmsc.adb (Complete_Mains): report error
228 even if there is no location.
229
6aaa0587
ES
2302011-08-04 Ed Schonberg <schonberg@adacore.com>
231
232 * sem_res.adb, sem_ch4.adb: move check for restriction
233 No_Task_Hierarchy to resolve_allocator.
234
35a1c212
AC
2352011-08-04 Thomas Quinot <quinot@adacore.com>
236
237 * sinfo.adb, sinfo.ads, sem_prag.adb, sem_ch12.adb (Pragma_Enabled):
238 This flag of N_Pragma nodes is not used, remove it as well as all of
239 the associated circuitry.
240
2412011-08-04 Javier Miranda <miranda@adacore.com>
242
243 * exp_disp.adb (Make_DT): Switch -gnatdQ disables the generation of the
244 runtime check on duplicated externa tags
245 * debug.adb Document switch -gnatdQ.
246
2472011-08-04 Gary Dismukes <dismukes@adacore.com>
248
249 * a-fihema.ads: Minor typo fix.
250
2512011-08-04 Yannick Moy <moy@adacore.com>
252
253 * sem_ch10.adb: Minor comment update.
254
2552011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
256
257 * einfo.adb: Update the node field usage to reflect the renaming of
258 Return_Flag to Return_ Flag_Or_Transient_Decl.
259 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl.
260 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl.
261 (Write_Field15_Name): Change Return_Flag to
262 Return_Flag_Or_Transient_Decl.
263 * einfo.ads: Rename node field Return_Flag to
264 Return_Flag_Or_Transient_Decl. Update the associated comment and all
265 occurrences in entities.
266 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl. Update
267 associated Inline pragma.
268 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl. Update
269 associated Inline pragma.
270 * exp_ch4.ads, exp_ch4.adb (Expand_N_Expression_With_Actions): New
271 routine.
272 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Update the calls to
273 Return_Flag and Set_Return_Flag.
274 * exp_ch7.adb (Process_Declarations): Add code to recognize hook
275 objects generated for controlled transients declared inside an
276 Exception_With_Actions. Update the calls to Return_Flag.
277 (Process_Object_Declaration): Add code to add a null guard for hook
278 objects generated for controlled transients declared inside an
279 Exception_With_Actions. Update related comment.
280 * exp_util.adb (Has_Controlled_Objects): Add code to recognize hook
281 objects generated for controlled transients declared inside an
282 Exception_With_Actions. Update the calls to Return_Flag.
283 * expander.adb (Expand): Add new case for N_Expression_With_Actions.
284
2852011-08-04 Ed Schonberg <schonberg@adacore.com>
286
287 * sem_util.adb:(Wrong_Type): Improve error message on a one-element
288 positional aggregate.
289
2902011-08-04 Vincent Celier <celier@adacore.com>
291
292 * par_sco.adb (Process_Decisions.Output_Header): Check and record pragma
293 SLOC only for pragmas.
294
2952011-08-04 Emmanuel Briot <briot@adacore.com>
296
297 * projects.texi: Minor typo fix.
298
2992011-08-04 Emmanuel Briot <briot@adacore.com>
300
301 * prj-nmsc.adb (Check_File): Minor change to traces, to help debugging
302 on case-sensitive file systems.
303
c2873f74
TQ
3042011-08-04 Thomas Quinot <quinot@adacore.com>
305
306 * put_scos.adb (Put_SCOs): Do not emit decision SCO for an X decision
307 nested in a disabled pragma.
308 * scos.ads, scos.adb, par_sco.ads, par_sco.adb: Record sloc of
309 enclosing pragma, if any, for X decisions.
310
3112011-08-04 Thomas Quinot <quinot@adacore.com>
312
313 * sem_prag.adb: Minor reformatting.
314
46414266
VC
3152011-08-04 Vincent Celier <celier@adacore.com>
316
317 * a-tags.adb (Check_TSD): Avoid concatenation of strings, as it is not
318 allowed in no run time mode.
319
3202011-08-04 Vincent Celier <celier@adacore.com>
321
322 * make.adb (Check): When -gnatc is used, check for the source file
323 inside the ALI file with a canonical case file name.
324
afab164f
EB
3252011-08-04 Emmanuel Briot <briot@adacore.com>
326
327 * g-comlin.adb, g-comlin.ads (Add_Switch): Put back support for
328 overriding the separator.
329
fe0ec02f
AC
3302011-08-04 Robert Dewar <dewar@adacore.com>
331
332 * sem_aggr.adb, par_sco.adb, sem_type.adb, exp_util.adb, exp_ch9.adb,
333 prj-nmsc.adb, sem_ch13.adb, exp_strm.adb: Minor reformatting.
334
3352011-08-04 Robert Dewar <dewar@adacore.com>
336
337 * gnat_rm.texi: Minor documentation fix for pragma Annotate.
338
3392011-08-04 Yannick Moy <moy@adacore.com>
340
341 * sem_attr.adb (Analyze_Attribute): add check during pre-analysis that
342 'Result only appears in postcondition of function.
343
3442011-08-04 Thomas Quinot <quinot@adacore.com>
345
346 * a-tags.adb (Check_TSD): When raising PROGRAM_ERROR for a duplicated
347 external tag, include the value of the external tag in the exception
348 message.
349
0180fd26
AC
3502011-08-04 Yannick Moy <moy@adacore.com>
351
352 * sem_attr.adb (Result): modify error message for misplaced 'Result
353
3542011-08-04 Sergey Rybin <rybin@adacore.com>
355
356 * gnat_rm.texi (pragma Annotate): Fix syntax description to make it
357 clear that the second argument must be an identifier.
358
3592011-08-04 Thomas Quinot <quinot@adacore.com>
360
361 * exp_ch9.adb (Build_Barrier_Function): When compiling with
362 -fpreserve-control-flow, insert an IF statement on the barrier
363 condition to ensure that a conditional branch instruction is generated.
364
3652011-08-04 Emmanuel Briot <briot@adacore.com>
366
367 * prj-part.adb, prj.adb, prj.ads, prj-tree.ads
368 (Processing_Flags.Ignore_Missing_With): new flag.
369
3702011-08-04 Emmanuel Briot <briot@adacore.com>
371
372 * prj-nmsc.adb (Find_Sources, Path_Name_Of): Fix handling of
373 Source_List_File on case-insensitive systems where the file is actually
374 on a case-sensitive file system (NFS,...).
375
3762011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
377
378 * sem_ch6.adb (Analyze_Function_Return): In a rare case where a
379 function return contains a controlled [extension] aggregate and the
380 return statement is not part of a handled sequence of statements, wrap
381 the return in a block. This ensures that all controlled temporaries
382 generated during aggregate resolution will be picked up by the
383 finalization machinery.
384
3852011-08-04 Ed Schonberg <schonberg@adacore.com>
386
387 * sem_aggr.adb (Resolve_Aggregate): If aggregate has box-initialized
388 components, freeze type before resolution, to ensure that default
389 initializations are present for all components.
390 * sem_res.adb (Resolve_Actuals): the designated object of an
391 accces-to-constant type is a legal actual in a call to an
392 initialization procedure.
393
3942011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
395
396 * exp_util.adb (Extract_Renamed_Object): Add N_Type_Conversion and
397 N_Unchecked_Type_Conversion to the possible containers of a renamed
398 transient variable.
399
78efd712
AC
4002011-08-04 Yannick Moy <moy@adacore.com>
401
402 * par-ch13.adb (Aspect_Specifications_Present): recognize
403 "with Identifier'Class =>" as an aspect, so that a meaningful warning
404 is issued in Strict mode.
405 * par.adb: Fix typos in comments.
406
4072011-08-04 Yannick Moy <moy@adacore.com>
408
409 * sem_attr.adb (Result): modify error message to take into account Post
410 aspect when compiling Ada 2012 (or newer) code.
411
4122011-08-04 Nicolas Roche <roche@adacore.com>
413
414 * env.c (__gnat_clearenv): Avoid use of dynamic size array in order to
415 remove need for GCC exceptions.
416
4172011-08-04 Vincent Celier <celier@adacore.com>
418
419 * makeutl.adb (Do_Complete): Call Debug_Output with the name of the
420 project, not the source file name.
421 * prj.adb (Find_Sources.Look_For_Sources): If the source has been
422 excluded, continue looking. This excluded source will only be returned
423 if there is no other source with the same base name that is not locally
424 removed.
425
4262011-08-04 Ed Schonberg <schonberg@adacore.com>
427
428 * sem_res.adb (Resolve_Intrinsic_Operator): if the result type is
429 private and one of the operands is a real literal, use a qualified
430 expression rather than a conversion which is not meaningful to the
431 back-end.
432
0170a691
AC
4332011-08-04 Yannick Moy <moy@adacore.com>
434
435 * sem_ch13.adb (Aspect_Loop): when an aspect X and its classwise
436 corresponding aspect X'Class are allowed, proceed with analysis of the
437 aspect instead of skipping it.
438
4392011-08-04 Tristan Gingold <gingold@adacore.com>
440
441 * s-flocon.adb, s-flocon.ads: Add a body for s-flocon.ads
442 This will allow to have an Ada implementation for the subprogram.
443
deb4f5ba
ES
4442011-08-04 Ed Schonberg <schonberg@adacore.com>
445
446 * sem_ch3.adb (Analyze_Full_Type_Declaration): If the declaration is a
447 completion and aspects are present, apply them to the entity for the
448 type which is currently the partial view, but which is the one that
449 will be frozen.
450 * sem_ch13.adb (Analyze_Aspect_Specifications): if the predicate
451 applies to a partial view, indicate that the full view has predicates
452 and delayed aspects.
453 (Replace_Type_Reference): Handle properly predicates that apply to the
454 full view of a private completion.
455
fc893455
AC
4562011-08-04 Eric Botcazou <ebotcazou@adacore.com>
457
458 * layout.adb (Layout_Type): For composite types, do not set Esize.
459 * freeze.adb (Set_Small_Size): Remove test on alignment and do not
460 set Esize.
461 (Size_Known): Look at the RM size of components instead of the Esize.
462 (Freeze_Record_Type): Look at the RM size instead of the Esize to
463 issue warning and activate Implicit_Packing.
464 (Freeze_Entity): Likewise. Do not issue a warning for alias/atomic
465 if the Esize is not known.
466 * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Size>: Set Esize
467 for elementary types only.
468 (Analyze_Record_Representation_Clause): Look at the RM size instead
469 of the Esize to issue errors.
470 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set Esize if it
471 is not known.
472 <E_Record_Type>: Look at the RM size instead of the Esize. Remove
473 obsolete block.
474 Look at the RM size instead of the Esize for types if the latter is
475 not known.
476 (gnat_to_gnu_field): Use Known_Esize instead of Known_Static_Esize.
477
4782011-08-04 Ed Schonberg <schonberg@adacore.com>
479
480 * sem_type.adb: proper handling of equality not involving anonymous
481 access types.
482
b37d5bc6
AC
4832011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
484
485 * exp_ch7.adb (Create_Finalizer): Remove local variables Spec_Nod and
486 Vis_Decls. When creating a library-level finalizer for a package spec,
487 both the declaration and body of the finalizer are inserted either in
488 the visible or private declarations of the package spec.
489
4902011-08-04 Javier Miranda <miranda@adacore.com>
491
492 * sem_ch3.adb (Derive_Subprograms): Complete assertion to request the
493 use of the full-view of a type when invoking Is_Ancestor.
494 * sem_type.adb (Is_Ancestor): For consistency, when the traversal of
495 the full-view of private parents is requested, then use also the
496 full-view of the parent of the first derivation.
497
7ab4d95a
AC
4982011-08-04 Tristan Gingold <gingold@adacore.com>
499
500 * s-taprop-vxworks.adb (Enter_Task): Use System.Float_Control.Reset
501 instead of the locally imported procedure.
502 * s-taprop-mingw.adb (Enter_Task): Ditto.
503 * s-valrea.adb (Scan_Real): Ditto.
504 * s-imgrea.adb (Set_Image_Real): Ditto.
505 * s-flocon.ads: Make the package pure.
506
5072011-08-04 Thomas Quinot <quinot@adacore.com>
508
509 * sinfo.ads, sinfo.adb (Debug_Statement, Set_Debug_Statement): Remove.
510 * tbuild.ads, tbuild.adb (Make_Pragma): Adjust accordingly.
511 * sinfo-cn.ads, sinfo-cn.adb (Change_Name_To_Procedure_Call_Statement):
512 New subprogram, moved here from...
513 * par.adb, par-ch5.adb (P_Statement_Name): ... here.
514 * par-prag.adb (Par.Prag, case Pragma_Debug): Do not perform any
515 rewriting of the last argument into a procedure call statement here...
516 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): ...do it there
517 instead.
518
5192011-08-04 Thomas Quinot <quinot@adacore.com>
520
521 * par_sco.adb: Minor reformatting.
522
51c400f5
AC
5232011-08-04 Robert Dewar <dewar@adacore.com>
524
525 * erroutc.adb: Minor reformatting.
526
5272011-08-04 Thomas Quinot <quinot@adacore.com>
528
529 * par_sco.adb: Comment update.
530
5312011-08-04 Tristan Gingold <gingold@adacore.com>
532
533 * s-flocon.ads: New file.
534 * g-flocon.ads: Now a renaming of s-flocon.
535 * Makefile.rtl: Add s-flocon.o
536
6a49f110
AC
5372011-08-04 Javier Miranda <miranda@adacore.com>
538
539 * exp_strm.adb (Build_Array_Input_Function): if the array type is
540 constrained, do not attempt to build a subtype of it.
541
5422011-08-04 Yannick Moy <moy@adacore.com>
543
544 * errout.ads Change comments: remove 'R'M as an example where quotes
545 are needed; add ALFA as another case where quotes are not needed
546 * erroutc.adb (Set_Msg_Insertion_Reserved_Word): add ALFA as another
547 case where quotes are not needed.
548 * sem_ch11.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
549 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_prag.adb, sem_res.adb:
550 Remove all occurrences of 'A'L'F'A
551
5522011-08-04 Ed Schonberg <schonberg@adacore.com>
553
554 * sem_ch13.adb: check legality of invariant pragma.
555
a4640a39
AC
5562011-08-04 Eric Botcazou <ebotcazou@adacore.com>
557
558 * bindgen.adb: Add comments.
559
5602011-08-04 Yannick Moy <moy@adacore.com>
561
562 * einfo.adb, einfo.ads: Free Flag254 and make Formal_Proof_On a
563 synthesized flag.
564 * sem_prag.adb (Analyze_Pragma): record the pragma Annotate
565 (Formal_Proof, On/Off) in the Rep_Item list of the current subprogram.
566
5672011-08-04 Robert Dewar <dewar@adacore.com>
568
569 * exp_ch7.adb, exp_ch6.adb, sem_ch3.adb, layout.adb, sem_ch5.adb,
570 osint-c.ads, sem_util.ads, gnat1drv.adb, targparm.ads, sem_ch6.adb,
571 sem_ch13.adb, s-pooloc.adb: Minor reformatting.
572
39ade2f9
AC
5732011-08-04 Thomas Quinot <quinot@adacore.com>
574
575 * s-pooloc.ads, s-pooglo.ads: Minor reformatting
576
5772011-08-04 Thomas Quinot <quinot@adacore.com>
578
579 PR ada/47880
580 * s-pooloc.adb (Deallocate): Fix the case of deallocating the only
581 allocated object.
582
5832011-08-04 Robert Dewar <dewar@adacore.com>
584
585 * einfo.ads, exp_ch4.adb: Minor reformatting.
586
5872011-08-04 Jerome Lambourg <lambourg@adacore.com>
588
589 * back_end.ads (Gen_Or_Update_Object_File): Add more comments.
590
7efc3f2d
AC
5912011-08-04 Ed Schonberg <schonberg@adacore.com>
592
593 * exp_ch4.adb (Expand_Composite_Equality): code cleanup: use component
594 type in all cases to compute list of primitive operations, because full
595 view may be an itype that is not attached to the list of declarations.
596
5972011-08-04 Eric Botcazou <ebotcazou@adacore.com>
598
599 * bindgen.adb (Gen_Adafinal_Ada): Generate an early return if the
600 library has already been finalized.
601 (Gen_Adafinal_C): Likewise.
602 (Gen_Adainit_Ada): Generate an early return if the library has
603 already been elaborated.
604 (Gen_Adainit_C): Likewise.
605 (Gen_Output_File_Ada): Generate an elaboration flag.
606 (Gen_Output_File_C): Likewise.
607
f65df609
HK
6082011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
609
610 * exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
611 Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
612 built in the first place.
613 (Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
614 for CodePeer because Finalize_Address was not built to begin with.
615 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.
616
a0fb8fe8
AC
6172011-08-04 Pascal Obry <obry@adacore.com>
618
619 * adaint.c (__gnat_tmp_name): Use current process id to create temp
620 filenames, this ensures unicity of filenames across processes.
621
6222011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
623
624 * bindgen.adb (Gen_Finalize_Library_Ada): Rename generated routine
625 Raise_Controlled to Raise_From_Controlled_Operation. Update the
626 signature of Raise_From_Controlled_Operation by adding flag From_Abort.
627 Add False as the actual to From_Abort in the generated call to
628 Raise_From_Controlled_Operation.
629
6302011-08-04 Jerome Lambourg <lambourg@adacore.com>
631
632 * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move to declaration
633 so that the ali file name can be retrieved from outside of this package.
634 * back_end.ads, back_end.adb (Gen_Or_Update_Object_File): New method
635 doing nothing in the general case, but used to update the object file
636 timestamp if directly generated by the backend.
637 * gnat1drv.adb (Gnat1drv): Make sure the object file's timestamp is set
638 to a later time than the ali file one.
639
9534ab17
AC
6402011-08-04 Yannick Moy <moy@adacore.com>
641
642 * einfo.adb, einfo.ads (Formal_Proof_On): new flag set on subprogram
643 entities whose body contains an Annotate pragma which forces formal
644 proof on this body.
645 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
646 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Adapt call to
647 Mark_Non_ALFA_Subprogram to pass in a message and node.
648 * sem_prag.adb (Analyze_Pragma): add treatment of pragma Annotate
649 (Forma_Proof, On) which sets the flag Formal_Proof_On in the
650 surrounding subprogram.
651 * sem_util.adb, sem_util.ads (Mark_Non_ALFA_Subprogram,
652 Mark_Non_ALFA_Subprogram_Unconditional): if the subprogram being marked
653 as not in ALFA is annotated with Formal_Proof being On, then an error
654 is issued based on the additional parameters for message and node.
655 * snames.ads-tmpl (Name_Formal_Proof): new name for annotation.
656 * gcc-interface/Make-lang.in: Update dependencies.
657
6582011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
659
660 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not generate
661 Finalize_Address when CodePeer is enabled.
662
6632011-08-04 Pascal Obry <obry@adacore.com>
664
665 * adaint.c (__gnat_tmp_name): Use _tempnam() instead of tempnam() as
666 the latter returns a pointer to a static buffer which is deallocated
667 at the end of the routine.
668
5c0e97dd
AC
6692011-08-04 Yannick Moy <moy@adacore.com>
670
671 * sem_ch3.adb (Array_Type_Declaration): move test for type in ALFA
672 after index creation; mark unconstrained base array type generated as
673 being in/not in ALFA as well
674 (Make_Index): mark subtype created as in/not in ALFA
675 * sem_ch5.adb (Analyze_Iteration_Scheme): mark entity for iterating
676 over a loop as in/not in ALFA, depending on its type and form of loop
677 iteration.
678
6792011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
680
681 * exp_ch7.adb (Build_Object_Declarations): Initialize flag Abort
682 directly to False on .NET and JVM.
683
7a93c64b
YM
6842011-08-04 Yannick Moy <moy@adacore.com>
685
686 * sem_ch3.adb (Constrain_Enumeration, Constrain_Integer): remove
687 constraint that subtype must come from source code to be in ALFA, so
688 that anonymous subtypes can be in ALFA too.
689
e9a1ed9b
YM
6902011-08-04 Yannick Moy <moy@adacore.com>
691
692 * sem_ch3.adb (Analyze_Object_Declaration): remove obsolete addition of
693 reference for ALFA mode.
694 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Compilation_Unit): make
695 procedure public so as to use it from formal verification back-end.
696
8e293fbd
AC
6972011-08-04 Jerome Lambourg <lambourg@adacore.com>
698
699 * g-comlin.adb (For_Each_Simple_Switch.Is_In_Config): Remove the
700 invalid checks of the Parameter, making Remove_Switch not working
701 correctly.
702
7032011-08-04 Arnaud Charlet <charlet@adacore.com>
704
705 * targparm.ads: Update header: no run-time exception is needed on this
706 file.
707
7082011-08-04 Vincent Celier <celier@adacore.com>
709
710 * a-fihema.adb: Use System.IO instead of GNAT.IO
711
7122011-08-04 Thomas Quinot <quinot@adacore.com>
713
714 * sem_ch3.adb (Access_Definition): Anonymous access to subprogram types
715 are forbidden in Compiler_Unit mode.
716
cfae2bed
AC
7172011-08-04 Robert Dewar <dewar@adacore.com>
718
719 * sem_util.adb: Minor reformatting.
720
7212011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
722
723 * bindgen.adb (Gen_Finalize_Library_Ada): Update the import string for
724 library-level finalizers.
725 (Gen_Finalize_Library_C): Update the import string for library-level
726 finalizers.
727 (Gen_Finalize_Library_Defs_C): Update the definition name of a
728 library-level finalizer.
729 * exp_ch7.adb: Remove with and use clauses for Stringt.
730 (Create_Finalizer): Remove local variables Conv_Name, Prag_Decl,
731 Spec_Decl. Add local variable Body_Id. The names of library-level
732 finalizers are now manually fully qualified and are no longer external.
733 A single name is now capable of servicing .NET, JVM and non-VM targets.
734 Pragma Export is no longer required to provide visibility for the name.
735 (Create_Finalizer_String): Removed.
736 (New_Finalizer_Name): New routine which mimics New_..._Name.
737
01f0729a
AC
7382011-08-04 Eric Botcazou <ebotcazou@adacore.com>
739
740 * sem_elab.adb (Check_Internal_Call_Continue): Change the type of the
741 elaboration counter to Standard_Short_Integer.
742 * sem_util.adb (Build_Elaboration_Entity): Likewise.
743 * bindgen.adb (Gen_Elab_Externals_Ada): Adjust to above change.
744 (Gen_Elab_Externals_C): Likewise.
745
7462011-08-04 Ed Falis <falis@adacore.com>
747
748 * system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
749 system-vxworks-ppc.ads, system-vxworks-m68k.ads,
750 system-vxworks-mips.ads, system-vxworks-x86.ads
751 (Always_Compatible_Rep): set to False for all VxWorks targets.
752
2c1b72d7
AC
7532011-08-04 Robert Dewar <dewar@adacore.com>
754
755 * par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads,
756 makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb,
757 exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb,
758 exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb,
759 exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb,
760 sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb,
761 sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb:
762 Minor reformatting and code reorganization.
763
7642011-08-04 Emmanuel Briot <briot@adacore.com>
765
766 * projects.texi: Added doc for aggregate projects.
767
824e9320
AC
7682011-08-04 Emmanuel Briot <briot@adacore.com>
769
770 * prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items):
771 Add support for overriding the Project_Path in aggregate projects.
772
7732011-08-04 Robert Dewar <dewar@adacore.com>
774
775 * a-cofove.ads: Minor reformatting.
776
7772011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
778
779 * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment
780 on the generated code.
781 (Build_Finalize_Statements): Update the comment on the generated code.
782 (Build_Initialize_Statements): Update the comment on the generated code.
783 (Build_Object_Declarations): Add local variable Result. The object
784 declarations are now built in sequence.
785 * rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and
786 RE_Unit_Table.
787
7882011-08-04 Robert Dewar <dewar@adacore.com>
789
790 * checks.adb, alfa.adb, alfa.ads: Minor reformatting.
791
7922011-08-04 Eric Botcazou <ebotcazou@adacore.com>
793
794 * einfo.ads (Elaboration_Entity): Document new definition and use.
795 (Elaboration_Entity_Required): Adjust to above change.
796 * exp_attr.adb (Expand_N_Attribute_Reference): Likewise.
797 * exp_ch12.adb: And with and use for Snames.
798 (Expand_N_Generic_Instantiation): Test 'Elaborated attribute.
799 * exp_util.adb (Set_Elaboration_Flag): Likewise.
800 * sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete.
801 <Check_Unit_Name>: Deal with N_Expanded_Name.
802 <Attribute_Elaborated>: Extend to all unit names.
803 * sem_elab.adb: And with and use for Uintp.
804 (Check_Internal_Call_Continue): Adjust to Elaboration_Entity change.
805 * sem_util.ads (Build_Elaboration_Entity): Adjust comment.
806 * sem_util.adb (Build_Elaboration_Entity): Change type to Integer.
807 * bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken
808 from Gen_Adainit_Ada.
809 (Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C.
810 (Gen_Adafinal_Ada): Remove redundant test. In the non-main program
811 case, do not call System.Standard_Library.Adafinal; instead call
812 finalize_library if needed.
813 (Gen_Adafinal_C): Likewise.
814 (Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the
815 non-main program case.
816 (Gen_Adainit_C): Generate a couple of external declarations here.
817 In the main program case, set SSL.Finalize_Library_Objects.
818 (Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change.
819 (Gen_Elab_Calls_C): Likewise.
820 (Gen_Finalize_Library_Ada): Likewise. Skip SAL interface units.
821 (Gen_Finalize_Library_C): Likewise. Generate a full function.
822 (Gen_Main_C): Put back call to Ada_Final and don't finalize library
823 objects here.
824 (Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final
825 if -a is specified. Call Gen_Elab_Externals_Ada. Move around call to
826 Gen_Adafinal_Ada.
827 (Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final
828 if -a is specified. Call Gen_Elab_Externals_C. Remove useless couple
829