]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
tree-vect-loop.c (vect_create_epilog_for_reduction): Use the result of multiple resul...
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
276e7ed0
AC
12011-08-04 Ed Schonberg <schonberg@adacore.com>
2
3 * sem_util.ads, sem_unit.adb (Type_Without_Stream_Operation): determine
4 whether a type lacks user-defined Read or Write operations, or has a
5 component that lacks them.
6 * sem_attr.adb (Check_Stream_Attribute): if restriction
7 No_Default_Stream_Attributes is active, verify that all subcomponent
8 types of the target have user-defined stream operations, and report
9 error otherwise.
10 * exp_ch3.adb (Stream_Operqtion_OK): use Type_Without_Stream_Operation.
11 * exp_strm.adb: Build_Elementary_Input_Call,
12 Build_Elementary_Write_Call): remove checks for restriction
13 No_Default_Stream_Attributes, now checked in semantics.
14
152011-08-04 Vincent Celier <celier@adacore.com>
16
17 * prj-conf.ads, prj-conf.adb (Do_Autoconf): If there is no --RTS
18 switches on the command line, look for all valid --RTS switches in the
19 Builder switches and for each language use the first runtime name found
20 to invoke gprconfig.
21 (Get_Or_Create_Configuration_File): Warn if --RTS is specified on the
22 command line and there is no auto-configuration.
23 (Runtime_Name_Set_For): New function.
24
252011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
26
27 * exp_ch7.adb (Build_Object_Declarations): Do not generate the
28 elaborate initialization expression for variable Abort when processing
29 a package body or a declaration.
30 (Create_Finalizer): Propagate the package context when creating the
31 exception-related variables.
32 * exp_ch7.ads (Build_Object_Declarations): New formal parameter
33 For_Package along with usage comment.
34
19172ae9
AC
352011-08-04 Arnaud Charlet <charlet@adacore.com>
36
37 * gcc-interface/Makefile.in: Clean up targets.
38 Enable new package for atomic counters and copy-on-write implementation
39 of unbounded strings on x86 platforms.
40 * gcc-interface/Make-lang.in: Update dependencies.
41
0319cacc
AC
422011-08-04 Robert Dewar <dewar@adacore.com>
43
44 * exp_ch7.adb: Minor reformatting.
45
462011-08-04 Robert Dewar <dewar@adacore.com>
47
48 * exp_strm.adb: Minor reformatting.
49
502011-08-04 Vadim Godunko <godunko@adacore.com>
51
52 * s-atocou.adb: Replace by dummy version and use on targets where atomic
53 operations are not supported.
54 * s-atocou-builtin.adb: Renamed from s-atocou.adb.
55 * s-atocou-x86.adb: New file.
56 * Makefile.rtl: Add s-atocou.o file
57
582011-08-04 Arnaud Charlet <charlet@adacore.com>
59
60 * make.adb (Compile): Move setting of CodePeer_Mode to ...
61 (Compilation_Phase): ... here.
62 (Scan_Make_Arg): Now bind and link by default in CodePeer mode.
63
642011-08-04 Thomas Quinot <quinot@adacore.com>
65
66 * Make-generated.in: Fix minor typo in comment.
67
26e7e1a0
AC
682011-08-04 Thomas Quinot <quinot@adacore.com>
69
70 * gnatls.adb: Use Prj.Env.Initialize_Default_Project_Path to retrieve
71 the project path.
72
732011-08-04 Robert Dewar <dewar@adacore.com>
74
75 * a-coinho.adb: Minor reformatting.
76
772011-08-04 Robert Dewar <dewar@adacore.com>
78
79 * a-coinho.ads: Minor reformatting.
80
812011-08-04 Vadim Godunko <godunko@adacore.com>
82
83 * s-atocou.ads, s-atocou.adb: New files.
84 * a-strunb-shared.ads, a-strunb-shared.adb, a-stwiun-shared.ads,
85 a-stwiun-shared.adb, a-stzunb-shared.ads, a-stzunb-shared.adb: Remove
86 direct use of GCC's atomic builtins and replace them by use of new
87 atomic counter package.
88
892011-08-04 Ed Schonberg <schonberg@adacore.com>
90
91 * exp_strm.adb: better error message for No_Default_Stream_Attributes.
92
932011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
94
95 * a-tags.adb (Unregister_Tag): Replace the complex address arithmetic
96 with a call to Get_External_Tag.
97 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on
98 subprogram usage. Remove the guard against package declarations and
99 bodies since Build_Cleanup_Statements is no longer invoked in that
100 context.
101 (Build_Components): Initialize Tagged_Type_Stmts when the context
102 contains at least one library-level tagged type.
103 (Build_Finalizer): New local variables Has_Tagged_Types and
104 Tagged_Type_Stmts along with associated comments on usage. Update the
105 logic to include tagged type processing.
106 (Create_Finalizer): Insert all library-level tagged type unregistration
107 code before the jump block circuitry.
108 (Expand_N_Package_Body): Remove the call to Build_Cleanup_Statements.
109 (Expand_N_Package_Declaration): Remove the call to
110 Build_Cleanup_Statements.
111 (Process_Tagged_Type_Declaration): New routine. Generate a call to
112 unregister the external tag of a tagged type.
113 (Processing_Actions): Reimplemented to handle tagged types.
114 (Process_Declarations): Detect the declaration of a library-level
115 tagged type and carry out the appropriate actions.
116 (Unregister_Tagged_Types): Removed. The machinery has been directly
117 merged with Build_Finalizer.
118
7483c888
AC
1192011-08-04 Robert Dewar <dewar@adacore.com>
120
121 * bindgen.ads, gnatlink.adb, sem_ch4.adb, gnatbind.adb, put_alfa.adb,
122 gnatls.adb, exp_ch3.adb: Minor reformatting.
123
1242011-08-04 Marc Sango <sango@adacore.com>
125
126 * sem_attr.adb (Analyze_Attribute): Replace the message
127 "invisible attribute of}" of the spark restriction violation in
128 attribute reference by the simple message "invisible attribute of type".
129 Indeed, the node value Error_Msg_Node_1 used is in conflit with the
130 two insertion characters: '&' and '}'.
131
1322011-08-04 Vadim Godunko <godunko@adacore.com>
133
134 * impunit.adb (Non_Imp_File_Names_12): Add "a-coinho".
135 * a-coinho.ads, a-coinho.adb: New file.
136 * Makefile.rtl: Add Ada.Containers.Indefinite_Holders.
137
5207696c
AC
1382011-08-04 Nicolas Roche <roche@adacore.com>
139
140 * alfa_test.adb: Not all ali files are containing alfa information even
141 if compiled with -gnatd.F. So suppress warning about missing ALFA
142 information.
143
1442011-08-04 Yannick Moy <moy@adacore.com>
145
146 * lib-xref-alfa.adb (Add_ALFA_Scope): use non-empty unique name for
147 scope.
148 * put_alfa.adb: Check that scope name is not empty.
149
1502011-08-04 Ed Schonberg <schonberg@adacore.com>
151
152 * exp_ch3.adb (Stream_Operation_Ok): new predicate
153 Needs_Elementary_Stream_Operation, to determine whether user-defined
154 Read and Write attributes are available for the elementary components
155 of the given type. If only the predefined attributes are available,
156 then when restriction No_Default_Stream_Attributes is active the
157 predefined stream attributes for the composite type cannot be created.
158
1592011-08-04 Robert Dewar <dewar@adacore.com>
160
161 * bindgen.adb: Fix obsolete comments and names from Ada/C days.
162 Put routines in alpha order
163
2bd2d858
JR
1642011-08-04 Jose Ruiz <ruiz@adacore.com>
165
166 * gcc-interface/Makefile.in: Remove xenomai specific versions of system.
167 * gcc-interface/Make-lang.in: Update dependencies.
168
8fae6016
AC
1692011-08-04 Arnaud Charlet <charlet@adacore.com>
170
171 * gcc-interface/lang.opt: Add AdaWhy language, simimlar to Ada.
172 * gcc-interface/lang-specs.h: Add handling of AdaWhy specs (calls
173 gnat1why).
174
a54d0eb4
AC
1752011-08-04 Robert Dewar <dewar@adacore.com>
176
177 * sem_ch3.adb, make.adb, a-cohata.ads, sem_prag.adb, makeutl.adb,
178 lib-xref-alfa.adb: Minor reformatting.
179
1802011-08-04 Marc Sango <sango@adacore.com>
181
182 * sem_ch12.adb (Analyze_Generic_Package_Declaration,
183 Analyze_Generic_Subprogram_Declaration, Analyze_Package_Instantiation,
184 Analyze_Subprogram_Instantiation): Check absence of generic in SPARK
185 mode.
186
1872011-08-04 Tristan Gingold <gingold@adacore.com>
188
189 * bindgen.adb (Gen_Adainit_C): Remove.
190 (Gen_Adafinal_C): Ditto.
191 (Gen_Elab_Externals_C): Ditto.
192 (Gen_Elab_Calls_C): Ditto.
193 (Gen_Elab_Order_C): Ditto.
194 (Gen_Elab_Defs_C): Ditto.
195 (Gen_Finalize_Library_C): Ditto.
196 (Gen_Finalize_Library_Defs_C): Ditto.
197 (Gen_Main_C): Ditto.
198 (Gen_Output_File_C): Ditto.
199 (Gen_Restrictions_C): Ditto.
200 (Gen_Versions_C): Ditto.
201 (Write_Info_Ada_C): Ditto.
202 (Gen_Object_Files_Options): Call WBI instead of Write_Info_Ada_C
203 (Gen_Output_File): Do not force Ada_Bind_File anymore.
204 Always call Gen_Output_File_Ada.
205 * gnatlink.adb (Begin_Info): Now a constant.
206 (End_Info): Ditto.
207 (Ada_Bind_File): Remove
208 (Process_Args): Do not handle -A/-C. Remove not Ada_Bind_File cases.
209 * switch-b.adb (Scan_Binder_Switches): Do not handle -C.
210 * gnatbind.adb (Gnatbind): Remove not Ada_Bind_File cases.
211 * opt.ads (Ada_Bind_File): Remove.
212
2132011-08-04 Thomas Quinot <quinot@adacore.com>
214
215 * projects.texi: Document target-specific directory in default project
216 path for gnatmake.
217
2182011-08-04 Thomas Quinot <quinot@adacore.com>
219
220 * gnatls.adb, prj-env.adb: Add $prefix/share/gpr to default project
221 path in all cases .
222
24558db8
AC
2232011-08-04 Yannick Moy <moy@adacore.com>
224
225 * sem_ch3.adb, sem_ch5.adb, sem_util.adb, sem_ch4.adb, sem_ch8.adb,
226 opt.ads, lib-xref.ads: Code clean up.
227
2282011-08-04 Yannick Moy <moy@adacore.com>
229
230 * gnat_rm.texi: Update description of Test_Case
231 * gnat_ugn.texi: Typo.
232
2332011-08-04 Ed Falis <falis@adacore.com>
234
235 * adaint.c (__gnat_get_number_of_cpus): fix typo in last checkin.
236
2372011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
238
239 * exp_ch4.adb (Suitable_Element): Skip field _parent on .NET/JVM when
240 it is of type Root_Controlled. This action eliminates fields Prev and
241 Next from type equality.
242
2432011-08-04 Yannick Moy <moy@adacore.com>
244
245 * lib-xref-alfa.adb: Correct typo.
246
2472011-08-04 Matthew Heaney <heaney@adacore.com>
248
249 * a-cohata.ads (Hash_Table_Type): default-initialize the Nodes
250 component.
251
1f9939b5
AC
2522011-08-04 Yannick Moy <moy@adacore.com>
253
254 * sem_prag.adb (Check_Arg_Is_String_Literal): remove useless procedure
255 (Analyze_Pragma): allow static string expression for name of Test_Case,
256 instead of simply string literals.
257 * sem_util.adb (Get_Name_From_Test_Case_Pragma): adapt to static string
258 expressions.
259
2602011-08-04 Vincent Celier <celier@adacore.com>
261
262 * makeutl.adb (Complete_Mains.Find_File_Add_Extension): Use canonical
263 case suffixes to find truncated main sources.
264
2652011-08-04 Tristan Gingold <gingold@adacore.com>
266
267 * impunit.adb (Non_Imp_File_Names_95): Add g-tastus.
268 s-stusta.adb (Compute_All_Task): Use Put_Line instead of Put.
269 (Compute_Current_Task): Ditto.
270
2712011-08-04 Tristan Gingold <gingold@adacore.com>
272
273 * gnat_ugn.texi: Mention GNAT.Task_Stack_Usage.
274
2752011-08-04 Yannick Moy <moy@adacore.com>
276
277 * lib-xref-alfa.adb (Is_Global_Constant): new function that detects
278 library-level constant.
279 (Add_ALFA_Xrefs): ignore global constants in ALFA xref.
280 * sem_res.adb (Resolve_Actuals): do not add cross-reference to Formal
281 used as selector of parameter association, in ALFA mode.
282
15d8a51d
AC
2832011-08-04 Robert Dewar <dewar@adacore.com>
284
285 * exp_ch5.adb, exp_ch7.adb, exp_util.adb, bindgen.adb, sem_prag.adb,
286 s-tassta.adb, exp_ch4.adb, exp_disp.adb, s-stausa.adb: Minor
287 reformatting.
288
2892011-08-04 Arnaud Charlet <charlet@adacore.com>
290
291 * make.adb (Linking_Phase): Set source search path before calling
292 gnatlink in CodePeer mode.
293
f46faa08
AC
2942011-08-04 Javier Miranda <miranda@adacore.com>
295
296 * exp_ch7.adb (Expand_N_Package_Body, Expand_N_Package_Declaration):
297 Remove code which takes care of building TSDs.
298 * rtsfind.ads (RE_Check_Interface_Conversion): New entity.
299 * exp_ch4.adb (Apply_Accessibility_Check): Add support for generating
300 the accessibility check in VM targets.
301 * exp_disp.adb (Make_VM_TSD): Spec moved to exp_disp.ads
302 (Building_Static_DT): Now returns false for VM targets.
303 (Build_VM_TSDs): Removed.
304 (Expand_Interface_Conversion): Generate missing runtime check for
305 conversions to interface types whose target type is unknown at compile
306 time.
307 (Make_VM_TSD): Add missing code to disable the generation of calls to
308 Check_TSD if the tagged type is not defined at library level, or not
309 has a representation clause specifying its external tag, or -gnatdQ is
310 active.
311 * exp_disp.ads (Build_VM_TSDs): Removed.
312 (Make_VM_TSDs): Spec relocated from exp_disp.adb
313 * sem_disp.adb (Check_Dispatching_Operation): No code required to
314 register primitives in the dispatch tables in VM targets.
315 * exp_ch3.adb (Expand_N_Object_Declaration): Remove wrong expansion of
316 initialization of class-wide interface objects in VM targets.
317 (Expand_Freeze_Record_Type): For VM targets call Make_VM_TSD (instead
318 of Make_DT).
319
3202011-08-04 Jerome Lambourg <lambourg@adacore.com>
321
322 * gnatlink.adb (Gnatlink): Correct missleading error message displayed
323 when dotnet-ld cannot be found.
324
3252011-08-04 Arnaud Charlet <charlet@adacore.com>
326
327 * bindgen.adb: Simplify significantly generation of binder body file in
328 CodePeer mode.
329 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Prevent assert failure
330 when compiling binder generated file in CodePeer mode (xxx'Elab_Spec
331 not expanded).
332
2ba7e31e
AC
3332011-08-04 Yannick Moy <moy@adacore.com>
334
335 * sem_prag.adb, sem.ads: Code cleanup.
336
3372011-08-04 Tristan Gingold <gingold@adacore.com>
338
339 * s-tassta.adb (Task_Wrapper): Rewrite the dynamic stack usage part.
340 * s-stausa.adb, s-stausa.ads: Major rewrite. Now provides accurate
341 results if possible.
342 * s-stusta.adb (Print): Adjust after changes in s-stausa.
343 * gnat_ugn.texi: Update dynamic stack usage section.
344
3452011-08-04 Steve Baird <baird@adacore.com>
346
347 * bindgen.adb (Gen_CodePeer_Wrapper): new procedure.
348 Generate (if CodePeer_Mode is set) a "wrapper" subprogram which
349 contains only a call to the user-defined main subprogram.
350 (Gen_Main_Ada) - If CodePeer_Mode is set, then
351 call the "wrapper" subprogram instead of directly
352 calling the user-defined main subprogram.
353
3542011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
355
356 * exp_ch5.adb (Expand_N_Case_Statement): Check the statements of all
357 alternatives of a case statement for controlled objects. Rename local
358 variable A to Dead_Alt.
359 (Expand_N_If_Statement): Check the then and else statements of an if
360 statement for controlled objects. Check the then statements of all
361 elsif parts of an if statement for controlled objects.
362 (Expand_N_Loop_Statement): Check the statements of a loop for controlled
363 objects.
364 * exp_ch7.adb (Process_Transient_Objects): Rewrite the condition which
365 detects a loop associated with the expansion of an array object.
366 Augment the processing of the loop statements to account for a possible
367 wrap done by Process_Statements_For_Controlled_Objects.
368 * exp_ch9.adb (Expand_N_Asynchronous_Select): Check the triggering
369 statements and abortable part of an asynchronous select for controlled
370 objects.
371 (Expand_N_Conditional_Entry_Call): Check the else statements of a
372 conditional entry call for controlled objects.
373 (Expand_N_Selective_Accept): Check the alternatives of a selective
374 accept for controlled objects.
375 (Expand_N_Timed_Entry_Call): Check the entry call and delay
376 alternatives of a timed entry call for controlled objects.
377 * exp_ch11.adb (Expand_Exception_Handlers): Check the statements of an
378 exception handler for controlled objects.
379 * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
380 Add formal parameter Nested_Constructs along with its associated
381 comment.
382 (Requires_Cleanup_Actions (Node_Id)): Update all calls to
383 Requires_Cleanup_Actions.
384 (Process_Statements_For_Controlled_Objects): New routine.
385 * exp_util.ads (Process_Statements_For_Controlled_Objects): New
386 routine. Inspect a node which contains a non-handled sequence of
387 statements for controlled objects. If such an object is found, the
388 statements are wrapped in a block.
389
1bf773bb
AC
3902011-08-04 Bob Duff <duff@adacore.com>
391
392 * sem_type.adb (Covers): If T2 is a subtype of a class-wide type, we
393 need to compare with Class_Wide_Type (T2), in order to get at the
394 original class-wide type node.
395 * sem_type.ads (Covers): Improve the comment.
396 * einfo.ads (Class_Wide_Type): Improve the comment.
397 * exp_intr.adb (Expand_Unc_Deallocation): Remove unnecessary setting of
398 the type of the Deref.
399
4002011-08-04 Yannick Moy <moy@adacore.com>
401
402 * gnat_rm.texi: Document that Test_Case pragma can only appear on
403 separate declarations.
404 * sem_prag.adb (procedure Check_Identifier_Is_One_Of): new procedure to
405 check identifier of pragma argument.
406 (Chain_TC): check that no other test case associated to the same entity
407 share the same name.
408 (Check_Test_Case): disallow test case inside subprogram body
409 (Analyze_Pragma): correct call to check identifier and not argument
410 * sem_util.adb, sem_util.ads (Get_Name_From_Test_Case_Pragma): new
411 function gets name from test case pragma.
412
dac3bede
YM
4132011-08-04 Yannick Moy <moy@adacore.com>
414
415 * gnat_rm.texi: Document new pragma and aspect.
416 * aspects.adb, aspects.ads (Aspect_Id): new value Aspect_Test_Case
417 (No_Duplicates_Allowed): new constant array defining whether duplicates
418 aspects of each kind can appear on the same declaration.
419 * einfo.adb, einfo.ads (Spec_PPC_List): replace field with Contract
420 field, which points to a node holding the previous Spec_PPC_List.
421 * exp_ch9.adb, sem_ch6.adb, sem_prag.adb: Reach to Spec_PPC_List
422 through the indirection with Contract.
423 * exp_util.adb (Insert_Actions): raise Program_Error on N_Contract node
424 * par-prag.adb (Prag): do nothing on Test_Case pragma
425 * sem.adb (Analyze): abort on N_Contract, on which Analyze should not
426 be called directly.
427 * sem_attr.adb (Analyze_Attribute): allow attribute 'Result in
428 component Ensures of Test_Case.
429 * sem_ch12.adb, sem_ch6.adb, sem_ch9.adb
430 (Analyze_Generic_Subprogram_Declaration,
431 Analyze_Subprogram_Instantiation,
432 Analyze_Abstract_Subprogram_Declaration,
433 Analyze_Subprogram_Body_Helper,
434 Analyze_Subprogram_Specification, Analyze_Entry_Declaration):
435 insert contract in subprogram node at point of definition
436 * sem_ch13.adb
437 (Aspect_Loop): do not raise error on duplicate Test_Case aspect
438 (Analyze_Aspect_Specifications): analyze Test_Case aspect and create
439 corresponding pragma
440 (Check_Aspect_At_Freeze_Point): raise Program_Error on Test_Case aspect
441 * sem_ch3.adb (Analyze_Declarations): insert analysis of test-cases,
442 similar to the analysis of pre/post
443 (Derive_Subprogram): insert contract in subprogram node at point of
444 derivation.
445 * sem_prag.adb, sem_prag.ads
446 (Check_Arg_Is_String_Literal, Check_Identifier):
447 new checking procedures to be called in treatment of pragmas
448 (Check_Test_Case): new procedure to check that a Test_Case aspect or
449 pragma is well-formed. This does not check currently that 'Result is
450 used only in the Ensures component of a Test_Case.
451 (Analyze_Pragma): add case for Test_Case
452 (Analyze_TC_In_Decl_Part): pre-analyze the Requires and Ensures
453 components of a Test_Case.
454 (Preanalyze_TC_Args): new procedure to preanalyze the boolean
455 expressions in the 3rd (and 4th if present) arguments of a Test_Case
456 pragma, treated as spec expressions.
457 (Sig_Flags): add value -1 for Test_Case.
458 * sem_util.adb, sem_util.ads (Get_Ensures_From_Test_Case_Pragma,
459 Get_Requires_From_Test_Case_Pragma): getters for both expression
460 components of a Test_Case.
461 * sinfo.adb, sinfo.ads (N_Contract): new kind of node used as
462 indirection between an entry or [generic] subprogram entity and its
463 pre/post + test-cases.
464 (Spec_PPC_List, Spec_TC_List, Set_Spec_PPC_List, Set_Spec_TC_List):
465 get/set for fields of an N_Contract node.
466 * snames.ads-tmpl (Name_Test_Case, Name_Ensures, Name_Mode,
467 Name_Normal, Name_Requires, Name_Robustness, Pragma_Test_Case): new
468 names and pragma for Test_Case.
469 * sprint.adb (Sprint_Node): raise Program_Error on N_Contract node
470
6a2e5d0f
AC
4712011-08-04 Vincent Celier <celier@adacore.com>
472
473 * gnat_ugn.texi: Improve documentation of gnatmake switch
474 --source-info-file=.
475
4762011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
477
478 * exp_ch7.adb (Make_Final_Call): Add local variable Atyp (assertion
479 type). Initialize Atyp to the appropriate type which is later checked
480 for completion. Rewrite the assertion associated with private type
481 completion.
482
4832011-08-04 Ed Falis <falis@adacore.com>
484
485 * adaint.c: Add call to vxCpuConfiguredGet for VxWorks SMP to
486 initialize the number of CPUs.
487
4882011-08-04 Ed Schonberg <schonberg@adacore.com>
489
490 * sem_type.adb (Disambiguate): New subsidiary routine
491 In_Same_Declaration_List, to implement AI05-0020: a user-defined
492 equality on an anonymous access type whose designated type is private
493 does not lead to an ambiguity with the universal access equality
494 operator in the body or child units of the defining package. The same
495 is true for a multiplication operator on a private type completed with
496 a fixed-point-type.
497
4982011-08-04 Javier Miranda <miranda@adacore.com>
499
500 * opt.ads (Init_Or_Norm_Scalars_Config): Removed.
501 (Normalize_Scalars_Config): Removed.
502 * opt.adb
503 (Register_Opt_Config_Switches): Remove registering config values of
504 Init_Or_Norm_Scalars_Config and Normalize_Scalars_Config.
505 (Restore_Opt_Config_Switches): Remove code which restores the values of
506 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
507 Init_Or_Norm_Scalars.
508 (Save_Opt_Config_Switches): Remove code which saves values of
509 Init_Or_Norm_Scalars and Normalize_Scalars.
510 (Set_Opt_Config_Switches): Remove code which restores config values of
511 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
512 Init_Or_Norm_Scalars.
513
5142011-08-04 Yannick Moy <moy@adacore.com>
515
516 * frontend.adb (Frontend): remove previous patch to avoid full
517 qualification in ALFA mode.
518 * lib-xref-alfa.adb (Add_ALFA_Xrefs): use unique name for variables.
519 * sem_util.adb, sem_util.ads (Unique_Name): new function to define a
520 unique name for an entity, which could be used to identify the entity
521 across compilation units.
522
5232011-08-04 Thomas Quinot <quinot@adacore.com>
524
525 * prj-env.adb
526 (Initialize_Default_Project_Path): Add target specific directory
527 ($prefix/$target/lib/gnat) in front of project path in all cases
528 (making gnatmake's behaviour consistent with gprbuild).
529 * gnatcmd.adb, make.adb, prj-makr.adb, clean.adb:
530 Pass target name from Sdefault to project subsystem.
531 * gnatls.adb: Show new target specific default project directory.
532
5332011-08-04 Johannes Kanig <kanig@adacore.com>
534
535 * cstand.adb: Add Information to Identifier in Standard
536 (Identifer_For): Set Entity to the corresponding entity
537
483361a6
AC
5382011-08-04 Sergey Rybin <rybin@adacore.com>
539
540 * gnat_ugn.texi: Update doc on gnatcheck.
541
5422011-08-04 Yannick Moy <moy@adacore.com>
543
544 * lib-xref-alfa.adb (Add_ALFA_Xrefs): correct definition of ranges of
545 xrefs in a scope.
546
5472011-08-04 Yannick Moy <moy@adacore.com>
548
549 * exp_prag.adb (Expand_Pragma_Check): in ALFA mode, return without
550 performing expansion.
551 * sem_ch6.adb (Analyze_Subprogram_Body_Helper,
552 Analyze_Generic_Subprogram_Body): protect call to Process_PCCs so that
553 it is not called in ALFA mode.
554
ef5569c6
AC
5552011-08-04 Emmanuel Briot <briot@adacore.com>
556
557 * make.adb, osint.adb, osint.ads (Reset_Command_Line_Files): not used
558 after all, so removed.
559
5602011-08-04 Sergey Rybin <rybin@adacore.com>
561
562 * vms_data.ads: Add missing VMS qualifiers.
563
1ab4a286
EB
5642011-08-04 Emmanuel Briot <briot@adacore.com>
565
566 * make.adb, makeutl.adb, osint.adb, osint.ads (Check_Mains): rebuild
567 the list of files on the command line after processing it through
568 Complete_Mains.
569
7ae0d98c
AC
5702011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
571
572 * exp_ch7.adb (Build_Raise_Statement): Remove the specialized
573 processing for .NET/JVM. These targets can now benefit from
574 Raise_From_Controlled_Operation and they share the same processing with
575 standard targets.
576 (Establish_Transient_Scope): Remove the restriction for .NET/JVM.
577 These targets need transient scopes in order to properly finalize short
578 lived controlled objects.
579 (Make_Handler_For_Ctrl_Operation): Remove the specialized processing for
580 NET/JVM. These targets can now benefit from
581 Raise_From_Controlled_Operation and they share the same processing with
582 standard targets.
583
5842011-08-04 Geert Bosch <bosch@adacore.com>
585
586 * tracebak.c (STOP_FRAME): Stop at any next pointer outside the stack
587
5882011-08-04 Ed Schonberg <schonberg@adacore.com>
589
590 * exp_aggr.adb (Has_Visible_Private_Ancestor): subsidiary routine to
591 Expand_Record_Aggregate, to determine whether aggregate must be
592 expanded into assignments. This is the case if the ancestor part is
593 private, regarless of the setting of the flag Has_Private_Ancestor.
594
5952011-08-04 Ed Falis <falis@adacore.com>
596
597 * vxaddr2line.adb: Add support for e500v2 and for Linux hosts
598
5992011-08-04 Bob Duff <duff@adacore.com>
600
601 * sinfo.ads: Fix comment.
602
6032011-08-04 Steve Baird <baird@adacore.com>
604
605 * bindgen.adb (Get_Ada_Main_Name): If CodePeer_Mode is set, then
606 choose a package name in much the same way as is
607 done for JGNAT when VM_Target /= No_VM, except that
608 a slightly more distinctive prefix string is used.
609
6102011-08-04 Emmanuel Briot <briot@adacore.com>
611
612 * makeutl.adb (Complete_Mains): no longer accept unit names on the
613 gnatmake command line.
614 This behavior was never documented (and was supported only because of
615 an early bug in the code). This case might lead to ambiguous cases
616 (between unit names and truncated base names without suffixes).
617
87729e5a
AC
6182011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
619
620 * a-tags.ads, a-tags.adb (Unregister_Tag): New routine.
621 Remove the external tag of a tagged type from the internal hash table.
622 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on the
623 expanded usage of the routine. Strenghten the check for Is_Master. Add
624 processing for tagged types.
625 (Build_Finalizer): Create all the necessary lists used in finalizer
626 creation when the processed context is a package that may contain
627 tagged types.
628 (Expand_Cleanup_Actions): Rename the call to Has_Controlled_Objects to
629 Requires_Cleanup_Actions.
630 (Expand_N_Package_Body): Package bodies may need clean up code
631 depending on whether they contain tagged types.
632 (Expand_N_Package_Declaration): Package declarations may need clean up
633 code depending on whether they contain tagged types.
634 (Unregister_Tagged_Types): New routine. Search through a list of
635 declarations or statements, looking for non-abstract Ada tagged types.
636 For each such type, generate code to unregister the external tag.
637 * exp_util.adb (Has_Controlled_Objects (Node_Id)): Renamed to
638 Requires_Cleanup_Actions.
639 (Requires_Cleanup_Actions (List_Id, Boolean)): New routine. Search
640 through a list of declarations or statements looking for non-abstract
641 Ada tagged types or controlled objects.
642 * exp_util.ads (Has_Controlled_Objects (Node_Id)): Renamed to
643 Requires_Cleanup_Actions.
644 (Has_Controlled_Objects (List_Id, Boolean)): Removed.
645 * rtsfind.ads: Add entry RE_Unregister_Tag to tables RE_Id and
646 RE_Unit_Table.
647
6482011-08-04 Vincent Celier <celier@adacore.com>
649
650 * prj-env.adb (For_All_Source_Dirs.For_Project): Check if project Prj
651 has Ada sources, not project Project, because if the root project
652 Project has no sources of its own, all projects will be deemed without
653 sources.
654
6552011-08-04 Gary Dismukes <dismukes@adacore.com>
656
657 * bindgen.adb (Gen_Adainit_Ada): Move the generation of the declaration
658 of the No_Param_Proc acc-to-subp type used for initialization of
659 __gnat_finalize_library_objects so that it's declared at library level
660 rather than nested inside of the adainit routine.
661
6622011-08-04 Javier Miranda <miranda@adacore.com>
663
664 * exp_disp.adb (Make_DT): Generate code to check the external tag ONLY
665 if the tagged type has a representation clause which specifies its
666 external tag.
667
6682011-08-04 Ed Schonberg <schonberg@adacore.com>
669
670 * einfo.ads, einfo.adb (Has_Private_Ancestor): now a flag on types.
671 Remove previous procedure with that name.
672 * sem_ch3.adb (Build_Derived_Record_Type): set Has_Private_Ancestor
673 when appropriate.
674 * sem_aggr.adb (Resolve_Extension_Aggregate): if the ancestor part is a
675 subtype mark, the ancestor cannot have unknown discriminants.
676 (Resolve_Record_Aggregate): if the type has invisible components
677 because of a private ancestor, the aggregate is illegal.
678
6792011-08-04 Vincent Celier <celier@adacore.com>
680
681 * switch-m.adb (Normalize_Compiler_Switches): Recognize and take into
682 account switches -gnat2005, -gnat12 and -gnat2012.
683
6842011-08-04 Bob Duff <duff@adacore.com>
685
686 * s-tasdeb.ads: Minor comment fix.
687
6882011-08-04 Arnaud Charlet <charlet@adacore.com>
689
690 * gnatlink.adb (Gnatlink): Pass -gnat83/95/05/12 switch to gcc in
691 CodePeer mode.
692 * switch.ads, switch.adb (Is_Language_Switch): New function.
693
6942011-08-04 Vincent Celier <celier@adacore.com>
695
696 * switch-c.adb: Minor comment addition.
697
6982011-08-04 Vincent Celier <celier@adacore.com>
699
700 * vms_conv.adb (Process_Argument): Fail graciously when qualifier
701 ending with '=' is followed by a space (missing file name).
702
7032011-08-04 Pascal Obry <obry@adacore.com>
704
705 * g-regist.ads: Fix size of HKEY on x86_64-windows.
706
7072011-08-04 Ed Schonberg <schonberg@adacore.com>
708
709 * sem_ch12.adb (Analyze_Associations): New routine
710 Check_Overloaded_Formal_Subprogram to reject a formal package when
711 there is a named association or a box initialisation for an overloaded
712 formal subprogram of the corresponding generic.
713
7142011-08-04 Yannick Moy <moy@adacore.com>
715
716 * alfa.ads (ALFA_Xref_Record): add component for type of entity
717 * get_alfa.adb, put_alfa.adb: Read and write new component of
718 cross-reference.
719 * lib-xref-alfa.adb (Collect_ALFA): generate new component.
720
88f47280
AC
7212011-08-04 Pascal Obry <obry@adacore.com>
722
723 * urealp.adb: Minor reformatting.
724
7252011-08-04 Tristan Gingold <gingold@adacore.com>
726
727 * exp_ch7.adb (build_finalizer.process_declarations.processing_actions):
728 Handle the case when Cleanup_Protected_Object returns Empty.
729
7302011-08-04 Yannick Moy <moy@adacore.com>
731
732 * frontend.adb (Frontend): only qualify names in non-ALFA mode
733
7342011-08-04 Ed Schonberg <schonberg@adacore.com>
735
736 * sem_ch4.adb (Try_Class_Wide_Operation): if the context is a procedure
737 call, ignore functions.
738
05c53a69
GB
7392011-08-04 Geert Bosch <bosch@adacore.com>
740
741 * urealp.adb (Equivalent_Decimal_Exponent): Avoid the use of floating
742 point.
743
23cc1ace
EB
7442011-08-04 Emmanuel Briot <briot@adacore.com>
745
746 * makeutl.adb (Compute_Builder_Switches): no longer accept a unit name
747 as an index for Builder'Switches. This conforms to the documentation.
748 * make.adb (Insert_Project_Sources): avoid duplicate code
749
cef14201
AC
7502011-08-04 Emmanuel Briot <briot@adacore.com>
751
752 * makeutl.adb (Complete_Mains): if the user has passed a relative file
753 name on the command line (for instance "../dummy"), never assume it can
754 be a unit name.
755
7562011-08-04 Tristan Gingold <gingold@adacore.com>
757
758 * bindgen.adb: Remove code the reference or create the
759 Break_Start/__gnat_break_start procedure.
760 * s-stalib.adb (Break_Start): Removed.
761
e2fee30d
EB
7622011-08-04 Emmanuel Briot <briot@adacore.com>
763
764 * make.adb, makeutl.adb, makeutl.ads (Compute_Builder_Switches): now
765 shared with gprbuild.
766
2d395256
AC
7672011-08-04 Yannick Moy <moy@adacore.com>
768
769 * par-ch4.adb (P_Primary): preferentially issue an error message about
770 a missing parenthesis arount a conditional or case expression in Ada
771 2012 mode, if we detect that the alignment is not correct for a
772 statement.
773
7742011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
775
776 * exp_ch7.adb (Process_Declarations): Do not consider the result of a
777 tag-to-class-wide conversion as needing finalization actions.
778 * exp_util.adb (Has_Controlled_Objects): Do not consider the result of
779 a tag-to-class-wide conversion as needing finalization actions.
780 (Is_Finalizable_Transient): The result of a tag-to-class-wide
781 conversion does not need finalization actions.
782 (Is_Tag_To_CW_Conversion): New routine.
783 * exp_util.ads (Is_Tag_To_CW_Conversion): New routine. Determines
784 whether an object is the result of a tag-to-class-wide conversion.
785
7862011-08-04 Yannick Moy <moy@adacore.com>
787
788 * sem_ch13.adb (Analyze_Aspect_Specifications): correct order in which
789 the left-hand-side and right-hand-side of a conjunct are inserted when
790 translating a pre- or postcondition
791 * sem_ch6.adb: Correct typo in comment
792
7932011-08-04 Ed Schonberg <schonberg@adacore.com>
794
795 * gnat_rm.texi: Ravenscar does not prohibit dependence on
796 Unchecked_Conversion and Unchecked_Deallocation.
797
7982011-08-04 Thomas Quinot <quinot@adacore.com>
799
800 * make.adb: Minor reformatting.
801
767ab2fd
EB
8022011-08-04 Emmanuel Briot <briot@adacore.com>
803
804 * prj.adb, prj.ads, makeutl.adb (Complete_Mains): search for the
805 sources in the project and its imported projects, but not in the whole
806 tree.
807
8fb3f5df
AC
8082011-08-04 Emmanuel Briot <briot@adacore.com>
809
810 * make.adb: Remove debug trace.
811
8122011-08-04 Vincent Celier <celier@adacore.com>
813
814 * makeutl.adb (Do_Complete): Get the absolute path name of a relative
815 path in canonical form, to be able to compare path names on platforms
816 such as Windows or Darwin.
817
8182011-08-04 Thomas Quinot <quinot@adacore.com>
819
820 * par_sco.adb (Traverse_Declarations_Or_Statements.Set_Statement_Entry):
821 For a pragma (statement with C1 = 'P'), record the sloc of the pragma.
822 * scos.ads: Update documentation accordingly.
823 * put_scos.adb (Output_SCO_Line): Omit statement SCOs for disabled
824 pragmas.
825
9515740f
AC
8262011-08-04 Ed Schonberg <schonberg@adacore.com>
827
828 * sem_attr.adb (Bad_Attribute_For_Predicate): flag illegal use of
829 attribute only if prefix type is scalar.
830
8312011-08-04 Emmanuel Briot <briot@adacore.com>
832
833 * make.adb, makeutl.adb, prj-env.adb (Check_Mains): put back support
834 in gnatmake for specifying mains on the command line that do not belong
835 to the main project. These mains must currently all belong to the same
836 project, though.
837 (Ultimate_Extension_Of): removed, since duplicated
838 Ultimate_Extending_Project.
839
92966893
AC
8402011-08-04 Arnaud Charlet <charlet@adacore.com>
841
842 * make.adb (Do_Codepeer_Globalize_Step): Removed. Use CodePeer_Mode
843 instead.
844 (CodePeer_Mode_String): New.
845 (Linking_Phase, Binding_Phase): Call gnatlink with -P switch in
846 CodePeer mode.
847 (Scan_Make_Arg): Do not disable binding/linking phase in CodePeer mode.
848 * bindgen.adb (Gen_Elab_Calls_Ada): Ignore subprograms in CodePeer
849 mode, since no useful elaboration subprogram is needed by CodePeer.
850 * gnatlink.adb (Gnatlink): Add support for -P switch (CodePeer mode).
851 In this mode, compile binder file with -gnatC and do stop after this
852 step.
853
8542011-08-04 Vincent Celier <celier@adacore.com>
855
856 * exp_ch7.adb: Minor comment fix.
857
5969611f
RD
8582011-08-04 Robert Dewar <dewar@adacore.com>
859
860 * exp_ch7.adb, make.adb, sem_ch10.adb, bindgen.adb, sem_res.adb,
861 exp_ch4.adb, makeutl.adb: Minor reformatting.
862
6367dd30
AC
8632011-08-04 Emmanuel Briot <briot@adacore.com>
864
865 * make.adb, makeutl.adb, makeutl.ads (Make): major refactoring.
866 Create several new subprograms to move code out of Make. This makes the
867 code more readable, removes code duplication, and is a preparation work
868 for adding support for aggregate projects.
869
8702011-08-04 Tristan Gingold <gingold@adacore.com>
871
872 * s-po32gl.ads, s-po32gl.adb: New files.
873 * exp_ch7.ads (Get_Global_Pool_For_Access_Type): New function.
874 * exp_ch7.adb (Get_Global_Pool_For_Access_Type): New function.
875 (Build_Finalization_Collection): Use it.
876 * exp_ch4.adb (Complete_Controlled_Allocation): Ditto.
877 * rtsfind.ads: System_Pool_32_Global, Re_Global_Pool_32_Object: New
878 literals.
879 * gcc-interface/Makefile.in: Use s-po32gl.o on VMS.
880 * gcc-interface/Make-lang.in: Update dependencies.
881
cd8bfe35
EB
8822011-08-04 Emmanuel Briot <briot@adacore.com>
883
884 * makeutl.adb (Complete_Mains): add support for specs with no suffix on
885 the command line.
886
7db29ea7
EB
8872011-08-04 Emmanuel Briot <briot@adacore.com>
888
889 * make.adb, makeutl.adb (Complete_Mains): if a main specified on the
890 command line is not a file name, also check whether it could be a unit
891 name.
892
d9b056ea
AC
8932011-08-04 Eric Botcazou <ebotcazou@adacore.com>
894
895 * bindgen.adb (Gen_Finalize_Library_Ada): Factor out code to generate
896 the header of the finalization routine.
897 If the unit has no finalizer but is a body whose spec has one, then
898 generate the decrement of the elaboration entity only.
899 If the unit has a finalizer and is a spec, then do not generate the
900 decrement of the elaboration entity.
901 (Gen_Finalize_Library_C): Likewise.
902
9032011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
904
905 * exp_ch7.adb (Alignment_Of): New subsidiary routine.
906 (Bounds_Size_Expression): Removed.
907 (Double_Alignment_Of): New subsidiary routine.
908 (Make_Finalize_Address_Stmts): New local variable Index_Typ. Account
909 for a hole in the dope vector of unconstrained arrays due to different
910 index and element alignments.
911
9122011-08-04 Ed Schonberg <schonberg@adacore.com>
913
914 * sem_res.adb (Resolve_Allocator): diagnose task allocator that will
915 raise program_error because body has not been seen yet.
916
9172011-08-04 Ed Schonberg <schonberg@adacore.com>
918
919 * sem_ch10.adb (Analyze_With_Clause): Protect against child unit with
920 an unresolved name.
921
9222011-08-04 Vincent Celier <celier@adacore.com>
923
924 * makeutl.adb (Do_Complete): Check absolute paths in canonical forms
925
9262011-08-04 Yannick Moy <moy@adacore.com>
927
928 * alfa.adb, alfa.ads (Unique_Defining_Entity): move function from here
929 * sem_util.adb, sem_util.ads (Unique_Defining_Entity): ...to here
930
9312011-08-04 Thomas Quinot <quinot@adacore.com>
932
933 * sem_ch12.adb (Analyze_Package_Instantiation): Do not omit body for
934 instantiation in RCI.
935
9362011-08-04 Emmanuel Briot <briot@adacore.com>
937
938 * make.adb: Share more code with gprbuild
939
f5fc5b9d
AC
9402011-08-04 Emmanuel Briot <briot@adacore.com>
941
942 * projects.texi: Added documentation for the IDE'Gnat project file
943 attribute.
944
9452011-08-04 Nicolas Roche <roche@adacore.com>
946
947 * gnat_rm.texi: Minor editing.
948
9492011-08-04 Javier Miranda <miranda@adacore.com>
950
951 * bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
952 and the library case for VM targets.
953 (Gen_Adainit_Ada): Likewise.
954
9552011-08-04 Robert Dewar <dewar@adacore.com>
956
957 * g-altive.ads: Minor comment updates.
958 * prj-nmsc.adb: Minor reformatting.
959
9602011-08-04 Javier Miranda <miranda@adacore.com>
961
962 * opt.ads
963 (Normalize_Scalars_Config): Value of the configuration switch set by
964 pragma Normalize_Scalars when it appears in the gnat.adc file.
965 (Normalize_Scalars): New field for record Config_Switches_Type. Used
966 to save and restore settings of this pragma.
967 * opt.adb
968 (Register_Opt_Config_Switches, Save_Opt_Config_Switches,
969 Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.
970
9712011-08-04 Vincent Celier <celier@adacore.com>
972
973 * gnat_ugn.texi: Document gnatlink options -M and -M=mapfile
974
0c4683cf
AC
9752011-08-04 Arnaud Charlet <charlet@adacore.com>
976
977 * makeutl.adb: Minor reformatting.
978
9792011-08-04 Olivier Hainque <hainque@adacore.com>
980
981 * g-altive.ads: Update comments to reflect that only the soft
982 binding is available today.
983
2598ee6d
RD
9842011-08-04 Robert Dewar <dewar@adacore.com>
985
986 * bindgen.adb, einfo.adb, sem_ch12.adb, s-tasren.adb, sem_res.adb,
987 makeutl.adb, prj-nmsc.adb, opt.ads, prj-env.adb: Minor reformatting
988 * gcc-interface/Make-lang.in: Update dependencies.
989
c2db4b32
AC
9902011-08-04 Arnaud Charlet <charlet@adacore.com>
991
992 * prj-env.adb: Remove local debug traces.
993
9942011-08-04 Yannick Moy <moy@adacore.com>
995
996 * checks.adb (Apply_Float_Conversion_Check): correct a typo where Lo_OK
997 was used instead of Hi_OK, which could cause a read of an uninitialized
998 value later on. Detected while working on the new warning.
999 * exp_ch9.adb (Expand_N_Entry_Declaration): remove useless assignment
1000 to local variable.
1001 * sem_ch5.adb (Analyze_Assignment): set the last assignment component
1002 in more cases, in order to detect more unreferenced values.
1003 * sem_util.adb, sem_util.ads (Get_Enclosing_Object): return enclosing
1004 object for expression, if any.
1005
10062011-08-04 Eric Botcazou <ebotcazou@adacore.com>
1007
1008 * exp_intr.adb (Expand_Binary_Operator_Call): Look at the RM size of
1009 the operand types instead of the Esize.
1010
10112011-08-04 Steve Baird <baird@adacore.com>
1012
1013 * switch-b.adb (Scan_Binder_Switches): Add -P binder switch, used to
1014 enable CodePeer_Mode.
1015 * bindusg.adb (Display): Add help message describing -P binder switch.
1016 * gnat_ugn.texi: Document -P binder switch.
1017 * bindgen.adb (Gen_Main_Ada): If CodePeer_Mode is set, then call the
1018 user-defined main program directly.
1019 (Gen_Output_File_Ada): If CodePeer_Mode is set, generate a with of the
1020 user-defined main program in the context clause of the package body.
1021
ad05f2e9
AC
10222011-08-04 Yannick Moy <moy@adacore.com>
1023
1024 * alfa.adb, alfa.ads (Get_Entity_For_Decl): remove function, partial
1025 duplicate of Defining_Entity
1026 (Get_Unique_Entity_For_Decl): rename function into
1027 Unique_Defining_Entity
1028 * einfo.adb, einfo.ads (Is_In_ALFA, Body_Is_In_ALFA): remove flags
1029 (Formal_Proof_On): remove synthesized flag
1030 * cstand.adb, sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
1031 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb, sem_util.adb,
1032 sem_util.ads, stand.ads: Remove treatment associated to entities in ALFA
1033 * sem_prag.adb (Analyze_Pragma): remove special treatment for pragma
1034 Annotate (Formal_Proof)
1035
10362011-08-04 Emmanuel Briot <briot@adacore.com>
1037
1038 * prj-env.adb (Create_Config_Pragmas_File): fix handling of multi-unit
1039 source files with non-standard naming schemes, in imported projects
1040
756ef2a0
AC
10412011-08-04 Emmanuel Briot <briot@adacore.com>
1042
1043 * makeutl.adb (Complete_Mains): when a multi-unit source file is
1044 specified on the gprbuild command line, we need to compile all units
1045 within that file, not just the first one we find
1046 Fix error message for mains that are not found.
1047
10482011-08-04 Thomas Quinot <quinot@adacore.com>
1049
1050 * sem_ch6.adb: Update comment.
1051 * sem_ch12.adb: Minor reformatting.
1052
10532011-08-04 Bob Duff <duff@adacore.com>
1054
1055 * s-tasren.adb (Task_Do_Or_Queue): Previous code was reading
1056 Acceptor.Terminate_Alternative without locking Acceptor, which causes a
1057 race condition whose symptom is to fail to lock Parent. That, in turn,
1058 causes Parent.Awake_Count to be accessed without locking Parent, which
1059 causes another race condition whose symptom is that Parent.Awake_Count
1060 can be off by 1 (either too high or too low). The solution is to lock
1061 Parent unconditionally, and then lock Acceptor, before reading
1062 Acceptor.Terminate_Alternative.
1063
4fdebd93
AC
10642011-08-04 Arnaud Charlet <charlet@adacore.com>
1065
1066 * debug.adb: Update comment.
1067
10682011-08-04 Robert Dewar <dewar@adacore.com>
1069
1070 * par_sco.adb, exp_util.adb, make.adb, a-tags.adb, sem_prag.adb,
1071 sem_util.adb, sem_attr.adb, exp_ch4.adb, g-comlin.adb, g-comlin.ads,
1072 exp_ch6.adb: Minor reformatting.
1073
10742011-08-04 Gary Dismukes <dismukes@adacore.com>
1075
1076 * gnat_ugn.texi: Add sentence about the case of compile-time-detected
1077 checks for -gnateE.
1078
10792011-08-04 Ed Schonberg <schonberg@adacore.com>
1080
1081 * gnat_rm.texi: update Ravenscar desription to reflect Ada2012 RM.
1082
10832011-08-04 Thomas Quinot <quinot@adacore.com>
1084
1085 * sinfo.ads: Minor reformatting.
1086
10872011-08-04 Emmanuel Briot <briot@adacore.com>
1088
1089 * makeutl.adb, makeutl.ads, prj-nmsc.adb (Complete_Mains): report error
1090 even if there is no location.
1091
6aaa0587
ES
10922011-08-04 Ed Schonberg <schonberg@adacore.com>
1093
1094 * sem_res.adb, sem_ch4.adb: move check for restriction
1095 No_Task_Hierarchy to resolve_allocator.
1096
35a1c212
AC
10972011-08-04 Thomas Quinot <quinot@adacore.com>
1098
1099 * sinfo.adb, sinfo.ads, sem_prag.adb, sem_ch12.adb (Pragma_Enabled):
1100 This flag of N_Pragma nodes is not used, remove it as well as all of
1101 the associated circuitry.
1102
11032011-08-04 Javier Miranda <miranda@adacore.com>
1104
1105 * exp_disp.adb (Make_DT): Switch -gnatdQ disables the generation of the
1106 runtime check on duplicated externa tags
1107 * debug.adb Document switch -gnatdQ.
1108
11092011-08-04 Gary Dismukes <dismukes@adacore.com>
1110
1111 * a-fihema.ads: Minor typo fix.
1112
11132011-08-04 Yannick Moy <moy@adacore.com>
1114
1115 * sem_ch10.adb: Minor comment update.
1116
11172011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1118
1119 * einfo.adb: Update the node field usage to reflect the renaming of
1120 Return_Flag to Return_ Flag_Or_Transient_Decl.
1121 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl.
1122 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl.
1123 (Write_Field15_Name): Change Return_Flag to
1124 Return_Flag_Or_Transient_Decl.
1125 * einfo.ads: Rename node field Return_Flag to
1126 Return_Flag_Or_Transient_Decl. Update the associated comment and all
1127 occurrences in entities.
1128 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl. Update
1129 associated Inline pragma.
1130 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl. Update
1131 associated Inline pragma.
1132 * exp_ch4.ads, exp_ch4.adb (Expand_N_Expression_With_Actions): New
1133 routine.
1134 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Update the calls to
1135 Return_Flag and Set_Return_Flag.
1136 * exp_ch7.adb (Process_Declarations): Add code to recognize hook
1137 objects generated for controlled transients declared inside an
1138 Exception_With_Actions. Update the calls to Return_Flag.
1139 (Process_Object_Declaration): Add code to add a null guard for hook
1140 objects generated for controlled transients declared inside an
1141 Exception_With_Actions. Update related comment.
1142 * exp_util.adb (Has_Controlled_Objects): Add code to recognize hook
1143 objects generated for controlled transients declared inside an
1144 Exception_With_Actions. Update the calls to Return_Flag.
1145 * expander.adb (Expand): Add new case for N_Expression_With_Actions.
1146
11472011-08-04 Ed Schonberg <schonberg@adacore.com>
1148
1149 * sem_util.adb:(Wrong_Type): Improve error message on a one-element
1150 positional aggregate.
1151
11522011-08-04 Vincent Celier <celier@adacore.com>
1153
1154 * par_sco.adb (Process_Decisions.Output_Header): Check and record pragma
1155 SLOC only for pragmas.
1156
11572011-08-04 Emmanuel Briot <briot@adacore.com>
1158
1159 * projects.texi: Minor typo fix.
1160
11612011-08-04 Emmanuel Briot <briot@adacore.com>
1162
1163 * prj-nmsc.adb (Check_File): Minor change to traces, to help debugging
1164 on case-sensitive file systems.
1165
c2873f74
TQ
11662011-08-04 Thomas Quinot <quinot@adacore.com>
1167
1168 * put_scos.adb (Put_SCOs): Do not emit decision SCO for an X decision
1169 nested in a disabled pragma.
1170 * scos.ads, scos.adb, par_sco.ads, par_sco.adb: Record sloc of
1171 enclosing pragma, if any, for X decisions.
1172
11732011-08-04 Thomas Quinot <quinot@adacore.com>
1174
1175 * sem_prag.adb: Minor reformatting.
1176
46414266
VC
11772011-08-04 Vincent Celier <celier@adacore.com>
1178
1179 * a-tags.adb (Check_TSD): Avoid concatenation of strings, as it is not
1180 allowed in no run time mode.
1181
11822011-08-04 Vincent Celier <celier@adacore.com>
1183
1184 * make.adb (Check): When -gnatc is used, check for the source file
1185 inside the ALI file with a canonical case file name.
1186
afab164f
EB
11872011-08-04 Emmanuel Briot <briot@adacore.com>
1188
1189 * g-comlin.adb, g-comlin.ads (Add_Switch): Put back support for
1190 overriding the separator.
1191
fe0ec02f
AC
11922011-08-04 Robert Dewar <dewar@adacore.com>
1193
1194 * sem_aggr.adb, par_sco.adb, sem_type.adb, exp_util.adb, exp_ch9.adb,
1195 prj-nmsc.adb, sem_ch13.adb, exp_strm.adb: Minor reformatting.
1196
11972011-08-04 Robert Dewar <dewar@adacore.com>
1198
1199 * gnat_rm.texi: Minor documentation fix for pragma Annotate.
1200
12012011-08-04 Yannick Moy <moy@adacore.com>
1202
1203 * sem_attr.adb (Analyze_Attribute): add check during pre-analysis that
1204 'Result only appears in postcondition of function.
1205
12062011-08-04 Thomas Quinot <quinot@adacore.com>
1207
1208 * a-tags.adb (Check_TSD): When raising PROGRAM_ERROR for a duplicated
1209 external tag, include the value of the external tag in the exception
1210 message.
1211
0180fd26
AC
12122011-08-04 Yannick Moy <moy@adacore.com>
1213
1214 * sem_attr.adb (Result): modify error message for misplaced 'Result
1215
12162011-08-04 Sergey Rybin <rybin@adacore.com>
1217
1218 * gnat_rm.texi (pragma Annotate): Fix syntax description to make it
1219 clear that the second argument must be an identifier.
1220
12212011-08-04 Thomas Quinot <quinot@adacore.com>
1222
1223 * exp_ch9.adb (Build_Barrier_Function): When compiling with
1224 -fpreserve-control-flow, insert an IF statement on the barrier
1225 condition to ensure that a conditional branch instruction is generated.
1226
12272011-08-04 Emmanuel Briot <briot@adacore.com>
1228
1229 * prj-part.adb, prj.adb, prj.ads, prj-tree.ads
1230 (Processing_Flags.Ignore_Missing_With): new flag.
1231
12322011-08-04 Emmanuel Briot <briot@adacore.com>
1233
1234 * prj-nmsc.adb (Find_Sources, Path_Name_Of): Fix handling of
1235 Source_List_File on case-insensitive systems where the file is actually
1236 on a case-sensitive file system (NFS,...).
1237
12382011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1239
1240 * sem_ch6.adb (Analyze_Function_Return): In a rare case where a
1241 function return contains a controlled [extension] aggregate and the
1242 return statement is not part of a handled sequence of statements, wrap
1243 the return in a block. This ensures that all controlled temporaries
1244 generated during aggregate resolution will be picked up by the
1245 finalization machinery.
1246
12472011-08-04 Ed Schonberg <schonberg@adacore.com>
1248
1249 * sem_aggr.adb (Resolve_Aggregate): If aggregate has box-initialized
1250 components, freeze type before resolution, to ensure that default
1251 initializations are present for all components.
1252 * sem_res.adb (Resolve_Actuals): the designated object of an
1253 accces-to-constant type is a legal actual in a call to an
1254 initialization procedure.
1255
12562011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1257
1258 * exp_util.adb (Extract_Renamed_Object): Add N_Type_Conversion and
1259 N_Unchecked_Type_Conversion to the possible containers of a renamed
1260 transient variable.
1261
78efd712
AC
12622011-08-04 Yannick Moy <moy@adacore.com>
1263
1264 * par-ch13.adb (Aspect_Specifications_Present): recognize
1265 "with Identifier'Class =>" as an aspect, so that a meaningful warning
1266 is issued in Strict mode.
1267 * par.adb: Fix typos in comments.
1268
12692011-08-04 Yannick Moy <moy@adacore.com>
1270
1271 * sem_attr.adb (Result): modify error message to take into account Post
1272 aspect when compiling Ada 2012 (or newer) code.
1273
12742011-08-04 Nicolas Roche <roche@adacore.com>
1275
1276 * env.c (__gnat_clearenv): Avoid use of dynamic size array in order to
1277 remove need for GCC exceptions.
1278
12792011-08-04 Vincent Celier <celier@adacore.com>
1280
1281 * makeutl.adb (Do_Complete): Call Debug_Output with the name of the
1282 project, not the source file name.
1283 * prj.adb (Find_Sources.Look_For_Sources): If the source has been
1284 excluded, continue looking. This excluded source will only be returned
1285 if there is no other source with the same base name that is not locally
1286 removed.
1287
12882011-08-04 Ed Schonberg <schonberg@adacore.com>
1289
1290 * sem_res.adb (Resolve_Intrinsic_Operator): if the result type is
1291 private and one of the operands is a real literal, use a qualified
1292 expression rather than a conversion which is not meaningful to the
1293 back-end.
1294
0170a691
AC
12952011-08-04 Yannick Moy <moy@adacore.com>
1296
1297 * sem_ch13.adb (Aspect_Loop): when an aspect X and its classwise
1298 corresponding aspect X'Class are allowed, proceed with analysis of the
1299 aspect instead of skipping it.
1300
13012011-08-04 Tristan Gingold <gingold@adacore.com>
1302
1303 * s-flocon.adb, s-flocon.ads: Add a body for s-flocon.ads
1304 This will allow to have an Ada implementation for the subprogram.
1305
deb4f5ba
ES
13062011-08-04 Ed Schonberg <schonberg@adacore.com>
1307
1308 * sem_ch3.adb (Analyze_Full_Type_Declaration): If the declaration is a
1309 completion and aspects are present, apply them to the entity for the
1310 type which is currently the partial view, but which is the one that
1311 will be frozen.
1312 * sem_ch13.adb (Analyze_Aspect_Specifications): if the predicate
1313 applies to a partial view, indicate that the full view has predicates
1314 and delayed aspects.
1315 (Replace_Type_Reference): Handle properly predicates that apply to the
1316 full view of a private completion.
1317
fc893455
AC
13182011-08-04 Eric Botcazou <ebotcazou@adacore.com>
1319
1320 * layout.adb (Layout_Type): For composite types, do not set Esize.
1321 * freeze.adb (Set_Small_Size): Remove test on alignment and do not
1322 set Esize.
1323 (Size_Known): Look at the RM size of components instead of the Esize.
1324 (Freeze_Record_Type): Look at the RM size instead of the Esize to
1325 issue warning and activate Implicit_Packing.
1326 (Freeze_Entity): Likewise. Do not issue a warning for alias/atomic
1327 if the Esize is not known.
1328 * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Size>: Set Esize
1329 for elementary types only.
1330 (Analyze_Record_Representation_Clause): Look at the RM size instead
1331 of the Esize to issue errors.
1332 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set Esize if it
1333 is not known.
1334 <E_Record_Type>: Look at the RM size instead of the Esize. Remove
1335 obsolete block.
1336 Look at the RM size instead of the Esize for types if the latter is
1337 not known.
1338 (gnat_to_gnu_field): Use Known_Esize instead of Known_Static_Esize.
1339
13402011-08-04 Ed Schonberg <schonberg@adacore.com>
1341
1342 * sem_type.adb: proper handling of equality not involving anonymous
1343 access types.
1344
b37d5bc6
AC
13452011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1346
1347 * exp_ch7.adb (Create_Finalizer): Remove local variables Spec_Nod and
1348 Vis_Decls. When creating a library-level finalizer for a package spec,
1349 both the declaration and body of the finalizer are inserted either in
1350 the visible or private declarations of the package spec.
1351
13522011-08-04 Javier Miranda <miranda@adacore.com>
1353
1354 * sem_ch3.adb (Derive_Subprograms): Complete assertion to request the
1355 use of the full-view of a type when invoking Is_Ancestor.
1356 * sem_type.adb (Is_Ancestor): For consistency, when the traversal of
1357 the full-view of private parents is requested, then use also the
1358 full-view of the parent of the first derivation.
1359
7ab4d95a
AC
13602011-08-04 Tristan Gingold <gingold@adacore.com>
1361
1362 * s-taprop-vxworks.adb (Enter_Task): Use System.Float_Control.Reset
1363 instead of the locally imported procedure.
1364 * s-taprop-mingw.adb (Enter_Task): Ditto.
1365 * s-valrea.adb (Scan_Real): Ditto.
1366 * s-imgrea.adb (Set_Image_Real): Ditto.
1367 * s-flocon.ads: Make the package pure.
1368
13692011-08-04 Thomas Quinot <quinot@adacore.com>
1370
1371 * sinfo.ads, sinfo.adb (Debug_Statement, Set_Debug_Statement): Remove.
1372 * tbuild.ads, tbuild.adb (Make_Pragma): Adjust accordingly.
1373 * sinfo-cn.ads, sinfo-cn.adb (Change_Name_To_Procedure_Call_Statement):
1374 New subprogram, moved here from...
1375 * par.adb, par-ch5.adb (P_Statement_Name): ... here.
1376 * par-prag.adb (Par.Prag, case Pragma_Debug): Do not perform any
1377 rewriting of the last argument into a procedure call statement here...
1378 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): ...do it there
1379 instead.
1380
13812011-08-04 Thomas Quinot <quinot@adacore.com>
1382
1383 * par_sco.adb: Minor reformatting.
1384
51c400f5
AC
13852011-08-04 Robert Dewar <dewar@adacore.com>
1386
1387 * erroutc.adb: Minor reformatting.
1388
13892011-08-04 Thomas Quinot <quinot@adacore.com>
1390
1391 * par_sco.adb: Comment update.
1392
13932011-08-04 Tristan Gingold <gingold@adacore.com>
1394
1395 * s-flocon.ads: New file.
1396 * g-flocon.ads: Now a renaming of s-flocon.
1397 * Makefile.rtl: Add s-flocon.o
1398
6a49f110
AC
13992011-08-04 Javier Miranda <miranda@adacore.com>
1400
1401 * exp_strm.adb (Build_Array_Input_Function): if the array type is
1402 constrained, do not attempt to build a subtype of it.
1403
14042011-08-04 Yannick Moy <moy@adacore.com>
1405
1406 * errout.ads Change comments: remove 'R'M as an example where quotes
1407 are needed; add ALFA as another case where quotes are not needed
1408 * erroutc.adb (Set_Msg_Insertion_Reserved_Word): add ALFA as another
1409 case where quotes are not needed.
1410 * sem_ch11.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
1411 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_prag.adb, sem_res.adb:
1412 Remove all occurrences of 'A'L'F'A
1413
14142011-08-04 Ed Schonberg <schonberg@adacore.com>
1415
1416 * sem_ch13.adb: check legality of invariant pragma.
1417
a4640a39
AC
14182011-08-04 Eric Botcazou <ebotcazou@adacore.com>
1419
1420 * bindgen.adb: Add comments.
1421
14222011-08-04 Yannick Moy <moy@adacore.com>
1423
1424 * einfo.adb, einfo.ads: Free Flag254 and make Formal_Proof_On a
1425 synthesized flag.
1426 * sem_prag.adb (Analyze_Pragma): record the pragma Annotate
1427 (Formal_Proof, On/Off) in the Rep_Item list of the current subprogram.
1428
14292011-08-04 Robert Dewar <dewar@adacore.com>
1430
1431 * exp_ch7.adb, exp_ch6.adb, sem_ch3.adb, layout.adb, sem_ch5.adb,
1432 osint-c.ads, sem_util.ads, gnat1drv.adb, targparm.ads, sem_ch6.adb,
1433 sem_ch13.adb, s-pooloc.adb: Minor reformatting.
1434
39ade2f9
AC
14352011-08-04 Thomas Quinot <quinot@adacore.com>
1436
1437 * s-pooloc.ads, s-pooglo.ads: Minor reformatting
1438
14392011-08-04 Thomas Quinot <quinot@adacore.com>
1440
1441 PR ada/47880
1442 * s-pooloc.adb (Deallocate): Fix the case of deallocating the only
1443 allocated object.
1444
14452011-08-04 Robert Dewar <dewar@adacore.com>
1446
1447 * einfo.ads, exp_ch4.adb: Minor reformatting.
1448
14492011-08-04 Jerome Lambourg <lambourg@adacore.com>
1450
1451 * back_end.ads (Gen_Or_Update_Object_File): Add more comments.
1452
7efc3f2d
AC
14532011-08-04 Ed Schonberg <schonberg@adacore.com>
1454
1455 * exp_ch4.adb (Expand_Composite_Equality): code cleanup: use component
1456 type in all cases to compute list of primitive operations, because full
1457 view may be an itype that is not attached to the list of declarations.
1458
14592011-08-04 Eric Botcazou <ebotcazou@adacore.com>
1460
1461 * bindgen.adb (Gen_Adafinal_Ada): Generate an early return if the
1462 library has already been finalized.
1463 (Gen_Adafinal_C): Likewise.
1464 (Gen_Adainit_Ada): Generate an early return if the library has
1465 already been elaborated.
1466 (Gen_Adainit_C): Likewise.
1467 (Gen_Output_File_Ada): Generate an elaboration flag.
1468 (Gen_Output_File_C): Likewise.
1469
f65df609
HK
14702011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1471
1472 * exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
1473 Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
1474 built in the first place.
1475 (Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
1476 for CodePeer because Finalize_Address was not built to begin with.
1477 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.
1478
a0fb8fe8
AC
14792011-08-04 Pascal Obry <obry@adacore.com>
1480
1481 * adaint.c (__gnat_tmp_name): Use current process id to create temp
1482 filenames, this ensures unicity of filenames across processes.
1483
14842011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1485
1486 * bindgen.adb (Gen_Finalize_Library_Ada): Rename generated routine
1487 Raise_Controlled to Raise_From_Controlled_Operation. Update the
1488 signature of Raise_From_Controlled_Operation by adding flag From_Abort.
1489 Add False as the actual to From_Abort in the generated call to
1490 Raise_From_Controlled_Operation.
1491
14922011-08-04 Jerome Lambourg <lambourg@adacore.com>
1493
1494 * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move to declaration
1495 so that the ali file name can be retrieved from outside of this package.
1496 * back_end.ads, back_end.adb (Gen_Or_Update_Object_File): New method
1497 doing nothing in the general case, but used to update the object file
1498 timestamp if directly generated by the backend.
1499 * gnat1drv.adb (Gnat1drv): Make sure the object file's timestamp is set
1500 to a later time than the ali file one.
1501
9534ab17
AC
15022011-08-04 Yannick Moy <moy@adacore.com>
1503
1504 * einfo.adb, einfo.ads (Formal_Proof_On): new flag set on subprogram
1505 entities whose body contains an Annotate pragma which forces formal
1506 proof on this body.
1507 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
1508 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Adapt call to
1509 Mark_Non_ALFA_Subprogram to pass in a message and node.
1510 * sem_prag.adb (Analyze_Pragma): add treatment of pragma Annotate
1511 (Forma_Proof, On) which sets the flag Formal_Proof_On in the
1512 surrounding subprogram.
1513 * sem_util.adb, sem_util.ads (Mark_Non_ALFA_Subprogram,
1514 Mark_Non_ALFA_Subprogram_Unconditional): if the subprogram being marked
1515 as not in ALFA is annotated with Formal_Proof being On, then an error
1516 is issued based on the additional parameters for message and node.
1517 * snames.ads-tmpl (Name_Formal_Proof): new name for annotation.
1518 * gcc-interface/Make-lang.in: Update dependencies.
1519
15202011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1521
1522 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not generate
1523 Finalize_Address when CodePeer is enabled.
1524
15252011-08-04 Pascal Obry <obry@adacore.com>
1526
1527 * adaint.c (__gnat_tmp_name): Use _tempnam() instead of tempnam() as
1528 the latter returns a pointer to a static buffer which is deallocated
1529 at the end of the routine.
1530
5c0e97dd
AC
15312011-08-04 Yannick Moy <moy@adacore.com>
1532
1533 * sem_ch3.adb (Array_Type_Declaration): move test for type in ALFA
1534 after index creation; mark unconstrained base array type generated as
1535 being in/not in ALFA as well
1536 (Make_Index): mark subtype created as in/not in ALFA
1537 * sem_ch5.adb (Analyze_Iteration_Scheme): mark entity for iterating
1538 over a loop as in/not in ALFA, depending on its type and form of loop
1539 iteration.
1540
15412011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1542
1543 * exp_ch7.adb (Build_Object_Declarations): Initialize flag Abort
1544 directly to False on .NET and JVM.
1545
7a93c64b
YM
15462011-08-04 Yannick Moy <moy@adacore.com>
1547
1548 * sem_ch3.adb (Constrain_Enumeration, Constrain_Integer): remove
1549 constraint that subtype must come from source code to be in ALFA, so
1550 that anonymous subtypes can be in ALFA too.
1551
e9a1ed9b
YM
15522011-08-04 Yannick Moy <moy@adacore.com>
1553
1554 * sem_ch3.adb (Analyze_Object_Declaration): remove obsolete addition of
1555 reference for ALFA mode.
1556 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Compilation_Unit): make
1557 procedure public so as to use it from formal verification back-end.
1558
8e293fbd
AC
15592011-08-04 Jerome Lambourg <lambourg@adacore.com>
1560
1561 * g-comlin.adb (For_Each_Simple_Switch.Is_In_Config): Remove the
1562 invalid checks of the Parameter, making Remove_Switch not working
1563 correctly.
1564
15652011-08-04 Arnaud Charlet <charlet@adacore.com>
1566
1567 * targparm.ads: Update header: no run-time exception is needed on this
1568 file.
1569
15702011-08-04 Vincent Celier <celier@adacore.com>
1571
1572 * a-fihema.adb: Use System.IO instead of GNAT.IO
1573
15742011-08-04 Thomas Quinot <quinot@adacore.com>
1575
1576 * sem_ch3.adb (Access_Definition): Anonymous access to subprogram types
1577 are forbidden in Compiler_Unit mode.
1578
cfae2bed
AC
15792011-08-04 Robert Dewar <dewar@adacore.com>
1580
1581 * sem_util.adb: Minor reformatting.
1582
15832011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1584
1585 * bindgen.adb (Gen_Finalize_Library_Ada): Update the import string for
1586 library-level finalizers.
1587 (Gen_Finalize_Library_C): Update the import string for library-level
1588 finalizers.
1589 (Gen_Finalize_Library_Defs_C): Update the definition name of a
1590 library-level finalizer.
1591 * exp_ch7.adb: Remove with and use clauses for Stringt.
1592 (Create_Finalizer): Remove local variables Conv_Name, Prag_Decl,
1593 Spec_Decl. Add local variable Body_Id. The names of library-level
1594 finalizers are now manually fully qualified and are no longer external.
1595 A single name is now capable of servicing .NET, JVM and non-VM targets.
1596 Pragma Export is no longer required to provide visibility for the name.
1597 (Create_Finalizer_String): Removed.
1598 (New_Finalizer_Name): New routine which mimics New_..._Name.
1599
01f0729a
AC
16002011-08-04 Eric Botcazou <ebotcazou@adacore.com>
1601
1602 * sem_elab.adb (Check_Internal_Call_Continue): Change the type of the
1603 elaboration counter to Standard_Short_Integer.
1604 * sem_util.adb (Build_Elaboration_Entity): Likewise.
1605 * bindgen.adb (Gen_Elab_Externals_Ada): Adjust to above change.
1606 (Gen_Elab_Externals_C): Likewise.
1607
16082011-08-04 Ed Falis <falis@adacore.com>
1609
1610 * system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
1611 system-vxworks-ppc.ads, system-vxworks-m68k.ads,
1612 system-vxworks-mips.ads, system-vxworks-x86.ads
1613 (Always_Compatible_Rep): set to False for all VxWorks targets.
1614
2c1b72d7
AC
16152011-08-04 Robert Dewar <dewar@adacore.com>
1616
1617 * par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads,
1618 makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb,
1619 exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb,
1620 exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb,
1621 exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb,
1622 sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb,
1623 sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb:
1624 Minor reformatting and code reorganization.
1625
16262011-08-04 Emmanuel Briot <briot@adacore.com>
1627
1628 * projects.texi: Added doc for aggregate projects.
1629
824e9320
AC
16302011-08-04 Emmanuel Briot <briot@adacore.com>
1631
1632 * prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items):
1633 Add support for overriding the Project_Path in aggregate projects.
1634
16352011-08-04 Robert Dewar <dewar@adacore.com>
1636
1637 * a-cofove.ads: Minor reformatting.
1638
16392011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1640
1641 * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment
1642 on the generated code.
1643 (Build_Finalize_Statements): Update the comment on the generated code.
1644 (Build_Initialize_Statements): Update the comment on the generated code.
1645 (Build_Object_Declarations): Add local variable Result. The object
1646 declarations are now built in sequence.
1647 * rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and
1648 RE_Unit_Table.
1649
16502011-08-04 Robert Dewar <dewar@adacore.com>
1651
1652 * checks.adb, alfa.adb, alfa.ads: Minor reformatting.
1653
16542011-08-04 Eric Botcazou <ebotcazou@adacore.com>
1655
1656 * einfo.ads (Elaboration_Entity): Document new definition and use.
1657 (Elaboration_Entity_Required): Adjust to above change.
1658 * exp_attr.adb (Expand_N_Attribute_Reference): Likewise.
1659 * exp_ch12.adb: And with and use for Snames.
1660 (Expand_N_Generic_Instantiation): Test 'Elaborated attribute.
1661 * exp_util.adb (Set_Elaboration_Flag): Likewise.
1662 * sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete.
1663 <Check_Unit_Name>: Deal with N_Expanded_Name.
1664 <Attribute_Elaborated>: Extend to all unit names.
1665 * sem_elab.adb: And with and use for Uintp.
1666 (Check_Internal_Call_Continue): Adjust to Elaboration_Entity change.
1667 * sem_util.ads (Build_Elaboration_Entity): Adjust comment.
1668 * sem_util.adb (Build_Elaboration_Entity): Change type to Integer.
1669 * bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken
1670 from Gen_Adainit_Ada.
1671 (Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C.
1672 (Gen_Adafinal_Ada): Remove redundant test. In the non-main program
1673 case, do not call System.Standard_Library.Adafinal; instead call
1674 finalize_library if needed.
1675 (Gen_Adafinal_C): Likewise.
1676 (Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the
1677 non-main program case.
1678 (Gen_Adainit_C): Generate a couple of external declarations here.
1679 In the main program case, set SSL.Finalize_Library_Objects.
1680 (Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change.
1681 (Gen_Elab_Calls_C): Likewise.
1682 (Gen_Finalize_Library_Ada): Likewise. Skip SAL interface units.
1683 (Gen_Finalize_Library_C): Likewise. Generate a full function.
1684 (Gen_Main_C): Put back call to Ada_Final and don't finalize library
1685 objects here.
1686 (Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final
1687 if -a is specified. Call Gen_Elab_Externals_Ada. Move around call to
1688 Gen_Adafinal_Ada.
1689 (Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final
1690 if -a is specified. Call Gen_Elab_Externals_C. Remove useless couple
1691