]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
[multiple changes]
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
2d395256
AC
12011-08-04 Yannick Moy <moy@adacore.com>
2
3 * par-ch4.adb (P_Primary): preferentially issue an error message about
4 a missing parenthesis arount a conditional or case expression in Ada
5 2012 mode, if we detect that the alignment is not correct for a
6 statement.
7
82011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
9
10 * exp_ch7.adb (Process_Declarations): Do not consider the result of a
11 tag-to-class-wide conversion as needing finalization actions.
12 * exp_util.adb (Has_Controlled_Objects): Do not consider the result of
13 a tag-to-class-wide conversion as needing finalization actions.
14 (Is_Finalizable_Transient): The result of a tag-to-class-wide
15 conversion does not need finalization actions.
16 (Is_Tag_To_CW_Conversion): New routine.
17 * exp_util.ads (Is_Tag_To_CW_Conversion): New routine. Determines
18 whether an object is the result of a tag-to-class-wide conversion.
19
202011-08-04 Yannick Moy <moy@adacore.com>
21
22 * sem_ch13.adb (Analyze_Aspect_Specifications): correct order in which
23 the left-hand-side and right-hand-side of a conjunct are inserted when
24 translating a pre- or postcondition
25 * sem_ch6.adb: Correct typo in comment
26
272011-08-04 Ed Schonberg <schonberg@adacore.com>
28
29 * gnat_rm.texi: Ravenscar does not prohibit dependence on
30 Unchecked_Conversion and Unchecked_Deallocation.
31
322011-08-04 Thomas Quinot <quinot@adacore.com>
33
34 * make.adb: Minor reformatting.
35
767ab2fd
EB
362011-08-04 Emmanuel Briot <briot@adacore.com>
37
38 * prj.adb, prj.ads, makeutl.adb (Complete_Mains): search for the
39 sources in the project and its imported projects, but not in the whole
40 tree.
41
8fb3f5df
AC
422011-08-04 Emmanuel Briot <briot@adacore.com>
43
44 * make.adb: Remove debug trace.
45
462011-08-04 Vincent Celier <celier@adacore.com>
47
48 * makeutl.adb (Do_Complete): Get the absolute path name of a relative
49 path in canonical form, to be able to compare path names on platforms
50 such as Windows or Darwin.
51
522011-08-04 Thomas Quinot <quinot@adacore.com>
53
54 * par_sco.adb (Traverse_Declarations_Or_Statements.Set_Statement_Entry):
55 For a pragma (statement with C1 = 'P'), record the sloc of the pragma.
56 * scos.ads: Update documentation accordingly.
57 * put_scos.adb (Output_SCO_Line): Omit statement SCOs for disabled
58 pragmas.
59
9515740f
AC
602011-08-04 Ed Schonberg <schonberg@adacore.com>
61
62 * sem_attr.adb (Bad_Attribute_For_Predicate): flag illegal use of
63 attribute only if prefix type is scalar.
64
652011-08-04 Emmanuel Briot <briot@adacore.com>
66
67 * make.adb, makeutl.adb, prj-env.adb (Check_Mains): put back support
68 in gnatmake for specifying mains on the command line that do not belong
69 to the main project. These mains must currently all belong to the same
70 project, though.
71 (Ultimate_Extension_Of): removed, since duplicated
72 Ultimate_Extending_Project.
73
92966893
AC
742011-08-04 Arnaud Charlet <charlet@adacore.com>
75
76 * make.adb (Do_Codepeer_Globalize_Step): Removed. Use CodePeer_Mode
77 instead.
78 (CodePeer_Mode_String): New.
79 (Linking_Phase, Binding_Phase): Call gnatlink with -P switch in
80 CodePeer mode.
81 (Scan_Make_Arg): Do not disable binding/linking phase in CodePeer mode.
82 * bindgen.adb (Gen_Elab_Calls_Ada): Ignore subprograms in CodePeer
83 mode, since no useful elaboration subprogram is needed by CodePeer.
84 * gnatlink.adb (Gnatlink): Add support for -P switch (CodePeer mode).
85 In this mode, compile binder file with -gnatC and do stop after this
86 step.
87
882011-08-04 Vincent Celier <celier@adacore.com>
89
90 * exp_ch7.adb: Minor comment fix.
91
5969611f
RD
922011-08-04 Robert Dewar <dewar@adacore.com>
93
94 * exp_ch7.adb, make.adb, sem_ch10.adb, bindgen.adb, sem_res.adb,
95 exp_ch4.adb, makeutl.adb: Minor reformatting.
96
6367dd30
AC
972011-08-04 Emmanuel Briot <briot@adacore.com>
98
99 * make.adb, makeutl.adb, makeutl.ads (Make): major refactoring.
100 Create several new subprograms to move code out of Make. This makes the
101 code more readable, removes code duplication, and is a preparation work
102 for adding support for aggregate projects.
103
1042011-08-04 Tristan Gingold <gingold@adacore.com>
105
106 * s-po32gl.ads, s-po32gl.adb: New files.
107 * exp_ch7.ads (Get_Global_Pool_For_Access_Type): New function.
108 * exp_ch7.adb (Get_Global_Pool_For_Access_Type): New function.
109 (Build_Finalization_Collection): Use it.
110 * exp_ch4.adb (Complete_Controlled_Allocation): Ditto.
111 * rtsfind.ads: System_Pool_32_Global, Re_Global_Pool_32_Object: New
112 literals.
113 * gcc-interface/Makefile.in: Use s-po32gl.o on VMS.
114 * gcc-interface/Make-lang.in: Update dependencies.
115
cd8bfe35
EB
1162011-08-04 Emmanuel Briot <briot@adacore.com>
117
118 * makeutl.adb (Complete_Mains): add support for specs with no suffix on
119 the command line.
120
7db29ea7
EB
1212011-08-04 Emmanuel Briot <briot@adacore.com>
122
123 * make.adb, makeutl.adb (Complete_Mains): if a main specified on the
124 command line is not a file name, also check whether it could be a unit
125 name.
126
d9b056ea
AC
1272011-08-04 Eric Botcazou <ebotcazou@adacore.com>
128
129 * bindgen.adb (Gen_Finalize_Library_Ada): Factor out code to generate
130 the header of the finalization routine.
131 If the unit has no finalizer but is a body whose spec has one, then
132 generate the decrement of the elaboration entity only.
133 If the unit has a finalizer and is a spec, then do not generate the
134 decrement of the elaboration entity.
135 (Gen_Finalize_Library_C): Likewise.
136
1372011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
138
139 * exp_ch7.adb (Alignment_Of): New subsidiary routine.
140 (Bounds_Size_Expression): Removed.
141 (Double_Alignment_Of): New subsidiary routine.
142 (Make_Finalize_Address_Stmts): New local variable Index_Typ. Account
143 for a hole in the dope vector of unconstrained arrays due to different
144 index and element alignments.
145
1462011-08-04 Ed Schonberg <schonberg@adacore.com>
147
148 * sem_res.adb (Resolve_Allocator): diagnose task allocator that will
149 raise program_error because body has not been seen yet.
150
1512011-08-04 Ed Schonberg <schonberg@adacore.com>
152
153 * sem_ch10.adb (Analyze_With_Clause): Protect against child unit with
154 an unresolved name.
155
1562011-08-04 Vincent Celier <celier@adacore.com>
157
158 * makeutl.adb (Do_Complete): Check absolute paths in canonical forms
159
1602011-08-04 Yannick Moy <moy@adacore.com>
161
162 * alfa.adb, alfa.ads (Unique_Defining_Entity): move function from here
163 * sem_util.adb, sem_util.ads (Unique_Defining_Entity): ...to here
164
1652011-08-04 Thomas Quinot <quinot@adacore.com>
166
167 * sem_ch12.adb (Analyze_Package_Instantiation): Do not omit body for
168 instantiation in RCI.
169
1702011-08-04 Emmanuel Briot <briot@adacore.com>
171
172 * make.adb: Share more code with gprbuild
173
f5fc5b9d
AC
1742011-08-04 Emmanuel Briot <briot@adacore.com>
175
176 * projects.texi: Added documentation for the IDE'Gnat project file
177 attribute.
178
1792011-08-04 Nicolas Roche <roche@adacore.com>
180
181 * gnat_rm.texi: Minor editing.
182
1832011-08-04 Javier Miranda <miranda@adacore.com>
184
185 * bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
186 and the library case for VM targets.
187 (Gen_Adainit_Ada): Likewise.
188
1892011-08-04 Robert Dewar <dewar@adacore.com>
190
191 * g-altive.ads: Minor comment updates.
192 * prj-nmsc.adb: Minor reformatting.
193
1942011-08-04 Javier Miranda <miranda@adacore.com>
195
196 * opt.ads
197 (Normalize_Scalars_Config): Value of the configuration switch set by
198 pragma Normalize_Scalars when it appears in the gnat.adc file.
199 (Normalize_Scalars): New field for record Config_Switches_Type. Used
200 to save and restore settings of this pragma.
201 * opt.adb
202 (Register_Opt_Config_Switches, Save_Opt_Config_Switches,
203 Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.
204
2052011-08-04 Vincent Celier <celier@adacore.com>
206
207 * gnat_ugn.texi: Document gnatlink options -M and -M=mapfile
208
0c4683cf
AC
2092011-08-04 Arnaud Charlet <charlet@adacore.com>
210
211 * makeutl.adb: Minor reformatting.
212
2132011-08-04 Olivier Hainque <hainque@adacore.com>
214
215 * g-altive.ads: Update comments to reflect that only the soft
216 binding is available today.
217
2598ee6d
RD
2182011-08-04 Robert Dewar <dewar@adacore.com>
219
220 * bindgen.adb, einfo.adb, sem_ch12.adb, s-tasren.adb, sem_res.adb,
221 makeutl.adb, prj-nmsc.adb, opt.ads, prj-env.adb: Minor reformatting
222 * gcc-interface/Make-lang.in: Update dependencies.
223
c2db4b32
AC
2242011-08-04 Arnaud Charlet <charlet@adacore.com>
225
226 * prj-env.adb: Remove local debug traces.
227
2282011-08-04 Yannick Moy <moy@adacore.com>
229
230 * checks.adb (Apply_Float_Conversion_Check): correct a typo where Lo_OK
231 was used instead of Hi_OK, which could cause a read of an uninitialized
232 value later on. Detected while working on the new warning.
233 * exp_ch9.adb (Expand_N_Entry_Declaration): remove useless assignment
234 to local variable.
235 * sem_ch5.adb (Analyze_Assignment): set the last assignment component
236 in more cases, in order to detect more unreferenced values.
237 * sem_util.adb, sem_util.ads (Get_Enclosing_Object): return enclosing
238 object for expression, if any.
239
2402011-08-04 Eric Botcazou <ebotcazou@adacore.com>
241
242 * exp_intr.adb (Expand_Binary_Operator_Call): Look at the RM size of
243 the operand types instead of the Esize.
244
2452011-08-04 Steve Baird <baird@adacore.com>
246
247 * switch-b.adb (Scan_Binder_Switches): Add -P binder switch, used to
248 enable CodePeer_Mode.
249 * bindusg.adb (Display): Add help message describing -P binder switch.
250 * gnat_ugn.texi: Document -P binder switch.
251 * bindgen.adb (Gen_Main_Ada): If CodePeer_Mode is set, then call the
252 user-defined main program directly.
253 (Gen_Output_File_Ada): If CodePeer_Mode is set, generate a with of the
254 user-defined main program in the context clause of the package body.
255
ad05f2e9
AC
2562011-08-04 Yannick Moy <moy@adacore.com>
257
258 * alfa.adb, alfa.ads (Get_Entity_For_Decl): remove function, partial
259 duplicate of Defining_Entity
260 (Get_Unique_Entity_For_Decl): rename function into
261 Unique_Defining_Entity
262 * einfo.adb, einfo.ads (Is_In_ALFA, Body_Is_In_ALFA): remove flags
263 (Formal_Proof_On): remove synthesized flag
264 * cstand.adb, sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
265 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb, sem_util.adb,
266 sem_util.ads, stand.ads: Remove treatment associated to entities in ALFA
267 * sem_prag.adb (Analyze_Pragma): remove special treatment for pragma
268 Annotate (Formal_Proof)
269
2702011-08-04 Emmanuel Briot <briot@adacore.com>
271
272 * prj-env.adb (Create_Config_Pragmas_File): fix handling of multi-unit
273 source files with non-standard naming schemes, in imported projects
274
756ef2a0
AC
2752011-08-04 Emmanuel Briot <briot@adacore.com>
276
277 * makeutl.adb (Complete_Mains): when a multi-unit source file is
278 specified on the gprbuild command line, we need to compile all units
279 within that file, not just the first one we find
280 Fix error message for mains that are not found.
281
2822011-08-04 Thomas Quinot <quinot@adacore.com>
283
284 * sem_ch6.adb: Update comment.
285 * sem_ch12.adb: Minor reformatting.
286
2872011-08-04 Bob Duff <duff@adacore.com>
288
289 * s-tasren.adb (Task_Do_Or_Queue): Previous code was reading
290 Acceptor.Terminate_Alternative without locking Acceptor, which causes a
291 race condition whose symptom is to fail to lock Parent. That, in turn,
292 causes Parent.Awake_Count to be accessed without locking Parent, which
293 causes another race condition whose symptom is that Parent.Awake_Count
294 can be off by 1 (either too high or too low). The solution is to lock
295 Parent unconditionally, and then lock Acceptor, before reading
296 Acceptor.Terminate_Alternative.
297
4fdebd93
AC
2982011-08-04 Arnaud Charlet <charlet@adacore.com>
299
300 * debug.adb: Update comment.
301
3022011-08-04 Robert Dewar <dewar@adacore.com>
303
304 * par_sco.adb, exp_util.adb, make.adb, a-tags.adb, sem_prag.adb,
305 sem_util.adb, sem_attr.adb, exp_ch4.adb, g-comlin.adb, g-comlin.ads,
306 exp_ch6.adb: Minor reformatting.
307
3082011-08-04 Gary Dismukes <dismukes@adacore.com>
309
310 * gnat_ugn.texi: Add sentence about the case of compile-time-detected
311 checks for -gnateE.
312
3132011-08-04 Ed Schonberg <schonberg@adacore.com>
314
315 * gnat_rm.texi: update Ravenscar desription to reflect Ada2012 RM.
316
3172011-08-04 Thomas Quinot <quinot@adacore.com>
318
319 * sinfo.ads: Minor reformatting.
320
3212011-08-04 Emmanuel Briot <briot@adacore.com>
322
323 * makeutl.adb, makeutl.ads, prj-nmsc.adb (Complete_Mains): report error
324 even if there is no location.
325
6aaa0587
ES
3262011-08-04 Ed Schonberg <schonberg@adacore.com>
327
328 * sem_res.adb, sem_ch4.adb: move check for restriction
329 No_Task_Hierarchy to resolve_allocator.
330
35a1c212
AC
3312011-08-04 Thomas Quinot <quinot@adacore.com>
332
333 * sinfo.adb, sinfo.ads, sem_prag.adb, sem_ch12.adb (Pragma_Enabled):
334 This flag of N_Pragma nodes is not used, remove it as well as all of
335 the associated circuitry.
336
3372011-08-04 Javier Miranda <miranda@adacore.com>
338
339 * exp_disp.adb (Make_DT): Switch -gnatdQ disables the generation of the
340 runtime check on duplicated externa tags
341 * debug.adb Document switch -gnatdQ.
342
3432011-08-04 Gary Dismukes <dismukes@adacore.com>
344
345 * a-fihema.ads: Minor typo fix.
346
3472011-08-04 Yannick Moy <moy@adacore.com>
348
349 * sem_ch10.adb: Minor comment update.
350
3512011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
352
353 * einfo.adb: Update the node field usage to reflect the renaming of
354 Return_Flag to Return_ Flag_Or_Transient_Decl.
355 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl.
356 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl.
357 (Write_Field15_Name): Change Return_Flag to
358 Return_Flag_Or_Transient_Decl.
359 * einfo.ads: Rename node field Return_Flag to
360 Return_Flag_Or_Transient_Decl. Update the associated comment and all
361 occurrences in entities.
362 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl. Update
363 associated Inline pragma.
364 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl. Update
365 associated Inline pragma.
366 * exp_ch4.ads, exp_ch4.adb (Expand_N_Expression_With_Actions): New
367 routine.
368 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Update the calls to
369 Return_Flag and Set_Return_Flag.
370 * exp_ch7.adb (Process_Declarations): Add code to recognize hook
371 objects generated for controlled transients declared inside an
372 Exception_With_Actions. Update the calls to Return_Flag.
373 (Process_Object_Declaration): Add code to add a null guard for hook
374 objects generated for controlled transients declared inside an
375 Exception_With_Actions. Update related comment.
376 * exp_util.adb (Has_Controlled_Objects): Add code to recognize hook
377 objects generated for controlled transients declared inside an
378 Exception_With_Actions. Update the calls to Return_Flag.
379 * expander.adb (Expand): Add new case for N_Expression_With_Actions.
380
3812011-08-04 Ed Schonberg <schonberg@adacore.com>
382
383 * sem_util.adb:(Wrong_Type): Improve error message on a one-element
384 positional aggregate.
385
3862011-08-04 Vincent Celier <celier@adacore.com>
387
388 * par_sco.adb (Process_Decisions.Output_Header): Check and record pragma
389 SLOC only for pragmas.
390
3912011-08-04 Emmanuel Briot <briot@adacore.com>
392
393 * projects.texi: Minor typo fix.
394
3952011-08-04 Emmanuel Briot <briot@adacore.com>
396
397 * prj-nmsc.adb (Check_File): Minor change to traces, to help debugging
398 on case-sensitive file systems.
399
c2873f74
TQ
4002011-08-04 Thomas Quinot <quinot@adacore.com>
401
402 * put_scos.adb (Put_SCOs): Do not emit decision SCO for an X decision
403 nested in a disabled pragma.
404 * scos.ads, scos.adb, par_sco.ads, par_sco.adb: Record sloc of
405 enclosing pragma, if any, for X decisions.
406
4072011-08-04 Thomas Quinot <quinot@adacore.com>
408
409 * sem_prag.adb: Minor reformatting.
410
46414266
VC
4112011-08-04 Vincent Celier <celier@adacore.com>
412
413 * a-tags.adb (Check_TSD): Avoid concatenation of strings, as it is not
414 allowed in no run time mode.
415
4162011-08-04 Vincent Celier <celier@adacore.com>
417
418 * make.adb (Check): When -gnatc is used, check for the source file
419 inside the ALI file with a canonical case file name.
420
afab164f
EB
4212011-08-04 Emmanuel Briot <briot@adacore.com>
422
423 * g-comlin.adb, g-comlin.ads (Add_Switch): Put back support for
424 overriding the separator.
425
fe0ec02f
AC
4262011-08-04 Robert Dewar <dewar@adacore.com>
427
428 * sem_aggr.adb, par_sco.adb, sem_type.adb, exp_util.adb, exp_ch9.adb,
429 prj-nmsc.adb, sem_ch13.adb, exp_strm.adb: Minor reformatting.
430
4312011-08-04 Robert Dewar <dewar@adacore.com>
432
433 * gnat_rm.texi: Minor documentation fix for pragma Annotate.
434
4352011-08-04 Yannick Moy <moy@adacore.com>
436
437 * sem_attr.adb (Analyze_Attribute): add check during pre-analysis that
438 'Result only appears in postcondition of function.
439
4402011-08-04 Thomas Quinot <quinot@adacore.com>
441
442 * a-tags.adb (Check_TSD): When raising PROGRAM_ERROR for a duplicated
443 external tag, include the value of the external tag in the exception
444 message.
445
0180fd26
AC
4462011-08-04 Yannick Moy <moy@adacore.com>
447
448 * sem_attr.adb (Result): modify error message for misplaced 'Result
449
4502011-08-04 Sergey Rybin <rybin@adacore.com>
451
452 * gnat_rm.texi (pragma Annotate): Fix syntax description to make it
453 clear that the second argument must be an identifier.
454
4552011-08-04 Thomas Quinot <quinot@adacore.com>
456
457 * exp_ch9.adb (Build_Barrier_Function): When compiling with
458 -fpreserve-control-flow, insert an IF statement on the barrier
459 condition to ensure that a conditional branch instruction is generated.
460
4612011-08-04 Emmanuel Briot <briot@adacore.com>
462
463 * prj-part.adb, prj.adb, prj.ads, prj-tree.ads
464 (Processing_Flags.Ignore_Missing_With): new flag.
465
4662011-08-04 Emmanuel Briot <briot@adacore.com>
467
468 * prj-nmsc.adb (Find_Sources, Path_Name_Of): Fix handling of
469 Source_List_File on case-insensitive systems where the file is actually
470 on a case-sensitive file system (NFS,...).
471
4722011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
473
474 * sem_ch6.adb (Analyze_Function_Return): In a rare case where a
475 function return contains a controlled [extension] aggregate and the
476 return statement is not part of a handled sequence of statements, wrap
477 the return in a block. This ensures that all controlled temporaries
478 generated during aggregate resolution will be picked up by the
479 finalization machinery.
480
4812011-08-04 Ed Schonberg <schonberg@adacore.com>
482
483 * sem_aggr.adb (Resolve_Aggregate): If aggregate has box-initialized
484 components, freeze type before resolution, to ensure that default
485 initializations are present for all components.
486 * sem_res.adb (Resolve_Actuals): the designated object of an
487 accces-to-constant type is a legal actual in a call to an
488 initialization procedure.
489
4902011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
491
492 * exp_util.adb (Extract_Renamed_Object): Add N_Type_Conversion and
493 N_Unchecked_Type_Conversion to the possible containers of a renamed
494 transient variable.
495
78efd712
AC
4962011-08-04 Yannick Moy <moy@adacore.com>
497
498 * par-ch13.adb (Aspect_Specifications_Present): recognize
499 "with Identifier'Class =>" as an aspect, so that a meaningful warning
500 is issued in Strict mode.
501 * par.adb: Fix typos in comments.
502
5032011-08-04 Yannick Moy <moy@adacore.com>
504
505 * sem_attr.adb (Result): modify error message to take into account Post
506 aspect when compiling Ada 2012 (or newer) code.
507
5082011-08-04 Nicolas Roche <roche@adacore.com>
509
510 * env.c (__gnat_clearenv): Avoid use of dynamic size array in order to
511 remove need for GCC exceptions.
512
5132011-08-04 Vincent Celier <celier@adacore.com>
514
515 * makeutl.adb (Do_Complete): Call Debug_Output with the name of the
516 project, not the source file name.
517 * prj.adb (Find_Sources.Look_For_Sources): If the source has been
518 excluded, continue looking. This excluded source will only be returned
519 if there is no other source with the same base name that is not locally
520 removed.
521
5222011-08-04 Ed Schonberg <schonberg@adacore.com>
523
524 * sem_res.adb (Resolve_Intrinsic_Operator): if the result type is
525 private and one of the operands is a real literal, use a qualified
526 expression rather than a conversion which is not meaningful to the
527 back-end.
528
0170a691
AC
5292011-08-04 Yannick Moy <moy@adacore.com>
530
531 * sem_ch13.adb (Aspect_Loop): when an aspect X and its classwise
532 corresponding aspect X'Class are allowed, proceed with analysis of the
533 aspect instead of skipping it.
534
5352011-08-04 Tristan Gingold <gingold@adacore.com>
536
537 * s-flocon.adb, s-flocon.ads: Add a body for s-flocon.ads
538 This will allow to have an Ada implementation for the subprogram.
539
deb4f5ba
ES
5402011-08-04 Ed Schonberg <schonberg@adacore.com>
541
542 * sem_ch3.adb (Analyze_Full_Type_Declaration): If the declaration is a
543 completion and aspects are present, apply them to the entity for the
544 type which is currently the partial view, but which is the one that
545 will be frozen.
546 * sem_ch13.adb (Analyze_Aspect_Specifications): if the predicate
547 applies to a partial view, indicate that the full view has predicates
548 and delayed aspects.
549 (Replace_Type_Reference): Handle properly predicates that apply to the
550 full view of a private completion.
551
fc893455
AC
5522011-08-04 Eric Botcazou <ebotcazou@adacore.com>
553
554 * layout.adb (Layout_Type): For composite types, do not set Esize.
555 * freeze.adb (Set_Small_Size): Remove test on alignment and do not
556 set Esize.
557 (Size_Known): Look at the RM size of components instead of the Esize.
558 (Freeze_Record_Type): Look at the RM size instead of the Esize to
559 issue warning and activate Implicit_Packing.
560 (Freeze_Entity): Likewise. Do not issue a warning for alias/atomic
561 if the Esize is not known.
562 * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Size>: Set Esize
563 for elementary types only.
564 (Analyze_Record_Representation_Clause): Look at the RM size instead
565 of the Esize to issue errors.
566 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set Esize if it
567 is not known.
568 <E_Record_Type>: Look at the RM size instead of the Esize. Remove
569 obsolete block.
570 Look at the RM size instead of the Esize for types if the latter is
571 not known.
572 (gnat_to_gnu_field): Use Known_Esize instead of Known_Static_Esize.
573
5742011-08-04 Ed Schonberg <schonberg@adacore.com>
575
576 * sem_type.adb: proper handling of equality not involving anonymous
577 access types.
578
b37d5bc6
AC
5792011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
580
581 * exp_ch7.adb (Create_Finalizer): Remove local variables Spec_Nod and
582 Vis_Decls. When creating a library-level finalizer for a package spec,
583 both the declaration and body of the finalizer are inserted either in
584 the visible or private declarations of the package spec.
585
5862011-08-04 Javier Miranda <miranda@adacore.com>
587
588 * sem_ch3.adb (Derive_Subprograms): Complete assertion to request the
589 use of the full-view of a type when invoking Is_Ancestor.
590 * sem_type.adb (Is_Ancestor): For consistency, when the traversal of
591 the full-view of private parents is requested, then use also the
592 full-view of the parent of the first derivation.
593
7ab4d95a
AC
5942011-08-04 Tristan Gingold <gingold@adacore.com>
595
596 * s-taprop-vxworks.adb (Enter_Task): Use System.Float_Control.Reset
597 instead of the locally imported procedure.
598 * s-taprop-mingw.adb (Enter_Task): Ditto.
599 * s-valrea.adb (Scan_Real): Ditto.
600 * s-imgrea.adb (Set_Image_Real): Ditto.
601 * s-flocon.ads: Make the package pure.
602
6032011-08-04 Thomas Quinot <quinot@adacore.com>
604
605 * sinfo.ads, sinfo.adb (Debug_Statement, Set_Debug_Statement): Remove.
606 * tbuild.ads, tbuild.adb (Make_Pragma): Adjust accordingly.
607 * sinfo-cn.ads, sinfo-cn.adb (Change_Name_To_Procedure_Call_Statement):
608 New subprogram, moved here from...
609 * par.adb, par-ch5.adb (P_Statement_Name): ... here.
610 * par-prag.adb (Par.Prag, case Pragma_Debug): Do not perform any
611 rewriting of the last argument into a procedure call statement here...
612 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): ...do it there
613 instead.
614
6152011-08-04 Thomas Quinot <quinot@adacore.com>
616
617 * par_sco.adb: Minor reformatting.
618
51c400f5
AC
6192011-08-04 Robert Dewar <dewar@adacore.com>
620
621 * erroutc.adb: Minor reformatting.
622
6232011-08-04 Thomas Quinot <quinot@adacore.com>
624
625 * par_sco.adb: Comment update.
626
6272011-08-04 Tristan Gingold <gingold@adacore.com>
628
629 * s-flocon.ads: New file.
630 * g-flocon.ads: Now a renaming of s-flocon.
631 * Makefile.rtl: Add s-flocon.o
632
6a49f110
AC
6332011-08-04 Javier Miranda <miranda@adacore.com>
634
635 * exp_strm.adb (Build_Array_Input_Function): if the array type is
636 constrained, do not attempt to build a subtype of it.
637
6382011-08-04 Yannick Moy <moy@adacore.com>
639
640 * errout.ads Change comments: remove 'R'M as an example where quotes
641 are needed; add ALFA as another case where quotes are not needed
642 * erroutc.adb (Set_Msg_Insertion_Reserved_Word): add ALFA as another
643 case where quotes are not needed.
644 * sem_ch11.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
645 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_prag.adb, sem_res.adb:
646 Remove all occurrences of 'A'L'F'A
647
6482011-08-04 Ed Schonberg <schonberg@adacore.com>
649
650 * sem_ch13.adb: check legality of invariant pragma.
651
a4640a39
AC
6522011-08-04 Eric Botcazou <ebotcazou@adacore.com>
653
654 * bindgen.adb: Add comments.
655
6562011-08-04 Yannick Moy <moy@adacore.com>
657
658 * einfo.adb, einfo.ads: Free Flag254 and make Formal_Proof_On a
659 synthesized flag.
660 * sem_prag.adb (Analyze_Pragma): record the pragma Annotate
661 (Formal_Proof, On/Off) in the Rep_Item list of the current subprogram.
662
6632011-08-04 Robert Dewar <dewar@adacore.com>
664
665 * exp_ch7.adb, exp_ch6.adb, sem_ch3.adb, layout.adb, sem_ch5.adb,
666 osint-c.ads, sem_util.ads, gnat1drv.adb, targparm.ads, sem_ch6.adb,
667 sem_ch13.adb, s-pooloc.adb: Minor reformatting.
668
39ade2f9
AC
6692011-08-04 Thomas Quinot <quinot@adacore.com>
670
671 * s-pooloc.ads, s-pooglo.ads: Minor reformatting
672
6732011-08-04 Thomas Quinot <quinot@adacore.com>
674
675 PR ada/47880
676 * s-pooloc.adb (Deallocate): Fix the case of deallocating the only
677 allocated object.
678
6792011-08-04 Robert Dewar <dewar@adacore.com>
680
681 * einfo.ads, exp_ch4.adb: Minor reformatting.
682
6832011-08-04 Jerome Lambourg <lambourg@adacore.com>
684
685 * back_end.ads (Gen_Or_Update_Object_File): Add more comments.
686
7efc3f2d
AC
6872011-08-04 Ed Schonberg <schonberg@adacore.com>
688
689 * exp_ch4.adb (Expand_Composite_Equality): code cleanup: use component
690 type in all cases to compute list of primitive operations, because full
691 view may be an itype that is not attached to the list of declarations.
692
6932011-08-04 Eric Botcazou <ebotcazou@adacore.com>
694
695 * bindgen.adb (Gen_Adafinal_Ada): Generate an early return if the
696 library has already been finalized.
697 (Gen_Adafinal_C): Likewise.
698 (Gen_Adainit_Ada): Generate an early return if the library has
699 already been elaborated.
700 (Gen_Adainit_C): Likewise.
701 (Gen_Output_File_Ada): Generate an elaboration flag.
702 (Gen_Output_File_C): Likewise.
703
f65df609
HK
7042011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
705
706 * exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
707 Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
708 built in the first place.
709 (Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
710 for CodePeer because Finalize_Address was not built to begin with.
711 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.
712
a0fb8fe8
AC
7132011-08-04 Pascal Obry <obry@adacore.com>
714
715 * adaint.c (__gnat_tmp_name): Use current process id to create temp
716 filenames, this ensures unicity of filenames across processes.
717
7182011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
719
720 * bindgen.adb (Gen_Finalize_Library_Ada): Rename generated routine
721 Raise_Controlled to Raise_From_Controlled_Operation. Update the
722 signature of Raise_From_Controlled_Operation by adding flag From_Abort.
723 Add False as the actual to From_Abort in the generated call to
724 Raise_From_Controlled_Operation.
725
7262011-08-04 Jerome Lambourg <lambourg@adacore.com>
727
728 * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move to declaration
729 so that the ali file name can be retrieved from outside of this package.
730 * back_end.ads, back_end.adb (Gen_Or_Update_Object_File): New method
731 doing nothing in the general case, but used to update the object file
732 timestamp if directly generated by the backend.
733 * gnat1drv.adb (Gnat1drv): Make sure the object file's timestamp is set
734 to a later time than the ali file one.
735
9534ab17
AC
7362011-08-04 Yannick Moy <moy@adacore.com>
737
738 * einfo.adb, einfo.ads (Formal_Proof_On): new flag set on subprogram
739 entities whose body contains an Annotate pragma which forces formal
740 proof on this body.
741 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
742 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Adapt call to
743 Mark_Non_ALFA_Subprogram to pass in a message and node.
744 * sem_prag.adb (Analyze_Pragma): add treatment of pragma Annotate
745 (Forma_Proof, On) which sets the flag Formal_Proof_On in the
746 surrounding subprogram.
747 * sem_util.adb, sem_util.ads (Mark_Non_ALFA_Subprogram,
748 Mark_Non_ALFA_Subprogram_Unconditional): if the subprogram being marked
749 as not in ALFA is annotated with Formal_Proof being On, then an error
750 is issued based on the additional parameters for message and node.
751 * snames.ads-tmpl (Name_Formal_Proof): new name for annotation.
752 * gcc-interface/Make-lang.in: Update dependencies.
753
7542011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
755
756 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not generate
757 Finalize_Address when CodePeer is enabled.
758
7592011-08-04 Pascal Obry <obry@adacore.com>
760
761 * adaint.c (__gnat_tmp_name): Use _tempnam() instead of tempnam() as
762 the latter returns a pointer to a static buffer which is deallocated
763 at the end of the routine.
764
5c0e97dd
AC
7652011-08-04 Yannick Moy <moy@adacore.com>
766
767 * sem_ch3.adb (Array_Type_Declaration): move test for type in ALFA
768 after index creation; mark unconstrained base array type generated as
769 being in/not in ALFA as well
770 (Make_Index): mark subtype created as in/not in ALFA
771 * sem_ch5.adb (Analyze_Iteration_Scheme): mark entity for iterating
772 over a loop as in/not in ALFA, depending on its type and form of loop
773 iteration.
774
7752011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
776
777 * exp_ch7.adb (Build_Object_Declarations): Initialize flag Abort
778 directly to False on .NET and JVM.
779
7a93c64b
YM
7802011-08-04 Yannick Moy <moy@adacore.com>
781
782 * sem_ch3.adb (Constrain_Enumeration, Constrain_Integer): remove
783 constraint that subtype must come from source code to be in ALFA, so
784 that anonymous subtypes can be in ALFA too.
785
e9a1ed9b
YM
7862011-08-04 Yannick Moy <moy@adacore.com>
787
788 * sem_ch3.adb (Analyze_Object_Declaration): remove obsolete addition of
789 reference for ALFA mode.
790 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Compilation_Unit): make
791 procedure public so as to use it from formal verification back-end.
792
8e293fbd
AC
7932011-08-04 Jerome Lambourg <lambourg@adacore.com>
794
795 * g-comlin.adb (For_Each_Simple_Switch.Is_In_Config): Remove the
796 invalid checks of the Parameter, making Remove_Switch not working
797 correctly.
798
7992011-08-04 Arnaud Charlet <charlet@adacore.com>
800
801 * targparm.ads: Update header: no run-time exception is needed on this
802 file.
803
8042011-08-04 Vincent Celier <celier@adacore.com>
805
806 * a-fihema.adb: Use System.IO instead of GNAT.IO
807
8082011-08-04 Thomas Quinot <quinot@adacore.com>
809
810 * sem_ch3.adb (Access_Definition): Anonymous access to subprogram types
811 are forbidden in Compiler_Unit mode.
812
cfae2bed
AC
8132011-08-04 Robert Dewar <dewar@adacore.com>
814
815 * sem_util.adb: Minor reformatting.
816
8172011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
818
819 * bindgen.adb (Gen_Finalize_Library_Ada): Update the import string for
820 library-level finalizers.
821 (Gen_Finalize_Library_C): Update the import string for library-level
822 finalizers.
823 (Gen_Finalize_Library_Defs_C): Update the definition name of a
824 library-level finalizer.
825 * exp_ch7.adb: Remove with and use clauses for Stringt.
826 (Create_Finalizer): Remove local variables Conv_Name, Prag_Decl,
827 Spec_Decl. Add local variable Body_Id. The names of library-level
828 finalizers are now manually fully qualified and are no longer external.
829 A single name is now capable of servicing .NET, JVM and non-VM targets.
830 Pragma Export is no longer required to provide visibility for the name.
831 (Create_Finalizer_String): Removed.
832 (New_Finalizer_Name): New routine which mimics New_..._Name.
833
01f0729a
AC
8342011-08-04 Eric Botcazou <ebotcazou@adacore.com>
835
836 * sem_elab.adb (Check_Internal_Call_Continue): Change the type of the
837 elaboration counter to Standard_Short_Integer.
838 * sem_util.adb (Build_Elaboration_Entity): Likewise.
839 * bindgen.adb (Gen_Elab_Externals_Ada): Adjust to above change.
840 (Gen_Elab_Externals_C): Likewise.
841
8422011-08-04 Ed Falis <falis@adacore.com>
843
844 * system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
845 system-vxworks-ppc.ads, system-vxworks-m68k.ads,
846 system-vxworks-mips.ads, system-vxworks-x86.ads
847 (Always_Compatible_Rep): set to False for all VxWorks targets.
848
2c1b72d7
AC
8492011-08-04 Robert Dewar <dewar@adacore.com>
850
851 * par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads,
852 makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb,
853 exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb,
854 exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb,
855 exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb,
856 sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb,
857 sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb:
858 Minor reformatting and code reorganization.
859
8602011-08-04 Emmanuel Briot <briot@adacore.com>
861
862 * projects.texi: Added doc for aggregate projects.
863
824e9320
AC
8642011-08-04 Emmanuel Briot <briot@adacore.com>
865
866 * prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items):
867 Add support for overriding the Project_Path in aggregate projects.
868
8692011-08-04 Robert Dewar <dewar@adacore.com>
870
871 * a-cofove.ads: Minor reformatting.
872
8732011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
874
875 * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment
876 on the generated code.
877 (Build_Finalize_Statements): Update the comment on the generated code.
878 (Build_Initialize_Statements): Update the comment on the generated code.
879 (Build_Object_Declarations): Add local variable Result. The object
880 declarations are now built in sequence.
881 * rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and
882 RE_Unit_Table.
883
8842011-08-04 Robert Dewar <dewar@adacore.com>
885
886 * checks.adb, alfa.adb, alfa.ads: Minor reformatting.
887
8882011-08-04 Eric Botcazou <ebotcazou@adacore.com>
889
890 * einfo.ads (Elaboration_Entity): Document new definition and use.
891 (Elaboration_Entity_Required): Adjust to above change.
892 * exp_attr.adb (Expand_N_Attribute_Reference): Likewise.
893 * exp_ch12.adb: And with and use for Snames.
894 (Expand_N_Generic_Instantiation): Test 'Elaborated attribute.
895 * exp_util.adb (Set_Elaboration_Flag): Likewise.
896 * sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete.
897 <Check_Unit_Name>: Deal with N_Expanded_Name.
898 <Attribute_Elaborated>: Extend to all unit names.
899 * sem_elab.adb: And with and use for Uintp.
900 (Check_Internal_Call_Continue): Adjust to Elaboration_Entity change.
901 * sem_util.ads (Build_Elaboration_Entity): Adjust comment.
902 * sem_util.adb (Build_Elaboration_Entity): Change type to Integer.
903 * bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken
904 from Gen_Adainit_Ada.
905 (Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C.
906 (Gen_Adafinal_Ada): Remove redundant test. In the non-main program
907 case, do not call System.Standard_Library.Adafinal; instead call
908 finalize_library if needed.
909 (Gen_Adafinal_C): Likewise.
910 (Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the
911 non-main program case.
912 (Gen_Adainit_C): Generate a couple of external declarations here.
913 In the main program case, set SSL.Finalize_Library_Objects.
914 (Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change.
915 (Gen_Elab_Calls_C): Likewise.
916 (Gen_Finalize_Library_Ada): Likewise. Skip SAL interface units.
917 (Gen_Finalize_Library_C): Likewise. Generate a full function.
918 (Gen_Main_C): Put back call to Ada_Final and don't finalize library
919 objects here.
920 (Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final
921 if -a is specified. Call Gen_Elab_Externals_Ada. Move around call to
922 Gen_Adafinal_Ada.
923 (Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final
924 if -a is specified. Call Gen_Elab_Externals_C. Remove useless couple
925