]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
soft-fp: Move to ../libgcc.
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
dedac3eb
RD
12011-08-05 Robert Dewar <dewar@adacore.com>
2
3 * par_sco.adb, sem_ch3.adb, scos.ads, a-iteint.ads, sem_ch12.adb,
4 a-cimutr.adb, a-cimutr.ads, sem_util.ads, sem_res.adb, a-fihema.adb,
5 sem_ch4.adb, lib-xref-alfa.adb, exp_disp.adb, a-comutr.adb,
6 a-comutr.ads, lib-xref.adb: Minor reformatting.
7
82011-08-05 Robert Dewar <dewar@adacore.com>
9
10 * sem_ch11.adb (Analyze_Raise_Statement): Kill assignment to formal
11 warning if there is an exception handler present.
12
7c62a85a
AC
132011-08-05 Pascal Obry <obry@adacore.com>
14
15 * a-iteint.ads: Fix copyright year.
16
172011-08-05 Thomas Quinot <quinot@adacore.com>
18
19 * par_sco.adb (Traverse_Declarations_Or_Statements): Do not generate a
20 statement SCO for a USE clause or a representation clause.
21
222011-08-05 Yannick Moy <moy@adacore.com>
23
24 * lib-xref-alfa.adb (Collect_ALFA): generate the proper relation
25 between body and spec for stub.
26 (Detect_And_Add_ALFA_Scope): take into account subprogram stub
27 * lib-xref.adb (Enclosing_Subprogram_Or_Package): in the case of a
28 pragma precondition or postcondition, for which the enclosing
29 subprogram or package in the AST is not the desired one, return empty.
30
e49208a9
AC
312011-08-05 Thomas Quinot <quinot@adacore.com>
32
33 * g-expect.adb: Minor reformatting.
34
352011-08-05 Bob Duff <duff@adacore.com>
36
37 * a-fihema.adb: Comment out OS_Lib.
38
392011-08-05 Matthew Heaney <heaney@adacore.com>
40
41 * Makefile.rtl, impunit.adb: Added a-c[oi]mutr.ad[sb]
42 (unbounded multiway tree containers) and a-iteint.ads.
43 * a-comutr.ads, a-comutr.adb:
44 This is the new Ada 2012 unit for unbounded multiway tree containers
45 * a-cimutr.ads, a-cimutr.adb
46 This is the new Ada 2012 unit for indefinite multiway tree containers
47 * a-iteint.ads: New file.
48
201cdb74
RO
492011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
50
51 * gcc-interface/Makefile.in (raise-gcc.o): Search
52 $(srcdir)/../libgcc.
53
d50f4827
AC
542011-08-05 Bob Duff <duff@adacore.com>
55
56 * sinfo.ads, sinfo.adb (Subpool_Handle_Name): New attribute for
57 subpools.
58 * par-ch4.adb (P_Allocator): Parse new subpool specification syntax.
59
602011-08-05 Ed Schonberg <schonberg@adacore.com>
61
62 * sem_ch4.adb (Try_Container_Indexing): New procedure to implement the
63 general indexing aspects of Ada2012. Called when analyzing indexed
64 components when other interpretations fail.
65 * sem_ch8.adb (Find_Direct_Name): check for implicit dereference only
66 in an expression context where overloading is meaningful. This excludes
67 the occurrence in an aspect specification (efficiency only).
68 * sem_attr.adb (Analyze_Attribute): indicate that the attributes
69 related to iterators can be set by an attribute specification, but
70 cannot be queried.
71 * sem_ch13.adb (Analyze_Aspect_Specifications): handle
72 Constant_Indexing and Variable_Indexing.
73 (Check_Indexing_Functions): New procedure to perform legality checks.
74 Additional semantic checks at end of declarations.
75
efe05dfc
AC
762011-08-05 Sergey Rybin <rybin@adacore.com>
77
78 * tree_io.ads: Update ASIS_Version_Number because of the change of the
79 order of calling Tree_Write/Tree_Read routines made for aspects.
80
812011-08-05 Bob Duff <duff@adacore.com>
82
83 * a-fihema.adb (Finalize): Fix race condition.
84
5f9cdefe
AC
852011-08-05 Yannick Moy <moy@adacore.com>
86
87 * sem_ch12.adb (Analyze_Package_Instantiation,
88 Need_Subprogram_Instance_Body): do not generate instance bodies in ALFA
89 mode.
90
912011-08-05 Ed Schonberg <schonberg@adacore.com>
92
93 * sem_type.adb (Specific_Type): in an instance, the type-specific
94 operand of an equality check that involves null may have a private
95 type. Use full view to determine legality of construct.
96
822868aa
AC
972011-08-05 Vincent Celier <celier@adacore.com>
98
99 * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
100 delete or close the file when the call to gnatmake was successful.
101
1022011-08-05 Yannick Moy <moy@adacore.com>
103
104 * gnat1drv.adb (Adjust_Global_Switches): in ALFA mode, set
105 Global_Discard_Names.
106
1072011-08-05 Ed Schonberg <schonberg@adacore.com>
108
109 * sinfo.ads: comments on use of entity field for aspect specifications.
110
1112011-08-05 Ed Schonberg <schonberg@adacore.com>
112
113 * sem_ch12.adb (Reset_Entity): If the entity field of the associated
114 node is not itself an entity but a selected component, it is a
115 rewritten parameterless call to an en enclosing synchronized operation,
116 and this expansion will be performed again in the instance, so there is
117 no global information to preserve.
118
44a10091
AC
1192011-08-05 Javier Miranda <miranda@adacore.com>
120
121 * exp_disp.adb (Set_All_DT_Position): Cleanup code and improve support
122 for renamings of predefined primitives.
123 (In_Predef_Prims_DT): New subprogram.
124
1252011-08-05 Ed Schonberg <schonberg@adacore.com>
126
127 * sem_util.adb, sem_util.ads (Check_Implicit_Dereference): If a
128 possible interpretation of name is a reference type, add an
129 interpretation that is the designated type of the reference
130 discriminant of that type.
131 * sem_res.adb (resolve): If the interpretation imposed by context is an
132 implicit dereference, rewrite the node as the deference of the
133 reference discriminant.
134 * sem_ch3.adb (Analyze_Subtype_Declaration, Build_Derived_Record_Type,
135 Build_Discriminated_Subtype): Inherit Has_Implicit_Dereference from
136 parent type or base type.
137 * sem_ch4.adb (Process_Indexed_Component,
138 Process_Overloaded_Indexed_Component, Indicate_Name_And_Type,
139 Analyze_Overloaded_Selected_Component, Analyze_Selected_Component):
140 Check for implicit dereference.
141 (List_Operand_Interps): Indicate when an implicit dereference is
142 ambiguous.
143 * sem_ch8.adb (Find_Direct_Name): Check for implicit dereference.
144
1452011-08-05 Thomas Quinot <quinot@adacore.com>
146
147 * scos.ads: Update documentation of SCO table. Pragma statements can now
148 be marked as disabled (using 'p' instead of 'P' as the statement kind).
149 * par_sco.ads, par_sco.adb: Implement the above change.
150 (Process_Decisions_Defer): Generate a P decision for the first parameter
151 of a dyadic pragma Debug.
152 * sem_prag.adb (Analyze_Pragma, case Debug): Mark pragma as enabled if
153 necessary.
154 * put_scos.adb: Code simplification based on above change.
155
201cdb74 156>>>>>>> .r177446
bb3c784c
AC
1572011-08-05 Robert Dewar <dewar@adacore.com>
158
159 * sem_ch3.adb, gnatcmd.adb, switch-c.adb, exp_attr.adb, make.adb,
160 bindgen.adb, einfo.adb, sem_ch12.adb, sem_attr.adb, a-fihema.adb,
161 a-fihema.ads, sem_elab.adb, sem_elab.ads, aspects.adb, opt.ads,
162 prj-conf.adb, sem_ch13.adb, s-ficobl.ads: Minor reformatting
163
1642011-08-05 Bob Duff <duff@adacore.com>
165
166 * a-stunau.ads, g-spipat.adb: Update comments.
167
36f686f9
BD
1682011-08-05 Bob Duff <duff@adacore.com>
169
170 * a-fihema.ads: Minor comment fix.
171 * a-fihema.adb (Allocate, Deallocate): Assert that the alignment is
172 correct.
173 (Attach, Detach): Remove some unnecessary code.
174 (Finalize): Remove Node_Ptr_To_Address, replace with a constant.
175
7882673f
BD
1762011-08-05 Bob Duff <duff@adacore.com>
177
178 * a-fihema.ads, a-fihema.adb (Finalization_Collection): Avoid heap
179 allocation for Objects component. This simplifies the code somewhat. It
180 is also a little more efficient in the not-so-unusual case where there
181 are no controlled objects allocated.
182 Make Finalization_Started flag atomic.
183 (Finalize): Avoid unnecessary detachment of items from the list.
184 (pcol): Minor cleanup.
185
d34cd274
AC
1862011-08-05 Ed Schonberg <schonberg@adacore.com>
187
188 * sem_ch12.adb (Analyze_Formal_Package_Declaration): reject a formal
189 package whose name is the same as that of the generic unit, or its
190 ultimate prefix.
191
1922011-08-05 Bob Duff <duff@adacore.com>
193
194 * a-fihema.adb, a-fihema.ads: Minor comment improvements.
195 * sem_ch3.adb, exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb:
196 Minor comment fixes.
197
00332244
AC
1982011-08-05 Arnaud Charlet <charlet@adacore.com>
199
200 * make.adb (Linking_Phase): No longer need to set source search path
201 before calling gnatlink in CodePeer mode.
202 * gnatlink.adb (Gnatlink): No longer pass -gnat83/95/05/12 switch to
203 gcc in CodePeer mode, since the binder generated file no longer has a
204 'with Main'.
205 * switch.ads, switch.adb (Is_Language_Switch): Removed.
206 * switch-c.adb: Update comment.
207
2082011-08-05 Thomas Quinot <quinot@adacore.com>
209
210 * exp_strm.adb, bindgen.adb, s-ficobl.ads: Minor reformatting.
211
2122011-08-05 Nicolas Roche <roche@adacore.com>
213
214 * gnat_ugn.texi: Fix minor syntax error issue.
215
2162011-08-05 Vincent Celier <celier@adacore.com>
217
218 * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
219 delete or close the file when the call to gnatmake returns a non
220 successful return code.
221
2222011-08-05 Ed Schonberg <schonberg@adacore.com>
223
224 * exp_ch4.adb (Expand_N_Type_Conversion): When expanding a predicate
225 check, indicate that the copy of the original node does not come from
226 source, to prevent an infinite recursion of the expansion.
227
2282011-08-05 Johannes Kanig <kanig@adacore.com>
229
230 * debug.adb: document switch -gnatd.G for gnat2why, which deactivates
231 VC generation for subprogram bodies.
232
2332011-08-05 Yannick Moy <moy@adacore.com>
234
235 * einfo.ads: Typo.
236 * sem_ch3.adb (Signed_Integer_Type_Declaration): in ALFA mode, define
237 the base type with the smallest allowed base type.
238
2392011-08-05 Sergey Rybin <rybin@adacore.com>
240
241 * tree_gen.adb, tree_in.adb, aspects.adb: Fix tree read-write for
242 aspects.
243
2442011-08-05 Ed Schonberg <schonberg@adacore.com>
245
246 * sem_ch12.ads: minor comment updates.
247
2482011-08-05 Ed Schonberg <schonberg@adacore.com>
249
250 * sem_ch12.adb (Analyze_Formal_Package_Declaration): in an
251 instantiation and a formal package the compiler generates a package
252 renaming declaration so that the generic name within the declaration
253 is interpreted as a renaming of the instance. At the end of a formal
254 package declaration, this renaming must become invisible.
255
0da80d7d
AC
2562011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
257
258 * exp_ch7.adb (Is_Init_Call): Reimplemented to avoid character
259 comparison and rely on concrete entities instead.
260
2612011-08-05 Ed Schonberg <schonberg@adacore.com>
262
263 * einfo.ads, einfo.adb (Has_Implicit_Dereference): new flag on types
264 and discriminants, to indicate that the type has an access discriminant
265 that supports implicit dereference.
266 * snames.ads-tmpl: Add names of aspects and attributes related to
267 Ada2012 iterators: constant_indexing, default_iterator,
268 iterator_element, implicit_dereference, variable_indexing.
269 * aspects.ads, aspects.adb: entries for iterator-related aspects.
270 * sem_ch13.adb (Analyze_aspect_specifications): dummy entries for
271 iterator-related aspects.
272 * sem_attr.adb, exp_attr.adb Dummy entries for iterator-related aspects.
273
2742011-08-05 Sergey Rybin <rybin@adacore.com>
275
276 * gnat_ugn.texi, vms_data.ads: Extend the subsection about coupling
277 metrics in gnatmetric to cover new kinds of coupling mentrics.
278
2792011-08-05 Steve Baird <baird@adacore.com>
280
281 * bindgen.adb (Gen_CodePeer_Wrapper): Call Ada_Main_Program instead
282 of calling the user-defined main subprogram.
283 (Gen_Main): Declare Ada_Main_Program and (if CodePeer_Mode
284 is set) Call_Main_Subprogram ahead of, as opposed to
285 inside of, Main.
286 (Gen_Output_File_Ada): Remove CodePeer_Mode-conditional
287 generation of a "with" of the user-defined main subprogram.
288 Remove CodePeer_Mode-conditional call to Gen_CodePeer_Wrapper
289 (which is now called from Gen_Main instead).
290
73242473
AC
2912011-08-05 Emmanuel Briot <briot@adacore.com>
292
293 * projects.texi: Added reference to the Makefile package.
294
2952011-08-05 Thomas Quinot <quinot@adacore.com>
296
297 * exp_ch7.adb: Minor comment rewording.
298
2992011-08-05 Ed Falis <falis@adacore.com>
300
301 * env.c: Fix comment.
302
3032011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
304
305 * sem_elab.adb (Is_Finalization_Procedure): Reimplemented to avoid
306 character comparison and rely on concrete entities instead.
307
97ed5872
AC
3082011-08-05 Ed Schonberg <schonberg@adacore.com>
309
310 * sem_ch3.adb: (Check_Private_Overriding): better error message,
311 suggested by AI95-0068.
312
3132011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
314
315 * exp_ch7.adb (Find_Last_Init): Use Next_Suitable_Statement to retrieve
316 the two potential initialization calls. This accounts for any
317 access-before-elaboration checks which may precede the initialization
318 calls.
319 (Next_Suitable_Statement): New routine. Returns the next real statement
320 after the input node while skipping generated checks.
321 * sem_elab.adb (Check_A_Call): New formal parameter In_Init_Proc along
322 with comment on usage.
323 Do not generate Elaborate_All when the trigger is a finalization call
324 coming from a type init proc.
325 (Check_Elab_Call): Propagate the initialization procedure context to
326 subsequent calls to Check_A_Call.
327 (Check_Internal_Call_Continue): Propagate the initialization procedure
328 context to subsequent calls to Check_Elab_Call.
329 (Is_Finalization_Procedure): New routine. Returns True if the input
330 entity denotes a [Deep_]Finalize routine.
331 * sem_elab.ads (Check_Elab_Call): New formal parameter In_Init_Proc
332 along with comment on usage.
333
3342011-08-05 Vadim Godunko <godunko@adacore.com>
335
336 * s-atocou.ads: Add list of supported platforms.
337
3382011-08-05 Yannick Moy <moy@adacore.com>
339
340 * sem_prag.adb, restrict.adb: Correct style for or'ing Boolean variables
341
342 * opt.ads (Disable_ALI_File): new Boolean flag
343 * lib-writ.adb (Write_ALI): when Disable_ALI_File is set, do nothing
344
3452011-08-05 Ed Falis <falis@adacore.com>
346
347 * env.c (__gnat_environ): Fix includes for RTPs and VTHREADS so that
348 environ is properly defined.
349
3502011-08-05 Vincent Celier <celier@adacore.com>
351
352 * make.adb (Compilation_Phase): Exit immediately when all objects have
353 been found up to date, to avoid multiple exit messages.
354 * prj-nmsc.adb (Add_Source): Allow duplicate source file names in the
355 same project for languages with no compiler.
356 * gnat_ugn.texi: Document compiler switch -gnateI and gnatmake switch
357 -eI.
9aff36e9
RD
3582011-08-05 Robert Dewar <dewar@adacore.com>
359
360 * exp_ch7.ads, sem_type.adb, make.adb, sem_prag.adb, sem_util.adb,
361 sem_util.ads, sem_attr.adb, restrict.ads, sem_ch6.adb, prj-conf.adb,
362 prj-conf.ads, s-atocou.ads, s-atocou.adb, s-atocou-x86.adb,
363 s-atocou-builtin.adb: Minor reformatting.
364
406935b6
AC
3652011-08-05 Yannick Moy <moy@adacore.com>
366
367 * exp_ch7.adb (Establish_Transient_Scope): in formal verification mode,
368 if the node to wrap is a pragma check, this node and enclosed
369 expression are not expanded, so do not apply any transformations here.
370 * exp_prag.adb (Expand_Pragma_Check): document the need to avoid
371 introducing transient scopes.
372
3732011-08-05 Jose Ruiz <ruiz@adacore.com>
374
375 * adaint.c (__gnat_set_writable, __gnat_set_readable,
376 __gnat_set_executable, __gnat_set_non_writable, __gnat_set_non_readable,
377 __gnat_copy_attribs): On VxWorks 6.x and later, the required chmod
378 routine is available, so we use the default implementation of these
379 functions.
380 * s-os_lib.ads (Copy_File, Copy_Time_Stamps): Document that there is
381 support for copying attributes on VxWorks 6.
382
3832011-08-05 Yannick Moy <moy@adacore.com>
384
385 * debug.adb: Remove use of -gnatd.D.
386 * gnat1drv.adb (Adjust_Global_Switches): adjust switches for ALFA mode
387 * opt.ads: Simplify variables for ALFA mode, to keep one only
388 * restrict.adb, sem_prag.adb: Adapt treatment done for CodePeer mode
389 to ALFA mode.
390
3912011-08-05 Vincent Celier <celier@adacore.com>
392
393 * prj-conf.adb (Do_Autoconf): Look also for --RTS in
394 Builder'Default_Switches.
395
3962011-08-05 Vincent Celier <celier@adacore.com>
397
398 * makeusg.adb: Add lines for --create-map-file switches.
399
4002011-08-05 Ed Schonberg <schonberg@adacore.com>
401
402 * freeze.adb (Freeze_Entity): For a subprogram, if a type in the
403 profile is incomplete and the full view is available, replace it with
404 the full view.
405 * sem_ch6.adb (Possible_Freeze): if a type in the profile is
406 incomplete, freezing the subprogram is delayed until the full view is
407 frozen.
408 * sem_type.adb (Disambiguate): an ambiguity between a user-defined
409 fixed-point multiplication operator and the predefined operator is
410 resolved in favor of the user-defined one.
411
96c891b3
RO
4122011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
413
414 * init.c [__alpha__ && __osf__] (__gnat_error_handler): Use
415 CONST_CAST.
416
276e7ed0
AC
4172011-08-04 Ed Schonberg <schonberg@adacore.com>
418
419 * sem_util.ads, sem_unit.adb (Type_Without_Stream_Operation): determine
420 whether a type lacks user-defined Read or Write operations, or has a
421 component that lacks them.
422 * sem_attr.adb (Check_Stream_Attribute): if restriction
423 No_Default_Stream_Attributes is active, verify that all subcomponent
424 types of the target have user-defined stream operations, and report
425 error otherwise.
426 * exp_ch3.adb (Stream_Operqtion_OK): use Type_Without_Stream_Operation.
427 * exp_strm.adb: Build_Elementary_Input_Call,
428 Build_Elementary_Write_Call): remove checks for restriction
429 No_Default_Stream_Attributes, now checked in semantics.
430
4312011-08-04 Vincent Celier <celier@adacore.com>
432
433 * prj-conf.ads, prj-conf.adb (Do_Autoconf): If there is no --RTS
434 switches on the command line, look for all valid --RTS switches in the
435 Builder switches and for each language use the first runtime name found
436 to invoke gprconfig.
437 (Get_Or_Create_Configuration_File): Warn if --RTS is specified on the
438 command line and there is no auto-configuration.
439 (Runtime_Name_Set_For): New function.
440
4412011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
442
443 * exp_ch7.adb (Build_Object_Declarations): Do not generate the
444 elaborate initialization expression for variable Abort when processing
445 a package body or a declaration.
446 (Create_Finalizer): Propagate the package context when creating the
447 exception-related variables.
448 * exp_ch7.ads (Build_Object_Declarations): New formal parameter
449 For_Package along with usage comment.
450
19172ae9
AC
4512011-08-04 Arnaud Charlet <charlet@adacore.com>
452
453 * gcc-interface/Makefile.in: Clean up targets.
454 Enable new package for atomic counters and copy-on-write implementation
455 of unbounded strings on x86 platforms.
456 * gcc-interface/Make-lang.in: Update dependencies.
457
0319cacc
AC
4582011-08-04 Robert Dewar <dewar@adacore.com>
459
460 * exp_ch7.adb: Minor reformatting.
461
4622011-08-04 Robert Dewar <dewar@adacore.com>
463
464 * exp_strm.adb: Minor reformatting.
465
4662011-08-04 Vadim Godunko <godunko@adacore.com>
467
468 * s-atocou.adb: Replace by dummy version and use on targets where atomic
469 operations are not supported.
470 * s-atocou-builtin.adb: Renamed from s-atocou.adb.
471 * s-atocou-x86.adb: New file.
472 * Makefile.rtl: Add s-atocou.o file
473
4742011-08-04 Arnaud Charlet <charlet@adacore.com>
475
476 * make.adb (Compile): Move setting of CodePeer_Mode to ...
477 (Compilation_Phase): ... here.
478 (Scan_Make_Arg): Now bind and link by default in CodePeer mode.
479
4802011-08-04 Thomas Quinot <quinot@adacore.com>
481
482 * Make-generated.in: Fix minor typo in comment.
483
26e7e1a0
AC
4842011-08-04 Thomas Quinot <quinot@adacore.com>
485
486 * gnatls.adb: Use Prj.Env.Initialize_Default_Project_Path to retrieve
487 the project path.
488
4892011-08-04 Robert Dewar <dewar@adacore.com>
490
491 * a-coinho.adb: Minor reformatting.
492
4932011-08-04 Robert Dewar <dewar@adacore.com>
494
495 * a-coinho.ads: Minor reformatting.
496
4972011-08-04 Vadim Godunko <godunko@adacore.com>
498
499 * s-atocou.ads, s-atocou.adb: New files.
500 * a-strunb-shared.ads, a-strunb-shared.adb, a-stwiun-shared.ads,
501 a-stwiun-shared.adb, a-stzunb-shared.ads, a-stzunb-shared.adb: Remove
502 direct use of GCC's atomic builtins and replace them by use of new
503 atomic counter package.
504
5052011-08-04 Ed Schonberg <schonberg@adacore.com>
506
507 * exp_strm.adb: better error message for No_Default_Stream_Attributes.
508
5092011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
510
511 * a-tags.adb (Unregister_Tag): Replace the complex address arithmetic
512 with a call to Get_External_Tag.
513 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on
514 subprogram usage. Remove the guard against package declarations and
515 bodies since Build_Cleanup_Statements is no longer invoked in that
516 context.
517 (Build_Components): Initialize Tagged_Type_Stmts when the context
518 contains at least one library-level tagged type.
519 (Build_Finalizer): New local variables Has_Tagged_Types and
520 Tagged_Type_Stmts along with associated comments on usage. Update the
521 logic to include tagged type processing.
522 (Create_Finalizer): Insert all library-level tagged type unregistration
523 code before the jump block circuitry.
524 (Expand_N_Package_Body): Remove the call to Build_Cleanup_Statements.
525 (Expand_N_Package_Declaration): Remove the call to
526 Build_Cleanup_Statements.
527 (Process_Tagged_Type_Declaration): New routine. Generate a call to
528 unregister the external tag of a tagged type.
529 (Processing_Actions): Reimplemented to handle tagged types.
530 (Process_Declarations): Detect the declaration of a library-level
531 tagged type and carry out the appropriate actions.
532 (Unregister_Tagged_Types): Removed. The machinery has been directly
533 merged with Build_Finalizer.
534
7483c888
AC
5352011-08-04 Robert Dewar <dewar@adacore.com>
536
537 * bindgen.ads, gnatlink.adb, sem_ch4.adb, gnatbind.adb, put_alfa.adb,
538 gnatls.adb, exp_ch3.adb: Minor reformatting.
539
5402011-08-04 Marc Sango <sango@adacore.com>
541
542 * sem_attr.adb (Analyze_Attribute): Replace the message
543 "invisible attribute of}" of the spark restriction violation in
544 attribute reference by the simple message "invisible attribute of type".
545 Indeed, the node value Error_Msg_Node_1 used is in conflit with the
546 two insertion characters: '&' and '}'.
547
5482011-08-04 Vadim Godunko <godunko@adacore.com>
549
550 * impunit.adb (Non_Imp_File_Names_12): Add "a-coinho".
551 * a-coinho.ads, a-coinho.adb: New file.
552 * Makefile.rtl: Add Ada.Containers.Indefinite_Holders.
553
5207696c
AC
5542011-08-04 Nicolas Roche <roche@adacore.com>
555
556 * alfa_test.adb: Not all ali files are containing alfa information even
557 if compiled with -gnatd.F. So suppress warning about missing ALFA
558 information.
559
5602011-08-04 Yannick Moy <moy@adacore.com>
561
562 * lib-xref-alfa.adb (Add_ALFA_Scope): use non-empty unique name for
563 scope.
564 * put_alfa.adb: Check that scope name is not empty.
565
5662011-08-04 Ed Schonberg <schonberg@adacore.com>
567
568 * exp_ch3.adb (Stream_Operation_Ok): new predicate
569 Needs_Elementary_Stream_Operation, to determine whether user-defined
570 Read and Write attributes are available for the elementary components
571 of the given type. If only the predefined attributes are available,
572 then when restriction No_Default_Stream_Attributes is active the
573 predefined stream attributes for the composite type cannot be created.
574
5752011-08-04 Robert Dewar <dewar@adacore.com>
576
577 * bindgen.adb: Fix obsolete comments and names from Ada/C days.
578 Put routines in alpha order
579
2bd2d858
JR
5802011-08-04 Jose Ruiz <ruiz@adacore.com>
581
582 * gcc-interface/Makefile.in: Remove xenomai specific versions of system.
583 * gcc-interface/Make-lang.in: Update dependencies.
584
8fae6016
AC
5852011-08-04 Arnaud Charlet <charlet@adacore.com>
586
587 * gcc-interface/lang.opt: Add AdaWhy language, simimlar to Ada.
588 * gcc-interface/lang-specs.h: Add handling of AdaWhy specs (calls
589 gnat1why).
590
a54d0eb4
AC
5912011-08-04 Robert Dewar <dewar@adacore.com>
592
593 * sem_ch3.adb, make.adb, a-cohata.ads, sem_prag.adb, makeutl.adb,
594 lib-xref-alfa.adb: Minor reformatting.
595
5962011-08-04 Marc Sango <sango@adacore.com>
597
598 * sem_ch12.adb (Analyze_Generic_Package_Declaration,
599 Analyze_Generic_Subprogram_Declaration, Analyze_Package_Instantiation,
600 Analyze_Subprogram_Instantiation): Check absence of generic in SPARK
601 mode.
602
6032011-08-04 Tristan Gingold <gingold@adacore.com>
604
605 * bindgen.adb (Gen_Adainit_C): Remove.
606 (Gen_Adafinal_C): Ditto.
607 (Gen_Elab_Externals_C): Ditto.
608 (Gen_Elab_Calls_C): Ditto.
609 (Gen_Elab_Order_C): Ditto.
610 (Gen_Elab_Defs_C): Ditto.
611 (Gen_Finalize_Library_C): Ditto.
612 (Gen_Finalize_Library_Defs_C): Ditto.
613 (Gen_Main_C): Ditto.
614 (Gen_Output_File_C): Ditto.
615 (Gen_Restrictions_C): Ditto.
616 (Gen_Versions_C): Ditto.
617 (Write_Info_Ada_C): Ditto.
618 (Gen_Object_Files_Options): Call WBI instead of Write_Info_Ada_C
619 (Gen_Output_File): Do not force Ada_Bind_File anymore.
620 Always call Gen_Output_File_Ada.
621 * gnatlink.adb (Begin_Info): Now a constant.
622 (End_Info): Ditto.
623 (Ada_Bind_File): Remove
624 (Process_Args): Do not handle -A/-C. Remove not Ada_Bind_File cases.
625 * switch-b.adb (Scan_Binder_Switches): Do not handle -C.
626 * gnatbind.adb (Gnatbind): Remove not Ada_Bind_File cases.
627 * opt.ads (Ada_Bind_File): Remove.
628
6292011-08-04 Thomas Quinot <quinot@adacore.com>
630
631 * projects.texi: Document target-specific directory in default project
632 path for gnatmake.
633
6342011-08-04 Thomas Quinot <quinot@adacore.com>
635
636 * gnatls.adb, prj-env.adb: Add $prefix/share/gpr to default project
637 path in all cases .
638
24558db8
AC
6392011-08-04 Yannick Moy <moy@adacore.com>
640
641 * sem_ch3.adb, sem_ch5.adb, sem_util.adb, sem_ch4.adb, sem_ch8.adb,
642 opt.ads, lib-xref.ads: Code clean up.
643
6442011-08-04 Yannick Moy <moy@adacore.com>
645
646 * gnat_rm.texi: Update description of Test_Case
647 * gnat_ugn.texi: Typo.
648
6492011-08-04 Ed Falis <falis@adacore.com>
650
651 * adaint.c (__gnat_get_number_of_cpus): fix typo in last checkin.
652
6532011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
654
655 * exp_ch4.adb (Suitable_Element): Skip field _parent on .NET/JVM when
656 it is of type Root_Controlled. This action eliminates fields Prev and
657 Next from type equality.
658
6592011-08-04 Yannick Moy <moy@adacore.com>
660
661 * lib-xref-alfa.adb: Correct typo.
662
6632011-08-04 Matthew Heaney <heaney@adacore.com>
664
665 * a-cohata.ads (Hash_Table_Type): default-initialize the Nodes
666 component.
667
1f9939b5
AC
6682011-08-04 Yannick Moy <moy@adacore.com>
669
670 * sem_prag.adb (Check_Arg_Is_String_Literal): remove useless procedure
671 (Analyze_Pragma): allow static string expression for name of Test_Case,
672 instead of simply string literals.
673 * sem_util.adb (Get_Name_From_Test_Case_Pragma): adapt to static string
674 expressions.
675
6762011-08-04 Vincent Celier <celier@adacore.com>
677
678 * makeutl.adb (Complete_Mains.Find_File_Add_Extension): Use canonical
679 case suffixes to find truncated main sources.
680
6812011-08-04 Tristan Gingold <gingold@adacore.com>
682
683 * impunit.adb (Non_Imp_File_Names_95): Add g-tastus.
684 s-stusta.adb (Compute_All_Task): Use Put_Line instead of Put.
685 (Compute_Current_Task): Ditto.
686
6872011-08-04 Tristan Gingold <gingold@adacore.com>
688
689 * gnat_ugn.texi: Mention GNAT.Task_Stack_Usage.
690
6912011-08-04 Yannick Moy <moy@adacore.com>
692
693 * lib-xref-alfa.adb (Is_Global_Constant): new function that detects
694 library-level constant.
695 (Add_ALFA_Xrefs): ignore global constants in ALFA xref.
696 * sem_res.adb (Resolve_Actuals): do not add cross-reference to Formal
697 used as selector of parameter association, in ALFA mode.
698
15d8a51d
AC
6992011-08-04 Robert Dewar <dewar@adacore.com>
700
701 * exp_ch5.adb, exp_ch7.adb, exp_util.adb, bindgen.adb, sem_prag.adb,
702 s-tassta.adb, exp_ch4.adb, exp_disp.adb, s-stausa.adb: Minor
703 reformatting.
704
7052011-08-04 Arnaud Charlet <charlet@adacore.com>
706
707 * make.adb (Linking_Phase): Set source search path before calling
708 gnatlink in CodePeer mode.
709
f46faa08
AC
7102011-08-04 Javier Miranda <miranda@adacore.com>
711
712 * exp_ch7.adb (Expand_N_Package_Body, Expand_N_Package_Declaration):
713 Remove code which takes care of building TSDs.
714 * rtsfind.ads (RE_Check_Interface_Conversion): New entity.
715 * exp_ch4.adb (Apply_Accessibility_Check): Add support for generating
716 the accessibility check in VM targets.
717 * exp_disp.adb (Make_VM_TSD): Spec moved to exp_disp.ads
718 (Building_Static_DT): Now returns false for VM targets.
719 (Build_VM_TSDs): Removed.
720 (Expand_Interface_Conversion): Generate missing runtime check for
721 conversions to interface types whose target type is unknown at compile
722 time.
723 (Make_VM_TSD): Add missing code to disable the generation of calls to
724 Check_TSD if the tagged type is not defined at library level, or not
725 has a representation clause specifying its external tag, or -gnatdQ is
726 active.
727 * exp_disp.ads (Build_VM_TSDs): Removed.
728 (Make_VM_TSDs): Spec relocated from exp_disp.adb
729 * sem_disp.adb (Check_Dispatching_Operation): No code required to
730 register primitives in the dispatch tables in VM targets.
731 * exp_ch3.adb (Expand_N_Object_Declaration): Remove wrong expansion of
732 initialization of class-wide interface objects in VM targets.
733 (Expand_Freeze_Record_Type): For VM targets call Make_VM_TSD (instead
734 of Make_DT).
735
7362011-08-04 Jerome Lambourg <lambourg@adacore.com>
737
738 * gnatlink.adb (Gnatlink): Correct missleading error message displayed
739 when dotnet-ld cannot be found.
740
7412011-08-04 Arnaud Charlet <charlet@adacore.com>
742
743 * bindgen.adb: Simplify significantly generation of binder body file in
744 CodePeer mode.
745 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Prevent assert failure
746 when compiling binder generated file in CodePeer mode (xxx'Elab_Spec
747 not expanded).
748
2ba7e31e
AC
7492011-08-04 Yannick Moy <moy@adacore.com>
750
751 * sem_prag.adb, sem.ads: Code cleanup.
752
7532011-08-04 Tristan Gingold <gingold@adacore.com>
754
755 * s-tassta.adb (Task_Wrapper): Rewrite the dynamic stack usage part.
756 * s-stausa.adb, s-stausa.ads: Major rewrite. Now provides accurate
757 results if possible.
758 * s-stusta.adb (Print): Adjust after changes in s-stausa.
759 * gnat_ugn.texi: Update dynamic stack usage section.
760
7612011-08-04 Steve Baird <baird@adacore.com>
762
763 * bindgen.adb (Gen_CodePeer_Wrapper): new procedure.
764 Generate (if CodePeer_Mode is set) a "wrapper" subprogram which
765 contains only a call to the user-defined main subprogram.
766 (Gen_Main_Ada) - If CodePeer_Mode is set, then
767 call the "wrapper" subprogram instead of directly
768 calling the user-defined main subprogram.
769
7702011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
771
772 * exp_ch5.adb (Expand_N_Case_Statement): Check the statements of all
773 alternatives of a case statement for controlled objects. Rename local
774 variable A to Dead_Alt.
775 (Expand_N_If_Statement): Check the then and else statements of an if
776 statement for controlled objects. Check the then statements of all
777 elsif parts of an if statement for controlled objects.
778 (Expand_N_Loop_Statement): Check the statements of a loop for controlled
779 objects.
780 * exp_ch7.adb (Process_Transient_Objects): Rewrite the condition which
781 detects a loop associated with the expansion of an array object.
782 Augment the processing of the loop statements to account for a possible
783 wrap done by Process_Statements_For_Controlled_Objects.
784 * exp_ch9.adb (Expand_N_Asynchronous_Select): Check the triggering
785 statements and abortable part of an asynchronous select for controlled
786 objects.
787 (Expand_N_Conditional_Entry_Call): Check the else statements of a
788 conditional entry call for controlled objects.
789 (Expand_N_Selective_Accept): Check the alternatives of a selective
790 accept for controlled objects.
791 (Expand_N_Timed_Entry_Call): Check the entry call and delay
792 alternatives of a timed entry call for controlled objects.
793 * exp_ch11.adb (Expand_Exception_Handlers): Check the statements of an
794 exception handler for controlled objects.
795 * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
796 Add formal parameter Nested_Constructs along with its associated
797 comment.
798 (Requires_Cleanup_Actions (Node_Id)): Update all calls to
799 Requires_Cleanup_Actions.
800 (Process_Statements_For_Controlled_Objects): New routine.
801 * exp_util.ads (Process_Statements_For_Controlled_Objects): New
802 routine. Inspect a node which contains a non-handled sequence of
803 statements for controlled objects. If such an object is found, the
804 statements are wrapped in a block.
805
1bf773bb
AC
8062011-08-04 Bob Duff <duff@adacore.com>
807
808 * sem_type.adb (Covers): If T2 is a subtype of a class-wide type, we
809 need to compare with Class_Wide_Type (T2), in order to get at the
810 original class-wide type node.
811 * sem_type.ads (Covers): Improve the comment.
812 * einfo.ads (Class_Wide_Type): Improve the comment.
813 * exp_intr.adb (Expand_Unc_Deallocation): Remove unnecessary setting of
814 the type of the Deref.
815
8162011-08-04 Yannick Moy <moy@adacore.com>
817
818 * gnat_rm.texi: Document that Test_Case pragma can only appear on
819 separate declarations.
820 * sem_prag.adb (procedure Check_Identifier_Is_One_Of): new procedure to
821 check identifier of pragma argument.
822 (Chain_TC): check that no other test case associated to the same entity
823 share the same name.
824 (Check_Test_Case): disallow test case inside subprogram body
825 (Analyze_Pragma): correct call to check identifier and not argument
826 * sem_util.adb, sem_util.ads (Get_Name_From_Test_Case_Pragma): new
827 function gets name from test case pragma.
828
dac3bede
YM
8292011-08-04 Yannick Moy <moy@adacore.com>
830
831 * gnat_rm.texi: Document new pragma and aspect.
832 * aspects.adb, aspects.ads (Aspect_Id): new value Aspect_Test_Case
833 (No_Duplicates_Allowed): new constant array defining whether duplicates
834 aspects of each kind can appear on the same declaration.
835 * einfo.adb, einfo.ads (Spec_PPC_List): replace field with Contract
836 field, which points to a node holding the previous Spec_PPC_List.
837 * exp_ch9.adb, sem_ch6.adb, sem_prag.adb: Reach to Spec_PPC_List
838 through the indirection with Contract.
839 * exp_util.adb (Insert_Actions): raise Program_Error on N_Contract node
840 * par-prag.adb (Prag): do nothing on Test_Case pragma
841 * sem.adb (Analyze): abort on N_Contract, on which Analyze should not
842 be called directly.
843 * sem_attr.adb (Analyze_Attribute): allow attribute 'Result in
844 component Ensures of Test_Case.
845 * sem_ch12.adb, sem_ch6.adb, sem_ch9.adb
846 (Analyze_Generic_Subprogram_Declaration,
847 Analyze_Subprogram_Instantiation,
848 Analyze_Abstract_Subprogram_Declaration,
849 Analyze_Subprogram_Body_Helper,
850 Analyze_Subprogram_Specification, Analyze_Entry_Declaration):
851 insert contract in subprogram node at point of definition
852 * sem_ch13.adb
853 (Aspect_Loop): do not raise error on duplicate Test_Case aspect
854 (Analyze_Aspect_Specifications): analyze Test_Case aspect and create
855 corresponding pragma
856 (Check_Aspect_At_Freeze_Point): raise Program_Error on Test_Case aspect
857 * sem_ch3.adb (Analyze_Declarations): insert analysis of test-cases,
858 similar to the analysis of pre/post
859 (Derive_Subprogram): insert contract in subprogram node at point of
860 derivation.
861 * sem_prag.adb, sem_prag.ads
862 (Check_Arg_Is_String_Literal, Check_Identifier):
863 new checking procedures to be called in treatment of pragmas
864 (Check_Test_Case): new procedure to check that a Test_Case aspect or
865 pragma is well-formed. This does not check currently that 'Result is
866 used only in the Ensures component of a Test_Case.
867 (Analyze_Pragma): add case for Test_Case
868 (Analyze_TC_In_Decl_Part): pre-analyze the Requires and Ensures
869 components of a Test_Case.
870 (Preanalyze_TC_Args): new procedure to preanalyze the boolean
871 expressions in the 3rd (and 4th if present) arguments of a Test_Case
872 pragma, treated as spec expressions.
873 (Sig_Flags): add value -1 for Test_Case.
874 * sem_util.adb, sem_util.ads (Get_Ensures_From_Test_Case_Pragma,
875 Get_Requires_From_Test_Case_Pragma): getters for both expression
876 components of a Test_Case.
877 * sinfo.adb, sinfo.ads (N_Contract): new kind of node used as
878 indirection between an entry or [generic] subprogram entity and its
879 pre/post + test-cases.
880 (Spec_PPC_List, Spec_TC_List, Set_Spec_PPC_List, Set_Spec_TC_List):
881 get/set for fields of an N_Contract node.
882 * snames.ads-tmpl (Name_Test_Case, Name_Ensures, Name_Mode,
883 Name_Normal, Name_Requires, Name_Robustness, Pragma_Test_Case): new
884 names and pragma for Test_Case.
885 * sprint.adb (Sprint_Node): raise Program_Error on N_Contract node
886
6a2e5d0f
AC
8872011-08-04 Vincent Celier <celier@adacore.com>
888
889 * gnat_ugn.texi: Improve documentation of gnatmake switch
890 --source-info-file=.
891
8922011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
893
894 * exp_ch7.adb (Make_Final_Call): Add local variable Atyp (assertion
895 type). Initialize Atyp to the appropriate type which is later checked
896 for completion. Rewrite the assertion associated with private type
897 completion.
898
8992011-08-04 Ed Falis <falis@adacore.com>
900
901 * adaint.c: Add call to vxCpuConfiguredGet for VxWorks SMP to
902 initialize the number of CPUs.
903
9042011-08-04 Ed Schonberg <schonberg@adacore.com>
905
906 * sem_type.adb (Disambiguate): New subsidiary routine
907 In_Same_Declaration_List, to implement AI05-0020: a user-defined
908 equality on an anonymous access type whose designated type is private
909 does not lead to an ambiguity with the universal access equality
910 operator in the body or child units of the defining package. The same
911 is true for a multiplication operator on a private type completed with
912 a fixed-point-type.
913
9142011-08-04 Javier Miranda <miranda@adacore.com>
915
916 * opt.ads (Init_Or_Norm_Scalars_Config): Removed.
917 (Normalize_Scalars_Config): Removed.
918 * opt.adb
919 (Register_Opt_Config_Switches): Remove registering config values of
920 Init_Or_Norm_Scalars_Config and Normalize_Scalars_Config.
921 (Restore_Opt_Config_Switches): Remove code which restores the values of
922 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
923 Init_Or_Norm_Scalars.
924 (Save_Opt_Config_Switches): Remove code which saves values of
925 Init_Or_Norm_Scalars and Normalize_Scalars.
926 (Set_Opt_Config_Switches): Remove code which restores config values of
927 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
928 Init_Or_Norm_Scalars.
929
9302011-08-04 Yannick Moy <moy@adacore.com>
931
932 * frontend.adb (Frontend): remove previous patch to avoid full
933 qualification in ALFA mode.
934 * lib-xref-alfa.adb (Add_ALFA_Xrefs): use unique name for variables.
935 * sem_util.adb, sem_util.ads (Unique_Name): new function to define a
936 unique name for an entity, which could be used to identify the entity
937 across compilation units.
938
9392011-08-04 Thomas Quinot <quinot@adacore.com>
940
941 * prj-env.adb
942 (Initialize_Default_Project_Path): Add target specific directory
943 ($prefix/$target/lib/gnat) in front of project path in all cases
944 (making gnatmake's behaviour consistent with gprbuild).
945 * gnatcmd.adb, make.adb, prj-makr.adb, clean.adb:
946 Pass target name from Sdefault to project subsystem.
947 * gnatls.adb: Show new target specific default project directory.
948
9492011-08-04 Johannes Kanig <kanig@adacore.com>
950
951 * cstand.adb: Add Information to Identifier in Standard
952 (Identifer_For): Set Entity to the corresponding entity
953
483361a6
AC
9542011-08-04 Sergey Rybin <rybin@adacore.com>
955
956 * gnat_ugn.texi: Update doc on gnatcheck.
957
9582011-08-04 Yannick Moy <moy@adacore.com>
959
960 * lib-xref-alfa.adb (Add_ALFA_Xrefs): correct definition of ranges of
961 xrefs in a scope.
962
9632011-08-04 Yannick Moy <moy@adacore.com>
964
965 * exp_prag.adb (Expand_Pragma_Check): in ALFA mode, return without
966 performing expansion.
967 * sem_ch6.adb (Analyze_Subprogram_Body_Helper,
968 Analyze_Generic_Subprogram_Body): protect call to Process_PCCs so that
969 it is not called in ALFA mode.
970
ef5569c6
AC
9712011-08-04 Emmanuel Briot <briot@adacore.com>
972
973 * make.adb, osint.adb, osint.ads (Reset_Command_Line_Files): not used
974 after all, so removed.
975
9762011-08-04 Sergey Rybin <rybin@adacore.com>
977
978 * vms_data.ads: Add missing VMS qualifiers.
979
1ab4a286
EB
9802011-08-04 Emmanuel Briot <briot@adacore.com>
981
982 * make.adb, makeutl.adb, osint.adb, osint.ads (Check_Mains): rebuild
983 the list of files on the command line after processing it through
984 Complete_Mains.
985
7ae0d98c
AC
9862011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
987
988 * exp_ch7.adb (Build_Raise_Statement): Remove the specialized
989 processing for .NET/JVM. These targets can now benefit from
990 Raise_From_Controlled_Operation and they share the same processing with
991 standard targets.
992 (Establish_Transient_Scope): Remove the restriction for .NET/JVM.
993 These targets need transient scopes in order to properly finalize short
994 lived controlled objects.
995 (Make_Handler_For_Ctrl_Operation): Remove the specialized processing for
996 NET/JVM. These targets can now benefit from
997 Raise_From_Controlled_Operation and they share the same processing with
998 standard targets.
999
10002011-08-04 Geert Bosch <bosch@adacore.com>
1001
1002 * tracebak.c (STOP_FRAME): Stop at any next pointer outside the stack
1003
10042011-08-04 Ed Schonberg <schonberg@adacore.com>
1005
1006 * exp_aggr.adb (Has_Visible_Private_Ancestor): subsidiary routine to
1007 Expand_Record_Aggregate, to determine whether aggregate must be
1008 expanded into assignments. This is the case if the ancestor part is
1009 private, regarless of the setting of the flag Has_Private_Ancestor.
1010
10112011-08-04 Ed Falis <falis@adacore.com>
1012
1013 * vxaddr2line.adb: Add support for e500v2 and for Linux hosts
1014
10152011-08-04 Bob Duff <duff@adacore.com>
1016
1017 * sinfo.ads: Fix comment.
1018
10192011-08-04 Steve Baird <baird@adacore.com>
1020
1021 * bindgen.adb (Get_Ada_Main_Name): If CodePeer_Mode is set, then
1022 choose a package name in much the same way as is
1023 done for JGNAT when VM_Target /= No_VM, except that
1024 a slightly more distinctive prefix string is used.
1025
10262011-08-04 Emmanuel Briot <briot@adacore.com>
1027
1028 * makeutl.adb (Complete_Mains): no longer accept unit names on the
1029 gnatmake command line.
1030 This behavior was never documented (and was supported only because of
1031 an early bug in the code). This case might lead to ambiguous cases
1032 (between unit names and truncated base names without suffixes).
1033
87729e5a
AC
10342011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1035
1036 * a-tags.ads, a-tags.adb (Unregister_Tag): New routine.
1037 Remove the external tag of a tagged type from the internal hash table.
1038 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on the
1039 expanded usage of the routine. Strenghten the check for Is_Master. Add
1040 processing for tagged types.
1041 (Build_Finalizer): Create all the necessary lists used in finalizer
1042 creation when the processed context is a package that may contain
1043 tagged types.
1044 (Expand_Cleanup_Actions): Rename the call to Has_Controlled_Objects to
1045 Requires_Cleanup_Actions.
1046 (Expand_N_Package_Body): Package bodies may need clean up code
1047 depending on whether they contain tagged types.
1048 (Expand_N_Package_Declaration): Package declarations may need clean up
1049 code depending on whether they contain tagged types.
1050 (Unregister_Tagged_Types): New routine. Search through a list of
1051 declarations or statements, looking for non-abstract Ada tagged types.
1052 For each such type, generate code to unregister the external tag.
1053 * exp_util.adb (Has_Controlled_Objects (Node_Id)): Renamed to
1054 Requires_Cleanup_Actions.
1055 (Requires_Cleanup_Actions (List_Id, Boolean)): New routine. Search
1056 through a list of declarations or statements looking for non-abstract
1057 Ada tagged types or controlled objects.
1058 * exp_util.ads (Has_Controlled_Objects (Node_Id)): Renamed to
1059 Requires_Cleanup_Actions.
1060 (Has_Controlled_Objects (List_Id, Boolean)): Removed.
1061 * rtsfind.ads: Add entry RE_Unregister_Tag to tables RE_Id and
1062 RE_Unit_Table.
1063
10642011-08-04 Vincent Celier <celier@adacore.com>
1065
1066 * prj-env.adb (For_All_Source_Dirs.For_Project): Check if project Prj
1067 has Ada sources, not project Project, because if the root project
1068 Project has no sources of its own, all projects will be deemed without
1069 sources.
1070
10712011-08-04 Gary Dismukes <dismukes@adacore.com>
1072
1073 * bindgen.adb (Gen_Adainit_Ada): Move the generation of the declaration
1074 of the No_Param_Proc acc-to-subp type used for initialization of
1075 __gnat_finalize_library_objects so that it's declared at library level
1076 rather than nested inside of the adainit routine.
1077
10782011-08-04 Javier Miranda <miranda@adacore.com>
1079
1080 * exp_disp.adb (Make_DT): Generate code to check the external tag ONLY
1081 if the tagged type has a representation clause which specifies its
1082 external tag.
1083
10842011-08-04 Ed Schonberg <schonberg@adacore.com>
1085
1086 * einfo.ads, einfo.adb (Has_Private_Ancestor): now a flag on types.
1087 Remove previous procedure with that name.
1088 * sem_ch3.adb (Build_Derived_Record_Type): set Has_Private_Ancestor
1089 when appropriate.
1090 * sem_aggr.adb (Resolve_Extension_Aggregate): if the ancestor part is a
1091 subtype mark, the ancestor cannot have unknown discriminants.
1092 (Resolve_Record_Aggregate): if the type has invisible components
1093 because of a private ancestor, the aggregate is illegal.
1094
10952011-08-04 Vincent Celier <celier@adacore.com>
1096
1097 * switch-m.adb (Normalize_Compiler_Switches): Recognize and take into
1098 account switches -gnat2005, -gnat12 and -gnat2012.
1099
11002011-08-04 Bob Duff <duff@adacore.com>
1101
1102 * s-tasdeb.ads: Minor comment fix.
1103
11042011-08-04 Arnaud Charlet <charlet@adacore.com>
1105
1106 * gnatlink.adb (Gnatlink): Pass -gnat83/95/05/12 switch to gcc in
1107 CodePeer mode.
1108 * switch.ads, switch.adb (Is_Language_Switch): New function.
1109
11102011-08-04 Vincent Celier <celier@adacore.com>
1111
1112 * switch-c.adb: Minor comment addition.
1113
11142011-08-04 Vincent Celier <celier@adacore.com>
1115
1116 * vms_conv.adb (Process_Argument): Fail graciously when qualifier
1117 ending with '=' is followed by a space (missing file name).
1118
11192011-08-04 Pascal Obry <obry@adacore.com>
1120
1121 * g-regist.ads: Fix size of HKEY on x86_64-windows.
1122
11232011-08-04 Ed Schonberg <schonberg@adacore.com>
1124
1125 * sem_ch12.adb (Analyze_Associations): New routine
1126 Check_Overloaded_Formal_Subprogram to reject a formal package when
1127 there is a named association or a box initialisation for an overloaded
1128 formal subprogram of the corresponding generic.
1129
11302011-08-04 Yannick Moy <moy@adacore.com>
1131
1132 * alfa.ads (ALFA_Xref_Record): add component for type of entity
1133 * get_alfa.adb, put_alfa.adb: Read and write new component of
1134 cross-reference.
1135 * lib-xref-alfa.adb (Collect_ALFA): generate new component.
1136
88f47280
AC
11372011-08-04 Pascal Obry <obry@adacore.com>
1138
1139 * urealp.adb: Minor reformatting.
1140
11412011-08-04 Tristan Gingold <gingold@adacore.com>
1142
1143 * exp_ch7.adb (build_finalizer.process_declarations.processing_actions):
1144 Handle the case when Cleanup_Protected_Object returns Empty.
1145
11462011-08-04 Yannick Moy <moy@adacore.com>
1147
1148 * frontend.adb (Frontend): only qualify names in non-ALFA mode
1149
11502011-08-04 Ed Schonberg <schonberg@adacore.com>
1151
1152 * sem_ch4.adb (Try_Class_Wide_Operation): if the context is a procedure
1153 call, ignore functions.
1154
05c53a69
GB
11552011-08-04 Geert Bosch <bosch@adacore.com>
1156
1157 * urealp.adb (Equivalent_Decimal_Exponent): Avoid the use of floating
1158 point.
1159
23cc1ace
EB
11602011-08-04 Emmanuel Briot <briot@adacore.com>
1161
1162 * makeutl.adb (Compute_Builder_Switches): no longer accept a unit name
1163 as an index for Builder'Switches. This conforms to the documentation.
1164 * make.adb (Insert_Project_Sources): avoid duplicate code
1165
cef14201
AC
11662011-08-04 Emmanuel Briot <briot@adacore.com>
1167
1168 * makeutl.adb (Complete_Mains): if the user has passed a relative file
1169 name on the command line (for instance "../dummy"), never assume it can
1170 be a unit name.
1171
11722011-08-04 Tristan Gingold <gingold@adacore.com>
1173
1174 * bindgen.adb: Remove code the reference or create the
1175 Break_Start/__gnat_break_start procedure.
1176 * s-stalib.adb (Break_Start): Removed.
1177
e2fee30d
EB
11782011-08-04 Emmanuel Briot <briot@adacore.com>
1179
1180 * make.adb, makeutl.adb, makeutl.ads (Compute_Builder_Switches): now
1181 shared with gprbuild.
1182
2d395256
AC
11832011-08-04 Yannick Moy <moy@adacore.com>
1184
1185 * par-ch4.adb (P_Primary): preferentially issue an error message about
1186 a missing parenthesis arount a conditional or case expression in Ada
1187 2012 mode, if we detect that the alignment is not correct for a
1188 statement.
1189
11902011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1191
1192 * exp_ch7.adb (Process_Declarations): Do not consider the result of a
1193 tag-to-class-wide conversion as needing finalization actions.
1194 * exp_util.adb (Has_Controlled_Objects): Do not consider the result of
1195 a tag-to-class-wide conversion as needing finalization actions.
1196 (Is_Finalizable_Transient): The result of a tag-to-class-wide
1197 conversion does not need finalization actions.
1198 (Is_Tag_To_CW_Conversion): New routine.
1199 * exp_util.ads (Is_Tag_To_CW_Conversion): New routine. Determines
1200 whether an object is the result of a tag-to-class-wide conversion.
1201
12022011-08-04 Yannick Moy <moy@adacore.com>
1203
1204 * sem_ch13.adb (Analyze_Aspect_Specifications): correct order in which
1205 the left-hand-side and right-hand-side of a conjunct are inserted when
1206 translating a pre- or postcondition
1207 * sem_ch6.adb: Correct typo in comment
1208
12092011-08-04 Ed Schonberg <schonberg@adacore.com>
1210
1211 * gnat_rm.texi: Ravenscar does not prohibit dependence on
1212 Unchecked_Conversion and Unchecked_Deallocation.
1213
12142011-08-04 Thomas Quinot <quinot@adacore.com>
1215
1216 * make.adb: Minor reformatting.
1217
767ab2fd
EB
12182011-08-04 Emmanuel Briot <briot@adacore.com>
1219
1220 * prj.adb, prj.ads, makeutl.adb (Complete_Mains): search for the
1221 sources in the project and its imported projects, but not in the whole
1222 tree.
1223
8fb3f5df
AC
12242011-08-04 Emmanuel Briot <briot@adacore.com>
1225
1226 * make.adb: Remove debug trace.
1227
12282011-08-04 Vincent Celier <celier@adacore.com>
1229
1230 * makeutl.adb (Do_Complete): Get the absolute path name of a relative
1231 path in canonical form, to be able to compare path names on platforms
1232 such as Windows or Darwin.
1233
12342011-08-04 Thomas Quinot <quinot@adacore.com>
1235
1236 * par_sco.adb (Traverse_Declarations_Or_Statements.Set_Statement_Entry):
1237 For a pragma (statement with C1 = 'P'), record the sloc of the pragma.
1238 * scos.ads: Update documentation accordingly.
1239 * put_scos.adb (Output_SCO_Line): Omit statement SCOs for disabled
1240 pragmas.
1241
9515740f
AC
12422011-08-04 Ed Schonberg <schonberg@adacore.com>
1243
1244 * sem_attr.adb (Bad_Attribute_For_Predicate): flag illegal use of
1245 attribute only if prefix type is scalar.
1246
12472011-08-04 Emmanuel Briot <briot@adacore.com>
1248
1249 * make.adb, makeutl.adb, prj-env.adb (Check_Mains): put back support
1250 in gnatmake for specifying mains on the command line that do not belong
1251 to the main project. These mains must currently all belong to the same
1252 project, though.
1253 (Ultimate_Extension_Of): removed, since duplicated
1254 Ultimate_Extending_Project.
1255
92966893
AC
12562011-08-04 Arnaud Charlet <charlet@adacore.com>
1257
1258 * make.adb (Do_Codepeer_Globalize_Step): Removed. Use CodePeer_Mode
1259 instead.
1260 (CodePeer_Mode_String): New.
1261 (Linking_Phase, Binding_Phase): Call gnatlink with -P switch in
1262 CodePeer mode.
1263 (Scan_Make_Arg): Do not disable binding/linking phase in CodePeer mode.
1264 * bindgen.adb (Gen_Elab_Calls_Ada): Ignore subprograms in CodePeer
1265 mode, since no useful elaboration subprogram is needed by CodePeer.
1266 * gnatlink.adb (Gnatlink): Add support for -P switch (CodePeer mode).
1267 In this mode, compile binder file with -gnatC and do stop after this
1268 step.
1269
12702011-08-04 Vincent Celier <celier@adacore.com>
1271
1272 * exp_ch7.adb: Minor comment fix.
1273
5969611f
RD
12742011-08-04 Robert Dewar <dewar@adacore.com>
1275
1276 * exp_ch7.adb, make.adb, sem_ch10.adb, bindgen.adb, sem_res.adb,
1277 exp_ch4.adb, makeutl.adb: Minor reformatting.
1278
6367dd30
AC
12792011-08-04 Emmanuel Briot <briot@adacore.com>
1280
1281 * make.adb, makeutl.adb, makeutl.ads (Make): major refactoring.
1282 Create several new subprograms to move code out of Make. This makes the
1283 code more readable, removes code duplication, and is a preparation work
1284 for adding support for aggregate projects.
1285
12862011-08-04 Tristan Gingold <gingold@adacore.com>
1287
1288 * s-po32gl.ads, s-po32gl.adb: New files.
1289 * exp_ch7.ads (Get_Global_Pool_For_Access_Type): New function.
1290 * exp_ch7.adb (Get_Global_Pool_For_Access_Type): New function.
1291 (Build_Finalization_Collection): Use it.
1292 * exp_ch4.adb (Complete_Controlled_Allocation): Ditto.
1293 * rtsfind.ads: System_Pool_32_Global, Re_Global_Pool_32_Object: New
1294 literals.
1295 * gcc-interface/Makefile.in: Use s-po32gl.o on VMS.
1296 * gcc-interface/Make-lang.in: Update dependencies.
1297
cd8bfe35
EB
12982011-08-04 Emmanuel Briot <briot@adacore.com>
1299
1300 * makeutl.adb (Complete_Mains): add support for specs with no suffix on
1301 the command line.
1302
7db29ea7
EB
13032011-08-04 Emmanuel Briot <briot@adacore.com>
1304
1305 * make.adb, makeutl.adb (Complete_Mains): if a main specified on the
1306 command line is not a file name, also check whether it could be a unit
1307 name.
1308
d9b056ea
AC
13092011-08-04 Eric Botcazou <ebotcazou@adacore.com>
1310
1311 * bindgen.adb (Gen_Finalize_Library_Ada): Factor out code to generate
1312 the header of the finalization routine.
1313 If the unit has no finalizer but is a body whose spec has one, then
1314 generate the decrement of the elaboration entity only.
1315 If the unit has a finalizer and is a spec, then do not generate the
1316 decrement of the elaboration entity.
1317 (Gen_Finalize_Library_C): Likewise.
1318
13192011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1320
1321 * exp_ch7.adb (Alignment_Of): New subsidiary routine.
1322 (Bounds_Size_Expression): Removed.
1323 (Double_Alignment_Of): New subsidiary routine.
1324 (Make_Finalize_Address_Stmts): New local variable Index_Typ. Account
1325 for a hole in the dope vector of unconstrained arrays due to different
1326 index and element alignments.
1327
13282011-08-04 Ed Schonberg <schonberg@adacore.com>
1329
1330 * sem_res.adb (Resolve_Allocator): diagnose task allocator that will
1331 raise program_error because body has not been seen yet.
1332
13332011-08-04 Ed Schonberg <schonberg@adacore.com>
1334
1335 * sem_ch10.adb (Analyze_With_Clause): Protect against child unit with
1336 an unresolved name.
1337
13382011-08-04 Vincent Celier <celier@adacore.com>
1339
1340 * makeutl.adb (Do_Complete): Check absolute paths in canonical forms
1341
13422011-08-04 Yannick Moy <moy@adacore.com>
1343
1344 * alfa.adb, alfa.ads (Unique_Defining_Entity): move function from here
1345 * sem_util.adb, sem_util.ads (Unique_Defining_Entity): ...to here
1346
13472011-08-04 Thomas Quinot <quinot@adacore.com>
1348
1349 * sem_ch12.adb (Analyze_Package_Instantiation): Do not omit body for
1350 instantiation in RCI.
1351
13522011-08-04 Emmanuel Briot <briot@adacore.com>
1353
1354 * make.adb: Share more code with gprbuild
1355
f5fc5b9d
AC
13562011-08-04 Emmanuel Briot <briot@adacore.com>
1357
1358 * projects.texi: Added documentation for the IDE'Gnat project file
1359 attribute.
1360
13612011-08-04 Nicolas Roche <roche@adacore.com>
1362
1363 * gnat_rm.texi: Minor editing.
1364
13652011-08-04 Javier Miranda <miranda@adacore.com>
1366
1367 * bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
1368 and the library case for VM targets.
1369 (Gen_Adainit_Ada): Likewise.
1370
13712011-08-04 Robert Dewar <dewar@adacore.com>
1372
1373 * g-altive.ads: Minor comment updates.
1374 * prj-nmsc.adb: Minor reformatting.
1375
13762011-08-04 Javier Miranda <miranda@adacore.com>
1377
1378 * opt.ads
1379 (Normalize_Scalars_Config): Value of the configuration switch set by
1380 pragma Normalize_Scalars when it appears in the gnat.adc file.
1381 (Normalize_Scalars): New field for record Config_Switches_Type. Used
1382 to save and restore settings of this pragma.
1383 * opt.adb
1384 (Register_Opt_Config_Switches, Save_Opt_Config_Switches,
1385 Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.
1386
13872011-08-04 Vincent Celier <celier@adacore.com>
1388
1389 * gnat_ugn.texi: Document gnatlink options -M and -M=mapfile
1390
0c4683cf
AC
13912011-08-04 Arnaud Charlet <charlet@adacore.com>
1392
1393 * makeutl.adb: Minor reformatting.
1394
13952011-08-04 Olivier Hainque <hainque@adacore.com>
1396
1397 * g-altive.ads: Update comments to reflect that only the soft
1398 binding is available today.
1399
2598ee6d
RD
14002011-08-04 Robert Dewar <dewar@adacore.com>
1401
1402 * bindgen.adb, einfo.adb, sem_ch12.adb, s-tasren.adb, sem_res.adb,
1403 makeutl.adb, prj-nmsc.adb, opt.ads, prj-env.adb: Minor reformatting
1404 * gcc-interface/Make-lang.in: Update dependencies.
1405
c2db4b32
AC
14062011-08-04 Arnaud Charlet <charlet@adacore.com>
1407
1408 * prj-env.adb: Remove local debug traces.
1409
14102011-08-04 Yannick Moy <moy@adacore.com>
1411
1412 * checks.adb (Apply_Float_Conversion_Check): correct a typo where Lo_OK
1413 was used instead of Hi_OK, which could cause a read of an uninitialized
1414 value later on. Detected while working on the new warning.
1415 * exp_ch9.adb (Expand_N_Entry_Declaration): remove useless assignment
1416 to local variable.
1417 * sem_ch5.adb (Analyze_Assignment): set the last assignment component
1418 in more cases, in order to detect more unreferenced values.
1419 * sem_util.adb, sem_util.ads (Get_Enclosing_Object): return enclosing
1420 object for expression, if any.
1421
14222011-08-04 Eric Botcazou <ebotcazou@adacore.com>
1423
1424 * exp_intr.adb (Expand_Binary_Operator_Call): Look at the RM size of
1425 the operand types instead of the Esize.
1426
14272011-08-04 Steve Baird <baird@adacore.com>
1428
1429 * switch-b.adb (Scan_Binder_Switches): Add -P binder switch, used to
1430 enable CodePeer_Mode.
1431 * bindusg.adb (Display): Add help message describing -P binder switch.
1432 * gnat_ugn.texi: Document -P binder switch.
1433 * bindgen.adb (Gen_Main_Ada): If CodePeer_Mode is set, then call the
1434 user-defined main program directly.
1435 (Gen_Output_File_Ada): If CodePeer_Mode is set, generate a with of the
1436 user-defined main program in the context clause of the package body.
1437
ad05f2e9
AC
14382011-08-04 Yannick Moy <moy@adacore.com>
1439
1440 * alfa.adb, alfa.ads (Get_Entity_For_Decl): remove function, partial
1441 duplicate of Defining_Entity
1442 (Get_Unique_Entity_For_Decl): rename function into
1443 Unique_Defining_Entity
1444 * einfo.adb, einfo.ads (Is_In_ALFA, Body_Is_In_ALFA): remove flags
1445 (Formal_Proof_On): remove synthesized flag
1446 * cstand.adb, sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
1447 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb, sem_util.adb,
1448 sem_util.ads, stand.ads: Remove treatment associated to entities in ALFA
1449 * sem_prag.adb (Analyze_Pragma): remove special treatment for pragma
1450 Annotate (Formal_Proof)
1451
14522011-08-04 Emmanuel Briot <briot@adacore.com>
1453
1454 * prj-env.adb (Create_Config_Pragmas_File): fix handling of multi-unit
1455 source files with non-standard naming schemes, in imported projects
1456
756ef2a0
AC
14572011-08-04 Emmanuel Briot <briot@adacore.com>
1458
1459 * makeutl.adb (Complete_Mains): when a multi-unit source file is
1460 specified on the gprbuild command line, we need to compile all units
1461 within that file, not just the first one we find
1462 Fix error message for mains that are not found.
1463
14642011-08-04 Thomas Quinot <quinot@adacore.com>
1465
1466 * sem_ch6.adb: Update comment.
1467 * sem_ch12.adb: Minor reformatting.
1468
14692011-08-04 Bob Duff <duff@adacore.com>
1470
1471 * s-tasren.adb (Task_Do_Or_Queue): Previous code was reading
1472 Acceptor.Terminate_Alternative without locking Acceptor, which causes a
1473 race condition whose symptom is to fail to lock Parent. That, in turn,
1474 causes Parent.Awake_Count to be accessed without locking Parent, which
1475 causes another race condition whose symptom is that Parent.Awake_Count
1476 can be off by 1 (either too high or too low). The solution is to lock
1477 Parent unconditionally, and then lock Acceptor, before reading
1478 Acceptor.Terminate_Alternative.
1479
4fdebd93
AC
14802011-08-04 Arnaud Charlet <charlet@adacore.com>
1481
1482 * debug.adb: Update comment.
1483
14842011-08-04 Robert Dewar <dewar@adacore.com>
1485
1486 * par_sco.adb, exp_util.adb, make.adb, a-tags.adb, sem_prag.adb,
1487 sem_util.adb, sem_attr.adb, exp_ch4.adb, g-comlin.adb, g-comlin.ads,
1488 exp_ch6.adb: Minor reformatting.
1489
14902011-08-04 Gary Dismukes <dismukes@adacore.com>
1491
1492 * gnat_ugn.texi: Add sentence about the case of compile-time-detected
1493 checks for -gnateE.
1494
14952011-08-04 Ed Schonberg <schonberg@adacore.com>
1496
1497 * gnat_rm.texi: update Ravenscar desription to reflect Ada2012 RM.
1498
14992011-08-04 Thomas Quinot <quinot@adacore.com>
1500
1501 * sinfo.ads: Minor reformatting.
1502
15032011-08-04 Emmanuel Briot <briot@adacore.com>
1504
1505 * makeutl.adb, makeutl.ads, prj-nmsc.adb (Complete_Mains): report error
1506 even if there is no location.
1507
6aaa0587
ES
15082011-08-04 Ed Schonberg <schonberg@adacore.com>
1509
1510 * sem_res.adb, sem_ch4.adb: move check for restriction
1511 No_Task_Hierarchy to resolve_allocator.
1512
35a1c212
AC
15132011-08-04 Thomas Quinot <quinot@adacore.com>
1514
1515 * sinfo.adb, sinfo.ads, sem_prag.adb, sem_ch12.adb (Pragma_Enabled):
1516 This flag of N_Pragma nodes is not used, remove it as well as all of
1517 the associated circuitry.
1518
15192011-08-04 Javier Miranda <miranda@adacore.com>
1520
1521 * exp_disp.adb (Make_DT): Switch -gnatdQ disables the generation of the
1522 runtime check on duplicated externa tags
1523 * debug.adb Document switch -gnatdQ.
1524
15252011-08-04 Gary Dismukes <dismukes@adacore.com>
1526
1527 * a-fihema.ads: Minor typo fix.
1528
15292011-08-04 Yannick Moy <moy@adacore.com>
1530
1531 * sem_ch10.adb: Minor comment update.
1532
15332011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1534
1535 * einfo.adb: Update the node field usage to reflect the renaming of
1536 Return_Flag to Return_ Flag_Or_Transient_Decl.
1537 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl.
1538 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl.
1539 (Write_Field15_Name): Change Return_Flag to
1540 Return_Flag_Or_Transient_Decl.
1541 * einfo.ads: Rename node field Return_Flag to
1542 Return_Flag_Or_Transient_Decl. Update the associated comment and all
1543 occurrences in entities.
1544 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl. Update
1545 associated Inline pragma.
1546 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl. Update
1547 associated Inline pragma.
1548 * exp_ch4.ads, exp_ch4.adb (Expand_N_Expression_With_Actions): New
1549 routine.
1550 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Update the calls to
1551 Return_Flag and Set_Return_Flag.
1552 * exp_ch7.adb (Process_Declarations): Add code to recognize hook
1553 objects generated for controlled transients declared inside an
1554 Exception_With_Actions. Update the calls to Return_Flag.
1555 (Process_Object_Declaration): Add code to add a null guard for hook
1556 objects generated for controlled transients declared inside an
1557 Exception_With_Actions. Update related comment.
1558 * exp_util.adb (Has_Controlled_Objects): Add code to recognize hook
1559 objects generated for controlled transients declared inside an
1560 Exception_With_Actions. Update the calls to Return_Flag.
1561 * expander.adb (Expand): Add new case for N_Expression_With_Actions.
1562
15632011-08-04 Ed Schonberg <schonberg@adacore.com>
1564
1565 * sem_util.adb:(Wrong_Type): Improve error message on a one-element
1566 positional aggregate.
1567
15682011-08-04 Vincent Celier <celier@adacore.com>
1569
1570 * par_sco.adb (Process_Decisions.Output_Header): Check and record pragma
1571 SLOC only for pragmas.
1572
15732011-08-04 Emmanuel Briot <briot@adacore.com>
1574
1575 * projects.texi: Minor typo fix.
1576
15772011-08-04 Emmanuel Briot <briot@adacore.com>
1578
1579 * prj-nmsc.adb (Check_File): Minor change to traces, to help debugging
1580 on case-sensitive file systems.
1581
c2873f74
TQ
15822011-08-04 Thomas Quinot <quinot@adacore.com>
1583
1584 * put_scos.adb (Put_SCOs): Do not emit decision SCO for an X decision
1585 nested in a disabled pragma.
1586 * scos.ads, scos.adb, par_sco.ads, par_sco.adb: Record sloc of
1587 enclosing pragma, if any, for X decisions.
1588
15892011-08-04 Thomas Quinot <quinot@adacore.com>
1590
1591 * sem_prag.adb: Minor reformatting.
1592
46414266
VC
15932011-08-04 Vincent Celier <celier@adacore.com>
1594
1595 * a-tags.adb (Check_TSD): Avoid concatenation of strings, as it is not
1596 allowed in no run time mode.
1597
15982011-08-04 Vincent Celier <celier@adacore.com>
1599
1600 * make.adb (Check): When -gnatc is used, check for the source file
1601 inside the ALI file with a canonical case file name.
1602
afab164f
EB
16032011-08-04 Emmanuel Briot <briot@adacore.com>
1604
1605 * g-comlin.adb, g-comlin.ads (Add_Switch): Put back support for
1606 overriding the separator.
1607
fe0ec02f
AC
16082011-08-04 Robert Dewar <dewar@adacore.com>
1609
1610 * sem_aggr.adb, par_sco.adb, sem_type.adb, exp_util.adb, exp_ch9.adb,
1611 prj-nmsc.adb, sem_ch13.adb, exp_strm.adb: Minor reformatting.
1612
16132011-08-04 Robert Dewar <dewar@adacore.com>
1614
1615 * gnat_rm.texi: Minor documentation fix for pragma Annotate.
1616
16172011-08-04 Yannick Moy <moy@adacore.com>
1618
1619 * sem_attr.adb (Analyze_Attribute): add check during pre-analysis that
1620 'Result only appears in postcondition of function.
1621
16222011-08-04 Thomas Quinot <quinot@adacore.com>
1623
1624 * a-tags.adb (Check_TSD): When raising PROGRAM_ERROR for a duplicated
1625 external tag, include the value of the external tag in the exception
1626 message.
1627
0180fd26
AC
16282011-08-04 Yannick Moy <moy@adacore.com>
1629
1630 * sem_attr.adb (Result): modify error message for misplaced 'Result
1631
16322011-08-04 Sergey Rybin <rybin@adacore.com>
1633
1634 * gnat_rm.texi (pragma Annotate): Fix syntax description to make it
1635 clear that the second argument must be an identifier.
1636
16372011-08-04 Thomas Quinot <quinot@adacore.com>
1638
1639 * exp_ch9.adb (Build_Barrier_Function): When compiling with
1640 -fpreserve-control-flow, insert an IF statement on the barrier
1641 condition to ensure that a conditional branch instruction is generated.
1642
16432011-08-04 Emmanuel Briot <briot@adacore.com>
1644
1645 * prj-part.adb, prj.adb, prj.ads, prj-tree.ads
1646 (Processing_Flags.Ignore_Missing_With): new flag.
1647
16482011-08-04 Emmanuel Briot <briot@adacore.com>
1649
1650 * prj-nmsc.adb (Find_Sources, Path_Name_Of): Fix handling of
1651 Source_List_File on case-insensitive systems where the file is actually
1652 on a case-sensitive file system (NFS,...).
1653
16542011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1655
1656 * sem_ch6.adb (Analyze_Function_Return): In a rare case where a
1657 function return contains a controlled [extension] aggregate and the
1658 return statement is not part of a handled sequence of statements, wrap
1659 the return in a block. This ensures that all controlled temporaries
1660 generated during aggregate resolution will be picked up by the
1661 finalization machinery.
1662
16632011-08-04 Ed Schonberg <schonberg@adacore.com>
1664
1665 * sem_aggr.adb (Resolve_Aggregate): If aggregate has box-initialized
1666 components, freeze type before resolution, to ensure that default
1667 initializations are present for all components.
1668 * sem_res.adb (Resolve_Actuals): the designated object of an
1669 accces-to-constant type is a legal actual in a call to an
1670 initialization procedure.
1671
16722011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1673
1674 * exp_util.adb (Extract_Renamed_Object): Add N_Type_Conversion and
1675 N_Unchecked_Type_Conversion to the possible containers of a renamed
1676 transient variable.
1677
78efd712
AC
16782011-08-04 Yannick Moy <moy@adacore.com>
1679
1680 * par-ch13.adb (Aspect_Specifications_Present): recognize
1681 "with Identifier'Class =>" as an aspect, so that a meaningful warning
1682 is issued in Strict mode.
1683 * par.adb: Fix typos in comments.
1684
16852011-08-04 Yannick Moy <moy@adacore.com>
1686
1687 * sem_attr.adb (Result): modify error message to take into account Post
1688 aspect when compiling Ada 2012 (or newer) code.
1689
16902011-08-04 Nicolas Roche <roche@adacore.com>
1691
1692 * env.c (__gnat_clearenv): Avoid use of dynamic size array in order to
1693 remove need for GCC exceptions.
1694
16952011-08-04 Vincent Celier <celier@adacore.com>
1696
1697 * makeutl.adb (Do_Complete): Call Debug_Output with the name of the
1698 project, not the source file name.
1699 * prj.adb (Find_Sources.Look_For_Sources): If the source has been
1700 excluded, continue looking. This excluded source will only be returned
1701 if there is no other source with the same base name that is not locally
1702 removed.
1703
17042011-08-04 Ed Schonberg <schonberg@adacore.com>
1705
1706 * sem_res.adb (Resolve_Intrinsic_Operator): if the result type is
1707 private and one of the operands is a real literal, use a qualified
1708 expression rather than a conversion which is not meaningful to the
1709 back-end.
1710
0170a691
AC
17112011-08-04 Yannick Moy <moy@adacore.com>
1712
1713 * sem_ch13.adb (Aspect_Loop): when an aspect X and its classwise
1714 corresponding aspect X'Class are allowed, proceed with analysis of the
1715 aspect instead of skipping it.
1716
17172011-08-04 Tristan Gingold <gingold@adacore.com>
1718
1719 * s-flocon.adb, s-flocon.ads: Add a body for s-flocon.ads
1720 This will allow to have an Ada implementation for the subprogram.
1721
deb4f5ba
ES
17222011-08-04 Ed Schonberg <schonberg@adacore.com>
1723
1724 * sem_ch3.adb (Analyze_Full_Type_Declaration): If the declaration is a
1725 completion and aspects are present, apply them to the entity for the
1726 type which is currently the partial view, but which is the one that
1727 will be frozen.
1728 * sem_ch13.adb (Analyze_Aspect_Specifications): if the predicate
1729 applies to a partial view, indicate that the full view has predicates
1730 and delayed aspects.
1731 (Replace_Type_Reference): Handle properly predicates that apply to the
1732 full view of a private completion.
1733
fc893455
AC
17342011-08-04 Eric Botcazou <ebotcazou@adacore.com>
1735
1736 * layout.adb (Layout_Type): For composite types, do not set Esize.
1737 * freeze.adb (Set_Small_Size): Remove test on alignment and do not
1738 set Esize.
1739 (Size_Known): Look at the RM size of components instead of the Esize.
1740 (Freeze_Record_Type): Look at the RM size instead of the Esize to
1741 issue warning and activate Implicit_Packing.
1742 (Freeze_Entity): Likewise. Do not issue a warning for alias/atomic
1743 if the Esize is not known.
1744 * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Size>: Set Esize
1745 for elementary types only.
1746 (Analyze_Record_Representation_Clause): Look at the RM size instead
1747 of the Esize to issue errors.
1748 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set Esize if it
1749 is not known.
1750 <E_Record_Type>: Look at the RM size instead of the Esize. Remove
1751 obsolete block.
1752 Look at the RM size instead of the Esize for types if the latter is
1753 not known.
1754 (gnat_to_gnu_field): Use Known_Esize instead of Known_Static_Esize.
1755
17562011-08-04 Ed Schonberg <schonberg@adacore.com>
1757
1758 * sem_type.adb: proper handling of equality not involving anonymous
1759 access types.
1760
b37d5bc6
AC
17612011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1762
1763 * exp_ch7.adb (Create_Finalizer): Remove local variables Spec_Nod and
1764 Vis_Decls. When creating a library-level finalizer for a package spec,
1765 both the declaration and body of the finalizer are inserted either in
1766 the visible or private declarations of the package spec.
1767
17682011-08-04 Javier Miranda <miranda@adacore.com>
1769
1770 * sem_ch3.adb (Derive_Subprograms): Complete assertion to request the
1771 use of the full-view of a type when invoking Is_Ancestor.
1772 * sem_type.adb (Is_Ancestor): For consistency, when the traversal of
1773 the full-view of private parents is requested, then use also the
1774 full-view of the parent of the first derivation.
1775
7ab4d95a
AC
17762011-08-04 Tristan Gingold <gingold@adacore.com>
1777
1778 * s-taprop-vxworks.adb (Enter_Task): Use System.Float_Control.Reset
1779 instead of the locally imported procedure.
1780 * s-taprop-mingw.adb (Enter_Task): Ditto.
1781 * s-valrea.adb (Scan_Real): Ditto.
1782 * s-imgrea.adb (Set_Image_Real): Ditto.
1783 * s-flocon.ads: Make the package pure.
1784
17852011-08-04 Thomas Quinot <quinot@adacore.com>
1786
1787 * sinfo.ads, sinfo.adb (Debug_Statement, Set_Debug_Statement): Remove.
1788 * tbuild.ads, tbuild.adb (Make_Pragma): Adjust accordingly.
1789 * sinfo-cn.ads, sinfo-cn.adb (Change_Name_To_Procedure_Call_Statement):
1790 New subprogram, moved here from...
1791 * par.adb, par-ch5.adb (P_Statement_Name): ... here.
1792 * par-prag.adb (Par.Prag, case Pragma_Debug): Do not perform any
1793 rewriting of the last argument into a procedure call statement here...
1794 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): ...do it there
1795 instead.
1796
17972011-08-04 Thomas Quinot <quinot@adacore.com>
1798
1799 * par_sco.adb: Minor reformatting.
1800
51c400f5
AC
18012011-08-04 Robert Dewar <dewar@adacore.com>
1802
1803 * erroutc.adb: Minor reformatting.
1804
18052011-08-04 Thomas Quinot <quinot@adacore.com>
1806
1807 * par_sco.adb: Comment update.
1808
18092011-08-04 Tristan Gingold <gingold@adacore.com>
1810
1811 * s-flocon.ads: New file.
1812 * g-flocon.ads: Now a renaming of s-flocon.
1813 * Makefile.rtl: Add s-flocon.o
1814
6a49f110
AC
18152011-08-04 Javier Miranda <miranda@adacore.com>
1816
1817 * exp_strm.adb (Build_Array_Input_Function): if the array type is
1818 constrained, do not attempt to build a subtype of it.
1819
18202011-08-04 Yannick Moy <moy@adacore.com>
1821
1822 * errout.ads Change comments: remove 'R'M as an example where quotes
1823 are needed; add ALFA as another case where quotes are not needed
1824 * erroutc.adb (Set_Msg_Insertion_Reserved_Word): add ALFA as another
1825 case where quotes are not needed.
1826 * sem_ch11.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
1827 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_prag.adb, sem_res.adb:
1828 Remove all occurrences of 'A'L'F'A
1829
18302011-08-04 Ed Schonberg <schonberg@adacore.com>
1831
1832 * sem_ch13.adb: check legality of invariant pragma.
1833
a4640a39
AC
18342011-08-04 Eric Botcazou <ebotcazou@adacore.com>
1835
1836 * bindgen.adb: Add comments.
1837
18382011-08-04 Yannick Moy <moy@adacore.com>
1839
1840 * einfo.adb, einfo.ads: Free Flag254 and make Formal_Proof_On a
1841 synthesized flag.
1842 * sem_prag.adb (Analyze_Pragma): record the pragma Annotate
1843 (Formal_Proof, On/Off) in the Rep_Item list of the current subprogram.
1844
18452011-08-04 Robert Dewar <dewar@adacore.com>
1846
1847 * exp_ch7.adb, exp_ch6.adb, sem_ch3.adb, layout.adb, sem_ch5.adb,
1848 osint-c.ads, sem_util.ads, gnat1drv.adb, targparm.ads, sem_ch6.adb,
1849 sem_ch13.adb, s-pooloc.adb: Minor reformatting.
1850
39ade2f9
AC
18512011-08-04 Thomas Quinot <quinot@adacore.com>
1852
1853 * s-pooloc.ads, s-pooglo.ads: Minor reformatting
1854
18552011-08-04 Thomas Quinot <quinot@adacore.com>
1856
1857 PR ada/47880
1858 * s-pooloc.adb (Deallocate): Fix the case of deallocating the only
1859 allocated object.
1860
18612011-08-04 Robert Dewar <dewar@adacore.com>
1862
1863 * einfo.ads, exp_ch4.adb: Minor reformatting.
1864
18652011-08-04 Jerome Lambourg <lambourg@adacore.com>
1866
1867 * back_end.ads (Gen_Or_Update_Object_File): Add more comments.
1868
7efc3f2d
AC
18692011-08-04 Ed Schonberg <schonberg@adacore.com>
1870
1871 * exp_ch4.adb (Expand_Composite_Equality): code cleanup: use component
1872 type in all cases to compute list of primitive operations, because full
1873 view may be an itype that is not attached to the list of declarations.
1874
18752011-08-04 Eric Botcazou <ebotcazou@adacore.com>
1876
1877 * bindgen.adb (Gen_Adafinal_Ada): Generate an early return if the
1878 library has already been finalized.
1879 (Gen_Adafinal_C): Likewise.
1880 (Gen_Adainit_Ada): Generate an early return if the library has
1881 already been elaborated.
1882 (Gen_Adainit_C): Likewise.
1883 (Gen_Output_File_Ada): Generate an elaboration flag.
1884 (Gen_Output_File_C): Likewise.
1885
f65df609
HK
18862011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1887
1888 * exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
1889 Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
1890 built in the first place.
1891 (Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
1892 for CodePeer because Finalize_Address was not built to begin with.
1893 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.
1894
a0fb8fe8
AC
18952011-08-04 Pascal Obry <obry@adacore.com>
1896
1897 * adaint.c (__gnat_tmp_name): Use current process id to create temp
1898 filenames, this ensures unicity of filenames across processes.
1899
19002011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1901
1902 * bindgen.adb (Gen_Finalize_Library_Ada): Rename generated routine
1903 Raise_Controlled to Raise_From_Controlled_Operation. Update the
1904 signature of Raise_From_Controlled_Operation by adding flag From_Abort.
1905 Add False as the actual to From_Abort in the generated call to
1906 Raise_From_Controlled_Operation.
1907
19082011-08-04 Jerome Lambourg <lambourg@adacore.com>
1909
1910 * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move to declaration
1911 so that the ali file name can be retrieved from outside of this package.
1912 * back_end.ads, back_end.adb (Gen_Or_Update_Object_File): New method
1913 doing nothing in the general case, but used to update the object file
1914 timestamp if directly generated by the backend.
1915 * gnat1drv.adb (Gnat1drv): Make sure the object file's timestamp is set
1916 to a later time than the ali file one.
1917
9534ab17
AC
19182011-08-04 Yannick Moy <moy@adacore.com>
1919
1920 * einfo.adb, einfo.ads (Formal_Proof_On): new flag set on subprogram
1921 entities whose body contains an Annotate pragma which forces formal
1922 proof on this body.
1923 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
1924 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Adapt call to
1925 Mark_Non_ALFA_Subprogram to pass in a message and node.
1926 * sem_prag.adb (Analyze_Pragma): add treatment of pragma Annotate
1927 (Forma_Proof, On) which sets the flag Formal_Proof_On in the
1928 surrounding subprogram.
1929 * sem_util.adb, sem_util.ads (Mark_Non_ALFA_Subprogram,
1930 Mark_Non_ALFA_Subprogram_Unconditional): if the subprogram being marked
1931 as not in ALFA is annotated with Formal_Proof being On, then an error
1932 is issued based on the additional parameters for message and node.
1933 * snames.ads-tmpl (Name_Formal_Proof): new name for annotation.
1934 * gcc-interface/Make-lang.in: Update dependencies.
1935
19362011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1937
1938 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not generate
1939 Finalize_Address when CodePeer is enabled.
1940
19412011-08-04 Pascal Obry <obry@adacore.com>
1942
1943 * adaint.c (__gnat_tmp_name): Use _tempnam() instead of tempnam() as
1944 the latter returns a pointer to a static buffer which is deallocated
1945 at the end of the routine.
1946
5c0e97dd
AC
19472011-08-04 Yannick Moy <moy@adacore.com>
1948
1949 * sem_ch3.adb (Array_Type_Declaration): move test for type in ALFA
1950 after index creation; mark unconstrained base array type generated as
1951 being in/not in ALFA as well
1952 (Make_Index): mark subtype created as in/not in ALFA
1953 * sem_ch5.adb (Analyze_Iteration_Scheme): mark entity for iterating
1954 over a loop as in/not in ALFA, depending on its type and form of loop
1955 iteration.
1956
19572011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1958
1959 * exp_ch7.adb (Build_Object_Declarations): Initialize flag Abort
1960 directly to False on .NET and JVM.
1961
7a93c64b
YM
19622011-08-04 Yannick Moy <moy@adacore.com>
1963
1964 * sem_ch3.adb (Constrain_Enumeration, Constrain_Integer): remove
1965 constraint that subtype must come from source code to be in ALFA, so
1966 that anonymous subtypes can be in ALFA too.
1967
e9a1ed9b
YM
19682011-08-04 Yannick Moy <moy@adacore.com>
1969
1970 * sem_ch3.adb (Analyze_Object_Declaration): remove obsolete addition of
1971 reference for ALFA mode.
1972 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Compilation_Unit): make
1973 procedure public so as to use it from formal verification back-end.
1974
8e293fbd
AC
19752011-08-04 Jerome Lambourg <lambourg@adacore.com>
1976
1977 * g-comlin.adb (For_Each_Simple_Switch.Is_In_Config): Remove the
1978 invalid checks of the Parameter, making Remove_Switch not working
1979 correctly.
1980
19812011-08-04 Arnaud Charlet <charlet@adacore.com>
1982
1983 * targparm.ads: Update header: no run-time exception is needed on this
1984 file.
1985
19862011-08-04 Vincent Celier <celier@adacore.com>
1987
1988 * a-fihema.adb: Use System.IO instead of GNAT.IO
1989
19902011-08-04 Thomas Quinot <quinot@adacore.com>
1991
1992 * sem_ch3.adb (Access_Definition): Anonymous access to subprogram types
1993 are forbidden in Compiler_Unit mode.
1994
cfae2bed
AC
19952011-08-04 Robert Dewar <dewar@adacore.com>
1996
1997 * sem_util.adb: Minor reformatting.
1998
19992011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
2000
2001 * bindgen.adb (Gen_Finalize_Library_Ada): Update the import string for
2002 library-level finalizers.
2003 (Gen_Finalize_Library_C): Update the import string for library-level
2004 finalizers.
2005 (Gen_Finalize_Library_Defs_C): Update the definition name of a
2006 library-level finalizer.
2007 * exp_ch7.adb: Remove with and use clauses for Stringt.
2008 (Create_Finalizer): Remove local variables Conv_Name, Prag_Decl,
2009 Spec_Decl. Add local variable Body_Id. The names of library-level
2010 finalizers are now manually fully qualified and are no longer external.
2011 A single name is now capable of servicing .NET, JVM and non-VM targets.
2012 Pragma Export is no longer required to provide visibility for the name.
2013 (Create_Finalizer_String): Removed.
2014 (New_Finalizer_Name): New routine which mimics New_..._Name.
2015
01f0729a
AC
20162011-08-04 Eric Botcazou <ebotcazou@adacore.com>
2017
2018 * sem_elab.adb (Check_Internal_Call_Continue): Change the type of the
2019 elaboration counter to Standard_Short_Integer.
2020 * sem_util.adb (Build_Elaboration_Entity): Likewise.
2021 * bindgen.adb (Gen_Elab_Externals_Ada): Adjust to above change.
2022 (Gen_Elab_Externals_C): Likewise.
2023
20242011-08-04 Ed Falis <falis@adacore.com>
2025
2026 * system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
2027 system-vxworks-ppc.ads, system-vxworks-m68k.ads,
2028 system-vxworks-mips.ads, system-vxworks-x86.ads
2029 (Always_Compatible_Rep): set to False for all VxWorks targets.
2030
2c1b72d7
AC
20312011-08-04 Robert Dewar <dewar@adacore.com>
2032
2033 * par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads,
2034 makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb,
2035 exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb,
2036 exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb,
2037 exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb,
2038 sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb,
2039 sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb:
2040 Minor reformatting and code reorganization.
2041
20422011-08-04 Emmanuel Briot <briot@adacore.com>
2043
2044 * projects.texi: Added doc for aggregate projects.
2045
824e9320
AC
20462011-08-04 Emmanuel Briot <briot@adacore.com>
2047
2048 * prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items):
2049 Add support for overriding the Project_Path in aggregate projects.
2050
20512011-08-04 Robert Dewar <dewar@adacore.com>
2052
2053 * a-cofove.ads: Minor reformatting.
2054
20552011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
2056
2057 * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment
2058 on the generated code.
2059 (Build_Finalize_Statements): Update the comment on the generated code.
2060 (Build_Initialize_Statements): Update the comment on the generated code.
2061 (Build_Object_Declarations): Add local variable Result. The object
2062 declarations are now built in sequence.
2063 * rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and
2064 RE_Unit_Table.
2065
20662011-08-04 Robert Dewar <dewar@adacore.com>
2067
2068 * checks.adb, alfa.adb, alfa.ads: Minor reformatting.
2069
20702011-08-04 Eric Botcazou <ebotcazou@adacore.com>
2071
2072 * einfo.ads (Elaboration_Entity): Document new definition and use.
2073 (Elaboration_Entity_Required): Adjust to above change.
2074 * exp_attr.adb (Expand_N_Attribute_Reference): Likewise.
2075 * exp_ch12.adb: And with and use for Snames.
2076 (Expand_N_Generic_Instantiation): Test 'Elaborated attribute.
2077 * exp_util.adb (Set_Elaboration_Flag): Likewise.
2078 * sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete.
2079 <Check_Unit_Name>: Deal with N_Expanded_Name.
2080 <Attribute_Elaborated>: Extend to all unit names.
2081 * sem_elab.adb: And with and use for Uintp.
2082 (Check_Internal_Call_Continue): Adjust to Elaboration_Entity change.
2083 * sem_util.ads (Build_Elaboration_Entity): Adjust comment.
2084 * sem_util.adb (Build_Elaboration_Entity): Change type to Integer.
2085 * bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken
2086 from Gen_Adainit_Ada.
2087 (Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C.
2088 (Gen_Adafinal_Ada): Remove redundant test. In the non-main program
2089 case, do not call System.Standard_Library.Adafinal; instead call
2090 finalize_library if needed.
2091 (Gen_Adafinal_C): Likewise.
2092 (Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the
2093 non-main program case.
2094 (Gen_Adainit_C): Generate a couple of external declarations here.
2095 In the main program case, set SSL.Finalize_Library_Objects.
2096 (Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change.
2097 (Gen_Elab_Calls_C): Likewise.
2098 (Gen_Finalize_Library_Ada): Likewise. Skip SAL interface units.
2099 (Gen_Finalize_Library_C): Likewise. Generate a full function.
2100 (Gen_Main_C): Put back call to Ada_Final and don't finalize library
2101 objects here.
2102 (Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final
2103 if -a is specified. Call Gen_Elab_Externals_Ada. Move around call to
2104 Gen_Adafinal_Ada.
2105 (Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final
2106 if -a is specified. Call Gen_Elab_Externals_C. Remove useless couple
2107