]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
[multiple changes]
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
1bf773bb
AC
12011-08-04 Bob Duff <duff@adacore.com>
2
3 * sem_type.adb (Covers): If T2 is a subtype of a class-wide type, we
4 need to compare with Class_Wide_Type (T2), in order to get at the
5 original class-wide type node.
6 * sem_type.ads (Covers): Improve the comment.
7 * einfo.ads (Class_Wide_Type): Improve the comment.
8 * exp_intr.adb (Expand_Unc_Deallocation): Remove unnecessary setting of
9 the type of the Deref.
10
112011-08-04 Yannick Moy <moy@adacore.com>
12
13 * gnat_rm.texi: Document that Test_Case pragma can only appear on
14 separate declarations.
15 * sem_prag.adb (procedure Check_Identifier_Is_One_Of): new procedure to
16 check identifier of pragma argument.
17 (Chain_TC): check that no other test case associated to the same entity
18 share the same name.
19 (Check_Test_Case): disallow test case inside subprogram body
20 (Analyze_Pragma): correct call to check identifier and not argument
21 * sem_util.adb, sem_util.ads (Get_Name_From_Test_Case_Pragma): new
22 function gets name from test case pragma.
23
dac3bede
YM
242011-08-04 Yannick Moy <moy@adacore.com>
25
26 * gnat_rm.texi: Document new pragma and aspect.
27 * aspects.adb, aspects.ads (Aspect_Id): new value Aspect_Test_Case
28 (No_Duplicates_Allowed): new constant array defining whether duplicates
29 aspects of each kind can appear on the same declaration.
30 * einfo.adb, einfo.ads (Spec_PPC_List): replace field with Contract
31 field, which points to a node holding the previous Spec_PPC_List.
32 * exp_ch9.adb, sem_ch6.adb, sem_prag.adb: Reach to Spec_PPC_List
33 through the indirection with Contract.
34 * exp_util.adb (Insert_Actions): raise Program_Error on N_Contract node
35 * par-prag.adb (Prag): do nothing on Test_Case pragma
36 * sem.adb (Analyze): abort on N_Contract, on which Analyze should not
37 be called directly.
38 * sem_attr.adb (Analyze_Attribute): allow attribute 'Result in
39 component Ensures of Test_Case.
40 * sem_ch12.adb, sem_ch6.adb, sem_ch9.adb
41 (Analyze_Generic_Subprogram_Declaration,
42 Analyze_Subprogram_Instantiation,
43 Analyze_Abstract_Subprogram_Declaration,
44 Analyze_Subprogram_Body_Helper,
45 Analyze_Subprogram_Specification, Analyze_Entry_Declaration):
46 insert contract in subprogram node at point of definition
47 * sem_ch13.adb
48 (Aspect_Loop): do not raise error on duplicate Test_Case aspect
49 (Analyze_Aspect_Specifications): analyze Test_Case aspect and create
50 corresponding pragma
51 (Check_Aspect_At_Freeze_Point): raise Program_Error on Test_Case aspect
52 * sem_ch3.adb (Analyze_Declarations): insert analysis of test-cases,
53 similar to the analysis of pre/post
54 (Derive_Subprogram): insert contract in subprogram node at point of
55 derivation.
56 * sem_prag.adb, sem_prag.ads
57 (Check_Arg_Is_String_Literal, Check_Identifier):
58 new checking procedures to be called in treatment of pragmas
59 (Check_Test_Case): new procedure to check that a Test_Case aspect or
60 pragma is well-formed. This does not check currently that 'Result is
61 used only in the Ensures component of a Test_Case.
62 (Analyze_Pragma): add case for Test_Case
63 (Analyze_TC_In_Decl_Part): pre-analyze the Requires and Ensures
64 components of a Test_Case.
65 (Preanalyze_TC_Args): new procedure to preanalyze the boolean
66 expressions in the 3rd (and 4th if present) arguments of a Test_Case
67 pragma, treated as spec expressions.
68 (Sig_Flags): add value -1 for Test_Case.
69 * sem_util.adb, sem_util.ads (Get_Ensures_From_Test_Case_Pragma,
70 Get_Requires_From_Test_Case_Pragma): getters for both expression
71 components of a Test_Case.
72 * sinfo.adb, sinfo.ads (N_Contract): new kind of node used as
73 indirection between an entry or [generic] subprogram entity and its
74 pre/post + test-cases.
75 (Spec_PPC_List, Spec_TC_List, Set_Spec_PPC_List, Set_Spec_TC_List):
76 get/set for fields of an N_Contract node.
77 * snames.ads-tmpl (Name_Test_Case, Name_Ensures, Name_Mode,
78 Name_Normal, Name_Requires, Name_Robustness, Pragma_Test_Case): new
79 names and pragma for Test_Case.
80 * sprint.adb (Sprint_Node): raise Program_Error on N_Contract node
81
6a2e5d0f
AC
822011-08-04 Vincent Celier <celier@adacore.com>
83
84 * gnat_ugn.texi: Improve documentation of gnatmake switch
85 --source-info-file=.
86
872011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
88
89 * exp_ch7.adb (Make_Final_Call): Add local variable Atyp (assertion
90 type). Initialize Atyp to the appropriate type which is later checked
91 for completion. Rewrite the assertion associated with private type
92 completion.
93
942011-08-04 Ed Falis <falis@adacore.com>
95
96 * adaint.c: Add call to vxCpuConfiguredGet for VxWorks SMP to
97 initialize the number of CPUs.
98
992011-08-04 Ed Schonberg <schonberg@adacore.com>
100
101 * sem_type.adb (Disambiguate): New subsidiary routine
102 In_Same_Declaration_List, to implement AI05-0020: a user-defined
103 equality on an anonymous access type whose designated type is private
104 does not lead to an ambiguity with the universal access equality
105 operator in the body or child units of the defining package. The same
106 is true for a multiplication operator on a private type completed with
107 a fixed-point-type.
108
1092011-08-04 Javier Miranda <miranda@adacore.com>
110
111 * opt.ads (Init_Or_Norm_Scalars_Config): Removed.
112 (Normalize_Scalars_Config): Removed.
113 * opt.adb
114 (Register_Opt_Config_Switches): Remove registering config values of
115 Init_Or_Norm_Scalars_Config and Normalize_Scalars_Config.
116 (Restore_Opt_Config_Switches): Remove code which restores the values of
117 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
118 Init_Or_Norm_Scalars.
119 (Save_Opt_Config_Switches): Remove code which saves values of
120 Init_Or_Norm_Scalars and Normalize_Scalars.
121 (Set_Opt_Config_Switches): Remove code which restores config values of
122 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
123 Init_Or_Norm_Scalars.
124
1252011-08-04 Yannick Moy <moy@adacore.com>
126
127 * frontend.adb (Frontend): remove previous patch to avoid full
128 qualification in ALFA mode.
129 * lib-xref-alfa.adb (Add_ALFA_Xrefs): use unique name for variables.
130 * sem_util.adb, sem_util.ads (Unique_Name): new function to define a
131 unique name for an entity, which could be used to identify the entity
132 across compilation units.
133
1342011-08-04 Thomas Quinot <quinot@adacore.com>
135
136 * prj-env.adb
137 (Initialize_Default_Project_Path): Add target specific directory
138 ($prefix/$target/lib/gnat) in front of project path in all cases
139 (making gnatmake's behaviour consistent with gprbuild).
140 * gnatcmd.adb, make.adb, prj-makr.adb, clean.adb:
141 Pass target name from Sdefault to project subsystem.
142 * gnatls.adb: Show new target specific default project directory.
143
1442011-08-04 Johannes Kanig <kanig@adacore.com>
145
146 * cstand.adb: Add Information to Identifier in Standard
147 (Identifer_For): Set Entity to the corresponding entity
148
483361a6
AC
1492011-08-04 Sergey Rybin <rybin@adacore.com>
150
151 * gnat_ugn.texi: Update doc on gnatcheck.
152
1532011-08-04 Yannick Moy <moy@adacore.com>
154
155 * lib-xref-alfa.adb (Add_ALFA_Xrefs): correct definition of ranges of
156 xrefs in a scope.
157
1582011-08-04 Yannick Moy <moy@adacore.com>
159
160 * exp_prag.adb (Expand_Pragma_Check): in ALFA mode, return without
161 performing expansion.
162 * sem_ch6.adb (Analyze_Subprogram_Body_Helper,
163 Analyze_Generic_Subprogram_Body): protect call to Process_PCCs so that
164 it is not called in ALFA mode.
165
ef5569c6
AC
1662011-08-04 Emmanuel Briot <briot@adacore.com>
167
168 * make.adb, osint.adb, osint.ads (Reset_Command_Line_Files): not used
169 after all, so removed.
170
1712011-08-04 Sergey Rybin <rybin@adacore.com>
172
173 * vms_data.ads: Add missing VMS qualifiers.
174
1ab4a286
EB
1752011-08-04 Emmanuel Briot <briot@adacore.com>
176
177 * make.adb, makeutl.adb, osint.adb, osint.ads (Check_Mains): rebuild
178 the list of files on the command line after processing it through
179 Complete_Mains.
180
7ae0d98c
AC
1812011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
182
183 * exp_ch7.adb (Build_Raise_Statement): Remove the specialized
184 processing for .NET/JVM. These targets can now benefit from
185 Raise_From_Controlled_Operation and they share the same processing with
186 standard targets.
187 (Establish_Transient_Scope): Remove the restriction for .NET/JVM.
188 These targets need transient scopes in order to properly finalize short
189 lived controlled objects.
190 (Make_Handler_For_Ctrl_Operation): Remove the specialized processing for
191 NET/JVM. These targets can now benefit from
192 Raise_From_Controlled_Operation and they share the same processing with
193 standard targets.
194
1952011-08-04 Geert Bosch <bosch@adacore.com>
196
197 * tracebak.c (STOP_FRAME): Stop at any next pointer outside the stack
198
1992011-08-04 Ed Schonberg <schonberg@adacore.com>
200
201 * exp_aggr.adb (Has_Visible_Private_Ancestor): subsidiary routine to
202 Expand_Record_Aggregate, to determine whether aggregate must be
203 expanded into assignments. This is the case if the ancestor part is
204 private, regarless of the setting of the flag Has_Private_Ancestor.
205
2062011-08-04 Ed Falis <falis@adacore.com>
207
208 * vxaddr2line.adb: Add support for e500v2 and for Linux hosts
209
2102011-08-04 Bob Duff <duff@adacore.com>
211
212 * sinfo.ads: Fix comment.
213
2142011-08-04 Steve Baird <baird@adacore.com>
215
216 * bindgen.adb (Get_Ada_Main_Name): If CodePeer_Mode is set, then
217 choose a package name in much the same way as is
218 done for JGNAT when VM_Target /= No_VM, except that
219 a slightly more distinctive prefix string is used.
220
2212011-08-04 Emmanuel Briot <briot@adacore.com>
222
223 * makeutl.adb (Complete_Mains): no longer accept unit names on the
224 gnatmake command line.
225 This behavior was never documented (and was supported only because of
226 an early bug in the code). This case might lead to ambiguous cases
227 (between unit names and truncated base names without suffixes).
228
87729e5a
AC
2292011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
230
231 * a-tags.ads, a-tags.adb (Unregister_Tag): New routine.
232 Remove the external tag of a tagged type from the internal hash table.
233 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on the
234 expanded usage of the routine. Strenghten the check for Is_Master. Add
235 processing for tagged types.
236 (Build_Finalizer): Create all the necessary lists used in finalizer
237 creation when the processed context is a package that may contain
238 tagged types.
239 (Expand_Cleanup_Actions): Rename the call to Has_Controlled_Objects to
240 Requires_Cleanup_Actions.
241 (Expand_N_Package_Body): Package bodies may need clean up code
242 depending on whether they contain tagged types.
243 (Expand_N_Package_Declaration): Package declarations may need clean up
244 code depending on whether they contain tagged types.
245 (Unregister_Tagged_Types): New routine. Search through a list of
246 declarations or statements, looking for non-abstract Ada tagged types.
247 For each such type, generate code to unregister the external tag.
248 * exp_util.adb (Has_Controlled_Objects (Node_Id)): Renamed to
249 Requires_Cleanup_Actions.
250 (Requires_Cleanup_Actions (List_Id, Boolean)): New routine. Search
251 through a list of declarations or statements looking for non-abstract
252 Ada tagged types or controlled objects.
253 * exp_util.ads (Has_Controlled_Objects (Node_Id)): Renamed to
254 Requires_Cleanup_Actions.
255 (Has_Controlled_Objects (List_Id, Boolean)): Removed.
256 * rtsfind.ads: Add entry RE_Unregister_Tag to tables RE_Id and
257 RE_Unit_Table.
258
2592011-08-04 Vincent Celier <celier@adacore.com>
260
261 * prj-env.adb (For_All_Source_Dirs.For_Project): Check if project Prj
262 has Ada sources, not project Project, because if the root project
263 Project has no sources of its own, all projects will be deemed without
264 sources.
265
2662011-08-04 Gary Dismukes <dismukes@adacore.com>
267
268 * bindgen.adb (Gen_Adainit_Ada): Move the generation of the declaration
269 of the No_Param_Proc acc-to-subp type used for initialization of
270 __gnat_finalize_library_objects so that it's declared at library level
271 rather than nested inside of the adainit routine.
272
2732011-08-04 Javier Miranda <miranda@adacore.com>
274
275 * exp_disp.adb (Make_DT): Generate code to check the external tag ONLY
276 if the tagged type has a representation clause which specifies its
277 external tag.
278
2792011-08-04 Ed Schonberg <schonberg@adacore.com>
280
281 * einfo.ads, einfo.adb (Has_Private_Ancestor): now a flag on types.
282 Remove previous procedure with that name.
283 * sem_ch3.adb (Build_Derived_Record_Type): set Has_Private_Ancestor
284 when appropriate.
285 * sem_aggr.adb (Resolve_Extension_Aggregate): if the ancestor part is a
286 subtype mark, the ancestor cannot have unknown discriminants.
287 (Resolve_Record_Aggregate): if the type has invisible components
288 because of a private ancestor, the aggregate is illegal.
289
2902011-08-04 Vincent Celier <celier@adacore.com>
291
292 * switch-m.adb (Normalize_Compiler_Switches): Recognize and take into
293 account switches -gnat2005, -gnat12 and -gnat2012.
294
2952011-08-04 Bob Duff <duff@adacore.com>
296
297 * s-tasdeb.ads: Minor comment fix.
298
2992011-08-04 Arnaud Charlet <charlet@adacore.com>
300
301 * gnatlink.adb (Gnatlink): Pass -gnat83/95/05/12 switch to gcc in
302 CodePeer mode.
303 * switch.ads, switch.adb (Is_Language_Switch): New function.
304
3052011-08-04 Vincent Celier <celier@adacore.com>
306
307 * switch-c.adb: Minor comment addition.
308
3092011-08-04 Vincent Celier <celier@adacore.com>
310
311 * vms_conv.adb (Process_Argument): Fail graciously when qualifier
312 ending with '=' is followed by a space (missing file name).
313
3142011-08-04 Pascal Obry <obry@adacore.com>
315
316 * g-regist.ads: Fix size of HKEY on x86_64-windows.
317
3182011-08-04 Ed Schonberg <schonberg@adacore.com>
319
320 * sem_ch12.adb (Analyze_Associations): New routine
321 Check_Overloaded_Formal_Subprogram to reject a formal package when
322 there is a named association or a box initialisation for an overloaded
323 formal subprogram of the corresponding generic.
324
3252011-08-04 Yannick Moy <moy@adacore.com>
326
327 * alfa.ads (ALFA_Xref_Record): add component for type of entity
328 * get_alfa.adb, put_alfa.adb: Read and write new component of
329 cross-reference.
330 * lib-xref-alfa.adb (Collect_ALFA): generate new component.
331
88f47280
AC
3322011-08-04 Pascal Obry <obry@adacore.com>
333
334 * urealp.adb: Minor reformatting.
335
3362011-08-04 Tristan Gingold <gingold@adacore.com>
337
338 * exp_ch7.adb (build_finalizer.process_declarations.processing_actions):
339 Handle the case when Cleanup_Protected_Object returns Empty.
340
3412011-08-04 Yannick Moy <moy@adacore.com>
342
343 * frontend.adb (Frontend): only qualify names in non-ALFA mode
344
3452011-08-04 Ed Schonberg <schonberg@adacore.com>
346
347 * sem_ch4.adb (Try_Class_Wide_Operation): if the context is a procedure
348 call, ignore functions.
349
05c53a69
GB
3502011-08-04 Geert Bosch <bosch@adacore.com>
351
352 * urealp.adb (Equivalent_Decimal_Exponent): Avoid the use of floating
353 point.
354
23cc1ace
EB
3552011-08-04 Emmanuel Briot <briot@adacore.com>
356
357 * makeutl.adb (Compute_Builder_Switches): no longer accept a unit name
358 as an index for Builder'Switches. This conforms to the documentation.
359 * make.adb (Insert_Project_Sources): avoid duplicate code
360
cef14201
AC
3612011-08-04 Emmanuel Briot <briot@adacore.com>
362
363 * makeutl.adb (Complete_Mains): if the user has passed a relative file
364 name on the command line (for instance "../dummy"), never assume it can
365 be a unit name.
366
3672011-08-04 Tristan Gingold <gingold@adacore.com>
368
369 * bindgen.adb: Remove code the reference or create the
370 Break_Start/__gnat_break_start procedure.
371 * s-stalib.adb (Break_Start): Removed.
372
e2fee30d
EB
3732011-08-04 Emmanuel Briot <briot@adacore.com>
374
375 * make.adb, makeutl.adb, makeutl.ads (Compute_Builder_Switches): now
376 shared with gprbuild.
377
2d395256
AC
3782011-08-04 Yannick Moy <moy@adacore.com>
379
380 * par-ch4.adb (P_Primary): preferentially issue an error message about
381 a missing parenthesis arount a conditional or case expression in Ada
382 2012 mode, if we detect that the alignment is not correct for a
383 statement.
384
3852011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
386
387 * exp_ch7.adb (Process_Declarations): Do not consider the result of a
388 tag-to-class-wide conversion as needing finalization actions.
389 * exp_util.adb (Has_Controlled_Objects): Do not consider the result of
390 a tag-to-class-wide conversion as needing finalization actions.
391 (Is_Finalizable_Transient): The result of a tag-to-class-wide
392 conversion does not need finalization actions.
393 (Is_Tag_To_CW_Conversion): New routine.
394 * exp_util.ads (Is_Tag_To_CW_Conversion): New routine. Determines
395 whether an object is the result of a tag-to-class-wide conversion.
396
3972011-08-04 Yannick Moy <moy@adacore.com>
398
399 * sem_ch13.adb (Analyze_Aspect_Specifications): correct order in which
400 the left-hand-side and right-hand-side of a conjunct are inserted when
401 translating a pre- or postcondition
402 * sem_ch6.adb: Correct typo in comment
403
4042011-08-04 Ed Schonberg <schonberg@adacore.com>
405
406 * gnat_rm.texi: Ravenscar does not prohibit dependence on
407 Unchecked_Conversion and Unchecked_Deallocation.
408
4092011-08-04 Thomas Quinot <quinot@adacore.com>
410
411 * make.adb: Minor reformatting.
412
767ab2fd
EB
4132011-08-04 Emmanuel Briot <briot@adacore.com>
414
415 * prj.adb, prj.ads, makeutl.adb (Complete_Mains): search for the
416 sources in the project and its imported projects, but not in the whole
417 tree.
418
8fb3f5df
AC
4192011-08-04 Emmanuel Briot <briot@adacore.com>
420
421 * make.adb: Remove debug trace.
422
4232011-08-04 Vincent Celier <celier@adacore.com>
424
425 * makeutl.adb (Do_Complete): Get the absolute path name of a relative
426 path in canonical form, to be able to compare path names on platforms
427 such as Windows or Darwin.
428
4292011-08-04 Thomas Quinot <quinot@adacore.com>
430
431 * par_sco.adb (Traverse_Declarations_Or_Statements.Set_Statement_Entry):
432 For a pragma (statement with C1 = 'P'), record the sloc of the pragma.
433 * scos.ads: Update documentation accordingly.
434 * put_scos.adb (Output_SCO_Line): Omit statement SCOs for disabled
435 pragmas.
436
9515740f
AC
4372011-08-04 Ed Schonberg <schonberg@adacore.com>
438
439 * sem_attr.adb (Bad_Attribute_For_Predicate): flag illegal use of
440 attribute only if prefix type is scalar.
441
4422011-08-04 Emmanuel Briot <briot@adacore.com>
443
444 * make.adb, makeutl.adb, prj-env.adb (Check_Mains): put back support
445 in gnatmake for specifying mains on the command line that do not belong
446 to the main project. These mains must currently all belong to the same
447 project, though.
448 (Ultimate_Extension_Of): removed, since duplicated
449 Ultimate_Extending_Project.
450
92966893
AC
4512011-08-04 Arnaud Charlet <charlet@adacore.com>
452
453 * make.adb (Do_Codepeer_Globalize_Step): Removed. Use CodePeer_Mode
454 instead.
455 (CodePeer_Mode_String): New.
456 (Linking_Phase, Binding_Phase): Call gnatlink with -P switch in
457 CodePeer mode.
458 (Scan_Make_Arg): Do not disable binding/linking phase in CodePeer mode.
459 * bindgen.adb (Gen_Elab_Calls_Ada): Ignore subprograms in CodePeer
460 mode, since no useful elaboration subprogram is needed by CodePeer.
461 * gnatlink.adb (Gnatlink): Add support for -P switch (CodePeer mode).
462 In this mode, compile binder file with -gnatC and do stop after this
463 step.
464
4652011-08-04 Vincent Celier <celier@adacore.com>
466
467 * exp_ch7.adb: Minor comment fix.
468
5969611f
RD
4692011-08-04 Robert Dewar <dewar@adacore.com>
470
471 * exp_ch7.adb, make.adb, sem_ch10.adb, bindgen.adb, sem_res.adb,
472 exp_ch4.adb, makeutl.adb: Minor reformatting.
473
6367dd30
AC
4742011-08-04 Emmanuel Briot <briot@adacore.com>
475
476 * make.adb, makeutl.adb, makeutl.ads (Make): major refactoring.
477 Create several new subprograms to move code out of Make. This makes the
478 code more readable, removes code duplication, and is a preparation work
479 for adding support for aggregate projects.
480
4812011-08-04 Tristan Gingold <gingold@adacore.com>
482
483 * s-po32gl.ads, s-po32gl.adb: New files.
484 * exp_ch7.ads (Get_Global_Pool_For_Access_Type): New function.
485 * exp_ch7.adb (Get_Global_Pool_For_Access_Type): New function.
486 (Build_Finalization_Collection): Use it.
487 * exp_ch4.adb (Complete_Controlled_Allocation): Ditto.
488 * rtsfind.ads: System_Pool_32_Global, Re_Global_Pool_32_Object: New
489 literals.
490 * gcc-interface/Makefile.in: Use s-po32gl.o on VMS.
491 * gcc-interface/Make-lang.in: Update dependencies.
492
cd8bfe35
EB
4932011-08-04 Emmanuel Briot <briot@adacore.com>
494
495 * makeutl.adb (Complete_Mains): add support for specs with no suffix on
496 the command line.
497
7db29ea7
EB
4982011-08-04 Emmanuel Briot <briot@adacore.com>
499
500 * make.adb, makeutl.adb (Complete_Mains): if a main specified on the
501 command line is not a file name, also check whether it could be a unit
502 name.
503
d9b056ea
AC
5042011-08-04 Eric Botcazou <ebotcazou@adacore.com>
505
506 * bindgen.adb (Gen_Finalize_Library_Ada): Factor out code to generate
507 the header of the finalization routine.
508 If the unit has no finalizer but is a body whose spec has one, then
509 generate the decrement of the elaboration entity only.
510 If the unit has a finalizer and is a spec, then do not generate the
511 decrement of the elaboration entity.
512 (Gen_Finalize_Library_C): Likewise.
513
5142011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
515
516 * exp_ch7.adb (Alignment_Of): New subsidiary routine.
517 (Bounds_Size_Expression): Removed.
518 (Double_Alignment_Of): New subsidiary routine.
519 (Make_Finalize_Address_Stmts): New local variable Index_Typ. Account
520 for a hole in the dope vector of unconstrained arrays due to different
521 index and element alignments.
522
5232011-08-04 Ed Schonberg <schonberg@adacore.com>
524
525 * sem_res.adb (Resolve_Allocator): diagnose task allocator that will
526 raise program_error because body has not been seen yet.
527
5282011-08-04 Ed Schonberg <schonberg@adacore.com>
529
530 * sem_ch10.adb (Analyze_With_Clause): Protect against child unit with
531 an unresolved name.
532
5332011-08-04 Vincent Celier <celier@adacore.com>
534
535 * makeutl.adb (Do_Complete): Check absolute paths in canonical forms
536
5372011-08-04 Yannick Moy <moy@adacore.com>
538
539 * alfa.adb, alfa.ads (Unique_Defining_Entity): move function from here
540 * sem_util.adb, sem_util.ads (Unique_Defining_Entity): ...to here
541
5422011-08-04 Thomas Quinot <quinot@adacore.com>
543
544 * sem_ch12.adb (Analyze_Package_Instantiation): Do not omit body for
545 instantiation in RCI.
546
5472011-08-04 Emmanuel Briot <briot@adacore.com>
548
549 * make.adb: Share more code with gprbuild
550
f5fc5b9d
AC
5512011-08-04 Emmanuel Briot <briot@adacore.com>
552
553 * projects.texi: Added documentation for the IDE'Gnat project file
554 attribute.
555
5562011-08-04 Nicolas Roche <roche@adacore.com>
557
558 * gnat_rm.texi: Minor editing.
559
5602011-08-04 Javier Miranda <miranda@adacore.com>
561
562 * bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
563 and the library case for VM targets.
564 (Gen_Adainit_Ada): Likewise.
565
5662011-08-04 Robert Dewar <dewar@adacore.com>
567
568 * g-altive.ads: Minor comment updates.
569 * prj-nmsc.adb: Minor reformatting.
570
5712011-08-04 Javier Miranda <miranda@adacore.com>
572
573 * opt.ads
574 (Normalize_Scalars_Config): Value of the configuration switch set by
575 pragma Normalize_Scalars when it appears in the gnat.adc file.
576 (Normalize_Scalars): New field for record Config_Switches_Type. Used
577 to save and restore settings of this pragma.
578 * opt.adb
579 (Register_Opt_Config_Switches, Save_Opt_Config_Switches,
580 Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.
581
5822011-08-04 Vincent Celier <celier@adacore.com>
583
584 * gnat_ugn.texi: Document gnatlink options -M and -M=mapfile
585
0c4683cf
AC
5862011-08-04 Arnaud Charlet <charlet@adacore.com>
587
588 * makeutl.adb: Minor reformatting.
589
5902011-08-04 Olivier Hainque <hainque@adacore.com>
591
592 * g-altive.ads: Update comments to reflect that only the soft
593 binding is available today.
594
2598ee6d
RD
5952011-08-04 Robert Dewar <dewar@adacore.com>
596
597 * bindgen.adb, einfo.adb, sem_ch12.adb, s-tasren.adb, sem_res.adb,
598 makeutl.adb, prj-nmsc.adb, opt.ads, prj-env.adb: Minor reformatting
599 * gcc-interface/Make-lang.in: Update dependencies.
600
c2db4b32
AC
6012011-08-04 Arnaud Charlet <charlet@adacore.com>
602
603 * prj-env.adb: Remove local debug traces.
604
6052011-08-04 Yannick Moy <moy@adacore.com>
606
607 * checks.adb (Apply_Float_Conversion_Check): correct a typo where Lo_OK
608 was used instead of Hi_OK, which could cause a read of an uninitialized
609 value later on. Detected while working on the new warning.
610 * exp_ch9.adb (Expand_N_Entry_Declaration): remove useless assignment
611 to local variable.
612 * sem_ch5.adb (Analyze_Assignment): set the last assignment component
613 in more cases, in order to detect more unreferenced values.
614 * sem_util.adb, sem_util.ads (Get_Enclosing_Object): return enclosing
615 object for expression, if any.
616
6172011-08-04 Eric Botcazou <ebotcazou@adacore.com>
618
619 * exp_intr.adb (Expand_Binary_Operator_Call): Look at the RM size of
620 the operand types instead of the Esize.
621
6222011-08-04 Steve Baird <baird@adacore.com>
623
624 * switch-b.adb (Scan_Binder_Switches): Add -P binder switch, used to
625 enable CodePeer_Mode.
626 * bindusg.adb (Display): Add help message describing -P binder switch.
627 * gnat_ugn.texi: Document -P binder switch.
628 * bindgen.adb (Gen_Main_Ada): If CodePeer_Mode is set, then call the
629 user-defined main program directly.
630 (Gen_Output_File_Ada): If CodePeer_Mode is set, generate a with of the
631 user-defined main program in the context clause of the package body.
632
ad05f2e9
AC
6332011-08-04 Yannick Moy <moy@adacore.com>
634
635 * alfa.adb, alfa.ads (Get_Entity_For_Decl): remove function, partial
636 duplicate of Defining_Entity
637 (Get_Unique_Entity_For_Decl): rename function into
638 Unique_Defining_Entity
639 * einfo.adb, einfo.ads (Is_In_ALFA, Body_Is_In_ALFA): remove flags
640 (Formal_Proof_On): remove synthesized flag
641 * cstand.adb, sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
642 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb, sem_util.adb,
643 sem_util.ads, stand.ads: Remove treatment associated to entities in ALFA
644 * sem_prag.adb (Analyze_Pragma): remove special treatment for pragma
645 Annotate (Formal_Proof)
646
6472011-08-04 Emmanuel Briot <briot@adacore.com>
648
649 * prj-env.adb (Create_Config_Pragmas_File): fix handling of multi-unit
650 source files with non-standard naming schemes, in imported projects
651
756ef2a0
AC
6522011-08-04 Emmanuel Briot <briot@adacore.com>
653
654 * makeutl.adb (Complete_Mains): when a multi-unit source file is
655 specified on the gprbuild command line, we need to compile all units
656 within that file, not just the first one we find
657 Fix error message for mains that are not found.
658
6592011-08-04 Thomas Quinot <quinot@adacore.com>
660
661 * sem_ch6.adb: Update comment.
662 * sem_ch12.adb: Minor reformatting.
663
6642011-08-04 Bob Duff <duff@adacore.com>
665
666 * s-tasren.adb (Task_Do_Or_Queue): Previous code was reading
667 Acceptor.Terminate_Alternative without locking Acceptor, which causes a
668 race condition whose symptom is to fail to lock Parent. That, in turn,
669 causes Parent.Awake_Count to be accessed without locking Parent, which
670 causes another race condition whose symptom is that Parent.Awake_Count
671 can be off by 1 (either too high or too low). The solution is to lock
672 Parent unconditionally, and then lock Acceptor, before reading
673 Acceptor.Terminate_Alternative.
674
4fdebd93
AC
6752011-08-04 Arnaud Charlet <charlet@adacore.com>
676
677 * debug.adb: Update comment.
678
6792011-08-04 Robert Dewar <dewar@adacore.com>
680
681 * par_sco.adb, exp_util.adb, make.adb, a-tags.adb, sem_prag.adb,
682 sem_util.adb, sem_attr.adb, exp_ch4.adb, g-comlin.adb, g-comlin.ads,
683 exp_ch6.adb: Minor reformatting.
684
6852011-08-04 Gary Dismukes <dismukes@adacore.com>
686
687 * gnat_ugn.texi: Add sentence about the case of compile-time-detected
688 checks for -gnateE.
689
6902011-08-04 Ed Schonberg <schonberg@adacore.com>
691
692 * gnat_rm.texi: update Ravenscar desription to reflect Ada2012 RM.
693
6942011-08-04 Thomas Quinot <quinot@adacore.com>
695
696 * sinfo.ads: Minor reformatting.
697
6982011-08-04 Emmanuel Briot <briot@adacore.com>
699
700 * makeutl.adb, makeutl.ads, prj-nmsc.adb (Complete_Mains): report error
701 even if there is no location.
702
6aaa0587
ES
7032011-08-04 Ed Schonberg <schonberg@adacore.com>
704
705 * sem_res.adb, sem_ch4.adb: move check for restriction
706 No_Task_Hierarchy to resolve_allocator.
707
35a1c212
AC
7082011-08-04 Thomas Quinot <quinot@adacore.com>
709
710 * sinfo.adb, sinfo.ads, sem_prag.adb, sem_ch12.adb (Pragma_Enabled):
711 This flag of N_Pragma nodes is not used, remove it as well as all of
712 the associated circuitry.
713
7142011-08-04 Javier Miranda <miranda@adacore.com>
715
716 * exp_disp.adb (Make_DT): Switch -gnatdQ disables the generation of the
717 runtime check on duplicated externa tags
718 * debug.adb Document switch -gnatdQ.
719
7202011-08-04 Gary Dismukes <dismukes@adacore.com>
721
722 * a-fihema.ads: Minor typo fix.
723
7242011-08-04 Yannick Moy <moy@adacore.com>
725
726 * sem_ch10.adb: Minor comment update.
727
7282011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
729
730 * einfo.adb: Update the node field usage to reflect the renaming of
731 Return_Flag to Return_ Flag_Or_Transient_Decl.
732 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl.
733 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl.
734 (Write_Field15_Name): Change Return_Flag to
735 Return_Flag_Or_Transient_Decl.
736 * einfo.ads: Rename node field Return_Flag to
737 Return_Flag_Or_Transient_Decl. Update the associated comment and all
738 occurrences in entities.
739 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl. Update
740 associated Inline pragma.
741 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl. Update
742 associated Inline pragma.
743 * exp_ch4.ads, exp_ch4.adb (Expand_N_Expression_With_Actions): New
744 routine.
745 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Update the calls to
746 Return_Flag and Set_Return_Flag.
747 * exp_ch7.adb (Process_Declarations): Add code to recognize hook
748 objects generated for controlled transients declared inside an
749 Exception_With_Actions. Update the calls to Return_Flag.
750 (Process_Object_Declaration): Add code to add a null guard for hook
751 objects generated for controlled transients declared inside an
752 Exception_With_Actions. Update related comment.
753 * exp_util.adb (Has_Controlled_Objects): Add code to recognize hook
754 objects generated for controlled transients declared inside an
755 Exception_With_Actions. Update the calls to Return_Flag.
756 * expander.adb (Expand): Add new case for N_Expression_With_Actions.
757
7582011-08-04 Ed Schonberg <schonberg@adacore.com>
759
760 * sem_util.adb:(Wrong_Type): Improve error message on a one-element
761 positional aggregate.
762
7632011-08-04 Vincent Celier <celier@adacore.com>
764
765 * par_sco.adb (Process_Decisions.Output_Header): Check and record pragma
766 SLOC only for pragmas.
767
7682011-08-04 Emmanuel Briot <briot@adacore.com>
769
770 * projects.texi: Minor typo fix.
771
7722011-08-04 Emmanuel Briot <briot@adacore.com>
773
774 * prj-nmsc.adb (Check_File): Minor change to traces, to help debugging
775 on case-sensitive file systems.
776
c2873f74
TQ
7772011-08-04 Thomas Quinot <quinot@adacore.com>
778
779 * put_scos.adb (Put_SCOs): Do not emit decision SCO for an X decision
780 nested in a disabled pragma.
781 * scos.ads, scos.adb, par_sco.ads, par_sco.adb: Record sloc of
782 enclosing pragma, if any, for X decisions.
783
7842011-08-04 Thomas Quinot <quinot@adacore.com>
785
786 * sem_prag.adb: Minor reformatting.
787
46414266
VC
7882011-08-04 Vincent Celier <celier@adacore.com>
789
790 * a-tags.adb (Check_TSD): Avoid concatenation of strings, as it is not
791 allowed in no run time mode.
792
7932011-08-04 Vincent Celier <celier@adacore.com>
794
795 * make.adb (Check): When -gnatc is used, check for the source file
796 inside the ALI file with a canonical case file name.
797
afab164f
EB
7982011-08-04 Emmanuel Briot <briot@adacore.com>
799
800 * g-comlin.adb, g-comlin.ads (Add_Switch): Put back support for
801 overriding the separator.
802
fe0ec02f
AC
8032011-08-04 Robert Dewar <dewar@adacore.com>
804
805 * sem_aggr.adb, par_sco.adb, sem_type.adb, exp_util.adb, exp_ch9.adb,
806 prj-nmsc.adb, sem_ch13.adb, exp_strm.adb: Minor reformatting.
807
8082011-08-04 Robert Dewar <dewar@adacore.com>
809
810 * gnat_rm.texi: Minor documentation fix for pragma Annotate.
811
8122011-08-04 Yannick Moy <moy@adacore.com>
813
814 * sem_attr.adb (Analyze_Attribute): add check during pre-analysis that
815 'Result only appears in postcondition of function.
816
8172011-08-04 Thomas Quinot <quinot@adacore.com>
818
819 * a-tags.adb (Check_TSD): When raising PROGRAM_ERROR for a duplicated
820 external tag, include the value of the external tag in the exception
821 message.
822
0180fd26
AC
8232011-08-04 Yannick Moy <moy@adacore.com>
824
825 * sem_attr.adb (Result): modify error message for misplaced 'Result
826
8272011-08-04 Sergey Rybin <rybin@adacore.com>
828
829 * gnat_rm.texi (pragma Annotate): Fix syntax description to make it
830 clear that the second argument must be an identifier.
831
8322011-08-04 Thomas Quinot <quinot@adacore.com>
833
834 * exp_ch9.adb (Build_Barrier_Function): When compiling with
835 -fpreserve-control-flow, insert an IF statement on the barrier
836 condition to ensure that a conditional branch instruction is generated.
837
8382011-08-04 Emmanuel Briot <briot@adacore.com>
839
840 * prj-part.adb, prj.adb, prj.ads, prj-tree.ads
841 (Processing_Flags.Ignore_Missing_With): new flag.
842
8432011-08-04 Emmanuel Briot <briot@adacore.com>
844
845 * prj-nmsc.adb (Find_Sources, Path_Name_Of): Fix handling of
846 Source_List_File on case-insensitive systems where the file is actually
847 on a case-sensitive file system (NFS,...).
848
8492011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
850
851 * sem_ch6.adb (Analyze_Function_Return): In a rare case where a
852 function return contains a controlled [extension] aggregate and the
853 return statement is not part of a handled sequence of statements, wrap
854 the return in a block. This ensures that all controlled temporaries
855 generated during aggregate resolution will be picked up by the
856 finalization machinery.
857
8582011-08-04 Ed Schonberg <schonberg@adacore.com>
859
860 * sem_aggr.adb (Resolve_Aggregate): If aggregate has box-initialized
861 components, freeze type before resolution, to ensure that default
862 initializations are present for all components.
863 * sem_res.adb (Resolve_Actuals): the designated object of an
864 accces-to-constant type is a legal actual in a call to an
865 initialization procedure.
866
8672011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
868
869 * exp_util.adb (Extract_Renamed_Object): Add N_Type_Conversion and
870 N_Unchecked_Type_Conversion to the possible containers of a renamed
871 transient variable.
872
78efd712
AC
8732011-08-04 Yannick Moy <moy@adacore.com>
874
875 * par-ch13.adb (Aspect_Specifications_Present): recognize
876 "with Identifier'Class =>" as an aspect, so that a meaningful warning
877 is issued in Strict mode.
878 * par.adb: Fix typos in comments.
879
8802011-08-04 Yannick Moy <moy@adacore.com>
881
882 * sem_attr.adb (Result): modify error message to take into account Post
883 aspect when compiling Ada 2012 (or newer) code.
884
8852011-08-04 Nicolas Roche <roche@adacore.com>
886
887 * env.c (__gnat_clearenv): Avoid use of dynamic size array in order to
888 remove need for GCC exceptions.
889
8902011-08-04 Vincent Celier <celier@adacore.com>
891
892 * makeutl.adb (Do_Complete): Call Debug_Output with the name of the
893 project, not the source file name.
894 * prj.adb (Find_Sources.Look_For_Sources): If the source has been
895 excluded, continue looking. This excluded source will only be returned
896 if there is no other source with the same base name that is not locally
897 removed.
898
8992011-08-04 Ed Schonberg <schonberg@adacore.com>
900
901 * sem_res.adb (Resolve_Intrinsic_Operator): if the result type is
902 private and one of the operands is a real literal, use a qualified
903 expression rather than a conversion which is not meaningful to the
904 back-end.
905
0170a691
AC
9062011-08-04 Yannick Moy <moy@adacore.com>
907
908 * sem_ch13.adb (Aspect_Loop): when an aspect X and its classwise
909 corresponding aspect X'Class are allowed, proceed with analysis of the
910 aspect instead of skipping it.
911
9122011-08-04 Tristan Gingold <gingold@adacore.com>
913
914 * s-flocon.adb, s-flocon.ads: Add a body for s-flocon.ads
915 This will allow to have an Ada implementation for the subprogram.
916
deb4f5ba
ES
9172011-08-04 Ed Schonberg <schonberg@adacore.com>
918
919 * sem_ch3.adb (Analyze_Full_Type_Declaration): If the declaration is a
920 completion and aspects are present, apply them to the entity for the
921 type which is currently the partial view, but which is the one that
922 will be frozen.
923 * sem_ch13.adb (Analyze_Aspect_Specifications): if the predicate
924 applies to a partial view, indicate that the full view has predicates
925 and delayed aspects.
926 (Replace_Type_Reference): Handle properly predicates that apply to the
927 full view of a private completion.
928
fc893455
AC
9292011-08-04 Eric Botcazou <ebotcazou@adacore.com>
930
931 * layout.adb (Layout_Type): For composite types, do not set Esize.
932 * freeze.adb (Set_Small_Size): Remove test on alignment and do not
933 set Esize.
934 (Size_Known): Look at the RM size of components instead of the Esize.
935 (Freeze_Record_Type): Look at the RM size instead of the Esize to
936 issue warning and activate Implicit_Packing.
937 (Freeze_Entity): Likewise. Do not issue a warning for alias/atomic
938 if the Esize is not known.
939 * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Size>: Set Esize
940 for elementary types only.
941 (Analyze_Record_Representation_Clause): Look at the RM size instead
942 of the Esize to issue errors.
943 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set Esize if it
944 is not known.
945 <E_Record_Type>: Look at the RM size instead of the Esize. Remove
946 obsolete block.
947 Look at the RM size instead of the Esize for types if the latter is
948 not known.
949 (gnat_to_gnu_field): Use Known_Esize instead of Known_Static_Esize.
950
9512011-08-04 Ed Schonberg <schonberg@adacore.com>
952
953 * sem_type.adb: proper handling of equality not involving anonymous
954 access types.
955
b37d5bc6
AC
9562011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
957
958 * exp_ch7.adb (Create_Finalizer): Remove local variables Spec_Nod and
959 Vis_Decls. When creating a library-level finalizer for a package spec,
960 both the declaration and body of the finalizer are inserted either in
961 the visible or private declarations of the package spec.
962
9632011-08-04 Javier Miranda <miranda@adacore.com>
964
965 * sem_ch3.adb (Derive_Subprograms): Complete assertion to request the
966 use of the full-view of a type when invoking Is_Ancestor.
967 * sem_type.adb (Is_Ancestor): For consistency, when the traversal of
968 the full-view of private parents is requested, then use also the
969 full-view of the parent of the first derivation.
970
7ab4d95a
AC
9712011-08-04 Tristan Gingold <gingold@adacore.com>
972
973 * s-taprop-vxworks.adb (Enter_Task): Use System.Float_Control.Reset
974 instead of the locally imported procedure.
975 * s-taprop-mingw.adb (Enter_Task): Ditto.
976 * s-valrea.adb (Scan_Real): Ditto.
977 * s-imgrea.adb (Set_Image_Real): Ditto.
978 * s-flocon.ads: Make the package pure.
979
9802011-08-04 Thomas Quinot <quinot@adacore.com>
981
982 * sinfo.ads, sinfo.adb (Debug_Statement, Set_Debug_Statement): Remove.
983 * tbuild.ads, tbuild.adb (Make_Pragma): Adjust accordingly.
984 * sinfo-cn.ads, sinfo-cn.adb (Change_Name_To_Procedure_Call_Statement):
985 New subprogram, moved here from...
986 * par.adb, par-ch5.adb (P_Statement_Name): ... here.
987 * par-prag.adb (Par.Prag, case Pragma_Debug): Do not perform any
988 rewriting of the last argument into a procedure call statement here...
989 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): ...do it there
990 instead.
991
9922011-08-04 Thomas Quinot <quinot@adacore.com>
993
994 * par_sco.adb: Minor reformatting.
995
51c400f5
AC
9962011-08-04 Robert Dewar <dewar@adacore.com>
997
998 * erroutc.adb: Minor reformatting.
999
10002011-08-04 Thomas Quinot <quinot@adacore.com>
1001
1002 * par_sco.adb: Comment update.
1003
10042011-08-04 Tristan Gingold <gingold@adacore.com>
1005
1006 * s-flocon.ads: New file.
1007 * g-flocon.ads: Now a renaming of s-flocon.
1008 * Makefile.rtl: Add s-flocon.o
1009
6a49f110
AC
10102011-08-04 Javier Miranda <miranda@adacore.com>
1011
1012 * exp_strm.adb (Build_Array_Input_Function): if the array type is
1013 constrained, do not attempt to build a subtype of it.
1014
10152011-08-04 Yannick Moy <moy@adacore.com>
1016
1017 * errout.ads Change comments: remove 'R'M as an example where quotes
1018 are needed; add ALFA as another case where quotes are not needed
1019 * erroutc.adb (Set_Msg_Insertion_Reserved_Word): add ALFA as another
1020 case where quotes are not needed.
1021 * sem_ch11.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
1022 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_prag.adb, sem_res.adb:
1023 Remove all occurrences of 'A'L'F'A
1024
10252011-08-04 Ed Schonberg <schonberg@adacore.com>
1026
1027 * sem_ch13.adb: check legality of invariant pragma.
1028
a4640a39
AC
10292011-08-04 Eric Botcazou <ebotcazou@adacore.com>
1030
1031 * bindgen.adb: Add comments.
1032
10332011-08-04 Yannick Moy <moy@adacore.com>
1034
1035 * einfo.adb, einfo.ads: Free Flag254 and make Formal_Proof_On a
1036 synthesized flag.
1037 * sem_prag.adb (Analyze_Pragma): record the pragma Annotate
1038 (Formal_Proof, On/Off) in the Rep_Item list of the current subprogram.
1039
10402011-08-04 Robert Dewar <dewar@adacore.com>
1041
1042 * exp_ch7.adb, exp_ch6.adb, sem_ch3.adb, layout.adb, sem_ch5.adb,
1043 osint-c.ads, sem_util.ads, gnat1drv.adb, targparm.ads, sem_ch6.adb,
1044 sem_ch13.adb, s-pooloc.adb: Minor reformatting.
1045
39ade2f9
AC
10462011-08-04 Thomas Quinot <quinot@adacore.com>
1047
1048 * s-pooloc.ads, s-pooglo.ads: Minor reformatting
1049
10502011-08-04 Thomas Quinot <quinot@adacore.com>
1051
1052 PR ada/47880
1053 * s-pooloc.adb (Deallocate): Fix the case of deallocating the only
1054 allocated object.
1055
10562011-08-04 Robert Dewar <dewar@adacore.com>
1057
1058 * einfo.ads, exp_ch4.adb: Minor reformatting.
1059
10602011-08-04 Jerome Lambourg <lambourg@adacore.com>
1061
1062 * back_end.ads (Gen_Or_Update_Object_File): Add more comments.
1063
7efc3f2d
AC
10642011-08-04 Ed Schonberg <schonberg@adacore.com>
1065
1066 * exp_ch4.adb (Expand_Composite_Equality): code cleanup: use component
1067 type in all cases to compute list of primitive operations, because full
1068 view may be an itype that is not attached to the list of declarations.
1069
10702011-08-04 Eric Botcazou <ebotcazou@adacore.com>
1071
1072 * bindgen.adb (Gen_Adafinal_Ada): Generate an early return if the
1073 library has already been finalized.
1074 (Gen_Adafinal_C): Likewise.
1075 (Gen_Adainit_Ada): Generate an early return if the library has
1076 already been elaborated.
1077 (Gen_Adainit_C): Likewise.
1078 (Gen_Output_File_Ada): Generate an elaboration flag.
1079 (Gen_Output_File_C): Likewise.
1080
f65df609
HK
10812011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1082
1083 * exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
1084 Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
1085 built in the first place.
1086 (Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
1087 for CodePeer because Finalize_Address was not built to begin with.
1088 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.
1089
a0fb8fe8
AC
10902011-08-04 Pascal Obry <obry@adacore.com>
1091
1092 * adaint.c (__gnat_tmp_name): Use current process id to create temp
1093 filenames, this ensures unicity of filenames across processes.
1094
10952011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1096
1097 * bindgen.adb (Gen_Finalize_Library_Ada): Rename generated routine
1098 Raise_Controlled to Raise_From_Controlled_Operation. Update the
1099 signature of Raise_From_Controlled_Operation by adding flag From_Abort.
1100 Add False as the actual to From_Abort in the generated call to
1101 Raise_From_Controlled_Operation.
1102
11032011-08-04 Jerome Lambourg <lambourg@adacore.com>
1104
1105 * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move to declaration
1106 so that the ali file name can be retrieved from outside of this package.
1107 * back_end.ads, back_end.adb (Gen_Or_Update_Object_File): New method
1108 doing nothing in the general case, but used to update the object file
1109 timestamp if directly generated by the backend.
1110 * gnat1drv.adb (Gnat1drv): Make sure the object file's timestamp is set
1111 to a later time than the ali file one.
1112
9534ab17
AC
11132011-08-04 Yannick Moy <moy@adacore.com>
1114
1115 * einfo.adb, einfo.ads (Formal_Proof_On): new flag set on subprogram
1116 entities whose body contains an Annotate pragma which forces formal
1117 proof on this body.
1118 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
1119 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Adapt call to
1120 Mark_Non_ALFA_Subprogram to pass in a message and node.
1121 * sem_prag.adb (Analyze_Pragma): add treatment of pragma Annotate
1122 (Forma_Proof, On) which sets the flag Formal_Proof_On in the
1123 surrounding subprogram.
1124 * sem_util.adb, sem_util.ads (Mark_Non_ALFA_Subprogram,
1125 Mark_Non_ALFA_Subprogram_Unconditional): if the subprogram being marked
1126 as not in ALFA is annotated with Formal_Proof being On, then an error
1127 is issued based on the additional parameters for message and node.
1128 * snames.ads-tmpl (Name_Formal_Proof): new name for annotation.
1129 * gcc-interface/Make-lang.in: Update dependencies.
1130
11312011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1132
1133 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not generate
1134 Finalize_Address when CodePeer is enabled.
1135
11362011-08-04 Pascal Obry <obry@adacore.com>
1137
1138 * adaint.c (__gnat_tmp_name): Use _tempnam() instead of tempnam() as
1139 the latter returns a pointer to a static buffer which is deallocated
1140 at the end of the routine.
1141
5c0e97dd
AC
11422011-08-04 Yannick Moy <moy@adacore.com>
1143
1144 * sem_ch3.adb (Array_Type_Declaration): move test for type in ALFA
1145 after index creation; mark unconstrained base array type generated as
1146 being in/not in ALFA as well
1147 (Make_Index): mark subtype created as in/not in ALFA
1148 * sem_ch5.adb (Analyze_Iteration_Scheme): mark entity for iterating
1149 over a loop as in/not in ALFA, depending on its type and form of loop
1150 iteration.
1151
11522011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1153
1154 * exp_ch7.adb (Build_Object_Declarations): Initialize flag Abort
1155 directly to False on .NET and JVM.
1156
7a93c64b
YM
11572011-08-04 Yannick Moy <moy@adacore.com>
1158
1159 * sem_ch3.adb (Constrain_Enumeration, Constrain_Integer): remove
1160 constraint that subtype must come from source code to be in ALFA, so
1161 that anonymous subtypes can be in ALFA too.
1162
e9a1ed9b
YM
11632011-08-04 Yannick Moy <moy@adacore.com>
1164
1165 * sem_ch3.adb (Analyze_Object_Declaration): remove obsolete addition of
1166 reference for ALFA mode.
1167 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Compilation_Unit): make
1168 procedure public so as to use it from formal verification back-end.
1169
8e293fbd
AC
11702011-08-04 Jerome Lambourg <lambourg@adacore.com>
1171
1172 * g-comlin.adb (For_Each_Simple_Switch.Is_In_Config): Remove the
1173 invalid checks of the Parameter, making Remove_Switch not working
1174 correctly.
1175
11762011-08-04 Arnaud Charlet <charlet@adacore.com>
1177
1178 * targparm.ads: Update header: no run-time exception is needed on this
1179 file.
1180
11812011-08-04 Vincent Celier <celier@adacore.com>
1182
1183 * a-fihema.adb: Use System.IO instead of GNAT.IO
1184
11852011-08-04 Thomas Quinot <quinot@adacore.com>
1186
1187 * sem_ch3.adb (Access_Definition): Anonymous access to subprogram types
1188 are forbidden in Compiler_Unit mode.
1189
cfae2bed
AC
11902011-08-04 Robert Dewar <dewar@adacore.com>
1191
1192 * sem_util.adb: Minor reformatting.
1193
11942011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1195
1196 * bindgen.adb (Gen_Finalize_Library_Ada): Update the import string for
1197 library-level finalizers.
1198 (Gen_Finalize_Library_C): Update the import string for library-level
1199 finalizers.
1200 (Gen_Finalize_Library_Defs_C): Update the definition name of a
1201 library-level finalizer.
1202 * exp_ch7.adb: Remove with and use clauses for Stringt.
1203 (Create_Finalizer): Remove local variables Conv_Name, Prag_Decl,
1204 Spec_Decl. Add local variable Body_Id. The names of library-level
1205 finalizers are now manually fully qualified and are no longer external.
1206 A single name is now capable of servicing .NET, JVM and non-VM targets.
1207 Pragma Export is no longer required to provide visibility for the name.
1208 (Create_Finalizer_String): Removed.
1209 (New_Finalizer_Name): New routine which mimics New_..._Name.
1210
01f0729a
AC
12112011-08-04 Eric Botcazou <ebotcazou@adacore.com>
1212
1213 * sem_elab.adb (Check_Internal_Call_Continue): Change the type of the
1214 elaboration counter to Standard_Short_Integer.
1215 * sem_util.adb (Build_Elaboration_Entity): Likewise.
1216 * bindgen.adb (Gen_Elab_Externals_Ada): Adjust to above change.
1217 (Gen_Elab_Externals_C): Likewise.
1218
12192011-08-04 Ed Falis <falis@adacore.com>
1220
1221 * system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
1222 system-vxworks-ppc.ads, system-vxworks-m68k.ads,
1223 system-vxworks-mips.ads, system-vxworks-x86.ads
1224 (Always_Compatible_Rep): set to False for all VxWorks targets.
1225
2c1b72d7
AC
12262011-08-04 Robert Dewar <dewar@adacore.com>
1227
1228 * par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads,
1229 makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb,
1230 exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb,
1231 exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb,
1232 exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb,
1233 sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb,
1234 sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb:
1235 Minor reformatting and code reorganization.
1236
12372011-08-04 Emmanuel Briot <briot@adacore.com>
1238
1239 * projects.texi: Added doc for aggregate projects.
1240
824e9320
AC
12412011-08-04 Emmanuel Briot <briot@adacore.com>
1242
1243 * prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items):
1244 Add support for overriding the Project_Path in aggregate projects.
1245
12462011-08-04 Robert Dewar <dewar@adacore.com>
1247
1248 * a-cofove.ads: Minor reformatting.
1249
12502011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
1251
1252 * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment
1253 on the generated code.
1254 (Build_Finalize_Statements): Update the comment on the generated code.
1255 (Build_Initialize_Statements): Update the comment on the generated code.
1256 (Build_Object_Declarations): Add local variable Result. The object
1257 declarations are now built in sequence.
1258 * rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and
1259 RE_Unit_Table.
1260
12612011-08-04 Robert Dewar <dewar@adacore.com>
1262
1263 * checks.adb, alfa.adb, alfa.ads: Minor reformatting.
1264
12652011-08-04 Eric Botcazou <ebotcazou@adacore.com>
1266
1267 * einfo.ads (Elaboration_Entity): Document new definition and use.
1268 (Elaboration_Entity_Required): Adjust to above change.
1269 * exp_attr.adb (Expand_N_Attribute_Reference): Likewise.
1270 * exp_ch12.adb: And with and use for Snames.
1271 (Expand_N_Generic_Instantiation): Test 'Elaborated attribute.
1272 * exp_util.adb (Set_Elaboration_Flag): Likewise.
1273 * sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete.
1274 <Check_Unit_Name>: Deal with N_Expanded_Name.
1275 <Attribute_Elaborated>: Extend to all unit names.
1276 * sem_elab.adb: And with and use for Uintp.
1277 (Check_Internal_Call_Continue): Adjust to Elaboration_Entity change.
1278 * sem_util.ads (Build_Elaboration_Entity): Adjust comment.
1279 * sem_util.adb (Build_Elaboration_Entity): Change type to Integer.
1280 * bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken
1281 from Gen_Adainit_Ada.
1282 (Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C.
1283 (Gen_Adafinal_Ada): Remove redundant test. In the non-main program
1284 case, do not call System.Standard_Library.Adafinal; instead call
1285 finalize_library if needed.
1286 (Gen_Adafinal_C): Likewise.
1287 (Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the
1288 non-main program case.
1289 (Gen_Adainit_C): Generate a couple of external declarations here.
1290 In the main program case, set SSL.Finalize_Library_Objects.
1291 (Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change.
1292 (Gen_Elab_Calls_C): Likewise.
1293 (Gen_Finalize_Library_Ada): Likewise. Skip SAL interface units.
1294 (Gen_Finalize_Library_C): Likewise. Generate a full function.
1295 (Gen_Main_C): Put back call to Ada_Final and don't finalize library
1296 objects here.
1297 (Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final
1298 if -a is specified. Call Gen_Elab_Externals_Ada. Move around call to
1299 Gen_Adafinal_Ada.
1300 (Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final
1301 if -a is specified. Call Gen_Elab_Externals_C. Remove useless couple
1302