]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
[multiple changes]
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
67c86178
AC
12011-09-02 Robert Dewar <dewar@adacore.com>
2
3 * prj-dect.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, prj-tree.adb,
4 prj.adb, prj.ads, sem_ch5.adb: Minor reformatting.
5
62011-09-02 Thomas Quinot <quinot@adacore.com>
7
8 * sem_attr.adb (Analyze_Attribute, case Unrestriced_Access):
9 Guard against a prefix that is an N_Has_Entity but has no
10 associated entity.
11
122011-09-02 Yannick Moy <moy@adacore.com>
13
14 * lib-xref-alfa.adb (Is_Alfa_Reference): Ignore IN parameters in Alfa
15 references.
16
172011-09-02 Yannick Moy <moy@adacore.com>
18
19 * opt.ads (Warn_On_Suspicious_Contract): New warning flag.
20 * sem_ch3.adb (Analyze_Declarations): Call checker for suspicious
21 contracts.
22 * sem_ch6.adb, sem_ch6.ads (Check_Subprogram_Contract): New
23 procedure looking for suspicious postconditions.
24 * usage.adb (Usage): New options -gnatw.t and -gnatw.T.
25 * warnsw.adb (Set_Dot_Warning_Switch): Take into account new
26 options -gnatw.t and -gnatw.T.
27
735ca1b9
PO
282011-09-02 Pascal Obry <obry@adacore.com>
29
30 * prj.adb: Minor code refactoring. Move check for null project in
31 Project_Changed.
32 * projects.texi: Fix minor typos.
33
86828d40
AC
342011-09-02 Ed Schonberg <schonberg@adacore.com>
35
36 * sem_ch5.adb (Analyze_Iterator_Specification): If the domain
37 of iteration is an expression, its value must be captured in a
38 renaming declaration, so that modification of the elements is
39 propagated to the original container.
40
412011-09-02 Pascal Obry <obry@adacore.com>
42
43 * prj-proc.adb, prj.adb, makeutl.adb, makeutl.ads, prj-dect.adb,
44 prj-nmsc.adb, prj-util.adb, prj-conf.adb, prj-env.adb,
45 prj-tree.adb: Minor reformatting and style fixes.
46
83de674b
AC
472011-09-02 Robert Dewar <dewar@adacore.com>
48
49 * s-rident.ads: Add new restriction No_Implicit_Aliasing
50 * sem_attr.adb: (Analyze_Access_Attribute): Deal with
51 No_Implicit_Aliasing
52 (Analyze_Attribute, case Address): ditto
53 (Analyze_Attribute, case Unrestricted_Access): ditto
54 * sem_util.ads, sem_util.adb: (Is_Aliased_View): Handle
55 No_Implicit_Aliasing restriction.
56 * gnat_rm.texi: Add documentation for No_Implicit_Aliasing
57
582011-09-02 Ed Schonberg <schonberg@adacore.com>
59
60 * exp_util.adb: (Possible_Bit_Aligned_Object): If the object
61 is an unchecked conversion, apply test to its expression.
62
632011-09-02 Javier Miranda <miranda@adacore.com>
64
65 * sem_ch3.adb (Check_Abstract_Overriding): When
66 traversing the chain of aliased subprograms avoid reporting a
67 redundant error on the current entity.
68
692011-09-02 Sergey Rybin <rybin@adacore.com>
70
71 * gnat_ugn.texi: Minor clean up.
72
732011-09-02 Bob Duff <duff@adacore.com>
74
75 * s-htable.adb (Set_If_Not_Present): Use renaming
76 instead of ":=", because the type Key is limited in the generic (even
77 if not in the instances).
78
2c17ca0a
AC
792011-09-02 Robert Dewar <dewar@adacore.com>
80
81 * exp_util.adb, sem_ch10.adb, sem_attr.adb, s-htable.adb,
82 g-comlin.adb, g-comlin.ads, lib-xref-alfa.adb, lib-xref.adb: Minor
83 reformatting.
84
852011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
86
87 * sem_ch3.adb: (Set_Anonymous_Type): Associate the itype of an
88 inherited component with the enclosing derived type. Code reformatting.
89
902011-09-02 Gary Dismukes <dismukes@adacore.com>
91
92 * checks.adb: (Determine_Range): Add test of OK1 to prevent the early
93 return done when overflow checks are enabled, since comparisons against
94 Lor and Hir should not be done when OK1 is False.
95
962011-09-02 Gary Dismukes <dismukes@adacore.com>
97
98 * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
99 Add new formal Master_Exp. When present, add that expression to the
100 call as an extra actual.
101 (Make_Build_In_Place_Call_In_Object_Declaration): Add variable
102 Fmaster_Actual and in the case of a BIP call initializing a return
103 object of an enclosing BIP function set it to a
104 new reference to the implicit finalization master
105 formal of the enclosing function. Fmaster_Actual is
106 then passed to the new formal Master_Exp on the call to
107 Add_Finalization_Master_Actual_To_Build_ In_Place_Call. Move
108 initializations of Enclosing_Func to its declaration.
109
1102011-09-02 Thomas Quinot <quinot@adacore.com>
111
112 * csets.ads: Minor reformatting
113
1142011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
115
116 * exp_aggr.adb: (Get_Constraint_Association): Add code to retrieve
117 the full view of a private type coming from an instantiation.
118 * exp_ch4.adb: (Current_Anonymous_Master): Reimplement the search
119 loop to iterate over the declarations rather than use the
120 First_Entity / Next_Entity scheme.
121
ed32b82e
ES
1222011-09-02 Ed Schonberg <schonberg@adacore.com>
123
124 * sem_attr.adb: (Analyze_Attribute, case 'Range): when expanding
125 X'range (N) into X'First (N) .. X'Last (N), do not share the
126 dimension indicator N, if present. Even though it is a static
127 constant, its source location may be modified when printing
128 expanded code under -gnatDL, and node sharing will lead to chaos
129 in Sprint on large files, by generating a sloc value that does
130 not correspond to any source file.
131
f7bb41af
AC
1322011-09-02 Bob Duff <duff@adacore.com>
133
134 * einfo.adb: (Has_Xref_Entry): Do not call
135 Implementation_Base_Type. Lib.Xref has been
136 rewritten to avoid the need for it, and it was costly.
137 * s-htable.ads,s-htable.adb: (Present,Set_If_Not_Present): New
138 functions in support of efficient xref.
139 * lib-xref-alfa.adb: Misc changes related to Key component of
140 type Xref_Entry.
141 * lib-xref.adb: (Add_Entry,etc): Speed improvement.
142 (New_Entry): Call Implementation_Base_Type, because Has_Xref_Entry
143 no longer does. This is the one place where it is needed.
144
1452011-09-02 Johannes Kanig <kanig@adacore.com>
146
147 * g-comlin.adb (Getopt): New optional argument Concatenate to have
148 similar interface as the other Getopt function.
149
1502011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
151
152 * exp_ch4.adb: (Expand_Allocator_Expression): Do not generate
153 a call to Set_Finalize_Address if there is no allocator available.
154 * exp_util.adb: (Build_Allocate_Deallocate_Proc): Account for
155 a case of allocator expansion where the allocator is not expanded but
156 needs a custom allocate routine. Code reformatting.
157 (Is_Finalizable_Transient): Remove local variables Has_Rens and
158 Ren_Obj. Code reformatting.
159 (Is_Renamed): Renamed to Is_Aliased. Add code to detect aliasing
160 through the use of 'reference.
161 * sem_ch4.adb: (Analyze_Allocator): Detect allocators generated
162 as part of build-in-place expansion. They are intentionally marked as
163 coming from source, but their parents are not.
164
bd0bc43e
AC
1652011-09-02 Ed Schonberg <schonberg@adacore.com>
166
167 * sem_ch10.adb (Analyze_With_Clause): If the library unit
168 is the generated subprogram declaration for a child unit body
169 that acts as spec, use the original body in the with_clause,
170 to prevent binding errors.
171
1722011-09-02 Vincent Celier <celier@adacore.com>
173
174 * gnat_ugn.texi: Adapt documentation of -gnateInnn to new VMS
175 qualifier /MULTI_UNIT_INDEX=
176
1772011-09-02 Johannes Kanig <kanig@adacore.com>
178
179 * g-comlin.adb (Getopt): Return when switch is dealt with automatically,
180 instead of calling the callback function
181
9fdb5d21
RD
1822011-09-02 Robert Dewar <dewar@adacore.com>
183
184 * prj-proc.adb, prj.ads, sem_util.adb, s-taprop-linux.adb,
185 prj-nmsc.adb, prj-util.ads, prj-env.adb: Minor reformatting.
186
c6d5d1ac
AC
1872011-09-02 Vincent Celier <celier@adacore.com>
188
189 * prj-nmsc.adb: (Find_Sources): When the list of sources is
190 explicitly declared in an extending project, do not warn if a source
191 for an inherited naming exception is not found.
192
1932011-09-02 Gary Dismukes <dismukes@adacore.com>
194
195 * exp_ch6.adb: (Is_Build_In_Place_Function_Call): Return False if
196 expansion is inactive.
197
1982011-09-02 Ed Schonberg <schonberg@adacore.com>
199
200 * sem_util.adb (Note_Possible_Modification): If the entity
201 being modified is the renaming generated for an Ada2012 iterator
202 element, the enclosing container or array is modified as well.
203
2ba1a7c7
AC
2042011-09-02 Jose Ruiz <ruiz@adacore.com>
205
206 * s-taprop-linux.adb (Initialize_Lock, Initialize_TCB,
207 Initialize): Define and initialize the
208 mutex attributes and condition variable attributes locally.
209
2102011-09-02 Vincent Celier <celier@adacore.com>
211
212 * prj-nmsc.adb (Check_File): Mark as Locally_Removed a naming
213 exception replaced in an extending project.
214 (Check_Object): No error when the other source is locally removed.
215
2162011-09-02 Yannick Moy <moy@adacore.com>
217
218 * exp_ch6.adb (Is_Build_In_Place_Function_Call): in Alfa mode, allow
219 unresolved calls.
220
d51813db
AC
2212011-08-31 Arnaud Charlet <charlet@adacore.com>
222
223 * gcc-interface/Makefile.in: Clean up handling of x86 and x86-64
224 run-time files.
225 * gcc-interface/Make-lang.in: Update dependencies.
226
9f55bc62
AC
2272011-09-01 Robert Dewar <dewar@adacore.com>
228
229 * sem_ch3.adb, s-taprop-linux.adb, gnatls.adb: Minor reformatting.
230
2312011-09-01 Jose Ruiz <ruiz@adacore.com>
232
233 * adaint.h (__gnat_cpu_free): Fix the name of this profile.
234 * adaint.c (__gnat_cpu_alloc, __gnat_cpu_alloc_size, __gnat_cpu_free,
235 __gnat_cpu_zero, __gnat_cpu_set): Create version of these subprograms
236 specific for systems where their glibc version does not define the
237 routines to handle dynamically allocated CPU sets.
238
2392011-09-01 Vincent Celier <celier@adacore.com>
240
241 * prj-proc.adb, prj.ads, prj-nmsc.adb, prj-util.adb, prj-util.ads,
242 prj-env.adb: Implement inheritance of naming exceptions in extending
243 projects.
244
d7386a7a
AC
2452011-09-01 Romain Berrendonner <berrendo@adacore.com>
246
247 * gnatls.adb: Display simple message instead of content of
248 gnatlic.adl.
249
2502011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
251
252 * sem_ch3.adb: (Build_Derived_Record_Type) Remove the kludgy update of
253 access discriminant and anonymous access component scopes.
254 (Inherit_Component): Reuse the itype of an access discriminant
255 or anonymous access component by copying it in order to set the proper
256 scope. This is done only when the parent and the derived type
257 are in different scopes.
258 (Set_Anonymous_Etype): New routine.
259
2602011-09-01 Robert Dewar <dewar@adacore.com>
261
262 * a-convec.adb: Minor reformatting throughout.
263
9d1e0e72
JR
2642011-09-01 Jose Ruiz <ruiz@adacore.com>
265
266 * adaint.c, adaint.h (__gnat_cpu_alloc, __gnat_cpu_alloc_size,
267 __gnat_cpu_set_free): Create these wrappers around the CPU_ALLOC,
268 CPU_ALLOC_SIZE and CPU_FREE linux macros.
269 (__gnat_cpu_zero, __gnat_cpu_set): Use the CPU_ZERO_S and
270 CPU_SET_S respectively because we are now using dynamically allocated
271 CPU sets which are more portable across different glibc versions.
272 * s-osinte-linux.ads (cpu_set_t_ptr, CPU_ALLOC, CPU_ALLOC_SIZE,
273 CPU_FREE): Add this type and subprograms to be able to create cpu_set_t
274 masks dynamically according to the number of processors in the target
275 platform.
276 (CPU_ZERO, CPU_SET): They are now mapped to the CPU_ZERO_S and CPU_SET_S
277 respectively, so we need to pass the size of the masks as
278 parameters.
279 * s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use dynamically
280 created cpu_set_t masks
281 with the number of processors available in the target platform,
282 instead of static bit arrays. It enhances portability because
283 it uses the information from the target platform.
284 * sem_ch8.adb: (Attribute_Renaming): When checking whether we
285 are using a restricted run-time library, use the flag
286 Configurable_Run_Time_Mode instead of Restricted_Profile.
287
a95be2d4
AC
2882011-09-01 Vincent Celier <celier@adacore.com>
289
290 * ug_words: Add /MULTI_UNIT_INDEX= -> -gnateI
291 * vms_data.ads: Add new VMS qualifier equivalent for -gnateInnn
292
2932011-09-01 Nicolas Roche <roche@adacore.com>
294
295 * adaint.c (__gnat_tmp_name): Don't use tmpnam function from the system
296 on VxWorks in kernel mode.
297
6b81741c
AC
2982011-09-01 Jose Ruiz <ruiz@adacore.com>
299
300 * s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use the linux
301 macros for handling CPU sets (CPU_ZERO, CPU_SET) instead of modifying
302 directly the bit array.
303 * s-osinte-linux.ads (CPU_ZERO, CPU_SET): Import these wrappers around
304 the linux macros with the same name.
305 * adaint.h, adaint.c (__gnat_cpu_zero, __gnat_cpu_set): Create these
306 wrappers around the CPU_ZERO and CPU_SET linux macros.
307
3082011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
309
310 * exp_ch7.adb (Find_Insertion_List): Removed.
311 (Process_Transient_Objects): Insert the declarations of the hook
312 access type and the hook object before the associated transient object.
313
3142011-09-01 Jose Ruiz <ruiz@adacore.com>
315
316 * sem_ch8.adb (Attribute_Renaming): Add missing check to avoid loading
317 package System.Aux_Dec when using restricted run-time libraries which
318 do not have this package.
319
3202011-09-01 Tristan Gingold <gingold@adacore.com>
321
322 * s-vaflop-vms-alpha.adb: Remove pragma optimize, useless.
323
3242011-09-01 Bob Duff <duff@adacore.com>
325
326 * sem_attr.adb (Analyze_Access_Attribute): Do not call
327 Kill_Current_Values for P'Unrestricted_Access, where P is library level
328
3292011-09-01 Thomas Quinot <quinot@adacore.com>
330
331 * exp_ch5.adb: Minor reformatting
332 * gnat_ugn.texi: Fix minor typos.
333 * gcc-interface/Make-lang.in: Update dependencies.
334
8256c1bf
AC
3352011-09-01 Robert Dewar <dewar@adacore.com>
336
337 * inline.adb, sem_aggr.adb: Minor reformatting.
338
3392011-09-01 Ed Schonberg <schonberg@adacore.com>
340
341 * a-convec.adb: Proper handling of cursors for Ada2012 iterators.
342
d1c5f424
AC
3432011-09-01 Robert Dewar <dewar@adacore.com>
344
345 * prj-proc.adb, exp_ch6.adb, prj-env.adb: Minor reformatting.
346
3472011-09-01 Bob Duff <duff@adacore.com>
348
349 * sem_aggr.adb (Resolve_Aggregate): Need to treat "in instance
350 body" the same as "in inlined body", because visibility shouldn't
351 apply there.
352
3532011-09-01 Eric Botcazou <ebotcazou@adacore.com>
354
355 * inline.adb (Add_Inlined_Body): Refine previous change.
356
1bb6e262
AC
3572011-09-01 Gary Dismukes <dismukes@adacore.com>
358
359 * exp_ch6.ads (Needs_BIP_Alloc_Form): New utility function.
360 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
361 Test for case where call
362 initializes an object of a return statement before testing for
363 a constrained call, to ensure that all such cases get handled
364 by simply passing on the caller's parameters. Also, in that
365 case call Needs_BIP_Alloc_Form to determine whether to pass on
366 the BIP_Alloc_Form parameter of the enclosing function rather
367 than testing Is_Constrained. Add similar tests for the return
368 of a BIP call to later processing to ensure consistent handling.
369 (Needs_BIP_Alloc_Form): New utility function.
370 * sem_ch6.adb: (Create_Extra_Formals): Replace test for adding
371 a BIP_Alloc_Form formal with call to new utility function
372 Needs_BIP_Alloc_Form.
373
3742011-09-01 Pascal Obry <obry@adacore.com>
375
376 * prj-part.adb: Minor reformatting.
377
3782011-09-01 Vincent Celier <celier@adacore.com>
379
380 * prj-env.adb (Create_Mapping_File.Process): Encode the upper
381 half character in the unit name.
382
db15225a
AC
3832011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
384
385 * exp_ch4.adb: Minor code and comment reformatting.
386
3872011-09-01 Thomas Quinot <quinot@adacore.com>
388
389 * exp_ch6.adb (Expand_Inlined_Call): Remove redundant tests
390 for Is_Limited_Type and Is_Tagged_Type in condition checking
391 for by-reference type.
392 * inline.adb (Add_Inlined_Body): Only exclude init_procs. Other
393 subprograms may have a completion because of a previous
394 Inline_Always clause, but the enclosing package must be marked
395 inlined for the subprogram body to become visible to the backend.
396
9d641fc0
TQ
3972011-09-01 Thomas Quinot <quinot@adacore.com>
398
399 * sem_aux.adb, exp_ch4.adb: Minor reformatting
400
dbe36d67
AC
4012011-09-01 Pascal Obry <obry@adacore.com>
402
403 * prj-proc.adb, prj.ads, sinput-p.adb: Minor reformatting.
404
4052011-09-01 Ed Schonberg <schonberg@adacore.com>
406
407 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate references to
408 the formals of a subprogram stub that acts as a spec.
409
4102011-09-01 Ed Schonberg <schonberg@adacore.com>
411
412 * exp_ch6.adb (Expand_Inlined_Call): If an actual is a by_reference
413 type, declare a renaming for it, not an object declaration.
414
f5037886
AC
4152011-09-01 Yannick Moy <moy@adacore.com>
416
417 * ali-util.adb, ali-util.ads (Read_Withed_ALIs): Add parameter
418 Ignore_Errors to ignore failures to read ALI files when True.
419
4202011-09-01 Javier Miranda <miranda@adacore.com>
421
422 * exp_ch3.adb (Expand_N_Object_Declaration): Handle non-default
423 constructor calls associated with non-tagged record types.
424
4252011-09-01 Robert Dewar <dewar@adacore.com>
426
427 * g-socthi-vms.adb: Minor reformatting.
428
4292011-09-01 Nicolas Roche <roche@adacore.com>
430
431 * sysdep.c: Don't use macro functions for stdio functions on VxWorks
432 in order to avoid impact of imcompatible changes.
433 * cstreams.c: Likewise
434 * cio.c: Likewise
435 * aux-io.c: Likewise
436
4372011-09-01 Yannick Moy <moy@adacore.com>
438
439 * lib-writ.adb (Write_With_Lines): Always output complete information
440 on "with" line in Alfa mode, as this is required by formal verification
441 back-end.
442
549e4558
AC
4432011-09-01 Tristan Gingold <gingold@adacore.com>
444
445 * g-socthi-vms.adb: Add comments.
446
4472011-09-01 Pascal Obry <obry@adacore.com>
448
449 * prj.ads: Minor reformatting.
450
70c0422d
AC
4512011-09-01 Vincent Celier <celier@adacore.com>
452
453 * prj-env.adb (Create_Config_Pragmas_File.Check): Put all naming
454 exceptions in the config pragmas file.
455
4562011-09-01 Tristan Gingold <gingold@adacore.com>
457
458 * gnat_ugn.texi: Document GNAT_STACK_SIZE on IVMS.
459
8c5b03a0
AC
4602011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
461
462 * exp_ch7.adb (Find_Insertion_List): New routine.
463 (Process_Transient_Objects): Add code to handle the abnormal
464 finalization of a controlled transient associated with a subprogram
465 call. Since transients are cleaned up right after the associated
466 context, an exception raised during a subprogram call may bypass the
467 finalization code.
468
4692011-09-01 Robert Dewar <dewar@adacore.com>
470
471 * exp_ch6.adb (Expand_Call): Check actual for aliased parameter is
472 aliased.
473
3040dbd4
RD
4742011-09-01 Robert Dewar <dewar@adacore.com>
475
476 * exp_ch4.adb, a-exexda.adb: Minor reformatting.
477
fecbd779
AC
4782011-09-01 Robert Dewar <dewar@adacore.com>
479
480 * s-taskin.ads, s-tassta.adb, sem_ch13.adb: Minor reformatting.
481
4822011-09-01 Thomas Quinot <quinot@adacore.com>
483
484 * Makefile.rtl: Move s-oscons.o from GNATRTL_TASKING_OBJS to
485 GNATRTL_NONTASKING_OBJS.
486
4872011-09-01 Robert Dewar <dewar@adacore.com>
488
489 * einfo.ads (Is_Aliased): Fix existing documentation and add note on
490 possibility of this flag being set for formals in Ada 2012 mode.
491 * par-ch6.adb (P_Formal_Part): Handle aliased for parameters for Ada
492 2012.
493 * sem_ch6.adb (Process_Formals): Handle aliased parameters in Ada 2012
494 mode.
495 * sinfo.adb (Aliased_Present): Allowed in N_Parameter_Specification for
496 Ada 2012.
497 * sinfo.ads (Aliased_Present): Allowed in N_Parameter_Specification for
498 Ada 2012.
499
5002011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
501
502 * exp_ch4.adb (Find_Insertion_Node): New routine. Determines the proper
503 insertion node in a tree of nested Expression_With_Actions nodes.
504 (Process_Transient_Object): In the case where a complex if statement
505 has been converted into nested Expression_With_Actions nodes, the
506 "hook" object and the associated access type must be inserted before
507 the top most Expression_With_Actions.
508
516f608f
AC
5092011-09-01 Robert Dewar <dewar@adacore.com>
510
511 * a-cbprqu.adb, a-cbprqu.ads, a-cuprqu.adb, a-cuprqu.ads,
512 a-cbsyqu.adb, a-cbsyqu.ads: Minor reformatting.
513
5142011-09-01 Ed Schonberg <schonberg@adacore.com>
515
516 * sem_attr.adb: Conditionalize aliasing predicates to Ada2012.
517
5182011-09-01 Jose Ruiz <ruiz@adacore.com>
519
520 * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the CPU
521 aspect.
522 * aspects.adb (Canonical_Aspect): Add entry for the CPU aspect.
523 * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the CPU aspect
524 in a similar way as we do for the Priority or Dispatching_Domain aspect.
525 * s-mudido-affinity.adb (Dispatching_Domain_Tasks,
526 Dispatching_Domains_Frozen): Move this local data to package
527 System.Tasking because with the CPU aspect we need to have access
528 to this data when creating the task in System.Tasking.Stages.Create_Task
529 * s-taskin.ads (Dispatching_Domain_Tasks, Dispatching_Domains_Frozen):
530 Move these variables from the body of
531 System.Multiprocessors.Dispatching_Domains because with the CPU aspect
532 we need to have access to this data when creating the task in
533 System.Tasking.Stages.Create_Task.
534 * s-taskin.adb (Initialize): Signal the allocation of the environment
535 task to a CPU, if any, so that we know whether the CPU can be
536 transferred to a different dispatching domain.
537 * s-tassta.adb (Create_Task): Check whether the CPU to which this task
538 is being allocated belongs to the dispatching domain where the task
539 lives. Signal the allocation of the task to a CPU, if any, so that we
540 know whether the CPU can be transferred to a different dispatching
541 domain.
542
2d42e881
ES
5432011-09-01 Ed Schonberg <schonberg@adacore.com>
544
545 * exp_attr.adb, sem_attr.adb, snames.ads-tmpl: Implementation of
546 attributes Same_Storage and Overlaps_Storage.
547
579fda56
AC
5482011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
549
550 * exp_strm.adb: Remove with and use clause for Opt.
551 (Build_Array_Input_Function): Remove the version-dependent generation
552 of the return statement. The Ada 2005 tree is now the default.
553
5542011-09-01 Yannick Moy <moy@adacore.com>
555
556 * put_alfa.adb: Unconditionnally write files in Alfa section, so that
557 it is never empty when compiling in Alfa mode.
558
5592011-09-01 Robert Dewar <dewar@adacore.com>
560
561 * sem_aggr.adb, sem_ch3.adb, a-direct.adb, s-taprop-vxworks.adb,
562 comperr.adb, exp_ch9.adb, exp_pakd.adb, sem_ch12.adb, freeze.adb,
563 s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
564 gnat1drv.adb, a-rbtgbo.adb, exp_dist.adb: Minor reformatting
565
5662011-09-01 Matthew Heaney <heaney@adacore.com>
567
568 * Makefile.rtl, impunit.adb: Add a-csquin.ads, a-cusyqu.ad[sb],
569 a-cuprqu.ad[sb], a-cbsyqu.ad[sb], a-cbprqu.ad[sb]
570 * a-csquin.ads: New Ada 2012 unit that specifies the queue interface
571 * a-cusyqu.ads, a-cusyqu.adb: New Ada 2012 unit that specifies the
572 unbounded queue container.
573 * a-cbsyqu.ads, a-cbsyqu.adb: New Ada 2012 unit that specifies the
574 bounded queue container.
575 * a-cuprqu.ads, a-cuprqu.adb: New Ada 2012 unit that specifies the
576 unbounded priority queue container.
577 * a-cbprqu.ads, a-cbprqu.adb: New Ada 2012 unit that specifies the
578 bounded priority queue container.
579
24c34107
AC
5802011-08-31 Pascal Obry <obry@adacore.com>
581
582 * a-direct.adb: Do not try to create an UNC path on Windows.
583 (Create_Path): Skip leading computer name in UNC path if any.
584
5852011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
586
587 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Remove the
588 version-dependent generation of the return statement. The Ada 2005 tree
589 is now the default.
590
5912011-08-31 Thomas Quinot <quinot@adacore.com>
592
593 * rtsfind.ads, exp_dist.adb (Find_Numeric_Representation): Predefined
594 types Stream_Element_Offset and Storage_Offset have a different native
595 type depending on whether the platform is 32 or 64 bits. When
596 exchanging them, always convert to 64 bits.
597
5982011-08-31 Yannick Moy <moy@adacore.com>
599
600 * debug.adb: Reserve debug option -gnatd.E for passing gnatprove option
601 --force-alfa to gnat2why.
602
6032011-08-31 Ed Schonberg <schonberg@adacore.com>
604
605 * sem_ch12.adb (Save_References): If the node has aspects, save
606 references within the corresponding expressions in a separate step,
607 because the aspects are not directly in the tree for the declaration
608 to which they belong.
609
6102011-08-31 Arnaud Charlet <charlet@adacore.com>
611
612 * freeze.adb (Freeze_Record_Type): Omit test on variable size component
613 in CodePeer mode, since representation clauses are partially ignored.
614 * gcc-interface/Make-lang.in: Update dependencies.
615
702d2020
AC
6162011-08-31 Jose Ruiz <ruiz@adacore.com>
617
618 * s-taprop-vxworks.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
619 s-taprop-solaris.adb (Create_Task): Not_A_Specific_CPU can be assigned
620 to any dispatching domain.
621
6222011-08-31 Thomas Quinot <quinot@adacore.com>
623
624 * exp_ch4.adb: Minor reformatting.
625
6262011-08-31 Bob Duff <duff@adacore.com>
627
628 * sem_ch6.adb (Get_Generic_Parent_Type): Don't query Subtype_Indication
629 on nodes for which it is not defined.
630 (Is_Non_Overriding_Operation): Exit the loop when we find a generic
631 parent type.
632
6332011-08-31 Bob Duff <duff@adacore.com>
634
635 * sem_ch3.adb (Process_Full_View): Disable legality check if
636 In_Instance, to avoid spurious errors.
637 * sem_ch12.adb (Validate_Derived_Type_Instance): Disable legality check
638 if In_Instance, to avoid spurious errors.
639
6402011-08-31 Pascal Obry <obry@adacore.com>
641
642 * a-direct.adb: Use Dir_Seps everywhere to properly handle all
643 directory speparators.
644 (Compose): Use Dir_Seps to handle both forms.
645 (Create_Path): Use Dir_Seps instead of explicit check, no semantic
646 changes.
647 (Extension): Use Dir_Seps to handle both forms.
648
6492011-08-31 Pascal Obry <obry@adacore.com>
650
651 * prj-conf.adb: Minor reformatting.
652
67645bde
AC
6532011-08-31 Jose Ruiz <ruiz@adacore.com>
654
655 * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the
656 dispatching domain aspect.
657 * aspects.adb (Canonical_Aspect): Add entry for the dispatching domain
658 aspect.
659 * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the
660 Dispatching_Domain aspect in a similar way as we do for the Priority
661 aspect.
662 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Add the
663 Dispatching_Domain component if a Dispatching_Domain pragma or aspect
664 is present.
665 (Make_Task_Create_Call): Add the Dispatching_Domain when creating a task
666 * par-prag.adb (Prag): Add Pragma_Dispatching_Domain as a known pragma.
667 * sem_prag.adb (Analyze_Pragma): Check the correctness of a pragma
668 Dispatching_Domain and add it to the task definition.
669 (Sig_Flags): Add Pragma_Dispatching_Domain.
670 * rtsfind.ads, rtsfind.adb (RTU_Id, RE_Id, Get_Unit_Name): Add the
671 support to find the types Dispatching_Domain and
672 Dispatching_Domain_Access.
673 * sinfo.ads, sinfo.adb (Has_Pragma_Dispatching_Domain,
674 Set_Has_Pragma_Dispatching_Domain): Add these subprograms to set and
675 query the availability of a pragma Dispatching_Domain.
676 * snames.ads-tmpl (Name_uDispatching_Domain): Add this name required by
677 the expander to pass the Dispatching_Domain when creating a task.
678 (Name_Dispatching_Domain): Add this new name for a pragma.
679 (Pragma_Id): Add the new Pragma_Dispatching_Domain.
680 * s-tassta.ads, s-tassta.adb (Create_Task): Set the domain to which the
681 task has been allocated at creation time.
682 * s-tarest.adb (Create_Restricted_Task): The dispatching domain using
683 Ravenscar is always null.
684 * s-taskin.ads, s-taskin.adb (Initialize_ATCB): Set the domain to which
685 the task has been allocated at creation time.
686 * s-tporft.adb (Register_Foreign_Thread): A foreign task will not have
687 a specific dispatching domain.
688 * s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-vxworks.adb,
689 s-taprop-mingw.adb (Create_Task): Check whether both Dispatching_Domain
690 and CPU are specified for the task, and the CPU value is not contained
691 within the range of processors for the domain.
692
6932011-08-31 Vincent Celier <celier@adacore.com>
694
695 * make.adb (Original_Gcc) : New constant String_Access.
696 (Gnatmake): For VM targets, do not use VM version of the compiler if
697 --GCC= has been specified.
698
6992011-08-31 Thomas Quinot <quinot@adacore.com>
700
701 * sem_ch5.adb: Minor reformatting.
702
7032011-08-31 Ed Schonberg <schonberg@adacore.com>
704
705 * exp_pakd.adb (Convert_To_PAT_Type): If prefix is a function call, do
706 not reanalyze it.
707
7082011-08-31 Bob Duff <duff@adacore.com>
709
710 * exp_ch4.adb (Expand_N_Selected_Component): Use the full type, in case
711 the access type is private; we don't care about privacy in expansion.
712
7132011-08-31 Ed Schonberg <schonberg@adacore.com>
714
715 * sem_aggr.adb (Resolve_Aggregate): In an instance, ignore aggregate
716 subcomponents tnat may be limited, because they originate in view
717 conflicts. If the original aggregate is legal and the actuals are
718 legal, the aggregate itself is legal.
719
b8789727
AC
7202011-08-31 Matthew Heaney <heaney@adacore.com>
721
722 * a-rbtgbo.adb (Clear_Tree): Assert representation invariant for lock
723 status.
724
7252011-08-31 Ed Schonberg <schonberg@adacore.com>
726
727 * sem_ch5.adb: Set kind of loop parameter properly, to preserve all
728 errors in B tests.
729
7302011-08-31 Jose Ruiz <ruiz@adacore.com>
731
732 * sem_ch13.adb (Analyze_Aspect_Specifications): For the Priority and
733 Interrupt_Priority aspects, force the analysis of the aspect expression
734 (when building the equivalent pragma). Otherwise, its analysis is done
735 too late, after the task or protected object has been created.
736 * sem_ch9.adb (Analyze_Single_Protected_Declaration,
737 Analyze_Single_Task_Declaration): Remove the code to move the aspects
738 to the object declaration because they are needed in the type
739 declaration.
740
e0c32166
AC
7412011-08-31 Robert Dewar <dewar@adacore.com>
742
743 * exp_ch5.adb, exp_ch7.ads, sem_ch5.adb, put_scos.adb, s-rannum.adb,
744 a-rbtgbo.adb, exp_intr.adb, a-cbdlli.adb, a-cbdlli.ads: Minor
745 reformatting.
746
7472011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
748
749 * exp_util.adb (Find_Protection_Type): Do not look for fields _object
750 if the corresponding type is malformed due to restriction violations.
751
7522011-08-31 Robert Dewar <dewar@adacore.com>
753
754 * s-ransee.ads, s-ransee.adb: Minor reformatting.
755
7562011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
757
758 * exp_ch4.adb (Expand_N_Allocator): Correct faulty condition which
759 would cause the generation of Set_Finalize_Address if the target is a
760 VM and the designated type is not derived from [Limited_]Controlled.
761
7622011-08-31 Arnaud Charlet <charlet@adacore.com>
763
764 * comperr.adb, comperr.ads, gnat1drv.adb (Delete_SCIL_Files): New
765 subprogram.
766 (Compiler_Abort, Gnat1drv): Call Delete_SCIL_Files in codepeer mode in
767 case of a compilation error.
768
7692011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
770
771 * init.c (__gnat_error_handler): Standardize the stack overflow or
772 erroneous memory access message.
773 * seh_init.c (__gnat_SEH_error_handler): Standardize the stack overflow
774 or erroneous memory access message.
775
11bc76df
AC
7762011-08-31 Robert Dewar <dewar@adacore.com>
777
778 * sem_ch4.adb: Minor reformatting.
779 * sem_ch6.adb: Minor code reorganization (use Ekind_In).
780
7812011-08-31 Thomas Quinot <quinot@adacore.com>
782
783 * scos.ads: Minor documentation clarification.
784 * put_scos.adb: Do not generate SCO unit header line for a unit that
785 has no SCO lines.
786
876d4394
RD
7872011-08-31 Robert Dewar <dewar@adacore.com>
788
789 * a-rbtgbo.adb, alfa_test.adb: Minor reformatting.
790
36b8f95f
AC
7912011-08-31 Tristan Gingold <gingold@adacore.com>
792
793 * exp_ch7.ads, exp_ch7.adb (Finalization_Exception_Data): New type to
794 hold variables between these following subprograms.
795 (Build_Exception_Handler, Build_Object_Declarations,
796 Build_Raise_Statement): Use the above type as parameter.
797 Make the above adjustments.
798 * exp_intr.adb (Expand_Unc_Deallocation): Adjust.
799
8002011-08-31 Pascal Obry <obry@adacore.com>
801
802 * projects.texi: Minor reformatting.
803
8042011-08-31 Tristan Gingold <gingold@adacore.com>
805
806 * s-ransee.ads, s-ransee.adb: Add system.random_seed unit.
807 * s-rannum.adb (Reset): Use Get_Seed from s-ransee.
808
8092011-08-31 Ed Schonberg <schonberg@adacore.com>
810
811 * exp_ch5.adb: Minor code cleanup.
812 * sem_ch5.adb (Analyze_Iteration_Scheme): Set ekind of loop variable to
813 prevent cascaded errors.
814 (Analyze_Loop_Statement): In semantics-only mode, introduce loop
815 variable of an iterator specification in current scope.
816 * sem_ch6.adb (Analyze_Return_Statement, Find_what_It_Apples_To): Skip
817 postconditions on the stack, as they contain no return statements.
818
8192011-08-31 Yannick Moy <moy@adacore.com>
820
821 * exp_alfa.adb (Expand_Alfa_N_Package_Declaration,
822 Expand_Alfa_N_Subprogram_Body): Remove useless procedures which simply
823 call Qualify_Entity_Names.
824 (Expand_Alfa): call Qualify_Entity_Names in more cases
825 * lib-xref-alfa.adb: Take into account system package.
826 * sem_prag.adb Take into account restrictions in Alfa mode, contrary to
827 CodePeer mode in which we are interested in finding bugs even if
828 compiler cannot compile source.
829 * sem_util.adb, sem_util.ads (Unique_Entity): Take into account case of
830 deferred constant.
831
8322011-08-31 Gary Dismukes <dismukes@adacore.com>
833
834 * sem_ch3.adb (Constrain_Concurrent): Retrieve Base_Type of the subtype
835 denoted by the subtype mark to ensure getting the concurrent type in
836 the case where the subtype mark denotes a private subtype of a
837 concurrent type (needed when using -gnatc).
838 (Process_Subtype): For the processing specific to type kinds, case on
839 the Base_Type kind of the Subtype_Mark_Id, to handle cases where the
840 subtype denotes a private subtype whose base type is nonprivate (needed
841 for subtypes of private fulfilled by task types when compiling with
842 -gnatc).
843
8442011-08-31 Gary Dismukes <dismukes@adacore.com>
845
846 * sem_disp.adb (Check_Dispatching_Operation): Bypass registration of
847 late primitives that override interface operations when the full
848 expander is not active, to avoid blowups in Register_Primitive when
849 types don't have associated secondary dispatch tables.
850
8512011-08-31 Yannick Moy <moy@adacore.com>
852
853 * alfa_test.adb: Code clean up.
854
8552011-08-31 Marc Sango <sango@adacore.com>
856
857 * restrict.adb (Check_SPARK_Restriction): Change Comes_From_Source (N)
858 by Comes_From_Source (Original_Node (N)) in order to treat also the
859 nodes which have been rewritten.
860 * sem_ch4.adb (Analyze_Explicit_Dereference, Analyze_Slice): Guard the
861 explicit dereference and slice violation in spark mode on the nodes
862 coming only from the source code.
863
8cf23b91
AC
8642011-08-31 Robert Dewar <dewar@adacore.com>
865
866 * exp_ch5.adb, exp_alfa.ads, prj.ads, sem_attr.adb,
867 lib-xref-alfa.adb: Minor reformatting.
868
8692011-08-31 Matthew Heaney <heaney@adacore.com>
870
871 * a-crbltr.ads (Tree_Type): Default-initialize the Nodes component.
872
8732011-08-31 Javier Miranda <miranda@adacore.com>
874
875 * sem_ch4.adb (Try_Object_Operation): Addition of one formal to search
876 only for class-wide subprograms conflicting with entities of concurrent
877 tagged types.
878
8792011-08-31 Matthew Heaney <heaney@adacore.com>
880
881 * a-rbtgbo.adb (Generic_Allocate): Initialize pointer components of
882 node to null value.
883
8842011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
885
886 * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Provide a more
887 general description of the routine.
888
8892011-08-31 Ed Schonberg <schonberg@adacore.com>
890
891 * a-cbdlli.adb, a-cbdlli.ads: Add iterator machinery to bounded
892 doubly-linked lists.
893
0bb3bfb8
GD
8942011-08-31 Gary Dismukes <dismukes@adacore.com>
895
896 * exp_ch5.adb (Expand_N_Assignment_Statement): When a discriminant
897 check is needed for a left-hand side that is a dereference, and the
898 base type is private without discriminants (whereas the full type does
899 have discriminants), an extra retrieval of the underlying type may be
900 needed in the case where the subtype is a record subtype whose base
901 type is private. Update comments.
902
11fa950b
AC
9032011-08-31 Javier Miranda <miranda@adacore.com>
904
905 * sem_ch4.adb (Try_Object_Operation): When a dispatching primitive is
906 found check if there is a class-wide subprogram covering the primitive.
907
9082011-08-31 Yannick Moy <moy@adacore.com>
909
910 * sem_res.adb: Further cases where full expansion test is needed,
911 rather than expansion test.
912
9132011-08-31 Pascal Obry <obry@adacore.com>
914
915 * prj-attr.adb: Fix Source_File_Switches attribute kind (must be a list)
916
9172011-08-31 Ed Schonberg <schonberg@adacore.com>
918
919 * exp_ch5.adb: Handle iterators over derived container types.
920
9212011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
922
923 * einfo.ads, einfo.adb: Add new flag Has_Anonymous_Master.
924 (Has_Anonymous_Master): New routine.
925 (Set_Has_Anonymous_Master): New routine.
926 (Write_Entity_Flags): Add an entry for Has_Anonymous_Master.
927 * exp_ch4.adb: Add with and use clause for Sem_Ch8.
928 (Current_Anonymous_Master): New routine.
929 (Current_Unit_First_Declaration): Removed.
930 (Current_Unit_Scope): Removed.
931 (Expand_N_Allocator): Anonymous access-to-controlled types now chain
932 their objects on a per-unit heterogeneous finalization master.
933
9342011-08-31 Matthew Heaney <heaney@adacore.com>
935
936 * a-cbhama.adb, a-cbhase.adb (Insert): Check for zero-length buckets
937 array.
938
9392011-08-31 Jose Ruiz <ruiz@adacore.com>
940
941 * s-taprop-linux.adb (Create_Task): Avoid changing the affinity mask
942 when not needed.
943
9442011-08-31 Gary Dismukes <dismukes@adacore.com>
945
946 * sem_disp.adb (Propagate_Tag): Return without propagating in the case
947 where the actual is an unexpanded call to 'Input.
948
d2b4b3da
AC
9492011-08-31 Yannick Moy <moy@adacore.com>
950
951 * sem_ch4.adb: Code clean up.
952
9532011-08-31 Yannick Moy <moy@adacore.com>
954
955 * exp_alfa.adb, exp_alfa.ads: Minor correction of copyright notice.
956
9572011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
958
959 * exp_ch7.adb (Build_Array_Deep_Procs): Do not generate Deep_Finalize
960 and TSS primitive Finalize_Address if finalization is suppressed.
961 (Build_Record_Deep_Procs): Do not generate Deep_Finalize and TSS
962 primitive Finalize_Address if finalization is suppressed.
963
9642011-08-31 Jose Ruiz <ruiz@adacore.com>
965
966 * s-mudido-affinity.adb, s-taprop-linux.adb, s-taprop-mingw.adb,
967 s-taprop-solaris.adb, s-taprop-vxworks.adb (Set_Task_Affinity): Make
968 sure that the underlying task has already been created before trying
969 to change its affinity.
970 (Set_CPU): Use the term processor instead of CPU, as we do in
971 Assign_Task.
972
9732011-08-31 Vincent Celier <celier@adacore.com>
974
975 * prj-attr.adb: New Compiler attribute Source_File_Switches.
976 * prj-nmsc.adb (Process_Compiler): Process attribute
977 Source_File_Switches.
978 * prj.ads (Language_Config): New name list component
979 Name_Source_File_Switches.
980 * snames.ads-tmpl (Name_Source_File_Switches): New standard name.
981
9822011-08-31 Ed Schonberg <schonberg@adacore.com>
983
984 * sem_attr.adb (Analyze_Attribute, case 'Old): If prefix may be a
985 discriminated component of an actual, expand at once to prevent
986 ouf-of-order references with generated subtypes.
987
9882011-08-31 Yannick Moy <moy@adacore.com>
989
990 * lib-xref-alfa.adb (Add_Alfa_Xrefs): Do not take into account read
991 reference to operator in Alfa xrefs.
992
9932011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
994
995 * sem_ch12.adb (Freeze_Subprogram_Body): Add code to handle the case
996 where the parent instance was frozen before the current instance due to
997 the presence of a source body. Update calls to Insert_After_Last_Decl.
998 (Insert_After_Last_Decl): Renamed to Insert_Freeze_Node_For_Instance.
999 Update the comment which illustrates the purpose of the routine.
1000 Package instances are now frozen by source bodies which appear after
1001 the instance. This ensures that entities coming from within the
1002 instance are available for use in the said bodies.
1003 (Install_Body): Add code to handle the case where the parent instance
1004 was frozen before the current instance due to the presence of a source
1005 body. Update calls to Insert_After_Last_Decl.
1006
56812278
AC
10072011-08-31 Jose Ruiz <ruiz@adacore.com>
1008
1009 * s-taprop-linux.adb (Set_Task_Affinity): Avoid the use of anonymous
1010 access types.
1011 * affinity.c (__gnat_set_affinity_mask): Declare index variable.
1012
10132011-08-31 Yannick Moy <moy@adacore.com>
1014
1015 * sem_ch8.adb (Analyze_Subprogram_Renaming): Refine expander test in
1016 full-expander test.
16c3301a
AC
1017 * alfa.adb, alfa.ads, alfa_test.adb, ali.adb, debug.adb, errout.adb,
1018 errout.ads, erroutc.adb, expander.adb, exp_ch4.adb, exp_ch7.adb,
1019 freeze.adb, get_alfa.adb, get_alfa.ads, gnat1drv.adb, lib-writ.adb,
1020 lib-writ.ads, lib-xref.adb, lib-xref.ads, lib-xref-alfa.adb, opt.adb,
1021 opt.ads, put_alfa.adb, put_alfa.ads, restrict.adb, sem_ch12.adb,
1022 sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
1023 sem_prag.adb, sem_res.adb, sem_util.adb: Minor reformatting, renaming
1024 ALFA in Alfa (we dropped acronym).
56812278
AC
1025 * einfo.adb (Primitive_Operations): Correctly return list of primitive
1026 operations in a case where it returned previously No_Elist.
1027
7cda9727
RD
10282011-08-31 Robert Dewar <dewar@adacore.com>
1029
1030 * s-taprop-vxworks.adb, sem_ch5.adb, s-taprop-tru64.adb, exp_alfa.adb,
1031 s-taprop-vms.adb, bindgen.adb, s-mudido.adb, s-mudido.ads,
1032 sem_res.adb, expander.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
1033 s-taprop-solaris.adb, s-mudido-affinity.adb, vms_conv.adb,
1034 s-taprop-irix.adb, s-taprop.ads, s-taskin.adb, s-taskin.ads,
1035 s-taprop-hpux-dce.adb, a-chtgbo.adb, s-taprop-posix.adb: Minor
1036 reformatting.
1037
0a190dfd
AC
10382011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
1039
1040 * sem_ch12 (Check_Private_View): Revert previous change.
1041 * sem_res.adb (Conversion_Check): Do not emit the error message if the
1042 conversion is in a generic instance.
1043
10442011-08-31 Matthew Heaney <heaney@adacore.com>
1045
1046 * a-cbhase.adb (Symmetric_Difference): Dereference correct node array.
1047 * a-chtgbo.adb (Free): Allow 0 as index value.
1048
10492011-08-31 Matthew Heaney <heaney@adacore.com>
1050
1051 * a-cborma.adb (Insert): Add comment to explain why no element
1052 assignment.
1053
10542011-08-31 Gary Dismukes <dismukes@adacore.com>
1055
1056 * sem_util.adb (Find_Body_Discriminal): Test whether the scope of the
1057 spec discriminant is already a concurrent type, in which case just use
1058 it, otherwise fetch the Corresponding_Concurrent_Type as before.
1059
7d266442
EB
10602011-08-30 Eric Botcazou <ebotcazou@adacore.com>
1061
1062 * system-irix-n64.ads, system-linux-armeb.ads, system-linux-armel.ads,
1063 system-linux-mips.ads, system-linux-mipsel.ads,
1064 system-linux-mips64el.ads, system-linux-ppc64.ads,
1065 system-linux-sparcv9.ads, system-rtems.ads: Remove GCC_ZCX_Support.
1066
4f1a975c
EB
10672011-08-30 Eric Botcazou <ebotcazou@adacore.com>
1068
1069 * gcc-interface/ada-tree.h (TYPE_EXTRA_SUBTYPE_P): Add internal check.
1070 * gcc-interface/utils2.c (build_binary_op): Tighten condition.
1071 (build_unary_op): Likewise.
1072
f2991b48
EB
10732011-08-30 Eric Botcazou <ebotcazou@adacore.com>
1074
1075 * raise-gcc.c: Do not include coretypes.h and tm.h.
1076 (setup_to_install): Remove test for compiler macro.
1077 * targext.c: Document use for the library.
1078 * gcc-interface/Makefile.in: Fix comment on the use of IN_GCC.
1079
10a22f43
EB
10802011-08-30 Eric Botcazou <ebotcazou@adacore.com>
1081
1082 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not convert
1083 the expression to the nominal type if the latter is a record type with
1084 a variant part and the type of the former is a record type without one.
1085
bfa2e39d
AC
10862011-08-30 Yannick Moy <moy@adacore.com>
1087
1088 * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
1089 expansion in Alfa mode.
1090 * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public
1091 * exp_alfa.adb, exp_alfa.ads: New package defining light expansion for
1092 Alfa mode.
1093 * gnat1drv.adb (Adjust_Global_Switches): Update Comment.
1094 * sem_res.adb: Ditto.
bd34109a 1095 * gcc-interface/Make-lang.in: Update dependencies.
bfa2e39d
AC
1096
10972011-08-30 Thomas Quinot <quinot@adacore.com>
1098
1099 * g-socket.ads: Minor documentation adjustment.
1100
a0347839
AC
11012011-08-30 Robert Dewar <dewar@adacore.com>
1102
1103 * exp_ch9.adb, s-tassta.adb, s-secsta.adb: Minor reformatting.
1104
11052011-08-30 Yannick Moy <moy@adacore.com>
1106
1107 * exp_ch6_light.adb, exp_ch6_light.ads, exp_attr_light.adb,
1108 exp_attr_light.ads, exp_ch7_light.adb, exp_ch7_light.ads,
1109 exp_light.adb, exp_light.ads, exp_prag.adb, expander.adb,
1110 gnat1drv.adb, exp_ch11.adb, exp_ch6.adb, exp_ch6.ads, exp_aggr.adb:
1111 Revert change which introduced files for "light"
1112 expansion, to be replaced by a single file for Alfa expansion.
1113
3597c0e9
RD
11142011-08-30 Robert Dewar <dewar@adacore.com>
1115
1116 * opt.ads, s-soflin.adb, exp_ch9.adb, sem_res.adb: Update comment.
1117 Minor code reorg/reformatting.
1118
da94696d
AC
11192011-08-30 Yannick Moy <moy@adacore.com>
1120
1121 * opt.adb, opt.ads (Full_Expander_Active): New function defines a
1122 common shorthand for (Expander_Active and not ALFA_Mode) that can be
1123 used for testing full expansion, that is active expansion not in the
1124 reduced mode for Alfa
1125 * exp_ch4.adb, exp_ch9.adb, exp_disp.adb, sem_ch10.adb, sem_ch12.adb,
1126 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Use newly defined "flag" instead
1127 of the verbose (Expander_Active and not ALFA_Mode)
1128
11292011-08-30 Tristan Gingold <gingold@adacore.com>
1130
1131 * s-parame-vms-alpha.ads, s-parame-hpux.ads, s-tassta.adb,
1132 s-tarest.adb, s-parame-vms-ia64.ads, s-soflin.adb, s-secsta.adb,
5b8ca141
TG
1133 s-secsta.ads, s-parame.ads, s-parame-vxworks.ads, s-parame-ae653.ads:
1134 Renames Ratio to Percentage, and Sec_Stack_Ratio to Sec_Stack_Percentage
da94696d 1135
c199ccf7
AC
11362011-08-30 Gary Dismukes <dismukes@adacore.com>
1137
1138 * sem_res.adb (Valid_Conversion): Revise test for implicit anonymous
1139 access conversions to check that the conversion is a rewritten node,
1140 rather than just having Comes_From_Source set to False, which wasn't
1141 sufficient.
1142
11432011-08-30 Robert Dewar <dewar@adacore.com>
1144
1145 * exp_ch9.adb, sem_ch9.adb, sem_ch6.adb, exp_disp.adb,
1146 g-socket.ads: Minor reformatting.
1147
11482011-08-30 Thomas Quinot <quinot@adacore.com>
1149
1150 * sem_util.adb: Minor reformatting.
1151
11522011-08-30 Tristan Gingold <gingold@adacore.com>
1153
1154 * raise-gcc.c: Never catch exception if _UA_FORCE_UNWIND flag is set,
1155 to be compliant with the ABI.
1156
dff99e1a
AC
11572011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
1158
1159 * sem_ch12.adb (Check_Private_View): Exchange the private and full view
1160 of a designated type when the related access type is an actual in an
1161 instance. This ensures that the full view of designated type is
1162 available when inside the body of the instance.
1163
11642011-08-30 Ed Schonberg <schonberg@adacore.com>
1165
1166 * sem_util.adb (May_Be_Lvalue): To determine whether a reference may be
1167 in a position to be modified, a slice is treated like an indexed
1168 component.
1169
63be2a5a
AC
11702011-08-30 Thomas Quinot <quinot@adacore.com>
1171
1172 * s-oscons-tmplt.c, g-socket.ads: Adjust maximum allowed value for
1173 field tv_sec in struct timeval.
1174
11752011-08-30 Yannick Moy <moy@adacore.com>
1176
1177 * exp_ch9.adb, exp_disp.adb, sem_ch9.adb, sem_res.adb: Protect several
1178 blocks of code doing full expansion, previously only guarded by
1179 Expander_Active, by anding the test that ALFA_Mode is not set
1180
11812011-08-30 Ed Schonberg <schonberg@adacore.com>
1182
1183 * sem_ch6.adb (Analyze_Return_Type): If the return type is incomplete,
1184 add the function to the list of private dependents, for subsequent
1185 legality check on Taft amendment types.
1186 * sem_ch12.adb (Analyze_Formal_Incomplete_Type): Initialize
1187 Private_Dependents, as for other incomplete types.
1188 * sem_util.adb (Wrong_Type): Avoid cascaded errors when a
1189 Taft-amendment type is used as the return type of a function.
1190
dd54644b
JM
11912011-08-30 Javier Miranda <miranda@adacore.com>
1192
1193 * sem_ch3.adb (Check_Abstract_Overriding): Code cleanup: replace code
1194 which emits an error by a call to a new routine which report the error.
1195 * exp_ch9.adb (Build_Wrapper_Spec): Build the wrapper even if the
1196 entity does not cover an existing interface.
1197 * errout.ads, errout.adb (Error_Msg_PT): New routine. Used to factorize
1198 code.
1199 * sem_ch6.adb (Check_Conformance): Add specific error for wrappers of
1200 protected procedures or entries whose mode is not conformant.
1201 (Check_Synchronized_Overriding): Code cleanup: replace code which emits
1202 an error by a call to a new routine which report the error.
1203
d3ba478e
AC
12042011-08-30 Robert Dewar <dewar@adacore.com>
1205
1206 * gnat_rm.texi: Minor change.
1207 * exp_attr_light.adb: Minor reformatting.
1208
12092011-08-30 Ed Schonberg <schonberg@adacore.com>
1210
1211 * sem_ch3.adb: Patch inheritance of aspects in
1212 Complete_Private_Subtype, to avoid infinite loop.
1213
c01817d2
AC
12142011-08-30 Javier Miranda <miranda@adacore.com>
1215
1216 * sem_ch3.adb (Add_Internal_Interface_Entities): If serious errors have
1217 been reported and a subprogram covering an interface primitive is not
1218 found then skip generating the internal entity. Done to avoid crashing
1219 the frontend.
1220 (Check_Abstract_Overriding): Change text of error of wrong formal of
1221 protected subprogram or entry. Done for consistency to emit exactly the
1222 same error reported by Check_Synchronized_Overriding. In addition, the
1223 error is restricted to protected types (bug found working on AI05-0090)
1224
12252011-08-30 Yannick Moy <moy@adacore.com>
1226
1227 * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
1228 expansion in Alfa mode.
1229 * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public.
1230 * exp_light.adb, exp_light.ads: New package defining light expansion.
1231 * expander.adb (Expand): Call light expansion in Alfa mode
1232 * exp_ch6_light.adb, exp_ch6_light.ads: Light expansion of chapter 6
1233 constructs.
1234 * exp_ch7_light.adb, exp_ch7_light.ads: Light expansion of chapter 7
1235 constructs.
1236 * exp_attr_light.adb, exp_attr_light.ads: Light expansion of attributes
1237 * gnat1drv.adb (Adjust_Global_Switches): Comment
1238
12392011-08-30 Yannick Moy <moy@adacore.com>
1240
1241 * lib-xref-alfa.adb: Minor refactoring.
1242
12432011-08-30 Yannick Moy <moy@adacore.com>
1244
1245 * exp_ch9.adb (Expand_Entry_Barrier): Do not perform expansion in Alfa
1246 mode.
1247 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not perform
1248 expansion in Alfa mode.
1249 * sem_ch9.adb (Analyze_Entry_Body): Do not perform expansion in Alfa
1250 mode.
1251
12522011-08-30 Robert Dewar <dewar@adacore.com>
1253
1254 * debug_a.adb: Update comment.
1255
996c8821
RD
12562011-08-30 Robert Dewar <dewar@adacore.com>
1257
1258 * exp_ch5.adb, sem_ch3.adb, sem_ch5.adb, einfo.adb, checks.adb,
1259 sem_util.adb, sem_util.ads, sem_res.adb, s-stposu.adb, sem_attr.adb,
1260 exp_ch4.adb, exp_ch6.adb, lib-xref-alfa.adb,
1261 sem_ch8.adb, sem_disp.adb, exp_ch3.adb: Minor reformatting
1262
12632011-08-30 Robert Dewar <dewar@adacore.com>
1264
1265 * gnat_rm.texi: Add section on C.6(16) implementation advice for pragma
1266 volatile.
1267
3647ca26
HK
12682011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
1269
1270 * exp_ch3.adb (Expand_Freeze_Array_Type): Correct the call to
1271 Build_Finalization_Master by supplying an insertion node and enclosing
1272 scope. In its old version, the call did not generate a finalization
1273 master.
1274 (Expand_Freeze_Record_Type): Add local variable Has_AACC. Add code to
1275 recognize anonymous access-to-controlled components. Rewrite the
1276 machinery which creates finalization masters to service anonymous
1277 access-to-controlled components of a record type. In its current state,
1278 only one heterogeneous master is necessary to handle multiple anonymous
1279 components.
1280 (Freeze_Type): Comment reformatting.
1281 * rtsfind.ads: Add RE_Set_Is_Heterogeneous to tables RE_Id and
1282 RE_Unit_Table.
1283 * s-stposu.adb (Allocate_Any_Controlled): Rewrite the machinery which
1284 associates TSS primitive Finalize_Address with either the master itself
1285 or with the internal hash table depending on the mode of operation of
1286 the master.
1287
6d4e4fbc
JM
12882011-08-30 Javier Miranda <miranda@adacore.com>
1289
1290 * exp_ch3.adb (Make_Eq_If): If the etype of the _parent component is an
1291 interface type then do not generate code to compare this component.
1292 Required since they have no components and their equality operator is
1293 abstract.
1294
d15f9422
AC
12952011-08-30 Steve Baird <baird@adacore.com>
1296
1297 * sem_util.ads (Deepest_Type_Access_Level): New function; for the type
1298 of a saooaaat (i.e, a stand-alone object of an anonymous access type),
1299 returns the (static) accessibility level of the object. Otherwise, the
1300 same as Type_Access_Level.
1301 (Dynamic_Accessibility_Level): New function; given an expression which
1302 could occur as the rhs of an assignment to a saooaaat (i.e., an
1303 expression of an access-to-object type), return the new value for the
1304 saooaaat's associated Extra_Accessibility object.
1305 (Effective_Extra_Accessibility): New function; same as
1306 Einfo.Extra_Accessibility except that object renames are looked through.
1307 * sem_util.adb
1308 (Deepest_Type_Access_Level): New function; see sem_util.ads description.
1309 (Dynamic_Accessibility_Level): New function; see sem_util.ads
1310 description.
1311 (Effective_Extra_Accessibility): New function; see sem_util.ads
1312 description.
1313 * einfo.ads (Is_Local_Anonymous_Access): Update comments.
1314 (Extra_Accessibility): Update comments.
1315 (Init_Object_Size_Align): New procedure; same as Init_Size_Align
1316 except RM_Size field (which is only for types) is unaffected.
1317 * einfo.adb
1318 (Extra_Accessibility): Expand domain to allow objects, not just formals.
1319 (Set_Extra_Accessibility): Expand domain to allow objects, not just
1320 formals.
1321 (Init_Size): Add assertion that we are not trashing the
1322 Extra_Accessibility attribute of an object.
1323 (Init_Size_Align): Add assertion that we are not trashing the
1324 Extra_Accessibility attribute of an object.
1325 (Init_Object_Size_Align): New procedure; see einfo.ads description.
1326 * sem_ch3.adb (Find_Type_Of_Object): Set Is_Local_Anonymous_Access
1327 differently for the type of a (non-library-level) saooaaat depending
1328 whether Ada_Version < Ada_2012. This is the only point where Ada_Version
1329 is queried in this set of changes - everything else (in particular,
1330 setting of the Extra_Accessibility attribute in exp_ch3.adb) is
1331 driven off of the setting of the Is_Local_Anonymous_Access attribute.
1332 The special treatment of library-level saooaaats is an optimization,
1333 not required for correctnesss. This is based on the observation that the
1334 Ada2012 rules (static and dynamic) for saooaaats turn out to be
1335 equivalent to the Ada2005 rules in the case of a library-level saooaaat.
1336 * exp_ch3.adb
1337 (Expand_N_Object_Declaration): If Is_Local_Anonymous_Access is
1338 false for the type of a saooaaat, declare and initialize its
1339 accessibility level object and set the Extra_Accessibility attribute
1340 of the saooaaat to refer to this object.
1341 * checks.adb (Apply_Accessibility_Check): Add Ada 2012 saooaaat support.
1342 * exp_ch4.adb (Expand_N_In): Replace some Extra_Accessibility calls with
1343 calls to Effective_Extra_Accessibility in order to support
1344 renames of saooaaats.
1345 (Expand_N_Type_Conversion): Add new local function,
1346 Has_Extra_Accessibility, and call it when determining whether an
1347 accessibility check is needed.
1348 It returns True iff Present (Effective_Extra_Accessibility (Id)) would
1349 evaluate to True (without raising an exception).
1350 * exp_ch5.adb
1351 (Expand_N_Assignment_Statement): When assigning to an Ada2012
1352 saooaaat, update its associated Extra_Accessibility object (if
1353 it has one). This includes an accessibility check.
1354 * exp_ch6.adb (Add_Call_By_Copy_Code): When parameter copy-back updates
1355 a saooaaat, update its Extra_Accessibility object too (if it
1356 has one).
1357 (Expand_Call): Replace a couple of calls to Type_Access_Level
1358 with calls to Dynamic_Access_Level to handle cases where
1359 passing a literal (any literal) is incorrect.
1360 * sem_attr.adb (Resolve_Attribute): Handle the static accessibility
1361 checks associated with "Saooaat := Some_Object'Access;"; this must
1362 be rejected if Some_Object is declared in a more nested scope
1363 than Saooaat.
1364 * sem_ch5.adb (Analyze_Assignment): Force accessibility checking for an
1365 assignment to a saooaaat even if Is_Local_Anonymous_Access
1366 returns False for its type (indicating a 2012-style saooaaat).
1367 * sem_ch8.adb
1368 (Analyze_Object_Renaming): Replace a call to Init_Size_Align
1369 (which is only appropriate for objects, not types) with a call
1370 of Init_Object_Size_Align in order to avoid trashing the
1371 Extra_Accessibility attribute of a rename (the two attributes
1372 share storage).
1373 * sem_res.adb
1374 (Valid_Conversion) Replace six calls to Type_Access_Level with
1375 calls to Deepest_Type_Access_Level. This is a bit tricky. For an
1376 Ada2012 non-library-level saooaaat, the former returns library level
1377 while the latter returns the (static) accessibility level of the
1378 saooaaat. A type conversion to the anonymous type of a saooaaat
1379 can only occur as part of an assignment to the saooaaat, so we
1380 know that such a conversion must be in a lhs context, so Deepest
1381 yields the result that we need. If such a conversion could occur,
1382 say, as the operand of an equality operator, then this might not
1383 be right. Also add a test so that static accessibilty checks are
1384 performed for converting to a saooaaat's type even if
1385 Is_Local_Anonymous_Access yields False for the type.
1386
13872011-08-30 Javier Miranda <miranda@adacore.com>
1388
1389 * sem_disp.adb (Check_Dispatching_Operation): Complete condition that
1390 controls generation of a warning associated with late declaration of
1391 dispatching functions. Required to avoid generating spurious
1392 warnings.
1393
6cce2156
GD
13942011-08-30 Gary Dismukes <dismukes@adacore.com>
1395
1396 * sem_ch6.adb (Check_Return_Subtype_Indication): Issue error if the
1397 return object has an anonymous access type and the function's type is
1398 a named access type.
1399 * sem_ch8.adb (Analyze_Object_Renaming): Suppress error about renaming
1400 conversions on implicit conversions, since such conversions can occur
1401 for anonymous access cases due to expansion. Issue error for attempt
1402 to rename an anonymous expression as an object of a named access type.
1403 * sem_res.ads (Valid_Conversion): Add defaulted parameter Report_Errs,
1404 to indicate whether this function should report errors on invalid
1405 conversions.
1406 * sem_res.adb (Resolve): For Ada 2012, in the case where the type of
1407 the expression is of an anonymous access type and the expected type is
1408 a named general access type, rewrite the expression as a type
1409 conversion, unless this is an expression of a membership test.
1410 (Valid_Conversion.Error_Msg_N): New procedure that conditions the
1411 calling of Error_Msg_N on new formal Report_Errs.
1412 (Valid_Conversion.Error_Msg_NE): New procedure that conditions the
1413 calling of Error_Msg_NE on new formal Report_Errs.
1414 (Valid_Conversion): Move declaration of this function to the package
1415 spec, to allow calls from membership test processing. For Ada 2012,
1416 enforce legality restrictions on implicit conversions of anonymous
1417 access values to general access types, disallowing such conversions in
1418 cases where the expression has a dynamic accessibility level (access
1419 parameters, stand-alone anonymous access objects, or a component of a
1420 dereference of one of the first two cases).
1421 * sem_type.adb (Covers): For Ada 2012, allow an anonymous access type
1422 in the context of a named general access expected type.
1423 * exp_ch4.adb Add with and use of Exp_Ch2.
1424 (Expand_N_In): Add processing for membership tests applied to
1425 expressions of an anonymous access type. First, Valid_Conversion is
1426 called to check whether the test is statically False, and then the
1427 conversion is expanded to test that the expression's accessibility
1428 level is no deeper than that of the tested type. In the case of
1429 anonymous access-to-tagged types, a tagged membership test is applied
1430 as well.
1431 (Tagged_Membership): Extend to handle access type cases, applying the
1432 test to the designated types.
1433 * exp_ch6.adb (Expand_Call): When creating an extra actual for an
1434 accessibility level, and the actual is a 'Access applied to a current
1435 instance, pass the accessibility level of the type of the current
1436 instance rather than applying Object_Access_Level to the prefix. Add a
1437 ??? comment, since this level isn't quite right either (will eventually
1438 need to pass an implicit level parameter to init procs).
1439
747de90b
AC
14402011-08-30 Bob Duff <duff@adacore.com>
1441
1442 * s-taskin.ads: Minor comment fix.
1443
14442011-08-30 Ed Schonberg <schonberg@adacore.com>
1445
1446 * sem_res.adb (Check_Parameterless_Call): If the node is a selected
1447 component and the selector is a dispatching operation, check if it is
1448 a prefixed call before rewriting as a parameterless function call.
1449
cdc4cc65
JJ
14502011-08-29 Jakub Jelinek <jakub@redhat.com>
1451
1452 * gcc-interface/Makefile.in (../stamp-gnatlib1-$(RTSDIR)): Copy
1453 tsystem.h into $(RTSDIR) instead of rts.
1454
226a7fa4
AC
14552011-08-29 Robert Dewar <dewar@adacore.com>
1456
1457 * sem_ch10.adb, a-coorse.adb, exp_dist.adb, exp_ch3.adb: Minor
1458 reformatting.
1459 * gcc-interface/Make-lang.in: Update dependencies.
1460
14612011-08-29 Yannick Moy <moy@adacore.com>
1462
1463 * alfa.ads (Name_Of_Heap_Variable): New constant name.
1464 * lib-xref-alfa.adb, lib-xref.adb, lib-xref.ads (Drefs): New global
1465 table to hold dereferences.
1466 (Add_ALFA_Xrefs): Take into account dereferences as special
1467 reads/writes to the variable "HEAP".
1468 (Enclosing_Subprogram_Or_Package): Move subprogram here.
1469 (Generate_Dereference): New procedure to store a read/write dereferencew
1470 in the table Drefs.
1471 * put_alfa.adb (Put_ALFA): Use different default than (0,0) used for
1472 the special "HEAP" var.
1473 * sem_ch4.adb (Analyze_Explicit_Dereference): Store read dereference
1474 in ALFA mode.
1475 * sem_util.adb (Note_Possible_Modification): Store write dereference
1476 in ALFA mode.
1477
dfbcb149
HK
14782011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
1479
1480 * exp_ch3.adb (Freeze_Type): Generate an accessibility check which
1481 ensures that the level of the subpool access type is not deeper than
1482 that of the pool object.
1483 * sem_util.adb (Object_Access_Level): Expand to handle defining
1484 identifiers.
1485 * sem_res.adb (Resolve_Allocator): Add a guard to avoid examining the
1486 subpool handle name of a rewritten allocator.
1487
1df4f514
AC
14882011-08-29 Robert Dewar <dewar@adacore.com>
1489
1490 * impunit.adb, exp_ch4.adb, s-finmas.adb: Minor reformatting.
1491
14922011-08-29 Thomas Quinot <quinot@adacore.com>
1493
1494 * exp_dist.adb (TC_Rec_Add_Process_Element): For a choice with multiple
1495 values, we generate multiple triples of parameters in the TypeCode.
1496 Bump Choice_Index for each such triple so that a subsequent default
1497 choice is associated with the correct index in the typecode.
1498
14992011-08-29 Ed Schonberg <schonberg@adacore.com>
1500
1501 * a-cdlili.adb (Iterate): Initialize properly an iterator over a null
1502 container.
1503 (First, Last): Handle properly an iterator over a null container.
1504
15052011-08-29 Bob Duff <duff@adacore.com>
1506
1507 * sem_ch10.adb (Analyze_With_Clause,Install_Withed_Unit): Abandon
1508 processing if we run across a node with no Scope. This can happen if
1509 we're with-ing an library-level instance, and that instance got errors
1510 that caused "instantiation abandoned".
1511 * sem_util.adb (Unit_Declaration_Node): Make it more robust, by raising
1512 an exception instead of using Assert, so it won't go into an infinite
1513 loop, even when assertions are turned off.
1514
15152011-08-29 Ed Schonberg <schonberg@adacore.com>
1516
1517 * a-coorse.adb: Proper handling of empty ordered sets.
1518
14f0f659
AC
15192011-08-29 Johannes Kanig <kanig@adacore.com>
1520
1521 * debug.adb: Add comments.
1522
8027b455
AC
15232011-08-29 Thomas Quinot <quinot@adacore.com>
1524
1525 * a-except.adb, a-except-2005.adb: Minor comment rewording and
1526 reformatting.
1527
15282011-08-29 Yannick Moy <moy@adacore.com>
1529
1530 * sem_ch3.adb (Array_Type_Declaration): Remove insertion of
1531 declaration for Itypes in Alfa mode.
1532
d85fd922
AC
15332011-08-29 Robert Dewar <dewar@adacore.com>
1534
1535 * a-cdlili.ads, a-coinve.ads, a-coorma.adb, a-coorma.ads, s-tassta.adb,
1536 a-cborma.adb, a-cborma.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
1537 a-cborse.ads, a-cobove.adb, a-cobove.ads, a-cbhase.ads: Minor
1538 reformatting.
1539
15402011-08-29 Tristan Gingold <gingold@adacore.com>
1541
1542 * exp_ch7.adb, exp_ch7.ads (Build_Exception_Handler): Move its spec to
1543 package spec.
1544 * exp_intr.adb (Expand_Unc_Deallocation): Use Build_Exception_Handler.
1545 * a-except.adb, a-except-2005.adb (Rcheck_22): Do not defer aborts
1546 while raising PE.
1547
fd3d2680
AC
15482011-08-29 Robert Dewar <dewar@adacore.com>
1549
1550 * a-cbhama.adb, a-cbhama.ads: Minor reformatting.
1551
15522011-08-29 Javier Miranda <miranda@adacore.com>
1553
1554 * sem_ch8.adb (Analyze_Subprogram_Renaming): Complete support for
1555 renamings of formal subprograms when the actual for a formal type is
1556 class-wide.
1557
dfbf013f
MH
15582011-08-29 Matthew Heaney <heaney@adacore.com>
1559
1560 * a-cbhama.ads, a-cbhase.ads (Move): Clear Source following assignment
1561 to Target.
1562
15632011-08-29 Matthew Heaney <heaney@adacore.com>
1564
1565 * a-cborma.ads, a-cborse.ads (Cursor): Default-initialize all
1566 components of record type.
1567 * a-cborma.adb, a-cborse.adb (Move): Clear Source following assignmentw
1568 to Target.
1569
a6dd3a54
ES
15702011-08-29 Ed Schonberg <schonberg@adacore.com>
1571
1572 * a-cbhama.adb, a-cbhama.ads, a-cborma.adb, a-cborma.ads, a-cobove.adb,
1573 a-cobove.ads, a-coorma.adb, a-coorma.ads: Add iterator machinery to
1574 container packages.
1575
c54796e0
AC
15762011-08-29 Robert Dewar <dewar@adacore.com>
1577
1578 * sem_ch3.adb, sem_util.adb, gnat1drv.adb, s-parint.ads: Minor
1579 reformatting.
1580
15812011-08-29 Matthew Heaney <heaney@adacore.com>
1582
1583 * a-cbhama.ads, a-cbhase.ads (Cursor): Default-initialize all
1584 components of record type.
1585
15862011-08-29 Bob Duff <duff@adacore.com>
1587
1588 * s-tassta.adb (Task_Wrapper): Handle and ignore exceptions propagated
1589 by the termination handler.
1590
9fd9d2be
AC
15912011-08-29 Yannick Moy <moy@adacore.com>
1592
1593 * sem_ch3.adb (Array_Type_Declaration): Create declarations for Itypes
1594 created in Alfa mode, instead of inserting artificial declarations of
1595 non-Itypes in the tree.
1596 * sem_util.adb, sem_util.ads (Itype_Has_Declaration): New function to
1597 know if an Itype has a corresponding declaration, as defined in
1598 itypes.ads.
1599
16002011-08-29 Yannick Moy <moy@adacore.com>
1601
1602 * gnat1drv.adb: Minor rewrite.
1603
16042011-08-29 Bob Duff <duff@adacore.com>
1605
1606 * s-tasuti.adb (Make_Passive): Work around race condition in
1607 Make_Independent, which can cause Wait_Count to be zero. So instead of
1608 asserting that Wait_Count > 0, and then decrementing it, decrement it
1609 only if Wait_Count > 0.
1610 * s-taskin.ads (Wait_Count, Alive_Count, Awake_Count): All of these
1611 should be nonnegative, so declare them Natural instead of Integer.
1612
833eaa8a
AC
16132011-08-29 Robert Dewar <dewar@adacore.com>
1614
1615 * exp_ch5.adb, sem_ch3.adb, a-cihama.adb, a-cihama.ads, exp_ch7.adb,
1616 sem_ch5.adb, a-ciorse.adb, a-ciorse.ads, sem_ch12.adb, a-cidlli.adb,
1617 a-cidlli.ads, sem_util.adb, sem_res.adb, gnat1drv.adb, a-except.adb,
1618 a-except.ads, a-except-2005.ads, sem_ch4.adb, exp_disp.adb,
1619 exp_aggr.adb, sem_ch13.adb, par-ch3.adb: Minor reformatting.
1620
16212011-08-29 Tristan Gingold <gingold@adacore.com>
1622
1623 * s-auxdec-vms-alpha.adb: Add comments, remove some HT before labels.
1624
16252011-08-29 Vadim Godunko <godunko@adacore.com>
1626
1627 * s-parint.ads: Minor comment clarification.
1628
16292011-08-29 Vincent Celier <celier@adacore.com>
1630
1631 * prj.adb (Initialize): Make sure that new reserved words after Ada 95
1632 may be used as identifiers.
1633
16342011-08-29 Ed Schonberg <schonberg@adacore.com>
1635
1636 * a-coinho.ads: Minor reformating.
1637
3a613a36
AC
16382011-08-29 Ed Schonberg <schonberg@adacore.com>
1639
1640 * exp_ch5.adb (Expand_Iterator_Loop): Handle properly a loop over a
1641 container of a derived type.
1642
3a613a36
AC
16432011-08-29 Ed Schonberg <schonberg@adacore.com>
1644
1645 * a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads,
1646 a-ciorse.adb, a-ciorse.ads: Add iterator machinery to containers.
1647
14848f57
AC
16482011-08-29 Pascal Obry <obry@adacore.com>
1649
1650 * exp_disp.adb: Minor comment fix.
1651 (Make_Disp_Asynchronous_Select_Body): Properly initialize out parameters
1652 to avoid warnings when compiling with -Wall.
1653 (Make_Disp_Conditional_Select_Body): Likewise.
1654 (Make_Disp_Timed_Select_Body): Likewise.
1655
16562011-08-29 Ed Schonberg <schonberg@adacore.com>
1657
1658 * sem_ch12.adb (Analyze_Formal_Subprogram_Declaration): If default is
1659 an entity name, generate reference for it.
1660
16612011-08-29 Ed Schonberg <schonberg@adacore.com>
1662
1663 * exp_ch5.adb (Expand_Iterator_Loop): Uniform handling of "X of S"
1664 iterator form.
1665 * sem_util.adb (Is_Iterator, Is_Reversible_Iterator): Yield True for
1666 the class-wide type.
1667 * sem_ch5.adb: Move some rewriting to the expander, where it belongs.
1668
16692011-08-29 Ed Schonberg <schonberg@adacore.com>
1670
1671 * sem_ch8.adb (Check_Constrained_Object): Do not create an actual
1672 subtype for an object whose type is an unconstrained union.
1673
16742011-08-29 Ed Schonberg <schonberg@adacore.com>
1675
1676 * par-ch3.adb (P_Array_Type_Definiation, P_Component_Items): "aliased"
1677 is allowed in a component definition, by AI95-406.
1678
16792011-08-29 Matthew Heaney <heaney@adacore.com>
1680
1681 * a-chtgbo.adb (Generic_Iteration): Use correct overloading of Next.
1682
16832011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
1684
1685 * a-except-2005.adb: Alphabetize all routines.
1686 (Triggered_By_Abort): New routine.
1687 * a-except-2005.ads (Triggered_By_Abort): New routine.
1688 * a-except.adb Alphabetize all routines.
1689 (Triggered_By_Abort): New routine.
1690 * a-except.ads (Triggered_By_Abort): New routine.
1691 * exp_ch7.adb: Update all comments involving the detection of aborts in
1692 finalization code.
1693 (Build_Object_Declarations): Do not generate code to detect the
1694 presence of an abort at the start of finalization code, use a runtime
1695 routine istead.
1696 * rtsfind.ads: Add RE_Triggered_By_Abort to tables RE_Id and
1697 RE_Unit_Table.
1698 * sem_res.adb (Resolve_Allocator): Emit a warning when attempting to
1699 allocate a task on a subpool.
1700 * s-stposu.adb: Add library-level flag Finalize_Address_Table_In_Use.
1701 The flag disables all actions related to the maintenance of
1702 Finalize_Address_Table when subpools are not in use.
1703 (Allocate_Any_Controlled): Signal the machinery that subpools are in
1704 use.
1705 (Deallocate_Any_Controlled): Do not call Delete_Finalize_Address which
1706 performs costly task locking when subpools are not in use.
1707
57a8057a
AC
17082011-08-29 Yannick Moy <moy@adacore.com>
1709
1710 * gnat1drv.adb (Adjust_Global_Switches): Restore expansion of tagged
1711 types and dispatching calls in Alfa mode.
1712 * lib-xref-alfa.adb (Collect_ALFA): Rewrite computation of
1713 correspondance between body and spec scopes, to reuse utility functions
1714 (Traverse_Declarations_Or_Statements): Protect access to body for stub
1715 by testing the presence of the library unit for the body
1716 * sem_ch6.adb (Set_Actual_Subtypes): take into account that in Alfa
1717 mode the expansion of accept statements is skipped
1718 * sem_util.adb, sem_util.ads (Unique_Entity): New function returning
1719 the unique entity corresponding to the one returned by
1720 Unique_Defining_Entity applied to the enclosing declaration of the
1721 argument.
1722
17232011-08-29 Bob Duff <duff@adacore.com>
1724
1725 * treepr.ads: Improve debugging facilities. pn(x) no longer crashes in
1726 gdb when x is not a node (it can be a node list, name_id, etc). pp is
1727 an alias for pn. ppp is an alias for pt.
1728
17292011-08-29 Javier Miranda <miranda@adacore.com>
1730
1731 * exp_aggr.adb (Expand_Record_Aggregate): Use the top-level enclosing
1732 aggregate to take a consistent decision on the need to convert into
1733 assignments aggregates that initialize constant objects.
1734
17352011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
1736
1737 * exp_ch4.adb (Expand_Allocator_Expression): Add a call to
1738 Build_Allocate_Deallocate_Proc in order to handle allocation of
1739 non-controlled objects on subpools.
1740 * impunit.adb: Remove s-finmas and s-spsufi since they were never meant
1741 to be end-user visible.
1742 * s-finmas.adb: Add with and use clause for System.HTable.
1743 Add an instantiation of Simple_HTable which provides a mapping between
1744 the address of a controlled object and the corresponding
1745 Finalize_Address used to clean up the object. The table is used when a
1746 master is operating in heterogeneous mode.
1747 (Attach): Explain why the input node is not verified on being already
1748 attached.
1749 (Delete_Finalize_Address): New routine.
1750 (Detach): Add pragma Assert which ensures that a node is already
1751 attached.
1752 (Finalize): Add local variable Cleanup. Rewrite the iteration scheme
1753 since nodes are no longer removed on traversal. Explain why node
1754 detachment is undesirable in this case.
1755 (Get_Finalize_Address): New routine.
1756 (Hash): New routine.
1757 (Is_Empty_List): Removed.
1758 (pm): Renamed to Print_Master. Add output for discriminant
1759 Is_Homogeneous.
1760 Comment reformatting.
1761 (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
1762 * s-finmas.ads: Various comments additions / improvements.
1763 Type Finalization_Master has a discriminant which determines the mode of
1764 operation.
1765 (Delete_Finalize_Address): New routine.
1766 (Get_Finalize_Address): New routine.
1767 (pm): Renamed to Print_Master.
1768 (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
1769 * s-stposu.adb: Add with clause for System.Address_Image; Add with and
1770 use clause for System.IO.
1771 (Allocate_Any_Controlled): Add machinery to set TSS primitive
1772 Finalize_Address depending on the mode of allocation and the mode of
1773 the master.
1774 (Deallocate_Any_Controlled): Remove the relation pair object -
1775 Finalize_Address regardless of the master mode. Add comment explaining
1776 the reason.
1777 (Detach): Ensure that fields Prev and Next are null after detachment.
1778 (Finalize_Pool): Remove local variable Next_Ptr. Rewrite the iteration
1779 scheme to check whether the list of subpools is empty. There is no
1780 longer need to store the next subpool or advance the current pointer.
1781 (Is_Empty_List): New routine.
1782 (Print_Pool): New routine.
1783 (Print_Subpool): New routine.
1784 * s-stposu.ads: Various comments additions / improvements.
1785 Field Master of type Root_Subpool is now a heterogeneous collection.
1786 (Print_Pool): New routine.
1787 (Print_Subpool): New routine.
1788
17892011-08-29 Ed Schonberg <schonberg@adacore.com>
1790
1791 * exp_ch5.adb (Expand_N_Iterator_Loop): Implement Ada2012 loop iterator
1792 forms, using aspects of container types.
1793 * sem_ch3.adb (Find_Type_Name): Preserve Has_Delayed_Aspects and
1794 Has_Implicit_Dereference flags, that may be set on the partial view.
1795 * sem_ch4.adb (Process_Overloaded_Indexed_Component): Prefix may be a
1796 container type with an indexing aspect.
1797 (Analyze_Quantified_Expression): Analyze construct with expansion
1798 disabled, because it will be rewritten as a loop during expansion.
1799 (Try_Container_Indexing): The prefix itself may be a container type
1800 with an indexing aspect, as with a vector of vectors.
1801 * sem_ch5.adb (Analyze_Iteration_Scheme): In a generic context, analyze
1802 the original doamin of iteration, for name capture.
1803 (Analyze_Iterator_Specification): If the domain is an expression that
1804 needs finalization, create a separate declaration for it.
1805 For an iterator with "of" retrieve default iterator info from aspect of
1806 container type. For "in" iterator, retrieve type of Iterate function.
1807 * sem_ch13.adb (Check_Iterator_Function): Fix typo.
1808 (Check_Aspect_At_End_Of_Declaration): Make type unfrozen before
1809 analysis, to prevent spurious errors about late attributes.
1810 * sprint.adb: Handle quantified expression with either loop or iterator
1811 specification.
1812 * a-convec.ads, a-convec.adb: Iterate function returns a reversible
1813 iterator.
1814
ddf67a1d
AC
18152011-08-29 Vincent Celier <celier@adacore.com>
1816
1817 * make.adb (Scan_Make_Arg): Take any option as is in packages Compiler,
1818 Binder or Linker of the main project file.
1819
18202011-08-29 Ed Schonberg <schonberg@adacore.com>
1821
1822 * inline.adb (Add_Scopes_To_Clean): Exclude any entity within a generic
1823 unit.
1824
18252011-08-29 Yannick Moy <moy@adacore.com>
1826
1827 * exp_ch9.adb: Partial revert of previous change for Alfa mode
1828
18292011-08-29 Yannick Moy <moy@adacore.com>
1830
1831 * exp_ch11.adb: Minor expansion of comment.
1832
18332011-08-29 Yannick Moy <moy@adacore.com>
1834
1835 * lib-xref-alfa.adb (Add_ALFA_Scope): Treat generic entities.
1836
18372011-08-29 Ed Schonberg <schonberg@adacore.com>
1838
1839 * sem_res.adb (Resolve_Arithmetic_Op): If the node has a universal
1840 interpretation, set the type before resolving the operands, because
1841 legality checks on an exponention operand need to know the type of the
1842 context.
1843
18442011-08-29 Ed Schonberg <schonberg@adacore.com>
1845
1846 * sem_ch12.adb (Analyze_Package_Instantiation): Do not set delayed
1847 cleanups on a master if the instance is within a generic unit.
1848 Complement to the corresponding fix to inline.adb for K520-030.
1849
18502011-08-29 Tristan Gingold <gingold@adacore.com>
1851
1852 * exp_ch7.adb (Build_Raise_Statement): Raise PE instead of the current
1853 occurrence.
1854 * exp_intr.adb: Minor comment fix.
1855
18562011-08-29 Bob Duff <duff@adacore.com>
1857
1858 * sem_ch13.adb (Analyze_Aspect_Specifications): Fix cases where
1859 Delay_Required was used as an uninitialized variable.
1860
690943fc
RD
18612011-08-29 Robert Dewar <dewar@adacore.com>
1862
1863 * a-cdlili.adb, a-cdlili.ads, a-coinve.adb, a-coinve.ads,
1864 sem_util.adb, sem_util.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb,
1865 a-coorse.ads, aspects.ads, sem_ch8.adb: Minor reformatting.
1866
9f0ee988
TQ
18672011-08-29 Thomas Quinot <quinot@adacore.com>
1868
1869 * system-freebsd-x86_64.ads (Backend_Overflow_Checks): Set true True.
1870 Remove unused variables.
1871
3e24afaa
AC
18722011-08-29 Ed Schonberg <schonberg@adacore.com>
1873
1874 * sem_res.adb: Remove Build_Explicit_Dereference.
1875 * sem_util.adb, sem_util.ads (Build_Explicit_Dereference): Moved here
1876 from sem_res.adb, used in analysis of additional constructs.
1877 (Is_Iterator, Is_Reversible_Iterator): New predicates for Ada2012
1878 expansion of iterators.
1879 (Is_Object_Reference): Recognize variables rewritten as explicit
1880 dereferences in Ada2012.
1881 * snames.ads-tmpl: Add Has_Element, Forward_Iterator,
1882 Reversible_Iterator names, for expansion of Ada2012 iterators.
1883 * aspects.ads, aspects.adb (Find_Aspect): Utility.
1884 * a-cdlili.ads, a-cdlili.adb: Add new iterator machinery to doubly
1885 linked list container.
1886 * a-coinve.ads, a-coinve.adb: Ditto for indefinite vector containers.
1887 * a-coorse.ads, a-coorse.adb: Ditto for ordered sets.
1888
18892011-08-29 Ed Schonberg <schonberg@adacore.com>
1890
1891 * a-cohama.adb, a-cohama.ads: Add iterator primitives to hashed map
1892 containers.
1893
18942011-08-29 Vincent Celier <celier@adacore.com>
1895
1896 * make.adb (Gnatmake): Get the maximum number of simultaneous
1897 compilation processes after the Builder switches has been scanned, as
1898 there may include -jnn.
1899
19002011-08-29 Matthew Heaney <heaney@adacore.com>
1901
1902 * a-chtgbo.adb (Generic_Equal): Use correct overloading of Next.
1903
19042011-08-29 Tristan Gingold <gingold@adacore.com>
1905
1906 * gnatcmd.adb (GNATCmd): On OpenVMS, truncate the length of
1907 GNAT_DRIVER_COMMAND_LINE to 255.
1908
19092011-08-29 Pascal Obry <obry@adacore.com>
1910
1911 * freeze.adb, sem_ch8.adb, a-convec.adb, a-convec.ads: Minor
1912 reformatting and style fix (class attribute casing).
1913
19142011-08-29 Yannick Moy <moy@adacore.com>
1915
1916 * exp_ch11.adb: Yet another case where expansion should be common
1917 between CodePeer and Alfa.
1918
19192011-08-29 Yannick Moy <moy@adacore.com>
1920
1921 * exp_ch9.adb: Partial revert of previous change for Alfa mode.
1922
19232011-08-29 Ed Schonberg <schonberg@adacore.com>
1924
1925 * sem_ch6.adb (Matches_Limited_With_View): The limited views of an
1926 incomplete type and its completion match.
1927
3ddd922e
AC
19282011-08-29 Yannick Moy <moy@adacore.com>
1929
1930 * exp_ch13.adb: Adjust previous change.
1931
19322011-08-29 Robert Dewar <dewar@adacore.com>
1933
1934 * sem_prag.adb, prj.adb, sem_util.adb, sem_res.adb, gnat1drv.adb,
1935 exp_ch4.adb, sem_ch8.adb: Minor code reorganization
1936 Minor reformatting.
1937
444acbdd
AC
19382011-08-29 Emmanuel Briot <briot@adacore.com>
1939
1940 * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Also
1941 initialize aggregated projects.
1942
19432011-08-29 Ed Schonberg <schonberg@adacore.com>
1944
1945 * sem_ch8.adb (Find_Renamed_Entity): Within an instance, use scope
1946 depth of candidates to resolve a potentially spurious ambiguity between
1947 two visible subprograms.
1948
e0296583
AC
19492011-08-29 Yannick Moy <moy@adacore.com>
1950
1951 * sem_prag.adb (Analyze_Pragma): Allow Test_Case pragma without
1952 Requires/Ensures.
1953 * sem_util.adb (Get_Ensures_From_Test_Case_Pragma,
1954 Get_Requires_From_Test_Case_Pragma): Allow Test_Case pragma without
1955 Requires/Ensures.
1956
19572011-08-29 Arnaud Charlet <charlet@adacore.com>
1958
1959 * gnat1drv.adb (Adjust_Global_Switches): Improve previous change.
1960 Add comment.
1961
19622011-08-29 Thomas Quinot <quinot@adacore.com>
1963
1964 * sem_res.adb: Minor reformatting.
1965
69794413
JK
19662011-08-29 Johannes Kanig <kanig@adacore.com>
1967
1968 * exp_ch4.adb (Expand_Quantified_Expression): Do not expand in ALFA
1969 mode.
1970 * gnat1drv.adb (Adjust_Global_Switches): Set
1971 Use_Expressions_With_Actions to False in ALFA mode.
1972 * sem_res.adb (Resolve_Quantified_Expression): Simpler treatment in
1973 ALFA mode.
1974
59e6b23c
AC
19752011-08-29 Yannick Moy <moy@adacore.com>
1976
1977 * exp_ch13.adb (Expand_N_Freeze_Entity): Do nothing in Alfa mode.
1978 * exp_ch9.adb: Do not expand tasking constructs in Alfa mode.
1979 * gnat1drv.adb (Adjust_Global_Switches): Suppress the expansion of
1980 tagged types and dispatching calls in Alfa mode.
1981
19822011-08-29 Javier Miranda <miranda@adacore.com>
1983
1984 * sem_ch3.adb (Process_Discriminants): Add missing check to ensure that
1985 we do not report an error on an Empty node.
1986
19872011-08-29 Geert Bosch <bosch@adacore.com>
1988
1989 * Makefile.rtl (GNATRTL_NONTASKING_OBJECTS): Add a-nllrar.o,
1990 a-nlrear.o and a-nurear.o.
1991
19922011-08-29 Robert Dewar <dewar@adacore.com>
1993
1994 * freeze.adb: Minor code reorganization.
1995 Minor reformatting.
1996 * sem_util.adb, errout.adb, exp_ch11.adb, a-ngrear.adb, s-gearop.adb,
1997 sem_ch6.adb: Minor reformatting
1998
19992011-08-29 Tristan Gingold <gingold@adacore.com>
2000
2001 * s-except.ads, s-except.adb: Provide dummy body.
2002
20032011-08-29 Yannick Moy <moy@adacore.com>
2004
2005 * sem_warn.adb (Within_Postcondition): Take into account the case of
2006 an Ensures component in a Test_Case.
2007
4d792549
AC
20082011-08-29 Tristan Gingold <gingold@adacore.com>
2009
2010 * s-excdeb.ads, s-excdeb.adb: New files, created from s-except.
2011 * rtsfind.ads (RTU_Id): Replaces System_Exceptions by
2012 System_Exceptions_Debug
2013 (RE_Unit_Table): Search RE_Local_Raise in System_Exceptions_Debug
2014 * a-except.adb: With and use System.Exceptions_Debug instead of
2015 System.Exceptions.
2016 * a-except-2005.adb: Likewise.
2017 * s-assert.adb: Likewise.
2018 * s-except.adb, s-except.ads: Move debugging hooks to s-excdeb.
2019 * Makefile.rtl: Add s-excdeb. Adjust compilation rule.
2020 * gcc-interfaces/Makefile.in, gcc-interface/Make-lang.in: Add
2021 s-excdeb. Update dependencies.
2022 (GNATRTL_LINEARALGEBRA_OBJS): Remove a-nlrear.o a-nurear.o a-nllrar.o
2023 as these no longer need external libraries.
2024
20252011-08-29 Ed Schonberg <schonberg@adacore.com>
2026
2027 * sem_res.adb (Resolve_Op_Expon): Additional check to reject an
2028 exponentiation operator on universal values in a context that requires
2029 a fixed-point type.
2030
20312011-08-29 Tristan Gingold <gingold@adacore.com>
2032
2033 * raise-gcc.c (personnality_routine): Fix thinko. Set Ada occurrence
2034 before calling notify_handled_exception.
2035 * a-exextr.adb: Fix comment.
2036
b254da66
AC
20372011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2038
2039 * exp_ch4.adb (Expand_Allocator_Expression): Add code to set attribute
2040 Finalize_Address of the access type's finalization master.
2041 (Expand_N_Allocator): Add code to set attribute Finalize_Address of the
2042 access type's finalization master. Add a guard to prevent
2043 Associated_Storage_Pool from being set on .NET/JVM.
2044 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add code to set
2045 attribute Finalize_Address of the access type's finalization master.
2046 * exp_ch7.adb (Make_Finalize_Address_Call): New routine.
2047 * exp_ch7.ads (Make_Finalize_Address_Call): New routine.
2048 * rtsfind.ads: Add RE_Set_Finalize_Address to tables RE_Id and
2049 RE_Unit_Table.
2050 * s-finmas.adb: Add with clause for System.Address_Image. Add with and
2051 use clause for System.IO
2052 (Detach): Relax the assertion, to be reinstated later.
2053 (Finalize): Rewrite the iteration loop to avoid pointer comparison.
2054 Relax the assertion on Finalize_Address, to be reinstated later.
2055 (Is_Empty_List): New routine.
2056 (pm): New debug routine.
2057 (Set_Finalize_Address): New routine.
2058 * s-finmas.ads (pm): New debug routine.
2059 (Set_Finalize_Address): New routine.
2060 * s-stposu.adb (Allocate_Any_Controlled): Code reformatting.
2061
20622011-08-29 Tristan Gingold <gingold@adacore.com>
2063
2064 * a-exexpr-gcc.adb (GCC_Exception_Access, GNAT_GCC_Exception_Access):
2065 Remove convention C.
2066
20672011-08-29 Tristan Gingold <gingold@adacore.com>
2068
2069 * s-taprop-vms.adb (Get_Exc_Stack_Addr): Remove.
2070 (Initialize_TCB): Remove Exc_Stack_Ptr initialization.
2071 (Finalize_TCB): Remove its finalization.
2072 (Initialize): Remove assignment of GET_Exc_Stack_Addr
2073 * s-soflin.adb (NT_Exc_Stack): Remove
2074 (Get_Exc_Stack_Addr_NT): Likewise.
2075 (Get_Exc_Stack_Addr_Soft): Likewise.
2076 * s-soflin.ads (Get_Exc_Stack_Addr_NT): Remove.
2077 (Get_Exc_Stack_Addr): Likewise.
2078 (Get_Exc_Stack_Addr_Soft): Likewise
2079 * s-taspri-vms.ads (Exc_Stack_T): Remove.
2080 (Exc_Stack_Ptr_T): Likewise.
2081 (Private_Data): Remove Exc_Stack_Ptr component.
2082
20832011-08-29 Tristan Gingold <gingold@adacore.com>
2084
2085 * raise-gcc.c (get_ip_from_context): New function. Factorize code.
2086
20872011-08-29 Tristan Gingold <gingold@adacore.com>
2088
2089 * gnat_ugn.texi: Fix aix and x86-solaris info for run-time.
2090
20912011-08-29 Geert Bosch <bosch@adacore.com>
2092
2093 * s-gearop.ads (Back_Substitute, Diagonal, Forward_Eliminate,
2094 L2_Norm, Swap_Column): New generic subprograms
2095 * s-gearop.adb (Back_Substitute, Diagonal, Forward_Eliminate,
2096 L2_Norm, Swap_Column): Implement new subprograms in order to
2097 eliminate dependency on BLAS and LAPACK libraries in
2098 Ada.Numerics.Generic_Real_Arrays and eventually also the complex
2099 version. Forward_Eliminate/Back_Substitute can be used to put a
2100 matrix in row echelon or reduced row echelon form using partial
2101 pivoting.
2102 * a-ngrear.adb: (Back_Substitute, Diagonal, Forward_Eleminate,
2103 Swap_Column): Instantiate from System.Generic_Array_Operations.
2104 ("*", "abs"): Implement by instantiation from Generic_Array_Operations.
2105 (Sqrt): Local function for simple computation of square root without
2106 adding dependencies on Generic_Elementary_Functions.
2107 (Swap): New subprogram to exchange floating point numbers.
2108 (Inverse): Reimplement using Jordan-Gauss elimination.
2109 (Jacobi): New procedure implementing Jacobi's method for computation
2110 of eigensystems, based on Rutishauser's implementation.
2111 (L2_Norm): Implement directly using the inner product.
2112 (Sort_Eigensystem): Sort eigenvalue/eigenvector pairs in order of
2113 decreasing eigenvalue as required by the Ada RM.
2114 (Swap_Column): New helper procedure for Sort_Eigensystem.
2115 Remove with of System.Generic_Real_BLAS and System.Generic_Real_LAPACK.
2116 Add with of Ada.Containers.Generic_Anonymous_Array_Sort, for
2117 Sort_Eigensystems.
2118
21192011-08-29 Thomas Quinot <quinot@adacore.com>
2120
2121 * put_scos.adb (Put_SCOs): Do not emit a newline for an empty
2122 statements line.
2123
60370fb1
AC
21242011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2125
2126 * s-finmas.adb (Finalize): Check Finalize_Address of the master rather
2127 than the current node.
2128 * s-finmas.ads: Move field Finalize_Address from type FM_Node to
2129 Finalization_Master. The list headers have two fields instead of three.
2130 This should fix alignment issue but subpool allocations are now
2131 unusable. Alphabetize subprograms.
2132 * s-stposu.adb (Allocate_Any_Controlled): Use the offset rather than
2133 the size of the header when converting the beginning of the object to
2134 a FM_Node. Set the master's Finalize_Address attribute if not already
2135 set.
2136 (Deallocate_Any_Controlled): Use the offset rather than the size of the
2137 header when converting the beginning of the object to a FM_Node.
2138
21392011-08-29 Gary Dismukes <dismukes@adacore.com>
2140
2141 * exp_ch11.adb (Expand_N_Raise_Statement): Don't suppress expansion of
2142 reraise when compiling for CodePeer.
2143
21442011-08-29 Arnaud Charlet <charlet@adacore.com>
2145
2146 * a-iteint.ads, Makefile.rtl: Add missing compilation of a-iteint.ads,
2147 now needed by a-convec.adb. Fix warning.
2148
21492011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2150
2151 * exp_util.adb (Build_Allocate_Deallocate_Proc): Add a guard for the
2152 processing of TSS routine Finalize_Address when compiling in
2153 CodePeer_Mode.
2154
21552011-08-29 Thomas Quinot <quinot@adacore.com>
2156
2157 * a-strunb.ads, einfo.ads, g-comlin.ads, sem_ch6.adb,
2158 sem_warn.adb: Minor reformatting.
2159
21602011-08-29 Emmanuel Briot <briot@adacore.com>
2161
2162 * prj-conf.adb (Get_Config_Switches): Also collect the list of
2163 languages from aggregated projects.
2164
21652011-08-29 Yannick Moy <moy@adacore.com>
2166
2167 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Declarations_Or_Statements,
2168 Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
2169 Traverse_Package_Declaration, Traverse_Subprogram_Body,
2170 Traverse_Compilation_Unit): Add a parameter Inside_Stubs so that bodies
2171 for stubs are traversed too when parameter is set
2172 (Traverse_All_Compilation_Units): Traverse without going inside stubs
2173 (Traverse_Declarations_Or_Statements): Do the special traversing for
2174 stubs when required.
2175 * sem_util.adb, sem_util.ads (Get_Body_From_Stub): New function to
2176 return subprogram or package body from stub.
2177 (Is_Subprogram_Stub_Without_Prior_Declaration): New function to detect
2178 stubs without prior subprogram decl.
2179
21802011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
2181
2182 * gnat_ugn.texi: Fix typo.
2183
e9c9d122
HK
21842011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2185
2186 * s-stposu.adb (Allocate_Any_Controlled): Reimplement the mechanism
2187 which accounts for size vs alignment issues and calculates the size of
2188 the list header.
2189 (Deallocate_Any_Controlled): Ditto.
2190 (Nearest_Multiple_Rounded_Up): New routine.
2191
25ebc085
AC
21922011-08-29 Tristan Gingold <gingold@adacore.com>
2193
2194 * a-exstat.adb (String_To_EO): Do no set Cleanup_Flag.
2195 * a-exexda.adb (Set_Exception_C_Msg): Ditto.
2196 (Set_Exception_Msg): Ditto.
2197 * a-exexpr-gcc.adb (Setup_Current_Excep): Ditto. Do not set
2198 Private_Data.
2199 * a-except.adb, a-except-2005.adb (Save_Occurrence_No_Private): Remove.
2200 Use Save_Occurrence instead of Save_Occurrence_No_Private.
2201 (Raise_With_Msg): Remove Cleanup_Flag.
2202 * a-except.ads, a-except-2005.ads (Exception_Occurrence): Remove
2203 Clean_Flag and Private_Data components.
2204
22052011-08-29 Yannick Moy <moy@adacore.com>
2206
2207 * freeze.adb (Freeze_Record_Type): Ignore packing in Alfa mode, like
2208 in CodePeer mode.
2209 * sem_ch3.adb (Signed_Integer_Type_Declaration): Correct the generation
2210 of an explicitly declared type, so that the base types of the original
2211 type and this generated type are the same, and a "type" (not a subtype
2212 like previously).
2213 * errout.adb (Special_Msg_Delete): Do not issue messages "Size too
2214 small" in Alfa mode, like in CodePeer mode.
2215 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore rep
2216 clauses in Alfa mode.
2217
22182011-08-29 Javier Miranda <miranda@adacore.com>
2219
2220 * exp_ch6.ads, exp_ch6.adb (Is_Null_Procedure): Move the spec of this
2221 function to the package spec.
2222 * sem_ch6.adb (Find_Corresponding_Spec, New_Overloaded_Entity): For
2223 internally generated bodies of null procedures locate the internally
2224 generated spec enforcing mode conformance.
2225 (Is_Interface_Conformant): Ensure that the controlling formal of the
2226 primitives match.
2227
22282011-08-29 Ed Schonberg <schonberg@adacore.com>
2229
2230 * sem_prag.adb (Analyze_Pragma, case Inline): In an instance, do not
2231 reject the pragma if it appears to apply to a formal subprogram.
2232
22332011-08-29 Ed Schonberg <schonberg@adacore.com>
2234
2235 * exp_ch4.adb (Expand_Allocator_Expression): Use consistent name for
2236 inner expression, to prevent double evaluation.
2237
590549fb
AC
22382011-08-29 Tristan Gingold <gingold@adacore.com>
2239
2240 * a-exexpr.adb (Propagate_Exception): Remove all the parameters as
2241 they were unused.
2242 * a-exexpr-gcc.adb (Propagate_Exception): Ditto.
2243 * a-except-2005.adb (Propagate_Exception): Adjust spec.
2244 (Raise_Current_Excep): Adjust call.
2245 (Raise_From_Signal_Handler): Call now simply call Raise_Current_Excep.
2246
22472011-08-29 Thomas Quinot <quinot@adacore.com>
2248
2249 * exp_disp.adb: Minor reformatting.
2250
62380e66
TG
22512011-08-29 Tristan Gingold <gingold@adacore.com>
2252
2253 * a-exexpr.adb (Setup_Exception): Removed.
2254 * a-exexpr-gcc.adb (Setup_Exception): Removed.
2255 * a-except.adb (Exception_Propagation): Removed.
2256 * a-except-2005.adb (Setup_Exception): Removed.
2257 (Reraise): Remove call to Setup_Exception.
2258 (Reraise_Occurrence): Ditto.
2259 (Reraise_Occurrence_Always): Ditto.
2260 (Reraise_Occurrence_No_Defer): Ditto.
2261 (Transfer_Occurrence): Ditto.
2262 * a-exexda.adb (Set_Exception_C_Msg): Remove call to Setup_Exception.
2263 (Set_Exception_Msg): Ditto.
2264
c95aa61c
AC
22652011-08-29 Robert Dewar <dewar@adacore.com>
2266
2267 * a-convec.adb, exp_disp.adb: Minor reformatting.
2268
22692011-08-29 Tristan Gingold <gingold@adacore.com>
2270
2271 * a-exexpr-gcc.adb (GNAT_GCC_Exception_Access): Set to convention C.
2272
624e1688
AC
22732011-08-29 Gary Dismukes <dismukes@adacore.com>
2274
2275 * exp_ch3.adb (Build_Record_Init_Proc.Build_Init_Procedure): Set
2276 Exception_Handlers to No_List instead of Empty_List in the case where
2277 there are no handlers.
2278
22792011-08-29 Tristan Gingold <gingold@adacore.com>
2280
2281 * gcc-interface/gigi.h (enum standard_datatypes): Add
2282 ADT_reraise_zcx_decl
2283 (reraise_zcx_decl): New macro.
2284 * gcc-interface/trans.c (gnu_incoming_exc_ptr): New variable.
2285 (gigi): Set reraise_zcx_decl.
2286 (Exception_Handler_to_gnu_zcx): Save and restore gnu_incoming_exc_ptr.
2287 (gnat_to_gnu): Handle N_Raise_Statement.
2288
7134062a
AC
22892011-08-29 Robert Dewar <dewar@adacore.com>
2290
2291 * sem_ch6.adb, exp_ch3.adb, s-stposu.adb, a-undesu.ads,
2292 a-undesu.adb: Minor reformatting.
2293
22942011-08-29 Ed Schonberg <schonberg@adacore.com>
2295
2296 * exp_disp.adb (Check_Premature_Freezing): When building a dispatch
2297 table, accept an unfrozen untagged component if it is an actual for a
2298 formal incomplete type.
2299 * a-convec.ads, a-convec.adb: Instantiate Ada.Iterator_Interfaces to
2300 provide new iterator forms over vectors.
2301 Introduce type Iterator in package body to implement operations of
2302 Reversible_Iterator interface.
2303 * a-iteint.ads: Make package pure so it is usable with new container
2304 packages, that are categorized Remote_Types.
2305
ca5af305
AC
23062011-08-29 Robert Dewar <dewar@adacore.com>
2307
2308 * a-exexpr-gcc.adb, a-synbar.adb, sem_ch13.adb: Minor reformatting.
2309
23102011-08-29 Bob Duff <duff@adacore.com>
2311
2312 * sem_aggr.adb (Resolve_Aggr_Expr): Call this routine even in the case
2313 of <>, because this is the routine that checks for dimensionality
2314 errors (for example, for a two-dimensional array, (others => <>) should
2315 be (others => (others => <>)).
2316
23172011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2318
2319 * impunit.adb: Add new run-time units.
2320 * freeze.adb, exp_ch7.ads, exp_ch7.adb, exp_util.ads, exp_util.adb,
2321 s-stposu.ads, s-stposu.adb: Code clean up.
2322 Handle protected class-wide or task class-wide types
2323 Handle C/C++/CIL/Java types.
2324 * s-spsufi.adb, s-spsufi.ads: New files.
2325
5accd7b6
AC
23262011-08-29 Yannick Moy <moy@adacore.com>
2327
2328 * sem_ch13.adb (Analyze_Aspect_Specifications): Reject test-case on
2329 library-level subprogram.
2330 * sem_prag.adb (Check_Test_Case): Stricter rules for test-case
2331 placement.
2332 (Analyze_Pragma): Change name "Normal" for "Nominal" in test-case
2333 component.
2334 * snames.ads-tmpl: Change name "Normal" for "Nominal" in test-case
2335 component.
2336 * gnat_rm.texi: Update doc for Test_Case pragma.
2337
23382011-08-29 Tristan Gingold <gingold@adacore.com>
2339
2340 * a-exexpr-gcc.adb (Unwind_Exception): Remove default value, made it
2341 convention C.
2342 (GCC_Exception_Access): New type.
2343 (Unwind_DeleteException): New imported procedure
2344 (Foreign_Exception): Import it.
2345 (GNAT_GCC_Exception): Simply have the occurrence inside.
2346 (To_GCC_Exception): New function.
2347 (To_GNAT_GCC_Exception): New function.
2348 (GNAT_GCC_Exception_Cleanup): New procedure..
2349 (Propagate_GCC_Exception): New procedure.
2350 (Reraise_GCC_Exception): New procedure.
2351 (Setup_Current_Excep): New procedure.
2352 (CleanupUnwind_Handler): Change type of UW_Exception parameter.
2353 (Unwind_RaiseException): Ditto.
2354 (Unwind_ForcedUnwind): Ditto.
2355 (Remove): Removed.
2356 (Begin_Handler): Change type of parameter.
2357 (End_Handler): Ditto. Now delete the exception if still present.
2358 (Setup_Key): Removed.
2359 (Is_Setup_And_Not_Propagated): Removed.
2360 (Set_Setup_And_Not_Propagated): Ditto.
2361 (Clear_Setup_And_Not_Propagated): Ditto.
2362 (Save_Occurrence_And_Private): Ditto.
2363 (EID_For): Add 'not null' constraint on parameter.
2364 (Setup_Exception): Does nothing.
2365 (Propagate_Exception): Simplified.
2366 * exp_ch11.adb (Expand_N_Raise_Statement): In back-end exception model,
2367 re-raise is not expanded anymore.
2368 * s-except.ads (Foreign_Exception): New exception - placeholder for
2369 non Ada exceptions.
2370 * raise-gcc.c (__gnat_setup_current_excep): Declare
2371 (CXX_EXCEPTION_CLASS): Define (not yet used)
2372 (GNAT_EXCEPTION_CLASS): Define.
2373 (is_handled_by): Handle foreign exceptions.
2374 (PERSONALITY_FUNCTION): Call __gnat_setup_current_excep.
2375
23762011-08-29 Jose Ruiz <ruiz@adacore.com>
2377
2378 * a-synbar.adb (Synchronous_Barrier): Some additional clarification.
2379
2ef48385
AC
23802011-08-29 Thomas Quinot <quinot@adacore.com>
2381
2382 * a-synbar-posix.adb: Minor reformatting.
2383
23842011-08-29 Jose Ruiz <ruiz@adacore.com>
2385
2386 * a-exetim-posix.adb, a-exetim-mingw.adb, a-exetim-mingw.ads,
2387 a-exetim-default.ads (Interrupt_Clocks_Supported,
2388 Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
2389 definitions to be compliant with AI-0171. The target systems do not
2390 support separate account for the execution time of interrupt handlers.
2391
23922011-08-29 Jose Ruiz <ruiz@adacore.com>
2393
2394 * a-synbar.adb (Wait): Change the order of evaluation of the conditions
2395 in the barrier to put first the easiest to evaluate (and the one which
2396 will be True more often). More efficient.
2397
23982011-08-29 Eric Botcazou <ebotcazou@adacore.com>
2399
2400 * s-atocou-x86.adb: Fix constraint in machine code insertion.
2401
24022011-08-29 Bob Duff <duff@adacore.com>
2403
2404 * aspects.ads, aspects.adb: Add new aspects for various pragmas and
2405 attributes that are now aspects, as specified by AI05-0229-1.
2406 * sem_ch13.adb (Analyze_Aspect_Specifications,
2407 Check_Aspect_At_Freeze_Point): Analyze the new aspects. Turn them into
2408 pragmas or attribute references, as appropriate.
2409
0db16b1e
AC
24102011-08-29 Robert Dewar <dewar@adacore.com>
2411
2412 * a-synbar.ads, a-synbar.adb, a-synbar-posix.adb,
2413 a-synbar-posix.ads: Minor reformatting.
2414
24152011-08-29 Yannick Moy <moy@adacore.com>
2416
2417 * snames.ads-tmpl: Add name Force.
2418
978ffe02
AC
24192011-08-29 Pascal Obry <obry@adacore.com>
2420
2421 * prj-nmsc.adb: Minor reformatting.
2422
24232011-08-29 Jose Ruiz <ruiz@adacore.com>
2424
2425 * a-exetim.ads (Interrupt_Clocks_Supported,
2426 Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
2427 definitions to be compliant with AI-0171.
2428
24292011-08-29 Robert Dewar <dewar@adacore.com>
2430
2431 * a-ngelfu.adb: Add comments.
2432
718f39dc
AC
24332011-08-29 Geert Bosch <bosch@adacore.com>
2434
2435 * a-ngelfu.adb (Tan): Do not raise Constraint_Error if the argument is
2436 the closest machine number to Pi / 2.0.
2437
24382011-08-29 Jose Ruiz <ruiz@adacore.com>
2439
2440 * impunit.adb (Non_Imp_File_Names_12): Add a-synbar for new Ada 2012
2441 package Ada.Synchronous_Barriers.
2442 * a-synbar.ads, a-synbar.adb, a-synbar-posix.ads, a-synbar-posix.adb:
2443 Add new specs and bodies for Ada.Synchronous_Barriers. There is a
2444 default implementation using protected objects and another one
2445 a-synbar-posix using POSIX barriers as the underlying support.
2446 * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for Linux (x86,
2447 x86_64, ia64) and MIPS IRIX): Use the a-synbar-posix implementation of
2448 Ada.Synchronous_Barriers which uses POSIX barriers (more efficient).
2449 Clean up dependencies.
2450 * Makefile.rtl (GNATRTL_TASKING_OBJS): Add a-synbar.o
2451
ee2e3f6b
AC
24522011-08-29 Robert Dewar <dewar@adacore.com>
2453
2454 * sem_ch7.adb, make.adb, sem_res.adb, exp_intr.adb,
2455 exp_dist.adb: Minor code reorganization.
2456 Minor reformatting.
2457
24582011-08-29 Thomas Quinot <quinot@adacore.com>
2459
2460 * sem_cat.adb (Validate_RACW_Primitive): The return type of an RACW
2461 primitive operation must support external streaming if it is not a
2462 controlling access result.
2463
646e2823
AC
24642011-08-29 Thomas Quinot <quinot@adacore.com>
2465
2466 * sinfo.ads, sem_ch7.adb: Minor reformatting.
2467
24682011-08-29 Bob Duff <duff@adacore.com>
2469
2470 * sem_ch4.adb (Analyze_Allocator): Check No_Nested_Finalization
2471 restriction on allocators, as required by AI05-0013-1.
2472 * restrict.ads: Minor comment fix.
2473
5d59eef2
AC
24742011-08-29 Tristan Gingold <gingold@adacore.com>
2475
2476 * a-exexpr.adb, a-except-2005.ads (Jmpbuf_Address): Move to a-exexpr.adb
2477 (To_Jmpbuf_Address): Ditto
2478 (builtin_longjmp): Ditto
2479
24802011-08-29 Thomas Quinot <quinot@adacore.com>
2481
2482 * sem_res.adb: Minor reformatting.
2483
24842011-08-29 Vincent Celier <celier@adacore.com>
2485
2486 * make.adb (Gnatmake): Move special processing for VM targets after the
2487 call to Get_Target_Parameters.
2488
24892011-08-29 Thomas Quinot <quinot@adacore.com>
2490
2491 * sem_ch12.adb, par-ch12.adb: Minor reformatting.
2492
949a18cc
AC
24932011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2494
2495 * sem_res.adb (Resolve_Allocator): Implement Ada2012-B052. Detect cases
2496 where an anonymous access discriminant of a limited designated type
2497 appears in a non-immutably limited discriminated type and issue an
2498 error message. Add local variable Desig_T and replace all occurrences
2499 of Designated_Type.
2500
25012011-08-29 Jose Ruiz <ruiz@adacore.com>
2502
2503 * a-rttiev.adb (Set_Handler): Update comment to indicate that our
2504 implementation is compliant to RM D.15(15/2) after the modification
2505 imposed by AI05-0094-1 (binding interpretation).
2506
cb25faf8
AC
25072011-08-29 Robert Dewar <dewar@adacore.com>
2508
2509 * exp_ch9.adb, s-tasren.adb, exp_sel.adb, exp_sel.ads, exp_ch11.adb,
2510 s-interr-hwint.adb, s-tpobop.adb, sem_ch13.adb: Minor reformatting.
2511
25122011-08-29 Thomas Quinot <quinot@adacore.com>
2513
2514 * par-endh.adb (Check_End): For an END where it is mandatory to repeat
2515 the scope name, do not report a missing label as a style violation (it
2516 will be diagnosed as an illegality).
2517 * exp_dist.adb (Add_Params_For_Variant_Components): Fix handling of
2518 variant records: Get_Enum_Lit_From_Pos already returns a usage
2519 occurrence of the literal, no need to use New_Occurrence_Of. Set Etype
2520 on Expr in Integer_Literal case so that it can be used by
2521 Build_To_Any_Call.
2522
1d10f669
AC
25232011-08-29 Tristan Gingold <gingold@adacore.com>
2524
2525 * exp_sel.ads (Build_Abort_BLock_Handler): New function spec.
2526 Adjust comment.
2527 * exp_sel.adb (Build_Abort_Block): Use Build_Abort_Block_Handler.
2528 (Build_Abort_Block_Handler): New function to build an Abort_Signal
2529 exception handler.
2530 * exp_ch9.adb (Expand_N_Asynchronous_Select): Call
2531 Build_Abort_Block_Handler to build the exception handler. Do not
2532 undefer aborts for the Abort_Signal exception handler if back-end
2533 exception mechanism.
2534 * exp_ch11.adb (Expand_Exception_Handlers): Do not undefer aborts if
2535 back_end exceptions for all others and abort_signal.
2536 * s-except.ads (ZCX_By_Default): New constant.
2537 * a-except-2005.adb (Raise_Exception): Do not defer abort if ZCX.
2538 (Raise_Exception_Always): Ditto.
2539 (Raise_From_Signal_Handler): Ditto.
2540 (Raise_With_Location_And_Msg): Ditto.
2541 (Raise_With_Msg): Ditto.
2542 (Reraise): Ditto.
2543 (Reraise_Occurence): Ditto.
2544 (Reraise_Occurrence_Always): Ditto.
2545 * s-tasren.adb (Exceptional_Complete_Rendezvous): Defer aborts if ZCX.
2546 * s-tpobop.adb: (Exceptional_Complete_Body): Undefer abort if ZCX.
1d10f669
AC
2547
25482011-08-29 Thomas Quinot <quinot@adacore.com>
2549
2550 * sem_util.ads (Get_Enum_Lit_From_Pos): Clarify documentation.
2551
d986066d
AC
25522011-08-29 Robert Dewar <dewar@adacore.com>
2553
2554 * snames.adb-tmpl, sem_ch13.adb: Minor reformatting
2555 Minor code reorganization.
2556
25572011-08-29 Bob Duff <duff@adacore.com>
2558
2559 * usage.adb (-gnatwy): Fix documentation: this switch applies to Ada
2560 2012, not just Ada 2005.
2561
25622011-08-29 Vincent Celier <celier@adacore.com>
2563
2564 * gnat_ugn.texi: Indicate that when the compiler is called by gnatmake
2565 with a project file or with gprbuid, if -gnatep= is specified, the
2566 builder may need to be invoked with -x.
2567
25682011-08-29 Tristan Gingold <gingold@adacore.com>
2569
2570 * a-exexpr-gcc.adb: Minor comment fix.
2571
ff4f0ed0
AC
25722011-08-29 Robert Dewar <dewar@adacore.com>
2573
2574 * sem_ch8.adb: Minor reformatting.
2575
25762011-08-29 Bob Duff <duff@adacore.com>
2577
2578 * par-ch2.adb (P_Identifier): Warn that "some" is reserved in Ada 2012.
2579 * par-ch4.adb (P_Quantified_Expression): Remove unnecessary code for
2580 treating "some" as unreserved in earlier Ada versions. This is now
2581 handled in Snames.Is_Keyword_Name. Parse "for some" using Tok_Some,
2582 rather than Name_Some, since Tok_Some is now recognized as reserved.
2583 * scans.adb (Initialize_Ada_Keywords): Handle Tok_Some like any other
2584 reserved word.
2585 * scans.ads: Minor comment fixes.
2586 * snames.adb-tmpl (Is_Keyword_Name): Handle Ada 2012 reserved words as
2587 for other language versions.
2588 * scn.adb (Scan_Reserved_Identifier): Remove unnecessary code for
2589 treating "some" as unreserved in earlier Ada versions. This is now
2590 handled in Snames.Is_Keyword_Name.
2591 * par-ch3.adb (P_Defining_Identifier): Warn that "some" is reserved in
2592 Ada 2012.
2593 (P_Subtype_Mark_Resync): Remove unnecessary code for treating "some" as
2594 unreserved in earlier Ada versions. This is now handled in
2595 Snames.Is_Keyword_Name.
2596 * snames.ads-tmpl (Ada_2012_Reserved_Words): Handle Ada 2012 reserved
2597 words as for other language versions.
2598 * gnat_ugn.texi (-gnatwy): Fix documentation: this switch applies to
2599 Ada 2012, not just Ada 2005.
2600
d941cee6
AC
26012011-08-29 Ed Schonberg <schonberg@adacore.com>
2602
2603 * sem_ch13.adb: Additional semantic checks for aspects involved in
2604 iterators.
2605
26062011-08-29 Matthew Heaney <heaney@adacore.com>
2607
2608 * a-comutr.ads, a-comutr.adb, a-cimutr.ads, a-cimutr.adb,
2609 a-cbmutr.ads, a-cbmutr.adb (Find_In_Subtree): Remove superfluous
2610 Container parameter.
2611 (Ancestor_Find): ditto.
2612
b970af39
TQ
26132011-08-29 Thomas Quinot <quinot@adacore.com>
2614
2615 * par-endh.adb: Minor reformatting.
d941cee6 2616
92db5dee
AC
26172011-08-29 Tristan Gingold <gingold@adacore.com>
2618
2619 * a-exexpr-gcc.adb (Unwind_Action) Rewrite as an integer with constants.
2620 (GNAT_GCC_Exception): Remove N_Cleanups_To_Trigger component.
2621 (Adjust_N_CLeanups_For): Remove.
2622 (CleanupUnwind_Handler): Call Unhandled_Exception_Terminate when end of
2623 stack is reached.
2624 (Propgate_Exception): Adjust.
2625 * raise-gcc.c: Add a few static/const.
2626 (Adjust_N_Cleanups_For): Remove declaration.
2627 (PERSONALITY_FUNCTION): Remove code dealing with N_Cleanups_To_Trigger.
2628
26292011-08-29 Ed Schonberg <schonberg@adacore.com>
2630
2631 * sem_ch8.adb: Use type of function return when rewriting as object
2632 declaration.
2633
1378bf10
AC
26342011-08-29 Gary Dismukes <dismukes@adacore.com>
2635
2636 * sem_type.adb: Minor reformatting.
2637
26382011-08-29 Robert Dewar <dewar@adacore.com>
2639
2640 * makeutl.adb: Minor reformatting.
2641
26422011-08-29 Ed Schonberg <schonberg@adacore.com>
2643
2644 * sem_ch8.adb (Analyze_Object_Renaming): If the renamed object is a
2645 function call of a limited type, the expansion of the renaming is
2646 complicated by the presence of various temporaries and subtypes that
2647 capture constraints of the renamed object.
2648 Rewrite node as an object declaration, whose expansion is simpler.
2649 Given that the object is limited there is no copy involved and no
2650 performance hit.
2651
164e06c6
AC
26522011-08-29 Robert Dewar <dewar@adacore.com>
2653
2654 * exp_ch5.adb, sinfo.ads, make.adb, s-pooglo.adb, sem_ch12.adb,
2655 freeze.adb, sem_ch6.adb, par-ch12.adb: Minor reformatting.
2656
26572011-08-29 Tristan Gingold <gingold@adacore.com>
2658
2659 * system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads,
2660 system-tru64.ads, system-irix-n32.ads, system-vxworks-arm.ads,
2661 system-linux-hppa.ads, system-linux-s390.ads,
2662 system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads,
2663 system-vms_64.ads, system-vxworks-sparcv9.ads, system-linux-ppc.ads,
2664 system-aix64.ads, system-lynxos-ppc.ads, system-linux-sh4.ads,
2665 system-solaris-x86.ads, system-linux-x86_64.ads, system-linux-x86.ads,
2666 system-vxworks-ppc.ads, system-hpux.ads, system-darwin-ppc.ads,
2667 system-solaris-sparc.ads, system-lynxos-x86.ads,
2668 system-vxworks-m68k.ads, system-hpux-ia64.ads, system-irix-o32.ads,
2669 system-solaris-x86_64.ads, system-mingw-x86_64.ads,
2670 system-vxworks-mips.ads, system-linux-sparc.ads, system-vms-ia64.ads,
2671 system-freebsd-x86.ads, system-aix.ads, system-darwin-x86_64.ads,
7d266442 2672 system-vxworks-x86.ads: Remove GCC_ZCX_Support.
164e06c6
AC
2673 * s-taprop-posix.adb, s-taprop-irix.adb, s-taprop-vxworks.adb,
2674 s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb: Ditto.
2675 * opt.ads: Adjust comment.
2676 * targparm.ads, targparm.adb: Remove GCC_ZCX_Support_On_Target.
2677 * gnat1drv.adb: Do not check for GCC_ZCX_Support_On_Target.
2678 * system.ads: Move GCC_ZCX_Support to obsolete entries.
2679
26802011-08-29 Emmanuel Briot <briot@adacore.com>
2681
2682 * makeutl.adb (Do_Complete): Resolve symbolic links when a relative
2683 file name is specified on the gnatmake or gprbuild command line, and
2684 before we search for that file in the project.
2685
26862011-08-29 Ed Schonberg <schonberg@adacore.com>
2687
2688 * sem_type.adb (Within_Instance): New predicate in Collect_Interps,
2689 used to determine whether a possible interpretation for an overloadable
2690 entity is declared within the current instantiation and should be
2691 included in the candidate set.
2692
26932011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
2694
2695 * gnat_rm.texi, gnat_ugn.texi: Clean ups.
2696
97216ca8
ES
26972011-08-29 Ed Schonberg <schonberg@adacore.com>
2698
2699 * sem_res.adb (Resolve_Actuals): Use base type to determine whether an
2700 access subtype is access_to_subprogram, when applying checks for
2701 RM 3.10.2 (27).
2702
d3cb4cc0
AC
27032011-08-29 Matthew Heaney <heaney@adacore.com>
2704
2705 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Splice_Subtree): Only check
2706 for sibling when common parent.
2707
27082011-08-29 Thomas Quinot <quinot@adacore.com>
2709
2710 * get_scos.adb: Literals of Pragma_Id are pragma names prefixed with
2711 "pragma_".
2712
27132011-08-29 Ed Schonberg <schonberg@adacore.com>
2714
2715 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Enable freeze actions
2716 for the return type when in ASIS mode.
2717
27182011-08-29 Vincent Celier <celier@adacore.com>
2719
2720 * make.adb (Gnatmake): Get the default search dirs, then the target
2721 parameters after getting the Builder switches, as the Builder switches
2722 may include --RTS= and that could change the default search dirs.
2723
27242011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2725
2726 * exp_ch7.adb (Make_Adjust_Call): Rewrite to mimic the structure of
2727 Make_Final_Call. Move the processing for class-wide types before the
2728 processing for derivations from [Limited_]Controlled.
2729 (Make_Final_Call): Move the processing for class-wide types before the
2730 processing for derivations from [Limited_]Controlled.
2731 * s-stposu.adb (Allocate_Any_Controlled): Correct the membership check.
2732 Add code to account for alignments larger than the list header. Add a
2733 comment illustrating the structure of the allocated object + padding +
2734 header.
2735 (Deallocate_Any_Controlled): Add code to account for alignments larger
2736 than the list header.
2737
27382011-08-29 Ed Schonberg <schonberg@adacore.com>
2739
2740 * sinfo.ads, sinfo.adb: New node kind
2741 N_Formal_Incomplete_Type_Definition, related flags.
2742 par-ch12.adb (P_Formal_Type_Declaration, G_Formal_Type_Definition):
2743 Parse formal incomplete types.
2744 * sem.adb (Analyze): Formal_Incomplete_Type_Definitions are handled in
2745 sem_ch12.
2746 * sem_ch7.adb (Analyze_Package_Specification, Unit_Requires_Body):
2747 Formal incomplete types do not need completion.
2748 * sem_ch12.adb (Analyze_Formal_Incomplete_Type,
2749 Validate_Incomplete_Type_Instance): New procedures to handle formal
2750 incomplete types.
2751 * freeze.adb (Freeze_Entity): Do not freeze the subtype of an actual
2752 that corresponds to a formal incomplete type.
2753 * sprint.adb: Handle formal incomplete type declarations.
2754 * exp_util.adb (Insert_Actions): An incomplete_type_definition is not
2755 an insertion point.
2756
d3f70b35
AC
27572011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2758
2759 * a-fihema.ads, a-fihema.adb: Unit removed.
2760 * a-undesu.ads, a-undesu.adb: New unit implementing
2761 Ada.Unchecked_Deallocate_Subpool.
2762 * einfo.adb: Remove Associated_Collection from the node usage.
2763 Add Finalization_Master to the node usage.
2764 (Associated_Collection): Removed.
2765 (Finalization_Master): New routine.
2766 (Set_Associated_Collection): Removed.
2767 (Set_Finalization_Master): New routine.
2768 (Write_Field23_Name): Remove Associated_Collection from the output. Add
2769 Finalization_Master to the output.
2770 * einfo.ads: Remove attribute Associated_Collection and its uses in
2771 entities.
2772 Add new attribute Finalization_Master along with its uses in entitites.
2773 (Associated_Collection): Removed along with its pragma import.
2774 (Finalization_Master): New routine along with a pragma import.
2775 (Set_Associated_Collection): Removed along with its pragma import.
2776 (Set_Finalization_Master): New routine along with a pragma import.
2777 * exp_ch3.adb (Expand_Freeze_Array_Type): Replace call to
2778 Build_Finalization_Collection with Build_Finalization_Master.
2779 (Expand_Freeze_Record_Type): Move the generation of Finalize_Address
2780 before the bodies of the predefined routines. Add comment explaining
2781 this. Replace call to Build_Finalization_Collection with
2782 Build_Finalization_Master.
2783 (Freeze_Type): Replace call to Build_Finalization_Collection with
2784 Build_Finalization_Master.
2785 (Make_Finalize_Address_Body): Comment reformatting.
2786 (Make_Predefined_Primitive_Specs): Code reformatting.
2787 (Stream_Operation_OK): Update comment mentioning finalization
2788 collections. Replace RE_Finalization_Collection with
2789 RE_Finalization_Master.
2790 * exp_ch4.adb (Complete_Controlled_Allocation): Replace call to
2791 Associated_Collection with Finalization_Master. Replace call to
2792 Build_Finalization_Collection with Build_Finalization_Master.
2793 (Expand_Allocator_Expression): Replace call to Associated_Collection
2794 with Finalization_Master. Replace call to Set_Associated_Collection with
2795 Set_Finalization_Master. Remove the generation of
2796 Set_Finalize_Address_Ptr.
2797 (Expand_N_Allocator): Replace call to Associated_Collection with
2798 Finalization_Master. Remove the generation of Set_Finalize_Address_Ptr.
2799 * exp_ch6.adb (Add_Collection_Actual_To_Build_In_Place_Call): Renamed to
2800 Add_Finalization_Master_Actual_To_Build_In_Place_Call. Update the
2801 comment on usage. Replace call to Needs_BIP_Collection with
2802 Needs_BIP_Finalization_Master Remplace BIP_Collection with
2803 BIP_Finalization_Master. Update all comments which mention finalization
2804 collections. Replace Associated_Collection with
2805 Finalization_Master. Replace Build_Finalization_Collection with
2806 Build_Finalization_Master.
2807 (BIP_Formal_Suffix): Update BIP_Collection's case.
2808 (Build_Heap_Allocator): Update the related comment. Rename local
2809 variable Collect to Fin_Mas_Id and update its occurrences. Update
2810 comments which mention finalization collections. Replace
2811 Set_Associated_Collection with Set_Finalization_Master.
2812 (Expand_Call): Update the code which detects a special piece of library
2813 code for .NET/JVM.
2814 (Make_Build_In_Place_Call_In_Allocator): Replace the call to
2815 Add_Collection_Actual_To_Build_In_Place_Call with
2816 Add_Finalization_Master_Actual_To_Build_In_Place_Call. Remove the code
2817 which generates a call to Make_Set_Finalize_Address_Ptr_Call.
2818 (Make_Build_In_Place_Call_In_Anonymous_Context): Replace call to
2819 Add_Collection_Actual_To_Build_In_Place_Call with
2820 Add_Finalization_Master_Actual_To_Build_In_Place_Call.
2821 (Make_Build_In_Place_Call_In_Assignment): Replace call to
2822 Add_Collection_Actual_To_Build_In_Place_Call with
2823 Add_Finalization_Master_Actual_To_Build_In_Place_Call.
2824 (Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
2825 * exp_ch6.ads: Rename BIP_Collection to BIP_Finalization_Master.
2826 (Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
2827 * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Update comment on usage.
2828 Rename local variable Collect to Fin_Mas_Id and update its occurrences.
2829 Replace call to Set_Associated_Collection with Set_Finalization_Master.
2830 (Build_Finalization_Collection): Renamed to Build_Finalization_Master.
2831 Replace the call to Associated_Collection with Finalization_Master.
2832 Rename local variable Coll_Id to Fin_Mas_Id and update its occurrences.
2833 Update the way finalization master names are generated. Update the
2834 retrieval of the correct access type which will carry the pool and
2835 master attributes.
2836 (Make_Final_Call): Reimplement the way [Deep_]Finalize is retrieved.
2837 (Make_Finalize_Address_Body): Abstract types do not need
2838 Finalize_Address. Code reformatting.
2839 (Make_Finalize_Address_Stmts): Update comment on usage.
2840 (Make_Set_Finalize_Address_Ptr_Call): Removed.
2841 (Process_Declarations): Update comments.
2842 * exp_ch7.ads (Build_Finalization_Collection): Renamed to
2843 Build_Finalization_Master. Update associated comment.
2844 (Make_Set_Finalize_Address_Ptr_Call): Removed.
2845 * exp_ch13.adb: Update comments which mention finalization collections.
2846 (Expand_N_Free_Statement): Replace the call to Associated_Collection
2847 with Finalization_Master.
2848 * exp_util.adb (Build_Allocate_Deallocate_Proc): Reimplemented to
2849 create calls to routines Allocate_Any_Controlled and
2850 Deallocate_Any_Controlled.
2851 (Find_Finalize_Address): New routine.
2852 (Is_Allocate_Deallocate_Proc): Update the RTE entities used in the
2853 comparison.
2854 (Requires_Cleanup_Actions): Update the comment on freeze node
2855 inspection.
2856 * exp_util.ads: Remove comment on generated code for
2857 Build_Allocate_Deallocate_Proc. The code is now quite complex and it
2858 is better to simply look in the body.
2859 * freeze.adb (Freeze_All): Update the comment of finalization
2860 collections. Replace the call to Associated_Collection with
2861 Finalization_Master. Replace the call to Build_Finalization_Collection
2862 with Build_Finalization_Master.
2863 * impunit.adb: Add a-undesu and s-stposu to the list of units.
2864 * Makefile.rtl: Add files a-undesu, s-finmas and s-stposu. Remove file
2865 a-fihema.
2866 * rtsfind.adb (Get_Unit_Name): Remove the processing for children of
2867 Ada.Finalization. Add processing for children of System.Storage_Pools.
2868 * rtsfind.ads: Remove the naming of second level children of
2869 Ada.Finalization.
2870 Remove Ada_Finalization_Heap_Management from the list of units.
2871 Remove subtype Ada_Finalization_Child.
2872 Remove the following subprogram entities:
2873
2874 RE_Allocate
2875 RE_Deallocate
2876 RE_Finalization_Collection
2877 RE_Finalization_Collection_Ptr
2878 RE_Set_Finalize_Address_Ptr
2879
2880 Add the naming of second level children of System.Storage_Pools.
2881 Add System_Finalization_Masters and System_Storage_Pools_Subpools to
2882 the list of units.
2883 Add subtype System_Storage_Pools_Child.
2884 Add the following subprogram entities to System.Finalization_Masters:
2885
2886 RE_Finalization_Master
2887 RE_Finalization_Master_Ptr
2888
2889 Add the following subprogram entities to System.Storage_Pools.Subpools:
2890
2891 RE_Allocate_Any_Controlled
2892 RE_Deallocate_Any_Controlled
2893 RE_Root_Storage_Pool_With_Subpools
2894 RE_Root_Subpool
2895 RE_Subpool_Handle
2896
2897 Move the following subprogram entities from
2898 Ada.Finalization.Heap_Management to System.Finalization_Masters:
2899
2900 RE_Add_Offset_To_Address
2901 RE_Attach
2902 RE_Base_Pool
2903 RE_Detach
2904
2905 * sem_ch3.adb (Access_Type_Declaration): Replace the call to
2906 Set_Associated_Collection with Set_Finalization_Master.
2907 * sem_ch6.adb (Create_Extra_Formals): Update the way extra formal
2908 BIP_Finalization_Master is created.
2909 * s-finmas.adb: New unit System.Finalization_Masters.
2910 * s-finmas.ads: New unit System.Finalization_Masters.
2911 * s-stopoo.ads, s-stopoo.adb: Minor code reformatting.
2912 * s-stposu.ads, s-stposu.adb: New unit implementing
2913 System.Storage_Pools.Subpools.
2914
29152011-08-29 Bob Duff <duff@adacore.com>
2916
2917 * tbuild.adb: Add assertion.
2918
8c889ae4
AC
29192011-08-29 Thomas Quinot <quinot@adacore.com>
2920
2921 * s-pooglo.adb: Minor reformatting.
2922
29232011-08-29 Ed Schonberg <schonberg@adacore.com>
2924
2925 * exp_ch5.adb (Expand_N_Assignment_Statement): if the left-hand side is
2926 an indexed component of a packed array whose element type is a record
2927 with a representation clause different from that of the right-hand
2928 side, generate a temporary to minimuze the number of bit-field
2929 operations generated.
2930
29312011-08-29 Ed Schonberg <schonberg@adacore.com>
2932
2933 * exp_util.adb (Insert_Actions): Use clauses can be part of lists of
2934 declarations, and thus are likely insertion points for actions.
2935
29362011-08-29 Bob Duff <duff@adacore.com>
2937
2938 * einfo.ads: Minor comment fix.
2939
1a07a71a
AC
29402011-08-29 Robert Dewar <dewar@adacore.com>
2941
2942 * frontend.adb, gnat1drv.adb: Minor reformatting.
2943
29442011-08-29 Tristan Gingold <gingold@adacore.com>
2945
2946 * s-pooglo.adb (Allocate, Deallocate): Take into account the alignment.
2947 * a-fihema.adb (Allocate, Deallocate): Ditto. Possibly add padding
2948 space in front of the header.
2949
4bcd6411
JK
29502011-08-29 Johannes Kanig <kanig@adacore.com>
2951
2952 * frontend.adb (Frontend): Exit after creating Standard package when
2953 -gnatd.H is present.
2954 * gnat1drv.adb (Gnat1drv): Call Backend right away when -gnatd.H is
2955 present.
2956
f0f88eb6
RD
29572011-08-29 Robert Dewar <dewar@adacore.com>
2958
2959 * exp_ch9.adb, mlib-prj.adb, prj.adb, prj.ads, ttypes.ads, sem_ch4.adb,
2960 makeutl.adb, makeutl.ads, atree.ads, snames.adb-tmpl,
2961 snames.ads-tmpl: Minor reformatting.
2962
3e37be71
PG
29632011-08-29 Philippe Gil <gil@adacore.com>
2964
2965 * prj.adb (Reset_Units_In_Table): New procedure.
2966 Reset units to avoid access to freed memory.
2967
94fb7608
AC
29682011-08-29 Thomas Quinot <quinot@adacore.com>
2969
2970 * get_scos.adb: When reading a P statement SCO without a pragma name
2971 (from an older ALI file), ensure that the Pragma_Name component is set
2972 to Unknown_Pragma (not left uninitialized).
2973
29742011-08-29 Vincent Celier <celier@adacore.com>
2975
2976 * makeutl.adb (Get_Directories): New procedure moved from Buildgpr and
2977 modified to compute correctly the object path of a SAL project that is
2978 extending another library project.
2979 (Write_Path_File): New procedure.
2980 * makeutl.ads (Directories): New table moved from Buildgpr
2981 (Get_Directories): New procedure moved from Buildgpr
2982 (Write_Path_File): New procedure
2983 * mlib-prj.adb (Build_Library): Use Makeutl.Get_Directories to set the
2984 paths before binding SALs, instead of Set_Ada_Paths.
2985 * prj-env.adb (Set_Path_File_Var): Procedure has been moved to package
2986 Prj.
2987 * prj.adb (Set_Path_File_Var): New procedure moved from Prj.Env
2988 (Current_Source_Path_File_Of): New function
2989 (Set_Current_Object_Path_File_Of): New procedure
2990 (Current_Source_Object_File_Of): New function
2991 (Set_Current_Object_Path_File_Of): New procedure
2992 * prj.ads (Set_Path_File_Var): New procedure moved from Prj.Env
2993 (Current_Source_Path_File_Of): New function
2994 (Set_Current_Object_Path_File_Of): New procedure
2995 (Current_Source_Object_File_Of): New function
2996 (Set_Current_Object_Path_File_Of): New procedure
2997
29982011-08-29 Ed Schonberg <schonberg@adacore.com>
2999
3000 * exp_ch5.adb (Expand_N_Assignment_Statement): For an assignment to a
3001 packed entity, use a bit-field assignment only if there is no change of
3002 representation.
3003
c5ecd6b7
AC
30042011-08-29 Thomas Quinot <quinot@adacore.com>
3005
3006 * rtsfind.ads, exp_ch3.adb (In_Runtime): Minor code improvement, use
3007 Is_RTU instead of using Chars comparisons.
3008
30092011-08-29 Thomas Quinot <quinot@adacore.com>
3010
3011 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do not create a
3012 temporary object if the actual is constrained, and the discriminants
3013 read from the stream don't match.
3014
30152011-08-29 Tristan Gingold <gingold@adacore.com>
3016
3017 * sem_attr.adb, exp_attr.adb: Add handling of
3018 Attribute_System_Allocator_Alignment
3019 * snames.ads-tmpl: Add Name_System_Allocator_Alignment and
3020 Attribute_System_Allocator_Alignment.
3021 * ttypes.ads, get_targ.ads: Add Get_System_Allocator_Alignment.
3022 * gcc-interface/targtyps.c, gcc-interface/utils2.c,
3023 gcc-interface/gigi.h: Renames get_target_default_allocator_alignment to
3024 get_target_system_allocator_alignment.
3025
30262011-08-29 Arnaud Charlet <charlet@adacore.com>
3027
3028 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
3029 dependencies.
3030
8abdac29
AC
30312011-08-29 Arnaud Charlet <charlet@adacore.com>
3032
3033 * exp_ch3.adb (In_Runtime): Fix typo.
3034
df170605
AC
30352011-08-29 Bob Duff <duff@adacore.com>
3036
3037 * sem_ch4.adb (Analyze_Allocator): Analyze the subpool specification.
3038
30392011-08-29 Ed Schonberg <schonberg@adacore.com>
3040
3041 * exp_ch3.adb (Expand_N_Object_Declaration): If the entity is tagged
3042 and a separate tag assignment is generated, ensure that the tag
3043 assignment is analyzed.
3044
864a4236
ES
30452011-08-29 Ed Schonberg <schonberg@adacore.com>
3046
3047 * atree.ads, atree.adb (Copy_Separate_List): New function that applies
3048 Copy_Separate_Tree to a list of nodes. Used to create disjoint copies
3049 of statement lists that may contain local declarations.
df170605
AC
3050 * exp_ch9.adb (Expand_N_Timed_Entry_Call): Use Copy_Separate_List to
3051 duplicate the triggering statements needed for the expansion of this
3052 construct, when the trigger is a dispatching call to a synchronized
3053 primitive.
864a4236 3054
7f394c1d
AC
30552011-08-29 Arnaud Charlet <charlet@adacore.com>
3056
3057 * gnat_rm.texi: Add doc for 'Elab_Subp_Body.
3058 * bindgen.adb: Add comments.
3059 * snames.adb-tmpl (Is_Attribute_Name): Only recognize 'Elab_Subp_Body
3060 in CodePeer mode.
3061
2c1a2cf3
RD
30622011-08-29 Robert Dewar <dewar@adacore.com>
3063
3064 * exp_attr.adb: Minor reformatting.
3065 Minor code reorganization and commenting.
3066 * par_sco.adb, checks.adb, sem_attr.adb, get_scos.adb: Minor
3067 reformatting.
3068
0bfc9a64
AC
30692011-08-29 Thomas Quinot <quinot@adacore.com>
3070
3071 * get_scos.adb: Ignore chaining indicators not currently supported
3072 by Ada.
3073
30742011-08-29 Arnaud Charlet <charlet@adacore.com>
3075
3076 * system.ads: Minor editing.
3077
30782011-08-29 Arnaud Charlet <charlet@adacore.com>
3079
3080 * bindgen.adb (Gen_Elab_Calls): Generate calls to subp'Elab_Subp_Body in
3081 CodePeer mode.
3082 * sem_attr.ads, sem_attr.adb, exp_Attr.adb, sem_ch6.adb: Add handling of
3083 Attribute_Elab_Subp_Body.
3084 * snames.ads-tmpl (Attribute_Elab_Subp_Body, Name_Elab_Subp_Body): New.
3085 * sem_util.adb: Update comments.
3086
828d4cf0
TQ
30872011-08-29 Thomas Quinot <quinot@adacore.com>
3088
3089 * par_sco.adb, scos.adb, scos.ads, put_scos.adb, get_scos.adb: Record
3090 pragma name for each SCO statement corresponding to a pragma.
3091
5cd7bb15
AC
30922011-08-29 Arnaud Charlet <charlet@adacore.com>
3093
3094 * opt.ads: Minor editing.
3095
30962011-08-29 Yannick Moy <moy@adacore.com>
3097
3098 * gnat1drv.adb (Adjust_Global_Switches): Remove options for ALFA mode
3099 that only made sense for CodePeer mode.
3100
31012011-08-29 Jose Ruiz <ruiz@adacore.com>
3102
3103 * targparm.ads (Support_64_Bit_Divides_On_Target): Remove this flag
3104 which is no longer used.
3105 * targparm.adb (S64, S64_Str, Get_Target_Parameters): Remove the
3106 handling of the 64-bit division check.
3107 * exp_ch4.adb (Expand_N_Op_Divide): Remove the check for 64-bit
3108 division available.
3109 * system*.ads (Support_64_Bit_Divides): Remove this flag which is no
3110 longer used.
3111
31122011-08-29 Thomas Quinot <quinot@adacore.com>
3113
3114 * get_scos.adb: Minor reformatting.
3115
25b589cb
AC
31162011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3117
3118 * exp_util.adb (Process_Statements_For_Controlled_Objects): Whenever a
3119 statement list is wrapped in a block, the block is explicitly analyzed
3120 in order to properly redecorate the entities and create a servicing
3121 finalizer.
3122
31232011-08-29 Tristan Gingold <gingold@adacore.com>
3124
3125 * sinfo.ads, sinfo.adb (Zero_Cost_Handling): Remove.
3126 (Set_Zero_Cost_Handling): Remove.
3127
31282011-08-29 Thomas Quinot <quinot@adacore.com>
3129
3130 * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting
3131
1197ddb1
AC
31322011-08-29 Geert Bosch <bosch@adacore.com>
3133
3134 * s-vaflop-vms-alpha.adb (Neg_F): Use subtraction instead of negation
3135 instruction, as the latter may produce -0.0, which is not a valid VAX
3136 F float number.
3137 (Neg_G): Likewise for VAX F float.
3138
31392011-08-29 Robert Dewar <dewar@adacore.com>
3140
3141 * exp_util.adb: Minor reformatting.
3142
31432011-08-29 Yannick Moy <moy@adacore.com>
3144
3145 * sem_ch3.adb: Minor comment update.
3146
31472011-08-29 Thomas Quinot <quinot@adacore.com>
3148
3149 * checks.adb (Apply_Type_Conversion_Checks): Use the Underlying_Type of
3150 the operand type.
3151
31522011-08-29 Thomas Quinot <quinot@adacore.com>
3153
3154 * par_sco.adb (Traverse_Declarations_Or_Statements): Do not flush
3155 current statement sequence on a generic instantiation or a subprogram
3156 declaration.
3157
8f66cda7
AC
31582011-08-29 Robert Dewar <dewar@adacore.com>
3159
3160 * sem_type.adb, einfo.ads, freeze.adb, exp_ch4.adb, sem_ch13.adb:
3161 Minor reformatting.
3162
31632011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3164
3165 * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
3166 Correct the check which involves the freeze node of a controlled or
3167 access-to-controlled type.
3168
31692011-08-29 Geert Bosch <bosch@adacore.com>
3170
3171 * sem_warn.adb (Check_Code_Statement): Remove check for consecutive Asm
3172 statements.
3173 * s-vaflop-vms-alpha.adb: Remove bogus Volatile => True arguments from
3174 Asm statements.
3175
cf161d66
AC
31762011-08-29 Yannick Moy <moy@adacore.com>
3177
3178 * sem_ch3.adb (Array_Type_Declaration): Insert a subtype declaration
3179 for every index type and component type that is not a subtype_mark.
3180 (Process_Subtype): Set Etype of subtype.
3181
31822011-08-29 Robert Dewar <dewar@adacore.com>
3183
3184 * a-cbmutr.adb, a-cimutr.adb, a-comutr.adb, prj-nmsc.adb: Minor code
3185 reorganization. Minor reformatting.
3186
7cc83cd8
AC
31872011-08-29 Steve Baird <baird@adacore.com>
3188
3189 * exp_ch4.adb (Expand_N_Op_Expon): Suppress N_Op_Expon node expansion
3190 for CodePeer and ALFA modes.
3191
31922011-08-29 Ed Schonberg <schonberg@adacore.com>
3193
3194 * sem_type.adb (Collect_Interps): Within an instance, collect a homonym
3195 that comes from an enclosing scope if it is not the renaming of an
3196 actual, to handle properly a spurious ambiguity in an instance.
3197
76af4137
AC
31982011-08-29 Eric Botcazou <ebotcazou@adacore.com>
3199
3200 * sem_ch13.adb (Alignment_Check_For_Esize_Change): Rename to...
3201 (Alignment_Check_For_Size_Change): ...this. Add SIZE parameter and
3202 use it instead of the Esize of the first parameter.
3203 (Analyze_Attribute_Definition_Clause) <Object_Size>: Adjust call to
3204 above change.
3205 <Size>: Likewise. Call it for composite types on the RM size.
3206
32072011-08-29 Yannick Moy <moy@adacore.com>
3208
3209 * exp_ch4.adb (Expand_N_Op_Not): Do not expand not on array.
3210 * sem_util.adb (Unique_Name): Correct behaviour for names of
3211 compilation units.
3212
9b20e59b
AC
32132011-08-29 Yannick Moy <moy@adacore.com>
3214
3215 * sem_prag.adb (Check_Precondition_Postcondition): In formal
3216 verification mode, analyze pragma expression for correctness, for
3217 pre/post on library-level subprogram, as it is not expanded later.
3218
32192011-08-29 Yannick Moy <moy@adacore.com>
3220
3221 * exp_aggr.adb (Expand_Array_Aggregate): Do not expand array aggregates
3222 in formal verification.
3223
32242011-08-29 Thomas Quinot <quinot@adacore.com>
3225
3226 * sem_util.adb: Minor reformatting.
3227 * freeze.adb, sem_ch13.adb: Fix comment: Bit_Order is an attribute,
3228 there's no pragma.
3229 * par_sco.ads, par_sco.adb: Update comments.
3230
32312011-08-29 Yannick Moy <moy@adacore.com>
3232
3233 * einfo.adb, einfo.ads: Remove flag Is_Postcondition_Proc and
3234 associated getter/setter.
3235 * sem_ch6.adb: Remove reference to Is_Postcondition_Proc.
3236
32372011-08-29 Vincent Celier <celier@adacore.com>
3238
3239 * prj-attr.adb: New Compiler attribute Dependency_Kind and Language_Kind
3240 * prj-conf.adb: Add_Default_GNAT_Naming_Scheme: Add a package Compiler
3241 with declarations for Language_Kind and Dependency_Kind for Ada.
3242 * prj-nmsc.adb (Check_Unit_Name): New name of procedure Check_Ada_Name
3243 (Process_Compiler): Take into account the new attributes Dependency_Kind
3244 and Language_Kind.
3245 (Check_Configuration): Check if language kind is unit based, not if the
3246 language name is Ada.
3247 (Process_Exceptions_Unit_Based): Ditto
3248 (Add_Language): Remove default additions of language and dependency kind
3249 * prj.ads: Minor comment change
3250 * snames.ads-tmpl: New standard names Dependency_Kind and Language_Kind
3251
32522011-08-29 Johannes Kanig <kanig@adacore.com>
3253
3254 * debug.adb: Update comments.
3255
c5bc3df6
JM
32562011-08-24 Joseph Myers <joseph@codesourcery.com>
3257
3258 * gcc-interface/Make-lang.in (CFLAGS-ada/tracebak.o)
3259 (CFLAGS-ada/targext.o, CFLAGS-ada/cio.o, CFLAGS-ada/init.o)
3260 (CFLAGS-ada/initialize.o, CFLAGS-ada/raise.o): New.
3261 (ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o)
3262 (ada/initialize.o, ada/raise.o): Remove explicit compilation rules.
3263
e3aa9eba
RO
32642011-08-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3265
3266 * gcc-interface/Makefile.in (PICFLAG_FOR_TARGET): New.
3267 (GNATLIBCFLAGS_FOR_C): Replace
3268 TARGET_LIBGCC2_CFLAGS by PICFLAG_FOR_TARGET.
3269 (gnatlib-shared-default, gnatlib-shared-dual-win32)
3270 (gnatlib-shared-win32, gnatlib-shared-darwin, gnatlib-shared)
3271 (gnatlib-sjlj, gnatlib-zcx): Likewise.
3272
f446d60e
EB
32732011-08-07 Eric Botcazou <ebotcazou@adacore.com>
3274
3275 * gcc-interface/Makefile.in (raise-gcc.o): Fix previous change.
3276
588c8f48
EB
3277 * gcc-interface/gigi.h (enumerate_modes): Fix formatting.
3278
3279 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Revert latest change.
3280
28d711bf
NR
32812011-08-05 Nicolas Roche <roche@adacore.com>
3282
3283 * gcc-interface/Makefile.in: Don't use directly ../xgcc to build shared
3284 libgnat. Use rather the value of GCC_FOR_TARGET. Fix issue with
3285 canadian cross.
3286 * gcc-interface/Make-lang.in: Add support for canadian cross setting.
3287
993f8920
AC
32882011-08-05 Matthew Heaney <heaney@adacore.com>
3289
3290 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Child_Count, Child_Depth):
3291 subprogram bodies declared out-of-order.
3292
32932011-08-05 Yannick Moy <moy@adacore.com>
3294
3295 * sem_util.adb (Unique_Name): only prefix with "standard" the names of
3296 entities directly in package Standard, otherwise skip the standard
3297 prefix.
3298
9b3956dd
RD
32992011-08-05 Robert Dewar <dewar@adacore.com>
3300
3301 * a-cbmutr.adb: Minor reformatting
3302 (Allocate_Node): refactor node allocation algorithm
3303
33042011-08-05 Robert Dewar <dewar@adacore.com>
3305
3306 * opt.ads, opt.adb (Debug_Pragmas_Disabled): New switch.
3307 * sem_prag.adb (Analyze_Pragma, case Debug_Policy): Implement Disable
3308 mode.
3309 (Analyze_Pragma, case Check_Policy): Ditto.
3310 * sem_prag.ads (Check_Disabled): New function
3311 * snames.ads-tmpl: Add Name_Disable.
3312
33132011-08-05 Robert Dewar <dewar@adacore.com>
3314
3315 * gnat_rm.texi: Document implementation-defined policy DISABLE for
3316 pragmas Assertion_Policy, Check_Policy, Debug_Policy.
3317
79e705d6
AC
33182011-08-05 Ed Schonberg <schonberg@adacore.com>
3319
3320 * sem_prag.adb (Analyze_Pragma, case Inline): reject an Inline pragma
3321 that appears in a generic formal part and applies to a formal
3322 subprogram.
3323
33242011-08-05 Robert Dewar <dewar@adacore.com>
3325
3326 * a-cbmutr.ads: Minor reformatting.
3327
23b6deca
AC
33282011-08-05 Matthew Heaney <heaney@adacore.com>
3329
3330 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Read): do not use T'Valid
3331 to check count, check sign of value instead.
3332 * a-comutr.adb, a-cimutr.adb (Write): return immediately if tree empty
3333 (Copy_Subtree): allocate copy of source element
3334 (Equal_Subtree): compare elements, not access objects
3335
33362011-08-05 Vincent Celier <celier@adacore.com>
3337
3338 * gnat_ugn.texi: Fix VMS alternative.
3339
a2773bd3
AC
33402011-08-05 Thomas Quinot <quinot@adacore.com>
3341
3342 * sem_ch11.adb: Add comment.
3343
33442011-08-05 Robert Dewar <dewar@adacore.com>
3345
3346 * exp_util.adb: Minor comment fix.
3347
33482011-08-05 Robert Dewar <dewar@adacore.com>
3349
3350 * scng.adb (Error_Unterminated_String): Improve flag position when
3351 comma present.
3352
33532011-08-05 Matthew Heaney <heaney@adacore.com>
3354
3355 * Makefile.rtl, impunit.adb: Added a-cbmutr.ad[sb] (bounded multiway
3356 tree containers).
3357 * a-cbmutr.ads, a-cbmutr.adb: This is the new Ada 2012 unit for bounded
3358 multiway tree containers.
3359
33602011-08-05 Robert Dewar <dewar@adacore.com>
3361
3362 * styleg.adb (Check_Comment): Implement comment spacing of 1 or 2
3363 * stylesw.adb: Implement -gnatyC to control comment spacing
3364 * stylesw.ads (Style_Check_Comments_Spacing): New switch (set by
3365 -gnatyc/C).
3366 * usage.adb: Add line for -gnatyC.
3367
33682011-08-05 Robert Dewar <dewar@adacore.com>
3369
f446d60e 3370 * gnat_ugn.texi: Document -gnatyC.
a2773bd3
AC
3371 * vms_data.ads: Implement COMMENTS1/COMMENTS2 (retaining COMMENTS as a
3372 synonym for COMMENTS2).
3373
dedac3eb
RD
33742011-08-05 Robert Dewar <dewar@adacore.com>
3375
3376 * par_sco.adb, sem_ch3.adb, scos.ads, a-iteint.ads, sem_ch12.adb,
3377 a-cimutr.adb, a-cimutr.ads, sem_util.ads, sem_res.adb, a-fihema.adb,
3378 sem_ch4.adb, lib-xref-alfa.adb, exp_disp.adb, a-comutr.adb,
3379 a-comutr.ads, lib-xref.adb: Minor reformatting.
3380
33812011-08-05 Robert Dewar <dewar@adacore.com>
3382
3383 * sem_ch11.adb (Analyze_Raise_Statement): Kill assignment to formal
3384 warning if there is an exception handler present.
3385
7c62a85a
AC
33862011-08-05 Pascal Obry <obry@adacore.com>
3387
3388 * a-iteint.ads: Fix copyright year.
3389
33902011-08-05 Thomas Quinot <quinot@adacore.com>
3391
3392 * par_sco.adb (Traverse_Declarations_Or_Statements): Do not generate a
3393 statement SCO for a USE clause or a representation clause.
3394
33952011-08-05 Yannick Moy <moy@adacore.com>
3396
3397 * lib-xref-alfa.adb (Collect_ALFA): generate the proper relation
3398 between body and spec for stub.
3399 (Detect_And_Add_ALFA_Scope): take into account subprogram stub
3400 * lib-xref.adb (Enclosing_Subprogram_Or_Package): in the case of a
3401 pragma precondition or postcondition, for which the enclosing
3402 subprogram or package in the AST is not the desired one, return empty.
3403
e49208a9
AC
34042011-08-05 Thomas Quinot <quinot@adacore.com>
3405
3406 * g-expect.adb: Minor reformatting.
3407
34082011-08-05 Bob Duff <duff@adacore.com>
3409
3410 * a-fihema.adb: Comment out OS_Lib.
3411
34122011-08-05 Matthew Heaney <heaney@adacore.com>
3413
3414 * Makefile.rtl, impunit.adb: Added a-c[oi]mutr.ad[sb]
3415 (unbounded multiway tree containers) and a-iteint.ads.
3416 * a-comutr.ads, a-comutr.adb:
3417 This is the new Ada 2012 unit for unbounded multiway tree containers
3418 * a-cimutr.ads, a-cimutr.adb
3419 This is the new Ada 2012 unit for indefinite multiway tree containers
3420 * a-iteint.ads: New file.
3421
201cdb74
RO
34222011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3423
f446d60e 3424 * gcc-interface/Makefile.in (raise-gcc.o): Search $(srcdir)/../libgcc.
201cdb74 3425
d50f4827
AC
34262011-08-05 Bob Duff <duff@adacore.com>
3427
3428 * sinfo.ads, sinfo.adb (Subpool_Handle_Name): New attribute for
3429 subpools.
3430 * par-ch4.adb (P_Allocator): Parse new subpool specification syntax.
3431
34322011-08-05 Ed Schonberg <schonberg@adacore.com>
3433
3434 * sem_ch4.adb (Try_Container_Indexing): New procedure to implement the
3435 general indexing aspects of Ada2012. Called when analyzing indexed
3436 components when other interpretations fail.
3437 * sem_ch8.adb (Find_Direct_Name): check for implicit dereference only
3438 in an expression context where overloading is meaningful. This excludes
3439 the occurrence in an aspect specification (efficiency only).
3440 * sem_attr.adb (Analyze_Attribute): indicate that the attributes
3441 related to iterators can be set by an attribute specification, but
3442 cannot be queried.
3443 * sem_ch13.adb (Analyze_Aspect_Specifications): handle
3444 Constant_Indexing and Variable_Indexing.
3445 (Check_Indexing_Functions): New procedure to perform legality checks.
3446 Additional semantic checks at end of declarations.
3447
efe05dfc
AC
34482011-08-05 Sergey Rybin <rybin@adacore.com>
3449
3450 * tree_io.ads: Update ASIS_Version_Number because of the change of the
3451 order of calling Tree_Write/Tree_Read routines made for aspects.
3452
34532011-08-05 Bob Duff <duff@adacore.com>
3454
3455 * a-fihema.adb (Finalize): Fix race condition.
3456
5f9cdefe
AC
34572011-08-05 Yannick Moy <moy@adacore.com>
3458
3459 * sem_ch12.adb (Analyze_Package_Instantiation,
3460 Need_Subprogram_Instance_Body): do not generate instance bodies in ALFA
3461 mode.
3462
34632011-08-05 Ed Schonberg <schonberg@adacore.com>
3464
3465 * sem_type.adb (Specific_Type): in an instance, the type-specific
3466 operand of an equality check that involves null may have a private
3467 type. Use full view to determine legality of construct.
3468
822868aa
AC
34692011-08-05 Vincent Celier <celier@adacore.com>
3470
3471 * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
3472 delete or close the file when the call to gnatmake was successful.
3473
34742011-08-05 Yannick Moy <moy@adacore.com>
3475
3476 * gnat1drv.adb (Adjust_Global_Switches): in ALFA mode, set
3477 Global_Discard_Names.
3478
34792011-08-05 Ed Schonberg <schonberg@adacore.com>
3480
3481 * sinfo.ads: comments on use of entity field for aspect specifications.
3482
34832011-08-05 Ed Schonberg <schonberg@adacore.com>
3484
3485 * sem_ch12.adb (Reset_Entity): If the entity field of the associated
3486 node is not itself an entity but a selected component, it is a
3487 rewritten parameterless call to an en enclosing synchronized operation,
3488 and this expansion will be performed again in the instance, so there is
3489 no global information to preserve.
3490
44a10091
AC
34912011-08-05 Javier Miranda <miranda@adacore.com>
3492
3493 * exp_disp.adb (Set_All_DT_Position): Cleanup code and improve support
3494 for renamings of predefined primitives.
3495 (In_Predef_Prims_DT): New subprogram.
3496
34972011-08-05 Ed Schonberg <schonberg@adacore.com>
3498
3499 * sem_util.adb, sem_util.ads (Check_Implicit_Dereference): If a
3500 possible interpretation of name is a reference type, add an
3501 interpretation that is the designated type of the reference
3502 discriminant of that type.
3503 * sem_res.adb (resolve): If the interpretation imposed by context is an
3504 implicit dereference, rewrite the node as the deference of the
3505 reference discriminant.
3506 * sem_ch3.adb (Analyze_Subtype_Declaration, Build_Derived_Record_Type,
3507 Build_Discriminated_Subtype): Inherit Has_Implicit_Dereference from
3508 parent type or base type.
3509 * sem_ch4.adb (Process_Indexed_Component,
3510 Process_Overloaded_Indexed_Component, Indicate_Name_And_Type,
3511 Analyze_Overloaded_Selected_Component, Analyze_Selected_Component):
3512 Check for implicit dereference.
3513 (List_Operand_Interps): Indicate when an implicit dereference is
3514 ambiguous.
3515 * sem_ch8.adb (Find_Direct_Name): Check for implicit dereference.
3516
35172011-08-05 Thomas Quinot <quinot@adacore.com>
3518
3519 * scos.ads: Update documentation of SCO table. Pragma statements can now
3520 be marked as disabled (using 'p' instead of 'P' as the statement kind).
3521 * par_sco.ads, par_sco.adb: Implement the above change.
3522 (Process_Decisions_Defer): Generate a P decision for the first parameter
3523 of a dyadic pragma Debug.
3524 * sem_prag.adb (Analyze_Pragma, case Debug): Mark pragma as enabled if
3525 necessary.
3526 * put_scos.adb: Code simplification based on above change.
3527
bb3c784c
AC
35282011-08-05 Robert Dewar <dewar@adacore.com>
3529
3530 * sem_ch3.adb, gnatcmd.adb, switch-c.adb, exp_attr.adb, make.adb,
3531 bindgen.adb, einfo.adb, sem_ch12.adb, sem_attr.adb, a-fihema.adb,
3532 a-fihema.ads, sem_elab.adb, sem_elab.ads, aspects.adb, opt.ads,
3533 prj-conf.adb, sem_ch13.adb, s-ficobl.ads: Minor reformatting
3534
35352011-08-05 Bob Duff <duff@adacore.com>
3536
3537 * a-stunau.ads, g-spipat.adb: Update comments.
3538
36f686f9
BD
35392011-08-05 Bob Duff <duff@adacore.com>
3540
3541 * a-fihema.ads: Minor comment fix.
3542 * a-fihema.adb (Allocate, Deallocate): Assert that the alignment is
3543 correct.
3544 (Attach, Detach): Remove some unnecessary code.
3545 (Finalize): Remove Node_Ptr_To_Address, replace with a constant.
3546
7882673f
BD
35472011-08-05 Bob Duff <duff@adacore.com>
3548
3549 * a-fihema.ads, a-fihema.adb (Finalization_Collection): Avoid heap
3550 allocation for Objects component. This simplifies the code somewhat. It
3551 is also a little more efficient in the not-so-unusual case where there
3552 are no controlled objects allocated.
3553 Make Finalization_Started flag atomic.
3554 (Finalize): Avoid unnecessary detachment of items from the list.
3555 (pcol): Minor cleanup.
3556
d34cd274
AC
35572011-08-05 Ed Schonberg <schonberg@adacore.com>
3558
3559 * sem_ch12.adb (Analyze_Formal_Package_Declaration): reject a formal
3560 package whose name is the same as that of the generic unit, or its
3561 ultimate prefix.
3562
35632011-08-05 Bob Duff <duff@adacore.com>
3564
3565 * a-fihema.adb, a-fihema.ads: Minor comment improvements.
3566 * sem_ch3.adb, exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb:
3567 Minor comment fixes.
3568
00332244
AC
35692011-08-05 Arnaud Charlet <charlet@adacore.com>
3570
3571 * make.adb (Linking_Phase): No longer need to set source search path
3572 before calling gnatlink in CodePeer mode.
3573 * gnatlink.adb (Gnatlink): No longer pass -gnat83/95/05/12 switch to
3574 gcc in CodePeer mode, since the binder generated file no longer has a
3575 'with Main'.
3576 * switch.ads, switch.adb (Is_Language_Switch): Removed.
3577 * switch-c.adb: Update comment.
3578
35792011-08-05 Thomas Quinot <quinot@adacore.com>
3580
3581 * exp_strm.adb, bindgen.adb, s-ficobl.ads: Minor reformatting.
3582
35832011-08-05 Nicolas Roche <roche@adacore.com>
3584
3585 * gnat_ugn.texi: Fix minor syntax error issue.
3586
35872011-08-05 Vincent Celier <celier@adacore.com>
3588
3589 * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
3590 delete or close the file when the call to gnatmake returns a non
3591 successful return code.
3592
35932011-08-05 Ed Schonberg <schonberg@adacore.com>
3594
3595 * exp_ch4.adb (Expand_N_Type_Conversion): When expanding a predicate
3596 check, indicate that the copy of the original node does not come from
3597 source, to prevent an infinite recursion of the expansion.
3598
35992011-08-05 Johannes Kanig <kanig@adacore.com>
3600
3601 * debug.adb: document switch -gnatd.G for gnat2why, which deactivates
3602 VC generation for subprogram bodies.
3603
36042011-08-05 Yannick Moy <moy@adacore.com>
3605
3606 * einfo.ads: Typo.
3607 * sem_ch3.adb (Signed_Integer_Type_Declaration): in ALFA mode, define
3608 the base type with the smallest allowed base type.
3609
36102011-08-05 Sergey Rybin <rybin@adacore.com>
3611
3612 * tree_gen.adb, tree_in.adb, aspects.adb: Fix tree read-write for
3613 aspects.
3614
36152011-08-05 Ed Schonberg <schonberg@adacore.com>
3616
3617 * sem_ch12.ads: minor comment updates.
3618
36192011-08-05 Ed Schonberg <schonberg@adacore.com>
3620
3621 * sem_ch12.adb (Analyze_Formal_Package_Declaration): in an
3622 instantiation and a formal package the compiler generates a package
3623 renaming declaration so that the generic name within the declaration
3624 is interpreted as a renaming of the instance. At the end of a formal
3625 package declaration, this renaming must become invisible.
3626
0da80d7d
AC
36272011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
3628
3629 * exp_ch7.adb (Is_Init_Call): Reimplemented to avoid character
3630 comparison and rely on concrete entities instead.
3631
36322011-08-05 Ed Schonberg <schonberg@adacore.com>
3633
3634 * einfo.ads, einfo.adb (Has_Implicit_Dereference): new flag on types
3635 and discriminants, to indicate that the type has an access discriminant
3636 that supports implicit dereference.
3637 * snames.ads-tmpl: Add names of aspects and attributes related to
3638 Ada2012 iterators: constant_indexing, default_iterator,
3639 iterator_element, implicit_dereference, variable_indexing.
3640 * aspects.ads, aspects.adb: entries for iterator-related aspects.
3641 * sem_ch13.adb (Analyze_aspect_specifications): dummy entries for
3642 iterator-related aspects.
3643 * sem_attr.adb, exp_attr.adb Dummy entries for iterator-related aspects.
3644
36452011-08-05 Sergey Rybin <rybin@adacore.com>
3646
3647 * gnat_ugn.texi, vms_data.ads: Extend the subsection about coupling
3648 metrics in gnatmetric to cover new kinds of coupling mentrics.
3649
36502011-08-05 Steve Baird <baird@adacore.com>
3651
3652 * bindgen.adb (Gen_CodePeer_Wrapper): Call Ada_Main_Program instead
2c7f9cc0 3653 of calling the user-defined main subprogram.
0da80d7d
AC
3654 (Gen_Main): Declare Ada_Main_Program and (if CodePeer_Mode
3655 is set) Call_Main_Subprogram ahead of, as opposed to
3656 inside of, Main.
3657 (Gen_Output_File_Ada): Remove CodePeer_Mode-conditional
3658 generation of a "with" of the user-defined main subprogram.
3659 Remove CodePeer_Mode-conditional call to Gen_CodePeer_Wrapper
3660 (which is now called from Gen_Main instead).
3661
73242473
AC
36622011-08-05 Emmanuel Briot <briot@adacore.com>
3663
3664 * projects.texi: Added reference to the Makefile package.
3665
36662011-08-05 Thomas Quinot <quinot@adacore.com>
3667
3668 * exp_ch7.adb: Minor comment rewording.
3669
36702011-08-05 Ed Falis <falis@adacore.com>
3671
3672 * env.c: Fix comment.
3673
36742011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
3675
3676 * sem_elab.adb (Is_Finalization_Procedure): Reimplemented to avoid
3677 character comparison and rely on concrete entities instead.
3678
97ed5872
AC
36792011-08-05 Ed Schonberg <schonberg@adacore.com>
3680
3681 * sem_ch3.adb: (Check_Private_Overriding): better error message,
3682 suggested by AI95-0068.
3683
36842011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
3685
3686 * exp_ch7.adb (Find_Last_Init): Use Next_Suitable_Statement to retrieve
3687 the two potential initialization calls. This accounts for any
3688 access-before-elaboration checks which may precede the initialization
3689 calls.
3690 (Next_Suitable_Statement): New routine. Returns the next real statement
3691 after the input node while skipping generated checks.
3692 * sem_elab.adb (Check_A_Call): New formal parameter In_Init_Proc along
3693 with comment on usage.
3694 Do not generate Elaborate_All when the trigger is a finalization call
3695 coming from a type init proc.
3696 (Check_Elab_Call): Propagate the initialization procedure context to
3697 subsequent calls to Check_A_Call.
3698 (Check_Internal_Call_Continue): Propagate the initialization procedure
3699 context to subsequent calls to Check_Elab_Call.
3700 (Is_Finalization_Procedure): New routine. Returns True if the input
3701 entity denotes a [Deep_]Finalize routine.
3702 * sem_elab.ads (Check_Elab_Call): New formal parameter In_Init_Proc
3703 along with comment on usage.
3704
37052011-08-05 Vadim Godunko <godunko@adacore.com>
3706
3707 * s-atocou.ads: Add list of supported platforms.
3708
37092011-08-05 Yannick Moy <moy@adacore.com>
3710
3711 * sem_prag.adb, restrict.adb: Correct style for or'ing Boolean variables
3712
3713 * opt.ads (Disable_ALI_File): new Boolean flag
3714 * lib-writ.adb (Write_ALI): when Disable_ALI_File is set, do nothing
3715
37162011-08-05 Ed Falis <falis@adacore.com>
3717
3718 * env.c (__gnat_environ): Fix includes for RTPs and VTHREADS so that
3719 environ is properly defined.
3720
37212011-08-05 Vincent Celier <celier@adacore.com>
3722
3723 * make.adb (Compilation_Phase): Exit immediately when all objects have
3724 been found up to date, to avoid multiple exit messages.
3725 * prj-nmsc.adb (Add_Source): Allow duplicate source file names in the
3726 same project for languages with no compiler.
3727 * gnat_ugn.texi: Document compiler switch -gnateI and gnatmake switch
3728 -eI.
9aff36e9
RD
37292011-08-05 Robert Dewar <dewar@adacore.com>
3730
3731 * exp_ch7.ads, sem_type.adb, make.adb, sem_prag.adb, sem_util.adb,
3732 sem_util.ads, sem_attr.adb, restrict.ads, sem_ch6.adb, prj-conf.adb,
3733 prj-conf.ads, s-atocou.ads, s-atocou.adb, s-atocou-x86.adb,
3734 s-atocou-builtin.adb: Minor reformatting.
3735
406935b6
AC
37362011-08-05 Yannick Moy <moy@adacore.com>
3737
3738 * exp_ch7.adb (Establish_Transient_Scope): in formal verification mode,
3739 if the node to wrap is a pragma check, this node and enclosed
3740 expression are not expanded, so do not apply any transformations here.
3741 * exp_prag.adb (Expand_Pragma_Check): document the need to avoid
3742 introducing transient scopes.
3743
37442011-08-05 Jose Ruiz <ruiz@adacore.com>
3745
3746 * adaint.c (__gnat_set_writable, __gnat_set_readable,
3747 __gnat_set_executable, __gnat_set_non_writable, __gnat_set_non_readable,
3748 __gnat_copy_attribs): On VxWorks 6.x and later, the required chmod
3749 routine is available, so we use the default implementation of these
3750 functions.
3751 * s-os_lib.ads (Copy_File, Copy_Time_Stamps): Document that there is
3752 support for copying attributes on VxWorks 6.
3753
37542011-08-05 Yannick Moy <moy@adacore.com>
3755
3756 * debug.adb: Remove use of -gnatd.D.
3757 * gnat1drv.adb (Adjust_Global_Switches): adjust switches for ALFA mode
3758 * opt.ads: Simplify variables for ALFA mode, to keep one only
3759 * restrict.adb, sem_prag.adb: Adapt treatment done for CodePeer mode
3760 to ALFA mode.
3761
37622011-08-05 Vincent Celier <celier@adacore.com>
3763
3764 * prj-conf.adb (Do_Autoconf): Look also for --RTS in
3765 Builder'Default_Switches.
3766
37672011-08-05 Vincent Celier <celier@adacore.com>
3768
3769 * makeusg.adb: Add lines for --create-map-file switches.
3770
37712011-08-05 Ed Schonberg <schonberg@adacore.com>
3772
3773 * freeze.adb (Freeze_Entity): For a subprogram, if a type in the
3774 profile is incomplete and the full view is available, replace it with
3775 the full view.
3776 * sem_ch6.adb (Possible_Freeze): if a type in the profile is
3777 incomplete, freezing the subprogram is delayed until the full view is
3778 frozen.
3779 * sem_type.adb (Disambiguate): an ambiguity between a user-defined
3780 fixed-point multiplication operator and the predefined operator is
3781 resolved in favor of the user-defined one.
3782
96c891b3
RO
37832011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3784
3785 * init.c [__alpha__ && __osf__] (__gnat_error_handler): Use
3786 CONST_CAST.
3787
276e7ed0
AC
37882011-08-04 Ed Schonberg <schonberg@adacore.com>
3789
3790 * sem_util.ads, sem_unit.adb (Type_Without_Stream_Operation): determine
3791 whether a type lacks user-defined Read or Write operations, or has a
3792 component that lacks them.
3793 * sem_attr.adb (Check_Stream_Attribute): if restriction
3794 No_Default_Stream_Attributes is active, verify that all subcomponent
3795 types of the target have user-defined stream operations, and report
3796 error otherwise.
3797 * exp_ch3.adb (Stream_Operqtion_OK): use Type_Without_Stream_Operation.
3798 * exp_strm.adb: Build_Elementary_Input_Call,
3799 Build_Elementary_Write_Call): remove checks for restriction
3800 No_Default_Stream_Attributes, now checked in semantics.
3801
38022011-08-04 Vincent Celier <celier@adacore.com>
3803
3804 * prj-conf.ads, prj-conf.adb (Do_Autoconf): If there is no --RTS
3805 switches on the command line, look for all valid --RTS switches in the
3806 Builder switches and for each language use the first runtime name found
3807 to invoke gprconfig.
3808 (Get_Or_Create_Configuration_File): Warn if --RTS is specified on the
3809 command line and there is no auto-configuration.
3810 (Runtime_Name_Set_For): New function.
3811
38122011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
3813
3814 * exp_ch7.adb (Build_Object_Declarations): Do not generate the
3815 elaborate initialization expression for variable Abort when processing
3816 a package body or a declaration.
3817 (Create_Finalizer): Propagate the package context when creating the
3818 exception-related variables.
3819 * exp_ch7.ads (Build_Object_Declarations): New formal parameter
3820 For_Package along with usage comment.
3821
19172ae9
AC
38222011-08-04 Arnaud Charlet <charlet@adacore.com>
3823
3824 * gcc-interface/Makefile.in: Clean up targets.
3825 Enable new package for atomic counters and copy-on-write implementation
3826 of unbounded strings on x86 platforms.
3827 * gcc-interface/Make-lang.in: Update dependencies.
3828
0319cacc
AC
38292011-08-04 Robert Dewar <dewar@adacore.com>
3830
3831 * exp_ch7.adb: Minor reformatting.
3832
38332011-08-04 Robert Dewar <dewar@adacore.com>
3834
3835 * exp_strm.adb: Minor reformatting.
3836
38372011-08-04 Vadim Godunko <godunko@adacore.com>
3838
3839 * s-atocou.adb: Replace by dummy version and use on targets where atomic
3840 operations are not supported.
3841 * s-atocou-builtin.adb: Renamed from s-atocou.adb.
3842 * s-atocou-x86.adb: New file.
3843 * Makefile.rtl: Add s-atocou.o file
3844
38452011-08-04 Arnaud Charlet <charlet@adacore.com>
3846
3847 * make.adb (Compile): Move setting of CodePeer_Mode to ...
3848 (Compilation_Phase): ... here.
3849 (Scan_Make_Arg): Now bind and link by default in CodePeer mode.
3850
38512011-08-04 Thomas Quinot <quinot@adacore.com>
3852
3853 * Make-generated.in: Fix minor typo in comment.
3854
26e7e1a0
AC
38552011-08-04 Thomas Quinot <quinot@adacore.com>
3856
3857 * gnatls.adb: Use Prj.Env.Initialize_Default_Project_Path to retrieve
3858 the project path.
3859
38602011-08-04 Robert Dewar <dewar@adacore.com>
3861
3862 * a-coinho.adb: Minor reformatting.
3863
38642011-08-04 Robert Dewar <dewar@adacore.com>
3865
3866 * a-coinho.ads: Minor reformatting.
3867
38682011-08-04 Vadim Godunko <godunko@adacore.com>
3869
3870 * s-atocou.ads, s-atocou.adb: New files.
3871 * a-strunb-shared.ads, a-strunb-shared.adb, a-stwiun-shared.ads,
3872 a-stwiun-shared.adb, a-stzunb-shared.ads, a-stzunb-shared.adb: Remove
3873 direct use of GCC's atomic builtins and replace them by use of new
3874 atomic counter package.
3875
38762011-08-04 Ed Schonberg <schonberg@adacore.com>
3877
3878 * exp_strm.adb: better error message for No_Default_Stream_Attributes.
3879
38802011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
3881
3882 * a-tags.adb (Unregister_Tag): Replace the complex address arithmetic
3883 with a call to Get_External_Tag.
3884 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on
3885 subprogram usage. Remove the guard against package declarations and
3886 bodies since Build_Cleanup_Statements is no longer invoked in that
3887 context.
3888 (Build_Components): Initialize Tagged_Type_Stmts when the context
3889 contains at least one library-level tagged type.
3890 (Build_Finalizer): New local variables Has_Tagged_Types and
3891 Tagged_Type_Stmts along with associated comments on usage. Update the
3892 logic to include tagged type processing.
3893 (Create_Finalizer): Insert all library-level tagged type unregistration
3894 code before the jump block circuitry.
3895 (Expand_N_Package_Body): Remove the call to Build_Cleanup_Statements.
3896 (Expand_N_Package_Declaration): Remove the call to
3897 Build_Cleanup_Statements.
3898 (Process_Tagged_Type_Declaration): New routine. Generate a call to
3899 unregister the external tag of a tagged type.
3900 (Processing_Actions): Reimplemented to handle tagged types.
3901 (Process_Declarations): Detect the declaration of a library-level
3902 tagged type and carry out the appropriate actions.
3903 (Unregister_Tagged_Types): Removed. The machinery has been directly
3904 merged with Build_Finalizer.
3905
7483c888
AC
39062011-08-04 Robert Dewar <dewar@adacore.com>
3907
3908 * bindgen.ads, gnatlink.adb, sem_ch4.adb, gnatbind.adb, put_alfa.adb,
3909 gnatls.adb, exp_ch3.adb: Minor reformatting.
3910
39112011-08-04 Marc Sango <sango@adacore.com>
3912
3913 * sem_attr.adb (Analyze_Attribute): Replace the message
3914 "invisible attribute of}" of the spark restriction violation in
3915 attribute reference by the simple message "invisible attribute of type".
3916 Indeed, the node value Error_Msg_Node_1 used is in conflit with the
3917 two insertion characters: '&' and '}'.
3918
39192011-08-04 Vadim Godunko <godunko@adacore.com>
3920
3921 * impunit.adb (Non_Imp_File_Names_12): Add "a-coinho".
3922 * a-coinho.ads, a-coinho.adb: New file.
3923 * Makefile.rtl: Add Ada.Containers.Indefinite_Holders.
3924
5207696c
AC
39252011-08-04 Nicolas Roche <roche@adacore.com>
3926
3927 * alfa_test.adb: Not all ali files are containing alfa information even
3928 if compiled with -gnatd.F. So suppress warning about missing ALFA
3929 information.
3930
39312011-08-04 Yannick Moy <moy@adacore.com>
3932
3933 * lib-xref-alfa.adb (Add_ALFA_Scope): use non-empty unique name for
3934 scope.
3935 * put_alfa.adb: Check that scope name is not empty.
3936
39372011-08-04 Ed Schonberg <schonberg@adacore.com>
3938
3939 * exp_ch3.adb (Stream_Operation_Ok): new predicate
3940 Needs_Elementary_Stream_Operation, to determine whether user-defined
3941 Read and Write attributes are available for the elementary components
3942 of the given type. If only the predefined attributes are available,
3943 then when restriction No_Default_Stream_Attributes is active the
3944 predefined stream attributes for the composite type cannot be created.
3945
39462011-08-04 Robert Dewar <dewar@adacore.com>
3947
3948 * bindgen.adb: Fix obsolete comments and names from Ada/C days.
3949 Put routines in alpha order
3950
2bd2d858
JR
39512011-08-04 Jose Ruiz <ruiz@adacore.com>
3952
3953 * gcc-interface/Makefile.in: Remove xenomai specific versions of system.
3954 * gcc-interface/Make-lang.in: Update dependencies.
3955
8fae6016
AC
39562011-08-04 Arnaud Charlet <charlet@adacore.com>
3957
3958 * gcc-interface/lang.opt: Add AdaWhy language, simimlar to Ada.
3959 * gcc-interface/lang-specs.h: Add handling of AdaWhy specs (calls
3960 gnat1why).
3961
a54d0eb4
AC
39622011-08-04 Robert Dewar <dewar@adacore.com>
3963
3964 * sem_ch3.adb, make.adb, a-cohata.ads, sem_prag.adb, makeutl.adb,
3965 lib-xref-alfa.adb: Minor reformatting.
3966
39672011-08-04 Marc Sango <sango@adacore.com>
3968
3969 * sem_ch12.adb (Analyze_Generic_Package_Declaration,
3970 Analyze_Generic_Subprogram_Declaration, Analyze_Package_Instantiation,
3971 Analyze_Subprogram_Instantiation): Check absence of generic in SPARK
3972 mode.
3973
39742011-08-04 Tristan Gingold <gingold@adacore.com>
3975
3976 * bindgen.adb (Gen_Adainit_C): Remove.
3977 (Gen_Adafinal_C): Ditto.
3978 (Gen_Elab_Externals_C): Ditto.
3979 (Gen_Elab_Calls_C): Ditto.
3980 (Gen_Elab_Order_C): Ditto.
3981 (Gen_Elab_Defs_C): Ditto.
3982 (Gen_Finalize_Library_C): Ditto.
3983 (Gen_Finalize_Library_Defs_C): Ditto.
3984 (Gen_Main_C): Ditto.
3985 (Gen_Output_File_C): Ditto.
3986 (Gen_Restrictions_C): Ditto.
3987 (Gen_Versions_C): Ditto.
3988 (Write_Info_Ada_C): Ditto.
3989 (Gen_Object_Files_Options): Call WBI instead of Write_Info_Ada_C
3990 (Gen_Output_File): Do not force Ada_Bind_File anymore.
3991 Always call Gen_Output_File_Ada.
3992 * gnatlink.adb (Begin_Info): Now a constant.
3993 (End_Info): Ditto.
3994 (Ada_Bind_File): Remove
3995 (Process_Args): Do not handle -A/-C. Remove not Ada_Bind_File cases.
3996 * switch-b.adb (Scan_Binder_Switches): Do not handle -C.
3997 * gnatbind.adb (Gnatbind): Remove not Ada_Bind_File cases.
3998 * opt.ads (Ada_Bind_File): Remove.
3999
40002011-08-04 Thomas Quinot <quinot@adacore.com>
4001
4002 * projects.texi: Document target-specific directory in default project
4003 path for gnatmake.
4004
40052011-08-04 Thomas Quinot <quinot@adacore.com>
4006
4007 * gnatls.adb, prj-env.adb: Add $prefix/share/gpr to default project
4008 path in all cases .
4009
24558db8
AC
40102011-08-04 Yannick Moy <moy@adacore.com>
4011
4012 * sem_ch3.adb, sem_ch5.adb, sem_util.adb, sem_ch4.adb, sem_ch8.adb,
4013 opt.ads, lib-xref.ads: Code clean up.
4014
40152011-08-04 Yannick Moy <moy@adacore.com>
4016
4017 * gnat_rm.texi: Update description of Test_Case
4018 * gnat_ugn.texi: Typo.
4019
40202011-08-04 Ed Falis <falis@adacore.com>
4021
4022 * adaint.c (__gnat_get_number_of_cpus): fix typo in last checkin.
4023
40242011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4025
4026 * exp_ch4.adb (Suitable_Element): Skip field _parent on .NET/JVM when
4027 it is of type Root_Controlled. This action eliminates fields Prev and
4028 Next from type equality.
4029
40302011-08-04 Yannick Moy <moy@adacore.com>
4031
4032 * lib-xref-alfa.adb: Correct typo.
4033
40342011-08-04 Matthew Heaney <heaney@adacore.com>
4035
4036 * a-cohata.ads (Hash_Table_Type): default-initialize the Nodes
4037 component.
4038
1f9939b5
AC
40392011-08-04 Yannick Moy <moy@adacore.com>
4040
4041 * sem_prag.adb (Check_Arg_Is_String_Literal): remove useless procedure
4042 (Analyze_Pragma): allow static string expression for name of Test_Case,
4043 instead of simply string literals.
4044 * sem_util.adb (Get_Name_From_Test_Case_Pragma): adapt to static string
4045 expressions.
4046
40472011-08-04 Vincent Celier <celier@adacore.com>
4048
4049 * makeutl.adb (Complete_Mains.Find_File_Add_Extension): Use canonical
4050 case suffixes to find truncated main sources.
4051
40522011-08-04 Tristan Gingold <gingold@adacore.com>
4053
4054 * impunit.adb (Non_Imp_File_Names_95): Add g-tastus.
4055 s-stusta.adb (Compute_All_Task): Use Put_Line instead of Put.
4056 (Compute_Current_Task): Ditto.
4057
40582011-08-04 Tristan Gingold <gingold@adacore.com>
4059
4060 * gnat_ugn.texi: Mention GNAT.Task_Stack_Usage.
4061
40622011-08-04 Yannick Moy <moy@adacore.com>
4063
4064 * lib-xref-alfa.adb (Is_Global_Constant): new function that detects
4065 library-level constant.
4066 (Add_ALFA_Xrefs): ignore global constants in ALFA xref.
4067 * sem_res.adb (Resolve_Actuals): do not add cross-reference to Formal
4068 used as selector of parameter association, in ALFA mode.
4069
15d8a51d
AC
40702011-08-04 Robert Dewar <dewar@adacore.com>
4071
4072 * exp_ch5.adb, exp_ch7.adb, exp_util.adb, bindgen.adb, sem_prag.adb,
4073 s-tassta.adb, exp_ch4.adb, exp_disp.adb, s-stausa.adb: Minor
4074 reformatting.
4075
40762011-08-04 Arnaud Charlet <charlet@adacore.com>
4077
4078 * make.adb (Linking_Phase): Set source search path before calling
4079 gnatlink in CodePeer mode.
4080
f46faa08
AC
40812011-08-04 Javier Miranda <miranda@adacore.com>
4082
4083 * exp_ch7.adb (Expand_N_Package_Body, Expand_N_Package_Declaration):
4084 Remove code which takes care of building TSDs.
4085 * rtsfind.ads (RE_Check_Interface_Conversion): New entity.
4086 * exp_ch4.adb (Apply_Accessibility_Check): Add support for generating
4087 the accessibility check in VM targets.
4088 * exp_disp.adb (Make_VM_TSD): Spec moved to exp_disp.ads
4089 (Building_Static_DT): Now returns false for VM targets.
4090 (Build_VM_TSDs): Removed.
4091 (Expand_Interface_Conversion): Generate missing runtime check for
4092 conversions to interface types whose target type is unknown at compile
4093 time.
4094 (Make_VM_TSD): Add missing code to disable the generation of calls to
4095 Check_TSD if the tagged type is not defined at library level, or not
4096 has a representation clause specifying its external tag, or -gnatdQ is
4097 active.
4098 * exp_disp.ads (Build_VM_TSDs): Removed.
4099 (Make_VM_TSDs): Spec relocated from exp_disp.adb
4100 * sem_disp.adb (Check_Dispatching_Operation): No code required to
4101 register primitives in the dispatch tables in VM targets.
4102 * exp_ch3.adb (Expand_N_Object_Declaration): Remove wrong expansion of
4103 initialization of class-wide interface objects in VM targets.
4104 (Expand_Freeze_Record_Type): For VM targets call Make_VM_TSD (instead
4105 of Make_DT).
4106
41072011-08-04 Jerome Lambourg <lambourg@adacore.com>
4108
4109 * gnatlink.adb (Gnatlink): Correct missleading error message displayed
4110 when dotnet-ld cannot be found.
4111
41122011-08-04 Arnaud Charlet <charlet@adacore.com>
4113
4114 * bindgen.adb: Simplify significantly generation of binder body file in
4115 CodePeer mode.
4116 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Prevent assert failure
4117 when compiling binder generated file in CodePeer mode (xxx'Elab_Spec
4118 not expanded).
4119
2ba7e31e
AC
41202011-08-04 Yannick Moy <moy@adacore.com>
4121
4122 * sem_prag.adb, sem.ads: Code cleanup.
4123
41242011-08-04 Tristan Gingold <gingold@adacore.com>
4125
4126 * s-tassta.adb (Task_Wrapper): Rewrite the dynamic stack usage part.
4127 * s-stausa.adb, s-stausa.ads: Major rewrite. Now provides accurate
4128 results if possible.
4129 * s-stusta.adb (Print): Adjust after changes in s-stausa.
4130 * gnat_ugn.texi: Update dynamic stack usage section.
4131
41322011-08-04 Steve Baird <baird@adacore.com>
4133
4134 * bindgen.adb (Gen_CodePeer_Wrapper): new procedure.
4135 Generate (if CodePeer_Mode is set) a "wrapper" subprogram which
4136 contains only a call to the user-defined main subprogram.
4137 (Gen_Main_Ada) - If CodePeer_Mode is set, then
4138 call the "wrapper" subprogram instead of directly
4139 calling the user-defined main subprogram.
4140
41412011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4142
4143 * exp_ch5.adb (Expand_N_Case_Statement): Check the statements of all
4144 alternatives of a case statement for controlled objects. Rename local
4145 variable A to Dead_Alt.
4146 (Expand_N_If_Statement): Check the then and else statements of an if
4147 statement for controlled objects. Check the then statements of all
4148 elsif parts of an if statement for controlled objects.
4149 (Expand_N_Loop_Statement): Check the statements of a loop for controlled
4150 objects.
4151 * exp_ch7.adb (Process_Transient_Objects): Rewrite the condition which
4152 detects a loop associated with the expansion of an array object.
4153 Augment the processing of the loop statements to account for a possible
4154 wrap done by Process_Statements_For_Controlled_Objects.
4155 * exp_ch9.adb (Expand_N_Asynchronous_Select): Check the triggering
4156 statements and abortable part of an asynchronous select for controlled
4157 objects.
4158 (Expand_N_Conditional_Entry_Call): Check the else statements of a
4159 conditional entry call for controlled objects.
4160 (Expand_N_Selective_Accept): Check the alternatives of a selective
4161 accept for controlled objects.
4162 (Expand_N_Timed_Entry_Call): Check the entry call and delay
4163 alternatives of a timed entry call for controlled objects.
4164 * exp_ch11.adb (Expand_Exception_Handlers): Check the statements of an
4165 exception handler for controlled objects.
4166 * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
4167 Add formal parameter Nested_Constructs along with its associated
4168 comment.
4169 (Requires_Cleanup_Actions (Node_Id)): Update all calls to
4170 Requires_Cleanup_Actions.
4171 (Process_Statements_For_Controlled_Objects): New routine.
4172 * exp_util.ads (Process_Statements_For_Controlled_Objects): New
4173 routine. Inspect a node which contains a non-handled sequence of
4174 statements for controlled objects. If such an object is found, the
4175 statements are wrapped in a block.
4176
1bf773bb
AC
41772011-08-04 Bob Duff <duff@adacore.com>
4178
4179 * sem_type.adb (Covers): If T2 is a subtype of a class-wide type, we
4180 need to compare with Class_Wide_Type (T2), in order to get at the
4181 original class-wide type node.
4182 * sem_type.ads (Covers): Improve the comment.
4183 * einfo.ads (Class_Wide_Type): Improve the comment.
4184 * exp_intr.adb (Expand_Unc_Deallocation): Remove unnecessary setting of
4185 the type of the Deref.
4186
41872011-08-04 Yannick Moy <moy@adacore.com>
4188
4189 * gnat_rm.texi: Document that Test_Case pragma can only appear on
4190 separate declarations.
4191 * sem_prag.adb (procedure Check_Identifier_Is_One_Of): new procedure to
4192 check identifier of pragma argument.
4193 (Chain_TC): check that no other test case associated to the same entity
4194 share the same name.
4195 (Check_Test_Case): disallow test case inside subprogram body
4196 (Analyze_Pragma): correct call to check identifier and not argument
4197 * sem_util.adb, sem_util.ads (Get_Name_From_Test_Case_Pragma): new
4198 function gets name from test case pragma.
4199
dac3bede
YM
42002011-08-04 Yannick Moy <moy@adacore.com>
4201
4202 * gnat_rm.texi: Document new pragma and aspect.
4203 * aspects.adb, aspects.ads (Aspect_Id): new value Aspect_Test_Case
4204 (No_Duplicates_Allowed): new constant array defining whether duplicates
4205 aspects of each kind can appear on the same declaration.
4206 * einfo.adb, einfo.ads (Spec_PPC_List): replace field with Contract
4207 field, which points to a node holding the previous Spec_PPC_List.
4208 * exp_ch9.adb, sem_ch6.adb, sem_prag.adb: Reach to Spec_PPC_List
4209 through the indirection with Contract.
4210 * exp_util.adb (Insert_Actions): raise Program_Error on N_Contract node
4211 * par-prag.adb (Prag): do nothing on Test_Case pragma
4212 * sem.adb (Analyze): abort on N_Contract, on which Analyze should not
4213 be called directly.
4214 * sem_attr.adb (Analyze_Attribute): allow attribute 'Result in
4215 component Ensures of Test_Case.
4216 * sem_ch12.adb, sem_ch6.adb, sem_ch9.adb
4217 (Analyze_Generic_Subprogram_Declaration,
4218 Analyze_Subprogram_Instantiation,
4219 Analyze_Abstract_Subprogram_Declaration,
4220 Analyze_Subprogram_Body_Helper,
4221 Analyze_Subprogram_Specification, Analyze_Entry_Declaration):
4222 insert contract in subprogram node at point of definition
4223 * sem_ch13.adb
4224 (Aspect_Loop): do not raise error on duplicate Test_Case aspect
4225 (Analyze_Aspect_Specifications): analyze Test_Case aspect and create
4226 corresponding pragma
4227 (Check_Aspect_At_Freeze_Point): raise Program_Error on Test_Case aspect
4228 * sem_ch3.adb (Analyze_Declarations): insert analysis of test-cases,
4229 similar to the analysis of pre/post
4230 (Derive_Subprogram): insert contract in subprogram node at point of
4231 derivation.
4232 * sem_prag.adb, sem_prag.ads
4233 (Check_Arg_Is_String_Literal, Check_Identifier):
4234 new checking procedures to be called in treatment of pragmas
4235 (Check_Test_Case): new procedure to check that a Test_Case aspect or
4236 pragma is well-formed. This does not check currently that 'Result is
4237 used only in the Ensures component of a Test_Case.
4238 (Analyze_Pragma): add case for Test_Case
4239 (Analyze_TC_In_Decl_Part): pre-analyze the Requires and Ensures
4240 components of a Test_Case.
4241 (Preanalyze_TC_Args): new procedure to preanalyze the boolean
4242 expressions in the 3rd (and 4th if present) arguments of a Test_Case
4243 pragma, treated as spec expressions.
4244 (Sig_Flags): add value -1 for Test_Case.
4245 * sem_util.adb, sem_util.ads (Get_Ensures_From_Test_Case_Pragma,
4246 Get_Requires_From_Test_Case_Pragma): getters for both expression
4247 components of a Test_Case.
4248 * sinfo.adb, sinfo.ads (N_Contract): new kind of node used as
4249 indirection between an entry or [generic] subprogram entity and its
4250 pre/post + test-cases.
4251 (Spec_PPC_List, Spec_TC_List, Set_Spec_PPC_List, Set_Spec_TC_List):
4252 get/set for fields of an N_Contract node.
4253 * snames.ads-tmpl (Name_Test_Case, Name_Ensures, Name_Mode,
4254 Name_Normal, Name_Requires, Name_Robustness, Pragma_Test_Case): new
4255 names and pragma for Test_Case.
4256 * sprint.adb (Sprint_Node): raise Program_Error on N_Contract node
4257
6a2e5d0f
AC
42582011-08-04 Vincent Celier <celier@adacore.com>
4259
4260 * gnat_ugn.texi: Improve documentation of gnatmake switch
4261 --source-info-file=.
4262
42632011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4264
4265 * exp_ch7.adb (Make_Final_Call): Add local variable Atyp (assertion
4266 type). Initialize Atyp to the appropriate type which is later checked
4267 for completion. Rewrite the assertion associated with private type
4268 completion.
4269
42702011-08-04 Ed Falis <falis@adacore.com>
4271
4272 * adaint.c: Add call to vxCpuConfiguredGet for VxWorks SMP to
4273 initialize the number of CPUs.
4274
42752011-08-04 Ed Schonberg <schonberg@adacore.com>
4276
4277 * sem_type.adb (Disambiguate): New subsidiary routine
4278 In_Same_Declaration_List, to implement AI05-0020: a user-defined
4279 equality on an anonymous access type whose designated type is private
4280 does not lead to an ambiguity with the universal access equality
4281 operator in the body or child units of the defining package. The same
4282 is true for a multiplication operator on a private type completed with
4283 a fixed-point-type.
4284
42852011-08-04 Javier Miranda <miranda@adacore.com>
4286
4287 * opt.ads (Init_Or_Norm_Scalars_Config): Removed.
4288 (Normalize_Scalars_Config): Removed.
4289 * opt.adb
4290 (Register_Opt_Config_Switches): Remove registering config values of
4291 Init_Or_Norm_Scalars_Config and Normalize_Scalars_Config.
4292 (Restore_Opt_Config_Switches): Remove code which restores the values of
4293 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
4294 Init_Or_Norm_Scalars.
4295 (Save_Opt_Config_Switches): Remove code which saves values of
4296 Init_Or_Norm_Scalars and Normalize_Scalars.
4297 (Set_Opt_Config_Switches): Remove code which restores config values of
4298 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
4299 Init_Or_Norm_Scalars.
4300
43012011-08-04 Yannick Moy <moy@adacore.com>
4302
4303 * frontend.adb (Frontend): remove previous patch to avoid full
4304 qualification in ALFA mode.
4305 * lib-xref-alfa.adb (Add_ALFA_Xrefs): use unique name for variables.
4306 * sem_util.adb, sem_util.ads (Unique_Name): new function to define a
4307 unique name for an entity, which could be used to identify the entity
4308 across compilation units.
4309
43102011-08-04 Thomas Quinot <quinot@adacore.com>
4311
4312 * prj-env.adb
4313 (Initialize_Default_Project_Path): Add target specific directory
4314 ($prefix/$target/lib/gnat) in front of project path in all cases
4315 (making gnatmake's behaviour consistent with gprbuild).
4316 * gnatcmd.adb, make.adb, prj-makr.adb, clean.adb:
4317 Pass target name from Sdefault to project subsystem.
4318 * gnatls.adb: Show new target specific default project directory.
4319
43202011-08-04 Johannes Kanig <kanig@adacore.com>
4321
4322 * cstand.adb: Add Information to Identifier in Standard
4323 (Identifer_For): Set Entity to the corresponding entity
4324
483361a6
AC
43252011-08-04 Sergey Rybin <rybin@adacore.com>
4326
4327 * gnat_ugn.texi: Update doc on gnatcheck.
4328
43292011-08-04 Yannick Moy <moy@adacore.com>
4330
4331 * lib-xref-alfa.adb (Add_ALFA_Xrefs): correct definition of ranges of
4332 xrefs in a scope.
4333
43342011-08-04 Yannick Moy <moy@adacore.com>
4335
4336 * exp_prag.adb (Expand_Pragma_Check): in ALFA mode, return without
4337 performing expansion.
4338 * sem_ch6.adb (Analyze_Subprogram_Body_Helper,
4339 Analyze_Generic_Subprogram_Body): protect call to Process_PCCs so that
4340 it is not called in ALFA mode.
4341
ef5569c6
AC
43422011-08-04 Emmanuel Briot <briot@adacore.com>
4343
4344 * make.adb, osint.adb, osint.ads (Reset_Command_Line_Files): not used
4345 after all, so removed.
4346
43472011-08-04 Sergey Rybin <rybin@adacore.com>
4348
4349 * vms_data.ads: Add missing VMS qualifiers.
4350
1ab4a286
EB
43512011-08-04 Emmanuel Briot <briot@adacore.com>
4352
4353 * make.adb, makeutl.adb, osint.adb, osint.ads (Check_Mains): rebuild
4354 the list of files on the command line after processing it through
4355 Complete_Mains.
4356
7ae0d98c
AC
43572011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4358
4359 * exp_ch7.adb (Build_Raise_Statement): Remove the specialized
4360 processing for .NET/JVM. These targets can now benefit from
4361 Raise_From_Controlled_Operation and they share the same processing with
4362 standard targets.
4363 (Establish_Transient_Scope): Remove the restriction for .NET/JVM.
4364 These targets need transient scopes in order to properly finalize short
4365 lived controlled objects.
4366 (Make_Handler_For_Ctrl_Operation): Remove the specialized processing for
4367 NET/JVM. These targets can now benefit from
4368 Raise_From_Controlled_Operation and they share the same processing with
4369 standard targets.
4370
43712011-08-04 Geert Bosch <bosch@adacore.com>
4372
4373 * tracebak.c (STOP_FRAME): Stop at any next pointer outside the stack
4374
43752011-08-04 Ed Schonberg <schonberg@adacore.com>
4376
4377 * exp_aggr.adb (Has_Visible_Private_Ancestor): subsidiary routine to
4378 Expand_Record_Aggregate, to determine whether aggregate must be
4379 expanded into assignments. This is the case if the ancestor part is
4380 private, regarless of the setting of the flag Has_Private_Ancestor.
4381
43822011-08-04 Ed Falis <falis@adacore.com>
4383
4384 * vxaddr2line.adb: Add support for e500v2 and for Linux hosts
4385
43862011-08-04 Bob Duff <duff@adacore.com>
4387
4388 * sinfo.ads: Fix comment.
4389
43902011-08-04 Steve Baird <baird@adacore.com>
4391
4392 * bindgen.adb (Get_Ada_Main_Name): If CodePeer_Mode is set, then
4393 choose a package name in much the same way as is
4394 done for JGNAT when VM_Target /= No_VM, except that
4395 a slightly more distinctive prefix string is used.
4396
43972011-08-04 Emmanuel Briot <briot@adacore.com>
4398
4399 * makeutl.adb (Complete_Mains): no longer accept unit names on the
4400 gnatmake command line.
4401 This behavior was never documented (and was supported only because of
4402 an early bug in the code). This case might lead to ambiguous cases
4403 (between unit names and truncated base names without suffixes).
4404
87729e5a
AC
44052011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4406
4407 * a-tags.ads, a-tags.adb (Unregister_Tag): New routine.
4408 Remove the external tag of a tagged type from the internal hash table.
4409 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on the
4410 expanded usage of the routine. Strenghten the check for Is_Master. Add
4411 processing for tagged types.
4412 (Build_Finalizer): Create all the necessary lists used in finalizer
4413 creation when the processed context is a package that may contain
4414 tagged types.
4415 (Expand_Cleanup_Actions): Rename the call to Has_Controlled_Objects to
4416 Requires_Cleanup_Actions.
4417 (Expand_N_Package_Body): Package bodies may need clean up code
4418 depending on whether they contain tagged types.
4419 (Expand_N_Package_Declaration): Package declarations may need clean up
4420 code depending on whether they contain tagged types.
4421 (Unregister_Tagged_Types): New routine. Search through a list of
4422 declarations or statements, looking for non-abstract Ada tagged types.
4423 For each such type, generate code to unregister the external tag.
4424 * exp_util.adb (Has_Controlled_Objects (Node_Id)): Renamed to
4425 Requires_Cleanup_Actions.
4426 (Requires_Cleanup_Actions (List_Id, Boolean)): New routine. Search
4427 through a list of declarations or statements looking for non-abstract
4428 Ada tagged types or controlled objects.
4429 * exp_util.ads (Has_Controlled_Objects (Node_Id)): Renamed to
4430 Requires_Cleanup_Actions.
4431 (Has_Controlled_Objects (List_Id, Boolean)): Removed.
4432 * rtsfind.ads: Add entry RE_Unregister_Tag to tables RE_Id and
4433 RE_Unit_Table.
4434
44352011-08-04 Vincent Celier <celier@adacore.com>
4436
4437 * prj-env.adb (For_All_Source_Dirs.For_Project): Check if project Prj
4438 has Ada sources, not project Project, because if the root project
4439 Project has no sources of its own, all projects will be deemed without
4440 sources.
4441
44422011-08-04 Gary Dismukes <dismukes@adacore.com>
4443
4444 * bindgen.adb (Gen_Adainit_Ada): Move the generation of the declaration
4445 of the No_Param_Proc acc-to-subp type used for initialization of
4446 __gnat_finalize_library_objects so that it's declared at library level
4447 rather than nested inside of the adainit routine.
4448
44492011-08-04 Javier Miranda <miranda@adacore.com>
4450
4451 * exp_disp.adb (Make_DT): Generate code to check the external tag ONLY
4452 if the tagged type has a representation clause which specifies its
4453 external tag.
4454
44552011-08-04 Ed Schonberg <schonberg@adacore.com>
4456
4457 * einfo.ads, einfo.adb (Has_Private_Ancestor): now a flag on types.
4458 Remove previous procedure with that name.
4459 * sem_ch3.adb (Build_Derived_Record_Type): set Has_Private_Ancestor
4460 when appropriate.
4461 * sem_aggr.adb (Resolve_Extension_Aggregate): if the ancestor part is a
4462 subtype mark, the ancestor cannot have unknown discriminants.
4463 (Resolve_Record_Aggregate): if the type has invisible components
4464 because of a private ancestor, the aggregate is illegal.
4465
44662011-08-04 Vincent Celier <celier@adacore.com>
4467
4468 * switch-m.adb (Normalize_Compiler_Switches): Recognize and take into
4469 account switches -gnat2005, -gnat12 and -gnat2012.
4470
44712011-08-04 Bob Duff <duff@adacore.com>
4472
4473 * s-tasdeb.ads: Minor comment fix.
4474
44752011-08-04 Arnaud Charlet <charlet@adacore.com>
4476
4477 * gnatlink.adb (Gnatlink): Pass -gnat83/95/05/12 switch to gcc in
4478 CodePeer mode.
4479 * switch.ads, switch.adb (Is_Language_Switch): New function.
4480
44812011-08-04 Vincent Celier <celier@adacore.com>
4482
4483 * switch-c.adb: Minor comment addition.
4484
44852011-08-04 Vincent Celier <celier@adacore.com>
4486
4487 * vms_conv.adb (Process_Argument): Fail graciously when qualifier
4488 ending with '=' is followed by a space (missing file name).
4489
44902011-08-04 Pascal Obry <obry@adacore.com>
4491
4492 * g-regist.ads: Fix size of HKEY on x86_64-windows.
4493
44942011-08-04 Ed Schonberg <schonberg@adacore.com>
4495
4496 * sem_ch12.adb (Analyze_Associations): New routine
4497 Check_Overloaded_Formal_Subprogram to reject a formal package when
4498 there is a named association or a box initialisation for an overloaded
4499 formal subprogram of the corresponding generic.
4500
45012011-08-04 Yannick Moy <moy@adacore.com>
4502
4503 * alfa.ads (ALFA_Xref_Record): add component for type of entity
4504 * get_alfa.adb, put_alfa.adb: Read and write new component of
4505 cross-reference.
4506 * lib-xref-alfa.adb (Collect_ALFA): generate new component.
4507
88f47280
AC
45082011-08-04 Pascal Obry <obry@adacore.com>
4509
4510 * urealp.adb: Minor reformatting.
4511
45122011-08-04 Tristan Gingold <gingold@adacore.com>
4513
4514 * exp_ch7.adb (build_finalizer.process_declarations.processing_actions):
4515 Handle the case when Cleanup_Protected_Object returns Empty.
4516
45172011-08-04 Yannick Moy <moy@adacore.com>
4518
4519 * frontend.adb (Frontend): only qualify names in non-ALFA mode
4520
45212011-08-04 Ed Schonberg <schonberg@adacore.com>
4522
4523 * sem_ch4.adb (Try_Class_Wide_Operation): if the context is a procedure
4524 call, ignore functions.
4525
05c53a69
GB
45262011-08-04 Geert Bosch <bosch@adacore.com>
4527
4528 * urealp.adb (Equivalent_Decimal_Exponent): Avoid the use of floating
4529 point.
4530
23cc1ace
EB
45312011-08-04 Emmanuel Briot <briot@adacore.com>
4532
4533 * makeutl.adb (Compute_Builder_Switches): no longer accept a unit name
4534 as an index for Builder'Switches. This conforms to the documentation.
4535 * make.adb (Insert_Project_Sources): avoid duplicate code
4536
cef14201
AC
45372011-08-04 Emmanuel Briot <briot@adacore.com>
4538
4539 * makeutl.adb (Complete_Mains): if the user has passed a relative file
4540 name on the command line (for instance "../dummy"), never assume it can
4541 be a unit name.
4542
45432011-08-04 Tristan Gingold <gingold@adacore.com>
4544
4545 * bindgen.adb: Remove code the reference or create the
4546 Break_Start/__gnat_break_start procedure.
4547 * s-stalib.adb (Break_Start): Removed.
4548
e2fee30d
EB
45492011-08-04 Emmanuel Briot <briot@adacore.com>
4550
4551 * make.adb, makeutl.adb, makeutl.ads (Compute_Builder_Switches): now
4552 shared with gprbuild.
4553
2d395256
AC
45542011-08-04 Yannick Moy <moy@adacore.com>
4555
4556 * par-ch4.adb (P_Primary): preferentially issue an error message about
4557 a missing parenthesis arount a conditional or case expression in Ada
4558 2012 mode, if we detect that the alignment is not correct for a
4559 statement.
4560
45612011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4562
4563 * exp_ch7.adb (Process_Declarations): Do not consider the result of a
4564 tag-to-class-wide conversion as needing finalization actions.
4565 * exp_util.adb (Has_Controlled_Objects): Do not consider the result of
4566 a tag-to-class-wide conversion as needing finalization actions.
4567 (Is_Finalizable_Transient): The result of a tag-to-class-wide
4568 conversion does not need finalization actions.
4569 (Is_Tag_To_CW_Conversion): New routine.
4570 * exp_util.ads (Is_Tag_To_CW_Conversion): New routine. Determines
4571 whether an object is the result of a tag-to-class-wide conversion.
4572
45732011-08-04 Yannick Moy <moy@adacore.com>
4574
4575 * sem_ch13.adb (Analyze_Aspect_Specifications): correct order in which
4576 the left-hand-side and right-hand-side of a conjunct are inserted when
4577 translating a pre- or postcondition
4578 * sem_ch6.adb: Correct typo in comment
4579
45802011-08-04 Ed Schonberg <schonberg@adacore.com>
4581
4582 * gnat_rm.texi: Ravenscar does not prohibit dependence on
4583 Unchecked_Conversion and Unchecked_Deallocation.
4584
45852011-08-04 Thomas Quinot <quinot@adacore.com>
4586
4587 * make.adb: Minor reformatting.
4588
767ab2fd
EB
45892011-08-04 Emmanuel Briot <briot@adacore.com>
4590
4591 * prj.adb, prj.ads, makeutl.adb (Complete_Mains): search for the
4592 sources in the project and its imported projects, but not in the whole
4593 tree.
4594
8fb3f5df
AC
45952011-08-04 Emmanuel Briot <briot@adacore.com>
4596
4597 * make.adb: Remove debug trace.
4598
45992011-08-04 Vincent Celier <celier@adacore.com>
4600
4601 * makeutl.adb (Do_Complete): Get the absolute path name of a relative
4602 path in canonical form, to be able to compare path names on platforms
4603 such as Windows or Darwin.
4604
46052011-08-04 Thomas Quinot <quinot@adacore.com>
4606
4607 * par_sco.adb (Traverse_Declarations_Or_Statements.Set_Statement_Entry):
4608 For a pragma (statement with C1 = 'P'), record the sloc of the pragma.
4609 * scos.ads: Update documentation accordingly.
4610 * put_scos.adb (Output_SCO_Line): Omit statement SCOs for disabled
4611 pragmas.
4612
9515740f
AC
46132011-08-04 Ed Schonberg <schonberg@adacore.com>
4614
4615 * sem_attr.adb (Bad_Attribute_For_Predicate): flag illegal use of
4616 attribute only if prefix type is scalar.
4617
46182011-08-04 Emmanuel Briot <briot@adacore.com>
4619
4620 * make.adb, makeutl.adb, prj-env.adb (Check_Mains): put back support
4621 in gnatmake for specifying mains on the command line that do not belong
4622 to the main project. These mains must currently all belong to the same
4623 project, though.
4624 (Ultimate_Extension_Of): removed, since duplicated
4625 Ultimate_Extending_Project.
4626
92966893
AC
46272011-08-04 Arnaud Charlet <charlet@adacore.com>
4628
4629 * make.adb (Do_Codepeer_Globalize_Step): Removed. Use CodePeer_Mode
4630 instead.
4631 (CodePeer_Mode_String): New.
4632 (Linking_Phase, Binding_Phase): Call gnatlink with -P switch in
4633 CodePeer mode.
4634 (Scan_Make_Arg): Do not disable binding/linking phase in CodePeer mode.
4635 * bindgen.adb (Gen_Elab_Calls_Ada): Ignore subprograms in CodePeer
4636 mode, since no useful elaboration subprogram is needed by CodePeer.
4637 * gnatlink.adb (Gnatlink): Add support for -P switch (CodePeer mode).
4638 In this mode, compile binder file with -gnatC and do stop after this
4639 step.
4640
46412011-08-04 Vincent Celier <celier@adacore.com>
4642
4643 * exp_ch7.adb: Minor comment fix.
4644
5969611f
RD
46452011-08-04 Robert Dewar <dewar@adacore.com>
4646
4647 * exp_ch7.adb, make.adb, sem_ch10.adb, bindgen.adb, sem_res.adb,
4648 exp_ch4.adb, makeutl.adb: Minor reformatting.
4649
6367dd30
AC
46502011-08-04 Emmanuel Briot <briot@adacore.com>
4651
4652 * make.adb, makeutl.adb, makeutl.ads (Make): major refactoring.
4653 Create several new subprograms to move code out of Make. This makes the
4654 code more readable, removes code duplication, and is a preparation work
4655 for adding support for aggregate projects.
4656
46572011-08-04 Tristan Gingold <gingold@adacore.com>
4658
4659 * s-po32gl.ads, s-po32gl.adb: New files.
4660 * exp_ch7.ads (Get_Global_Pool_For_Access_Type): New function.
4661 * exp_ch7.adb (Get_Global_Pool_For_Access_Type): New function.
4662 (Build_Finalization_Collection): Use it.
4663 * exp_ch4.adb (Complete_Controlled_Allocation): Ditto.
4664 * rtsfind.ads: System_Pool_32_Global, Re_Global_Pool_32_Object: New
4665 literals.
4666 * gcc-interface/Makefile.in: Use s-po32gl.o on VMS.
4667 * gcc-interface/Make-lang.in: Update dependencies.
4668
cd8bfe35
EB
46692011-08-04 Emmanuel Briot <briot@adacore.com>
4670
4671 * makeutl.adb (Complete_Mains): add support for specs with no suffix on
4672 the command line.
4673
7db29ea7
EB
46742011-08-04 Emmanuel Briot <briot@adacore.com>
4675
4676 * make.adb, makeutl.adb (Complete_Mains): if a main specified on the
4677 command line is not a file name, also check whether it could be a unit
4678 name.
4679
d9b056ea
AC
46802011-08-04 Eric Botcazou <ebotcazou@adacore.com>
4681
4682 * bindgen.adb (Gen_Finalize_Library_Ada): Factor out code to generate
4683 the header of the finalization routine.
4684 If the unit has no finalizer but is a body whose spec has one, then
4685 generate the decrement of the elaboration entity only.
4686 If the unit has a finalizer and is a spec, then do not generate the
4687 decrement of the elaboration entity.
4688 (Gen_Finalize_Library_C): Likewise.
4689
46902011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4691
4692 * exp_ch7.adb (Alignment_Of): New subsidiary routine.
4693 (Bounds_Size_Expression): Removed.
4694 (Double_Alignment_Of): New subsidiary routine.
4695 (Make_Finalize_Address_Stmts): New local variable Index_Typ. Account
4696 for a hole in the dope vector of unconstrained arrays due to different
4697 index and element alignments.
4698
46992011-08-04 Ed Schonberg <schonberg@adacore.com>
4700
4701 * sem_res.adb (Resolve_Allocator): diagnose task allocator that will
4702 raise program_error because body has not been seen yet.
4703
47042011-08-04 Ed Schonberg <schonberg@adacore.com>
4705
4706 * sem_ch10.adb (Analyze_With_Clause): Protect against child unit with
4707 an unresolved name.
4708
47092011-08-04 Vincent Celier <celier@adacore.com>
4710
4711 * makeutl.adb (Do_Complete): Check absolute paths in canonical forms
4712
47132011-08-04 Yannick Moy <moy@adacore.com>
4714
4715 * alfa.adb, alfa.ads (Unique_Defining_Entity): move function from here
4716 * sem_util.adb, sem_util.ads (Unique_Defining_Entity): ...to here
4717
47182011-08-04 Thomas Quinot <quinot@adacore.com>
4719
4720 * sem_ch12.adb (Analyze_Package_Instantiation): Do not omit body for
4721 instantiation in RCI.
4722
47232011-08-04 Emmanuel Briot <briot@adacore.com>
4724
4725 * make.adb: Share more code with gprbuild
4726
f5fc5b9d
AC
47272011-08-04 Emmanuel Briot <briot@adacore.com>
4728
4729 * projects.texi: Added documentation for the IDE'Gnat project file
4730 attribute.
4731
47322011-08-04 Nicolas Roche <roche@adacore.com>
4733
4734 * gnat_rm.texi: Minor editing.
4735
47362011-08-04 Javier Miranda <miranda@adacore.com>
4737
4738 * bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
4739 and the library case for VM targets.
4740 (Gen_Adainit_Ada): Likewise.
4741
47422011-08-04 Robert Dewar <dewar@adacore.com>
4743
4744 * g-altive.ads: Minor comment updates.
4745 * prj-nmsc.adb: Minor reformatting.
4746
47472011-08-04 Javier Miranda <miranda@adacore.com>
4748
4749 * opt.ads
4750 (Normalize_Scalars_Config): Value of the configuration switch set by
4751 pragma Normalize_Scalars when it appears in the gnat.adc file.
4752 (Normalize_Scalars): New field for record Config_Switches_Type. Used
4753 to save and restore settings of this pragma.
4754 * opt.adb
4755 (Register_Opt_Config_Switches, Save_Opt_Config_Switches,
4756 Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.
4757
47582011-08-04 Vincent Celier <celier@adacore.com>
4759
4760 * gnat_ugn.texi: Document gnatlink options -M and -M=mapfile
4761
0c4683cf
AC
47622011-08-04 Arnaud Charlet <charlet@adacore.com>
4763
4764 * makeutl.adb: Minor reformatting.
4765
47662011-08-04 Olivier Hainque <hainque@adacore.com>
4767
4768 * g-altive.ads: Update comments to reflect that only the soft
4769 binding is available today.
4770
2598ee6d
RD
47712011-08-04 Robert Dewar <dewar@adacore.com>
4772
4773 * bindgen.adb, einfo.adb, sem_ch12.adb, s-tasren.adb, sem_res.adb,
4774 makeutl.adb, prj-nmsc.adb, opt.ads, prj-env.adb: Minor reformatting
4775 * gcc-interface/Make-lang.in: Update dependencies.
4776
c2db4b32
AC
47772011-08-04 Arnaud Charlet <charlet@adacore.com>
4778
4779 * prj-env.adb: Remove local debug traces.
4780
47812011-08-04 Yannick Moy <moy@adacore.com>
4782
4783 * checks.adb (Apply_Float_Conversion_Check): correct a typo where Lo_OK
4784 was used instead of Hi_OK, which could cause a read of an uninitialized
4785 value later on. Detected while working on the new warning.
4786 * exp_ch9.adb (Expand_N_Entry_Declaration): remove useless assignment
4787 to local variable.
4788 * sem_ch5.adb (Analyze_Assignment): set the last assignment component
4789 in more cases, in order to detect more unreferenced values.
4790 * sem_util.adb, sem_util.ads (Get_Enclosing_Object): return enclosing
4791 object for expression, if any.
4792
47932011-08-04 Eric Botcazou <ebotcazou@adacore.com>
4794
4795 * exp_intr.adb (Expand_Binary_Operator_Call): Look at the RM size of
4796 the operand types instead of the Esize.
4797
47982011-08-04 Steve Baird <baird@adacore.com>
4799
4800 * switch-b.adb (Scan_Binder_Switches): Add -P binder switch, used to
4801 enable CodePeer_Mode.
4802 * bindusg.adb (Display): Add help message describing -P binder switch.
4803 * gnat_ugn.texi: Document -P binder switch.
4804 * bindgen.adb (Gen_Main_Ada): If CodePeer_Mode is set, then call the
4805 user-defined main program directly.
4806 (Gen_Output_File_Ada): If CodePeer_Mode is set, generate a with of the
4807 user-defined main program in the context clause of the package body.
4808
ad05f2e9
AC
48092011-08-04 Yannick Moy <moy@adacore.com>
4810
4811 * alfa.adb, alfa.ads (Get_Entity_For_Decl): remove function, partial
4812 duplicate of Defining_Entity
4813 (Get_Unique_Entity_For_Decl): rename function into
4814 Unique_Defining_Entity
4815 * einfo.adb, einfo.ads (Is_In_ALFA, Body_Is_In_ALFA): remove flags
4816 (Formal_Proof_On): remove synthesized flag
4817 * cstand.adb, sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
4818 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb, sem_util.adb,
4819 sem_util.ads, stand.ads: Remove treatment associated to entities in ALFA
4820 * sem_prag.adb (Analyze_Pragma): remove special treatment for pragma
4821 Annotate (Formal_Proof)
4822
48232011-08-04 Emmanuel Briot <briot@adacore.com>
4824
4825 * prj-env.adb (Create_Config_Pragmas_File): fix handling of multi-unit
4826 source files with non-standard naming schemes, in imported projects
4827
756ef2a0
AC
48282011-08-04 Emmanuel Briot <briot@adacore.com>
4829
4830 * makeutl.adb (Complete_Mains): when a multi-unit source file is
4831 specified on the gprbuild command line, we need to compile all units
4832 within that file, not just the first one we find
4833 Fix error message for mains that are not found.
4834
48352011-08-04 Thomas Quinot <quinot@adacore.com>
4836
4837 * sem_ch6.adb: Update comment.
4838 * sem_ch12.adb: Minor reformatting.
4839
48402011-08-04 Bob Duff <duff@adacore.com>
4841
4842 * s-tasren.adb (Task_Do_Or_Queue): Previous code was reading
4843 Acceptor.Terminate_Alternative without locking Acceptor, which causes a
4844 race condition whose symptom is to fail to lock Parent. That, in turn,
4845 causes Parent.Awake_Count to be accessed without locking Parent, which
4846 causes another race condition whose symptom is that Parent.Awake_Count
4847 can be off by 1 (either too high or too low). The solution is to lock
4848 Parent unconditionally, and then lock Acceptor, before reading
4849 Acceptor.Terminate_Alternative.
4850
4fdebd93
AC
48512011-08-04 Arnaud Charlet <charlet@adacore.com>
4852
4853 * debug.adb: Update comment.
4854
48552011-08-04 Robert Dewar <dewar@adacore.com>
4856
4857 * par_sco.adb, exp_util.adb, make.adb, a-tags.adb, sem_prag.adb,
4858 sem_util.adb, sem_attr.adb, exp_ch4.adb, g-comlin.adb, g-comlin.ads,
4859 exp_ch6.adb: Minor reformatting.
4860
48612011-08-04 Gary Dismukes <dismukes@adacore.com>
4862
4863 * gnat_ugn.texi: Add sentence about the case of compile-time-detected
4864 checks for -gnateE.
4865
48662011-08-04 Ed Schonberg <schonberg@adacore.com>
4867
4868 * gnat_rm.texi: update Ravenscar desription to reflect Ada2012 RM.
4869
48702011-08-04 Thomas Quinot <quinot@adacore.com>
4871
4872 * sinfo.ads: Minor reformatting.
4873
48742011-08-04 Emmanuel Briot <briot@adacore.com>
4875
4876 * makeutl.adb, makeutl.ads, prj-nmsc.adb (Complete_Mains): report error
4877 even if there is no location.
4878
6aaa0587
ES
48792011-08-04 Ed Schonberg <schonberg@adacore.com>
4880
4881 * sem_res.adb, sem_ch4.adb: move check for restriction
4882 No_Task_Hierarchy to resolve_allocator.
4883
35a1c212
AC
48842011-08-04 Thomas Quinot <quinot@adacore.com>
4885
4886 * sinfo.adb, sinfo.ads, sem_prag.adb, sem_ch12.adb (Pragma_Enabled):
4887 This flag of N_Pragma nodes is not used, remove it as well as all of
4888 the associated circuitry.
4889
48902011-08-04 Javier Miranda <miranda@adacore.com>
4891
4892 * exp_disp.adb (Make_DT): Switch -gnatdQ disables the generation of the
4893 runtime check on duplicated externa tags
4894 * debug.adb Document switch -gnatdQ.
4895
48962011-08-04 Gary Dismukes <dismukes@adacore.com>
4897
4898 * a-fihema.ads: Minor typo fix.
4899
49002011-08-04 Yannick Moy <moy@adacore.com>
4901
4902 * sem_ch10.adb: Minor comment update.
4903
49042011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4905
4906 * einfo.adb: Update the node field usage to reflect the renaming of
4907 Return_Flag to Return_ Flag_Or_Transient_Decl.
4908 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl.
4909 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl.
4910 (Write_Field15_Name): Change Return_Flag to
4911 Return_Flag_Or_Transient_Decl.
4912 * einfo.ads: Rename node field Return_Flag to
4913 Return_Flag_Or_Transient_Decl. Update the associated comment and all
4914 occurrences in entities.
4915 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl. Update
4916 associated Inline pragma.
4917 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl. Update
4918 associated Inline pragma.
4919 * exp_ch4.ads, exp_ch4.adb (Expand_N_Expression_With_Actions): New
4920 routine.
4921 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Update the calls to
4922 Return_Flag and Set_Return_Flag.
4923 * exp_ch7.adb (Process_Declarations): Add code to recognize hook
4924 objects generated for controlled transients declared inside an
4925 Exception_With_Actions. Update the calls to Return_Flag.
4926 (Process_Object_Declaration): Add code to add a null guard for hook
4927 objects generated for controlled transients declared inside an
4928 Exception_With_Actions. Update related comment.
4929 * exp_util.adb (Has_Controlled_Objects): Add code to recognize hook
4930 objects generated for controlled transients declared inside an
4931 Exception_With_Actions. Update the calls to Return_Flag.
4932 * expander.adb (Expand): Add new case for N_Expression_With_Actions.
4933
49342011-08-04 Ed Schonberg <schonberg@adacore.com>
4935
4936 * sem_util.adb:(Wrong_Type): Improve error message on a one-element
4937 positional aggregate.
4938
49392011-08-04 Vincent Celier <celier@adacore.com>
4940
4941 * par_sco.adb (Process_Decisions.Output_Header): Check and record pragma
4942 SLOC only for pragmas.
4943
49442011-08-04 Emmanuel Briot <briot@adacore.com>
4945
4946 * projects.texi: Minor typo fix.
4947
49482011-08-04 Emmanuel Briot <briot@adacore.com>
4949
4950 * prj-nmsc.adb (Check_File): Minor change to traces, to help debugging
4951 on case-sensitive file systems.
4952
c2873f74
TQ
49532011-08-04 Thomas Quinot <quinot@adacore.com>
4954
4955 * put_scos.adb (Put_SCOs): Do not emit decision SCO for an X decision
4956 nested in a disabled pragma.
4957 * scos.ads, scos.adb, par_sco.ads, par_sco.adb: Record sloc of
4958 enclosing pragma, if any, for X decisions.
4959
49602011-08-04 Thomas Quinot <quinot@adacore.com>
4961
4962 * sem_prag.adb: Minor reformatting.
4963
46414266
VC
49642011-08-04 Vincent Celier <celier@adacore.com>
4965
4966 * a-tags.adb (Check_TSD): Avoid concatenation of strings, as it is not
4967 allowed in no run time mode.
4968
49692011-08-04 Vincent Celier <celier@adacore.com>
4970
4971 * make.adb (Check): When -gnatc is used, check for the source file
4972 inside the ALI file with a canonical case file name.
4973
afab164f
EB
49742011-08-04 Emmanuel Briot <briot@adacore.com>
4975
4976 * g-comlin.adb, g-comlin.ads (Add_Switch): Put back support for
4977 overriding the separator.
4978
fe0ec02f
AC
49792011-08-04 Robert Dewar <dewar@adacore.com>
4980
4981 * sem_aggr.adb, par_sco.adb, sem_type.adb, exp_util.adb, exp_ch9.adb,
4982 prj-nmsc.adb, sem_ch13.adb, exp_strm.adb: Minor reformatting.
4983
49842011-08-04 Robert Dewar <dewar@adacore.com>
4985
4986 * gnat_rm.texi: Minor documentation fix for pragma Annotate.
4987
49882011-08-04 Yannick Moy <moy@adacore.com>
4989
4990 * sem_attr.adb (Analyze_Attribute): add check during pre-analysis that
4991 'Result only appears in postcondition of function.
4992
49932011-08-04 Thomas Quinot <quinot@adacore.com>
4994
4995 * a-tags.adb (Check_TSD): When raising PROGRAM_ERROR for a duplicated
4996 external tag, include the value of the external tag in the exception
4997 message.
4998
0180fd26
AC
49992011-08-04 Yannick Moy <moy@adacore.com>
5000
5001 * sem_attr.adb (Result): modify error message for misplaced 'Result
5002
50032011-08-04 Sergey Rybin <rybin@adacore.com>
5004
5005 * gnat_rm.texi (pragma Annotate): Fix syntax description to make it
5006 clear that the second argument must be an identifier.
5007
50082011-08-04 Thomas Quinot <quinot@adacore.com>
5009
5010 * exp_ch9.adb (Build_Barrier_Function): When compiling with
5011 -fpreserve-control-flow, insert an IF statement on the barrier
5012 condition to ensure that a conditional branch instruction is generated.
5013
50142011-08-04 Emmanuel Briot <briot@adacore.com>
5015
5016 * prj-part.adb, prj.adb, prj.ads, prj-tree.ads
5017 (Processing_Flags.Ignore_Missing_With): new flag.
5018
50192011-08-04 Emmanuel Briot <briot@adacore.com>
5020
5021 * prj-nmsc.adb (Find_Sources, Path_Name_Of): Fix handling of
5022 Source_List_File on case-insensitive systems where the file is actually
5023 on a case-sensitive file system (NFS,...).
5024
50252011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5026
5027 * sem_ch6.adb (Analyze_Function_Return): In a rare case where a
5028 function return contains a controlled [extension] aggregate and the
5029 return statement is not part of a handled sequence of statements, wrap
5030 the return in a block. This ensures that all controlled temporaries
5031 generated during aggregate resolution will be picked up by the
5032 finalization machinery.
5033
50342011-08-04 Ed Schonberg <schonberg@adacore.com>
5035
5036 * sem_aggr.adb (Resolve_Aggregate): If aggregate has box-initialized
5037 components, freeze type before resolution, to ensure that default
5038 initializations are present for all components.
5039 * sem_res.adb (Resolve_Actuals): the designated object of an
5040 accces-to-constant type is a legal actual in a call to an
5041 initialization procedure.
5042
50432011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5044
5045 * exp_util.adb (Extract_Renamed_Object): Add N_Type_Conversion and
5046 N_Unchecked_Type_Conversion to the possible containers of a renamed
5047 transient variable.
5048
78efd712
AC
50492011-08-04 Yannick Moy <moy@adacore.com>
5050
5051 * par-ch13.adb (Aspect_Specifications_Present): recognize
5052 "with Identifier'Class =>" as an aspect, so that a meaningful warning
5053 is issued in Strict mode.
5054 * par.adb: Fix typos in comments.
5055
50562011-08-04 Yannick Moy <moy@adacore.com>
5057
5058 * sem_attr.adb (Result): modify error message to take into account Post
5059 aspect when compiling Ada 2012 (or newer) code.
5060
50612011-08-04 Nicolas Roche <roche@adacore.com>
5062
5063 * env.c (__gnat_clearenv): Avoid use of dynamic size array in order to
2c7f9cc0 5064 remove need for GCC exceptions.
78efd712
AC
5065
50662011-08-04 Vincent Celier <celier@adacore.com>
5067
5068 * makeutl.adb (Do_Complete): Call Debug_Output with the name of the
5069 project, not the source file name.
5070 * prj.adb (Find_Sources.Look_For_Sources): If the source has been
5071 excluded, continue looking. This excluded source will only be returned
5072 if there is no other source with the same base name that is not locally
5073 removed.
5074
50752011-08-04 Ed Schonberg <schonberg@adacore.com>
5076
5077 * sem_res.adb (Resolve_Intrinsic_Operator): if the result type is
5078 private and one of the operands is a real literal, use a qualified
5079 expression rather than a conversion which is not meaningful to the
5080 back-end.
5081
0170a691
AC
50822011-08-04 Yannick Moy <moy@adacore.com>
5083
5084 * sem_ch13.adb (Aspect_Loop): when an aspect X and its classwise
5085 corresponding aspect X'Class are allowed, proceed with analysis of the
5086 aspect instead of skipping it.
5087
50882011-08-04 Tristan Gingold <gingold@adacore.com>
5089
5090 * s-flocon.adb, s-flocon.ads: Add a body for s-flocon.ads
5091 This will allow to have an Ada implementation for the subprogram.
5092
deb4f5ba
ES
50932011-08-04 Ed Schonberg <schonberg@adacore.com>
5094
5095 * sem_ch3.adb (Analyze_Full_Type_Declaration): If the declaration is a
5096 completion and aspects are present, apply them to the entity for the
5097 type which is currently the partial view, but which is the one that
5098 will be frozen.
5099 * sem_ch13.adb (Analyze_Aspect_Specifications): if the predicate
5100 applies to a partial view, indicate that the full view has predicates
5101 and delayed aspects.
5102 (Replace_Type_Reference): Handle properly predicates that apply to the
5103 full view of a private completion.
5104
fc893455
AC
51052011-08-04 Eric Botcazou <ebotcazou@adacore.com>
5106
5107 * layout.adb (Layout_Type): For composite types, do not set Esize.
5108 * freeze.adb (Set_Small_Size): Remove test on alignment and do not
5109 set Esize.
5110 (Size_Known): Look at the RM size of components instead of the Esize.
5111 (Freeze_Record_Type): Look at the RM size instead of the Esize to
5112 issue warning and activate Implicit_Packing.
5113 (Freeze_Entity): Likewise. Do not issue a warning for alias/atomic
5114 if the Esize is not known.
5115 * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Size>: Set Esize
5116 for elementary types only.
5117 (Analyze_Record_Representation_Clause): Look at the RM size instead
5118 of the Esize to issue errors.
5119 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set Esize if it
5120 is not known.
5121 <E_Record_Type>: Look at the RM size instead of the Esize. Remove
2c7f9cc0 5122 obsolete block.
fc893455
AC
5123 Look at the RM size instead of the Esize for types if the latter is
5124 not known.
5125 (gnat_to_gnu_field): Use Known_Esize instead of Known_Static_Esize.
5126
51272011-08-04 Ed Schonberg <schonberg@adacore.com>
5128
5129 * sem_type.adb: proper handling of equality not involving anonymous
5130 access types.
5131
b37d5bc6
AC
51322011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5133
5134 * exp_ch7.adb (Create_Finalizer): Remove local variables Spec_Nod and
5135 Vis_Decls. When creating a library-level finalizer for a package spec,
5136 both the declaration and body of the finalizer are inserted either in
5137 the visible or private declarations of the package spec.
5138
51392011-08-04 Javier Miranda <miranda@adacore.com>
5140
5141 * sem_ch3.adb (Derive_Subprograms): Complete assertion to request the
5142 use of the full-view of a type when invoking Is_Ancestor.
5143 * sem_type.adb (Is_Ancestor): For consistency, when the traversal of
5144 the full-view of private parents is requested, then use also the
5145 full-view of the parent of the first derivation.
5146
7ab4d95a
AC
51472011-08-04 Tristan Gingold <gingold@adacore.com>
5148
5149 * s-taprop-vxworks.adb (Enter_Task): Use System.Float_Control.Reset
5150 instead of the locally imported procedure.
5151 * s-taprop-mingw.adb (Enter_Task): Ditto.
5152 * s-valrea.adb (Scan_Real): Ditto.
5153 * s-imgrea.adb (Set_Image_Real): Ditto.
5154 * s-flocon.ads: Make the package pure.
5155
51562011-08-04 Thomas Quinot <quinot@adacore.com>
5157
5158 * sinfo.ads, sinfo.adb (Debug_Statement, Set_Debug_Statement): Remove.
5159 * tbuild.ads, tbuild.adb (Make_Pragma): Adjust accordingly.
5160 * sinfo-cn.ads, sinfo-cn.adb (Change_Name_To_Procedure_Call_Statement):
5161 New subprogram, moved here from...
5162 * par.adb, par-ch5.adb (P_Statement_Name): ... here.
5163 * par-prag.adb (Par.Prag, case Pragma_Debug): Do not perform any
5164 rewriting of the last argument into a procedure call statement here...
5165 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): ...do it there
5166 instead.
5167
51682011-08-04 Thomas Quinot <quinot@adacore.com>
5169
5170 * par_sco.adb: Minor reformatting.
5171
51c400f5
AC
51722011-08-04 Robert Dewar <dewar@adacore.com>
5173
5174 * erroutc.adb: Minor reformatting.
5175
51762011-08-04 Thomas Quinot <quinot@adacore.com>
5177
5178 * par_sco.adb: Comment update.
5179
51802011-08-04 Tristan Gingold <gingold@adacore.com>
5181
5182 * s-flocon.ads: New file.
5183 * g-flocon.ads: Now a renaming of s-flocon.
5184 * Makefile.rtl: Add s-flocon.o
5185
6a49f110
AC
51862011-08-04 Javier Miranda <miranda@adacore.com>
5187
5188 * exp_strm.adb (Build_Array_Input_Function): if the array type is
5189 constrained, do not attempt to build a subtype of it.
5190
51912011-08-04 Yannick Moy <moy@adacore.com>
5192
5193 * errout.ads Change comments: remove 'R'M as an example where quotes
5194 are needed; add ALFA as another case where quotes are not needed
5195 * erroutc.adb (Set_Msg_Insertion_Reserved_Word): add ALFA as another
5196 case where quotes are not needed.
5197 * sem_ch11.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
5198 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_prag.adb, sem_res.adb:
5199 Remove all occurrences of 'A'L'F'A
5200
52012011-08-04 Ed Schonberg <schonberg@adacore.com>
5202
5203 * sem_ch13.adb: check legality of invariant pragma.
5204
a4640a39
AC
52052011-08-04 Eric Botcazou <ebotcazou@adacore.com>
5206
5207 * bindgen.adb: Add comments.
5208
52092011-08-04 Yannick Moy <moy@adacore.com>
5210
5211 * einfo.adb, einfo.ads: Free Flag254 and make Formal_Proof_On a
5212 synthesized flag.
5213 * sem_prag.adb (Analyze_Pragma): record the pragma Annotate
5214 (Formal_Proof, On/Off) in the Rep_Item list of the current subprogram.
5215
52162011-08-04 Robert Dewar <dewar@adacore.com>
5217
5218 * exp_ch7.adb, exp_ch6.adb, sem_ch3.adb, layout.adb, sem_ch5.adb,
5219 osint-c.ads, sem_util.ads, gnat1drv.adb, targparm.ads, sem_ch6.adb,
5220 sem_ch13.adb, s-pooloc.adb: Minor reformatting.
5221
39ade2f9
AC
52222011-08-04 Thomas Quinot <quinot@adacore.com>
5223
5224 * s-pooloc.ads, s-pooglo.ads: Minor reformatting
5225
52262011-08-04 Thomas Quinot <quinot@adacore.com>
5227
5228 PR ada/47880
5229 * s-pooloc.adb (Deallocate): Fix the case of deallocating the only
5230 allocated object.
5231
52322011-08-04 Robert Dewar <dewar@adacore.com>
5233
5234 * einfo.ads, exp_ch4.adb: Minor reformatting.
5235
52362011-08-04 Jerome Lambourg <lambourg@adacore.com>
5237
5238 * back_end.ads (Gen_Or_Update_Object_File): Add more comments.
5239
7efc3f2d
AC
52402011-08-04 Ed Schonberg <schonberg@adacore.com>
5241
5242 * exp_ch4.adb (Expand_Composite_Equality): code cleanup: use component
5243 type in all cases to compute list of primitive operations, because full
5244 view may be an itype that is not attached to the list of declarations.
5245
52462011-08-04 Eric Botcazou <ebotcazou@adacore.com>
5247
5248 * bindgen.adb (Gen_Adafinal_Ada): Generate an early return if the
5249 library has already been finalized.
5250 (Gen_Adafinal_C): Likewise.
5251 (Gen_Adainit_Ada): Generate an early return if the library has
5252 already been elaborated.
5253 (Gen_Adainit_C): Likewise.
5254 (Gen_Output_File_Ada): Generate an elaboration flag.
5255 (Gen_Output_File_C): Likewise.
5256
f65df609
HK
52572011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5258
5259 * exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
5260 Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
5261 built in the first place.
5262 (Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
5263 for CodePeer because Finalize_Address was not built to begin with.
5264 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.
5265
a0fb8fe8
AC
52662011-08-04 Pascal Obry <obry@adacore.com>
5267
5268 * adaint.c (__gnat_tmp_name): Use current process id to create temp
5269 filenames, this ensures unicity of filenames across processes.
5270
52712011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5272
5273 * bindgen.adb (Gen_Finalize_Library_Ada): Rename generated routine
5274 Raise_Controlled to Raise_From_Controlled_Operation. Update the
5275 signature of Raise_From_Controlled_Operation by adding flag From_Abort.
5276 Add False as the actual to From_Abort in the generated call to
5277 Raise_From_Controlled_Operation.
5278
52792011-08-04 Jerome Lambourg <lambourg@adacore.com>
5280
5281 * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move to declaration
5282 so that the ali file name can be retrieved from outside of this package.
5283 * back_end.ads, back_end.adb (Gen_Or_Update_Object_File): New method
5284 doing nothing in the general case, but used to update the object file
5285 timestamp if directly generated by the backend.
5286 * gnat1drv.adb (Gnat1drv): Make sure the object file's timestamp is set
5287 to a later time than the ali file one.
5288
9534ab17
AC
52892011-08-04 Yannick Moy <moy@adacore.com>
5290
5291 * einfo.adb, einfo.ads (Formal_Proof_On): new flag set on subprogram
5292 entities whose body contains an Annotate pragma which forces formal
5293 proof on this body.
5294 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
5295 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Adapt call to
5296 Mark_Non_ALFA_Subprogram to pass in a message and node.
5297 * sem_prag.adb (Analyze_Pragma): add treatment of pragma Annotate
5298 (Forma_Proof, On) which sets the flag Formal_Proof_On in the
5299 surrounding subprogram.
5300 * sem_util.adb, sem_util.ads (Mark_Non_ALFA_Subprogram,
5301 Mark_Non_ALFA_Subprogram_Unconditional): if the subprogram being marked
5302 as not in ALFA is annotated with Formal_Proof being On, then an error
5303 is issued based on the additional parameters for message and node.
5304 * snames.ads-tmpl (Name_Formal_Proof): new name for annotation.
5305 * gcc-interface/Make-lang.in: Update dependencies.
5306
53072011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5308
5309 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not generate
5310 Finalize_Address when CodePeer is enabled.
5311
53122011-08-04 Pascal Obry <obry@adacore.com>
5313
5314 * adaint.c (__gnat_tmp_name): Use _tempnam() instead of tempnam() as
5315 the latter returns a pointer to a static buffer which is deallocated
5316 at the end of the routine.
5317
5c0e97dd
AC
53182011-08-04 Yannick Moy <moy@adacore.com>
5319
5320 * sem_ch3.adb (Array_Type_Declaration): move test for type in ALFA
5321 after index creation; mark unconstrained base array type generated as
5322 being in/not in ALFA as well
5323 (Make_Index): mark subtype created as in/not in ALFA
5324 * sem_ch5.adb (Analyze_Iteration_Scheme): mark entity for iterating
5325 over a loop as in/not in ALFA, depending on its type and form of loop
5326 iteration.
5327
53282011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5329
5330 * exp_ch7.adb (Build_Object_Declarations): Initialize flag Abort
5331 directly to False on .NET and JVM.
5332
7a93c64b
YM
53332011-08-04 Yannick Moy <moy@adacore.com>
5334
5335 * sem_ch3.adb (Constrain_Enumeration, Constrain_Integer): remove
5336 constraint that subtype must come from source code to be in ALFA, so
5337 that anonymous subtypes can be in ALFA too.
5338
e9a1ed9b
YM
53392011-08-04 Yannick Moy <moy@adacore.com>
5340
5341 * sem_ch3.adb (Analyze_Object_Declaration): remove obsolete addition of
5342 reference for ALFA mode.
5343 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Compilation_Unit): make
5344 procedure public so as to use it from formal verification back-end.
5345
8e293fbd
AC
53462011-08-04 Jerome Lambourg <lambourg@adacore.com>
5347
5348 * g-comlin.adb (For_Each_Simple_Switch.Is_In_Config): Remove the
5349 invalid checks of the Parameter, making Remove_Switch not working
5350 correctly.
5351
53522011-08-04 Arnaud Charlet <charlet@adacore.com>
5353
5354 * targparm.ads: Update header: no run-time exception is needed on this
5355 file.
5356
53572011-08-04 Vincent Celier <celier@adacore.com>
5358
5359 * a-fihema.adb: Use System.IO instead of GNAT.IO
5360
53612011-08-04 Thomas Quinot <quinot@adacore.com>
5362
5363 * sem_ch3.adb (Access_Definition): Anonymous access to subprogram types
5364 are forbidden in Compiler_Unit mode.
5365
cfae2bed
AC
53662011-08-04 Robert Dewar <dewar@adacore.com>
5367
5368 * sem_util.adb: Minor reformatting.
5369
53702011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5371
5372 * bindgen.adb (Gen_Finalize_Library_Ada): Update the import string for
5373 library-level finalizers.
5374 (Gen_Finalize_Library_C): Update the import string for library-level
5375 finalizers.
5376 (Gen_Finalize_Library_Defs_C): Update the definition name of a
5377 library-level finalizer.
5378 * exp_ch7.adb: Remove with and use clauses for Stringt.
5379 (Create_Finalizer): Remove local variables Conv_Name, Prag_Decl,
5380 Spec_Decl. Add local variable Body_Id. The names of library-level
5381 finalizers are now manually fully qualified and are no longer external.
5382 A single name is now capable of servicing .NET, JVM and non-VM targets.
5383 Pragma Export is no longer required to provide visibility for the name.
5384 (Create_Finalizer_String): Removed.
5385 (New_Finalizer_Name): New routine which mimics New_..._Name.
5386
01f0729a
AC
53872011-08-04 Eric Botcazou <ebotcazou@adacore.com>
5388
5389 * sem_elab.adb (Check_Internal_Call_Continue): Change the type of the
5390 elaboration counter to Standard_Short_Integer.
5391 * sem_util.adb (Build_Elaboration_Entity): Likewise.
5392 * bindgen.adb (Gen_Elab_Externals_Ada): Adjust to above change.
5393 (Gen_Elab_Externals_C): Likewise.
5394
53952011-08-04 Ed Falis <falis@adacore.com>
5396
5397 * system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
5398 system-vxworks-ppc.ads, system-vxworks-m68k.ads,
5399 system-vxworks-mips.ads, system-vxworks-x86.ads
5400 (Always_Compatible_Rep): set to False for all VxWorks targets.
5401
2c1b72d7
AC
54022011-08-04 Robert Dewar <dewar@adacore.com>
5403
5404 * par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads,
5405 makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb,
5406 exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb,
5407 exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb,
5408 exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb,
5409 sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb,
5410 sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb:
5411 Minor reformatting and code reorganization.
5412
54132011-08-04 Emmanuel Briot <briot@adacore.com>
5414
5415 * projects.texi: Added doc for aggregate projects.
5416
824e9320
AC
54172011-08-04 Emmanuel Briot <briot@adacore.com>
5418
5419 * prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items):
5420 Add support for overriding the Project_Path in aggregate projects.
5421
54222011-08-04 Robert Dewar <dewar@adacore.com>
5423
5424 * a-cofove.ads: Minor reformatting.
5425
54262011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5427
5428 * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment
5429 on the generated code.
5430 (Build_Finalize_Statements): Update the comment on the generated code.
5431 (Build_Initialize_Statements): Update the comment on the generated code.
5432 (Build_Object_Declarations): Add local variable Result. The object
5433 declarations are now built in sequence.
5434 * rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and
5435 RE_Unit_Table.
5436
54372011-08-04 Robert Dewar <dewar@adacore.com>
5438
5439 * checks.adb, alfa.adb, alfa.ads: Minor reformatting.
5440
54412011-08-04 Eric Botcazou <ebotcazou@adacore.com>
5442
5443 * einfo.ads (Elaboration_Entity): Document new definition and use.
5444 (Elaboration_Entity_Required): Adjust to above change.
5445 * exp_attr.adb (Expand_N_Attribute_Reference): Likewise.
5446 * exp_ch12.adb: And with and use for Snames.
5447 (Expand_N_Generic_Instantiation): Test 'Elaborated attribute.
5448 * exp_util.adb (Set_Elaboration_Flag): Likewise.
5449 * sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete.
5450 <Check_Unit_Name>: Deal with N_Expanded_Name.
5451 <Attribute_Elaborated>: Extend to all unit names.
5452 * sem_elab.adb: And with and use for Uintp.
5453 (Check_Internal_Call_Continue): Adjust to Elaboration_Entity change.
5454 * sem_util.ads (Build_Elaboration_Entity): Adjust comment.
5455 * sem_util.adb (Build_Elaboration_Entity): Change type to Integer.
5456 * bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken
5457 from Gen_Adainit_Ada.
5458 (Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C.
5459 (Gen_Adafinal_Ada): Remove redundant test. In the non-main program
5460 case, do not call System.Standard_Library.Adafinal; instead call
5461 finalize_library if needed.
5462 (Gen_Adafinal_C): Likewise.
5463 (Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the
5464 non-main program case.
5465 (Gen_Adainit_C): Generate a couple of external declarations here.
5466 In the main program case, set SSL.Finalize_Library_Objects.
5467 (Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change.
5468 (Gen_Elab_Calls_C): Likewise.
5469 (Gen_Finalize_Library_Ada): Likewise. Skip SAL interface units.
5470 (Gen_Finalize_Library_C): Likewise. Generate a full function.
5471 (Gen_Main_C): Put back call to Ada_Final and don't finalize library
5472 objects here.
5473 (Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final
5474 if -a is specified. Call Gen_Elab_Externals_Ada. Move around call to
5475 Gen_Adafinal_Ada.
5476 (Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final
5477 if -a is specified. Call Gen_Elab_Externals_C. Remove useless couple
2c7f9cc0 5478 of external declarations. Call Gen_Finalize_Library_C.
824e9320 5479
316d9d4f
EB
54802011-08-04 Emmanuel Briot <briot@adacore.com>
5481
5482 * prj.adb, prj.ads, makeutl.adb, makeutl.ads (Complete_Mains,
5483 Compute_Compilation_Phases): new subprogram.
5484 (Builder_Data, Builder_Project_Tree_Data): new subprogram and type
5485 The number of mains as well as the various compilation phases that
5486 need to be run are now project tree specific, since various
5487 aggregated trees might have different requirements. In particular,
5488 they do not all require bind or link phases.
5489
9434c32e
EB
54902011-08-04 Emmanuel Briot <briot@adacore.com>
5491
5492 * prj.adb, prj.ads, makeutl.adb, makeutl.ads, prj-env.adb
5493 (Project_Tree_Appdata): New type.
5494 It is now possible to associate application-specific data to a project
5495 tree. In particular, this is used in the gprbuild builder to avoid a
5496 number of global tables and htables, especially now that there can be
5497 several project trees loaded at once because of aggregate projects.
5498 (Debug_Name): new procedure.
5499 * projects.texi: Clarify syntax of "**" for Source_Dirs
5500
41ba34db
EB
55012011-08-03 Emmanuel Briot <briot@adacore.com>
5502
5503 * prj.ads, makeutl.adb, makeutl.ads (Queue.Insert): now also inserts
5504 the "roots" for a main.
5505 (Fill_From_Project): add support for aggregate projects. Main units
5506 in aggregated projects are now automatically added in the list of
5507 files to build (although this fails later on in gprbuild, because
5508 these files are not using the root proejct tree, so this needs
5509 further cleanup)
5510 * gcc-interface/Make-lang.in: Update dependencies.
5511
fccd42a9
AC
55122011-08-03 Yannick Moy <moy@adacore.com>
5513
5514 * sem_ch4.adb (Analyze_Conditional_Expression): only allow boolean
5515 conditional expression in ALFA.
5516 * sem_res.adb (Resolve_Conditional_Expression): mark non-boolean
5517 expressions as not in ALFA.
5518
55192011-08-03 Robert Dewar <dewar@adacore.com>
5520
5521 * a-cofove.adb: Minor reformatting.
5522
55232011-08-03 Emmanuel Briot <briot@adacore.com>
5524
5525 * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads
5526 (Insert_Project_Sources, Insert_withed_Sources_For): moved from the
5527 gprbuild sources.
5528 These packages are more logically placed in the Queue package, since
5529 they manipulate the queue. It is also likely that they can be adapted
5530 for gnatmake, thus sharing more code.
5531 (Finish_Program, Fail_Program): moved from the gprbuild sources, so
5532 that we could move the above.
5533
55342011-08-03 Emmanuel Briot <briot@adacore.com>
5535
5536 * errutil.adb (Finalize): clean up the list of error messages on exit.
5537 Calling this subprogram multiple times will no longer show duplicate
5538 error messages on stderr.
5539
55402011-08-03 Emmanuel Briot <briot@adacore.com>
5541
5542 * g-comlin.adb, g-comlin.ads (Set_Command_Line): ignore the parameter
5543 Getopt_Switches when we have already define a command line
5544 configuration.
5545
5e8c8e44
YM
55462011-08-03 Yannick Moy <moy@adacore.com>
5547
5548 * sem_ch11.adb (Analyze_Raise_xxx_Error): do not mark such nodes as not
5549 in ALFA. Instead, they are considered as assertions to prove.
5550 * sem_ch4.adb (Analyze_Conditional_Expression): do not always mark such
5551 nodes as not in ALFA. Instead, include conditional expressions in ALFA
5552 if they have no ELSE part, or if they occur in pre- and postconditions,
5553 where the Condition cannot have side-effects in ALFA
5554 (Analyze_Membership_Op): do not mark such nodes as not in ALFA
5555 (Analyze_Type_Conversion): do not always mark such nodes as not in ALFA.
5556 Instead, include type conversion between scalar types in ALFA.
5557 * sem_ch6.adb (Process_Formals): correctly mark a parameter in ALFA
5558 if-and-only-if its type is in ALFA.
5559
5ffe0bab
AC
55602011-08-03 Thomas Quinot <quinot@adacore.com>
5561
5562 * scos.adb, get_scos.adb, put_scos.adb
5563 New code letter for decisions: G (entry guard)
5564 * par_sco.adb
5565 (Traverse_Subprogram_Body): Rename to...
5566 (Traverse_Subprogram_Or_Task_Body): New subrpogram.
5567 (Traverse_Protected_Body): New subprogram
5568 (Traverse_Declarations_Or_Statements): Add traversal of task bodies,
5569 protected bodies and entry bodies.
5570
55712011-08-03 Yannick Moy <moy@adacore.com>
5572
5573 * einfo.adb, einfo.ads (Is_Postcondition_Proc): new flag for procedure
5574 entities with get/set subprograms, which is set on procedure entities
5575 generated by the compiler for a postcondition.
5576 * sem_ch6.adb (Process_PPCs): set new flag on postcondition procedures
5577 * alfa.adb, alfa.ads (Get_Entity_For_Decl): new function returning the
5578 entity for a declaration
5579 (Get_Unique_Entity_For_Decl): new function returning an entity which
5580 represents a declaration, so that matching spec and body have the same
5581 entity.
5582
55832011-08-03 Robert Dewar <dewar@adacore.com>
5584
5585 * a-except-2005.adb, a-cfhama.adb, a-cfhase.adb, a-cfhase.ads,
5586 a-cforma.adb, a-cforse.ads, a-cforse.adb: Minor reformatting
5587
55882011-08-03 Yannick Moy <moy@adacore.com>
5589
5590 * lib-xref-alfa.adb (Detect_And_Add_ALFA_Scope): make the subprogram
5591 library-level because retriction No_Implicit_Dynamic_Code in the
5592 front-end prevents its definition as a local subprogram
5593 (Traverse_Compilation_Unit): extract new procedure from Add_ALFA_File,
5594 for reuse in other contexts
5595 (Traverse_Declarations_Or_Statements,
5596 Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
5597 Traverse_Package_Declaration, Traverse_Subprogram_Body): make all these
5598 procedures take a callback parameter to be called on all declarations
5599 * lib-xref.ads
5600 (Traverse_All_Compilation_Units): new generic function to traverse a
5601 compilation unit and call a callback parameter on all declarations
5602
f9ad6b62
AC
56032011-08-03 Javier Miranda <miranda@adacore.com>
5604
5605 * sem_prag.adb (Process_Interface_Name): Allow duplicated export names
5606 in Java since they are always enclosed in a namespace that
5607 differentiates them, and overloaded entities are supported by the VM.
5608
56092011-08-03 Ed Schonberg <schonberg@adacore.com>
5610
5611 * checks.adb (Determine_Range): If a computed bound of an operation is
5612 outside the range of the base type of the expression, and overflow
5613 checks are enabled, the result is unknown and cannot be used for any
5614 subsequent constant folding.
5615 * sem_eval.adb (Compile_Time_Compare): if the bounds of one operand are
5616 unknown, so is the result of the comparison.
5617
56182011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5619
5620 * a-except-2005.adb (Raise_From_Controlled_Operation): Add new formal
5621 From_Abort. When finalization was triggered by an abort, propagate
5622 Standard'Abort_Signal rather than Program_Error.
5623 * a-except-2005.ads (Raise_From_Controlled_Operation): Add new formal
5624 From_Abort.
5625 * a-except.adb (Raise_From_Controlled_Operation): Add new formal
5626 From_Abort. When finalization was triggered by an abort, propagate
5627 Standard'Abort_Signal rather than Program_Error.
5628 * a-except.ads:(Raise_From_Controlled_Operation): Add new formal
5629 From_Abort.
5630 * exp_ch7.adb:(Build_Adjust_Or_Finalize_Statements): New local variable
5631 Abort_Id. Update the calls to Build_Object_Declarations and
5632 Build_Raise_Statement to include Abort_Id.
5633 (Build_Adjust_Statements): New local variable Abort_Id. Update the
5634 calls to Build_Object_Declarations and Build_Raise_Statement to include
5635 Abort_Id.
5636 (Build_Finalize_Statements): New local variable Abort_Id. Update the
5637 calls to Build_Object_Declarations and Build_Raise_Statement to include
5638 Abort_Id.
5639 (Build_Components): Create an entity for Abort_Id when exceptions are
5640 allowed on the target.
5641 (Build_Finalizer): New local variable Abort_Id.
5642 (Build_Initialize_Statements): New local variable Abort_Id. Update the
5643 calls to Build_Object_Declarations and Build_Raise_Statement to include
5644 Abort_Id.
5645 (Build_Object_Declarations): Add new formal Abort_Id. Create the
5646 declaration of flag Abort_Id to preserve the original abort status
5647 before finalization code is executed.
5648 (Build_Raise_Statement): Add new formal Abort_Id. Pass Abort_Id to
5649 runtime routine Raise_From_Controlled_Operation.
5650 (Create_Finalizer): Update the call to Build_Raise_Statement to include
5651 Abort_Id. Update the call to Build_Object_Declarations to include
5652 Abort_Id. Update the layout of the finalizer body.
5653 (Make_Handler_For_Ctrl_Operation): Add an actual for From_Abort.
5654 (Process_Transient_Objects): New local variable Abort_Id. Remove the
5655 clunky code to create all flags and objects related to
5656 exception propagation and replace it with a call to
5657 Build_Object_Declarations. Update the call to Build_Raise_Statement to
5658 include Abort_Id.
5659 * exp_ch7.ads (Build_Object_Declarations): Moved from body to spec.
5660 Add new formal Abort_Id and associated comment on its use.
5661 (Build_Raise_Statement): Add new formal Abort_Id and associated comment
5662 on its use.
5663 * exp_intr.adb (Expand_Unc_Deallocation): New local variable Abort_Id.
5664 Remove the clunky code to create all flags and objects related to
5665 exception propagation and replace it with a call to
5666 Build_Object_Declarations. Update the call to Build_Raise_Statement.
5667
56682011-08-03 Eric Botcazou <ebotcazou@adacore.com>
5669
5670 * s-tassta.adb: Fix minor typos.
5671
56722011-08-03 Robert Dewar <dewar@adacore.com>
5673
5674 * rtsfind.ads, makeutl.ads, prj.ads, prj.adb, make.adb,
5675 lib-writ.adb, makeutl.adb, s-soflin.ads, clean.adb: Minor reformatting.
5676
1cdfa9be
AC
56772011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5678
5679 * exp_ch7.adb (Create_Finalizer): Treat freeze nodes in similar fashion
5680 to packages. This ensures that the finalizer body will not end up
5681 inside the freeze node.
5682 (Process_Declarations): Add code to detect whether a freeze node has a
5683 nested finalization collection.
5684
56852011-08-03 Pascal Obry <obry@adacore.com>
5686
5687 * g-awk.adb, g-awk.ads: Make GNAT.AWK API compatible with Ada 2005.
5688 (Current_Session): Return a not null access to Session_Type.
5689 (Default_Session): Likewise.
5690
243cae0a
AC
56912011-08-03 Robert Dewar <dewar@adacore.com>
5692
5693 * a-cfdlli.adb, bindgen.adb, exp_ch4.adb, exp_ch13.adb, sem_warn.adb,
5694 exp_ch3.adb, exp_ch3.ads: Minor reformatting.
5695
56962011-08-03 Pascal Obry <obry@adacore.com>
5697
5698 * g-awk.ads: Minor comment fix.
5699
57002011-08-03 Sergey Rybin <rybin@adacore.com>
5701
5702 * tree_io.ads (ASIS_Version_Number): Update because of the changes in
5703 the tree structure related to discriminant constraints.
5704 Original_Discriminant cannot be used any more for computing the
5705 defining name for the reference to a discriminant.
5706
57072011-08-03 Ed Schonberg <schonberg@adacore.com>
5708
5709 * sem_disp.adb (Is_Tag_Indeterminate): If the return type of the
5710 function is not visibly tagged, this is not a dispatching call and
5711 therfore is not Tag_Indeterminate, even if the function is marked as
5712 dispatching on result.
5713
f553e7bc
AC
57142011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5715
5716 * exp_ch13.adb: Add with and use clauses for Restrict and Rident.
5717 (Expand_N_Free_Statement): Add a guard to protect against run-times
5718 which do not support controlled types.
5719 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Add a guard to protect
5720 against run-times which do not support controlled types.
5721 * exp_ch4.adb (Complete_Controlled_Allocation): Add a guard to protect
5722 against run-times which do not support controlled types.
5723 * exp_ch7.adb (Build_Finalization_Collection): Add a guard to protect
5724 against run-times which do not support controlled types.
5725 * exp_util.adb (Needs_Finalization): Code reformatting. Add a guard to
5726 protect against run-times which do not support controlled types.
5727
57282011-08-03 Eric Botcazou <ebotcazou@adacore.com>
5729
5730 * exp_intr.adb: Put back with and use clauses for Exp_Ch11.
5731 (Expand_Unc_Deallocation): Expand the AT_END handler at the very end.
5732
e4982b64
AC
57332011-08-03 Ed Schonberg <schonberg@adacore.com>
5734
5735 * exp_ch5.adb (Expand_Iterator_Loop): indicate that the cursor is
5736 modified in the source, to prevent spurious warnings when compiling
5737 with -gnatg.
5738
57392011-08-03 Thomas Quinot <quinot@adacore.com>
5740
5741 * a-except-2005.adb: Minor reformatting.
5742
57432011-08-03 Ed Schonberg <schonberg@adacore.com>
5744
5745 * sem_warn.adb (Check_One_Unit): if the only mention of a withed unit
5746 is a renaming declaration in the private part of a package, do not emit
5747 a warning that the with_clause could be moved because the renaming may
5748 be used in the body or in a child unit.
5749
57502011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5751
5752 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
5753 Propagate the Comes_From_Source attribute from the original return
5754 object to the renaming.
5755
57562011-08-03 Jose Ruiz <ruiz@adacore.com>
5757
5758 * exp_ch7.adb (Build_Raise_Statement): Do not call
5759 Raise_From_Controlled_Operation when this routine is not present in
5760 the run-time library.
5761 (Cleanup_Protected_Object, Cleanup_Task): For restricted run-time
5762 libraries (Ravenscar), tasks are non-terminating, and protected objects
5763 and tasks can only appear at library level, so we do not want
5764 finalization of protected objects nor tasks.
5765 * exp_intr.adb: Minor clarification in comment.
5766 bindgen.adb (Gen_Adainit_Ada, Gen_Main_C, Gen_Output_File_Ada,
5767 Gen_Output_File_C): Remove references to finalization of library-level
5768 objects when using restricted run-time libraries.
5769
57702011-08-03 Ed Schonberg <schonberg@adacore.com>
5771
5772 * sem_ch3.adb (Build_Discriminant_Constraints): Set
5773 Original_Discriminant only if the parent type is a generic formal.
5774
deb8dacc
HK
57752011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5776
5777 * exp_ch13.adb: Add with and use clause for Targparm;
5778 (Expand_N_Free_Statement): Prevent the generation of a custom
5779 Deallocate on .NET/JVM targets since this requires pools and address
5780 arithmetic.
5781 * exp_ch4.adb (Expand_Allocator_Expression): When compiling for
5782 .NET/JVM targets, attach the newly allocated object to the access
5783 type's finalization collection. Do not generate a call to
5784 Set_Finalize_Address_Ptr on .NET/JVM because this routine does not
5785 exist in the runtime.
5786 (Expand_N_Allocator): When compiling for .NET/JVM targets, do not
5787 create a custom Allocate for object that do not require initialization.
5788 Attach a newly allocated object to the access type's finalization
5789 collection on .NET/JVM.
5790 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add special processing for
5791 assignment of controlled types on .NET/JVM. The two hidden pointers
5792 Prev and Next and stored and later restored after the assignment takes
5793 place.
5794 * exp_ch6.adb (Expand_Call): Add local constant Curr_S. Add specialized
5795 kludge for .NET/JVM to recognize a particular piece of code coming from
5796 Heap_Management and change the call to Finalize into Deep_Finalize.
5797 * exp_ch7.adb (Build_Finalization_Collection): Allow the creation of
5798 finalization collections on .NET/JVM only for types derived from
5799 Controlled. Separate the association of storage pools with a collection
5800 and only allow it on non-.NET/JVM targets.
5801 (Make_Attach_Call): New routine.
5802 (Make_Detach_Call): New routine.
5803 (Process_Object_Declarations): Suppress the generation of
5804 build-in-place return object clean up code on .NET/JVM since it uses
5805 pools.
5806 * exp_ch7.ads (Make_Attach_Call): New routine.
5807 (Make_Detach_Call): New routine.
5808 * exp_intr.adb Add with and use clause for Targparm.
5809 (Expand_Unc_Deallocation): Detach a controlled object from a collection
5810 on .NET/JVM targets.
5811 * rtsfind.ads: Add entries RE_Attach, RE_Detach and
5812 RE_Root_Controlled_Ptr to tables RE_Id and RE_Unit_Table.
5813 * snames.ads-tmpl: Add name Name_Prev. Move Name_Prev to the special
5814 names used in finalization.
5815
58162011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5817
5818 * a-fihema.adb: Add with and use clauses for System.Soft_Links.
5819 (Attach, Detach): Lock the current task when chaining an object onto a
5820 collection.
5821
df3e68b1
HK
58222011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5823
5824 * a-except.adb, a-except-2005.adb (Raise_From_Controlled_Operation):
5825 Rewritten to create the message strings when the exception is not
5826 raised by an abort during finalization.
5827 * a-except.ads, a-except-2005.ads: Add pragma Export for procedure
5828 Raise_From_Controlled_Operation and update its associated comment.
5829 * a-fihema.ads, a-fihema.adb: New GNAT unit.
5830 Ada.Finalization.Heap_Management provides key functionality
5831 associated with controlled objects on the heap, their creation,
5832 finalization and reclamation. Type Finalization_Collection is
5833 effectively a wrapper which sits ontop of a storage pool and performs
5834 all necessary bookkeeping for all the objects it contains. Each
5835 access-to-controlled or access-to-class-wide type receives a collection
5836 as part of its expansion. The compiler generates buffer code and
5837 invokes Allocate / Deallocate to create and destroy allocated
5838 controlled objects.
5839 * a-finali.adb ("="): Removed.
5840 * a-finali.ads ("="): Removed. Controlled types no longer carry hidden
5841 fields Prev and Next.
5842 * ali.adb (Scan_ALI): Add parsing code to process PF / Has_Finalizer.
5843 A library unit with at least one controlled object on the library level
5844 has a special finalizer which is invoked by the binder. To signal this,
5845 ali files carry field PF.
5846 * ali.ads: New field in type Unit_Record called Has_Finalizer. Add
5847 associated comment on field usage.
5848 * a-tags.adb (Get_RC_Offset): Removed.
5849 (Needs_Finalization): New routine.
5850 * a-tags.ads: Update the structure of the GNAT dispatch tables.
5851 Dispatch tables now carry field Needs_Finalization which provides
5852 runtime indication whether a type is controlled or has controlled
5853 components or both. Remove field RC_Offset.
5854 (Get_RC_Offset): Removed along with its associated pragma Export.
5855 Since tagged types with controlled components no longer carry hidden
5856 field _controller, the special mechanism to retrieve its location is no
5857 longer needed.
5858 (Needs_Finalization): New routine.
5859 * atree.ads, atree.adb (Elist24): New routine.
5860 (Set_Elist24): New routine.
5861 * atree.h: Add a define clause for Elist24.
5862 * bindgen.adb New library-level variable Lib_Final_Built.
5863 (Gen_Adafinal_Ada): Reimplemented. Depending on the restrictions or the
5864 presence of a VM target, the routine generates calls to the proper
5865 library finalization routine.
5866 (Gen_Adainit_Ada): Import Finalize_Library_Objects only on non-VM
5867 targets. Set the correct library finalization routine depending on
5868 whether the library has controlled objects or this is a VM compilation.
5869 (Gen_Finalize_Library_Ada): New routine. This procedure generates calls
5870 to library-level finalizers of compiled units in reverse order of
5871 elaboration. It also produces exception management code and reraises a
5872 potential exception after all units have been finalized.
5873 (Gen_Finalize_Library_C): New routine. This procedure generates calls to
5874 library-level finalizers of compiled units in reverse order of
5875 elaboration.
5876 (Gen_Finalize_Library_Defs_C): New routine. This procedure generates the
5877 definitions of all library-level finalizers available to the compilation
5878 (Gen_Main_Ada): Directly call Adafinal which now contails all target
5879 dependent code.
5880 (Gen_Main_C): Add new local constant Needs_Library_Finalization. Call
5881 System.Standard_Library.Adafinal directly. If the library needs
5882 finalization actions, create the sequence of finalization calls.
5883 (Gen_Output_File_Ada): Alphabetize local variables and constants.
5884 Generate a with clause for System.Soft_Links when compiling for a VM.
5885 Remove the code which imports System.Standard_Library.Adafinal as
5886 Do_Finalize. Generate the library finalization routine.
5887 (Gen_Output_File_C): Add new local constant Needs_Library_Finalization.
5888 If the library needs finalization actions, create all the definitions
5889 of library- level finalizers.
5890 (Has_Finalizer): New routine. Determines whether at least one compiled
5891 unit has a library-level finalizer.
5892 Add type Qualification_Mode.
5893 (Set_Unit_Name): Add a formal which controls the replacement of a dot.
5894 * einfo.adb: New usage of field 15 as Return_Flag.
5895 Remove Finalization_Chain_Entity from the usages of field 19.
5896 Remove Associated_Final_Chain from the usages of field 23.
5897 New usage of field 23 as Associated_Collection.
5898 New usage of field 24 as Finalizer.
5899 New usage of flag 252 as Is_Processed_Transient.
5900 (Associated_Final_Chain): Removed.
5901 (Associated_Collection): New routine.
5902 (Finalization_Chain_Entity): Removed.
5903 (Finalizer): New routine.
5904 (Is_Finalizer): New routine.
5905 (Is_Processed_Transient): New routine.
5906 (Return_Flag): New routine.
5907 (Set_Associated_Final_Chain): Removed.
5908 (Set_Associated_Collection): New routine.
5909 (Set_Finalization_Chain_Entity): Removed.
5910 (Set_Finalizer): New routine.
5911 (Set_Is_Processed_Transient): New routine.
5912 (Set_Return_Flag): New routine.
5913 (Write_Entity_Flags): Include Is_Processed_Transient to the list of
5914 displayed flags.
5915 (Write_Field8_Name): Alphabetize the output.
5916 (Write_Field11_Name): Alphabetize the output.
5917 (Write_Field12_Name): Alphabetize the output.
5918 (Write_Field13_Name): Alphabetize the output.
5919 (Write_Field14_Name): Alphabetize the output.
5920 (Write_Field15_Name): Alphabetize the output.
5921 (Write_Field16_Name): Alphabetize the output.
5922 (Write_Field17_Name): Alphabetize the output.
5923 (Write_Field18_Name): Alphabetize the output.
5924 (Write_Field19_Name): Alphabetize the output. Remove the output of
5925 Finalization_Chain_Entity.
5926 (Write_Field20_Name): Alphabetize the output.
5927 (Write_Field21_Name): Alphabetize the output.
5928 (Write_Field22_Name): Alphabetize the output.
5929 (Write_Field23_Name): Alphabetize the output. Remove the output of
5930 Associated_Final_Chain. Add output for Associated_Collection.
5931 (Write_Field24_Name): Alphabetize the output.
5932 (Write_Field25_Name): Add output for Finalizer.
5933 (Write_Field26_Name): Alphabetize the output.
5934 (Write_Field27_Name): Alphabetize the output.
5935 (Write_Field28_Name): Alphabetize the output.
5936 * einfo.ads: Add new field description for Associated_Collection and
5937 its uses in nodes.
5938 Remove Associated_Final_Chain and its uses in nodes.
5939 Remove Finalization_Chain_Entity and its uses in nodes.
5940 Add new field description for Finalizer and its uses in nodes.
5941 Add new synthesized attribute Is_Finalizer.
5942 Add new flag description for Is_Processed_Transient and its uses in
5943 nodes.
5944 Add new field description for Return_Flag and its uses in nodes.
5945 (Associated_Final_Chain): Removed along with its pragma Inline.
5946 (Associated_Collection): New routine and pragma Inline.
5947 (Finalization_Chain_Entity): Removed along with its pragma Inline.
5948 (Finalizer): New routine and pragma Inline.
5949 (Is_Finalizer): New routine and pragma Inline.
5950 (Is_Processed_Transient): New routine and pragma Inline.
5951 (Return_Flag): New routine and pragma Inline.
5952 (Set_Associated_Final_Chain): Removed along with its pragma Inline.
5953 (Set_Associated_Collection): New routine and pragma Inline.
5954 (Set_Finalization_Chain_Entity): Removed along with its pragma Inline.
5955 (Set_Finalizer): New routine and pragma Inline.
5956 (Set_Is_Processed_Transient): New routine and pragma Inline.
5957 (Set_Return_Flag): New routine and pragma Inline.
5958 * exp_aggr.adb: Alphabetize subprograms.
5959 (Build_Array_Aggr_Code): Remove formal Flist and its associated comment.
5960 (Build_Record_Aggr_Code): Remove formals Flist and Obj along with their
5961 associated comments. Remove local variables External_Final_List and
5962 Attach.
5963 Rename Ctrl_Stuff_Done to Finalization_Done. Rename local variable A to
5964 Ancestor. Remove the retrieval of finalization lists. Update the call to
5965 Make_Adjust_Call.
5966 (Convert_Aggr_In_Allocator): Remove the retrieval of finalization
5967 lists. Update the call to Late_Expansion.
5968 (Convert_Aggr_In_Assignment): Update the call to Late_Expansion.
5969 (Convert_Aggr_In_Object_Decl): Update the call to Late_Expansion.
5970 (Gen_Assign): Remove the retrieval of the finalization list used to
5971 build the assignment. Update the calls to Make_Init_Call and
5972 Make_Adjust_Call.
5973 (Gen_Ctrl_Actions_For_Aggr): Renamed to Generate_Finalization_Actions.
5974 Remove the mechanism to determine attachment levels and finalization
5975 list retrieval. Remove the processing for coextensions.
5976 (Init_Controller): Removed. Controllers no longer exist.
5977 (Late_Expansion): Remove formals Flist and Obj along with their
5978 associated comments. Update the calls to Build_Record_Aggr_Code and
5979 Build_Array_Aggr_Code.
5980 * exp_ch13.adb (Expand_N_Free_Statement): New routine.
5981 (Expand_N_Freeze_Entity): Add special processing for finalizers which
5982 appear in entry bodies, protected subprograms and task bodies.
5983 * exp_ch13.ads (Expand_N_Free_Statement): New routine.
5984 * exp_ch3.adb (Add_Final_Chain): Removed.
5985 (Build_Array_Init_Proc): Alphabetize local variables.
5986 (Build_Assignment): Alphabetize local variables. Update the call to
5987 Maked_Adjust_Call.
5988 (Build_Class_Wide_Master): Rename local variables to better reflect
5989 their role.
5990 (Build_Discriminant_Assignments): Code reformatting.
5991 (Build_Init_Call_Thru): Code reformatting.
5992 (Build_Init_Procedure): Code reformatting. Generate a special version
5993 of Deep_Finalize which is capable of finalizing all initialized
5994 components and ignore the rest.
5995 (Build_Init_Statements): Rename local variables to better reflect their
5996 role.
5997 Reimplement the mechanism to include the creation and update of an index
5998 variable called a "counter". It is used as a bookmark for tracing
5999 initialized and non-initialized components.
6000 (Build_Initialization_Call): Remove local variable Controller_Typ.
6001 Alphabetize all local variables. Remove the initialization of the
6002 record controller and update the call to Make_Init_Call.
6003 (Build_Record_Init_Proc): Rename formal Pe to Rec_Ent.
6004 New local variable Counter.
6005 (Constrain_Array): Alphabetize.
6006 (Expand_Freeze_Array_Type): Create a collection instead of a
6007 finalization list.
6008 (Expand_Freeze_Class_Wide_Type): New routine. Creates TSS primitive
6009 Finalize_Address which is used in conjunction with allocated controlled
6010 objects.
6011 (Expand_N_Object_Declaration): Remove the creation of a finalization
6012 list for anonymous access types. Update the calls to Make_Init_Call and
6013 Make_Adjust_Call.
6014 (Expand_Freeze_Record_Type): Remove local variable Flist. Remove the
6015 retrieval of finalization lists. Remove the expansion of the record
6016 controller. Create TSS primitive Finalize_Address used in conjunction
6017 with controlled objects on the heap. Create finalization collections
6018 for access-to-controlled record components.
6019 (Expand_Record_Controller): Removed.
6020 (Freeze_Type): Remove the freezing of record controllers. Freezing of
6021 class-wide types now requires additional processing. Create
6022 finalization collections for access-to-controlled types.
6023 (Increment_Counter): New routine.
6024 (Make_Counter): New routine.
6025 (Make_Eq_If): Remove the mention of Name_uController.
6026 (Make_Predefined_Primitive_Specs): There is no longer need to skip
6027 types coming from System.Finalization_Root.
6028 (Predef_Deep_Spec): Reimplemented to reflect the new parameter profiles.
6029 (Predefined_Primitive_Bodies): There is no longer need to skip types
6030 coming from System.Finalization_Root.
6031 (Stream_Operation_OK): Do not generate stream routines for
6032 type Ada.Finalization.Heap_Management.Finalization_Collection.
6033 * exp_ch3.ads: Alphabetize subprograms.
6034 * exp_ch4.adb: Remove with and use clause for Sem_Ch8.
6035 Add with and use clause for Lib.
6036 (Complete_Coextension_Finalization): Removed.
6037 (Complete_Controlled_Allocation): New routine. Create a finalization
6038 collection for anonymous access-to-controlled types. Create a custom
6039 Allocate which interfaces with the back end and the machinery in
6040 Heap_Management.
6041 (Expand_Allocator_Expression): Add necessary calls to
6042 Complete_Controlled_Allocation. Remove the retrieval of finalization
6043 lists. Update the calls to Make_Adjust_Call. Generate a call to
6044 Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
6045 the associated collection.
6046 (Expand_N_Allocator): Remove the processing for dynamic coextensions.
6047 Code clean up. Remove the retrieval of finalization lists and
6048 attachment levels.
6049 Update the call to Make_Init_Call. Generate a call to
6050 Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
6051 the associated collection.
6052 (Get_Allocator_Final_List): Removed. Finalization lists are not
6053 available.
6054 (Suitable_Element): Remove the mention of Name_uController.
6055 * exp_ch5.adb: Remove with and use clauses for Ttypes and Uintp.
6056 (Make_Tag_Ctrl_Assignment): Rewritten to simply do a finalization of
6057 the left hand side, carry out the assignment and adjust the left hand
6058 side.
6059 * exp_ch6.adb (Add_Final_List_Actual_To_Build_In_Place_Call): Removed.
6060 (Add_Collection_Actual_To_Build_In_Place_Call): New routine.
6061 (BIP_Formal_Suffix): Rename BIP_Final_List and BIPfinallist to
6062 BIP_Collection and BIPcollection.
6063 (Build_Heap_Allocator): New routine used to allocate the return object
6064 of a build-in-place function onto a collection.
6065 (Expand_Ctrl_Function_Call): Moved from Exp_Ch7.
6066 (Expand_Call): Do not replace direct calls to Deep routines with their
6067 aliases.
6068 (Expand_N_Extended_Return_Statement): Give all variables shorter names
6069 and update their occurrences. Add a special return flag to monitor the
6070 [ab]normal execution of the function. The flag is set right before the
6071 return statement.
6072 Rewrite the mechanism used to allocate a build-in-place return object
6073 on the heap or on a storage pool.
6074 (Is_Direct_Deep_Call): New routine.
6075 (Make_Build_In_Place_Call_In_Allocator): Add a collection to a
6076 build-in-place function call instead of a final list. Build a call to
6077 Set_Finalize_Address_Ptr to decorate the associated collection.
6078 (Make_Build_In_Place_Call_In_Anonymous_Context): Create a temporary in
6079 order to name the build-in-place function call's result for later
6080 finalization. Add a collection to a build-in-place function call
6081 instead of a final list.
6082 (Make_Build_In_Place_Call_In_Assignment): Add a collection to a
6083 build-in-place function call instead of a final list. Remove the code
6084 which moves one final list and transforms it into the actual in a
6085 nested build-in-place call.
6086 (Make_Build_In_Place_Call_In_Object_Declaration): Add a collection to a
6087 build-in-place function call instead of a final list.
6088 (Move_Final_List): Removed.
6089 (Needs_BIP_Collection): New routine.
6090 (Needs_BIP_Final_List): Removed.
6091 * exp_ch6.ads: Replace BIP_Final_List with BIP_Collection in
6092 enumeration type BIP_Formal_Kind.
6093 Update the related comment.
6094 (Needs_BIP_Collection): New routine.
6095 (Needs_BIP_Final_List): Removed.
6096 * exp_ch7.adb: Add with and use clauses for Elists, Exp_Ch6, Stringt
6097 and Ttypes. Remove with and use clauses for Sem_Type. Alphabetize the
6098 majority of subprograms in this unit. Add Name_Finalize_Address to
6099 array Name_Of and TSS_Finalize_Address to array Deep_Name_Of.
6100 (Build_Adjust_Or_Finalize_Statements): Create the adjust or finalization
6101 statements for an array type.
6102 (Build_Adjust_Statements): Create the adjust statements for a record
6103 type.
6104 (Build_Cleanup_Statements): New routine. A procedure which given any
6105 construct containing asynchronous calls, references to _master, or is a
6106 task body, a task allocation or a protected body produces the necessary
6107 runtime calls to clean up these constructs.
6108 (Build_Exception_Handler): New routine.
6109 (Build_Final_List): Removed.
6110 (Build_Finalization_Collection): New routine. A core procedure which
6111 creates a collection to service heap allocated controlled objects
6112 associated with an access-to-controlled type.
6113 (Build_Finalize_Statements): Create the finalization statements for a
6114 record types.
6115 (Build_Finalizer): New routine. A core procedure which given any
6116 construct with declarations and/or statements detects all objects which
6117 need any type of clean up (controlled objects, protected objects) and
6118 generates all necessary code to clean up the said objects in the proper
6119 order.
6120 (Build_Finalizer_Call): New routine.
6121 (Build_Initialize_Statements): Create the initialization statements for
6122 an array type. The generated routine contains code to finalize partially
6123 initialized arrays.
6124 (Build_Object_Declarations): New routine.
6125 (Build_Raise_Statement): New routine.
6126 (Clean_Simple_Protected_Objects): Removed.
6127 (Controller_Component): Removed.
6128 (Enclosing_Function): New routine.
6129 (Expand_Cleanup_Actions): Create a finalizer for a construct which has
6130 either declarations or statements or both.
6131 (Expand_N_Package_Body): Create a finalizer for a non-generic package.
6132 (Expand_N_Package_Declaration): Create a finalizer for a non-generic
6133 package.
6134 (Find_Final_List): Removed.
6135 (Global_Flist_Ref): Removed.
6136 (In_Finalization_Root): Removed.
6137 (Insert_Actions_In_Scope_Around): Determine the range of the transient
6138 scope in terms of tree nodes. Process all transient variables within
6139 that range.
6140 (Make_Adjust_Call): Rewritten. There is no longer an attach call
6141 generated after the adjust.
6142 (Make_Attach_Call): Removed.
6143 (Make_Call): New routine.
6144 (Make_Clean): Removed.
6145 (Make_Deep_Array_Body): Rewritten to simply invoke the appropriate
6146 build routines.
6147 (Make_Deep_Proc): Rewritten to generate the new profile signature used
6148 in Deep routines.
6149 (Make_Deep_Record_Body): Rewritten to simply invoke the appropriate
6150 build routines.
6151 (Make_Final_Call): Modified to simply create a call to either
6152 Deep_Finalize or Finalize.
6153 (Make_Finalize_Address_Body): New routine.
6154 (Make_Finalize_Address_Stmts): New routine. A function which produces
6155 TSS primitive Finalize_Address used in conjunction with heap allocated
6156 controlled objects.
6157 (Make_Handler_For_Ctrl_Operation): Add specialized code for .NET/JVM.
6158 (Make_Init_Call): Rewritten. There is no longer an attach call
6159 generated after initialization.
6160 (Make_Local_Deep_Finalize): New routine.
6161 (Make_Set_Finalize_Address_Ptr_Call): New routine.
6162 (Make_Transient_Block): Remove the finalization list retrieval and
6163 manipulation.
6164 (Needs_Finalization): Moved to Exp_Util.
6165 (Parent_Field_Type): New routine.
6166 (Preprocess_Components): New routine.
6167 (Process_Transient_Objects): New routine.
6168 (Wrap_HSS_In_Block): New routine.
6169 (Wrap_Transient_Declaration): Remove finalization list management and
6170 controller insertion.
6171 (Wrap_Transient_Expression): Code reformatting.
6172 (Wrap_Transient_Statement): Code reformatting.
6173 * exp_ch7.ads (Build_Final_List): Removed.
6174 (Build_Finalization_Collection): New routine.
6175 (Build_Raise_Statement): New routine.
6176 (Controller_Component): Removed.
6177 (Expand_Ctrl_Function_Call): Moved to Exp_Ch6.
6178 (Find_Final_List): Removed.
6179 (In_Finalization_Root): Removed.
6180 (Is_Simple_Protected_Type): Update related comment.
6181 (Make_Adjust_Call): New parameter profile and associated comments.
6182 (Make_Attach_Call): Removed.
6183 (Make_Final_Call): New parameter profile and associated comments.
6184 (Make_Finalize_Address_Body): New routine.
6185 (Make_Init_Call): New parameter profile and associated comments.
6186 (Make_Local_Deep_Finalize): New routine.
6187 (Make_Set_Finalize_Address_Ptr_Call): New routine.
6188 (Needs_Finalization): Moved to Exp_Util.
6189 * exp_ch9.adb (Add_Object_Pointer): Code reformatting.
6190 (Expand_N_Protected_Body): Remove the handling of finalization lists.
6191 (Find_Protection_Type): Moved to Exp_Util.
6192 * exp_disp.adb: Remove with and use clauses for Exp_Ch7.
6193 (Make_DT): Update sequence of dispatch table initialization. Remove the
6194 initialization of field RC_Offset. Add initialization of field Needs_
6195 Finalization.
6196 * exp_intr.adb (Expand_Unc_Deallocation): Code reformatting.
6197 Reimplement how an object is first finalized, then deallocated.
6198 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
6199 Code reformatting.
6200 * exp_tss.ads: Add special suffix for TSS primitive Finalize_Address.
6201 Register TSS_Finalize_Address with type TSS_Names.
6202 * exp_util.adb (Build_Allocate_Deallocate_Proc): New routine. This core
6203 procedure provides the interface between an allocation / deallocation
6204 and the support machinery in Ada.Finalization.Heap_Management.
6205 (Find_Init_Call): Code reformatting.
6206 (Find_Init_Call_In_List): Code reformatting.
6207 (Find_Protection_Type): Moved from Exp_Ch9.
6208 (Find_Prim_Op): Reimplement to add preference of recovered primitive.
6209 (Has_Controlled_Coextensions): Removed.
6210 (Has_Controlled_Objects): New routine.
6211 (In_Library_Level_Package_Body): New routine.
6212 (Insert_Action_After): New routine.
6213 (Is_Finalizable_Transient): New routine. This predicate determines
6214 whether an object declaration is one of the many variants of controlled
6215 transients.
6216 (Is_Null_Access_BIP_Func_Call): New routine.
6217 (Is_Non_BIP_Func_Call): New routine.
6218 (Is_Related_To_Func_Return): New routine.
6219 (Needs_Finalization): Moved from Exp_Ch7.
6220 * exp_util.ads (Build_Allocate_Deallocate_Proc): New routine.
6221 (Find_Protection_Type): Moved from Exp_Ch9.
6222 (Has_Controlled_Coextensions): Removed.
6223 (Has_Controlled_Objects): New routine.
6224 (In_Library_Level_Package_Body): New routine.
6225 (Insert_Action_After): New routine.
6226 (Is_Finalizable_Transient): New routine.
6227 (Is_Null_Access_BIP_Func_Call): New routine.
6228 (Is_Non_BIP_Func_Call): New routine.
6229 (Is_Related_To_Func_Return): New routine.
6230 (Needs_Finalization): Moved from Exp_ch7.
6231 * expander.adb (Expand): Add a case for N_Free_Statement.
6232 * freeze.adb (Freeze_All): Replace the generation of a finalization
6233 list with a collection for access-to-controlled types.
6234 (Freeze_Entity): Code reformatting.
6235 (Freeze_Record_Type): Remove the freezing of a record controller
6236 component.
6237 (Freeze_Subprogram): Code reformatting.
6238 * inline.adb (Cleanup_Scopes): Remove the reset of the scope
6239 finalization list.
6240 * lib-writ.adb (Write_Unit_Information): Output "PF" when a package
6241 has a library-level finalizer.
6242 * lib-writ.ads: Add "PF" to the sequence of unit attributes.
6243 * a-filico.ads, a-filico.adb, s-finimp.ads, s-finimp.adb: Removed.
6244 * Makefile.rtl: Remove a-filico and s-finimp from the list of object
6245 files. Add a-fihema to the list of object files.
6246 * par-ch4.adb:
6247 Alphabetize the associations in type Is_Parameterless_Attribute.
6248 * rtsfind.ads: Ada.Finalization_List.Controller and
6249 System.Finalization_Implementation are no longer a GNAT unit.
6250 Update the range of type Ada_Finalization_Child. Remove the following
6251 recoverable entities:
2c7f9cc0 6252
df3e68b1
HK
6253 RE_Attach_To_Final_List
6254 RE_Deep_Tag_Attach
6255 RE_Finalize_List
6256 RE_Finalize_One
6257 RE_Finalizable_Ptr_Ptr
6258 RE_Global_Final_List
6259 RE_Limited_Record_Controller
6260 RE_List_Controller
6261 RE_Move_Final_List
6262 RE_Record_Controller
6263 RE_Simple_List_Controller
2c7f9cc0 6264
df3e68b1 6265 Add the following recoverable entities:
2c7f9cc0 6266
df3e68b1
HK
6267 RE_Add_Offset_To_Address
6268 RE_Allocate
6269 RE_Base_Pool
6270 RE_Deallocate
6271 RE_Exception_Identity
6272 RE_Finalization_Collection
6273 RE_Finalization_Collection_Ptr
6274 RE_Needs_Finalization
6275 RE_Save_Library_Occurrence
6276 RE_Set_Finalize_Address_Ptr
6277 RE_Set_Storage_Pool_Ptr
6278 RE_Storage_Count
6279 * sem_aggr.adb (Resolve_Record_Aggregate): Remove mention of
6280 Name_uController.
6281 * sem_aux.adb (First_Discriminant): Remove mention of Name_uController.
6282 (First_Stored_Discriminant): Remove the mention of Name_uController.
6283 * sem_aux.ads: Comment reformatting.
6284 * sem_ch10.adb (Build_Chain): Signal the class-wide creation machinery
6285 to redecorate an already existing class-wide type.
6286 (Decorate_Tagged_Type): New parameter profile and associated comment.
6287 Create a "shadow class-wide type" for a shadow entity.
6288 * sem_ch11.adb (Analyze_Exception_Handlers): Remove the dubious setting
6289 of the final chain along with the associated comment.
6290 * sem_ch3.adb (Access_Type_Declaration): Add new local variable
6291 Full_Desig and set it to the full view of the designated type.
6292 Initialize the finalization collection to empty.
6293 (Build_Derived_Record_Type): Alphabetize local variables. Code
6294 reformatting.
6295 (Collect_Fixed_Components): Remove the mention of Name_uController.
6296 (Create_Constrained_Components): Remove the mention of Name_uController.
6297 (Make_Class_Wide_Type): Add specialized code to redecorate an existing
6298 class-wide type of a shadow entity.
6299 (Process_Full_View): Update the machinery which marks type
6300 Limited_Controlled's entity as limited.
6301 * sem_ch4.adb (Analyze_One_Call): Code reformatting.
6302 * sem_ch6.adb (Create_Extra_Formals): Do not generate a finalization
6303 list, instead make a collection build-in-place formal.
6304 * sem_ch8.adb (Analyze_Object_Renaming): Look at the available view of
6305 a designated type in order to establish a match between the renaming
6306 and the renamed entity.
6307 (Find_Selected_Component): Add guard to prevent spurious exceptions
6308 from being raised on .NET/JVM.
6309 * sem_disp.adb (Check_Dispatching_Operation): Include Finalize_Address
6310 to the list of primitive that need special processing. Update arrays
6311 C_Names and D_Names.
6312 (Replace_Types): Handle class-wide types.
6313 * sem_elab.adb (Check_A_Call): Since Deep_Initialize now has a
6314 different parameter profile, look at the first formal.
6315 * sem_prag.adb: Remove with and use clauses for Exp_Ch7. Add with and
6316 use clauses for Exp_Util.
6317 * sem_res.adb: Remove with and use clauses for Elists.
6318 (Propagate_Coextensions): Removed.
6319 (Resolve_Allocator): Do not propagate the list of coextensions from one
6320 allocator to another.
6321 * sem_util.adb (Build_Actual_Subtype_Of_Component): Rename variable
6322 Deaccessed_T to Desig_Typ.
6323 (Enter_Name): Remove the mention of Name_uController.
6324 (Gather_Components): Remove the mention of Name_uController.
6325 (Incomplete_Or_Private_View): New routine.
6326 (Is_Coextension_Root): Removed.
6327 (Is_Fully_Initialized_Type): Remove the mention of Name_uController.
6328 * sem_util.ads (Incomplete_Or_Private_View): New routine.
6329 (Is_Coextension_Root): Removed.
6330 * s-finroo.ads: Remove with clause for Ada.Unchecked_Conversion.
6331 Controlled types are now derived from a null tagged record. Remove
6332 types Finalizable_Ptr, Finalizable and Empty_Root_Controlled.
6333 * sinfo.adb (Coextensions): Removed.
6334 (Set_Coextensions): Removed.
6335 * sinfo.ads: Remove Coextensions from the explanation of node fields
6336 and its uses in nodes.
6337 Update the field usage of N_Allocator.
6338 (Coextensions): Removed along with its pragma Inline.
6339 (Set_Coextensions): Removed along with its pragma Inline.
6340 * snames.ads-tmpl: Remove names
2c7f9cc0 6341
df3e68b1
HK
6342 Name_uClean
6343 Name_uController
6344 Name_uFinal_List
6345 Name_uLocal_Final_List
6346 Name_Finalization_Root
6347 Name_Next
6348 Name_Prev
2c7f9cc0 6349
df3e68b1 6350 Add names
2c7f9cc0 6351
df3e68b1
HK
6352 Name_uFinalizer
6353 Name_Finalize_Address
6354 * s-pooglo.adb (Allocate): Add overriding indicator.
6355 (Deallocate): Add overriding indicator.
6356 (Storage_Size): Add overriding indicator.
6357 * s-soflin.adb (Adafinal_NT): Invoke Finalize_Library_Objects rather
6358 than Finalize_Global_List.
6359 (Null_Finalize_Global_List): Removed.
6360 (Save_Library_Occurrence): New routine.
6361 * s-soflin.ads: Remove variable Finalize_Global_List along with its
6362 initialization. Add variable Finalize_Library_Objects along with its
6363 pragma Export. Add variables Library_Exception and
6364 Library_Exception_Set along with their pragma Export.
6365 (Null_Finalize_Global_List): Removed.
6366 (Save_Library_Occurrence): New routine.
6367 * s-tassta.adb (Finalize_Global_Tasks): Call Finalize_Library_Objects
6368 rather than Finalize_Global_List.
6369 * tbuild.adb (Unchecked_Convert_To): Capture and set the parent field
6370 of the constructed node.
6371
2ee06322
RO
63722011-08-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6373
6374 * link.c: Include "auto-host.h" before system headers.
6375
f77b022b
VC
63762011-08-03 Vincent Celier <celier@adacore.com>
6377
6378 * make.adb (Gnatmake): Add to table Library_Projs only library projects
6379 that are not extended. Do not check if a library project that is
6380 extended should be regenerated. Do not add to table Library_Paths the
6381 libraries that are in extended projects. Link only with libraries that
6382 are in libray projects that are not extended.
6383 * prj-nmsc.adb (Check_Library_Attributes): Do not reset flag Library
6384 for a library project that is extended.
6385
0187b60e
AC
63862011-08-03 Gary Dismukes <dismukes@adacore.com>
6387
6388 * sem_ch6.adb (Find_Corresponding_Spec): When in an instance, skip
6389 conforming subprogram renamings that appear to be completions if they
6390 are not fully conformant.
6391 Such renamings are homographs but not completions.
6392 * sem_type.adb (Disambiguate): Handle disambiguation of overloaded
6393 names in a subprogram renaming that appears in an instance.
6394
63952011-08-03 Ed Schonberg <schonberg@adacore.com>
6396
6397 * exp_util.adb (Expand_Subtype_From_Expr): if the type is limited but
6398 not immutably limited, build actual subtype from expression to provide
6399 proper bounds to caller.
6400
64012011-08-03 Gary Dismukes <dismukes@adacore.com>
6402
6403 * sem_ch8.adb: Minor comment correction.
6404
64052011-08-03 Thomas Quinot <quinot@adacore.com>
6406
6407 * exp_strm.adb (Build_Array_Input_Function): In Ada 2005 mode, when
6408 returning a limited array, use an extended return statement.
6409
64102011-08-03 Vincent Celier <celier@adacore.com>
6411
6412 * make.adb (Initialize): If --subdirs= is used, but no project file is
6413 specified, attempt to create the specify subdir if it does not already
6414 exist and use it as the object directory as if -D had been specified.
6415
64162011-08-03 Arnaud Charlet <charlet@adacore.com>
6417
6418 * s-tpopsp-vms.adb: New file.
6419 * s-taprop-vms.adb: Put back ATCB_Key, since needed by this file on VMS.
6420 * gcc-interfaces/Makefile.in: Use s-taprop-vms.adb on VMS.
6421
e280f981
AC
64222011-08-03 Emmanuel Briot <briot@adacore.com>
6423
6424 * make.adb, makeutl.adb, makeutl.ads, clean.adb (Makeutl.Queue): new
6425 package.
6426
64272011-08-03 Yannick Moy <moy@adacore.com>
6428
6429 * cstand.adb (Create_Standard): select Universal_Integer as an ALFA type
6430 * sem_ch3.adb (Array_Type_Declaration): detect array types in ALFA
6431 * sem_util.adb, sem_util.ads (Has_Static_Array_Bounds): new function to
6432 detect that an array has static bounds.
6433
98c99a5a
AC
64342011-08-03 Thomas Quinot <quinot@adacore.com>
6435
6436 * exp_dist.adb: Minor reformatting.
6437
64382011-08-03 Arnaud Charlet <charlet@adacore.com>
6439
6440 * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-vms.adb
6441 (ATCB_Key): Removed, not always used.
6442
64432011-08-03 Emmanuel Briot <briot@adacore.com>
6444
6445 * gnatcmd.adb, make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads,
6446 clean.adb, prj-conf.adb, prj-env.adb, prj-env.ads (Makeutl): remove
6447 most remaining global variables.
6448
686d0984
AC
64492011-08-03 Robert Dewar <dewar@adacore.com>
6450
6451 * gnatcmd.adb, prj-proc.adb, mlib-prj.adb, prj.adb, makeutl.ads,
6452 prj-util.adb, prj-util.ads, prj-conf.adb, prj-env.adb: Minor
6453 reformatting.
6454
64552011-08-03 Javier Miranda <miranda@adacore.com>
6456
6457 * exp_util.adb (Is_VM_By_Copy_Actual): Include N_Slide nodes as actuals
6458 that must be passed by copy in VM targets.
6459
64602011-08-03 Emmanuel Briot <briot@adacore.com>
6461
6462 * prj.ads, prj-nmsc.adb (Files_Htable): removed this htable, which
6463 duplicates a similar htable now in the project tree.
6464
64652011-08-03 Claire Dross <dross@adacore.com>
6466
6467 * a-cfdlli.adb, a-cfhama.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb,
6468 a-cofove.adb ("=", Length, Is_Empty, Clear, Assign, Copy, Element,
6469 Replace_Element, Query_Element, Update_Element, Move, Insert, Prepend,
6470 Append, Delete, Delete_First, Delete_Last, Reverse_Element, Swap,
6471 Splice, First, First_Element, Last, Last_Element, Next, Previous, Find,
6472 Reverse_Find, Contains, Has_Element, Iterate, Reverse_Iterate, Capacity,
6473 Reserve_Length, Length, Strict_Equal, Left, Right): Data-structure
6474 update.
6475
64762011-08-03 Arnaud Charlet <charlet@adacore.com>
6477
6478 * s-taprop-posix.adb, s-taprop-linux.adb, s-taprop-tru64.adb
6479 (ATCB_Key): Removed, not always used.
6480 * s-tpopsp-posix.adb, s-tpopsp-posix-foreign.adb (ATCB_Key): Moved from
6481 s-taprop-posix.adb.
6482 * s-tpopsp-tls.adb: New file.
6483 * gcc-interface/Makefile.in: Use TLS implementation of s-tpopsp.adb on
6484 x86/x64/ia64/powerpc/sparc Linux.
6485
64862011-08-03 Arnaud Charlet <charlet@adacore.com>
6487
6488 * system-aix.ads, system-aix64.ads: Set ZCX_By_Default to True.
6489 * gcc-interface/Makefile.in: Switch to ZCX by default on AIX ports.
6490
64912011-08-03 Thomas Quinot <quinot@adacore.com>
6492
6493 * rtsfind.ads, exp_dist.adb, exp_dist.ads
6494 (Build_From_Any_Call, Build_To_Any_Call, Build_TypeCode_Call):
6495 Fix type selection for mapping integer types to PolyORB types.
6496
64972011-08-03 Bob Duff <duff@adacore.com>
6498
6499 * sem_ch7.adb: Minor comment clarification.
6500
65012011-08-03 Bob Duff <duff@adacore.com>
6502
6503 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): If we get
6504 an error analyzing a choice, skip further processing. Further
6505 processing could cause a crash or cascade errors.
6506
40ecf2f5
EB
65072011-08-03 Emmanuel Briot <briot@adacore.com>
6508
6509 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, mlib-prj.adb,
6510 prj.adb, prj.ads, makeutl.adb, makeutl.ads, clean.adb, prj-nmsc.adb,
6511 prj-util.adb, prj-util.ads, prj-conf.adb, prj-conf.ads, prj-env.adb,
6512 prj-env.ads (Shared_Project_Tree_Data): new type
6513 An aggregate project and its aggregated trees need to share the common
6514 data structures used for lists of strings, packages,... This makes the
6515 code simpler since otherwise we have to pass the root tree (also used
6516 for the configuration file data) in addition to the current project
6517 tree. This also avoids ambiguities as to which tree should be used.
6518 And finally this saves a bit of memory.
6519 (For_Every_Project_Imported): new parameter Tree.
6520 Since aggregated projects are using a different tree, we need to let
6521 the caller know which tree to use to manipulate the returned project.
6522
9fde638d
RD
65232011-08-03 Robert Dewar <dewar@adacore.com>
6524
6525 * prj-proc.adb, exp_util.ads, exp_ch9.adb, make.adb, prj-ext.adb,
6526 prj-ext.ads, alfa.ads, sem_ch4.adb, makeutl.adb, makeutl.ads,
6527 lib-xref-alfa.adb, sem_cat.adb, exp_dist.adb, get_alfa.adb,
6528 prj-env.adb, prj-env.ads, prj-tree.adb, alfa.ads: Minor reformatting.
6529
95eb8b69
AC
65302011-08-03 Javier Miranda <miranda@adacore.com>
6531
6532 * exp_util.adb, sem_aux.adb, exp_util.ads, sem_aux.ads:
6533 Move routine Is_VM_By_Copy_Actual from sem_aux to exp_util.
6534
65352011-08-03 Bob Duff <duff@adacore.com>
6536
6537 * sem_ch8.adb (Is_Primitive_Operator_In_Use): Always check In_Use on
6538 the Base_Type.
6539
65402011-08-03 Joel Brobecker <brobecker@adacore.com brobecker>
6541
6542 * g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads, g-sha384.ads,
6543 g-sehash.ads: Fix typo. Update header.
6544
65452011-08-03 Thomas Quinot <quinot@adacore.com>
6546
6547 * exp_ch6.adb (Expand_Actuals): Remove Ada_2005 guard on build-in-place
6548 expansion.
6549
65502011-08-03 Gary Dismukes <dismukes@adacore.com>
6551
6552 * sem_ch4.adb (Analyze_Overloaded_Selected_Component): Consider
6553 prefixes of private types along with records, since the selector may be
6554 a discriminant.
6555 * sem_res.adb (Resolve_Selected_Component): Consider prefixes of
6556 private types along with records, since the selector may be a
6557 discriminant.
6558
92e77027
AC
65592011-08-03 Emmanuel Briot <briot@adacore.com>
6560
b2f7ebc1 6561 * prj-pp.adb (Pretty_Print): Remove trailing blank line.
92e77027
AC
6562
65632011-08-03 Javier Miranda <miranda@adacore.com>
6564
6565 * sem_aux.adb (Is_VM_By_Copy_Actual): Fix wrong use of
6566 Tagged_Type_Expansion.
6567
65682011-08-03 Yannick Moy <moy@adacore.com>
6569
b2f7ebc1
GP
6570 * sem_res.adb (Resolve_Op_Concat_Arg): Do not issue a SPARK
6571 violation when the argument of concatenation is the name of a
6572 constant.
92e77027 6573
ab29a348
EB
65742011-08-03 Emmanuel Briot <briot@adacore.com>
6575
6576 * prj-proc.adb, prj-ext.adb, prj-ext.ads, prj-env.adb, prj-env.ads,
6577 prj-tree.adb, prj-tree.ads (Initialize_And_Copy, Copy): new subprograms
6578 (Process_Declarative_Items): new parameter Child_Env.
6579
9466892f
AC
65802011-08-03 Yannick Moy <moy@adacore.com>
6581
589ef536
GP
6582 * alfa.ads: Update format of ALFA section in ALI file in order to
6583 add a mapping from bodies to specs when both are present.
6584 (ALFA_Scope_Record): Add components for spec file/scope.
6585 * get_alfa.adb (Get_ALFA): Read the new file/scope for spec when
6586 present.
6587 * lib-xref-alfa.adb (Collect_ALFA): After all scopes have been
6588 collected, fill in the spec information when relevant.
6589 * put_alfa.adb (Put_ALFA): Write the new file/scope for spec when
9466892f
AC
6590 present.
6591
65922011-08-03 Eric Botcazou <ebotcazou@adacore.com>
6593
6594 * inline.adb (Add_Inlined_Subprogram): Do not consider the enclosing
6595 code unit to decide whether to add internally generated subprograms.
2c7f9cc0 6596
9466892f
AC
65972011-08-03 Javier Miranda <miranda@adacore.com>
6598
6599 * sem_aux.ads, sem_aux.adb (Is_VM_By_Copy_Actual): New subprogram.
589ef536
GP
6600 * exp_ch9.adb (Build_Simple_Entry_Call): Handle actuals that must
6601 be handled by copy in VM targets.
9466892f
AC
6602
66032011-08-03 Emmanuel Briot <briot@adacore.com>
6604
589ef536 6605 * make.adb, makeutl.adb, makeutl.ads (Make.Switches_Of): Share
9466892f
AC
6606 code with Makeutl.Get_Switches.
6607 * prj-tree.adb: Update comment.
6608
b5ea9143
AC
66092011-08-03 Thomas Quinot <quinot@adacore.com>
6610
6611 * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Reject a remote
6612 subprogram with a limited formal that does not support external
6613 streaming.
6614
66152011-08-03 Yannick Moy <moy@adacore.com>
6616
6617 * get_alfa.adb (Get_ALFA): add missing Skip_Spaces at start of
6618 continuation line
6619 * lib-xref-alfa.adb (Add_ALFA_File): split removal of scopes that are
6620 not from current unit in two phases, because it is not possible to
6621 change the table while iterating over its content.
6622 * put_alfa.adb (Put_ALFA): reset current file/scope at each new entity
6623
66242011-08-03 Sergey Rybin <rybin@adacore.com>
6625
6626 * vms_data.ads: Add qualifier for gnatmetric --no-static-loop option
6627 * gnat_ugn.texi: Update description of complexity metrics (gnatmetric)
6628
668a19bc
ES
66292011-08-03 Ed Schonberg <schonberg@adacore.com>
6630
6631 * sem_res.adb (Resolve_Op_Concat_Arg): if the argument is an aggregate
6632 and the component type is composite, this is ambiguous for predefined
6633 concatenation, but if the node is not overloaded and the entity is a use
6634 -defined function its profile can be used to resolve that aggregate.
6635
170b2989
AC
66362011-08-03 Robert Dewar <dewar@adacore.com>
6637
6638 * exp_ch4.adb: Minor code cleanup.
6639
66402011-08-03 Thomas Quinot <quinot@adacore.com>
6641
6642 * exp_dist.adb: Do not generate distribution stubs if serious errors
6643 have been diagnosed.
6644
66452011-08-03 Ed Schonberg <schonberg@adacore.com>
6646
6647 * sem_ch4.adb (Try_Primitive_Operation): when checking the validity of
6648 the first formal of a primitive operation, go to the base type to
6649 handle properly an access to a derived type with constrained
6650 discriminants.
6651 * sem_type.adb (Disambiguate): an immediately visible operator hides a
6652 user-defined function that is only use-visible.
170b2989 6653
e917aec2
RD
66542011-08-03 Robert Dewar <dewar@adacore.com>
6655
6656 * sem_aggr.adb, sem_ch3.adb, lib.ads, gnatcmd.adb, prj-proc.adb,
6657 make.adb, lib-writ.adb, prj-part.adb, prj-part.ads, prj-ext.adb,
6658 fname-uf.adb, prj-ext.ads, prj.adb, prj.ads, sem_attr.adb, alfa.adb,
6659 prj-makr.adb, errout.adb, makeutl.adb, makeutl.ads, restrict.ads,
6660 sem_ch6.adb, g-pehage.adb, clean.adb, put_alfa.adb, lib-xref-alfa.adb,
6661 prj-nmsc.adb, prj-nmsc.ads, sem_ch8.adb, prj-pars.ads, exp_aggr.adb,
6662 prj-attr.ads, sem_ch13.adb, get_alfa.adb, prj-env.adb, prj-env.ads,
6663 alfa_test.adb, prj-tree.adb, prj-tree.ads, einfo.ads: Minor reformatting
6664
66652011-08-03 Robert Dewar <dewar@adacore.com>
6666
6667 * repinfo.adb (List_Mechanism): Add handling of
6668 Convention_Ada_Pass_By_XXX.
6669 * sem_mech.adb (Set_Mechanism): Ditto.
6670 * sem_prag.adb (Process_Convention): Add entries for
6671 Convention_Ada_Pass_By_XXX.
6672 * snames.adb-tmpl, snames.ads-tmpl: Ditto.
6673
49bfcf43
AC
66742011-08-03 Pascal Obry <obry@adacore.com>
6675
6676 * makeutl.adb: Minor reformatting.
6677
66782011-08-03 Vincent Celier <celier@adacore.com>
6679
6680 * fname-uf.adb
6681 (Get_File_Name) If the file cannot be found when there are no config
6682 pragmas file and May_Fail is True, return No_File instead of the file
6683 name, to be consistent.
6684
66852011-08-03 Pascal Obry <obry@adacore.com>
6686
6687 * adaint.c (__gnat_is_executable_file_attr): Avoid access
6688 to null pointer.
6689
66902011-08-03 Javier Miranda <miranda@adacore.com>
6691
6692 * sem_ch13.adb
6693 (Same_Representation): In VM targets the representation of arrays with
6694 aliased components differs from arrays with non-aliased components.
6695
34798441
EB
66962011-08-03 Emmanuel Briot <briot@adacore.com>
6697
6698 * prj-proc.adb, prj-attr.adb, prj-attr.ads (Get_Attribute_Index): do
6699 not systematically lower case attribute indexes that contain no "."
6700 Fix definition of several Naming attributes, which take
6701 a unit name as index and therefore should be case insensitive.
6702 Minor refactoring (reduce length of variable names).
6703
67042011-08-03 Emmanuel Briot <briot@adacore.com>
6705
6706 * makeutl.adb, makeutl.ads (Get_Switches): new subprogram.
6707
4437a530
EB
67082011-08-03 Emmanuel Briot <briot@adacore.com>
6709
6710 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
6711 prj-part.ads, switch-m.adb, switch-m.ads, prj-makr.adb, clean.adb,
6712 prj-pars.adb, prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
6713 prj-tree.ads (Prj.Tree.Environment): new type.
6714
804fe3c4
EB
67152011-08-03 Emmanuel Briot <briot@adacore.com>
6716
6717 * prj-proc.adb, prj.ads, makeutl.adb, makeutl.ads, prj-conf.adb,
6718 prj-tree.adb, prj-tree.ads (Environment): new type.
6719
c565bc66
AC
67202011-08-03 Emmanuel Briot <briot@adacore.com>
6721
6722 * prj-tree.ads: Remove unused variable.
6723
67242011-08-03 Yannick Moy <moy@adacore.com>
6725
6726 * restrict.adb (Restriction_Msg): set "SPARK" all in upper case for
6727 issuing messages related to SPARK restriction violation.
6728
4ee646da
AC
67292011-08-03 Ed Schonberg <schonberg@adacore.com>
6730
6731 * sem_ch6.adb: guard against error nodes in return statements.
6732
67332011-08-03 Arnaud Charlet <charlet@adacore.com>
6734
6735 * errout.adb (Error_Msg_Internal): the main unit has not been read yet,
6736 a warning can only appear on a configuration file, so emit warning
6737 without further checks.
6738
67392011-08-03 Arnaud Charlet <charlet@adacore.com>
6740
6741 * s-interr.ads: add overriding keyword.
6742
67432011-08-03 Geert Bosch <bosch@adacore.com>
6744
6745 * exp_attr.adb: Fix minor typo.
6746
67472011-08-03 Ed Schonberg <schonberg@adacore.com>
6748
6749 * par-ch4.adb: improve error recovery.
6750
c0e538ad
AC
67512011-08-03 Emmanuel Briot <briot@adacore.com>
6752
6753 * prj-part.adb, prj-part.ads, prj-makr.adb, prj-pars.adb, prj-conf.adb,
6754 prj-env.adb (Prj.Part.Parse): change parameter Always_Errout_Finalize
6755 to Errout_Handling.
6756
67572011-08-03 Emmanuel Briot <briot@adacore.com>
6758
6759 * prj-dect.adb (Parse_Attribute_Declaration): make sure we can use
6760 "external" as an attribute name in aggregate projects.
6761
67622011-08-03 Jose Ruiz <ruiz@adacore.com>
6763
6764 * s-taprop-vxworks.adb: (Create_Task, Initialize): Ada 2012 pragma CPU
6765 uses CPU numbers starting 1, while VxWorks uses CPU numbers starting
6766 from 0, so we need to adjust.
6767
67682011-08-03 Emmanuel Briot <briot@adacore.com>
6769
6770 * prj-proc.adb, prj-ext.adb, prj-ext.ads, makeutl.adb, prj-tree.adb,
6771 prj-tree.ads, gnatcmd.adb, clean.adb (External_References): new type.
6772
c4d67e2d
AC
67732011-08-03 Yannick Moy <moy@adacore.com>
6774
6775 * sem_ch6.adb (New_Overloaded_Entity): only issue error for SPARK
6776 restriction on overloaded entity if the entity is not an operator.
6777
67782011-08-03 Yannick Moy <moy@adacore.com>
6779
6780 * sem_ch7.adb, sem_res.adb, sem_attr.adb, restrict.adb,
6781 restrict.ads: Rename remaining Check_Formal_Restriction* into
6782 Check_SPARK_Restriction*.
6783
67842011-08-03 Emmanuel Briot <briot@adacore.com>
6785
6786 * prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb,
6787 prj-nmsc.ads, prj-err.adb (Project_Data): now discriminated on its
6788 qualifier.
6789 (Project_Empty): removed
6790 (Empty_Project): new parameter Qualifier
6791 This is used to have fields specific to aggregate projects, cleaner
6792 New field to store the list of aggregated projects.
6793 (Check_Aggregate_Project): removed
6794 (Process_Aggregated_Projects, Free): new subprograms.
6795
3f5a8fee
AC
67962011-08-03 Olivier Hainque <hainque@adacore.com>
6797
6798 * tracebak.c (STOP_FRAME ppc AIX): Stop at null return address as well.
6799
68002011-08-03 Ed Schonberg <schonberg@adacore.com>
6801
6802 * sem_ch8.adb (Analyze_Object_Renaming): if the renamed object is an
6803 explicit dereference of an unconstrained type, create a constrained
6804 subtype for it, as is done for function calls that return an
6805 unconstrained type.
6806
68072011-08-03 Thomas Quinot <quinot@adacore.com>
6808
6809 * g-pehage.adb (Finalize): Avoid possible double-free.
6810
68112011-08-03 Steve Baird <baird@adacore.com>
6812
6813 * exp_attr.adb (Expand_N_Attribute_Reference): Don't expand
6814 Elab_Spec/Body attrs in CodePeer_Mode.
6815
68162011-08-03 Javier Miranda <miranda@adacore.com>
6817
6818 * exp_aggr.adb (Flatten): Convert to positional form aggregates whose
6819 low bound is not known at compile time but they have no others choice.
6820 Done because in this case the bounds can be obtained directly from the
6821 aggregate.
6822
68232011-08-03 Ed Falis <falis@adacore.com>
6824
6825 * s-tasinf-vxworks.ads: Update comment to reflect 0 indexing of CPUs
6826 on VxWorks SMP. Remove unusable constant ANY_CPU.
6827
a96ca600
EB
68282011-08-03 Emmanuel Briot <briot@adacore.com>
6829
6830 * gnatcmd.adb, make.adb, prj-part.adb, prj-part.ads, prj-makr.adb,
6831 clean.adb, prj-nmsc.adb, prj-pars.adb, prj-conf.adb, prj-env.adb,
6832 prj-env.ads (Prj.Env.Initialize_Default_Project_Path,
6833 Prj.Env.Initialize_Empty): new subprograms
6834 (Get_Env, Find_Project): remove parameter Target_Name.
6835
3e582869
AC
68362011-08-03 Gary Dismukes <dismukes@adacore.com>
6837
6838 * sem_ch3.adb (Build_Derived_Record_Type): Test the Derive_Subps formal
6839 as a condition for the delayed call to Derived_Subprograms done for the
6840 case of the rewriting of a derived type that constrains the
6841 discriminants of its parent type.
6842 Avoids redundant subprogram derivations for private subtype derivations.
6843
68442011-08-03 Javier Miranda <miranda@adacore.com>
6845
6846 * exp_aggr.adb (Init_Hidden_Discriminants): New subprogram of
6847 Build_Record_Aggr_Code.
6848 (Build_Record_Aggr_Code): Add missing support to initialize hidden
6849 discriminants in extension aggregates.
6850
68512011-08-03 Emmanuel Briot <briot@adacore.com>
6852
6853 * prj-pp.adb (Print): also output project qualifiers, since in
6854 particular "aggregate" is mandatory in an aggregate project.
6855
68562011-08-03 Emmanuel Briot <briot@adacore.com>
6857
6858 * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb:
6859 (Debug_Output): new function.
6860
56e94186
AC
68612011-08-03 Eric Botcazou <ebotcazou@adacore.com>
6862
6863 * gnat_ugn.texi: Document -Wstack-usage.
6864 * gcc-interface/misc.c (enumerate_modes): Add guard for ghost FP modes.
6865
68662011-08-03 Thomas Quinot <quinot@adacore.com>
6867
6868 * sem_prag.adb Issue an error (not a warning) when a C++ type does not
6869 have keyword LIMITED.
6870
68712011-08-03 Yannick Moy <moy@adacore.com>
6872
6873 * alfa.adb, alfa.ads, alfa_test.adb: New files.
6874 * ali.adb (Known_ALI_Lines): add 'C' lines (SCO) and 'F' lines (ALFA)
6875 (Scan_ALI): do not issue a fatal error if parsing known lines after Xref
6876 section (does not happen in compiler, only if code directly calls
6877 Scan_ALI).
6878 * get_alfa.adb, get_alfa.ads: New files.
6879 * lib-writ.adb, lib-writ.ads (Write_ALI): output ALFA information if
6880 needed.
6881 * lib-xref-alfa.adb: New file.
6882 * lib-xref.adb, lib-xref.ads
6883 (Xref_Entry): redefine information needed in cross-references for ALFA.
6884 Push ALFA treatments in separated local package.
6885 (Enclosing_Subpragram_Or_Package): treat specially subprogram
6886 identifiers. Return entity of package body instead of spec. Return
6887 Empty for a scope with no location.
6888 (Generate_Reference): adapt to new components for ALFA information.
6889 Remove the need for D references on definitions.
6890 (Is_Local_Reference): moved to ALFA local package
6891 (Output_References): extract subfunction as Extract_Source_Name
6892 (Output_Local_References): remove procedure, replaced by filtering of
6893 cross-references in package ALFA and printing in Put_ALFA.
6894 (Write_Entity_Name): remove procedure
6895 * lib.adb, lib.ads (Extract_Source_Name): extract here function to
6896 print exact name of entity as it appears in source file
6897 (Unit_Ref_Table): make type public for use in Lib.Xref.ALFA
6898 * put_alfa.adb, put_alfa.ads: New files.
6899 * xref_lib.adb (Search_Xref): protect read of cross-references against
6900 reading other sections of the ALI file, in gnatxref
6901 (Search): protect read of cross-references against reading other
6902 sections of the ALI file, in gnatfind.
6903 * gcc-interface/Make-lang.in: Update dependencies.
6904
69052011-08-03 Thomas Quinot <quinot@adacore.com>
6906
6907 * sem_ch3.adb: Minor reformatting.
6908
69092011-08-03 Jose Ruiz <ruiz@adacore.com>
6910
6911 * s-inmaop-vxworks.adb (Setup_Interrupt_Mask): Do nothing instead of
6912 raising an exception.
6913
69142011-08-03 Ed Schonberg <schonberg@adacore.com>
6915
6916 * sem_res.adb (Set_String_Literal_Subtype): if index type is an integer
6917 type, always use 1 as the lower bound or string, even if lower bound of
6918 context is not static, to handle properly null strings in a non-static
6919 context.
6920
69212011-08-03 Bob Duff <duff@adacore.com>
6922
6923 * sem_prag.adb (Resolve_Aggregate): An array aggregate with 'others' is
6924 always legal on the right-hand side of an assignment statement; there
6925 is always an applicable index constraint in this case. Therefore, the
6926 check for Pkind = N_Assignment_Statement is now unconditional -- it
6927 doesn't depend on whether Is_Constrained (Typ).
6928
4317e442
AC
69292011-08-03 Robert Dewar <dewar@adacore.com>
6930
6931 * exp_ch5.adb, sem_prag.adb, exp_ch4.adb: Minor reformatting.
6932
69332011-08-03 Ed Schonberg <schonberg@adacore.com>
6934
6935 * sem_ch3.adb (Build_Itype_Reference): do not create an itype reference
6936 for an itype created within a generic unit.
6937
69382011-08-03 Eric Botcazou <ebotcazou@adacore.com>
6939
6940 * gnat_ugn.texi (Switches for gcc): Make it clearer that -fno-inline
6941 suppresses all inlining.
6942
53f29d4f
AC
69432011-08-03 Robert Dewar <dewar@adacore.com>
6944
6945 * sem_ch3.adb, sem_res.adb, exp_ch13.adb, exp_disp.adb,
6946 exp_aggr.adb: Minor reformatting.
6947
69482011-08-03 Thomas Quinot <quinot@adacore.com>
6949
6950 * exp_ch5.adb (Expand_N_Assignment_Statement): Do not force inlining of
6951 tagged assignment when discriminant checks are suppressed. This is
6952 useless and extremely costly in terms of static stack usage.
6953
69542011-08-03 Bob Duff <duff@adacore.com>
6955
6956 * sem_prag.adb (Get_Base_Subprogram): Do not follow Alias for instances
6957 of generics, because this leads to the wrong entity in the wrong scope,
6958 causing (e.g.) pragma Export_Procedure to get an error if the entity is
6959 an instance.
6960 (Process_Interface_Name): Follow Alias for instances of generics, to
6961 correct for the above change.
6962
69632011-08-03 Ed Schonberg <schonberg@adacore.com>
6964
6965 * exp_ch4.adb (Expand_N_Selected_Component): If the discriminant value
6966 is an integer literal it is always safe to replace the reference. In
6967 addition, if the reference appears in the generated code for an object
6968 declaration it is necessary to copy because otherwise the reference
6969 might be to the uninitilized value of the discriminant of the object
6970 itself.
6971
69722011-08-03 Pascal Obry <obry@adacore.com>
6973
6974 * adaint.c (__gnat_is_executable_file_attr): Fix Win32 circuitry when no
6975 ACL used, in this case we want to check for ending .exe, not .exe
6976 anywhere in the path.
6977
69782011-08-03 Sergey Rybin <rybin@adacore.com>
6979
6980 * tree_io.ads (ASIS_Version_Number): Update because of the changes in
6981 the tree structure (semantic decoration of references to record
6982 discriminants).
6983
c0b11850
AC
69842011-08-03 Gary Dismukes <dismukes@adacore.com>
6985
6986 * sem_aggr.adb (Analyze_Array_Aggregate): When checking the discrete
6987 choices of a named array aggregate, bail out when any choices are
6988 marked as Errors_Posted.
6989
69902011-08-03 Ed Schonberg <schonberg@adacore.com>
6991
6992 * exp_ch13.adb (Expand_N_Freeze_Entity): cleanup determination of scope
6993 in which entity is frozen, to handle properly loop variables in
6994 iterators.
6995
69962011-08-03 Ed Schonberg <schonberg@adacore.com>
6997
6998 * sem_res.adb (Set_String_Literal_Subtype): if the lower bound of the
6999 subtype is not static, compute the upper bound using attributes, to
7000 handle properly index types that are not integer types.
7001
70022011-08-03 Bob Duff <duff@adacore.com>
7003
7004 * gnat_rm.texi, gnat_ugn.texi: Fix some dangling URLs.
7005 Update copyright notice.
7006
70072011-08-03 Ed Schonberg <schonberg@adacore.com>
7008
7009 * sem_ch3.adb (Build_Discriminant_Constraints): Only use
7010 Original_Discriminant if within an instance.
7011 * sem_ch4.adb (Analyze_Selected_Component): Ditto.
7012
70132011-08-03 Thomas Quinot <quinot@adacore.com>
7014
7015 * einfo.ads: Minor reformatting.
7016
70172011-08-03 Ed Schonberg <schonberg@adacore.com>
7018
7019 * exp_disp.adb (Check_Premature_Freezing): diagnose the presence of a
7020 composite type with an unfrozen subcomponent, in the profile of a
7021 primitive operation.
7022
5c34e9cd
AC
70232011-08-03 Robert Dewar <dewar@adacore.com>
7024
7025 * sem_util.ads, exp_aggr.adb, exp_ch3.adb: Minor reformatting.
7026
70272011-08-03 Ed Schonberg <schonberg@adacore.com>
7028
7029 * sem_ch3.adb (Analyze_Object_Declaration): if a constant object of an
7030 unconstrained type with discriminants is initialized with an aggregate,
7031 use the constrained subtype of the aggregate as the type of the object,
7032 because it is immutable, and this allows the back-end to generate no
7033 code for the object declaration.
7034
abcd9db2
AC
70352011-08-03 Robert Dewar <dewar@adacore.com>
7036
7037 * exp_ch4.adb (Optimize_Length_Check): Fix bad handling of case where
7038 comparison operand is variable, and turns out to be zero or negative.
7039
70402011-08-03 Javier Miranda <miranda@adacore.com>
7041
7042 * exp_intr.adb
7043 (Expand_Dispatching_Constructor_Call): Disable expansion of
7044 code required for native targets. Done to avoid generating
7045 references to unavailable runtime entities in VM targets.
7046 * exp_ch3.adb
7047 (Expand_N_Object_Declaration): Add missing support to handle
7048 the explicit initialization of class-wide interface objects.
7049 Fix documentation.
7050
70512011-08-03 Matthew Heaney <heaney@adacore.com>
7052
7053 * a-cobove.adb (Merge): Move source onto target, instead of using Assign
7054
70552011-08-03 Matthew Heaney <heaney@adacore.com>
7056
7057 * a-cbdlli.adb (Splice): move source items from first to last
7058
70592011-08-03 Yannick Moy <moy@adacore.com>
7060
7061 * sem_util.ads: comment added.
7062
70632011-08-03 Javier Miranda <miranda@adacore.com>
7064
7065 * exp_aggr.adb
7066 (Expand_Record_Aggregate): In VM targets disable the expansion into
7067 assignments of aggregates whose type is not known at compile time.
7068
b474d6c3
ES
70692011-08-03 Ed Schonberg <schonberg@adacore.com>
7070
7071 * exp_ch9.adb (Build_Renamed_Formal_Declaration): common procedure for
7072 protected entries and task entries, to build the proper renaming
7073 declaration for entry formals, used in debugging.
7074 * exp_ch2.adb (Expand_Entry_Parameter): handle task and entry
7075 parameters in the same way.
7076
0580d807
AC
70772011-08-02 Robert Dewar <dewar@adacore.com>
7078
7079 * a-direct.adb, sinfo.ads, exp_ch9.adb, scng.adb, sem_util.adb,
7080 sem_util.ads, restrict.ads, par-prag.adb: Minor reformatting and/or
7081 code reorganization.
7082
70832011-08-02 Robert Dewar <dewar@adacore.com>
7084
7085 * debug.adb: Debug flag d.P to suppress length comparison optimization
7086 * exp_ch4.adb (Optimize_Length_Comparison): New routine to optimize
7087 comparison of Length by comparing First/Last instead.
7088
70892011-08-02 Matthew Heaney <heaney@adacore.com>
7090
7091 * a-cobove.ads: Code clean up.
7092
b191a125
AC
70932011-08-02 Vincent Celier <celier@adacore.com>
7094
7095 * adaint.c (file_names_case_sensitive_cache): New static int.
7096 (__gnat_get_file_names_case_sensitive): Cache the return value in
7097 file_names_case_sensitive_cache at the first invocation, to avoid
7098 multiple calls to getenv.
7099
71002011-08-02 Bob Duff <duff@adacore.com>
7101
7102 * sem_ch12.adb (Validate_Derived_Type_Instance): Implement AI05-0218-1.
7103
316a0661
AC
71042011-08-02 Yannick Moy <moy@adacore.com>
7105
7106 * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_prag.adb, sem.ads,
7107 sem_util.adb, sem_util.ads, sem_res.adb, sem_ch2.adb, sem_ch4.adb,
7108 sem_ch6.adb, sem_ch11.adb: Add semantic flag In_Pre_Post_Expression to
7109 indicate that we are in a precondition or postcondition. This is used in
7110 Mark_Non_ALFA_Subprogram (renaming of Mark_Non_ALFA_Subprogram_Body) to
7111 decide whether to flag the spec or body of the current subprogram as
7112 not in ALFA.
7113
71142011-08-02 Fabien Chouteau <chouteau@adacore.com>
7115
7116 * impunit.adb: Add Ada.Execution_Time.Interrupts in the Ada2012 package
7117 list.
7118 * a-extiin.ads: New file.
7119
71202011-08-02 Bob Duff <duff@adacore.com>
7121
7122 * a-direct.adb (Rename): Implement AI05-0231-1. In particular, Rename
7123 now raises Name_Error instead of Use_Error in certain cases. The other
7124 parts of this AI were already implemented properly.
7125
f9adb9d4
AC
71262011-08-02 Vincent Celier <celier@adacore.com>
7127
7128 * link.c: Only import "auto-host.h" when building the gnattools.
7129
71302011-08-02 Yannick Moy <moy@adacore.com>
7131
7132 * sem_util.adb: Inter-unit inlining does not work for a subprogram
7133 which calls a local subprogram, so extract subprogram
7134 from Mark_Non_ALFA_Subprogram_Body.
7135
71362011-08-02 Javier Miranda <miranda@adacore.com>
7137
7138 * exp_ch9.adb
7139 (Extract_Dispatching_Call): If the type of the dispatching object is an
7140 access type then return an explicit dereference in the Object out-mode
7141 parameter.
7142
71432011-08-02 Gary Dismukes <dismukes@adacore.com>
7144
7145 * sem_ch3.adb (Analyze_Subtype_Declaration): Generate range
7146 compatibility checks for all indexes of an array subtype, not just the
7147 first. Reset Has_Dynamic_Range_Check on the subtype before each
7148 potential check to ensure that Insert_Range_Checks will not elide any
7149 of the dynamic checks.
7150
71512011-08-02 Yannick Moy <moy@adacore.com>
7152
7153 * par-prag.ad (Process_Restrictions_Or_Restriction_Warnings): recognize
7154 SPARK restriction at parsing time.
7155 * scng.adb (Scan): Generate a token Tok_SPARK_Hide for a SPARK HIDE
7156 directive only if the SPARK restriction is set for this unit.
7157
83f33150
YM
71582011-08-02 Yannick Moy <moy@adacore.com>
7159
7160 * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb, sem_util.ads,
7161 sem_res.adb, sem_ch2.adb, sem_ch4.adb, sem_ch6.adb,
7162 sem_ch11.adb: Protect call to Current_Subprogram which might be costly
7163 when repeated. Rename Current_Subprogram_Is_Not_In_ALFA into
7164 Mark_Non_ALFA_Subprogram_Body.
7165 Split body of Mark_Non_ALFA_Subprogram_Body to get body small and
7166 inlined.
7167
7b98672f
YM
71682011-08-02 Yannick Moy <moy@adacore.com>
7169
7170 * sem_res.adb: Protect calls to Matching_Static_Array_Bounds which
7171 might be costly.
7172
052e0603
AC
71732011-08-02 Robert Dewar <dewar@adacore.com>
7174
7175 * exp_ch9.adb, exp_sel.adb, restrict.ads, exp_disp.adb, erroutc.ads,
7176 exp_ch3.adb: Minor reformatting.
7177
71782011-08-02 Emmanuel Briot <briot@adacore.com>
7179
7180 * adaint.c (__gnat_locate_exec_on_path): only returns executable
7181 files, not any regular file.
7182 (__gnat_locate_file_with_predicate): new subprogram.
7183
71842011-08-02 Yannick Moy <moy@adacore.com>
7185
7186 * sinfo.adb, sinfo.ads: Restrict the use of flags
7187 Has_Dynamic_Length_Check and Has_Dynamic_Range_Check to expression
7188 nodes, plus N_Subtype_Declaration for the 2nd one.
7189
4fbad0ba
AC
71902011-08-02 Sergey Rybin <rybin@adacore.com>
7191
7192 * gnat_rm.texi: Ramification of pragma Eliminate documentation
7193 - fix bugs in the description of Source_Trace;
7194 - get rid of UNIT_NAME;
7195
052e0603
AC
71962011-08-02 Javier Miranda <miranda@adacore.com>
7197
7198 * exp_ch9.adb
7199 (Build_Dispatching_Requeue): Adding support for VM targets
7200 since we cannot directly reference the Tag entity.
7201 * exp_sel.adb (Build_K): Adding support for VM targets.
7202 (Build_S_Assignment): Adding support for VM targets.
7203 * exp_disp.adb
7204 (Default_Prim_Op_Position): In VM targets do not restrict availability
7205 of predefined interface primitives to compiling in Ada 2005 mode.
7206 (Is_Predefined_Interface_Primitive): In VM targets this service is not
7207 restricted to compiling in Ada 2005 mode.
7208 (Make_VM_TSD): Generate code that declares and initializes the OSD
7209 record. Needed to support dispatching calls through synchronized
7210 interfaces.
7211 * exp_ch3.adb
7212 (Make_Predefined_Primitive_Specs): Enable generation of predefined
7213 primitives associated with synchronized interfaces.
7214 (Make_Predefined_Primitive_Bodies): Enable generation of predefined
7215 primitives associated with synchronized interfaces.
7216
72172011-08-02 Yannick Moy <moy@adacore.com>
7218
7219 * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
7220 statements hidden in SPARK if preceded by the HIDE directive
7221 (Parse_Exception_Handlers): mark each exception handler in a sequence of
7222 exception handlers as hidden in SPARK if preceded by the HIDE directive
7223 * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
7224 if starting with the HIDE directive
7225 * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
7226 starting with the HIDE directive; mark the declarations in a private
7227 part as hidden in SPARK if the private part starts with the HIDE
7228 directive
7229 * restrict.adb, restrict.ads
7230 (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
7231 (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
7232 argument node belongs to a part which is hidden in SPARK
7233 (Check_SPARK_Restriction): do not issue violations on nodes in hidden
7234 parts in SPARK; protect the possibly costly call to
7235 Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
7236 * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
7237 * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
7238 Accumulate_Token_Checksum_GNAT_5_03): add case for new token
7239 Tok_SPARK_Hide.
7240 (Scan): recognize special comment starting with '#' and followed by
7241 SPARK keyword "hide" as a HIDE directive.
7242
72432011-08-02 Yannick Moy <moy@adacore.com>
7244
7245 * types.ads, erroutc.ads: Minor reformatting.
7246
72472011-08-02 Vincent Celier <celier@adacore.com>
7248
7249 * link.c: Add response file support for cross platforms.
7250
72512011-08-02 Ed Schonberg <schonberg@adacore.com>
7252
7253 * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
7254 in an association, set parent field of copy before partial analysis.
7255 * sem_res.adb (Resolve_Slice): create reference to itype only when
7256 expansion is enabled.
7257
72582011-08-02 Yannick Moy <moy@adacore.com>
7259
7260 * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
7261 for new flag denoting which subprogram bodies are in ALFA
7262 * restrict.adb, sem_ch7.adb: Update comment
7263 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
7264 sem_ch9.adb, sem_res.adb: Add calls to
7265 Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
7266 * sem_ch6.adb (Analyze_Function_Return): add calls to
7267 Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
7268 middle of the body, and extended return.
7269 (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
7270 False when missing return.
7271 (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
7272 to True for subprograms whose spec is in ALFA. Remove later on the flag
7273 on the entity used for a subprogram body when there exists a separate
7274 declaration.
7275 * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
7276 if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
7277 False, otherwise do nothing.
7278
72792011-08-02 Robert Dewar <dewar@adacore.com>
7280
7281 * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
7282
72832011-08-02 Yannick Moy <moy@adacore.com>
7284
7285 * sem_ch4.ads: minor formatting.
7286
72872011-08-02 Yannick Moy <moy@adacore.com>
7288
7289 * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
7290 debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
7291 errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
7292 restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
7293 opt.ads: cleanup of SPARK mode
7294
72952011-08-02 Yannick Moy <moy@adacore.com>
7296
7297 * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
7298 types.
7299 * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
7300 (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
7301 * sem_ch3.adb
7302 (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
7303 (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
7304 (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
7305 (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
7306 types.
7307 (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
7308 non-static range.
7309 * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
7310 functions whose return type is not in ALFA.
7311 (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
7312 specifications.
7313 (Process_Formals): unset Is_In_ALFA flag for subprograms if a
7314 parameter's type is not in ALFA.
7315 * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
7316 types are in ALFA.
7317
73182011-08-02 Ed Schonberg <schonberg@adacore.com>
7319
7320 * sem_ch6 (Analyze_Expression_Function): treat the function as
7321 Inline_Always, and introduce a subprogram declaration for it when it is
7322 not a completion.
7323 * inline.adb (Add_Inlined_Body): recognize bodies that come from
7324 expression functions, so that the back-end can determine whether they
7325 can in fact be inlined.
7326 * sem_util.adb (Is_Expression_Function): predicate to determine whether
7327 a function body comes from an expression function.
7328
73292011-08-02 Gary Dismukes <dismukes@adacore.com>
7330
7331 * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
7332 null exclusions to test Can_Never_Be_Null on the anonymous access types
7333 of the formals rather than testing the formals themselves. Exclude this
7334 check in cases where the Old_Formal is marked as a controlling formal,
7335 to avoid issuing spurious errors for bodies completing dispatching
7336 operations (due to the flag not getting set on controlling access
7337 formals in body specs).
7338 (Find_Corresponding_Spec): When checking full and subtype conformance of
7339 subprogram bodies in instances, pass Designated and E in that order, for
7340 consistency with the expected order of the formals (New_Id followed by
7341 Old_Id).
7342
73432011-08-02 Robert Dewar <dewar@adacore.com>
7344
7345 * sem_ch8.adb: Minor reformatting.
7346
73472011-08-02 Ed Schonberg <schonberg@adacore.com>
7348
7349 * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
7350 Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
7351 primitive operations of class-wide actuals.
7352
73532011-08-02 Javier Miranda <miranda@adacore.com>
7354
7355 * exp_atag.ads, exp_atag.adb
7356 (Build_Common_Dispatching_Select_Statements): Remove argument Loc
7357 since its value is implicitly passed in argument Typ.
7358 * exp_disp.adb (Make_Disp_Conditional_Select_Body,
7359 Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
7360 Build_Common_Dispatching_Select_Statements.
7361
73622011-08-02 Robert Dewar <dewar@adacore.com>
7363
7364 * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
7365 exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
7366 Minor reformatting.
7367
73682011-08-02 Robert Dewar <dewar@adacore.com>
7369
7370 * sem_res.adb: Minor reformatting.
7371 * sem_prag.adb: Minor reformatting.
7372
73732011-08-02 Javier Miranda <miranda@adacore.com>
7374
7375 * exp_atag.adb, exp_atags.ads
7376 (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
7377 by the tagged type Entity. Required to use this routine in the VM
7378 targets since we do not have available the Tag entity in the VM
7379 platforms.
7380 * exp_ch6.adb
7381 (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
7382 Ada.Tags has not been previously loaded.
7383 * exp_ch7.adb
7384 (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
7385 Build_VM_TSDs if package Ada.Tags has not been previously loaded.
7386 * sem_aux.adb
7387 (Enclosing_Dynamic_Scope): Add missing support to handle the full
7388 view of enclosing scopes. Required to handle enclosing scopes that
7389 are synchronized types whose full view is a task type.
7390 * exp_disp.adb
7391 (Build_VM_TSDs): Minor code improvement to avoid generating and
7392 analyzing lists with empty nodes.
7393 (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
7394 (Make_Disp_Conditional_Select_Body): Add support for VM targets.
7395 (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
7396 (Make_Disp_Timed_Select_Body): Add support for VM targets.
7397 (Make_Select_Specific_Data_Table): Add support for VM targets.
7398 (Make_VM_TSD): Generate code to initialize the SSD structure of
7399 the TSD.
7400
74012011-08-02 Yannick Moy <moy@adacore.com>
7402
7403 * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
7404 cross-references section in ALI.
7405 * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
7406 (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
7407 Sub).
7408 (Enclosing_Subprogram_Or_Package): new function to return the enclosing
7409 subprogram or package entity of a node
7410 (Is_Local_Reference_Type): new function returns True for references
7411 selected in local cross-references.
7412 (Lt): function extracted from Lt in Output_References
7413 (Write_Entity_Name): function extracted from Output_References
7414 (Generate_Definition): generate reference with type 'D' for definition
7415 of objects (object declaration and parameter specification), with
7416 appropriate locations and units, for use in local cross-references.
7417 (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
7418 references of type 'I' for initialization in object definition.
7419 (Output_References): move part of function Lt and procedure
7420 Write_Entity_Name outside of the body. Ignore references of types 'D'
7421 and 'I' introduced for local cross-references.
7422 (Output_Local_References): new procedure to output the local
7423 cross-references sections.
7424 (Lref_Entity_Status): new array defining whether an entity is a local
7425 * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
7426 with 'I' type when initialization expression is present.
7427 * get_scos.adb, get_scos.ads: Correct comments and typos
7428
74292011-08-02 Javier Miranda <miranda@adacore.com>
7430
7431 * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
7432 the JVM target.
7433 * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
7434 the JVM target.
7435 * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
7436 TSD support.
7437
74382011-08-02 Vincent Celier <celier@adacore.com>
7439
7440 * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
7441 (No_Space_Img): New function
7442 (Find_Excluded_Sources): When reading from a file, record the file name
7443 and the line number for each excluded source.
7444 (Mark_Excluded_Sources): When reporting an error, if the excluded
7445 sources were read from a file, include file name and line number in
7446 the error message.
7447
74482011-08-02 Ed Schonberg <schonberg@adacore.com>
7449
7450 * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
7451
74522011-08-02 Robert Dewar <dewar@adacore.com>
7453
7454 * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
7455
74562011-08-02 Javier Miranda <miranda@adacore.com>
7457
7458 * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
7459 generation of TSDs to the DOTNET compiler.
7460 * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
7461 generation of TSDs to the DOTNET compiler.
7462
74632011-08-02 Javier Miranda <miranda@adacore.com>
7464
7465 * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
7466 record of all the tagged types declared inside library level package
7467 declarations, library level package bodies or library level subprograms.
7468 * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
7469 associated with a given tagged type.
7470 (Build_VM_TSDs): New subprogram.
7471 * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
7472 compilation units that are subprograms.
7473 * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
7474 compilation units that are package bodies.
7475 (Expand_N_Package_Declaration): Generate TSDs of the main compilation
7476 units that are a package declaration or a package instantiation.
7477 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
7478 reorganization to improve the error generated by the frontend when the
7479 function Ada.Tags.Secondary_Tag is not available.
7480 * rtsfind.ads (RE_Register_TSD): New runtime entity.
7481 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
7482
74832011-08-02 Javier Miranda <miranda@adacore.com>
7484
7485 * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
7486
74872011-08-02 Robert Dewar <dewar@adacore.com>
7488
7489 * s-imenne.ads: Minor reformatting.
7490
74912011-08-02 Robert Dewar <dewar@adacore.com>
7492
7493 * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
7494 * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
7495 * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
7496
74972011-08-02 Robert Dewar <dewar@adacore.com>
7498
7499 * einfo.ads (Materialize_Entity): Document this is only for renamings
7500 * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
7501 required debug information in the case where we transform the object
7502 declaration into a renaming declaration.
7503 * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
7504 object
7505 * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
7506 Materialize_Entity.
7507
75082011-08-02 Robert Dewar <dewar@adacore.com>
7509
7510 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
7511 Suppress_Init_Procs.
7512 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
7513 Suppress_Initialization/Initialization_Suppressed.
7514 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
7515 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
7516 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
7517 * sem_prag.adb: New processing for pragma Suppress_Initialization.
7518
75192011-08-02 Robert Dewar <dewar@adacore.com>
7520
7521 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
7522 Minor reformatting.
7523
75242011-08-02 Ed Schonberg <schonberg@adacore.com>
7525
7526 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
7527 only have inheritable classwide pre/postconditions.
7528
75292011-08-02 Javier Miranda <miranda@adacore.com>
7530
7531 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
7532 * rtsfind.ads (RE_Check_TSD): New runtime entity.
7533 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
7534 checks if the external tag of a type is the same as the external tag
7535 of some other declaration.
7536
75372011-08-02 Thomas Quinot <quinot@adacore.com>
7538
7539 * s-taskin.ads: Minor reformatting.
7540
75412011-08-02 Emmanuel Briot <briot@adacore.com>
7542
7543 * g-comlin.adb (Display_Help): swap the order in which it prints the
7544 short help and the general usage.
7545
75462011-08-02 Ed Schonberg <schonberg@adacore.com>
7547
7548 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
7549 the aspect declarations and attach them to the generic copy for
7550 subsequent analysis.
7551 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
7552 declarations of the generic tree to the new subprogram declarations.
7553 * sem_attr.adb (Check_Precondition_Postcondition): recognize
7554 conditions that apply to a subprogram instance.
7555
75562011-08-02 Robert Dewar <dewar@adacore.com>
7557
7558 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
7559
75602011-08-02 Ed Schonberg <schonberg@adacore.com>
7561
7562 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
7563 private type with a tagged full view is not derived in the immediate
7564 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
7565
75662011-08-02 Robert Dewar <dewar@adacore.com>
7567
7568 * exp_ch4.adb: Minor reformatting.
7569
75702011-08-02 Ed Schonberg <schonberg@adacore.com>
7571
7572 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
7573 Ada2012 iterator, the loop will be rewritten during expansion into a
7574 while loop with a cursor and an element declaration. Do not analyze the
7575 body in this case, because if the container is for indefinite types the
7576 actual subtype of the elements will only be determined when the cursor
7577 declaration is analyzed.
7578
75792011-08-02 Arnaud Charlet <charlet@adacore.com>
7580
7581 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
7582 size/alignment related attributes in CodePeer_Mode.
7583
75842011-08-02 Gary Dismukes <dismukes@adacore.com>
7585
7586 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
7587 Prepend_Element, since this can result in the operation getting the
7588 wrong slot in the full type's dispatch table if the full type has
7589 inherited operations. The incomplete type's operation will get added
7590 to the proper position in the full type's primitives
7591 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
7592 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
7593 dispatching operations, since there are cases where nonprimitive
7594 subprograms can get added to the list of incomplete dependents (such
7595 as subprograms in nested packages).
7596 * sem_ch6.adb (Process_Formals): First, remove test for being in a
7597 private part when determining whether to add a primitive with a
7598 parameter of a tagged incomplete type to the Private_Dependents list.
7599 Such primitives can also occur in the visible part, and should not have
7600 been excluded from being private dependents.
7601 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
7602 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
7603 list of a Taft-amendment incomplete type is a primitive before issuing
7604 an error that the full type must appear in the same unit. There are
7605 cases where nonprimitives can be in the list (such as subprograms in
7606 nested packages).
7607 * sem_disp.adb (Derives_From): Use correct condition for checking that
7608 a formal's type is derived from the type of the corresponding formal in
7609 the parent subprogram (the condition was completely wrong). Add
7610 checking that was missing for controlling result types being derived
7611 from the result type of the parent operation.
7612
76132011-08-02 Yannick Moy <moy@adacore.com>
7614
7615 * errout.adb (First_Node): minor renaming
7616 * restrict.adb (Check_Formal_Restriction): put restriction warning on
7617 first node.
7618
76192011-08-02 Yannick Moy <moy@adacore.com>
7620
7621 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
7622 before accessing operands.
7623 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
7624 decide whether an initialization expression respects SPARK rules, as
7625 the plain node is the expanded one. This allows for more valid warnings
7626 to be issued.
7627 * gnat_rm.texi: Minor update.
7628
76292011-08-02 Arnaud Charlet <charlet@adacore.com>
7630
7631 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
7632 previous change.
7633
76342011-08-02 Robert Dewar <dewar@adacore.com>
7635
7636 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
7637
76382011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
7639
7640 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
7641 loop statements and the element renaming declaration with a block when
7642 the element type is controlled.
7643
76442011-08-02 Yannick Moy <moy@adacore.com>
7645
7646 * sinfo.ads: Minor formatting.
7647
76482011-08-02 Ed Schonberg <schonberg@adacore.com>
7649
7650 * sem_aggr.adb (Add_Association): if the association has a box and no
7651 expression, use the Sloc of the aggregate itself for the new
7652 association.
7653 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
7654 the Original_Node.
7655
76562011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
7657
7658 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
7659 When a container is provided via a function call, generate a renaming
7660 of the function result. This avoids the creation of a transient scope
7661 and the premature finalization of the container.
7662 * exp_ch7.adb (Is_Container_Cursor): Removed.
7663 (Wrap_Transient_Declaration): Remove the supression of the finalization
7664 of the list controller when the declaration denotes a container cursor,
7665 it is not needed.
7666
76672011-08-02 Yannick Moy <moy@adacore.com>
7668
7669 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
7670 node is from source, instead of the original node being from source.
7671 * sem_aggr.adb
7672 (Resolve_Array_Aggregate): refine the check for a static expression, to
7673 recognize also static ranges
7674 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
7675 Array_Type_Declaration): postpone the test for the type being a subtype
7676 mark after the type has been resolved, so that component-selection and
7677 expanded-name are discriminated.
7678 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
7679 to distinguish the case of an iteration scheme, so that an error is
7680 issed on a non-static range in SPARK except in an iteration scheme.
7681 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
7682 In_Iter_Schm = True.
7683 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
7684 user-defined operators so that they are allowed in renaming
7685 * sem_ch8.adb
7686 (Find_Selected_Component): refine the check for prefixing of operators
7687 so that they are allowed in renaming. Move the checks for restrictions
7688 on selector name after analysis discriminated between
7689 component-selection and expanded-name.
7690 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
7691 concatenation argument of string type if it is static.
7692 * sem_util.adb, sem_util.ads
7693 (Check_Later_Vs_Basic_Declarations): add a new function
7694 Is_Later_Declarative_Item to decice which declarations are allowed as
7695 later items, in the two different modes Ada 83 and SPARK. In the SPARK
7696 mode, add that renamings are considered as later items.
7697 (Enclosing_Package): new function to return the enclosing package
7698 (Enter_Name): correct the rule for homonyms in SPARK
7699 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
7700 from source (result of expansion) to avoid issuing wrong warnings.
7701
77022011-08-02 Ed Schonberg <schonberg@adacore.com>
7703
7704 * errout.adb: On anything but an expression First_Node returns its
7705 argument.
7706
77072011-08-02 Pascal Obry <obry@adacore.com>
7708
7709 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
7710
77112011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
7712
7713 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
7714 Set the associated loop as the related expression of internally
7715 generated cursors.
7716 * exp_ch7.adb (Is_Container_Cursor): New routine.
7717 (Wrap_Transient_Declaration): Supress the finalization of the list
7718 controller when the declaration denotes a container cursor.
7719
77202011-08-02 Yannick Moy <moy@adacore.com>
7721
7722 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
7723 command line now.
7724 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
7725 expression is a simple expression. This check cannot be performed in
7726 the semantics, so just drop it.
7727 (P_Index_Or_Discriminant_Constraint): move check that the index or
7728 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
7729 semantics. Other cases were previously checked in the semantics.
7730 * par-ch4.adb (P_Name): move checks that a selector name is not
7731 character literal or an operator symbol to Find_Selected_Component in
7732 the semantics
7733 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
7734 declarations are not placed after later declarations in a separate
7735 procedure in Sem_Util (possibly not the best choice?), to be used both
7736 during parsing, for Ada 83 mode, and during semantic analysis, for
7737 SPARK mode.
7738 * par-endh.adb (Check_End): move check that end label is not missing
7739 to Process_End_Label in the semantics
7740 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
7741 the special case for SPARK restriction
7742 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
7743 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
7744 parameter Force to issue the error message even on internal node (used
7745 for generated end label). Call Check_Restriction to check when an error
7746 must be issued. In SPARK mode, issue an error message even if the
7747 restriction is not set.
7748 (Check_Restriction): new procedure with an additional out parameter to
7749 inform the caller that a message has been issued
7750 * sem_aggr.adb: Minor modification of message
7751 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
7752 instead of issuing an error message directly
7753 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
7754 declarations are not placed after later declarations, by calling
7755 Check_Later_Vs_Basic_Declarations
7756 (Analyze_Subtype_Declaration): move here the check that an index or
7757 discriminant constraint must be a subtype mark. Change the check that
7758 a subtype of String must start at one so that it works on subtype marks.
7759 * sem_ch4.adb (Analyze_Call): move here the check that a named
7760 association cannot follow a positional one in a call
7761 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
7762 instead of issuing an error message directly
7763 * sem_ch8.adb (Find_Selected_Component): move here the check that a
7764 selector name is not a character literal or an operator symbol. Move
7765 here the check that the prefix of an expanded name cannot be a
7766 subprogram or a loop statement.
7767 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
7768 procedure called from parsing and semantics to check that basic
7769 declarations are not placed after later declarations
7770 (Process_End_Label): move here the check that end label is not missing
7771
77722011-08-02 Arnaud Charlet <charlet@adacore.com>
7773
7774 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
7775 representation clause in codepeer mode, since it confuses CodePeer and
7776 does not bring useful info.
7777
77782011-08-02 Ed Falis <falis@adacore.com>
7779
7780 * init.c: initialize fp hw on MILS.
7781
77822011-08-02 Ed Schonberg <schonberg@adacore.com>
7783
7784 * errout.adb (First_Node): for bodies, return the node itself (small
7785 optimization). For other nodes, do not check source_unit if the node
7786 comes from Standard.
7787
77882011-08-02 Robert Dewar <dewar@adacore.com>
7789
7790 * exp_ch3.adb: Minor comment additions.
7791 * sem_ch13.adb: Minor reformatting.
7792
77932011-08-02 Pascal Obry <obry@adacore.com>
7794
7795 * make.adb, makeutl.adb: Removes some superfluous directory separator.
7796
77972011-08-02 Robert Dewar <dewar@adacore.com>
7798
7799 * sem_attr.adb: Minor reformatting.
7800
78012011-08-02 Robert Dewar <dewar@adacore.com>
7802
7803 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
7804 (Has_Default_Component_Value): Removed
7805 * einfo.ads Comment updates
7806 (Has_Default_Aspect): Replaces Has_Default_Value
7807 (Has_Default_Component_Value): Removed
7808 * exp_ch13.adb
7809 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
7810 * exp_ch3.adb
7811 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
7812 (Get_Simple_Init_Val): Handle Default_Value aspect
7813 (Needs_Simple_Initialization): Handle Default_Value aspect
7814 * exp_ch3.ads: Needs_Simple_Initialization
7815 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
7816 * par-prag.adb (Pragma_Default[_Component]Value) Removed
7817 * sem_ch13.adb
7818 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
7819 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
7820 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
7821
78222011-08-02 Ed Schonberg <schonberg@adacore.com>
7823
7824 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
7825 package containing iteration primitives.
7826 exp_ch5.adb (Expand_Iterator_Loop): ditto.
7827
78282011-08-02 Ed Schonberg <schonberg@adacore.com>
7829
7830 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
7831 "of", pre-analyze expression in case it is a function call with
7832 finalization actions that must be placed ahead of the loop.
7833 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
7834 on an Ada2012 iterator, insert them ahead of the rewritten loop.
7835
78362011-08-02 Geert Bosch <bosch@adacore.com>
7837
7838 * cstand.adb (Create_Float_Types): Only consider C's long double for
7839 Long_Long_Float, in addition to double.
7840
78412011-08-02 Robert Dewar <dewar@adacore.com>
7842
7843 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
7844 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
7845 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
7846 Minor reformatting.
7847
78482011-08-02 Ed Schonberg <schonberg@adacore.com>
7849
7850 * sem_attr.adb: handle properly 'Result when it is a prefix of an
7851 indexed component.
7852
78532011-08-02 Javier Miranda <miranda@adacore.com>
7854
7855 * einfo.ads, einfo.adb
7856 (Original_Access_Type): Move this attribute to Node26 since there was
7857 an undocumented use of Node21 in E_Access_Subprogram_Type entities
7858 which causes conflicts and breaks the generation of the .NET compiler.
7859 (Interface_Name): Add missing documentation on JGNAT only uses of
7860 this attribute.
7861
78622011-08-02 Geert Bosch <bosch@adacore.com>
7863
7864 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
7865 (Find_Back_End_Float_Type): Likewise
7866 (Create_Back_End_Float_Types): Likewise
7867 (Create_Float_Types): Likewise
7868 (Register_Float_Type): Likewise
7869 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
7870 Nlist and split out type selection in new local Find_Base_Type function.
7871 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
7872 Nlist
7873 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
7874
78752011-08-02 Robert Dewar <dewar@adacore.com>
7876
7877 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
7878 alpha order).
7879 * opt.ads: Minor comment change.
7880 * sem_ch12.adb: Minor code reorganization.
7881
78822011-08-02 Gary Dismukes <dismukes@adacore.com>
7883
7884 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
7885 subtype's list of rep items to the list on the full subtype in the case
7886 where the lists are the same.
7887
78882011-08-02 Geert Bosch <bosch@adacore.com>
7889
7890 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
7891 using the one from System.Strings, which also deallocates all strings.
7892
78932011-08-02 Geert Bosch <bosch@adacore.com>
7894
7895 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
7896 function.
7897 * gcc-interface/Make-lang.in: Update dependencies.
7898
78992011-08-02 Olivier Hainque <hainque@adacore.com>
7900
7901 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
7902 end_locus.
7903
79042011-08-02 Javier Miranda <miranda@adacore.com>
7905
7906 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
7907 associated with anonymous access to subprograms.
7908
79092011-08-02 Geert Bosch <bosch@adacore.com>
7910
7911 * opt.ads
7912 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
7913 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
7914 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
7915 (Add_Symbol_Definition): Move to switch-c.adb
7916 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
7917 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
7918 (Add_Symbol_Definition): Move to switch-c.adb.
7919 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
7920 * sem_warn.adb
7921 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
7922 Move to warnsw.adb.
7923 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
7924 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
7925 Move to warnsw.adb.
7926 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
7927 (Add_Symbol_Definition): Moved from Prepcomp.
7928 * switch-c.ads: Update copyright notice. Use String_List instead of
7929 Argument_List, removing dependency on System.OS_Lib.
7930
79312011-08-02 Yannick Moy <moy@adacore.com>
7932
7933 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
7934 mode on initialization expression which does not respect SPARK
7935 restrictions.
7936 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
7937 if the tree referenced by its argument represents an initialization
7938 expression in SPARK, suitable for initializing an object in an object
7939 declaration.
7940
79412011-08-02 Javier Miranda <miranda@adacore.com>
7942
7943 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
7944 internally generated access to subprogram with its associated protected
7945 subprogram type.
7946 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
7947
79482011-08-02 Geert Bosch <bosch@adacore.com>
7949
7950 * cstand.adb (Register_Float_Type): Print information about type to
7951 register, if the Debug_Flag_Dot_B is set.
7952 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
7953 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
7954 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
7955 with a requested precision of more than Max_Digits digits and no more
7956 than Max_Base_Digits digits, if a range specification is present and the
7957 Predefined_Float_Types list has a suitable type to derive from.
7958 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
7959 case of type completion with pragma Import
7960 * sem_prag.adb
7961 (Process_Import_Predefined_Type): Processing to complete a type
7962 with pragma Import. Currently supports floating point types only.
7963 (Set_Convention_From_Pragma): Do nothing without underlying type.
7964 (Process_Convention): Guard against absence of underlying type,
7965 which may happen when importing incomplete types.
7966 (Process_Import_Or_Interface): Handle case of importing predefined
7967 types. Tweak error message.
7968
79692011-08-02 Eric Botcazou <ebotcazou@adacore.com>
7970
7971 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
7972 functions to previous change. Reorganize code slightly.
7973
79742011-08-02 Geert Bosch <bosch@adacore.com>
7975
7976 * back_end.ads (Register_Type_Proc): New call back procedure type for
7977 allowing the back end to provide information about available types.
7978 (Register_Back_End_Types): New procedure to register back end types.
7979 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
7980 available types.
7981 * cstand.adb (Back_End_Float_Types): New list for floating point types
7982 supported by the back end.
7983 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
7984 (Copy_Float_Type): New procedure to make new copies of predefined types.
7985 (Register_Float_Type): New call back procedure to populate the BEFT list
7986 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
7987 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
7988 (Create_Float_Types): New procedure to create entities for floating
7989 point types predefined in Standard, and put these and any remaining
7990 BEFTs on the Predefined_Float_Types list.
7991 * stand.ads (Predefined_Float_Types): New list for predefined floating
7992 point types that do not have declarations in package Standard.
7993
79942011-08-02 Eric Botcazou <ebotcazou@adacore.com>
7995
7996 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
7997 entity node for the unit containing the parameter.
7998 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
7999 (Add_Inlined_Subprogram): Likewise.
8000 * gcc-interface/Make-lang.in: Update dependencies.
8001
80022011-08-02 Thomas Quinot <quinot@adacore.com>
8003
8004 * s-stusta.adb (Print): Make sure Pos is always initialized to a
8005 suitable value.
8006
80072011-08-02 Geert Bosch <bosch@adacore.com>
8008
8009 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
8010
80112011-08-02 Eric Botcazou <ebotcazou@adacore.com>
8012
8013 * sem_type.adb (Covers): Move trivial case to the top and reuse the
8014 computed value of Base_Type.
8015
80162011-08-02 Yannick Moy <moy@adacore.com>
8017
8018 * restrict.adb (Check_Restriction): issue an error for any use of
8019 class-wide, even if the No_Dispatch restriction is not set.
8020 * sem_aggr.adb: Correct typos in comments and messages in formal mode
8021 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
8022 when completing a private extension, the type named in the private part
8023 is not the same as that named in the visible part.
8024 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
8025 of an inherited primitive operations of a tagged type or type extension
8026 that returns the tagged type.
8027 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
8028 function which returns True for an implicit operation inherited by the
8029 derived type declaration for the argument type.
8030 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
8031 order.
8032
80332011-08-02 Ed Schonberg <schonberg@adacore.com>
8034
8035 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
8036 Process_Bounds, to perform analysis with expansion of a range or an
8037 expression that is the iteration scheme for a loop.
8038 (Analyze_Iterator_Specification): If domain of iteration is given by a
8039 function call with a controlled result, as is the case if call returns
8040 a predefined container, ensure that finalization actions are properly
8041 generated.
8042 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
8043
80442011-08-02 Javier Miranda <miranda@adacore.com>
8045
8046 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
8047 * gcc-interface/Make-lang.in: Update dependencies.
8048
80492011-08-02 Javier Miranda <miranda@adacore.com>
8050
8051 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
8052 determine if the analysis is performed using N or Original_Node (N).
8053 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
8054 functionality of routine Is_Variable avoids code duplication.
8055 * checks.adb (Determine_Range): Handle temporaries generated by
8056 Remove_Side_Effects.
8057
80582011-08-02 Javier Miranda <miranda@adacore.com>
8059
8060 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
8061 expansion of the condition. Required since the previous analysis was
8062 done with expansion disabled (see Resolve_Quantified_Expression) and
8063 hence checks were not inserted and record comparisons have not been
8064 expanded.
8065
80662011-08-02 Ed Falis <falis@adacore.com>
8067
8068 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
8069 Update header.
8070
80712011-08-02 Bob Duff <duff@adacore.com>
8072
8073 * opt.ads: Minor comment fix.
8074
80752011-08-02 Bob Duff <duff@adacore.com>
8076
8077 * sem_ch12.adb (Analyze_Package_Instantiation,
8078 Analyze_Subprogram_Instantiation): Turn off style checking while
8079 analyzing an instance. Whatever style checks that apply to the generic
8080 unit should apply, so it makes no sense to apply them in an instance.
8081 This was causing trouble when compiling an instance of a runtime
8082 unit that violates the -gnatyO switch.
8083 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
8084 one of the two case statements, causing spurious errors.
8085
80862011-08-02 Robert Dewar <dewar@adacore.com>
8087
8088 * uname.adb: Minor reformatting.
8089 * gnatcmd.adb: Minor reformatting.
8090 * exp_attr.adb: Minor reformatting.
8091
80922011-08-02 Ed Schonberg <schonberg@adacore.com>
8093
8094 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
8095 No_Dispatching_Calls, do not look for the Assign primitive, because
8096 predefined primitives are not created in this case.
8097
80982011-08-02 Bob Duff <duff@adacore.com>
8099
8100 * stylesw.ads: Minor comment fixes.
8101
81022011-08-02 Robert Dewar <dewar@adacore.com>
8103
8104 * freeze.adb (Add_To_Result): New procedure.
8105
81062011-08-02 Jose Ruiz <ruiz@adacore.com>
8107
8108 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
8109 time, if the specific run-time routines for handling streams of strings
8110 are not available, use the default mechanism.
8111
81122011-08-02 Arnaud Charlet <charlet@adacore.com>
8113
8114 * s-regpat.ads: Fix typo.
8115
81162011-08-02 Vincent Celier <celier@adacore.com>
8117
8118 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
8119 not null, call it to create the in memory config project file without
8120 parsing an existing default config project file.
8121
81222011-08-02 Eric Botcazou <ebotcazou@adacore.com>
8123
8124 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
8125
81262011-08-02 Ed Schonberg <schonberg@adacore.com>
8127
8128 * sem_elim.adb: an abstract subprogram does not need an eliminate
8129 pragma for its descendant to be eliminable.
8130
81312011-08-02 Ed Falis <falis@adacore.com>
8132
8133 * init.c: revert to handling before previous checkin for VxWorks
8134 * s-intman-vxworks.adb: delete unnecessary declarations related to
8135 using Ada interrupt facilities for handling signals.
8136 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
8137 * s-intman-vxworks.ads: Import __gnat_install_handler as
8138 Initialize_Interrupts.
8139 * s-taprop-vxworks.adb: Delete Signal_Mask.
8140 (Abort_Handler): change construction of mask to unblock exception
8141 signals.
8142
81432011-08-02 Jerome Guitton <guitton@adacore.com>
8144
8145 * a-except-2005.adb (Raise_From_Signal_Handler): Call
8146 Debug_Raise_Exception before propagation starts.
8147
81482011-08-02 Eric Botcazou <ebotcazou@adacore.com>
8149
8150 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
8151 to Restriction_Check_Required.
8152 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
8153 * sem_res.adb (Resolve_Call): Likewise.
8154 * sem_attr.adb (Check_Stream_Attribute): Likewise.
8155
81562011-08-02 Bob Duff <duff@adacore.com>
8157
8158 * stylesw.ads: Update comment.
8159 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
8160 * errout.ads: Remove obsolete comment.
8161
81622011-08-02 Javier Miranda <miranda@adacore.com>
8163
8164 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
8165 (Set_Is_Safe_To_Reevaluate): new procedure.
8166 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
8167 assignment is allowed on safe-to-reevaluate variables.
8168 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
8169 temporary created to remove side effects in expressions that use
8170 the secondary stack as safe-to-reevaluate.
8171 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
8172 variables that are not true constants.
8173
81742011-08-02 Robert Dewar <dewar@adacore.com>
8175
8176 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
8177 sem_res.adb, sem_ch6.adb: Minor reformatting.
8178
81792011-08-02 Jerome Guitton <guitton@adacore.com>
8180
8181 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
8182
81832011-08-02 Ed Schonberg <schonberg@adacore.com>
8184
8185 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
8186 not set Overridden_Operation if subprogram is an initialization
8187 procedure.
8188
81892011-08-02 Yannick Moy <moy@adacore.com>
8190
8191 * par-ch6.adb: Correct obsolete name in comments
8192 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
8193 which takes two message arguments (existing function takes one), with
8194 second message used for continuation.
8195 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
8196 block statements that originate from a source block statement, not
8197 generated block statements
8198 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
8199 symmetry with procedure case
8200 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
8201 function to issue an error in formal mode if a package specification
8202 contains more than one tagged type or type extension.
8203 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
8204 parameters matching formals of tagged types are objects (or ancestor
8205 type conversions of objects), not general expressions. Issue an error
8206 on view conversions that are not involving ancestor conversion of an
8207 extended type.
8208 (Resolve_Type_Conversion): in formal mode, issue an error on the
8209 operand of an ancestor type conversion which is not an object
8210 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
8211 procedure so that it works also for actuals of function calls
8212 (Is_Actual_Tagged_Parameter): new function which determines if its
8213 argument is an actual parameter of a formal of tagged type in a
8214 subprogram call
8215 (Is_SPARK_Object_Reference): new function which determines if the tree
8216 referenced by its argument represents an object in SPARK
8217
82182011-08-02 Robert Dewar <dewar@adacore.com>
8219
8220 * sem_ch3.adb: Minor reformatting
8221 Minor comment addition
8222 Minor error msg text change
8223
82242011-08-02 Javier Miranda <miranda@adacore.com>
8225
8226 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
8227 function. Used to be more precise when we generate a variable plus one
8228 assignment to remove side effects in the evaluation of the Bound
8229 expressions.
8230 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
8231 of the bound expression to force its re-analysis and thus expand the
8232 associated transient scope (if required). Code cleanup replacing the
8233 previous code that declared the constant entity by an invocation to
8234 routine Force_Evaluation which centralizes this work in the frontend.
8235
82362011-08-02 Robert Dewar <dewar@adacore.com>
8237
8238 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
8239 (Base_Type): Now uses improved Is_Base_Type function
8240 * einfo.ads (Base_Type): Inline this function
8241
82422011-08-02 Robert Dewar <dewar@adacore.com>
8243
8244 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
8245 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
8246
82472011-08-02 Arnaud Charlet <charlet@adacore.com>
8248
8249 * gcc-interface/Make-lang.in: Update dependencies.
8250 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
8251 targets.
8252
82532011-08-02 Yannick Moy <moy@adacore.com>
8254
8255 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
8256 non-simple expression used in delta constraint
8257 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
8258 index constraint which is not a subtype mark
8259 * par.adb: With and use Restrict
8260 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
8261 mode on component type which is not a subtype mark and default
8262 expression on component
8263 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
8264 of string which does not have a lower index bound equal to 1
8265 (Array_Type_Declaration): issue an error in formal mode on index or
8266 component type which is not a subtype mark, and on aliased keyword on
8267 component
8268 (Derived_Type_Declaration): issue an error in formal mode on interface,
8269 limited or abstract type
8270 (Record_Type_Declaration): issue an error in formal mode on interface
8271 (Record_Type_Definition): issue an error in formal mode on tagged types
8272 and type extensions not declared in the specification of a library unit
8273 package; on null non-tagged record; on variant part
8274
82752011-08-02 Vincent Celier <celier@adacore.com>
8276
8277 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
8278 not declared for qualified library project when Library_Name is not
8279 declared, but Library_Dir is.
8280
82812011-08-02 Robert Dewar <dewar@adacore.com>
8282
8283 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
8284 pragmas (affects aspects [Component_]Default_Value
8285 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
8286 component type for the resolution
8287
82882011-08-02 Eric Botcazou <ebotcazou@adacore.com>
8289
8290 * einfo.adb (Base_Type): Tune implementation for speed.
8291
82922011-08-02 Robert Dewar <dewar@adacore.com>
8293
8294 * freeze.adb: Minor reformatting.
8295
82962011-08-02 Thomas Quinot <quinot@adacore.com>
8297
8298 * scos.ads: Update comments.
8299
83002011-08-02 Ed Schonberg <schonberg@adacore.com>
8301
8302 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
8303 base type, because the parent may be a subtype of a private type whose
8304 convention is established in a private part.
8305
83062011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
8307
8308 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
8309 statement in a block when the expansion of the return expression has
8310 created a finalization chain.
8311 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
8312 with the parent node.
8313 Add N_Extended_Return_Statement to handle the case where a transient
8314 object declaration appears in the Return_Object_Declarations list of
8315 an extended return statement.
8316
83172011-08-02 Matthew Gingell <gingell@adacore.com>
8318
8319 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
8320 unused parameter 'name'.
8321
83222011-08-02 Ed Schonberg <schonberg@adacore.com>
8323
8324 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
8325 inherited operation, check whether its alias, which is the source
8326 operastion that it renames, has been marked eliminated.
8327
83282011-08-02 Javier Miranda <miranda@adacore.com>
8329
8330 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
8331 in-mode parameter whose type is an access type since it can be used to
8332 modify its designated object. Enforce code that handles as safe an
8333 access type that is not access-to-constant but it is the result of a
8334 previous removal of side-effects.
8335 (Remove_Side_Effects): Minor code reorganization of cases which require
8336 no action. Done to incorporate documentation on new cases uncovered
8337 working in this ticket: no action needed if this routine was invoked
8338 too early and the nodes are not yet decorated.
8339 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
8340 to routine Remove_Side_Effects by calls to Force_Evaluation since they
8341 were issued with actuals that are implicitly provided by
8342 Force_Evaluation.
8343
83442011-08-02 Robert Dewar <dewar@adacore.com>
8345
8346 * sem_ch3.adb, sem_res.adb: Minor reformatting.
8347
83482011-08-02 Yannick Moy <moy@adacore.com>
8349
8350 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
8351 to issue an error in formal mode on attribute not supported in this mode
8352 (Analyze_Attribute): issue errors on standard attributes not supported
8353 in formal mode.
8354 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
8355 comment, and issue error in formal mode on modulus which is not a power
8356 of 2.
8357 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
8358 range.
8359 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
8360 subtype mark.
8361 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
8362 operator on modular type (except 'not').
8363
83642011-08-02 Robert Dewar <dewar@adacore.com>
8365
8366 * gnat_rm.texi: Minor reformatting.
8367
83682011-08-02 Arnaud Charlet <charlet@adacore.com>
8369
8370 * s-osinte-linux.ads: Minor comment update and reformatting.
8371 * i-cexten.ads: Make this unit pure, as for its parent.
8372 Will allow its usage in more contexts if needed.
8373
83742011-08-02 Robert Dewar <dewar@adacore.com>
8375
8376 * s-utf_32.ads: Minor comment fix.
8377
83782011-08-02 Ed Schonberg <schonberg@adacore.com>
8379
8380 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
8381 operation of a tagged synchronized type, handle the case where the
8382 controlling argument is overloaded.
8383
83842011-08-02 Yannick Moy <moy@adacore.com>
8385
8386 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
8387 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
8388 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
8389 SPARK mode and formal verification mode on processing SPARK restriction
8390 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
8391 requiring consistency checking.
8392
83932011-08-02 Robert Dewar <dewar@adacore.com>
8394
8395 * sem_res.adb: Minor reformatting.
8396
83972011-08-02 Robert Dewar <dewar@adacore.com>
8398
8399 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
8400 a-cforse.ads: Remove unneeded with of Ada.Containers
8401 Remove commented out pragma Inline's
8402 Move specifications of new subprograms to the actual specs
8403
84042011-08-02 Yannick Moy <moy@adacore.com>
8405
8406 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
8407 a-cforse.ads: Update comments.
8408
84092011-08-02 Ed Schonberg <schonberg@adacore.com>
8410
8411 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
8412
84132011-08-02 Robert Dewar <dewar@adacore.com>
8414
8415 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
8416 a-cforse.ads, a-cofove.ads: Minor reformatting.
8417
84182011-08-02 Claire Dross <dross@adacore.com>
8419
8420 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
8421 a-cofove.ads: Add comments.
8422
84232011-08-02 Yannick Moy <moy@adacore.com>
8424
8425 * gnat_rm.texi: Document formal containers.
8426
84272011-08-02 Emmanuel Briot <briot@adacore.com>
8428
8429 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
8430 are empty sections.
8431
84322011-08-02 Robert Dewar <dewar@adacore.com>
8433
8434 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
8435 reformatting.
8436
84372011-08-02 Robert Dewar <dewar@adacore.com>
8438
8439 * aspects.adb: New aspects Default_Value and Default_Component_Value
8440 New format of Aspect_Names table checks for omitted entries
8441 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
8442 handling of boolean aspects for derived types.
8443 New aspects Default_Value and Default_Component_Value
8444 New format of Aspect_Names table checks for omitted entries
8445 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
8446 (Has_Default_Value): New flag
8447 (Has_Default_Component_Value): New flag
8448 (Has_Default_Value): New flag
8449 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
8450 table.
8451 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
8452 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
8453 Default_Value and Default_Component_Value
8454 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
8455 New aspects Default_Value and Default_Component_Value
8456 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
8457 * sprint.adb: Print N_Aspect_Specification node when called from gdb
8458
84592011-08-02 Vincent Celier <celier@adacore.com>
8460
8461 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
8462 inherit library kind.
8463
84642011-08-02 Ed Schonberg <schonberg@adacore.com>
8465
8466 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
8467 Minor reformatting.
8468
84692011-08-02 Robert Dewar <dewar@adacore.com>
8470
8471 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
8472
84732011-08-02 Yannick Moy <moy@adacore.com>
8474
8475 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
8476
84772011-08-02 Robert Dewar <dewar@adacore.com>
8478
8479 * impunit.adb: Add comment.
8480
84812011-08-02 Yannick Moy <moy@adacore.com>
8482
8483 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
8484 qualification of aggregates in formal mode
8485 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
8486 another aggregate
8487 (Resolve_Aggregate): complete the test that an aggregate is adequately
8488 qualified in formal mode
8489
84902011-08-02 Pascal Obry <obry@adacore.com>
8491
8492 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
8493 * mlib-prj.adb: Supress warning when compiling binder generated file.
8494 (Build_Library): Supress all warnings when compiling the binder
8495 generated file.
8496
84972011-08-02 Yannick Moy <moy@adacore.com>
8498
8499 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
8500 from here...
8501 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
8502 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
8503 Add with/use clauses to make Check_Formal_Restriction visible
8504
85052011-08-02 Ed Schonberg <schonberg@adacore.com>
8506
8507 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
8508 in-parameters when type of the generic formal is private in the generic
8509 spec and non-private in the body.
8510
85112011-08-02 Claire Dross <dross@adacore.com>
8512
8513 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
8514 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
8515 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
8516 * impunit.adb, Makefile.rtl: Take new files into account.
8517
85182011-08-02 Robert Dewar <dewar@adacore.com>
8519
8520 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
8521 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
8522
85232011-08-02 Yannick Moy <moy@adacore.com>
8524
8525 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
8526 formal mode
8527 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
8528 matching static array bounds, taking into account the special case of
8529 string literals
8530 * sem_ch3.adb: Typo in comment.
8531
85322011-08-02 Yannick Moy <moy@adacore.com>
8533
8534 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
8535 which issues an error in formal mode if its argument node is originally
8536 from source
8537 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
8538 has a discriminant specification so that it does not include the case
8539 of derived types
8540 (Derived_Type_Declaration): move here the test that a derived type has a
8541 discriminant specification
8542 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
8543 first element of a component association before accessing its choices
8544 (presence of component association is not enough)
8545 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
8546 declaration is a library item before accessing the next element in a
8547 list, as library items are not member of lists
8548 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
8549 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
8550 Check_Formal_Restriction whenever possible.
8551
85522011-08-02 Ed Schonberg <schonberg@adacore.com>
8553
8554 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
8555 reference when needed.
8556
85572011-08-02 Bob Duff <duff@adacore.com>
8558
8559 * gnat_ugn.texi: Fix typo.
8560
85612011-08-02 Vincent Celier <celier@adacore.com>
8562
8563 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
8564 archive file name. Do not use the full path name of archives for Open
8565 VMS.
8566
85672011-08-02 Robert Dewar <dewar@adacore.com>
8568
8569 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
8570 Analyze_Aspect_Specifications
8571 * sem_ch13.adb
8572 (Analyze_Aspect_Specifications): New handling for boolean aspects
8573 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
8574 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
8575 sequence for Analyze_Aspect_Specifications
8576 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
8577 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
8578
85792011-08-02 Robert Dewar <dewar@adacore.com>
8580
8581 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
8582 aspects, since these no longer exist.
8583
85842011-08-02 Robert Dewar <dewar@adacore.com>
8585
8586 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
8587 semicolon, do not try to see if there are aspects following it.
8588 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
8589 aspect spec.
8590
85912011-08-02 Robert Dewar <dewar@adacore.com>
8592
8593 * sem_ch8.adb, aspects.ads: Minor reformatting.
8594
85952011-08-02 Eric Botcazou <ebotcazou@adacore.com>
8596
8597 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
8598 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
8599 extracted from...
8600 (Analyze_Aspect_Specifications): ...here. Call above procedure.
8601
86022011-08-02 Yannick Moy <moy@adacore.com>
8603
8604 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
8605 mode on subprogram declaration outside of package specification, unless
8606 it is followed by a pragma Import
8607 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
8608 Access_Type_Declaration): issue error in formal mode on access type
8609 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
8610 incomplete type
8611 (Analyze_Object_Declaration): issue error in formal mode on object
8612 declaration which does not respect SPARK restrictions
8613 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
8614 declaration which does not respect SPARK restrictions
8615 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
8616 error in formal mode on digits or delta constraint
8617 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
8618 decimal fixed point type
8619 (Derived_Type_Declaration): issue error in formal mode on derived type
8620 other than type extensions of tagged record types
8621 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
8622 with check on access definition
8623 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
8624 mode on protected definition.
8625 (Analyze_Task_Definition): issue error in formal mode on task definition
8626
86272011-08-02 Robert Dewar <dewar@adacore.com>
8628
8629 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
8630
86312011-08-02 Javier Miranda <miranda@adacore.com>
8632
8633 * sem_ch6.adb (Can_Override_Operator): New function.
8634 (Verify_Overriding_Indicator): Add missing code to check overriding
8635 indicator in operators. Fixes regression.
8636 (Check_Overriding_Indicator): Minor reformating after replacing the
8637 code that evaluates if the subprogram can override an operator by
8638 invocations to the above new function.
8639 * einfo.adb
8640 (Write_Field26_Name): Add missing code to ensure that, following
8641 the documentation in einfo.ads, this field is not shown as attribute
8642 "Static_Initialization" on non-dispatching functions.
8643
86442011-08-02 Jose Ruiz <ruiz@adacore.com>
8645
8646 * sem_res.adb (Resolve_Call): A call to
8647 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
8648 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
8649 i.e., when the second parameter is of type Time_Span.
8650
86512011-08-02 Vincent Celier <celier@adacore.com>
8652
8653 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
8654 with an archive instead of -L<library dir> -l<library name>.
8655
86562011-08-02 Ed Schonberg <schonberg@adacore.com>
8657
8658 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
8659 mark the base types In_Use in addition to making the operations
8660 use_visible.
8661
86622011-08-02 Ed Falis <falis@adacore.com>
8663
8664 * init.c: add and setup __gnat_signal_mask for the exception signals
8665 * s-inmaop-vxworks.adb: new file.
8666 * s-intman-vxworks.adb: remove unnecessary initializations and
8667 simplify remaining
8668 * s-intman-vxworks.ads: remove unnecessary variable
8669 * s-taprop-vxworks.adb: simplify signal initialization
8670
86712011-08-02 Robert Dewar <dewar@adacore.com>
8672
8673 * sem_ch8.adb: Minor code reorganization, comment updates.
8674
86752011-08-02 Robert Dewar <dewar@adacore.com>
8676
8677 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
8678 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
8679 here from Sem_Res.
8680 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
8681 (Matching_Static_Array_Bounds): Moved here from Sem_Res
8682
86832011-08-02 Ed Schonberg <schonberg@adacore.com>
8684
8685 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
8686 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
8687 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
8688 use_type_clauses, to handle more efficiently use_type and use_all_type
8689 constructs.
8690 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
8691 Ada2012 Use_All_Type clause.
8692 (Use_Class_Wide_Operations): new procedure.
8693
86942011-08-02 Robert Dewar <dewar@adacore.com>
8695
8696 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
8697 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
8698 expression to expression function.
8699
87002011-08-02 Ed Schonberg <schonberg@adacore.com>
8701
8702 * sem_ch4.adb: transform simple Ada2012 membership into equality only
8703 if types are compatible.
8704
87052011-08-02 Yannick Moy <moy@adacore.com>
8706
8707 * sem_res.adb (Matching_Static_Array_Bounds): new function which
8708 returns True if its argument array types have same dimension and same
8709 static bounds at each index.
8710 (Resolve_Actuals): issue an error in formal mode on actuals passed as
8711 OUT or IN OUT paramaters which are not view conversions in SPARK.
8712 (Resolve_Arithmetic_Op): issue an error in formal mode on
8713 multiplication or division with operands of fixed point types which are
8714 not qualified or explicitly converted.
8715 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
8716 Boolean or array type (except String) operands.
8717 (Resolve_Equality_Op): issue an error in formal mode on equality
8718 operators for array types other than String with non-matching static
8719 bounds.
8720 (Resolve_Logical_Op): issue an error in formal mode on logical operators
8721 for array types with non-matching static bounds. Factorize the code in
8722 Matching_Static_Array_Bounds.
8723 (Resolve_Qualified_Expression): issue an error in formal mode on
8724 qualified expressions for array types with non-matching static bounds.
8725 (Resolve_Type_Conversion): issue an error in formal mode on type
8726 conversion for array types with non-matching static bounds
8727
87282011-08-02 Robert Dewar <dewar@adacore.com>
8729
8730 * par-ch10.adb: Minor code reorganization (use Nkind_In).
8731
87322011-08-02 Ed Schonberg <schonberg@adacore.com>
8733
8734 * par-ch9.adb: save location of entry for proper error message.
8735
87362011-08-02 Javier Miranda <miranda@adacore.com>
8737
8738 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
8739 (Use_Full_View) which permits this routine to climb through the
8740 ancestors using the full-view of private parents.
8741 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
8742 Use_Full_View to true in calls to Is_Ancestor.
8743 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
8744 true in call to Is_Ancestor.
8745 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
8746 Use_Full_View to true in call to Is_Ancestor.
8747 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
8748 call to Is_Ancestor.
8749 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
8750 Use_Full_View to true in calls to Is_Ancestor.
8751 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
8752 Make_Select_Specific_Data_Table, Register_Primitive,
8753 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
8754 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
8755 to true in call to Is_Ancestor.
8756 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
8757 Use_Full_View to true in calls to Is_Ancestor.
8758 * exp_cg.adb
8759 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
8760 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
8761
87622011-08-02 Robert Dewar <dewar@adacore.com>
8763
8764 * gnat_rm.texi: Minor reformatting.
8765 * sem_prag.adb: Minor reformatting.
8766
87672011-08-02 Tristan Gingold <gingold@adacore.com>
8768
8769 * vms_data.ads: Add VMS qualifier for -gnateP.
8770
87712011-08-02 Robert Dewar <dewar@adacore.com>
8772
8773 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
8774 * par-ch7.adb (P_Package): Proper placement of aspects for package
8775 decl/instantiation.
8776 * par-endh.adb (Check_End): Ad Is_Sloc parameter
8777 (End_Statements): Add Is_Sloc parameterr
8778 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
8779 (Check_End): Ad Is_Sloc parameter
8780 (End_Statements): Add Is_Sloc parameterr
8781
87822011-08-02 Vincent Celier <celier@adacore.com>
8783
8784 * ug_words: Add VMS qualifier equivalent to -gnateP:
8785 /SYMBOL_PREPROCESSING.
8786
87872011-08-02 Jose Ruiz <ruiz@adacore.com>
8788
8789 * gnat-style.texi: For hexadecimal numeric literals the typical
8790 grouping of digits is 4 to represent 2 bytes.
8791 A procedure spec which is split into several lines is indented two
8792 characters.
8793
87942011-08-02 Yannick Moy <moy@adacore.com>
8795
8796 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
8797 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
8798 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
8799 properly qualified
8800 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
8801 choice in array aggregate
8802 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
8803 mark as ancestor
8804 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
8805 positional and named aggregate for record, or others in record
8806 aggregate, or multiple choice in record aggregate
8807 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
8808 array operands to logical operations AND, OR and XOR do not have the
8809 same static lower and higher bounds
8810 * sem_ch5.adb, sinfo.ads: Correct typos in comments
8811
88122011-08-01 Robert Dewar <dewar@adacore.com>
8813
8814 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
8815 Replaces Last_Source_Node_In_Sequence.
8816 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
8817 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
8818 parens and blank in string (this was inconsistently implemented).
8819 * errout.ads
8820 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
8821 blank in string (this was inconsistently implemented).
8822 * gnat1drv.adb
8823 (Set_Global_Switches): Set formal mode switches appropriately
8824 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
8825 * par-prag.adb
8826 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
8827 call Set_Error_Msg_Lang to set "spark" as language name.
8828 * par.adb: Remove unnecessary call to set formal language for errout
8829 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
8830 appropriately and call Set_Error_Msg_Lang to set "spark" as language
8831 name.
8832 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
8833 calls to it, moved after resolution so that types are known
8834 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
8835 result of concatenation is not of type String
8836 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
8837 concatenation is not properly restricted
8838 * gnat_rm.texi: Add doc on pragma Spark_95.
8839 * gcc-interface/Makefile.in: Remove obsolete target pairs for
8840 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
8841 * gcc-interface/Make-lang.in: Update dependencies.
8842
88432011-08-01 Javier Miranda <miranda@adacore.com>
8844
8845 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
8846 condition that detects if the overridden operation must replace an
8847 existing entity.
8848
88492011-08-01 Javier Miranda <miranda@adacore.com>
8850
8851 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
8852 code declarations inserted by Insert_Actions in each alternative of the
8853 N_Case_Expression node.
8854
88552011-08-01 Robert Dewar <dewar@adacore.com>
8856
8857 * sem_ch6.adb: Minor code reorganization.
8858 * sem_util.adb: Minor reformatting.
8859
88602011-08-01 Pascal Obry <obry@adacore.com>
8861
8862 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
8863 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
8864
88652011-08-01 Yannick Moy <moy@adacore.com>
8866
8867 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
8868 literal or operator symbol which is prefixed
8869 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
8870 mode on access attributes.
8871 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
8872 that concatenation operands are properly restricted in formal mode
8873 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
8874 Analyze_Concatenation_Operand. Issue an error in formal mode if the
8875 result of the concatenation has a type different from String.
8876 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
8877 Analyze_Quantified_Expression, Analyze_Slice,
8878 Analyze_Null): issue an error in formal mode on unsupported constructs
8879 * sem_ch5.adb
8880 (Analyze_Block_Statement): only issue error on source block statement
8881 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
8882 function which returns the last node in a list of nodes for which
8883 Comes_From_Source returns True, if any
8884 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
8885 Last_Source_Node_In_Sequence
8886 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
8887 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
8888 mode on unsupported constructs
8889 * sem_ch9.adb Do not return after issuing error in formal mode, as the
8890 rest of the actions may be needed later on since the error is marked as
8891 not serious.
8892 * sinfo.ads: Typos in comments.
8893
88942011-08-01 Pascal Obry <obry@adacore.com>
8895
8896 * projects.texi: Minor editing.
8897
88982011-08-01 Yannick Moy <moy@adacore.com>
8899
8900 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
8901 insertion character ~~
8902 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
8903 (Set_Error_Msg_Lang): new procedure which fixes the language for use
8904 with insertion character ~~
8905 (Set_Msg_Text): treat insertion character ~~
8906 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
8907 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
8908 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
8909 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
8910 errors related to the formal language restriction not serious
8911 (insertion character |).
8912 * par.adb (Par): set formal language for error messages if needed
8913 * sem_ch6.adb (Check_Missing_Return): take into account possible
8914 generated statements at the end of the function
8915 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
8916 enumeration value to define a new pragma SPARK_95
8917 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
8918 SPARK_Version): new type and variables to store the SPARK version
8919 (none by default).
8920 (SPARK_Mode): return True when SPARK_Version is set
8921 * par-prag.adb: Correct indentation
8922 (Prag): take Pragma_SPARK_95 into account
8923 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
8924 into account.
8925
89262011-08-01 Robert Dewar <dewar@adacore.com>
8927
8928 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
8929 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
8930 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
8931
89322011-08-01 Pascal Obry <obry@adacore.com>
8933
8934 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
8935 Target_Name to Get_Path call.
8936 (Parse_Single_Project): Likewise.
8937 (Post_Parse_Context_Clause): Likewise.
8938 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
8939 Call Initialise_Project_Path with the proper Target_Name.
8940 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
8941 search path.
8942 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
8943 with the proper Target_Name.
8944 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
8945 Part.Parse routine.
8946 (Parse_Project_And_Apply_Config): Likewise.
8947 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
8948 This is fine as this part of the code is supporting only native
8949 compilation.
8950 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
8951 is fine as this part of the code is supporting only native compilation.
8952
89532011-08-01 Yannick Moy <moy@adacore.com>
8954
8955 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
8956 of homonym, unless the homonym is one of the cases allowed in SPARK
8957 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
8958 package declaration occurring after a body.
8959
89602011-08-01 Robert Dewar <dewar@adacore.com>
8961
8962 * checks.adb, exp_ch4.adb: Minor reformatting.
8963
89642011-08-01 Javier Miranda <miranda@adacore.com>
8965
8966 * einfo.ads (Access_Disp_Table): Fix documentation.
8967 (Dispatch_Table_Wrappers): Fix documentation.
8968
89692011-08-01 Pascal Obry <obry@adacore.com>
8970
8971 * prj-env.adb, prj-env.ads: Minor reformatting.
8972
89732011-08-01 Yannick Moy <moy@adacore.com>
8974
8975 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
8976 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
8977 procedures out of these packages.
2c7f9cc0 8978 * errout.ads, errout.adb
052e0603
AC
8979 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
8980 procedures in of this package
8981 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
8982 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
8983 on misplaced later vs initial declarations, like in Ada 83
8984 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
8985 formal mode on attribute of private type whose full type declaration
8986 is not visible
8987 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
8988 package declaration inside a package specification
8989 (Analyze_Full_Type_Declaration): issue error in formal mode on
8990 controlled type or discriminant type
8991 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
8992 user-defined operator means that it should come from the source
8993 (New_Overloaded_Entity): issue error in formal mode on overloaded
8994 entity.
8995 * sem_ch6.ads, sem_ch13.ads: typos in comments.
8996
89972011-08-01 Thomas Quinot <quinot@adacore.com>
8998
8999 * atree.adb: Minor reformatting.
9000 * checks.adb: Minor reformatting.
9001
90022011-08-01 Vincent Celier <celier@adacore.com>
9003
9004 * s-parame-vms-ia64.ads: Fix typo in comment
9005 Minor reformatting
9006 * s-parame-vms-restrict.ads: Removed, unused.
9007
90082011-08-01 Javier Miranda <miranda@adacore.com>
9009
9010 * exp_ch3.adb
9011 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
9012 * sem_ch3.adb
9013 (Constrain_Index): Remove side effects in the evaluation of the bounds.
9014 * sem_ch3.ads, sem_ch3.adb
9015 (Is_Constant_Bound): New extended version of the subprogram that was
9016 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
9017 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
9018 * sem_aux.ads (Constant_Value): Fix typo in comment.
9019 * checks.adb (Generate_Index_Checks): New implementation which, for
9020 array objects with constant bounds, generates the runtime check
9021 referencing the bounds of the array type. For other cases this routine
9022 provides its previous behavior obtaining such values from the array
9023 object.
9024 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
9025 parent type.
9026 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
9027 we cannot have semantic interpretations of the new node.
9028
90292011-08-01 Ed Schonberg <schonberg@adacore.com>
9030
9031 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
9032 expressions.
9033
90342011-08-01 Arnaud Charlet <charlet@adacore.com>
9035
9036 * sem_ch8.adb: Minor code editing.
9037 * s-vxwext.adb: Remove trailing space.
9038 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
9039 consistency with other files.
9040
90412011-08-01 Thomas Quinot <quinot@adacore.com>
9042
9043 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
9044
90452011-08-01 Ed Schonberg <schonberg@adacore.com>
9046
9047 * par-ch10.adb: reject parameterized expressions as compilation unit.
9048 * sem_ch4.adb: handle properly conditional expression with overloaded
9049 then_clause and no else_clause.
9050
90512011-08-01 Tristan Gingold <gingold@adacore.com>
9052
9053 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
9054 like done by System.Aux_DEC.
9055 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
9056
90572011-08-01 Yannick Moy <moy@adacore.com>
9058
9059 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
9060 missing label at end of declaration (subprogram or package)
9061 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
9062 of positional and named parameter association
9063 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
9064 Error_Msg_SP which adds a prefix to the error message giving the name
9065 of the formal language analyzed
9066 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
9067 access result type in subprogram, unconstrained array as result type,.
9068 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
9069 procedure
9070 * sem_ch8.adb: Code clean up.
9071
90722011-08-01 Javier Miranda <miranda@adacore.com>
9073
9074 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
9075 * einfo.ads (Access_Disp_Table): Fix documentation.
9076 (Dispatch_Table_Wrappers): Fix documentation.
9077 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
9078 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
9079 to enforce the documentation of this attribute.
9080 (Set_Is_Interface): Cleanup the assertion.
9081 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
9082 the Underlying_Type entity before reading attribute Access_Disp_Table.
9083 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
9084 Locate the Underlying_Type before reading attribute Access_Disp_Table.
9085 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
9086 the Underlying_Type entity before reading attribute Access_Disp_Table.
9087 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
9088 Locate the Underlying_Type entity before reading attribute
9089 Access_Disp_Table.
9090
90912011-08-01 Ed Schonberg <schonberg@adacore.com>
9092
9093 * s-poosiz.ads: Additional overriding indicators.
9094
90952011-08-01 Yannick Moy <moy@adacore.com>
9096
9097 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
9098 formal mode.
9099 (Analyze_Iteration_Scheme): issue error in formal mode when loop
9100 parameter specification does not include a subtype mark.
9101 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
9102 formal mode on abstract subprogram.
9103 (Analyze_Subprogram_Specification): issue error in formal mode on
9104 user-defined operator.
9105 (Process_Formals): issue error in formal mode on access parameter and
9106 default expression.
9107 * sem_ch9.adb (Analyze_Abort_Statement,
9108 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
9109 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
9110 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
9111 Analyze_Requeue, Analyze_Selective_Accept,
9112 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
9113 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
9114 issue error in formal mode on user-defined raise statement.
9115
91162011-08-01 Thomas Quinot <quinot@adacore.com>
9117
9118 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
9119 declaration being hidden when overriding an implicit inherited
9120 subprogram.
9121 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
9122 (-gnats), do not complain about a source file that contains only a
9123 pragma No_Body.
9124
91252011-08-01 Ed Schonberg <schonberg@adacore.com>
9126
9127 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
9128 variable if already set.
9129
91302011-08-01 Arnaud Charlet <charlet@adacore.com>
9131
9132 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
9133 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
9134 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
9135 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
9136 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
9137 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
9138 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
9139 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
9140 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
9141 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
9142 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
9143 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
9144 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
9145 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
9146 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
9147 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
9148 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
9149 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
9150 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
9151 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
9152 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
9153 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
9154 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
9155 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
9156 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
9157 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
9158 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
9159 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
9160 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
9161 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
9162 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
9163 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
9164 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
9165 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
9166 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
9167 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
9168 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
9169 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
9170 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
9171 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
9172 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
9173 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
9174 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
9175 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
9176 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
9177 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
9178 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
9179 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
9180 s-osinte-mingw.ads: Update to GPLv3 run-time license.
9181 Use GNAT instead of GNARL.
9182
91832011-08-01 Bob Duff <duff@adacore.com>
9184
9185 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
9186 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
9187 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
9188 reformatting.
9189
91902011-08-01 Yannick Moy <moy@adacore.com>
9191
9192 * debug.adb (d.D) reverve flag for the SPARK mode
9193 (d.E) reverve flag for SPARK generation mode
9194 (d.F) reverve flag for Why generation mode
2c7f9cc0 9195 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
052e0603
AC
9196 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
9197 functions which return True when the corresponding modes are set
9198 (Formal_Language): return "spark" or "alfa" when in formal verification
9199 mode.
9200 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
9201 Error_Msg to prefix the error message with a tag giving the formal
9202 language
9203 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
9204 message with a tag giving the formal language
9205 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
9206 block statement
9207 (Analyze_Case_Statement): issue error in formal mode on case statement
9208 with a single "others" case alternative
9209 (Analyze_Exit_Statement): issue errors in formal mode on exit
9210 statements which do not respect SPARK restrictions
9211 (Analyze_Goto_Statement): issue error in formal mode on goto statement
9212 (Check_Unreachable_Code): always issue an error (not a warning) in
9213 formal mode on unreachable code (concerns both code after an infinite
9214 loop and after an unconditional jump, both not allowed in SPARK)
9215 * sem_ch6.adb (Analyze_Return_Statement): add call to
9216 Set_Return_Present for a procedure containing a return statement
9217 (already done for functions in Analyze_Function_Return)
9218 (Analyze_Function_Return): issue error in formal mode on extended
9219 return or if return is not last statement in function
9220 (Check_Missing_Return): issue error in formal mode if function does
9221 not end with return or if procedure contains a return
9222 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
9223 function to detect if there is an inner scope of its parameter S which
9224 is a loop.
9225
92262011-08-01 Thomas Quinot <quinot@adacore.com>
9227
9228 * sem_ch6.ads: Minor reformatting.
9229
92302011-08-01 Javier Miranda <miranda@adacore.com>
9231
9232 * sem_util.adb (Abstract_Interface_List): Complete condition when
9233 processing private type declarations to avoid reading unavailable
9234 attribute.
9235 (Is_Synchronized_Tagged_Type): Complete condition when processing
9236 private extension declaration nodes to avoid reading unavailable
9237 attribute.
9238
92392011-08-01 Thomas Quinot <quinot@adacore.com>
9240
9241 * sem_ch3.adb: Minor reformatting.
9242
92432011-08-01 Thomas Quinot <quinot@adacore.com>
9244
9245 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
9246 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
9247 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
9248 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
9249 for VMS, instead parametrize the common implementation with
9250 System.Parameters declarations.
9251
92522011-08-01 Eric Botcazou <ebotcazou@adacore.com>
9253
9254 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
9255
92562011-08-01 Tristan Gingold <gingold@adacore.com>
9257
9258 * seh_init.c: Fix SEH handler installation on win64.
9259
92602011-08-01 Ed Schonberg <schonberg@adacore.com>
9261
9262 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
9263 double analysis of an anonymous access to subprogram, because it can
9264 lead to improper sharing of profiles and a back-end crash.
9265
92662011-08-01 Robert Dewar <dewar@adacore.com>
9267
9268 * make.adb, sem_ch4.adb: Minor reformatting.
9269 * gcc-interface/Make-lang.in: Update dependencies.
9270 * sem_util.adb, exp_ch5.adb: Minor reformatting.
9271
92722011-08-01 Arnaud Charlet <charlet@adacore.com>
9273
9274 * gnat_rm.texi: Fix definition of Long_Integer.
9275
92762011-08-01 Ed Schonberg <schonberg@adacore.com>
9277
9278 * exp_aggr.adb: check limit size of static aggregate unconditionally,
9279 to prevent storage exhaustion.
9280 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
9281 finalized is a function body, insert the cleanup code before the final
9282 return statement, to prevent spurious warnings.
9283 * s-pooglo.ads: add overriding indicator.
9284
92852011-08-01 Ed Schonberg <schonberg@adacore.com>
9286
9287 * sem_ch4.adb (Operator_Check): improve error message when both a
9288 with_clause and a use_clause are needed to make operator usage legal.
9289 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
9290 determine whether a compilation unit is visible within an other,
9291 either through a with_clause in the current unit, or a with_clause in
9292 its library unit or one one of its parents.
9293
92942011-08-01 Ed Schonberg <schonberg@adacore.com>
9295
9296 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
9297 over an arbitrary expression of an array or container type.
9298 * lib-xref.adb: clarify comment.
9299
93002011-08-01 Bob Duff <duff@adacore.com>
9301
9302 * einfo.ads: Minor reformatting.
9303 * debug.adb: Minor comment improvement.
9304
93052011-08-01 Javier Miranda <miranda@adacore.com>
9306
9307 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
9308 consider hidden subprograms as valid candidates.
9309
93102011-08-01 Arnaud Charlet <charlet@adacore.com>
9311
9312 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
9313
93142011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
9315
9316 * gnat_ugn.texi: Fix typo.
9317
93182011-08-01 Robert Dewar <dewar@adacore.com>
9319
9320 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
9321 lib-xref.adb: Minor reformatting
9322
93232011-08-01 Gary Dismukes <dismukes@adacore.com>
9324
9325 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
9326 when to generate a call to Move_Final_List.
9327 (Has_Controlled_Parts): Remove this function.
9328
93292011-08-01 Geert Bosch <bosch@adacore.com>
9330
9331 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
9332 "," in choice list.
9333
93342011-08-01 Thomas Quinot <quinot@adacore.com>
9335
9336 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
9337 explicit raise of a predefined exception as Comes_From_Source if the
9338 original N_Raise_Statement comes from source.
9339
93402011-08-01 Robert Dewar <dewar@adacore.com>
9341
9342 * sinfo.ads: Add comment.
9343 * sem_ch6.adb: Minor reformatting.
9344
93452011-08-01 Robert Dewar <dewar@adacore.com>
9346
9347 * freeze.adb (Freeze_Entity): Refine check for bad component size
9348 clause to avoid rejecting confirming clause when atomic/aliased present.
9349
93502011-08-01 Ed Schonberg <schonberg@adacore.com>
9351
9352 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
9353 better determine whether an entity reference is a write.
9354 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
9355 subcomponent.
9356 * lib-xref.adb (Output_References): Do no suppress a read reference at
9357 the same location as an immediately preceeding modify-reference, to
9358 handle properly in-out actuals.
9359
93602011-08-01 Tristan Gingold <gingold@adacore.com>
9361
9362 * env.c (__gnat_setenv) [VMS]: Refine previous change.
9363
93642011-08-01 Quentin Ochem <ochem@adacore.com>
9365
9366 * i-cstrin.adb (New_String): Changed implementation, now uses only the
9367 heap to compute the result.
9368
93692011-08-01 Robert Dewar <dewar@adacore.com>
9370
9371 * atree.ads: Minor reformatting.
9372
93732011-08-01 Emmanuel Briot <briot@adacore.com>
9374
9375 * g-expect.adb (Get_Command_Output): Fix memory leak.
9376
93772011-08-01 Geert Bosch <bosch@adacore.com>
9378
9379 * cstand.adb (P_Float_Type): New procedure to print the definition of
9380 predefined fpt types.
9381 (P_Mixed_Name): New procedure to print a name using mixed case
9382 (Print_Standard): Use P_Float_Type for printing floating point types
9383 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
9384 precision IEEE float.
9385
93862011-08-01 Thomas Quinot <quinot@adacore.com>
9387
9388 * sem_ch3.adb: Minor reformatting.
9389
93902011-08-01 Ed Schonberg <schonberg@adacore.com>
9391
9392 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
9393 the completion of a generic function, insert the new body rather than
9394 rewriting the original.
9395
93962011-08-01 Yannick Moy <moy@adacore.com>
9397
9398 * sinfo.ads, errout.ads: Typos in comments.
9399
94002011-08-01 Robert Dewar <dewar@adacore.com>
9401
9402 * par-endh.adb: Minor reformatting.
9403
94042011-08-01 Robert Dewar <dewar@adacore.com>
9405
9406 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
9407 (Pre_Post_Aspects): New subtype.
9408 * par-ch12.adb (P_Generic): New syntax for aspects in packages
9409 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
9410 * par-ch7.adb (P_Package): Remove Decl parameter
9411 (P_Package): Handle new syntax for aspects (before IS)
9412 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
9413 new aspect syntax
9414 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
9415 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
9416 (P_Package): Remove Decl parameter
9417 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
9418 aspects
9419 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
9420 specs
9421 * sem_util.ads, sem_util.adb (Static_Boolean): New function
9422 * sinfo.ads: Document new syntax for aspects in packages etc.
9423 * sprint.adb: Handle new syntax of aspects before IS in package
9424
94252011-08-01 Thomas Quinot <quinot@adacore.com>
9426
9427 * atree.ads: Minor reformatting.
9428 * sem_prag.adb: Minor reformatting.
9429
94302011-08-01 Robert Dewar <dewar@adacore.com>
9431
9432 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
9433 case expr alternative.
9434
94352011-08-01 Ed Schonberg <schonberg@adacore.com>
9436
9437 * sem_ch12.adb: Fix typo.
9438
94392011-08-01 Geert Bosch <bosch@adacore.com>
9440
9441 * sem_prag.adb (Check_No_Link_Name): New procedure.
9442 (Process_Import_Or_Interface): Use Check_No_Link_Name.
9443 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
9444 instead of Standard_Long_Long_Float_Size global. Preparation for
9445 eventual removal of per type constants.
9446 * exp_util.ads (Get_Stream_Size): New function returning the stream
9447 size value of subtype E.
9448 * exp_util.adb (Get_Stream_Size): Implement new function.
9449 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
9450 function.
9451 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
9452 * einfo.adb:
9453 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
9454
94552011-08-01 Geert Bosch <bosch@adacore.com>
9456
9457 * cstand.adb: Fix comments.
9458 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
9459 count of arguments.
9460
94612011-08-01 Robert Dewar <dewar@adacore.com>
9462
9463 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
9464
94652011-08-01 Geert Bosch <bosch@adacore.com>
9466
9467 * atree.ads: Fix comment.
9468
94692011-08-01 Robert Dewar <dewar@adacore.com>
9470
9471 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
9472 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
9473 * par.adb: Add with for Namet.Sp.
9474 * par-tchk.adb: Minor reformatting.
9475
94762011-08-01 Vincent Celier <celier@adacore.com>
9477
9478 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
9479 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
9480 of the init procedure of a SAL.
9481 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
9482 New procedure.
9483
94842011-08-01 Thomas Quinot <quinot@adacore.com>
9485
9486 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
9487 reformatting.
9488
94892011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9490
9491 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
9492
94932011-08-01 Thomas Quinot <quinot@adacore.com>
9494
9495 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
9496 conformant with its spec (return True only for types that have
9497 an overriding Initialize primitive operation that prevents them from
9498 having preelaborable initialization).
9499 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
9500 initialization for controlled types in Ada 2005 or later mode.
9501
95022011-08-01 Robert Dewar <dewar@adacore.com>
9503
9504 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
9505 Postcondition.
9506 (Same_Aspect): New function.
9507 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
9508 Type_Invariant, Precondition, Postcondition.
9509 * snames.ads-tmpl: Add Name_Type_Invariant.
9510
95112011-08-01 Robert Dewar <dewar@adacore.com>
9512
9513 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
9514 here.
9515 (Freeze_All_Ent): Fix error in handling inherited aspects.
9516 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
9517 already analyzed, but don't skip entire processing of a declaration,
9518 that's wrong in some cases of declarations being rewritten.
9519 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
9520 Don't delay for integer, string literals
9521 Treat predicates in usual manner for delay, remove special case code,
9522 not needed.
9523 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
9524 (Build_Predicate_Function): Update saved expression in aspect
9525 (Build_Invariant_Procedure): Update saved expression in aspect
9526 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
9527 of replacement of discriminant references if the reference is simple.
9528
95292011-08-01 Robert Dewar <dewar@adacore.com>
9530
9531 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
9532 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
9533 Static_Predicate and Dynamic_Predicate.
9534 (Build_Predicate_Function): Add processing for Static_Predicate
9535 and Dynamic_Predicate.
9536 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
9537 (From_Static_Predicate): New flag
9538 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
9539
95402011-08-01 Robert Dewar <dewar@adacore.com>
9541
9542 * usage.adb: Documentation cleanup for Ada version modes in usage.
9543 * expander.adb: Minor reformatting.
9544
95452011-08-01 Robert Dewar <dewar@adacore.com>
9546
9547 * atree.ads: Minor comment fix.
9548 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
9549 a-witeio.ads, sem_prag.adb: Minor reformatting.
9550
95512011-08-01 Doug Rupp <rupp@adacore.com>
9552
9553 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
9554 pointers. Use descrip.h header file for convenience. Add some
9555 comments.
9556
95572011-08-01 Robert Dewar <dewar@adacore.com>
9558
9559 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
9560 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
9561 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
9562 New procedure.
9563 (Check_Aspect_At_End_Of_Declarations): New procedure
9564 (Analye_Aspect_Specification): Minor changes for above procedures
9565 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
9566 specification node as well.
9567
95682011-08-01 Pascal Obry <obry@adacore.com>
9569
9570 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
9571 Windows files. Use GetFilesAttributes() in this case to check for file
9572 existence instead of returning with an error code.
9573
95742011-08-01 Vincent Celier <celier@adacore.com>
9575
9576 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
9577 High is above Source length.
9578
95792011-08-01 Robert Dewar <dewar@adacore.com>
9580
9581 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
9582
95832011-08-01 Robert Dewar <dewar@adacore.com>
9584
9585 * aspects.ads (Boolean_Aspects): New subtype.
9586 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
9587 for derived types in cases where the parent type and derived type have
9588 aspects.
9589 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
9590 with aspects when parent type also has aspects.
9591 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
9592 boolean expression at this point).
9593 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
9594 accordance with final decision on the Ada 2012 feature.
9595 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
9596
95972011-08-01 Matthew Heaney <heaney@adacore.com>
9598
9599 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
9600
96012011-08-01 Pascal Obry <obry@adacore.com>
9602
9603 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
9604 Fix Replace_Slice when High is above current string size.
9605 (Replace_Slice): Fix DL computation when High is above current
9606 string length.
9607
96082011-08-01 Gary Dismukes <dismukes@adacore.com>
9609
9610 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
9611
96122011-08-01 Matthew Heaney <heaney@adacore.com>
9613
9614 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
9615 of node.
9616
96172011-08-01 Pascal Obry <obry@adacore.com>
9618
9619 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
9620 reformatting.
9621
96222011-08-01 Ed Schonberg <schonberg@adacore.com>
9623
9624 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
9625 access to protected subprograms in generic bodies.
9626 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
9627 protected type, indicate that the convention of the subprogram is
9628 Convention_Protected, because it may be used in subsequent declarations
9629 within the protected declaration.
9630
96312011-08-01 Vincent Celier <celier@adacore.com>
9632
9633 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
9634 and "final" procedures when the name of the library is "ada", to avoid
9635 duplicate symbols "adainit" and "adafinal" in executables.
9636
96372011-08-01 Ed Schonberg <schonberg@adacore.com>
9638
9639 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
9640 quantified expression that appears within a postcondition and uses the
9641 Ada2012 'Result attribute.
9642
96432011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9644
9645 * init.c (__gnat_error_handler): Cast reason to int.
9646 (__gnat_install_handler): Explain sa_sigaction use.
9647
96482011-07-24 Eric Botcazou <ebotcazou@adacore.com>
9649
9650 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
9651 subprogram has copy-in copy-out parameters, try to promote the mode of
9652 the return type if it is passed in registers.
9653
96542011-07-24 Eric Botcazou <ebotcazou@adacore.com>
9655
9656 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
9657 left operand as addressable.
9658
96592011-07-24 Eric Botcazou <ebotcazou@adacore.com>
9660
9661 * gcc-interface/gigi.h (build_function_stub): Remove.
9662 (build_return_expr): Likewise.
9663 (convert_vms_descriptor): Declare.
9664 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
9665 (build_function_stub): Move to...
9666 * gcc-interface/utils2.c (build_return_expr): Move to...
9667 * gcc-interface/trans.c (build_function_stub): ...here.
9668 (build_return_expr): ...here.
9669 (Subprogram_Body_to_gnu): Add local variable for language_function.
9670 Disconnect the parameter attributes cache, if any, once done with it.
9671 Call end_subprog_body only after setting the end_locus.
9672 Build the stub associated with the function, if any, at the very end.
9673 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
9674 variables and streamline control flow.
9675
96762011-07-23 Arnaud Charlet <charlet@adacore.com>
9677
9678 PR ada/49819
9679 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
9680 g-trasym-dwarf.adb.
9681
96822011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9683
9684 PR bootstrap/49794
9685 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
9686 Assign to act.sa_sigaction.
9687 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
9688 current->return_address to char * before arithmetic.
9689
96902011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9691
9692 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
9693 Correct argument types.
9694 Extract code from reason.
9695 (__gnat_install_handler): Assign to act.sa_sigaction.
9696
96972011-07-21 Eric Botcazou <ebotcazou@adacore.com>
9698
9699 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
9700 (GNAT1_OBJS): ...here.
9701
97022011-07-15 Eric Botcazou <ebotcazou@adacore.com>
9703
9704 PR ada/48711
9705 * g-socthi-mingw.adb (Fill): Fix formatting.
9706
9707 * gcc-interface/gigi.h: Move around comment.
9708
97092011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9710
9711 PR ada/46350
9712 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
9713
97142011-07-14 Florian Weimer <fw@deneb.enyo.de>
9715
9716 PR ada/48711
9717 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
9718
97192011-07-13 Eric Botcazou <ebotcazou@adacore.com>
9720
9721 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
9722 range comparison if Pmode is SImode.
9723
97242011-07-12 Laurent GUERBY <laurent@guerby.net>
9725 Eric Botcazou <ebotcazou@adacore.com>
9726
9727 * adadecode.c: Wrap up in extern "C" block.
9728 * adadecode.h: Likewise.
9729 * adaint.c: Likewise. Remove 'const' keyword.
9730 * adaint.h: Likewise.
9731 * argv.c: Likewise.
9732 * atree.h: Likewise.
9733 * cio.c: Likewise.
9734 * cstreams.c: Likewise.
9735 * env.c: Likewise.
9736 * exit.c: Likewise.
9737 * fe.h: Likewise.
9738 * final.c: Likewise.
9739 * init.c: Likewise.
9740 * initialize.c: Likewise.
9741 * link.c: Likewise.
9742 * namet.h: Likewise.
9743 * nlists.h: Likewise.
9744 * raise.c: Likewise.
9745 * raise.h: Likewise.
9746 * repinfo.h: Likewise.
9747 * seh_init.c: Likewise.
9748 * targext.c: Likewise.
9749 * tracebak.c: Likewise.
9750 * uintp.h: Likewise.
9751 * urealp.h: Likewise.
9752 * xeinfo.adb: Wrap up generated C code in extern "C" block.
9753 * xsinfo.adb: Likewise.
9754 * xsnamest.adb: Likewise.
9755 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
9756 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
9757 * gcc-interface/misc.c: Likewise.
9758 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
9759 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
9760 ada/targext.o here...
9761 (GNAT_ADA_OBJS): ...and not here.
9762 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
9763 (GNATBIND_OBJS): Reorder.
9764
97652011-07-07 Richard Henderson <rth@redhat.com>
9766
9767 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
9768 dwarf2out_frame_init.
9769
97702011-07-07 Eric Botcazou <ebotcazou@adacore.com>
9771
9772 * gcc-interface/misc.c (gnat_init): Tweak previous change.
9773
97742011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9775
9776 PR target/39150
9777 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
9778
97792011-07-06 Richard Guenther <rguenther@suse.de>
9780
9781 * gcc-interface/misc.c (gnat_init): Merge calls to
9782 build_common_tree_nodes and build_common_tree_nodes_2.
9783 Re-initialize boolean_false_node.
9784
97852011-07-02 Eric Botcazou <ebotcazou@adacore.com>
9786 Olivier Hainque <hainque@adacore.com>
9787 Nicolas Setton <setton@adacore.com>
9788
9789 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
9790 the type according to the ARTIFICIAL_P parameter.
9791 (create_type_decl): Likewise.
9792 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
9793
97942011-07-01 Eric Botcazou <ebotcazou@adacore.com>
9795
9796 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
9797 (gnatbind): Likewise.
9798
97992011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9800
9801 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
9802
98032011-06-18 Eric Botcazou <ebotcazou@adacore.com>
9804
9805 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
9806 local variable throughout. Remove useless call to Base_Type.
9807 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
9808 Take it also into account for the volatileness of the field. Set the
9809 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
9810
98112011-06-18 Eric Botcazou <ebotcazou@adacore.com>
9812
9813 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
9814 on a dereference built for a by-ref object if it has an address clause.
9815
98162011-06-18 Eric Botcazou <ebotcazou@adacore.com>
9817
9818 * einfo.ads (Address_Taken): Document use for the second argument of
9819 Asm_Input and Asm_Output attributes.
9820 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
9821 argument is an entity name, then set Address_Taken on it.
9822 <Attribute_Asm_Output>: Likewise.
9823 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
9824 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
9825 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
9826 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
9827
98282011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
9829
9830 PR middle-end/46500
9831 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
9832
98332011-06-14 Joseph Myers <joseph@codesourcery.com>
9834
9835 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
9836 (ada/utils.o): Update dependencies.
9837 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
9838 ../../../libcpp/libcpp.a.
9839 * gcc-interface/utils.c: Include common/common-target.h.
9840 (process_attributes): Use targetm_common.have_named_sections.
9841
98422011-06-07 Richard Guenther <rguenther@suse.de>
9843
9844 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
9845 set_sizetype.
9846
98472011-06-06 Eric Botcazou <ebotcazou@adacore.com>
9848
9849 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
9850 TREE_THIS_NOTRAP flag.
9851
98522011-06-06 Eric Botcazou <ebotcazou@adacore.com>
9853
9854 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
9855 Fix thinko.
9856
98572011-06-06 Eric Botcazou <ebotcazou@adacore.com>
9858
9859 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
9860 constants whose full view has discriminants specially.
9861
98622011-06-06 Eric Botcazou <ebotcazou@adacore.com>
9863
9864 * gcc-interface/utils.c: Include diagnostic.h.
9865 (gnat_write_global_declarations): Output debug information for all
9866 global type declarations before finalizing the compilation unit.
9867 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
9868
98692011-05-25 Jakub Jelinek <jakub@redhat.com>
9870
9871 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
9872
98732011-05-25 Kai Tietz <ktietz@redhat.com>
9874
9875 * adaint.c (__gnat_to_canonical_file_list_next): Use array
9876 initialization instead of const/none-const pointer assignment.
9877
98782011-05-24 Joseph Myers <joseph@codesourcery.com>
9879
9880 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
9881 $(EXTRA_GNAT1_OBJS).
9882 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
9883 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
9884 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
9885 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
9886 libcommon-target.a instead of prefix.o.
9887
98882011-05-21 Joseph Myers <joseph@codesourcery.com>
9889
9890 PR ada/49097
9891 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
9892
98932011-05-20 Joseph Myers <joseph@codesourcery.com>
9894
9895 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
9896 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
9897 instead of version.o.
9898
98992011-05-18 Kai Tietz <ktietz@redhat.com>
9900
9901 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
9902 boolean_false_node instead of integer_zero_node.
9903 (convert_with_check): Likewise.
9904 * gcc-interface/decl.c (choices_to_gnu): Likewise.
9905
99062011-05-12 Eric Botcazou <ebotcazou@adacore.com>
9907
9908 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
9909 type of the parameter is an unconstrained array, convert the actual to
9910 the type of the formal in the In Out and Out cases as well.
9911
99122011-05-11 Nathan Froyd <froydnj@codesourcery.com>
9913
9914 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
9915 call build_function_type_array or build_varargs_function_type_array
9916 instead.
9917 (create_subprog_type): Don't call build_function_type; call
9918 build_function_type_vec instead.
9919
99202011-05-11 Nathan Froyd <froydnj@codesourcery.com>
9921
9922 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
9923 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
9924 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
9925
99262011-05-07 Eric Botcazou <ebotcazou@adacore.com>
9927
9928 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
9929
9930 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
9931 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
9932
99332011-05-05 Nathan Froyd <froydnj@codesourcery.com>
9934
9935 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
9936
99372011-05-05 Nathan Froyd <froydnj@codesourcery.com>
9938
9939 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
9940 instead of accessing TYPE_ARG_TYPES directly.
9941 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
9942
99432011-05-05 Eric Botcazou <ebotcazou@adacore.com>
9944
9945 PR ada/48844
9946 * gcc-interface/gigi.h (get_variant_part): Declare.
9947 * gcc-interface/decl.c (get_variant_part): Make global.
9948 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
9949 types have the same constant size, are record types and T1 has a
9950 variant part while T2 doesn't.
9951
99522011-05-05 Eric Botcazou <ebotcazou@adacore.com>
9953
9954 * gcc-interface/utils.c (begin_subprog_body): Do not call
9955 get_pending_sizes.
9956 (end_subprog_body): Likewise.
9957
99582011-05-04 Richard Guenther <rguenther@suse.de>
9959
9960 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
9961 int_const_binop.
9962 (pos_to_constructor): Likewise.
9963
99642011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2c7f9cc0 9965 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
9966
9967 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
9968 of build_function_type. Adjust calls to...
9969 (build_raise_check): ...this. Do not take a void_tree parameter.
9970 Call build_function_type_list instead of build_function_type.
9971 Fix head comment and swap couple of conditional blocks.
9972
99732011-04-30 Eric Botcazou <ebotcazou@adacore.com>
9974
9975 * gnatvsn.ads (Library_Version): Bump to 4.7.
9976 (Current_Year): Bump to 2011.
9977
99782011-04-29 Michael Matz <matz@suse.de>
9979
9980 * gcc-interface/misc.c (gnat_handle_option): Set
9981 warn_maybe_uninitialized.
9982
99832011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
9984
9985 * gnat_ugn.texi (Complexity Metrics Control): Update link to
9986 the Watson/McCabe paper.
9987
99882011-04-23 Jim Meyering <meyering@redhat.com>
9989
9990 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
9991
99922011-04-22 Eric Botcazou <ebotcazou@adacore.com>
9993
9994 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
9995 onto the new type.
9996
99972011-04-22 Eric Botcazou <ebotcazou@adacore.com>
9998
9999 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
10000 parameter.
10001 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
10002 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
10003 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
10004 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
10005 <all>: Do not set flags on the reused DECL node coming from an alias.
10006 Set DECL_IGNORED_P on the DECL node built for subprograms if they
10007 don't need debug info here...
10008 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
10009 (gigi): Adjust calls to create_subprog_decl.
10010 (build_raise_check): Likewise.
10011 (establish_gnat_vms_condition_handler): Likewise.
10012 (Compilation_Unit_to_gnu): Likewise.
10013 (gnat_to_gnu): Likewise.
10014
100152011-04-21 Eric Botcazou <ebotcazou@adacore.com>
10016
10017 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
10018 (NO_REORDER_ADAFLAGS): New variable.
10019 (EXTRA_GNATTOOLS): Always define.
10020 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
10021 Clean up and adjust list of files compiled with special options.
10022 * gcc-interface/Make-lang.in: Likewise.
10023 (ada/decl.o): Cosmetical change.
10024 (ada/misc.o): Remove dependency on $(PLUGIN_H).
10025
100262011-04-20 Jim Meyering <meyering@redhat.com>
10027
10028 * initialize.c (__gnat_initialize): Remove useless if-before-free.
10029
100302011-04-17 Eric Botcazou <ebotcazou@adacore.com>
10031
10032 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
10033 $(CFLAGS) on the link line.
10034
100352011-04-17 Eric Botcazou <ebotcazou@adacore.com>
10036
10037 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
10038 padded type built for the return type if it is unconstrained.
10039
100402011-04-14 Nathan Froyd <froydnj@codesourcery.com>
10041
10042 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
10043
100442011-04-12 Nathan Froyd <froydnj@codesourcery.com>
10045
10046 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
10047 before calling TREE_CHAIN.
10048 * gcc-interface/misc.c (gnat_init_ts): New function.
10049 (LANG_HOOKS_INIT_TS): Define.
10050
100512011-04-12 Martin Jambor <mjambor@suse.cz>
10052
10053 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
10054 instead of cgraph_node.
10055
100562011-04-08 Eric Botcazou <ebotcazou@adacore.com>
10057
10058 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
10059 alignment on fields of the RETURN type built for the Copy-In Copy-Out
10060 mechanism.
10061
100622011-04-08 Eric Botcazou <ebotcazou@adacore.com>
10063
10064 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
10065 of aggregate types that contain a placeholder.
10066
100672011-04-08 Nathan Froyd <froydnj@codesourcery.com>
10068
10069 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
10070 TYPE_ARG_TYPES.
10071 (handle_type_generic_attribute): Likewise.
10072
100732011-04-04 Eric Botcazou <ebotcazou@adacore.com>
10074
10075 PR ada/47163
10076 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
10077
100782011-04-04 Kai Tietz <ktietz@redhat.com>
10079
10080 PR ada/47163
10081 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
10082 to flag value.
10083
100842011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10085
10086 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
10087 type case, do not strip a padding type around the array type.
10088
100892011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10090
10091 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
10092 types.
10093
100942011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10095
10096 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
10097 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
10098 code for -feliminate-unused-debug-types.
10099 (gnat_post_options): Likewise.
10100
101012011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10102
10103 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
10104 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
10105 distinct copy.
10106
101072011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10108
10109 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
10110 DECL_ARTIFICIAL flag on enumeration types.
10111
101122011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10113
10114 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
10115 fat pointer types artificial unconditionally.
10116 <E_Array_Subtype>: Attach the base array type as a parallel type if it
10117 isn't artificial.
10118
101192011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10120
10121 * gcc-interface/gigi.h (get_dummy_type): Declare.
10122 (build_dummy_unc_pointer_types): Likewise.
10123 (finish_fat_pointer_type): Likewise.
10124 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
10125 fat pointer type has been built, complete it in place.
10126 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
10127 and thin pointers. Remove useless variable.
10128 (finish_fat_pointer_type): Make global and move to...
10129 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
10130 (get_dummy_type): New function.
10131 (build_dummy_unc_pointer_types): Likewise.
10132 (gnat_pushdecl): Propage the name to the anonymous variants only.
10133 (update_pointer_to): Only adjust the pointer types in the unconstrained
10134 array case.
10135
101362011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10137
10138 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
10139 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
10140 if this is a Taft amendment type and the full declaration is available.
10141 * gcc-interface/trans.c (process_type): Likewise.
10142 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
10143 (process_freeze_entity): Likewise.
10144 * gcc-interface/utils.c (dummy_global): New static variable.
10145 (gnat_write_global_declarations): If there are types declared as used
10146 at the global level, insert them in the global hash table.
10147
101482011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10149
10150 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
10151 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
10152 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
10153 copy.
10154 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
10155 flag of the type accordingly.
10156 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
10157
101582011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10159
10160 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
10161 finalizing types when updating the pointers to the designated type.
10162 <all>: Finalize the deferred types even if we didn't defer processing
10163 of incomplete types in this invocation.
10164
101652011-04-01 Olivier Hainque <hainque@adacore.com>
2c7f9cc0
AS
10166 Nicolas Setton <setton@adacore.com>
10167 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
10168
10169 * gcc-interface/misc.c (gnat_descriptive_type): New function.
10170 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
10171
101722011-03-28 Kai Tietz <ktietz@redhat.com>
10173
10174 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
10175 Windows targets.
10176 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
10177 * system-mingw.ads (System): Change ZCX_By_Default default to True.
10178
10179 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
10180
101812011-03-28 Tristan Gingold <gingold@adacore.com>
10182
10183 PR ada/44431
10184 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
10185 Use ada output of gnatbind.
10186 (ada/b_gnatb.adb): Ditto.
10187 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
10188 (ada.mostlyclean, ada.stage1)
10189 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
10190 (ada.stagefeedback): Adjust.
10191 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
10192 Use ada output of gnatbind.
10193 (b_gnatm.adb): Ditto.
10194 (b_gnatl.o, b_gnatm.o): New rules.
10195
101962011-03-26 Eric Botcazou <ebotcazou@adacore.com>
10197
10198 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
10199 for the padded type built to support a specified size or alignment.
10200
102012011-03-26 Eric Botcazou <ebotcazou@adacore.com>
10202
10203 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
10204 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
10205 unconditionally to the end of the unit when the designated type is
10206 limited_with'ed.
10207 <all>: Rename local variable. Attempt to un-defer types only and do it
10208 for limited_with'ed types as well.
10209 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
10210 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
10211 consistently and remove redundant call to finalize_from_with_types.
10212
102132011-03-26 Eric Botcazou <ebotcazou@adacore.com>
10214
10215 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
10216 subprograms without a previous spec declared in the same unit.
10217 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
10218 subprograms at the end of the unit instead of at the beginning.
10219 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
10220 isn't public for the special handling of non-inline functions nested
10221 inside inline external functions.
10222
102232011-03-25 Jeff Law <law@redhat.com>
10224
10225 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
10226
102272011-03-24 Eric Botcazou <ebotcazou@adacore.com>
10228
10229 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
10230 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
10231 to compute Set_Size_Depends_On_Discriminant.
10232 (Layout_Type): Call it on array types in back-end layout mode.
10233 * sem_util.adb (Requires_Transient_Scope): Return true for array
10234 types only if the size depends on the value of discriminants.
10235 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
10236 type if the RHS is a call to a function that returns an unconstrained
10237 type with default discriminant.
10238
102392011-03-24 Eric Botcazou <ebotcazou@adacore.com>
10240
10241 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
10242 non-conversion to the nominal result type at the end.
10243
102442011-03-23 Eric Botcazou <ebotcazou@adacore.com>
10245
10246 * gcc-interface/trans.c (create_temporary): New function taken from...
10247 (create_init_temporary): ...here. Call it.
10248 (call_to_gnu): Create the temporary for the return value early, if any.
10249 Create it for a function with copy-in/copy-out parameters if there is
10250 no target; in other cases of copy-in/copy-out, use another temporary.
10251 Push the new binding level lazily. Add and rename local variables.
10252
102532011-03-23 Eric Botcazou <ebotcazou@adacore.com>
10254
10255 * gcc-interface/decl.c (validate_size): Improve comments and tweak
10256 error message.
10257 (set_rm_size): Likewise.
10258
102592011-03-23 Eric Botcazou <ebotcazou@adacore.com>
10260
10261 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
10262 for the padded type built in order to support a specified alignment.
10263 Fix incorrect formatting.
10264
102652011-03-21 Eric Botcazou <ebotcazou@adacore.com>
10266
10267 PR bootstrap/48216
10268 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
10269
102702011-03-21 Eric Botcazou <ebotcazou@adacore.com>
10271
10272 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
10273 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
10274 to the end of the list. Adjust recursive call. Rename local variable.
10275 If REORDER is true, reorder components of the record type.
10276 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
10277 components_to_record and adjust the parameter list.
10278
102792011-03-21 Eric Botcazou <ebotcazou@adacore.com>
10280
10281 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
10282 disabled, use the variable for bounds of loop iteration scheme.
10283
102842011-03-21 Kai Tietz <ktietz@redhat.com>
10285
10286 PR target/12171
10287 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
10288
102892011-03-17 Eric Botcazou <ebotcazou@adacore.com>
10290
10291 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
10292 out whether the expression is read-only. Short-circuit placeholder
10293 case and rename a couple of local variables.
10294
102952011-03-17 Eric Botcazou <ebotcazou@adacore.com>
10296
10297 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
10298 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
10299 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
10300 (convert): Deal with conversions from a smaller form type specially.
10301
103022011-02-14 Eric Botcazou <ebotcazou@adacore.com>
10303
10304 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
10305 its argument, except for the special -I- switch.
10306
103072011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
10308
10309 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
10310 "Ada Issues".
10311
103122011-02-08 Eric Botcazou <ebotcazou@adacore.com>
10313
10314 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
10315
103162011-02-03 Eric Botcazou <ebotcazou@adacore.com>
10317
10318 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
10319 GNAT_FORMAL.
10320 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
10321 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
10322 instead of GNAT_FORMAL. Protect the expression against multiple uses.
10323 Do not generate the check directly, instead instantiate the template
10324 check present in the descriptor.
10325 (make_descriptor_field): Move around.
10326 (build_vms_descriptor32): Build a template check in the POINTER field.
10327 (build_vms_descriptor): Remove useless suffixes.
10328 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
10329
103302011-01-26 Eric Botcazou <ebotcazou@adacore.com>
10331
10332 PR bootstrap/47467
10333 * targext.c: Include target files if IN_RTS is defined.
10334
103352011-01-26 Richard Guenther <rguenther@suse.de>
10336
10337 PR bootstrap/47467
10338 * targext.c: Include config.h.
10339 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
10340 dependency.
10341
103422011-01-04 Pascal Obry <obry@adacore.com>
2c7f9cc0 10343 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
10344
10345 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
10346
103472011-01-04 Eric Botcazou <ebotcazou@adacore.com>
10348
10349 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
10350 end-of-case on the end label and its associated gotos, if any.
10351
103522011-01-04 Eric Botcazou <ebotcazou@adacore.com>
10353
10354 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
10355 expressions of the parameter cache within the statement group of
10356 the CICO mechanism.
10357
103582011-01-04 Olivier Hainque <hainque@adacore.com>
2c7f9cc0 10359 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
10360
10361 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
10362 (set_end_locus_from_node): New function.
10363 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
10364 make and the function end_locus.
10365 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
10366 for the elaboration subprogram.
10367 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
10368 set the end_locus of the expression as well.
10369
103702011-01-04 Eric Botcazou <ebotcazou@adacore.com>
10371
10372 PR ada/47131
10373 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
10374 variables that are referenced in exception handlers volatile.
10375
10376
10377\f
10378Copyright (C) 2011 Free Software Foundation, Inc.
10379
10380Copying and distribution of this file, with or without modification,
10381are permitted in any medium without royalty provided the copyright
10382notice and this notice are preserved.
10383
10384 * gnat_rm.texi: Ramification of pragma Eliminate documentation
10385 - fix bugs in the description of Source_Trace;
10386 - get rid of UNIT_NAME;
10387
4fbad0ba
AC
103882011-08-02 Javier Miranda <miranda@adacore.com>
10389
10390 * exp_ch9.adb
10391 (Build_Dispatching_Requeue): Adding support for VM targets
10392 since we cannot directly reference the Tag entity.
10393 * exp_sel.adb (Build_K): Adding support for VM targets.
10394 (Build_S_Assignment): Adding support for VM targets.
10395 * exp_disp.adb
10396 (Default_Prim_Op_Position): In VM targets do not restrict availability
10397 of predefined interface primitives to compiling in Ada 2005 mode.
10398 (Is_Predefined_Interface_Primitive): In VM targets this service is not
10399 restricted to compiling in Ada 2005 mode.
10400 (Make_VM_TSD): Generate code that declares and initializes the OSD
10401 record. Needed to support dispatching calls through synchronized
10402 interfaces.
10403 * exp_ch3.adb
10404 (Make_Predefined_Primitive_Specs): Enable generation of predefined
10405 primitives associated with synchronized interfaces.
10406 (Make_Predefined_Primitive_Bodies): Enable generation of predefined
10407 primitives associated with synchronized interfaces.
10408
104092011-08-02 Yannick Moy <moy@adacore.com>
10410
10411 * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
10412 statements hidden in SPARK if preceded by the HIDE directive
10413 (Parse_Exception_Handlers): mark each exception handler in a sequence of
10414 exception handlers as hidden in SPARK if preceded by the HIDE directive
10415 * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
10416 if starting with the HIDE directive
10417 * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
10418 starting with the HIDE directive; mark the declarations in a private
10419 part as hidden in SPARK if the private part starts with the HIDE
10420 directive
10421 * restrict.adb, restrict.ads
10422 (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
10423 (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
10424 argument node belongs to a part which is hidden in SPARK
10425 (Check_SPARK_Restriction): do not issue violations on nodes in hidden
10426 parts in SPARK; protect the possibly costly call to
10427 Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
10428 * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
10429 * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
10430 Accumulate_Token_Checksum_GNAT_5_03): add case for new token
10431 Tok_SPARK_Hide.
10432 (Scan): recognize special comment starting with '#' and followed by
10433 SPARK keyword "hide" as a HIDE directive.
10434
104352011-08-02 Yannick Moy <moy@adacore.com>
10436
10437 * types.ads, erroutc.ads: Minor reformatting.
10438
104392011-08-02 Vincent Celier <celier@adacore.com>
10440
10441 * link.c: Add response file support for cross platforms.
10442
6ff6152d
ES
104432011-08-02 Ed Schonberg <schonberg@adacore.com>
10444
10445 * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
10446 in an association, set parent field of copy before partial analysis.
10447 * sem_res.adb (Resolve_Slice): create reference to itype only when
10448 expansion is enabled.
10449
975c6896
YM
104502011-08-02 Yannick Moy <moy@adacore.com>
10451
10452 * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
10453 for new flag denoting which subprogram bodies are in ALFA
10454 * restrict.adb, sem_ch7.adb: Update comment
10455 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
10456 sem_ch9.adb, sem_res.adb: Add calls to
10457 Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
10458 * sem_ch6.adb (Analyze_Function_Return): add calls to
10459 Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
10460 middle of the body, and extended return.
10461 (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
10462 False when missing return.
10463 (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
10464 to True for subprograms whose spec is in ALFA. Remove later on the flag
10465 on the entity used for a subprogram body when there exists a separate
10466 declaration.
10467 * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
10468 if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
10469 False, otherwise do nothing.
10470
afc8324d
AC
104712011-08-02 Robert Dewar <dewar@adacore.com>
10472
10473 * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
10474
104752011-08-02 Yannick Moy <moy@adacore.com>
10476
10477 * sem_ch4.ads: minor formatting.
10478
2ba431e5
YM
104792011-08-02 Yannick Moy <moy@adacore.com>
10480
10481 * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
10482 debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
10483 errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
10484 restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
10485 opt.ads: cleanup of SPARK mode
10486
0f853035
YM
104872011-08-02 Yannick Moy <moy@adacore.com>
10488
10489 * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
10490 types.
10491 * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
10492 (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
10493 * sem_ch3.adb
10494 (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
10495 (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
10496 (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
10497 (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
10498 types.
10499 (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
10500 non-static range.
10501 * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
10502 functions whose return type is not in ALFA.
10503 (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
10504 specifications.
10505 (Process_Formals): unset Is_In_ALFA flag for subprograms if a
10506 parameter's type is not in ALFA.
10507 * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
10508 types are in ALFA.
10509
d2b10647
ES
105102011-08-02 Ed Schonberg <schonberg@adacore.com>
10511
10512 * sem_ch6 (Analyze_Expression_Function): treat the function as
10513 Inline_Always, and introduce a subprogram declaration for it when it is
10514 not a completion.
10515 * inline.adb (Add_Inlined_Body): recognize bodies that come from
10516 expression functions, so that the back-end can determine whether they
10517 can in fact be inlined.
10518 * sem_util.adb (Is_Expression_Function): predicate to determine whether
10519 a function body comes from an expression function.
10520
c7b9d548
AC
105212011-08-02 Gary Dismukes <dismukes@adacore.com>
10522
10523 * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
10524 null exclusions to test Can_Never_Be_Null on the anonymous access types
10525 of the formals rather than testing the formals themselves. Exclude this
10526 check in cases where the Old_Formal is marked as a controlling formal,
10527 to avoid issuing spurious errors for bodies completing dispatching
10528 operations (due to the flag not getting set on controlling access
10529 formals in body specs).
10530 (Find_Corresponding_Spec): When checking full and subtype conformance of
10531 subprogram bodies in instances, pass Designated and E in that order, for
10532 consistency with the expected order of the formals (New_Id followed by
10533 Old_Id).
10534
105352011-08-02 Robert Dewar <dewar@adacore.com>
10536
10537 * sem_ch8.adb: Minor reformatting.
10538
1138cf59
AC
105392011-08-02 Ed Schonberg <schonberg@adacore.com>
10540
10541 * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
10542 Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
10543 primitive operations of class-wide actuals.
10544
105452011-08-02 Javier Miranda <miranda@adacore.com>
10546
10547 * exp_atag.ads, exp_atag.adb
10548 (Build_Common_Dispatching_Select_Statements): Remove argument Loc
10549 since its value is implicitly passed in argument Typ.
10550 * exp_disp.adb (Make_Disp_Conditional_Select_Body,
10551 Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
10552 Build_Common_Dispatching_Select_Statements.
10553
7b9db926
RD
105542011-08-02 Robert Dewar <dewar@adacore.com>
10555
10556 * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
10557 exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
10558 Minor reformatting.
10559
e8374e7a
AC
105602011-08-02 Robert Dewar <dewar@adacore.com>
10561
10562 * sem_res.adb: Minor reformatting.
10563 * sem_prag.adb: Minor reformatting.
10564
105652011-08-02 Javier Miranda <miranda@adacore.com>
10566
10567 * exp_atag.adb, exp_atags.ads
10568 (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
10569 by the tagged type Entity. Required to use this routine in the VM
10570 targets since we do not have available the Tag entity in the VM
10571 platforms.
10572 * exp_ch6.adb
10573 (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
10574 Ada.Tags has not been previously loaded.
10575 * exp_ch7.adb
10576 (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
10577 Build_VM_TSDs if package Ada.Tags has not been previously loaded.
10578 * sem_aux.adb
10579 (Enclosing_Dynamic_Scope): Add missing support to handle the full
10580 view of enclosing scopes. Required to handle enclosing scopes that
10581 are synchronized types whose full view is a task type.
10582 * exp_disp.adb
10583 (Build_VM_TSDs): Minor code improvement to avoid generating and
10584 analyzing lists with empty nodes.
10585 (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
10586 (Make_Disp_Conditional_Select_Body): Add support for VM targets.
10587 (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
10588 (Make_Disp_Timed_Select_Body): Add support for VM targets.
10589 (Make_Select_Specific_Data_Table): Add support for VM targets.
10590 (Make_VM_TSD): Generate code to initialize the SSD structure of
10591 the TSD.
10592
105932011-08-02 Yannick Moy <moy@adacore.com>
10594
10595 * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
10596 cross-references section in ALI.
10597 * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
10598 (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
10599 Sub).
10600 (Enclosing_Subprogram_Or_Package): new function to return the enclosing
10601 subprogram or package entity of a node
10602 (Is_Local_Reference_Type): new function returns True for references
10603 selected in local cross-references.
10604 (Lt): function extracted from Lt in Output_References
10605 (Write_Entity_Name): function extracted from Output_References
10606 (Generate_Definition): generate reference with type 'D' for definition
10607 of objects (object declaration and parameter specification), with
10608 appropriate locations and units, for use in local cross-references.
10609 (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
10610 references of type 'I' for initialization in object definition.
10611 (Output_References): move part of function Lt and procedure
10612 Write_Entity_Name outside of the body. Ignore references of types 'D'
10613 and 'I' introduced for local cross-references.
10614 (Output_Local_References): new procedure to output the local
10615 cross-references sections.
10616 (Lref_Entity_Status): new array defining whether an entity is a local
10617 * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
10618 with 'I' type when initialization expression is present.
10619 * get_scos.adb, get_scos.ads: Correct comments and typos
10620
1f6439e3
AC
106212011-08-02 Javier Miranda <miranda@adacore.com>
10622
10623 * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
10624 the JVM target.
10625 * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
10626 the JVM target.
10627 * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
10628 TSD support.
10629
106302011-08-02 Vincent Celier <celier@adacore.com>
10631
10632 * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
10633 (No_Space_Img): New function
10634 (Find_Excluded_Sources): When reading from a file, record the file name
10635 and the line number for each excluded source.
10636 (Mark_Excluded_Sources): When reporting an error, if the excluded
10637 sources were read from a file, include file name and line number in
10638 the error message.
10639
106402011-08-02 Ed Schonberg <schonberg@adacore.com>
10641
10642 * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
10643
ab027d28
RD
106442011-08-02 Robert Dewar <dewar@adacore.com>
10645
10646 * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
10647
b3b28b0c
JM
106482011-08-02 Javier Miranda <miranda@adacore.com>
10649
10650 * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
10651 generation of TSDs to the DOTNET compiler.
10652 * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
10653 generation of TSDs to the DOTNET compiler.
10654
9732e886
JM
106552011-08-02 Javier Miranda <miranda@adacore.com>
10656
10657 * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
10658 record of all the tagged types declared inside library level package
10659 declarations, library level package bodies or library level subprograms.
10660 * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
10661 associated with a given tagged type.
10662 (Build_VM_TSDs): New subprogram.
10663 * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
10664 compilation units that are subprograms.
10665 * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
10666 compilation units that are package bodies.
10667 (Expand_N_Package_Declaration): Generate TSDs of the main compilation
10668 units that are a package declaration or a package instantiation.
10669 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
10670 reorganization to improve the error generated by the frontend when the
10671 function Ada.Tags.Secondary_Tag is not available.
10672 * rtsfind.ads (RE_Register_TSD): New runtime entity.
10673 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
10674
e526d0c7
AC
106752011-08-02 Javier Miranda <miranda@adacore.com>
10676
10677 * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
10678
106792011-08-02 Robert Dewar <dewar@adacore.com>
10680
10681 * s-imenne.ads: Minor reformatting.
10682
106832011-08-02 Robert Dewar <dewar@adacore.com>
10684
10685 * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
10686 * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
10687 * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
10688
106892011-08-02 Robert Dewar <dewar@adacore.com>
10690
10691 * einfo.ads (Materialize_Entity): Document this is only for renamings
10692 * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
10693 required debug information in the case where we transform the object
10694 declaration into a renaming declaration.
10695 * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
10696 object
10697 * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
10698 Materialize_Entity.
10699
5b1e6aca
RD
107002011-08-02 Robert Dewar <dewar@adacore.com>
10701
10702 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
10703 Suppress_Init_Procs.
10704 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
10705 Suppress_Initialization/Initialization_Suppressed.
10706 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
10707 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
10708 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
10709 * sem_prag.adb: New processing for pragma Suppress_Initialization.
10710
5ad4969d
RD
107112011-08-02 Robert Dewar <dewar@adacore.com>
10712
10713 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
10714 Minor reformatting.
10715
8c4ee6f5
AC
107162011-08-02 Ed Schonberg <schonberg@adacore.com>
10717
10718 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
10719 only have inheritable classwide pre/postconditions.
10720
107212011-08-02 Javier Miranda <miranda@adacore.com>
10722
10723 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
10724 * rtsfind.ads (RE_Check_TSD): New runtime entity.
10725 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
10726 checks if the external tag of a type is the same as the external tag
10727 of some other declaration.
10728
0b3d16c0
AC
107292011-08-02 Thomas Quinot <quinot@adacore.com>
10730
10731 * s-taskin.ads: Minor reformatting.
10732
107332011-08-02 Emmanuel Briot <briot@adacore.com>
10734
10735 * g-comlin.adb (Display_Help): swap the order in which it prints the
10736 short help and the general usage.
10737
107382011-08-02 Ed Schonberg <schonberg@adacore.com>
10739
10740 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
10741 the aspect declarations and attach them to the generic copy for
10742 subsequent analysis.
10743 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
10744 declarations of the generic tree to the new subprogram declarations.
10745 * sem_attr.adb (Check_Precondition_Postcondition): recognize
10746 conditions that apply to a subprogram instance.
10747
107482011-08-02 Robert Dewar <dewar@adacore.com>
10749
10750 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
10751
107522011-08-02 Ed Schonberg <schonberg@adacore.com>
10753
10754 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
10755 private type with a tagged full view is not derived in the immediate
10756 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
10757
4637729f
AC
107582011-08-02 Robert Dewar <dewar@adacore.com>
10759
10760 * exp_ch4.adb: Minor reformatting.
10761
107622011-08-02 Ed Schonberg <schonberg@adacore.com>
10763
10764 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
10765 Ada2012 iterator, the loop will be rewritten during expansion into a
10766 while loop with a cursor and an element declaration. Do not analyze the
10767 body in this case, because if the container is for indefinite types the
10768 actual subtype of the elements will only be determined when the cursor
10769 declaration is analyzed.
10770
107712011-08-02 Arnaud Charlet <charlet@adacore.com>
10772
10773 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
10774 size/alignment related attributes in CodePeer_Mode.
10775
107762011-08-02 Gary Dismukes <dismukes@adacore.com>
10777
10778 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
10779 Prepend_Element, since this can result in the operation getting the
10780 wrong slot in the full type's dispatch table if the full type has
10781 inherited operations. The incomplete type's operation will get added
10782 to the proper position in the full type's primitives
10783 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
10784 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
10785 dispatching operations, since there are cases where nonprimitive
10786 subprograms can get added to the list of incomplete dependents (such
10787 as subprograms in nested packages).
10788 * sem_ch6.adb (Process_Formals): First, remove test for being in a
10789 private part when determining whether to add a primitive with a
10790 parameter of a tagged incomplete type to the Private_Dependents list.
10791 Such primitives can also occur in the visible part, and should not have
10792 been excluded from being private dependents.
10793 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
10794 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
10795 list of a Taft-amendment incomplete type is a primitive before issuing
10796 an error that the full type must appear in the same unit. There are
10797 cases where nonprimitives can be in the list (such as subprograms in
10798 nested packages).
10799 * sem_disp.adb (Derives_From): Use correct condition for checking that
10800 a formal's type is derived from the type of the corresponding formal in
10801 the parent subprogram (the condition was completely wrong). Add
10802 checking that was missing for controlling result types being derived
10803 from the result type of the parent operation.
10804
4c60de0c
YM
108052011-08-02 Yannick Moy <moy@adacore.com>
10806
10807 * errout.adb (First_Node): minor renaming
10808 * restrict.adb (Check_Formal_Restriction): put restriction warning on
10809 first node.
10810
f5afb270
AC
108112011-08-02 Yannick Moy <moy@adacore.com>
10812
10813 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
10814 before accessing operands.
10815 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
10816 decide whether an initialization expression respects SPARK rules, as
10817 the plain node is the expanded one. This allows for more valid warnings
10818 to be issued.
10819 * gnat_rm.texi: Minor update.
10820
108212011-08-02 Arnaud Charlet <charlet@adacore.com>
10822
10823 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
10824 previous change.
10825
108262011-08-02 Robert Dewar <dewar@adacore.com>
10827
10828 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
10829
108302011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
10831
10832 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
10833 loop statements and the element renaming declaration with a block when
10834 the element type is controlled.
10835
108362011-08-02 Yannick Moy <moy@adacore.com>
10837
10838 * sinfo.ads: Minor formatting.
10839
108402011-08-02 Ed Schonberg <schonberg@adacore.com>
10841
10842 * sem_aggr.adb (Add_Association): if the association has a box and no
10843 expression, use the Sloc of the aggregate itself for the new
10844 association.
10845 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
10846 the Original_Node.
10847
db72f10a
AC
108482011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
10849
10850 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
10851 When a container is provided via a function call, generate a renaming
10852 of the function result. This avoids the creation of a transient scope
10853 and the premature finalization of the container.
10854 * exp_ch7.adb (Is_Container_Cursor): Removed.
10855 (Wrap_Transient_Declaration): Remove the supression of the finalization
10856 of the list controller when the declaration denotes a container cursor,
10857 it is not needed.
10858
108592011-08-02 Yannick Moy <moy@adacore.com>
10860
10861 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
10862 node is from source, instead of the original node being from source.
10863 * sem_aggr.adb
10864 (Resolve_Array_Aggregate): refine the check for a static expression, to
10865 recognize also static ranges
10866 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
10867 Array_Type_Declaration): postpone the test for the type being a subtype
10868 mark after the type has been resolved, so that component-selection and
10869 expanded-name are discriminated.
10870 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
10871 to distinguish the case of an iteration scheme, so that an error is
10872 issed on a non-static range in SPARK except in an iteration scheme.
10873 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
10874 In_Iter_Schm = True.
10875 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
10876 user-defined operators so that they are allowed in renaming
10877 * sem_ch8.adb
10878 (Find_Selected_Component): refine the check for prefixing of operators
10879 so that they are allowed in renaming. Move the checks for restrictions
10880 on selector name after analysis discriminated between
10881 component-selection and expanded-name.
10882 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
10883 concatenation argument of string type if it is static.
10884 * sem_util.adb, sem_util.ads
10885 (Check_Later_Vs_Basic_Declarations): add a new function
10886 Is_Later_Declarative_Item to decice which declarations are allowed as
10887 later items, in the two different modes Ada 83 and SPARK. In the SPARK
10888 mode, add that renamings are considered as later items.
10889 (Enclosing_Package): new function to return the enclosing package
10890 (Enter_Name): correct the rule for homonyms in SPARK
10891 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
10892 from source (result of expansion) to avoid issuing wrong warnings.
10893
108942011-08-02 Ed Schonberg <schonberg@adacore.com>
10895
10896 * errout.adb: On anything but an expression First_Node returns its
10897 argument.
10898
23685ae6
AC
108992011-08-02 Pascal Obry <obry@adacore.com>
10900
10901 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
10902
109032011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
10904
10905 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
10906 Set the associated loop as the related expression of internally
10907 generated cursors.
10908 * exp_ch7.adb (Is_Container_Cursor): New routine.
10909 (Wrap_Transient_Declaration): Supress the finalization of the list
10910 controller when the declaration denotes a container cursor.
10911
109122011-08-02 Yannick Moy <moy@adacore.com>
10913
10914 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
10915 command line now.
10916 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
10917 expression is a simple expression. This check cannot be performed in
10918 the semantics, so just drop it.
10919 (P_Index_Or_Discriminant_Constraint): move check that the index or
10920 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
10921 semantics. Other cases were previously checked in the semantics.
10922 * par-ch4.adb (P_Name): move checks that a selector name is not
10923 character literal or an operator symbol to Find_Selected_Component in
10924 the semantics
10925 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
10926 declarations are not placed after later declarations in a separate
10927 procedure in Sem_Util (possibly not the best choice?), to be used both
10928 during parsing, for Ada 83 mode, and during semantic analysis, for
10929 SPARK mode.
10930 * par-endh.adb (Check_End): move check that end label is not missing
10931 to Process_End_Label in the semantics
10932 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
10933 the special case for SPARK restriction
10934 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
10935 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
10936 parameter Force to issue the error message even on internal node (used
10937 for generated end label). Call Check_Restriction to check when an error
10938 must be issued. In SPARK mode, issue an error message even if the
10939 restriction is not set.
10940 (Check_Restriction): new procedure with an additional out parameter to
10941 inform the caller that a message has been issued
10942 * sem_aggr.adb: Minor modification of message
10943 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
10944 instead of issuing an error message directly
10945 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
10946 declarations are not placed after later declarations, by calling
10947 Check_Later_Vs_Basic_Declarations
10948 (Analyze_Subtype_Declaration): move here the check that an index or
10949 discriminant constraint must be a subtype mark. Change the check that
10950 a subtype of String must start at one so that it works on subtype marks.
10951 * sem_ch4.adb (Analyze_Call): move here the check that a named
10952 association cannot follow a positional one in a call
10953 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
10954 instead of issuing an error message directly
10955 * sem_ch8.adb (Find_Selected_Component): move here the check that a
10956 selector name is not a character literal or an operator symbol. Move
10957 here the check that the prefix of an expanded name cannot be a
10958 subprogram or a loop statement.
10959 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
10960 procedure called from parsing and semantics to check that basic
10961 declarations are not placed after later declarations
10962 (Process_End_Label): move here the check that end label is not missing
10963
109642011-08-02 Arnaud Charlet <charlet@adacore.com>
10965
10966 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
10967 representation clause in codepeer mode, since it confuses CodePeer and
10968 does not bring useful info.
10969
109702011-08-02 Ed Falis <falis@adacore.com>
10971
10972 * init.c: initialize fp hw on MILS.
10973
109742011-08-02 Ed Schonberg <schonberg@adacore.com>
10975
10976 * errout.adb (First_Node): for bodies, return the node itself (small
10977 optimization). For other nodes, do not check source_unit if the node
10978 comes from Standard.
10979
d2d9cc22
AC
109802011-08-02 Robert Dewar <dewar@adacore.com>
10981
10982 * exp_ch3.adb: Minor comment additions.
10983 * sem_ch13.adb: Minor reformatting.
10984
109852011-08-02 Pascal Obry <obry@adacore.com>
10986
10987 * make.adb, makeutl.adb: Removes some superfluous directory separator.
10988
a01b9df6
AC
109892011-08-02 Robert Dewar <dewar@adacore.com>
10990
10991 * sem_attr.adb: Minor reformatting.
10992
109932011-08-02 Robert Dewar <dewar@adacore.com>
10994
10995 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
10996 (Has_Default_Component_Value): Removed
10997 * einfo.ads Comment updates
10998 (Has_Default_Aspect): Replaces Has_Default_Value
10999 (Has_Default_Component_Value): Removed
11000 * exp_ch13.adb
11001 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
11002 * exp_ch3.adb
11003 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
11004 (Get_Simple_Init_Val): Handle Default_Value aspect
11005 (Needs_Simple_Initialization): Handle Default_Value aspect
11006 * exp_ch3.ads: Needs_Simple_Initialization
11007 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
11008 * par-prag.adb (Pragma_Default[_Component]Value) Removed
11009 * sem_ch13.adb
11010 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
11011 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
11012 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
11013
110142011-08-02 Ed Schonberg <schonberg@adacore.com>
11015
11016 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
11017 package containing iteration primitives.
11018 exp_ch5.adb (Expand_Iterator_Loop): ditto.
11019
75c90775
AC
110202011-08-02 Ed Schonberg <schonberg@adacore.com>
11021
11022 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
11023 "of", pre-analyze expression in case it is a function call with
11024 finalization actions that must be placed ahead of the loop.
11025 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
11026 on an Ada2012 iterator, insert them ahead of the rewritten loop.
11027
110282011-08-02 Geert Bosch <bosch@adacore.com>
11029
11030 * cstand.adb (Create_Float_Types): Only consider C's long double for
11031 Long_Long_Float, in addition to double.
11032
ded8909b
AC
110332011-08-02 Robert Dewar <dewar@adacore.com>
11034
11035 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
11036 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
11037 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
11038 Minor reformatting.
11039
110402011-08-02 Ed Schonberg <schonberg@adacore.com>
11041
11042 * sem_attr.adb: handle properly 'Result when it is a prefix of an
11043 indexed component.
11044
110452011-08-02 Javier Miranda <miranda@adacore.com>
11046
11047 * einfo.ads, einfo.adb
11048 (Original_Access_Type): Move this attribute to Node26 since there was
11049 an undocumented use of Node21 in E_Access_Subprogram_Type entities
11050 which causes conflicts and breaks the generation of the .NET compiler.
11051 (Interface_Name): Add missing documentation on JGNAT only uses of
11052 this attribute.
11053
70c34e1c
AC
110542011-08-02 Geert Bosch <bosch@adacore.com>
11055
11056 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
11057 (Find_Back_End_Float_Type): Likewise
11058 (Create_Back_End_Float_Types): Likewise
11059 (Create_Float_Types): Likewise
11060 (Register_Float_Type): Likewise
11061 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
11062 Nlist and split out type selection in new local Find_Base_Type function.
11063 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
11064 Nlist
11065 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
11066
110672011-08-02 Robert Dewar <dewar@adacore.com>
11068
11069 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
11070 alpha order).
11071 * opt.ads: Minor comment change.
11072 * sem_ch12.adb: Minor code reorganization.
11073
b715bc59
AC
110742011-08-02 Gary Dismukes <dismukes@adacore.com>
11075
11076 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
11077 subtype's list of rep items to the list on the full subtype in the case
11078 where the lists are the same.
11079
110802011-08-02 Geert Bosch <bosch@adacore.com>
11081
11082 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
11083 using the one from System.Strings, which also deallocates all strings.
11084
002bdd68
AC
110852011-08-02 Geert Bosch <bosch@adacore.com>
11086
11087 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
11088 function.
11089 * gcc-interface/Make-lang.in: Update dependencies.
11090
110912011-08-02 Olivier Hainque <hainque@adacore.com>
11092
11093 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
11094 end_locus.
11095
499769ec
AC
110962011-08-02 Javier Miranda <miranda@adacore.com>
11097
11098 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
11099 associated with anonymous access to subprograms.
11100
111012011-08-02 Geert Bosch <bosch@adacore.com>
11102
11103 * opt.ads
11104 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
11105 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
11106 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
11107 (Add_Symbol_Definition): Move to switch-c.adb
11108 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
11109 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
11110 (Add_Symbol_Definition): Move to switch-c.adb.
11111 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
11112 * sem_warn.adb
11113 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
11114 Move to warnsw.adb.
11115 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
11116 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
11117 Move to warnsw.adb.
11118 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
11119 (Add_Symbol_Definition): Moved from Prepcomp.
11120 * switch-c.ads: Update copyright notice. Use String_List instead of
11121 Argument_List, removing dependency on System.OS_Lib.
11122
aa1e353a
AC
111232011-08-02 Yannick Moy <moy@adacore.com>
11124
11125 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
11126 mode on initialization expression which does not respect SPARK
11127 restrictions.
11128 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
11129 if the tree referenced by its argument represents an initialization
11130 expression in SPARK, suitable for initializing an object in an object
11131 declaration.
11132
111332011-08-02 Javier Miranda <miranda@adacore.com>
11134
11135 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
11136 internally generated access to subprogram with its associated protected
11137 subprogram type.
11138 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
11139
15b682ca
GB
111402011-08-02 Geert Bosch <bosch@adacore.com>
11141
11142 * cstand.adb (Register_Float_Type): Print information about type to
11143 register, if the Debug_Flag_Dot_B is set.
11144 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
11145 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
11146 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
11147 with a requested precision of more than Max_Digits digits and no more
11148 than Max_Base_Digits digits, if a range specification is present and the
11149 Predefined_Float_Types list has a suitable type to derive from.
11150 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
11151 case of type completion with pragma Import
11152 * sem_prag.adb
11153 (Process_Import_Predefined_Type): Processing to complete a type
11154 with pragma Import. Currently supports floating point types only.
11155 (Set_Convention_From_Pragma): Do nothing without underlying type.
11156 (Process_Convention): Guard against absence of underlying type,
11157 which may happen when importing incomplete types.
11158 (Process_Import_Or_Interface): Handle case of importing predefined
11159 types. Tweak error message.
11160
f8726f2b
AC
111612011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11162
11163 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
11164 functions to previous change. Reorganize code slightly.
11165
111662011-08-02 Geert Bosch <bosch@adacore.com>
11167
11168 * back_end.ads (Register_Type_Proc): New call back procedure type for
11169 allowing the back end to provide information about available types.
11170 (Register_Back_End_Types): New procedure to register back end types.
11171 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
11172 available types.
11173 * cstand.adb (Back_End_Float_Types): New list for floating point types
11174 supported by the back end.
11175 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
11176 (Copy_Float_Type): New procedure to make new copies of predefined types.
11177 (Register_Float_Type): New call back procedure to populate the BEFT list
11178 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
11179 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
11180 (Create_Float_Types): New procedure to create entities for floating
11181 point types predefined in Standard, and put these and any remaining
11182 BEFTs on the Predefined_Float_Types list.
11183 * stand.ads (Predefined_Float_Types): New list for predefined floating
11184 point types that do not have declarations in package Standard.
11185
feecad68
AC
111862011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11187
11188 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
11189 entity node for the unit containing the parameter.
11190 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
11191 (Add_Inlined_Subprogram): Likewise.
11192 * gcc-interface/Make-lang.in: Update dependencies.
11193
111942011-08-02 Thomas Quinot <quinot@adacore.com>
11195
11196 * s-stusta.adb (Print): Make sure Pos is always initialized to a
11197 suitable value.
11198
12f0c50c
AC
111992011-08-02 Geert Bosch <bosch@adacore.com>
11200
11201 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
11202
112032011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11204
11205 * sem_type.adb (Covers): Move trivial case to the top and reuse the
11206 computed value of Base_Type.
11207
112082011-08-02 Yannick Moy <moy@adacore.com>
11209
11210 * restrict.adb (Check_Restriction): issue an error for any use of
11211 class-wide, even if the No_Dispatch restriction is not set.
11212 * sem_aggr.adb: Correct typos in comments and messages in formal mode
11213 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
11214 when completing a private extension, the type named in the private part
11215 is not the same as that named in the visible part.
11216 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
11217 of an inherited primitive operations of a tagged type or type extension
11218 that returns the tagged type.
11219 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
11220 function which returns True for an implicit operation inherited by the
11221 derived type declaration for the argument type.
11222 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
11223 order.
11224
fb86fe11
ES
112252011-08-02 Ed Schonberg <schonberg@adacore.com>
11226
11227 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
11228 Process_Bounds, to perform analysis with expansion of a range or an
11229 expression that is the iteration scheme for a loop.
11230 (Analyze_Iterator_Specification): If domain of iteration is given by a
11231 function call with a controlled result, as is the case if call returns
11232 a predefined container, ensure that finalization actions are properly
11233 generated.
11234 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
11235
62be5d0a
JM
112362011-08-02 Javier Miranda <miranda@adacore.com>
11237
11238 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
11239 * gcc-interface/Make-lang.in: Update dependencies.
11240
112412011-08-02 Javier Miranda <miranda@adacore.com>
11242
11243 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
11244 determine if the analysis is performed using N or Original_Node (N).
11245 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
11246 functionality of routine Is_Variable avoids code duplication.
11247 * checks.adb (Determine_Range): Handle temporaries generated by
11248 Remove_Side_Effects.
11249
112502011-08-02 Javier Miranda <miranda@adacore.com>
11251
11252 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
11253 expansion of the condition. Required since the previous analysis was
11254 done with expansion disabled (see Resolve_Quantified_Expression) and
11255 hence checks were not inserted and record comparisons have not been
11256 expanded.
11257
a20f4389
AC
112582011-08-02 Ed Falis <falis@adacore.com>
11259
11260 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
11261 Update header.
11262
112632011-08-02 Bob Duff <duff@adacore.com>
11264
11265 * opt.ads: Minor comment fix.
11266
112672011-08-02 Bob Duff <duff@adacore.com>
11268
11269 * sem_ch12.adb (Analyze_Package_Instantiation,
11270 Analyze_Subprogram_Instantiation): Turn off style checking while
11271 analyzing an instance. Whatever style checks that apply to the generic
11272 unit should apply, so it makes no sense to apply them in an instance.
11273 This was causing trouble when compiling an instance of a runtime
11274 unit that violates the -gnatyO switch.
11275 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
11276 one of the two case statements, causing spurious errors.
11277
112782011-08-02 Robert Dewar <dewar@adacore.com>
11279
11280 * uname.adb: Minor reformatting.
11281 * gnatcmd.adb: Minor reformatting.
11282 * exp_attr.adb: Minor reformatting.
11283
90878b12
AC
112842011-08-02 Ed Schonberg <schonberg@adacore.com>
11285
11286 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
11287 No_Dispatching_Calls, do not look for the Assign primitive, because
11288 predefined primitives are not created in this case.
11289
112902011-08-02 Bob Duff <duff@adacore.com>
11291
11292 * stylesw.ads: Minor comment fixes.
11293
112942011-08-02 Robert Dewar <dewar@adacore.com>
11295
11296 * freeze.adb (Add_To_Result): New procedure.
11297
112982011-08-02 Jose Ruiz <ruiz@adacore.com>
11299
11300 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
11301 time, if the specific run-time routines for handling streams of strings
11302 are not available, use the default mechanism.
11303
113042011-08-02 Arnaud Charlet <charlet@adacore.com>
11305
11306 * s-regpat.ads: Fix typo.
11307
113082011-08-02 Vincent Celier <celier@adacore.com>
11309
11310 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
11311 not null, call it to create the in memory config project file without
11312 parsing an existing default config project file.
11313
113142011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11315
11316 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
11317
113182011-08-02 Ed Schonberg <schonberg@adacore.com>
11319
11320 * sem_elim.adb: an abstract subprogram does not need an eliminate
11321 pragma for its descendant to be eliminable.
11322
113232011-08-02 Ed Falis <falis@adacore.com>
11324
11325 * init.c: revert to handling before previous checkin for VxWorks
11326 * s-intman-vxworks.adb: delete unnecessary declarations related to
11327 using Ada interrupt facilities for handling signals.
11328 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
11329 * s-intman-vxworks.ads: Import __gnat_install_handler as
11330 Initialize_Interrupts.
11331 * s-taprop-vxworks.adb: Delete Signal_Mask.
11332 (Abort_Handler): change construction of mask to unblock exception
11333 signals.
11334
273adcdf
AC
113352011-08-02 Jerome Guitton <guitton@adacore.com>
11336
11337 * a-except-2005.adb (Raise_From_Signal_Handler): Call
11338 Debug_Raise_Exception before propagation starts.
11339
113402011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11341
11342 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
11343 to Restriction_Check_Required.
11344 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
11345 * sem_res.adb (Resolve_Call): Likewise.
11346 * sem_attr.adb (Check_Stream_Attribute): Likewise.
11347
113482011-08-02 Bob Duff <duff@adacore.com>
11349
11350 * stylesw.ads: Update comment.
11351 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
11352 * errout.ads: Remove obsolete comment.
11353
113542011-08-02 Javier Miranda <miranda@adacore.com>
11355
11356 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
11357 (Set_Is_Safe_To_Reevaluate): new procedure.
11358 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
11359 assignment is allowed on safe-to-reevaluate variables.
11360 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
11361 temporary created to remove side effects in expressions that use
11362 the secondary stack as safe-to-reevaluate.
11363 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
11364 variables that are not true constants.
11365
6320f5e1
AC
113662011-08-02 Robert Dewar <dewar@adacore.com>
11367
11368 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
11369 sem_res.adb, sem_ch6.adb: Minor reformatting.
11370
113712011-08-02 Jerome Guitton <guitton@adacore.com>
11372
11373 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
11374
2fe829ae
ES
113752011-08-02 Ed Schonberg <schonberg@adacore.com>
11376
11377 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
11378 not set Overridden_Operation if subprogram is an initialization
11379 procedure.
11380
e24329cd
YM
113812011-08-02 Yannick Moy <moy@adacore.com>
11382
11383 * par-ch6.adb: Correct obsolete name in comments
11384 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
11385 which takes two message arguments (existing function takes one), with
11386 second message used for continuation.
11387 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
11388 block statements that originate from a source block statement, not
11389 generated block statements
11390 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
11391 symmetry with procedure case
11392 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
11393 function to issue an error in formal mode if a package specification
11394 contains more than one tagged type or type extension.
11395 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
11396 parameters matching formals of tagged types are objects (or ancestor
11397 type conversions of objects), not general expressions. Issue an error
11398 on view conversions that are not involving ancestor conversion of an
11399 extended type.
11400 (Resolve_Type_Conversion): in formal mode, issue an error on the
11401 operand of an ancestor type conversion which is not an object
11402 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
11403 procedure so that it works also for actuals of function calls
11404 (Is_Actual_Tagged_Parameter): new function which determines if its
11405 argument is an actual parameter of a formal of tagged type in a
11406 subprogram call
11407 (Is_SPARK_Object_Reference): new function which determines if the tree
11408 referenced by its argument represents an object in SPARK
11409
176dadf6
AC
114102011-08-02 Robert Dewar <dewar@adacore.com>
11411
11412 * sem_ch3.adb: Minor reformatting
11413 Minor comment addition
11414 Minor error msg text change
11415
114162011-08-02 Javier Miranda <miranda@adacore.com>
11417
11418 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
11419 function. Used to be more precise when we generate a variable plus one
11420 assignment to remove side effects in the evaluation of the Bound
11421 expressions.
11422 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
11423 of the bound expression to force its re-analysis and thus expand the
11424 associated transient scope (if required). Code cleanup replacing the
11425 previous code that declared the constant entity by an invocation to
11426 routine Force_Evaluation which centralizes this work in the frontend.
11427
d8b962d8
AC
114282011-08-02 Robert Dewar <dewar@adacore.com>
11429
11430 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
11431 (Base_Type): Now uses improved Is_Base_Type function
11432 * einfo.ads (Base_Type): Inline this function
11433
114342011-08-02 Robert Dewar <dewar@adacore.com>
11435
11436 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
11437 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
11438
114392011-08-02 Arnaud Charlet <charlet@adacore.com>
11440
11441 * gcc-interface/Make-lang.in: Update dependencies.
11442 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
11443 targets.
11444
114452011-08-02 Yannick Moy <moy@adacore.com>
11446
11447 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
11448 non-simple expression used in delta constraint
11449 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
11450 index constraint which is not a subtype mark
11451 * par.adb: With and use Restrict
11452 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
11453 mode on component type which is not a subtype mark and default
11454 expression on component
11455 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
11456 of string which does not have a lower index bound equal to 1
11457 (Array_Type_Declaration): issue an error in formal mode on index or
11458 component type which is not a subtype mark, and on aliased keyword on
11459 component
11460 (Derived_Type_Declaration): issue an error in formal mode on interface,
11461 limited or abstract type
11462 (Record_Type_Declaration): issue an error in formal mode on interface
11463 (Record_Type_Definition): issue an error in formal mode on tagged types
11464 and type extensions not declared in the specification of a library unit
11465 package; on null non-tagged record; on variant part
11466
114672011-08-02 Vincent Celier <celier@adacore.com>
11468
11469 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
11470 not declared for qualified library project when Library_Name is not
11471 declared, but Library_Dir is.
11472
114732011-08-02 Robert Dewar <dewar@adacore.com>
11474
11475 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
11476 pragmas (affects aspects [Component_]Default_Value
11477 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
11478 component type for the resolution
11479
f96b2d85
AC
114802011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11481
11482 * einfo.adb (Base_Type): Tune implementation for speed.
11483
114842011-08-02 Robert Dewar <dewar@adacore.com>
11485
11486 * freeze.adb: Minor reformatting.
11487
8b3c6430
AC
114882011-08-02 Thomas Quinot <quinot@adacore.com>
11489
11490 * scos.ads: Update comments.
11491
114922011-08-02 Ed Schonberg <schonberg@adacore.com>
11493
11494 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
11495 base type, because the parent may be a subtype of a private type whose
11496 convention is established in a private part.
11497
114982011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
11499
11500 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
11501 statement in a block when the expansion of the return expression has
11502 created a finalization chain.
11503 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
11504 with the parent node.
11505 Add N_Extended_Return_Statement to handle the case where a transient
11506 object declaration appears in the Return_Object_Declarations list of
11507 an extended return statement.
11508
115092011-08-02 Matthew Gingell <gingell@adacore.com>
11510
11511 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
11512 unused parameter 'name'.
11513
115142011-08-02 Ed Schonberg <schonberg@adacore.com>
11515
11516 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
11517 inherited operation, check whether its alias, which is the source
11518 operastion that it renames, has been marked eliminated.
11519
cae81f17
JM
115202011-08-02 Javier Miranda <miranda@adacore.com>
11521
11522 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
11523 in-mode parameter whose type is an access type since it can be used to
11524 modify its designated object. Enforce code that handles as safe an
11525 access type that is not access-to-constant but it is the result of a
11526 previous removal of side-effects.
11527 (Remove_Side_Effects): Minor code reorganization of cases which require
11528 no action. Done to incorporate documentation on new cases uncovered
11529 working in this ticket: no action needed if this routine was invoked
11530 too early and the nodes are not yet decorated.
11531 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
11532 to routine Remove_Side_Effects by calls to Force_Evaluation since they
11533 were issued with actuals that are implicitly provided by
11534 Force_Evaluation.
11535
218e6dee
RD
115362011-08-02 Robert Dewar <dewar@adacore.com>
11537
11538 * sem_ch3.adb, sem_res.adb: Minor reformatting.
11539
7a489a2b
AC
115402011-08-02 Yannick Moy <moy@adacore.com>
11541
11542 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
11543 to issue an error in formal mode on attribute not supported in this mode
11544 (Analyze_Attribute): issue errors on standard attributes not supported
11545 in formal mode.
11546 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
11547 comment, and issue error in formal mode on modulus which is not a power
11548 of 2.
11549 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
11550 range.
11551 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
11552 subtype mark.
11553 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
11554 operator on modular type (except 'not').
11555
115562011-08-02 Robert Dewar <dewar@adacore.com>
11557
11558 * gnat_rm.texi: Minor reformatting.
11559
cb7fa356
AC
115602011-08-02 Arnaud Charlet <charlet@adacore.com>
11561
11562 * s-osinte-linux.ads: Minor comment update and reformatting.
11563 * i-cexten.ads: Make this unit pure, as for its parent.
11564 Will allow its usage in more contexts if needed.
11565
115662011-08-02 Robert Dewar <dewar@adacore.com>
11567
11568 * s-utf_32.ads: Minor comment fix.
11569
115702011-08-02 Ed Schonberg <schonberg@adacore.com>
11571
11572 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
11573 operation of a tagged synchronized type, handle the case where the
11574 controlling argument is overloaded.
11575
115762011-08-02 Yannick Moy <moy@adacore.com>
11577
11578 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
11579 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
11580 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
11581 SPARK mode and formal verification mode on processing SPARK restriction
11582 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
11583 requiring consistency checking.
11584
5cc9353d
RD
115852011-08-02 Robert Dewar <dewar@adacore.com>
11586
11587 * sem_res.adb: Minor reformatting.
11588
e51537ff
RD
115892011-08-02 Robert Dewar <dewar@adacore.com>
11590
11591 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
11592 a-cforse.ads: Remove unneeded with of Ada.Containers
11593 Remove commented out pragma Inline's
11594 Move specifications of new subprograms to the actual specs
11595
83fa09c5
AC
115962011-08-02 Yannick Moy <moy@adacore.com>
11597
11598 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
11599 a-cforse.ads: Update comments.
11600
116012011-08-02 Ed Schonberg <schonberg@adacore.com>
11602
11603 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
11604
d11cfaf8
RD
116052011-08-02 Robert Dewar <dewar@adacore.com>
11606
11607 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
11608 a-cforse.ads, a-cofove.ads: Minor reformatting.
11609
300b98bb
AC
116102011-08-02 Claire Dross <dross@adacore.com>
11611
11612 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
11613 a-cofove.ads: Add comments.
11614
116152011-08-02 Yannick Moy <moy@adacore.com>
11616
11617 * gnat_rm.texi: Document formal containers.
11618
116192011-08-02 Emmanuel Briot <briot@adacore.com>
11620
11621 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
11622 are empty sections.
11623
19fb051c
AC
116242011-08-02 Robert Dewar <dewar@adacore.com>
11625
11626 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
11627 reformatting.
11628
116292011-08-02 Robert Dewar <dewar@adacore.com>
11630
11631 * aspects.adb: New aspects Default_Value and Default_Component_Value
11632 New format of Aspect_Names table checks for omitted entries
11633 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
11634 handling of boolean aspects for derived types.
11635 New aspects Default_Value and Default_Component_Value
11636 New format of Aspect_Names table checks for omitted entries
11637 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
11638 (Has_Default_Value): New flag
11639 (Has_Default_Component_Value): New flag
11640 (Has_Default_Value): New flag
11641 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
11642 table.
11643 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
11644 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
11645 Default_Value and Default_Component_Value
11646 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
11647 New aspects Default_Value and Default_Component_Value
11648 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
11649 * sprint.adb: Print N_Aspect_Specification node when called from gdb
11650
116512011-08-02 Vincent Celier <celier@adacore.com>
11652
11653 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
11654 inherit library kind.
11655
116562011-08-02 Ed Schonberg <schonberg@adacore.com>
11657
11658 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
11659 Minor reformatting.
11660
116612011-08-02 Robert Dewar <dewar@adacore.com>
11662
11663 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
11664
5f7747af
AC
116652011-08-02 Yannick Moy <moy@adacore.com>
11666
11667 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
11668
116692011-08-02 Robert Dewar <dewar@adacore.com>
11670
11671 * impunit.adb: Add comment.
11672
a5fe697b
AC
116732011-08-02 Yannick Moy <moy@adacore.com>
11674
11675 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
11676 qualification of aggregates in formal mode
11677 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
11678 another aggregate
11679 (Resolve_Aggregate): complete the test that an aggregate is adequately
11680 qualified in formal mode
11681
116822011-08-02 Pascal Obry <obry@adacore.com>
11683
11684 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
11685 * mlib-prj.adb: Supress warning when compiling binder generated file.
11686 (Build_Library): Supress all warnings when compiling the binder
11687 generated file.
11688
bd65a2d7 116892011-08-02 Yannick Moy <moy@adacore.com>
d4487611 11690
bd65a2d7
AC
11691 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
11692 from here...
11693 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
11694 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
11695 Add with/use clauses to make Check_Formal_Restriction visible
11696
116972011-08-02 Ed Schonberg <schonberg@adacore.com>
11698
11699 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
11700 in-parameters when type of the generic formal is private in the generic
11701 spec and non-private in the body.
11702
117032011-08-02 Claire Dross <dross@adacore.com>
11704
11705 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
11706 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
11707 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
11708 * impunit.adb, Makefile.rtl: Take new files into account.
d4487611
AC
11709
117102011-08-02 Robert Dewar <dewar@adacore.com>
11711
11712 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
11713 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
11714
bd434b3f
YM
117152011-08-02 Yannick Moy <moy@adacore.com>
11716
11717 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
11718 formal mode
11719 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
11720 matching static array bounds, taking into account the special case of
11721 string literals
11722 * sem_ch3.adb: Typo in comment.
11723
fe5d3068
YM
117242011-08-02 Yannick Moy <moy@adacore.com>
11725
11726 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
11727 which issues an error in formal mode if its argument node is originally
11728 from source
11729 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
11730 has a discriminant specification so that it does not include the case
11731 of derived types
11732 (Derived_Type_Declaration): move here the test that a derived type has a
11733 discriminant specification
11734 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
11735 first element of a component association before accessing its choices
11736 (presence of component association is not enough)
11737 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
11738 declaration is a library item before accessing the next element in a
11739 list, as library items are not member of lists
11740 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
11741 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
11742 Check_Formal_Restriction whenever possible.
11743
b60a3f26
AC
117442011-08-02 Ed Schonberg <schonberg@adacore.com>
11745
11746 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
11747 reference when needed.
11748
117492011-08-02 Bob Duff <duff@adacore.com>
11750
11751 * gnat_ugn.texi: Fix typo.
11752
117532011-08-02 Vincent Celier <celier@adacore.com>
11754
11755 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
11756 archive file name. Do not use the full path name of archives for Open
11757 VMS.
11758
eaba57fb
RD
117592011-08-02 Robert Dewar <dewar@adacore.com>
11760
11761 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
11762 Analyze_Aspect_Specifications
11763 * sem_ch13.adb
11764 (Analyze_Aspect_Specifications): New handling for boolean aspects
11765 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
11766 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
11767 sequence for Analyze_Aspect_Specifications
11768 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
11769 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
11770
117712011-08-02 Robert Dewar <dewar@adacore.com>
11772
11773 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
11774 aspects, since these no longer exist.
11775
117762011-08-02 Robert Dewar <dewar@adacore.com>
11777
11778 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
11779 semicolon, do not try to see if there are aspects following it.
11780 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
11781 aspect spec.
11782
8830d1d2
AC
117832011-08-02 Robert Dewar <dewar@adacore.com>
11784
11785 * sem_ch8.adb, aspects.ads: Minor reformatting.
11786
117872011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11788
11789 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
11790 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
11791 extracted from...
11792 (Analyze_Aspect_Specifications): ...here. Call above procedure.
11793
7ff2d234
AC
117942011-08-02 Yannick Moy <moy@adacore.com>
11795
11796 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
11797 mode on subprogram declaration outside of package specification, unless
11798 it is followed by a pragma Import
11799 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
11800 Access_Type_Declaration): issue error in formal mode on access type
11801 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
11802 incomplete type
11803 (Analyze_Object_Declaration): issue error in formal mode on object
11804 declaration which does not respect SPARK restrictions
11805 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
11806 declaration which does not respect SPARK restrictions
11807 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
11808 error in formal mode on digits or delta constraint
11809 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
11810 decimal fixed point type
11811 (Derived_Type_Declaration): issue error in formal mode on derived type
11812 other than type extensions of tagged record types
11813 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
11814 with check on access definition
11815 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
11816 mode on protected definition.
11817 (Analyze_Task_Definition): issue error in formal mode on task definition
11818
118192011-08-02 Robert Dewar <dewar@adacore.com>
11820
11821 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
11822
806f6d37
AC
118232011-08-02 Javier Miranda <miranda@adacore.com>
11824
11825 * sem_ch6.adb (Can_Override_Operator): New function.
11826 (Verify_Overriding_Indicator): Add missing code to check overriding
11827 indicator in operators. Fixes regression.
11828 (Check_Overriding_Indicator): Minor reformating after replacing the
11829 code that evaluates if the subprogram can override an operator by
11830 invocations to the above new function.
11831 * einfo.adb
11832 (Write_Field26_Name): Add missing code to ensure that, following
11833 the documentation in einfo.ads, this field is not shown as attribute
11834 "Static_Initialization" on non-dispatching functions.
11835
118362011-08-02 Jose Ruiz <ruiz@adacore.com>
11837
11838 * sem_res.adb (Resolve_Call): A call to
11839 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
11840 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
11841 i.e., when the second parameter is of type Time_Span.
11842
118432011-08-02 Vincent Celier <celier@adacore.com>
11844
11845 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
11846 with an archive instead of -L<library dir> -l<library name>.
11847
118482011-08-02 Ed Schonberg <schonberg@adacore.com>
11849
11850 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
11851 mark the base types In_Use in addition to making the operations
11852 use_visible.
11853
118542011-08-02 Ed Falis <falis@adacore.com>
11855
11856 * init.c: add and setup __gnat_signal_mask for the exception signals
11857 * s-inmaop-vxworks.adb: new file.
11858 * s-intman-vxworks.adb: remove unnecessary initializations and
11859 simplify remaining
11860 * s-intman-vxworks.ads: remove unnecessary variable
11861 * s-taprop-vxworks.adb: simplify signal initialization
11862
780d052e
RD
118632011-08-02 Robert Dewar <dewar@adacore.com>
11864
11865 * sem_ch8.adb: Minor code reorganization, comment updates.
11866
118672011-08-02 Robert Dewar <dewar@adacore.com>
11868
11869 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
11870 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
11871 here from Sem_Res.
11872 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
11873 (Matching_Static_Array_Bounds): Moved here from Sem_Res
11874
29efbb8c
ES
118752011-08-02 Ed Schonberg <schonberg@adacore.com>
11876
11877 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
11878 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
11879 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
11880 use_type_clauses, to handle more efficiently use_type and use_all_type
11881 constructs.
11882 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
11883 Ada2012 Use_All_Type clause.
11884 (Use_Class_Wide_Operations): new procedure.
11885
b0186f71
AC
118862011-08-02 Robert Dewar <dewar@adacore.com>
11887
11888 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
11889 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
11890 expression to expression function.
11891
118922011-08-02 Ed Schonberg <schonberg@adacore.com>
11893
11894 * sem_ch4.adb: transform simple Ada2012 membership into equality only
11895 if types are compatible.
11896
118972011-08-02 Yannick Moy <moy@adacore.com>
11898
11899 * sem_res.adb (Matching_Static_Array_Bounds): new function which
11900 returns True if its argument array types have same dimension and same
11901 static bounds at each index.
11902 (Resolve_Actuals): issue an error in formal mode on actuals passed as
11903 OUT or IN OUT paramaters which are not view conversions in SPARK.
11904 (Resolve_Arithmetic_Op): issue an error in formal mode on
11905 multiplication or division with operands of fixed point types which are
11906 not qualified or explicitly converted.
11907 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
11908 Boolean or array type (except String) operands.
11909 (Resolve_Equality_Op): issue an error in formal mode on equality
11910 operators for array types other than String with non-matching static
11911 bounds.
11912 (Resolve_Logical_Op): issue an error in formal mode on logical operators
11913 for array types with non-matching static bounds. Factorize the code in
11914 Matching_Static_Array_Bounds.
11915 (Resolve_Qualified_Expression): issue an error in formal mode on
11916 qualified expressions for array types with non-matching static bounds.
11917 (Resolve_Type_Conversion): issue an error in formal mode on type
11918 conversion for array types with non-matching static bounds
11919
767bb4e8
AC
119202011-08-02 Robert Dewar <dewar@adacore.com>
11921
11922 * par-ch10.adb: Minor code reorganization (use Nkind_In).
11923
119242011-08-02 Ed Schonberg <schonberg@adacore.com>
11925
11926 * par-ch9.adb: save location of entry for proper error message.
11927
4ac2477e
JM
119282011-08-02 Javier Miranda <miranda@adacore.com>
11929
11930 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
11931 (Use_Full_View) which permits this routine to climb through the
11932 ancestors using the full-view of private parents.
11933 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
11934 Use_Full_View to true in calls to Is_Ancestor.
11935 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
11936 true in call to Is_Ancestor.
11937 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
11938 Use_Full_View to true in call to Is_Ancestor.
11939 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
11940 call to Is_Ancestor.
11941 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
11942 Use_Full_View to true in calls to Is_Ancestor.
11943 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
11944 Make_Select_Specific_Data_Table, Register_Primitive,
11945 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
11946 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
11947 to true in call to Is_Ancestor.
11948 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
11949 Use_Full_View to true in calls to Is_Ancestor.
11950 * exp_cg.adb
11951 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
11952 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
11953
9f90d123
AC
119542011-08-02 Robert Dewar <dewar@adacore.com>
11955
11956 * gnat_rm.texi: Minor reformatting.
11957 * sem_prag.adb: Minor reformatting.
11958
119592011-08-02 Tristan Gingold <gingold@adacore.com>
11960
11961 * vms_data.ads: Add VMS qualifier for -gnateP.
11962
119632011-08-02 Robert Dewar <dewar@adacore.com>
11964
11965 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
11966 * par-ch7.adb (P_Package): Proper placement of aspects for package
11967 decl/instantiation.
11968 * par-endh.adb (Check_End): Ad Is_Sloc parameter
11969 (End_Statements): Add Is_Sloc parameterr
11970 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
11971 (Check_End): Ad Is_Sloc parameter
11972 (End_Statements): Add Is_Sloc parameterr
11973
119742011-08-02 Vincent Celier <celier@adacore.com>
11975
11976 * ug_words: Add VMS qualifier equivalent to -gnateP:
11977 /SYMBOL_PREPROCESSING.
11978
119792011-08-02 Jose Ruiz <ruiz@adacore.com>
11980
11981 * gnat-style.texi: For hexadecimal numeric literals the typical
11982 grouping of digits is 4 to represent 2 bytes.
11983 A procedure spec which is split into several lines is indented two
11984 characters.
11985
119862011-08-02 Yannick Moy <moy@adacore.com>
11987
11988 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
11989 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
11990 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
11991 properly qualified
11992 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
11993 choice in array aggregate
11994 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
11995 mark as ancestor
11996 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
11997 positional and named aggregate for record, or others in record
11998 aggregate, or multiple choice in record aggregate
11999 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
12000 array operands to logical operations AND, OR and XOR do not have the
12001 same static lower and higher bounds
12002 * sem_ch5.adb, sinfo.ads: Correct typos in comments
12003
2933b16c
RD
120042011-08-01 Robert Dewar <dewar@adacore.com>
12005
12006 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
12007 Replaces Last_Source_Node_In_Sequence.
12008 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
12009 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
12010 parens and blank in string (this was inconsistently implemented).
12011 * errout.ads
12012 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
12013 blank in string (this was inconsistently implemented).
12014 * gnat1drv.adb
12015 (Set_Global_Switches): Set formal mode switches appropriately
12016 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
12017 * par-prag.adb
12018 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
12019 call Set_Error_Msg_Lang to set "spark" as language name.
12020 * par.adb: Remove unnecessary call to set formal language for errout
12021 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
12022 appropriately and call Set_Error_Msg_Lang to set "spark" as language
12023 name.
12024 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
12025 calls to it, moved after resolution so that types are known
12026 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
12027 result of concatenation is not of type String
12028 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
12029 concatenation is not properly restricted
12030 * gnat_rm.texi: Add doc on pragma Spark_95.
12031 * gcc-interface/Makefile.in: Remove obsolete target pairs for
12032 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
12033 * gcc-interface/Make-lang.in: Update dependencies.
12034
05dbd302
AC
120352011-08-01 Javier Miranda <miranda@adacore.com>
12036
12037 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
12038 condition that detects if the overridden operation must replace an
12039 existing entity.
12040
120412011-08-01 Javier Miranda <miranda@adacore.com>
12042
12043 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
12044 code declarations inserted by Insert_Actions in each alternative of the
12045 N_Case_Expression node.
12046
120472011-08-01 Robert Dewar <dewar@adacore.com>
12048
12049 * sem_ch6.adb: Minor code reorganization.
12050 * sem_util.adb: Minor reformatting.
12051
af9e051f
PO
120522011-08-01 Pascal Obry <obry@adacore.com>
12053
12054 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
12055 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
12056
1d801f21
AC
120572011-08-01 Yannick Moy <moy@adacore.com>
12058
12059 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
12060 literal or operator symbol which is prefixed
12061 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
12062 mode on access attributes.
12063 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
12064 that concatenation operands are properly restricted in formal mode
12065 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
12066 Analyze_Concatenation_Operand. Issue an error in formal mode if the
12067 result of the concatenation has a type different from String.
12068 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
12069 Analyze_Quantified_Expression, Analyze_Slice,
12070 Analyze_Null): issue an error in formal mode on unsupported constructs
12071 * sem_ch5.adb
12072 (Analyze_Block_Statement): only issue error on source block statement
12073 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
12074 function which returns the last node in a list of nodes for which
12075 Comes_From_Source returns True, if any
12076 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
12077 Last_Source_Node_In_Sequence
12078 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
12079 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
12080 mode on unsupported constructs
12081 * sem_ch9.adb Do not return after issuing error in formal mode, as the
12082 rest of the actions may be needed later on since the error is marked as
12083 not serious.
12084 * sinfo.ads: Typos in comments.
12085
120862011-08-01 Pascal Obry <obry@adacore.com>
12087
12088 * projects.texi: Minor editing.
12089
53beff22
YM
120902011-08-01 Yannick Moy <moy@adacore.com>
12091
12092 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
12093 insertion character ~~
12094 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
12095 (Set_Error_Msg_Lang): new procedure which fixes the language for use
12096 with insertion character ~~
12097 (Set_Msg_Text): treat insertion character ~~
12098 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
12099 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
12100 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
12101 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
12102 errors related to the formal language restriction not serious
12103 (insertion character |).
12104 * par.adb (Par): set formal language for error messages if needed
12105 * sem_ch6.adb (Check_Missing_Return): take into account possible
12106 generated statements at the end of the function
12107 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
12108 enumeration value to define a new pragma SPARK_95
12109 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
12110 SPARK_Version): new type and variables to store the SPARK version
12111 (none by default).
12112 (SPARK_Mode): return True when SPARK_Version is set
12113 * par-prag.adb: Correct indentation
12114 (Prag): take Pragma_SPARK_95 into account
12115 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
12116 into account.
12117
8d606a78
RD
121182011-08-01 Robert Dewar <dewar@adacore.com>
12119
12120 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
12121 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
12122 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
12123
1982d5a8
PO
121242011-08-01 Pascal Obry <obry@adacore.com>
12125
12126 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
12127 Target_Name to Get_Path call.
12128 (Parse_Single_Project): Likewise.
12129 (Post_Parse_Context_Clause): Likewise.
12130 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
12131 Call Initialise_Project_Path with the proper Target_Name.
12132 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
12133 search path.
12134 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
12135 with the proper Target_Name.
12136 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
12137 Part.Parse routine.
12138 (Parse_Project_And_Apply_Config): Likewise.
12139 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
12140 This is fine as this part of the code is supporting only native
12141 compilation.
12142 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
12143 is fine as this part of the code is supporting only native compilation.
12144
0d53d36b
AC
121452011-08-01 Yannick Moy <moy@adacore.com>
12146
12147 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
12148 of homonym, unless the homonym is one of the cases allowed in SPARK
12149 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
12150 package declaration occurring after a body.
12151
121522011-08-01 Robert Dewar <dewar@adacore.com>
12153
12154 * checks.adb, exp_ch4.adb: Minor reformatting.
12155
121562011-08-01 Javier Miranda <miranda@adacore.com>
12157
12158 * einfo.ads (Access_Disp_Table): Fix documentation.
12159 (Dispatch_Table_Wrappers): Fix documentation.
12160
121612011-08-01 Pascal Obry <obry@adacore.com>
12162
12163 * prj-env.adb, prj-env.ads: Minor reformatting.
12164
8ed68165
AC
121652011-08-01 Yannick Moy <moy@adacore.com>
12166
12167 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
12168 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
12169 procedures out of these packages.
2c7f9cc0 12170 * errout.ads, errout.adb
8ed68165
AC
12171 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
12172 procedures in of this package
12173 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
12174 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
12175 on misplaced later vs initial declarations, like in Ada 83
12176 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
12177 formal mode on attribute of private type whose full type declaration
12178 is not visible
12179 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
12180 package declaration inside a package specification
12181 (Analyze_Full_Type_Declaration): issue error in formal mode on
12182 controlled type or discriminant type
12183 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
12184 user-defined operator means that it should come from the source
12185 (New_Overloaded_Entity): issue error in formal mode on overloaded
12186 entity.
12187 * sem_ch6.ads, sem_ch13.ads: typos in comments.
12188
121892011-08-01 Thomas Quinot <quinot@adacore.com>
12190
12191 * atree.adb: Minor reformatting.
12192 * checks.adb: Minor reformatting.
12193
4230bdb7
AC
121942011-08-01 Vincent Celier <celier@adacore.com>
12195
12196 * s-parame-vms-ia64.ads: Fix typo in comment
12197 Minor reformatting
12198 * s-parame-vms-restrict.ads: Removed, unused.
12199
122002011-08-01 Javier Miranda <miranda@adacore.com>
12201
12202 * exp_ch3.adb
12203 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
12204 * sem_ch3.adb
12205 (Constrain_Index): Remove side effects in the evaluation of the bounds.
12206 * sem_ch3.ads, sem_ch3.adb
12207 (Is_Constant_Bound): New extended version of the subprogram that was
12208 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
12209 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
12210 * sem_aux.ads (Constant_Value): Fix typo in comment.
12211 * checks.adb (Generate_Index_Checks): New implementation which, for
12212 array objects with constant bounds, generates the runtime check
12213 referencing the bounds of the array type. For other cases this routine
12214 provides its previous behavior obtaining such values from the array
12215 object.
12216 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
12217 parent type.
12218 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
12219 we cannot have semantic interpretations of the new node.
12220
2010d078
AC
122212011-08-01 Ed Schonberg <schonberg@adacore.com>
12222
12223 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
12224 expressions.
12225
122262011-08-01 Arnaud Charlet <charlet@adacore.com>
12227
12228 * sem_ch8.adb: Minor code editing.
12229 * s-vxwext.adb: Remove trailing space.
12230 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
12231 consistency with other files.
12232
122332011-08-01 Thomas Quinot <quinot@adacore.com>
12234
12235 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
12236
122372011-08-01 Ed Schonberg <schonberg@adacore.com>
12238
12239 * par-ch10.adb: reject parameterized expressions as compilation unit.
12240 * sem_ch4.adb: handle properly conditional expression with overloaded
12241 then_clause and no else_clause.
12242
122432011-08-01 Tristan Gingold <gingold@adacore.com>
12244
12245 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
12246 like done by System.Aux_DEC.
12247 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
12248
daec8eeb
YM
122492011-08-01 Yannick Moy <moy@adacore.com>
12250
12251 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
12252 missing label at end of declaration (subprogram or package)
12253 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
12254 of positional and named parameter association
12255 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
12256 Error_Msg_SP which adds a prefix to the error message giving the name
12257 of the formal language analyzed
12258 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
12259 access result type in subprogram, unconstrained array as result type,.
12260 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
12261 procedure
12262 * sem_ch8.adb: Code clean up.
12263
38171f43
AC
122642011-08-01 Javier Miranda <miranda@adacore.com>
12265
12266 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
12267 * einfo.ads (Access_Disp_Table): Fix documentation.
12268 (Dispatch_Table_Wrappers): Fix documentation.
12269 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
12270 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
12271 to enforce the documentation of this attribute.
12272 (Set_Is_Interface): Cleanup the assertion.
12273 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
12274 the Underlying_Type entity before reading attribute Access_Disp_Table.
12275 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
12276 Locate the Underlying_Type before reading attribute Access_Disp_Table.
12277 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
12278 the Underlying_Type entity before reading attribute Access_Disp_Table.
12279 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
12280 Locate the Underlying_Type entity before reading attribute
12281 Access_Disp_Table.
12282
122832011-08-01 Ed Schonberg <schonberg@adacore.com>
12284
12285 * s-poosiz.ads: Additional overriding indicators.
12286
122872011-08-01 Yannick Moy <moy@adacore.com>
12288
12289 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
12290 formal mode.
12291 (Analyze_Iteration_Scheme): issue error in formal mode when loop
12292 parameter specification does not include a subtype mark.
12293 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
12294 formal mode on abstract subprogram.
12295 (Analyze_Subprogram_Specification): issue error in formal mode on
12296 user-defined operator.
12297 (Process_Formals): issue error in formal mode on access parameter and
12298 default expression.
12299 * sem_ch9.adb (Analyze_Abort_Statement,
12300 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
12301 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
12302 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
12303 Analyze_Requeue, Analyze_Selective_Accept,
12304 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
12305 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
12306 issue error in formal mode on user-defined raise statement.
12307
1f250383
AC
123082011-08-01 Thomas Quinot <quinot@adacore.com>
12309
12310 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
12311 declaration being hidden when overriding an implicit inherited
12312 subprogram.
12313 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
12314 (-gnats), do not complain about a source file that contains only a
12315 pragma No_Body.
12316
123172011-08-01 Ed Schonberg <schonberg@adacore.com>
12318
12319 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
12320 variable if already set.
12321
607d0635
AC
123222011-08-01 Arnaud Charlet <charlet@adacore.com>
12323
12324 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
12325 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
12326 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
12327 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
12328 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
12329 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
12330 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
12331 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
12332 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
12333 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
12334 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
12335 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
12336 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
12337 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
12338 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
12339 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
12340 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
12341 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
12342 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
12343 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
12344 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
12345 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
12346 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
12347 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
12348 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
12349 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
12350 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
12351 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
12352 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
12353 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
12354 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
12355 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
12356 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
12357 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
12358 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
12359 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
12360 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
12361 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
12362 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
12363 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
12364 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
12365 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
12366 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
12367 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
12368 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
12369 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
12370 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
12371 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
12372 s-osinte-mingw.ads: Update to GPLv3 run-time license.
12373 Use GNAT instead of GNARL.
12374
123752011-08-01 Bob Duff <duff@adacore.com>
12376
12377 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
12378 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
12379 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
12380 reformatting.
12381
123822011-08-01 Yannick Moy <moy@adacore.com>
12383
12384 * debug.adb (d.D) reverve flag for the SPARK mode
12385 (d.E) reverve flag for SPARK generation mode
12386 (d.F) reverve flag for Why generation mode
2c7f9cc0 12387 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
607d0635
AC
12388 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
12389 functions which return True when the corresponding modes are set
12390 (Formal_Language): return "spark" or "alfa" when in formal verification
12391 mode.
12392 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
12393 Error_Msg to prefix the error message with a tag giving the formal
12394 language
12395 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
12396 message with a tag giving the formal language
12397 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
12398 block statement
12399 (Analyze_Case_Statement): issue error in formal mode on case statement
12400 with a single "others" case alternative
12401 (Analyze_Exit_Statement): issue errors in formal mode on exit
12402 statements which do not respect SPARK restrictions
12403 (Analyze_Goto_Statement): issue error in formal mode on goto statement
12404 (Check_Unreachable_Code): always issue an error (not a warning) in
12405 formal mode on unreachable code (concerns both code after an infinite
12406 loop and after an unconditional jump, both not allowed in SPARK)
12407 * sem_ch6.adb (Analyze_Return_Statement): add call to
12408 Set_Return_Present for a procedure containing a return statement
12409 (already done for functions in Analyze_Function_Return)
12410 (Analyze_Function_Return): issue error in formal mode on extended
12411 return or if return is not last statement in function
12412 (Check_Missing_Return): issue error in formal mode if function does
12413 not end with return or if procedure contains a return
12414 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
12415 function to detect if there is an inner scope of its parameter S which
12416 is a loop.
12417
124182011-08-01 Thomas Quinot <quinot@adacore.com>
12419
12420 * sem_ch6.ads: Minor reformatting.
12421
d8b3ccb9
AC
124222011-08-01 Javier Miranda <miranda@adacore.com>
12423
12424 * sem_util.adb (Abstract_Interface_List): Complete condition when
12425 processing private type declarations to avoid reading unavailable
12426 attribute.
12427 (Is_Synchronized_Tagged_Type): Complete condition when processing
12428 private extension declaration nodes to avoid reading unavailable
12429 attribute.
12430
124312011-08-01 Thomas Quinot <quinot@adacore.com>
12432
12433 * sem_ch3.adb: Minor reformatting.
12434
124352011-08-01 Thomas Quinot <quinot@adacore.com>
12436
12437 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
12438 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
12439 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
12440 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
12441 for VMS, instead parametrize the common implementation with
12442 System.Parameters declarations.
12443
0bb9276c
AC
124442011-08-01 Eric Botcazou <ebotcazou@adacore.com>
12445
12446 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
12447
124482011-08-01 Tristan Gingold <gingold@adacore.com>
12449
12450 * seh_init.c: Fix SEH handler installation on win64.
12451
124522011-08-01 Ed Schonberg <schonberg@adacore.com>
12453
12454 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
12455 double analysis of an anonymous access to subprogram, because it can
12456 lead to improper sharing of profiles and a back-end crash.
12457
6a2e4f0b
AC
124582011-08-01 Robert Dewar <dewar@adacore.com>
12459
12460 * make.adb, sem_ch4.adb: Minor reformatting.
12461 * gcc-interface/Make-lang.in: Update dependencies.
12462 * sem_util.adb, exp_ch5.adb: Minor reformatting.
12463
124642011-08-01 Arnaud Charlet <charlet@adacore.com>
12465
12466 * gnat_rm.texi: Fix definition of Long_Integer.
12467
124682011-08-01 Ed Schonberg <schonberg@adacore.com>
12469
12470 * exp_aggr.adb: check limit size of static aggregate unconditionally,
12471 to prevent storage exhaustion.
12472 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
12473 finalized is a function body, insert the cleanup code before the final
12474 return statement, to prevent spurious warnings.
12475 * s-pooglo.ads: add overriding indicator.
12476
4561baf7
ES
124772011-08-01 Ed Schonberg <schonberg@adacore.com>
12478
12479 * sem_ch4.adb (Operator_Check): improve error message when both a
12480 with_clause and a use_clause are needed to make operator usage legal.
12481 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
12482 determine whether a compilation unit is visible within an other,
12483 either through a with_clause in the current unit, or a with_clause in
12484 its library unit or one one of its parents.
12485
383e179e
AC
124862011-08-01 Ed Schonberg <schonberg@adacore.com>
12487
12488 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
12489 over an arbitrary expression of an array or container type.
12490 * lib-xref.adb: clarify comment.
12491
124922011-08-01 Bob Duff <duff@adacore.com>
12493
12494 * einfo.ads: Minor reformatting.
12495 * debug.adb: Minor comment improvement.
12496
124972011-08-01 Javier Miranda <miranda@adacore.com>
12498
12499 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
12500 consider hidden subprograms as valid candidates.
12501
125022011-08-01 Arnaud Charlet <charlet@adacore.com>
12503
12504 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
12505
125062011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
12507
12508 * gnat_ugn.texi: Fix typo.
12509
61c161b2
AC
125102011-08-01 Robert Dewar <dewar@adacore.com>
12511
12512 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
12513 lib-xref.adb: Minor reformatting
12514
125152011-08-01 Gary Dismukes <dismukes@adacore.com>
12516
12517 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
12518 when to generate a call to Move_Final_List.
12519 (Has_Controlled_Parts): Remove this function.
12520
84df40f7
AC
125212011-08-01 Geert Bosch <bosch@adacore.com>
12522
12523 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
12524 "," in choice list.
12525
125262011-08-01 Thomas Quinot <quinot@adacore.com>
12527
12528 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
12529 explicit raise of a predefined exception as Comes_From_Source if the
12530 original N_Raise_Statement comes from source.
12531
125322011-08-01 Robert Dewar <dewar@adacore.com>
12533
12534 * sinfo.ads: Add comment.
12535 * sem_ch6.adb: Minor reformatting.
12536
125372011-08-01 Robert Dewar <dewar@adacore.com>
12538
12539 * freeze.adb (Freeze_Entity): Refine check for bad component size
12540 clause to avoid rejecting confirming clause when atomic/aliased present.
12541
125422011-08-01 Ed Schonberg <schonberg@adacore.com>
12543
12544 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
12545 better determine whether an entity reference is a write.
12546 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
12547 subcomponent.
12548 * lib-xref.adb (Output_References): Do no suppress a read reference at
12549 the same location as an immediately preceeding modify-reference, to
12550 handle properly in-out actuals.
12551
125522011-08-01 Tristan Gingold <gingold@adacore.com>
12553
12554 * env.c (__gnat_setenv) [VMS]: Refine previous change.
12555
125562011-08-01 Quentin Ochem <ochem@adacore.com>
12557
12558 * i-cstrin.adb (New_String): Changed implementation, now uses only the
12559 heap to compute the result.
12560
c7f0d2c0
AC
125612011-08-01 Robert Dewar <dewar@adacore.com>
12562
12563 * atree.ads: Minor reformatting.
12564
125652011-08-01 Emmanuel Briot <briot@adacore.com>
12566
12567 * g-expect.adb (Get_Command_Output): Fix memory leak.
12568
125692011-08-01 Geert Bosch <bosch@adacore.com>
12570
12571 * cstand.adb (P_Float_Type): New procedure to print the definition of
12572 predefined fpt types.
12573 (P_Mixed_Name): New procedure to print a name using mixed case
12574 (Print_Standard): Use P_Float_Type for printing floating point types
12575 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
12576 precision IEEE float.
12577
125782011-08-01 Thomas Quinot <quinot@adacore.com>
12579
12580 * sem_ch3.adb: Minor reformatting.
12581
125822011-08-01 Ed Schonberg <schonberg@adacore.com>
12583
12584 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
12585 the completion of a generic function, insert the new body rather than
12586 rewriting the original.
12587
125882011-08-01 Yannick Moy <moy@adacore.com>
12589
12590 * sinfo.ads, errout.ads: Typos in comments.
12591
1c54829e
AC
125922011-08-01 Robert Dewar <dewar@adacore.com>
12593
12594 * par-endh.adb: Minor reformatting.
12595
125962011-08-01 Robert Dewar <dewar@adacore.com>
12597
12598 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
12599 (Pre_Post_Aspects): New subtype.
12600 * par-ch12.adb (P_Generic): New syntax for aspects in packages
12601 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
12602 * par-ch7.adb (P_Package): Remove Decl parameter
12603 (P_Package): Handle new syntax for aspects (before IS)
12604 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
12605 new aspect syntax
12606 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
12607 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
12608 (P_Package): Remove Decl parameter
12609 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
12610 aspects
12611 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
12612 specs
12613 * sem_util.ads, sem_util.adb (Static_Boolean): New function
12614 * sinfo.ads: Document new syntax for aspects in packages etc.
12615 * sprint.adb: Handle new syntax of aspects before IS in package
12616
126172011-08-01 Thomas Quinot <quinot@adacore.com>
12618
12619 * atree.ads: Minor reformatting.
12620 * sem_prag.adb: Minor reformatting.
12621
126222011-08-01 Robert Dewar <dewar@adacore.com>
12623
12624 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
12625 case expr alternative.
12626
126272011-08-01 Ed Schonberg <schonberg@adacore.com>
12628
12629 * sem_ch12.adb: Fix typo.
12630
9eea4346
GB
126312011-08-01 Geert Bosch <bosch@adacore.com>
12632
12633 * sem_prag.adb (Check_No_Link_Name): New procedure.
12634 (Process_Import_Or_Interface): Use Check_No_Link_Name.
12635 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
12636 instead of Standard_Long_Long_Float_Size global. Preparation for
12637 eventual removal of per type constants.
12638 * exp_util.ads (Get_Stream_Size): New function returning the stream
12639 size value of subtype E.
12640 * exp_util.adb (Get_Stream_Size): Implement new function.
12641 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
12642 function.
12643 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
12644 * einfo.adb:
12645 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
12646
3d6c3bd7
GB
126472011-08-01 Geert Bosch <bosch@adacore.com>
12648
12649 * cstand.adb: Fix comments.
12650 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
12651 count of arguments.
12652
e7d897b8
AC
126532011-08-01 Robert Dewar <dewar@adacore.com>
12654
12655 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
12656
126572011-08-01 Geert Bosch <bosch@adacore.com>
12658
12659 * atree.ads: Fix comment.
12660
c228a069
AC
126612011-08-01 Robert Dewar <dewar@adacore.com>
12662
12663 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
12664 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
12665 * par.adb: Add with for Namet.Sp.
12666 * par-tchk.adb: Minor reformatting.
12667
126682011-08-01 Vincent Celier <celier@adacore.com>
12669
12670 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
12671 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
12672 of the init procedure of a SAL.
12673 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
12674 New procedure.
12675
126762011-08-01 Thomas Quinot <quinot@adacore.com>
12677
12678 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
12679 reformatting.
12680
126812011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12682
12683 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
12684
126852011-08-01 Thomas Quinot <quinot@adacore.com>
12686
12687 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
12688 conformant with its spec (return True only for types that have
12689 an overriding Initialize primitive operation that prevents them from
12690 having preelaborable initialization).
12691 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
12692 initialization for controlled types in Ada 2005 or later mode.
12693
857ade1b
RD
126942011-08-01 Robert Dewar <dewar@adacore.com>
12695
12696 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
12697 Postcondition.
12698 (Same_Aspect): New function.
12699 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
12700 Type_Invariant, Precondition, Postcondition.
12701 * snames.ads-tmpl: Add Name_Type_Invariant.
12702
bd949ee2
RD
127032011-08-01 Robert Dewar <dewar@adacore.com>
12704
12705 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
12706 here.
12707 (Freeze_All_Ent): Fix error in handling inherited aspects.
12708 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
12709 already analyzed, but don't skip entire processing of a declaration,
12710 that's wrong in some cases of declarations being rewritten.
12711 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
12712 Don't delay for integer, string literals
12713 Treat predicates in usual manner for delay, remove special case code,
12714 not needed.
12715 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
12716 (Build_Predicate_Function): Update saved expression in aspect
12717 (Build_Invariant_Procedure): Update saved expression in aspect
12718 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
12719 of replacement of discriminant references if the reference is simple.
12720
f1c952af
RD
127212011-08-01 Robert Dewar <dewar@adacore.com>
12722
12723 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
12724 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
12725 Static_Predicate and Dynamic_Predicate.
12726 (Build_Predicate_Function): Add processing for Static_Predicate
12727 and Dynamic_Predicate.
12728 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
12729 (From_Static_Predicate): New flag
12730 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
12731
127322011-08-01 Robert Dewar <dewar@adacore.com>
12733
12734 * usage.adb: Documentation cleanup for Ada version modes in usage.
12735 * expander.adb: Minor reformatting.
12736
47e11d08
AC
127372011-08-01 Robert Dewar <dewar@adacore.com>
12738
12739 * atree.ads: Minor comment fix.
12740 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
12741 a-witeio.ads, sem_prag.adb: Minor reformatting.
12742
127432011-08-01 Doug Rupp <rupp@adacore.com>
12744
12745 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
12746 pointers. Use descrip.h header file for convenience. Add some
12747 comments.
12748
127492011-08-01 Robert Dewar <dewar@adacore.com>
12750
12751 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
12752 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
12753 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
12754 New procedure.
12755 (Check_Aspect_At_End_Of_Declarations): New procedure
12756 (Analye_Aspect_Specification): Minor changes for above procedures
12757 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
12758 specification node as well.
12759
127602011-08-01 Pascal Obry <obry@adacore.com>
12761
12762 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
12763 Windows files. Use GetFilesAttributes() in this case to check for file
12764 existence instead of returning with an error code.
12765
a3a16b21
VC
127662011-08-01 Vincent Celier <celier@adacore.com>
12767
12768 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
12769 High is above Source length.
12770
ff58cc69
RD
127712011-08-01 Robert Dewar <dewar@adacore.com>
12772
12773 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
12774
6bb88533
AC
127752011-08-01 Robert Dewar <dewar@adacore.com>
12776
12777 * aspects.ads (Boolean_Aspects): New subtype.
12778 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
12779 for derived types in cases where the parent type and derived type have
12780 aspects.
12781 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
12782 with aspects when parent type also has aspects.
12783 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
12784 boolean expression at this point).
12785 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
12786 accordance with final decision on the Ada 2012 feature.
12787 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
12788
127892011-08-01 Matthew Heaney <heaney@adacore.com>
12790
12791 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
12792
060a3f28
AC
127932011-08-01 Pascal Obry <obry@adacore.com>
12794
12795 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
12796 Fix Replace_Slice when High is above current string size.
12797 (Replace_Slice): Fix DL computation when High is above current
12798 string length.
12799
128002011-08-01 Gary Dismukes <dismukes@adacore.com>
12801
12802 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
12803
e7f567a3
AC
128042011-08-01 Matthew Heaney <heaney@adacore.com>
12805
12806 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
12807 of node.
12808
128092011-08-01 Pascal Obry <obry@adacore.com>
12810
12811 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
12812 reformatting.
12813
1a265e78
AC
128142011-08-01 Ed Schonberg <schonberg@adacore.com>
12815
12816 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
12817 access to protected subprograms in generic bodies.
12818 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
12819 protected type, indicate that the convention of the subprogram is
12820 Convention_Protected, because it may be used in subsequent declarations
12821 within the protected declaration.
12822
128232011-08-01 Vincent Celier <celier@adacore.com>
12824
12825 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
12826 and "final" procedures when the name of the library is "ada", to avoid
12827 duplicate symbols "adainit" and "adafinal" in executables.
12828
67e28ef8
ES
128292011-08-01 Ed Schonberg <schonberg@adacore.com>
12830
12831 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
12832 quantified expression that appears within a postcondition and uses the
12833 Ada2012 'Result attribute.
12834
6da2ca7d
RO
128352011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12836
12837 * init.c (__gnat_error_handler): Cast reason to int.
12838 (__gnat_install_handler): Explain sa_sigaction use.
12839
7d5997c6
EB
128402011-07-24 Eric Botcazou <ebotcazou@adacore.com>
12841
12842 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
12843 subprogram has copy-in copy-out parameters, try to promote the mode of
12844 the return type if it is passed in registers.
12845
4b4cfdd5
EB
128462011-07-24 Eric Botcazou <ebotcazou@adacore.com>
12847
12848 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
12849 left operand as addressable.
12850
f3d34576
EB
128512011-07-24 Eric Botcazou <ebotcazou@adacore.com>
12852
12853 * gcc-interface/gigi.h (build_function_stub): Remove.
12854 (build_return_expr): Likewise.
12855 (convert_vms_descriptor): Declare.
12856 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
12857 (build_function_stub): Move to...
12858 * gcc-interface/utils2.c (build_return_expr): Move to...
12859 * gcc-interface/trans.c (build_function_stub): ...here.
12860 (build_return_expr): ...here.
12861 (Subprogram_Body_to_gnu): Add local variable for language_function.
12862 Disconnect the parameter attributes cache, if any, once done with it.
12863 Call end_subprog_body only after setting the end_locus.
12864 Build the stub associated with the function, if any, at the very end.
12865 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
12866 variables and streamline control flow.
12867
0a6ecc08
AC
128682011-07-23 Arnaud Charlet <charlet@adacore.com>
12869
12870 PR ada/49819
12871 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
12872 g-trasym-dwarf.adb.
12873
5b6d595b
RO
128742011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12875
12876 PR bootstrap/49794
12877 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
12878 Assign to act.sa_sigaction.
12879 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
12880 current->return_address to char * before arithmetic.
12881
94017021
RO
128822011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12883
12884 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
12885 Correct argument types.
12886 Extract code from reason.
12887 (__gnat_install_handler): Assign to act.sa_sigaction.
12888
52fd02bb
EB
128892011-07-21 Eric Botcazou <ebotcazou@adacore.com>
12890
12891 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
12892 (GNAT1_OBJS): ...here.
12893
f39a9ca2
EB
128942011-07-15 Eric Botcazou <ebotcazou@adacore.com>
12895
12896 PR ada/48711
12897 * g-socthi-mingw.adb (Fill): Fix formatting.
12898
9e36aa23
EB
12899 * gcc-interface/gigi.h: Move around comment.
12900
e3aca522
JDA
129012011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12902
12903 PR ada/46350
12904 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
12905
696b1960
FW
129062011-07-14 Florian Weimer <fw@deneb.enyo.de>
12907
12908 PR ada/48711
12909 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
12910
f542c405
EB
129112011-07-13 Eric Botcazou <ebotcazou@adacore.com>
12912
12913 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
12914 range comparison if Pmode is SImode.
12915
9e9bd455
LG
129162011-07-12 Laurent GUERBY <laurent@guerby.net>
12917 Eric Botcazou <ebotcazou@adacore.com>
12918
12919 * adadecode.c: Wrap up in extern "C" block.
12920 * adadecode.h: Likewise.
12921 * adaint.c: Likewise. Remove 'const' keyword.
12922 * adaint.h: Likewise.
12923 * argv.c: Likewise.
12924 * atree.h: Likewise.
12925 * cio.c: Likewise.
12926 * cstreams.c: Likewise.
12927 * env.c: Likewise.
12928 * exit.c: Likewise.
12929 * fe.h: Likewise.
12930 * final.c: Likewise.
12931 * init.c: Likewise.
12932 * initialize.c: Likewise.
12933 * link.c: Likewise.
12934 * namet.h: Likewise.
12935 * nlists.h: Likewise.
12936 * raise.c: Likewise.
12937 * raise.h: Likewise.
12938 * repinfo.h: Likewise.
12939 * seh_init.c: Likewise.
12940 * targext.c: Likewise.
12941 * tracebak.c: Likewise.
12942 * uintp.h: Likewise.
12943 * urealp.h: Likewise.
12944 * xeinfo.adb: Wrap up generated C code in extern "C" block.
12945 * xsinfo.adb: Likewise.
12946 * xsnamest.adb: Likewise.
12947 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
12948 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
12949 * gcc-interface/misc.c: Likewise.
12950 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
12951 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
12952 ada/targext.o here...
12953 (GNAT_ADA_OBJS): ...and not here.
12954 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
12955 (GNATBIND_OBJS): Reorder.
12956
7644b3c7
RH
129572011-07-07 Richard Henderson <rth@redhat.com>
12958
12959 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
12960 dwarf2out_frame_init.
12961
8384ac41
EB
129622011-07-07 Eric Botcazou <ebotcazou@adacore.com>
12963
12964 * gcc-interface/misc.c (gnat_init): Tweak previous change.
12965
fbdd5d87
RO
129662011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12967
12968 PR target/39150
12969 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
12970
1a072294
RG
129712011-07-06 Richard Guenther <rguenther@suse.de>
12972
8384ac41
EB
12973 * gcc-interface/misc.c (gnat_init): Merge calls to
12974 build_common_tree_nodes and build_common_tree_nodes_2.
1a072294
RG
12975 Re-initialize boolean_false_node.
12976
bc712852
EB
129772011-07-02 Eric Botcazou <ebotcazou@adacore.com>
12978 Olivier Hainque <hainque@adacore.com>
12979 Nicolas Setton <setton@adacore.com>
12980
12981 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
12982 the type according to the ARTIFICIAL_P parameter.
12983 (create_type_decl): Likewise.
12984 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
12985
2eb22389
EB
129862011-07-01 Eric Botcazou <ebotcazou@adacore.com>
12987
12988 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
12989 (gnatbind): Likewise.
12990
4bdaaf2f
RO
129912011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12992
12993 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
12994
c020c92b
EB
129952011-06-18 Eric Botcazou <ebotcazou@adacore.com>
12996
12997 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
12998 local variable throughout. Remove useless call to Base_Type.
12999 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
13000 Take it also into account for the volatileness of the field. Set the
13001 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
13002
96769d32
EB
130032011-06-18 Eric Botcazou <ebotcazou@adacore.com>
13004
13005 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
13006 on a dereference built for a by-ref object if it has an address clause.
13007
7e4680c1
EB
130082011-06-18 Eric Botcazou <ebotcazou@adacore.com>
13009
13010 * einfo.ads (Address_Taken): Document use for the second argument of
13011 Asm_Input and Asm_Output attributes.
13012 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
13013 argument is an entity name, then set Address_Taken on it.
13014 <Attribute_Asm_Output>: Likewise.
13015 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
13016 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
13017 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
13018 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
13019
130202011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
d5cc9181
JR
13021
13022 PR middle-end/46500
13023 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
13024
677f3fa8
JM
130252011-06-14 Joseph Myers <joseph@codesourcery.com>
13026
13027 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
13028 (ada/utils.o): Update dependencies.
13029 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
13030 ../../../libcpp/libcpp.a.
13031 * gcc-interface/utils.c: Include common/common-target.h.
13032 (process_attributes): Use targetm_common.have_named_sections.
13033
009db074
RG
130342011-06-07 Richard Guenther <rguenther@suse.de>
13035
0bad0e23
EB
13036 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
13037 set_sizetype.
009db074 13038
3bfc61cf
EB
130392011-06-06 Eric Botcazou <ebotcazou@adacore.com>
13040
0bad0e23 13041 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
3bfc61cf
EB
13042 TREE_THIS_NOTRAP flag.
13043
5c4a1c7b
EB
130442011-06-06 Eric Botcazou <ebotcazou@adacore.com>
13045
13046 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
13047 Fix thinko.
13048
e9f57686
EB
130492011-06-06 Eric Botcazou <ebotcazou@adacore.com>
13050
13051 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
13052 constants whose full view has discriminants specially.
13053
10e4d056
EB
130542011-06-06 Eric Botcazou <ebotcazou@adacore.com>
13055
13056 * gcc-interface/utils.c: Include diagnostic.h.
13057 (gnat_write_global_declarations): Output debug information for all
13058 global type declarations before finalizing the compilation unit.
13059 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
13060
0957c029
JJ
130612011-05-25 Jakub Jelinek <jakub@redhat.com>
13062
13063 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
13064
52d0a7ac
KT
130652011-05-25 Kai Tietz <ktietz@redhat.com>
13066
13067 * adaint.c (__gnat_to_canonical_file_list_next): Use array
13068 initialization instead of const/none-const pointer assignment.
13069
1ed1641d
JM
130702011-05-24 Joseph Myers <joseph@codesourcery.com>
13071
13072 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
13073 $(EXTRA_GNAT1_OBJS).
13074 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
13075 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
13076 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
13077 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
13078 libcommon-target.a instead of prefix.o.
13079
9fe72ebd
JM
130802011-05-21 Joseph Myers <joseph@codesourcery.com>
13081
13082 PR ada/49097
0bad0e23 13083 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
9fe72ebd 13084
2691e6d7
JM
130852011-05-20 Joseph Myers <joseph@codesourcery.com>
13086
0bad0e23
EB
13087 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
13088 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
13089 instead of version.o.
2691e6d7 13090
bf6490b5
KT
130912011-05-18 Kai Tietz <ktietz@redhat.com>
13092
13093 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
13094 boolean_false_node instead of integer_zero_node.
13095 (convert_with_check): Likewise.
13096 * gcc-interface/decl.c (choices_to_gnu): Likewise.
13097
7bf9a5ac
EB
130982011-05-12 Eric Botcazou <ebotcazou@adacore.com>
13099
13100 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
13101 type of the parameter is an unconstrained array, convert the actual to
13102 the type of the formal in the In Out and Out cases as well.
13103
e5b00edf
NF
131042011-05-11 Nathan Froyd <froydnj@codesourcery.com>
13105
13106 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
13107 call build_function_type_array or build_varargs_function_type_array
13108 instead.
13109 (create_subprog_type): Don't call build_function_type; call
13110 build_function_type_vec instead.
13111
51545682
NF
131122011-05-11 Nathan Froyd <froydnj@codesourcery.com>
13113
13114 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
13115 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
13116 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
13117
c99c0026
EB
131182011-05-07 Eric Botcazou <ebotcazou@adacore.com>
13119
f620bd21
EB
13120 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
13121
c99c0026
EB
13122 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
13123 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
13124
3d528853
NF
131252011-05-05 Nathan Froyd <froydnj@codesourcery.com>
13126
c99c0026 13127 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
3d528853 13128
d7d058c5
NF
131292011-05-05 Nathan Froyd <froydnj@codesourcery.com>
13130
13131 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
13132 instead of accessing TYPE_ARG_TYPES directly.
13133 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
13134
805e60a0
EB
131352011-05-05 Eric Botcazou <ebotcazou@adacore.com>
13136
13137 PR ada/48844
13138 * gcc-interface/gigi.h (get_variant_part): Declare.
13139 * gcc-interface/decl.c (get_variant_part): Make global.
13140 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
13141 types have the same constant size, are record types and T1 has a
13142 variant part while T2 doesn't.
13143
907a08d9
EB
131442011-05-05 Eric Botcazou <ebotcazou@adacore.com>
13145
13146 * gcc-interface/utils.c (begin_subprog_body): Do not call
13147 get_pending_sizes.
13148 (end_subprog_body): Likewise.
13149
d35936ab
RG
131502011-05-04 Richard Guenther <rguenther@suse.de>
13151
13152 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
13153 int_const_binop.
13154 (pos_to_constructor): Likewise.
13155
c1fd8753 131562011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2c7f9cc0 13157 Eric Botcazou <ebotcazou@adacore.com>
c1fd8753
NF
13158
13159 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
13160 of build_function_type. Adjust calls to...
13161 (build_raise_check): ...this. Do not take a void_tree parameter.
13162 Call build_function_type_list instead of build_function_type.
13163 Fix head comment and swap couple of conditional blocks.
13164
4fb87d2b
EB
131652011-04-30 Eric Botcazou <ebotcazou@adacore.com>
13166
13167 * gnatvsn.ads (Library_Version): Bump to 4.7.
13168 (Current_Year): Bump to 2011.
13169
fa5e5a76
MM
131702011-04-29 Michael Matz <matz@suse.de>
13171
13172 * gcc-interface/misc.c (gnat_handle_option): Set
13173 warn_maybe_uninitialized.
13174
8d6a2f69
GP
131752011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
13176
13177 * gnat_ugn.texi (Complexity Metrics Control): Update link to
13178 the Watson/McCabe paper.
13179
770937fd
JM
131802011-04-23 Jim Meyering <meyering@redhat.com>
13181
13182 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
13183
eb601ae1
EB
131842011-04-22 Eric Botcazou <ebotcazou@adacore.com>
13185
13186 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
13187 onto the new type.
13188
7d7fcb08
EB
131892011-04-22 Eric Botcazou <ebotcazou@adacore.com>
13190
13191 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
13192 parameter.
13193 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
13194 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
13195 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
13196 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
13197 <all>: Do not set flags on the reused DECL node coming from an alias.
13198 Set DECL_IGNORED_P on the DECL node built for subprograms if they
13199 don't need debug info here...
13200 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
13201 (gigi): Adjust calls to create_subprog_decl.
13202 (build_raise_check): Likewise.
13203 (establish_gnat_vms_condition_handler): Likewise.
13204 (Compilation_Unit_to_gnu): Likewise.
13205 (gnat_to_gnu): Likewise.
13206
e1876cac
EB
132072011-04-21 Eric Botcazou <ebotcazou@adacore.com>
13208
13209 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
13210 (NO_REORDER_ADAFLAGS): New variable.
13211 (EXTRA_GNATTOOLS): Always define.
13212 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
13213 Clean up and adjust list of files compiled with special options.
13214 * gcc-interface/Make-lang.in: Likewise.
13215 (ada/decl.o): Cosmetical change.
13216 (ada/misc.o): Remove dependency on $(PLUGIN_H).
13217
04695783
JM
132182011-04-20 Jim Meyering <meyering@redhat.com>
13219
13220 * initialize.c (__gnat_initialize): Remove useless if-before-free.
13221
23399579
EB
132222011-04-17 Eric Botcazou <ebotcazou@adacore.com>
13223
13224 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
13225 $(CFLAGS) on the link line.
13226
51c5169c
EB
132272011-04-17 Eric Botcazou <ebotcazou@adacore.com>
13228
13229 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
13230 padded type built for the return type if it is unconstrained.
13231
61e46a7d
NF
132322011-04-14 Nathan Froyd <froydnj@codesourcery.com>
13233
13234 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
13235
81f653d6
NF
132362011-04-12 Nathan Froyd <froydnj@codesourcery.com>
13237
b4867846
EB
13238 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
13239 before calling TREE_CHAIN.
81f653d6
NF
13240 * gcc-interface/misc.c (gnat_init_ts): New function.
13241 (LANG_HOOKS_INIT_TS): Define.
13242
a358e188
MJ
132432011-04-12 Martin Jambor <mjambor@suse.cz>
13244
b4867846
EB
13245 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
13246 instead of cgraph_node.
a358e188 13247
29b1c5a4
EB
132482011-04-08 Eric Botcazou <ebotcazou@adacore.com>
13249
13250 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
13251 alignment on fields of the RETURN type built for the Copy-In Copy-Out
13252 mechanism.
13253
88872b00
EB
132542011-04-08 Eric Botcazou <ebotcazou@adacore.com>
13255
13256 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
13257 of aggregate types that contain a placeholder.
13258
dcf0c47e
NF
132592011-04-08 Nathan Froyd <froydnj@codesourcery.com>
13260
13261 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
b4867846 13262 TYPE_ARG_TYPES.
dcf0c47e
NF
13263 (handle_type_generic_attribute): Likewise.
13264
53e3000c
EB
132652011-04-04 Eric Botcazou <ebotcazou@adacore.com>
13266
13267 PR ada/47163
13268 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
13269
ab380bb4
KT
132702011-04-04 Kai Tietz <ktietz@redhat.com>
13271
13272 PR ada/47163
0bad0e23
EB
13273 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
13274 to flag value.
ab380bb4 13275
8ffac116
EB
132762011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13277
13278 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
13279 type case, do not strip a padding type around the array type.
13280
de9528f0
EB
132812011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13282
13283 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
13284 types.
13285
d9d7a26c
EB
132862011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13287
13288 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
13289 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
de9528f0 13290 code for -feliminate-unused-debug-types.
d9d7a26c
EB
13291 (gnat_post_options): Likewise.
13292
4cb12a90
EB
132932011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13294
13295 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
13296 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
13297 distinct copy.
13298
acccc61c
EB
132992011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13300
13301 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
13302 DECL_ARTIFICIAL flag on enumeration types.
13303
583eb0c9
EB
133042011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13305
13306 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
13307 fat pointer types artificial unconditionally.
13308 <E_Array_Subtype>: Attach the base array type as a parallel type if it
13309 isn't artificial.
13310
e3edbd56
EB
133112011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13312
13313 * gcc-interface/gigi.h (get_dummy_type): Declare.
13314 (build_dummy_unc_pointer_types): Likewise.
13315 (finish_fat_pointer_type): Likewise.
13316 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
13317 fat pointer type has been built, complete it in place.
13318 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
13319 and thin pointers. Remove useless variable.
13320 (finish_fat_pointer_type): Make global and move to...
13321 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
13322 (get_dummy_type): New function.
13323 (build_dummy_unc_pointer_types): Likewise.
13324 (gnat_pushdecl): Propage the name to the anonymous variants only.
13325 (update_pointer_to): Only adjust the pointer types in the unconstrained
13326 array case.
13327
65444786
EB
133282011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13329
13330 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
13331 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
13332 if this is a Taft amendment type and the full declaration is available.
13333 * gcc-interface/trans.c (process_type): Likewise.
13334 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
13335 (process_freeze_entity): Likewise.
13336 * gcc-interface/utils.c (dummy_global): New static variable.
13337 (gnat_write_global_declarations): If there are types declared as used
13338 at the global level, insert them in the global hash table.
13339
1aeb40dd
EB
133402011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13341
13342 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
13343 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
13344 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
13345 copy.
13346 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
13347 flag of the type accordingly.
13348 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
13349
80ec8b4c
EB
133502011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13351
13352 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
13353 finalizing types when updating the pointers to the designated type.
13354 <all>: Finalize the deferred types even if we didn't defer processing
13355 of incomplete types in this invocation.
13356
2a9d769a 133572011-04-01 Olivier Hainque <hainque@adacore.com>
2c7f9cc0
AS
13358 Nicolas Setton <setton@adacore.com>
13359 Eric Botcazou <ebotcazou@adacore.com>
2a9d769a
OH
13360
13361 * gcc-interface/misc.c (gnat_descriptive_type): New function.
13362 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
13363
2438d7a6
KT
133642011-03-28 Kai Tietz <ktietz@redhat.com>
13365
333d8aff 13366 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
80ec8b4c
EB
13367 Windows targets.
13368 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
13369 * system-mingw.ads (System): Change ZCX_By_Default default to True.
333d8aff 13370
80ec8b4c 13371 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
2438d7a6 13372
8ad150f6
TG
133732011-03-28 Tristan Gingold <gingold@adacore.com>
13374
13375 PR ada/44431
80ec8b4c
EB
13376 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
13377 Use ada output of gnatbind.
8ad150f6
TG
13378 (ada/b_gnatb.adb): Ditto.
13379 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
13380 (ada.mostlyclean, ada.stage1)
13381 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
13382 (ada.stagefeedback): Adjust.
80ec8b4c 13383 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
8ad150f6
TG
13384 Use ada output of gnatbind.
13385 (b_gnatm.adb): Ditto.
13386 (b_gnatl.o, b_gnatm.o): New rules.
13387
51c7954d
EB
133882011-03-26 Eric Botcazou <ebotcazou@adacore.com>
13389
13390 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
13391 for the padded type built to support a specified size or alignment.
13392
6ddf9843
EB
133932011-03-26 Eric Botcazou <ebotcazou@adacore.com>
13394
13395 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
13396 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
13397 unconditionally to the end of the unit when the designated type is
13398 limited_with'ed.
13399 <all>: Rename local variable. Attempt to un-defer types only and do it
13400 for limited_with'ed types as well.
13401 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
13402 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
13403 consistently and remove redundant call to finalize_from_with_types.
13404
5daed84a
EB
134052011-03-26 Eric Botcazou <ebotcazou@adacore.com>
13406
13407 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
13408 subprograms without a previous spec declared in the same unit.
13409 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
13410 subprograms at the end of the unit instead of at the beginning.
13411 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
13412 isn't public for the special handling of non-inline functions nested
13413 inside inline external functions.
13414
0edf1bb2
JL
134152011-03-25 Jeff Law <law@redhat.com>
13416
5daed84a 13417 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
0edf1bb2 13418
e3c4580e
EB
134192011-03-24 Eric Botcazou <ebotcazou@adacore.com>
13420
13421 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
13422 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
13423 to compute Set_Size_Depends_On_Discriminant.
13424 (Layout_Type): Call it on array types in back-end layout mode.
13425 * sem_util.adb (Requires_Transient_Scope): Return true for array
13426 types only if the size depends on the value of discriminants.
13427 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
13428 type if the RHS is a call to a function that returns an unconstrained
13429 type with default discriminant.
13430
abbc8c7b
EB
134312011-03-24 Eric Botcazou <ebotcazou@adacore.com>
13432
13433 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
13434 non-conversion to the nominal result type at the end.
13435
ddb5a105
EB
134362011-03-23 Eric Botcazou <ebotcazou@adacore.com>
13437
13438 * gcc-interface/trans.c (create_temporary): New function taken from...
13439 (create_init_temporary): ...here. Call it.
13440 (call_to_gnu): Create the temporary for the return value early, if any.
13441 Create it for a function with copy-in/copy-out parameters if there is
13442 no target; in other cases of copy-in/copy-out, use another temporary.
13443 Push the new binding level lazily. Add and rename local variables.
13444
0d853156
EB
134452011-03-23 Eric Botcazou <ebotcazou@adacore.com>
13446
13447 * gcc-interface/decl.c (validate_size): Improve comments and tweak
13448 error message.
13449 (set_rm_size): Likewise.
13450
4184ef1b
EB
134512011-03-23 Eric Botcazou <ebotcazou@adacore.com>
13452
13453 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
13454 for the padded type built in order to support a specified alignment.
13455 Fix incorrect formatting.
13456
bf7eefab
EB
134572011-03-21 Eric Botcazou <ebotcazou@adacore.com>
13458
13459 PR bootstrap/48216
13460 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
13461
ef0feeb2
EB
134622011-03-21 Eric Botcazou <ebotcazou@adacore.com>
13463
13464 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
13465 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
13466 to the end of the list. Adjust recursive call. Rename local variable.
13467 If REORDER is true, reorder components of the record type.
13468 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
13469 components_to_record and adjust the parameter list.
13470
646f9414
EB
134712011-03-21 Eric Botcazou <ebotcazou@adacore.com>
13472
13473 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
13474 disabled, use the variable for bounds of loop iteration scheme.
13475
62d784f7
KT
134762011-03-21 Kai Tietz <ktietz@redhat.com>
13477
13478 PR target/12171
0bad0e23 13479 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
62d784f7 13480
f230d759
EB
134812011-03-17 Eric Botcazou <ebotcazou@adacore.com>
13482
13483 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
13484 out whether the expression is read-only. Short-circuit placeholder
13485 case and rename a couple of local variables.
13486
bb1f7929
EB
134872011-03-17 Eric Botcazou <ebotcazou@adacore.com>
13488
13489 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
13490 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
13491 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
13492 (convert): Deal with conversions from a smaller form type specially.
13493
400a2d24
EB
134942011-02-14 Eric Botcazou <ebotcazou@adacore.com>
13495
13496 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
13497 its argument, except for the special -I- switch.
13498
c26bc3ad
GP
134992011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
13500
0bad0e23
EB
13501 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
13502 "Ada Issues".
c26bc3ad 13503
07b8e910
EB
135042011-02-08 Eric Botcazou <ebotcazou@adacore.com>
13505
13506 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
13507
31a5a547
EB
135082011-02-03 Eric Botcazou <ebotcazou@adacore.com>
13509
13510 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
13511 GNAT_FORMAL.
13512 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
13513 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
13514 instead of GNAT_FORMAL. Protect the expression against multiple uses.
13515 Do not generate the check directly, instead instantiate the template
13516 check present in the descriptor.
13517 (make_descriptor_field): Move around.
13518 (build_vms_descriptor32): Build a template check in the POINTER field.
13519 (build_vms_descriptor): Remove useless suffixes.
13520 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
13521
dcf25f59
EB
135222011-01-26 Eric Botcazou <ebotcazou@adacore.com>
13523
13524 PR bootstrap/47467
13525 * targext.c: Include target files if IN_RTS is defined.
13526
0418e131
RG
135272011-01-26 Richard Guenther <rguenther@suse.de>
13528
13529 PR bootstrap/47467
13530 * targext.c: Include config.h.
13531 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
13532 dependency.
13533
c6eecbd8 135342011-01-04 Pascal Obry <obry@adacore.com>
2c7f9cc0 13535 Eric Botcazou <ebotcazou@adacore.com>
c6eecbd8
PO
13536
13537 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
13538
2d3c7e4f
EB
135392011-01-04 Eric Botcazou <ebotcazou@adacore.com>
13540
13541 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
13542 end-of-case on the end label and its associated gotos, if any.
13543
0394741f
EB
135442011-01-04 Eric Botcazou <ebotcazou@adacore.com>
13545
13546 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
13547 expressions of the parameter cache within the statement group of
13548 the CICO mechanism.
13549
2a02d090 135502011-01-04 Olivier Hainque <hainque@adacore.com>
2c7f9cc0 13551 Eric Botcazou <ebotcazou@adacore.com>
2a02d090
OH
13552
13553 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
13554 (set_end_locus_from_node): New function.
13555 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
13556 make and the function end_locus.
13557 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
13558 for the elaboration subprogram.
13559 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
13560 set the end_locus of the expression as well.
13561
89f5e978
EB
135622011-01-04 Eric Botcazou <ebotcazou@adacore.com>
13563
13564 PR ada/47131
13565 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
13566 variables that are referenced in exception handlers volatile.
13567
13568
ad41bd84 13569\f
797103eb 13570Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
13571
13572Copying and distribution of this file, with or without modification,
13573are permitted in any medium without royalty provided the copyright
13574notice and this notice are preserved.