]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
[multiple changes]
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
7a0ddd20
AC
12011-09-02 Vincent Celier <celier@adacore.com>
2
3 * prj-nmsc.db: (Check_Stand_Alone_Library): For SALs, allow
4 only library names with the syntax of Ada identifiers, to avoid errors
5 when compiling the binder generated files.
6 * projects.texi: Document restriction on SAL library names
7
82011-09-02 Thomas Quinot <quinot@adacore.com>
9
10 * a-chtgbo.adb: Minor comment fix.
11
439b6dfa
AC
122011-09-02 Robert Dewar <dewar@adacore.com>
13
14 * lib-xref.adb: Minor reformatting
15
162011-09-02 Vincent Celier <celier@adacore.com>
17
18 * bindusg.adb, clean.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
19 gnatls.adb, gnatname.adb, gnatxref.adb, gprep.adb, makeusg.adb: Add
20 --version and --help in usage.
21 * switch.ads, switch.adb (Display_Usage_Version_And_Help): New procedure
22
f2404867
AC
232011-09-02 Bob Duff <duff@adacore.com>
24
25 * lib-xref.adb: (Hash): Avoid use of 'Mod attribute, because old
26 compilers don't understand it.
27
282011-09-02 Gary Dismukes <dismukes@adacore.com>
29
30 * exp_attr.adb (Expand_N_Attribute_Reference): Pass the
31 underlying subtype rather than its base type on the call to
32 Build_Record_Or_Elementary_Input_Function, so that any
33 constraints on a discriminated subtype will be available for
34 doing the check required by AI05-0192.
35 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
36 If the prefix subtype of the 'Input attribute is a constrained
37 discriminated subtype, then check each constrained discriminant value
38 against the corresponding value read from the stream.
39
029b67ba
YM
402011-09-02 Yannick Moy <moy@adacore.com>
41
42 * usage.adb, warnsw.adb, sem_ch6.adb, opt.ads: Disable by default
43 warnings on suspicious contracts, and enable them with -gnatwa.
44
dc36a7e3
RD
452011-09-02 Robert Dewar <dewar@adacore.com>
46
47 * exp_util.adb, exp_ch9.adb, sem_attr.adb, sem_ch6.adb: Minor
48 reformatting.
49
d5aa443c
AC
502011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
51
52 * exp_ch9.adb (Install_Private_Data_Declarations): Add guards
53 which ensure that restriction No_Dynamic_Attachment has not been
54 violated.
55 (Make_Initialize_Protection): Protected types with attach or
56 interrupt handlers must not violate restriction No_Dynamic_Attachment.
57 * exp_util.adb (Corresponding_Runtime_Package): Add a guard
58 which ensures that restriction No_Dynamic_Attachment has not been
59 violated.
60 * sem_attr.adb: (Eval_Attribute): Transform
61 VAX_Float_Type'First and 'Last into references to
62 the temporaries which store the corresponding bounds. The
63 transformation is needed since the back end cannot evaluate
64 'First and 'Last on VAX.
65 (Is_VAX_Float): New routine.
66
672011-09-02 Ed Schonberg <schonberg@adacore.com>
68
69 * sem_ch12.adb (Analyze_Subprogram_Instantiation): If the
70 generic unit is not intrinsic and has an explicit convention,
71 the instance inherits it.
72
67c86178
AC
732011-09-02 Robert Dewar <dewar@adacore.com>
74
75 * prj-dect.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, prj-tree.adb,
76 prj.adb, prj.ads, sem_ch5.adb: Minor reformatting.
77
782011-09-02 Thomas Quinot <quinot@adacore.com>
79
80 * sem_attr.adb (Analyze_Attribute, case Unrestriced_Access):
81 Guard against a prefix that is an N_Has_Entity but has no
82 associated entity.
83
842011-09-02 Yannick Moy <moy@adacore.com>
85
86 * lib-xref-alfa.adb (Is_Alfa_Reference): Ignore IN parameters in Alfa
87 references.
88
892011-09-02 Yannick Moy <moy@adacore.com>
90
91 * opt.ads (Warn_On_Suspicious_Contract): New warning flag.
92 * sem_ch3.adb (Analyze_Declarations): Call checker for suspicious
93 contracts.
94 * sem_ch6.adb, sem_ch6.ads (Check_Subprogram_Contract): New
95 procedure looking for suspicious postconditions.
96 * usage.adb (Usage): New options -gnatw.t and -gnatw.T.
97 * warnsw.adb (Set_Dot_Warning_Switch): Take into account new
98 options -gnatw.t and -gnatw.T.
99
735ca1b9
PO
1002011-09-02 Pascal Obry <obry@adacore.com>
101
102 * prj.adb: Minor code refactoring. Move check for null project in
103 Project_Changed.
104 * projects.texi: Fix minor typos.
105
86828d40
AC
1062011-09-02 Ed Schonberg <schonberg@adacore.com>
107
108 * sem_ch5.adb (Analyze_Iterator_Specification): If the domain
109 of iteration is an expression, its value must be captured in a
110 renaming declaration, so that modification of the elements is
111 propagated to the original container.
112
1132011-09-02 Pascal Obry <obry@adacore.com>
114
115 * prj-proc.adb, prj.adb, makeutl.adb, makeutl.ads, prj-dect.adb,
116 prj-nmsc.adb, prj-util.adb, prj-conf.adb, prj-env.adb,
117 prj-tree.adb: Minor reformatting and style fixes.
118
83de674b
AC
1192011-09-02 Robert Dewar <dewar@adacore.com>
120
121 * s-rident.ads: Add new restriction No_Implicit_Aliasing
122 * sem_attr.adb: (Analyze_Access_Attribute): Deal with
123 No_Implicit_Aliasing
124 (Analyze_Attribute, case Address): ditto
125 (Analyze_Attribute, case Unrestricted_Access): ditto
126 * sem_util.ads, sem_util.adb: (Is_Aliased_View): Handle
127 No_Implicit_Aliasing restriction.
128 * gnat_rm.texi: Add documentation for No_Implicit_Aliasing
129
1302011-09-02 Ed Schonberg <schonberg@adacore.com>
131
132 * exp_util.adb: (Possible_Bit_Aligned_Object): If the object
133 is an unchecked conversion, apply test to its expression.
134
1352011-09-02 Javier Miranda <miranda@adacore.com>
136
137 * sem_ch3.adb (Check_Abstract_Overriding): When
138 traversing the chain of aliased subprograms avoid reporting a
139 redundant error on the current entity.
140
1412011-09-02 Sergey Rybin <rybin@adacore.com>
142
143 * gnat_ugn.texi: Minor clean up.
144
1452011-09-02 Bob Duff <duff@adacore.com>
146
147 * s-htable.adb (Set_If_Not_Present): Use renaming
148 instead of ":=", because the type Key is limited in the generic (even
149 if not in the instances).
150
2c17ca0a
AC
1512011-09-02 Robert Dewar <dewar@adacore.com>
152
153 * exp_util.adb, sem_ch10.adb, sem_attr.adb, s-htable.adb,
154 g-comlin.adb, g-comlin.ads, lib-xref-alfa.adb, lib-xref.adb: Minor
155 reformatting.
156
1572011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
158
159 * sem_ch3.adb: (Set_Anonymous_Type): Associate the itype of an
160 inherited component with the enclosing derived type. Code reformatting.
161
1622011-09-02 Gary Dismukes <dismukes@adacore.com>
163
164 * checks.adb: (Determine_Range): Add test of OK1 to prevent the early
165 return done when overflow checks are enabled, since comparisons against
166 Lor and Hir should not be done when OK1 is False.
167
1682011-09-02 Gary Dismukes <dismukes@adacore.com>
169
170 * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
171 Add new formal Master_Exp. When present, add that expression to the
172 call as an extra actual.
173 (Make_Build_In_Place_Call_In_Object_Declaration): Add variable
174 Fmaster_Actual and in the case of a BIP call initializing a return
175 object of an enclosing BIP function set it to a
176 new reference to the implicit finalization master
177 formal of the enclosing function. Fmaster_Actual is
178 then passed to the new formal Master_Exp on the call to
179 Add_Finalization_Master_Actual_To_Build_ In_Place_Call. Move
180 initializations of Enclosing_Func to its declaration.
181
1822011-09-02 Thomas Quinot <quinot@adacore.com>
183
184 * csets.ads: Minor reformatting
185
1862011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
187
188 * exp_aggr.adb: (Get_Constraint_Association): Add code to retrieve
189 the full view of a private type coming from an instantiation.
190 * exp_ch4.adb: (Current_Anonymous_Master): Reimplement the search
191 loop to iterate over the declarations rather than use the
192 First_Entity / Next_Entity scheme.
193
ed32b82e
ES
1942011-09-02 Ed Schonberg <schonberg@adacore.com>
195
196 * sem_attr.adb: (Analyze_Attribute, case 'Range): when expanding
197 X'range (N) into X'First (N) .. X'Last (N), do not share the
198 dimension indicator N, if present. Even though it is a static
199 constant, its source location may be modified when printing
200 expanded code under -gnatDL, and node sharing will lead to chaos
201 in Sprint on large files, by generating a sloc value that does
202 not correspond to any source file.
203
f7bb41af
AC
2042011-09-02 Bob Duff <duff@adacore.com>
205
206 * einfo.adb: (Has_Xref_Entry): Do not call
207 Implementation_Base_Type. Lib.Xref has been
208 rewritten to avoid the need for it, and it was costly.
209 * s-htable.ads,s-htable.adb: (Present,Set_If_Not_Present): New
210 functions in support of efficient xref.
211 * lib-xref-alfa.adb: Misc changes related to Key component of
212 type Xref_Entry.
213 * lib-xref.adb: (Add_Entry,etc): Speed improvement.
214 (New_Entry): Call Implementation_Base_Type, because Has_Xref_Entry
215 no longer does. This is the one place where it is needed.
216
2172011-09-02 Johannes Kanig <kanig@adacore.com>
218
219 * g-comlin.adb (Getopt): New optional argument Concatenate to have
220 similar interface as the other Getopt function.
221
2222011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
223
224 * exp_ch4.adb: (Expand_Allocator_Expression): Do not generate
225 a call to Set_Finalize_Address if there is no allocator available.
226 * exp_util.adb: (Build_Allocate_Deallocate_Proc): Account for
227 a case of allocator expansion where the allocator is not expanded but
228 needs a custom allocate routine. Code reformatting.
229 (Is_Finalizable_Transient): Remove local variables Has_Rens and
230 Ren_Obj. Code reformatting.
231 (Is_Renamed): Renamed to Is_Aliased. Add code to detect aliasing
232 through the use of 'reference.
233 * sem_ch4.adb: (Analyze_Allocator): Detect allocators generated
234 as part of build-in-place expansion. They are intentionally marked as
235 coming from source, but their parents are not.
236
bd0bc43e
AC
2372011-09-02 Ed Schonberg <schonberg@adacore.com>
238
239 * sem_ch10.adb (Analyze_With_Clause): If the library unit
240 is the generated subprogram declaration for a child unit body
241 that acts as spec, use the original body in the with_clause,
242 to prevent binding errors.
243
2442011-09-02 Vincent Celier <celier@adacore.com>
245
246 * gnat_ugn.texi: Adapt documentation of -gnateInnn to new VMS
247 qualifier /MULTI_UNIT_INDEX=
248
2492011-09-02 Johannes Kanig <kanig@adacore.com>
250
251 * g-comlin.adb (Getopt): Return when switch is dealt with automatically,
252 instead of calling the callback function
253
9fdb5d21
RD
2542011-09-02 Robert Dewar <dewar@adacore.com>
255
256 * prj-proc.adb, prj.ads, sem_util.adb, s-taprop-linux.adb,
257 prj-nmsc.adb, prj-util.ads, prj-env.adb: Minor reformatting.
258
c6d5d1ac
AC
2592011-09-02 Vincent Celier <celier@adacore.com>
260
261 * prj-nmsc.adb: (Find_Sources): When the list of sources is
262 explicitly declared in an extending project, do not warn if a source
263 for an inherited naming exception is not found.
264
2652011-09-02 Gary Dismukes <dismukes@adacore.com>
266
267 * exp_ch6.adb: (Is_Build_In_Place_Function_Call): Return False if
268 expansion is inactive.
269
2702011-09-02 Ed Schonberg <schonberg@adacore.com>
271
272 * sem_util.adb (Note_Possible_Modification): If the entity
273 being modified is the renaming generated for an Ada2012 iterator
274 element, the enclosing container or array is modified as well.
275
2ba1a7c7
AC
2762011-09-02 Jose Ruiz <ruiz@adacore.com>
277
278 * s-taprop-linux.adb (Initialize_Lock, Initialize_TCB,
279 Initialize): Define and initialize the
280 mutex attributes and condition variable attributes locally.
281
2822011-09-02 Vincent Celier <celier@adacore.com>
283
284 * prj-nmsc.adb (Check_File): Mark as Locally_Removed a naming
285 exception replaced in an extending project.
286 (Check_Object): No error when the other source is locally removed.
287
2882011-09-02 Yannick Moy <moy@adacore.com>
289
290 * exp_ch6.adb (Is_Build_In_Place_Function_Call): in Alfa mode, allow
291 unresolved calls.
292
d51813db
AC
2932011-08-31 Arnaud Charlet <charlet@adacore.com>
294
295 * gcc-interface/Makefile.in: Clean up handling of x86 and x86-64
296 run-time files.
297 * gcc-interface/Make-lang.in: Update dependencies.
298
9f55bc62
AC
2992011-09-01 Robert Dewar <dewar@adacore.com>
300
301 * sem_ch3.adb, s-taprop-linux.adb, gnatls.adb: Minor reformatting.
302
3032011-09-01 Jose Ruiz <ruiz@adacore.com>
304
305 * adaint.h (__gnat_cpu_free): Fix the name of this profile.
306 * adaint.c (__gnat_cpu_alloc, __gnat_cpu_alloc_size, __gnat_cpu_free,
307 __gnat_cpu_zero, __gnat_cpu_set): Create version of these subprograms
308 specific for systems where their glibc version does not define the
309 routines to handle dynamically allocated CPU sets.
310
3112011-09-01 Vincent Celier <celier@adacore.com>
312
313 * prj-proc.adb, prj.ads, prj-nmsc.adb, prj-util.adb, prj-util.ads,
314 prj-env.adb: Implement inheritance of naming exceptions in extending
315 projects.
316
d7386a7a
AC
3172011-09-01 Romain Berrendonner <berrendo@adacore.com>
318
319 * gnatls.adb: Display simple message instead of content of
320 gnatlic.adl.
321
3222011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
323
324 * sem_ch3.adb: (Build_Derived_Record_Type) Remove the kludgy update of
325 access discriminant and anonymous access component scopes.
326 (Inherit_Component): Reuse the itype of an access discriminant
327 or anonymous access component by copying it in order to set the proper
328 scope. This is done only when the parent and the derived type
329 are in different scopes.
330 (Set_Anonymous_Etype): New routine.
331
3322011-09-01 Robert Dewar <dewar@adacore.com>
333
334 * a-convec.adb: Minor reformatting throughout.
335
9d1e0e72
JR
3362011-09-01 Jose Ruiz <ruiz@adacore.com>
337
338 * adaint.c, adaint.h (__gnat_cpu_alloc, __gnat_cpu_alloc_size,
339 __gnat_cpu_set_free): Create these wrappers around the CPU_ALLOC,
340 CPU_ALLOC_SIZE and CPU_FREE linux macros.
341 (__gnat_cpu_zero, __gnat_cpu_set): Use the CPU_ZERO_S and
342 CPU_SET_S respectively because we are now using dynamically allocated
343 CPU sets which are more portable across different glibc versions.
344 * s-osinte-linux.ads (cpu_set_t_ptr, CPU_ALLOC, CPU_ALLOC_SIZE,
345 CPU_FREE): Add this type and subprograms to be able to create cpu_set_t
346 masks dynamically according to the number of processors in the target
347 platform.
348 (CPU_ZERO, CPU_SET): They are now mapped to the CPU_ZERO_S and CPU_SET_S
349 respectively, so we need to pass the size of the masks as
350 parameters.
351 * s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use dynamically
352 created cpu_set_t masks
353 with the number of processors available in the target platform,
354 instead of static bit arrays. It enhances portability because
355 it uses the information from the target platform.
356 * sem_ch8.adb: (Attribute_Renaming): When checking whether we
357 are using a restricted run-time library, use the flag
358 Configurable_Run_Time_Mode instead of Restricted_Profile.
359
a95be2d4
AC
3602011-09-01 Vincent Celier <celier@adacore.com>
361
362 * ug_words: Add /MULTI_UNIT_INDEX= -> -gnateI
363 * vms_data.ads: Add new VMS qualifier equivalent for -gnateInnn
364
3652011-09-01 Nicolas Roche <roche@adacore.com>
366
367 * adaint.c (__gnat_tmp_name): Don't use tmpnam function from the system
368 on VxWorks in kernel mode.
369
6b81741c
AC
3702011-09-01 Jose Ruiz <ruiz@adacore.com>
371
372 * s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use the linux
373 macros for handling CPU sets (CPU_ZERO, CPU_SET) instead of modifying
374 directly the bit array.
375 * s-osinte-linux.ads (CPU_ZERO, CPU_SET): Import these wrappers around
376 the linux macros with the same name.
377 * adaint.h, adaint.c (__gnat_cpu_zero, __gnat_cpu_set): Create these
378 wrappers around the CPU_ZERO and CPU_SET linux macros.
379
3802011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
381
382 * exp_ch7.adb (Find_Insertion_List): Removed.
383 (Process_Transient_Objects): Insert the declarations of the hook
384 access type and the hook object before the associated transient object.
385
3862011-09-01 Jose Ruiz <ruiz@adacore.com>
387
388 * sem_ch8.adb (Attribute_Renaming): Add missing check to avoid loading
389 package System.Aux_Dec when using restricted run-time libraries which
390 do not have this package.
391
3922011-09-01 Tristan Gingold <gingold@adacore.com>
393
394 * s-vaflop-vms-alpha.adb: Remove pragma optimize, useless.
395
3962011-09-01 Bob Duff <duff@adacore.com>
397
398 * sem_attr.adb (Analyze_Access_Attribute): Do not call
399 Kill_Current_Values for P'Unrestricted_Access, where P is library level
400
4012011-09-01 Thomas Quinot <quinot@adacore.com>
402
403 * exp_ch5.adb: Minor reformatting
404 * gnat_ugn.texi: Fix minor typos.
405 * gcc-interface/Make-lang.in: Update dependencies.
406
8256c1bf
AC
4072011-09-01 Robert Dewar <dewar@adacore.com>
408
409 * inline.adb, sem_aggr.adb: Minor reformatting.
410
4112011-09-01 Ed Schonberg <schonberg@adacore.com>
412
413 * a-convec.adb: Proper handling of cursors for Ada2012 iterators.
414
d1c5f424
AC
4152011-09-01 Robert Dewar <dewar@adacore.com>
416
417 * prj-proc.adb, exp_ch6.adb, prj-env.adb: Minor reformatting.
418
4192011-09-01 Bob Duff <duff@adacore.com>
420
421 * sem_aggr.adb (Resolve_Aggregate): Need to treat "in instance
422 body" the same as "in inlined body", because visibility shouldn't
423 apply there.
424
4252011-09-01 Eric Botcazou <ebotcazou@adacore.com>
426
427 * inline.adb (Add_Inlined_Body): Refine previous change.
428
1bb6e262
AC
4292011-09-01 Gary Dismukes <dismukes@adacore.com>
430
431 * exp_ch6.ads (Needs_BIP_Alloc_Form): New utility function.
432 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
433 Test for case where call
434 initializes an object of a return statement before testing for
435 a constrained call, to ensure that all such cases get handled
436 by simply passing on the caller's parameters. Also, in that
437 case call Needs_BIP_Alloc_Form to determine whether to pass on
438 the BIP_Alloc_Form parameter of the enclosing function rather
439 than testing Is_Constrained. Add similar tests for the return
440 of a BIP call to later processing to ensure consistent handling.
441 (Needs_BIP_Alloc_Form): New utility function.
442 * sem_ch6.adb: (Create_Extra_Formals): Replace test for adding
443 a BIP_Alloc_Form formal with call to new utility function
444 Needs_BIP_Alloc_Form.
445
4462011-09-01 Pascal Obry <obry@adacore.com>
447
448 * prj-part.adb: Minor reformatting.
449
4502011-09-01 Vincent Celier <celier@adacore.com>
451
452 * prj-env.adb (Create_Mapping_File.Process): Encode the upper
453 half character in the unit name.
454
db15225a
AC
4552011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
456
457 * exp_ch4.adb: Minor code and comment reformatting.
458
4592011-09-01 Thomas Quinot <quinot@adacore.com>
460
461 * exp_ch6.adb (Expand_Inlined_Call): Remove redundant tests
462 for Is_Limited_Type and Is_Tagged_Type in condition checking
463 for by-reference type.
464 * inline.adb (Add_Inlined_Body): Only exclude init_procs. Other
465 subprograms may have a completion because of a previous
466 Inline_Always clause, but the enclosing package must be marked
467 inlined for the subprogram body to become visible to the backend.
468
9d641fc0
TQ
4692011-09-01 Thomas Quinot <quinot@adacore.com>
470
471 * sem_aux.adb, exp_ch4.adb: Minor reformatting
472
dbe36d67
AC
4732011-09-01 Pascal Obry <obry@adacore.com>
474
475 * prj-proc.adb, prj.ads, sinput-p.adb: Minor reformatting.
476
4772011-09-01 Ed Schonberg <schonberg@adacore.com>
478
479 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate references to
480 the formals of a subprogram stub that acts as a spec.
481
4822011-09-01 Ed Schonberg <schonberg@adacore.com>
483
484 * exp_ch6.adb (Expand_Inlined_Call): If an actual is a by_reference
485 type, declare a renaming for it, not an object declaration.
486
f5037886
AC
4872011-09-01 Yannick Moy <moy@adacore.com>
488
489 * ali-util.adb, ali-util.ads (Read_Withed_ALIs): Add parameter
490 Ignore_Errors to ignore failures to read ALI files when True.
491
4922011-09-01 Javier Miranda <miranda@adacore.com>
493
494 * exp_ch3.adb (Expand_N_Object_Declaration): Handle non-default
495 constructor calls associated with non-tagged record types.
496
4972011-09-01 Robert Dewar <dewar@adacore.com>
498
499 * g-socthi-vms.adb: Minor reformatting.
500
5012011-09-01 Nicolas Roche <roche@adacore.com>
502
503 * sysdep.c: Don't use macro functions for stdio functions on VxWorks
504 in order to avoid impact of imcompatible changes.
505 * cstreams.c: Likewise
506 * cio.c: Likewise
507 * aux-io.c: Likewise
508
5092011-09-01 Yannick Moy <moy@adacore.com>
510
511 * lib-writ.adb (Write_With_Lines): Always output complete information
512 on "with" line in Alfa mode, as this is required by formal verification
513 back-end.
514
549e4558
AC
5152011-09-01 Tristan Gingold <gingold@adacore.com>
516
517 * g-socthi-vms.adb: Add comments.
518
5192011-09-01 Pascal Obry <obry@adacore.com>
520
521 * prj.ads: Minor reformatting.
522
70c0422d
AC
5232011-09-01 Vincent Celier <celier@adacore.com>
524
525 * prj-env.adb (Create_Config_Pragmas_File.Check): Put all naming
526 exceptions in the config pragmas file.
527
5282011-09-01 Tristan Gingold <gingold@adacore.com>
529
530 * gnat_ugn.texi: Document GNAT_STACK_SIZE on IVMS.
531
8c5b03a0
AC
5322011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
533
534 * exp_ch7.adb (Find_Insertion_List): New routine.
535 (Process_Transient_Objects): Add code to handle the abnormal
536 finalization of a controlled transient associated with a subprogram
537 call. Since transients are cleaned up right after the associated
538 context, an exception raised during a subprogram call may bypass the
539 finalization code.
540
5412011-09-01 Robert Dewar <dewar@adacore.com>
542
543 * exp_ch6.adb (Expand_Call): Check actual for aliased parameter is
544 aliased.
545
3040dbd4
RD
5462011-09-01 Robert Dewar <dewar@adacore.com>
547
548 * exp_ch4.adb, a-exexda.adb: Minor reformatting.
549
fecbd779
AC
5502011-09-01 Robert Dewar <dewar@adacore.com>
551
552 * s-taskin.ads, s-tassta.adb, sem_ch13.adb: Minor reformatting.
553
5542011-09-01 Thomas Quinot <quinot@adacore.com>
555
556 * Makefile.rtl: Move s-oscons.o from GNATRTL_TASKING_OBJS to
557 GNATRTL_NONTASKING_OBJS.
558
5592011-09-01 Robert Dewar <dewar@adacore.com>
560
561 * einfo.ads (Is_Aliased): Fix existing documentation and add note on
562 possibility of this flag being set for formals in Ada 2012 mode.
563 * par-ch6.adb (P_Formal_Part): Handle aliased for parameters for Ada
564 2012.
565 * sem_ch6.adb (Process_Formals): Handle aliased parameters in Ada 2012
566 mode.
567 * sinfo.adb (Aliased_Present): Allowed in N_Parameter_Specification for
568 Ada 2012.
569 * sinfo.ads (Aliased_Present): Allowed in N_Parameter_Specification for
570 Ada 2012.
571
5722011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
573
574 * exp_ch4.adb (Find_Insertion_Node): New routine. Determines the proper
575 insertion node in a tree of nested Expression_With_Actions nodes.
576 (Process_Transient_Object): In the case where a complex if statement
577 has been converted into nested Expression_With_Actions nodes, the
578 "hook" object and the associated access type must be inserted before
579 the top most Expression_With_Actions.
580
516f608f
AC
5812011-09-01 Robert Dewar <dewar@adacore.com>
582
583 * a-cbprqu.adb, a-cbprqu.ads, a-cuprqu.adb, a-cuprqu.ads,
584 a-cbsyqu.adb, a-cbsyqu.ads: Minor reformatting.
585
5862011-09-01 Ed Schonberg <schonberg@adacore.com>
587
588 * sem_attr.adb: Conditionalize aliasing predicates to Ada2012.
589
5902011-09-01 Jose Ruiz <ruiz@adacore.com>
591
592 * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the CPU
593 aspect.
594 * aspects.adb (Canonical_Aspect): Add entry for the CPU aspect.
595 * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the CPU aspect
596 in a similar way as we do for the Priority or Dispatching_Domain aspect.
597 * s-mudido-affinity.adb (Dispatching_Domain_Tasks,
598 Dispatching_Domains_Frozen): Move this local data to package
599 System.Tasking because with the CPU aspect we need to have access
600 to this data when creating the task in System.Tasking.Stages.Create_Task
601 * s-taskin.ads (Dispatching_Domain_Tasks, Dispatching_Domains_Frozen):
602 Move these variables from the body of
603 System.Multiprocessors.Dispatching_Domains because with the CPU aspect
604 we need to have access to this data when creating the task in
605 System.Tasking.Stages.Create_Task.
606 * s-taskin.adb (Initialize): Signal the allocation of the environment
607 task to a CPU, if any, so that we know whether the CPU can be
608 transferred to a different dispatching domain.
609 * s-tassta.adb (Create_Task): Check whether the CPU to which this task
610 is being allocated belongs to the dispatching domain where the task
611 lives. Signal the allocation of the task to a CPU, if any, so that we
612 know whether the CPU can be transferred to a different dispatching
613 domain.
614
2d42e881
ES
6152011-09-01 Ed Schonberg <schonberg@adacore.com>
616
617 * exp_attr.adb, sem_attr.adb, snames.ads-tmpl: Implementation of
618 attributes Same_Storage and Overlaps_Storage.
619
579fda56
AC
6202011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
621
622 * exp_strm.adb: Remove with and use clause for Opt.
623 (Build_Array_Input_Function): Remove the version-dependent generation
624 of the return statement. The Ada 2005 tree is now the default.
625
6262011-09-01 Yannick Moy <moy@adacore.com>
627
628 * put_alfa.adb: Unconditionnally write files in Alfa section, so that
629 it is never empty when compiling in Alfa mode.
630
6312011-09-01 Robert Dewar <dewar@adacore.com>
632
633 * sem_aggr.adb, sem_ch3.adb, a-direct.adb, s-taprop-vxworks.adb,
634 comperr.adb, exp_ch9.adb, exp_pakd.adb, sem_ch12.adb, freeze.adb,
635 s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
636 gnat1drv.adb, a-rbtgbo.adb, exp_dist.adb: Minor reformatting
637
6382011-09-01 Matthew Heaney <heaney@adacore.com>
639
640 * Makefile.rtl, impunit.adb: Add a-csquin.ads, a-cusyqu.ad[sb],
641 a-cuprqu.ad[sb], a-cbsyqu.ad[sb], a-cbprqu.ad[sb]
642 * a-csquin.ads: New Ada 2012 unit that specifies the queue interface
643 * a-cusyqu.ads, a-cusyqu.adb: New Ada 2012 unit that specifies the
644 unbounded queue container.
645 * a-cbsyqu.ads, a-cbsyqu.adb: New Ada 2012 unit that specifies the
646 bounded queue container.
647 * a-cuprqu.ads, a-cuprqu.adb: New Ada 2012 unit that specifies the
648 unbounded priority queue container.
649 * a-cbprqu.ads, a-cbprqu.adb: New Ada 2012 unit that specifies the
650 bounded priority queue container.
651
24c34107
AC
6522011-08-31 Pascal Obry <obry@adacore.com>
653
654 * a-direct.adb: Do not try to create an UNC path on Windows.
655 (Create_Path): Skip leading computer name in UNC path if any.
656
6572011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
658
659 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Remove the
660 version-dependent generation of the return statement. The Ada 2005 tree
661 is now the default.
662
6632011-08-31 Thomas Quinot <quinot@adacore.com>
664
665 * rtsfind.ads, exp_dist.adb (Find_Numeric_Representation): Predefined
666 types Stream_Element_Offset and Storage_Offset have a different native
667 type depending on whether the platform is 32 or 64 bits. When
668 exchanging them, always convert to 64 bits.
669
6702011-08-31 Yannick Moy <moy@adacore.com>
671
672 * debug.adb: Reserve debug option -gnatd.E for passing gnatprove option
673 --force-alfa to gnat2why.
674
6752011-08-31 Ed Schonberg <schonberg@adacore.com>
676
677 * sem_ch12.adb (Save_References): If the node has aspects, save
678 references within the corresponding expressions in a separate step,
679 because the aspects are not directly in the tree for the declaration
680 to which they belong.
681
6822011-08-31 Arnaud Charlet <charlet@adacore.com>
683
684 * freeze.adb (Freeze_Record_Type): Omit test on variable size component
685 in CodePeer mode, since representation clauses are partially ignored.
686 * gcc-interface/Make-lang.in: Update dependencies.
687
702d2020
AC
6882011-08-31 Jose Ruiz <ruiz@adacore.com>
689
690 * s-taprop-vxworks.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
691 s-taprop-solaris.adb (Create_Task): Not_A_Specific_CPU can be assigned
692 to any dispatching domain.
693
6942011-08-31 Thomas Quinot <quinot@adacore.com>
695
696 * exp_ch4.adb: Minor reformatting.
697
6982011-08-31 Bob Duff <duff@adacore.com>
699
700 * sem_ch6.adb (Get_Generic_Parent_Type): Don't query Subtype_Indication
701 on nodes for which it is not defined.
702 (Is_Non_Overriding_Operation): Exit the loop when we find a generic
703 parent type.
704
7052011-08-31 Bob Duff <duff@adacore.com>
706
707 * sem_ch3.adb (Process_Full_View): Disable legality check if
708 In_Instance, to avoid spurious errors.
709 * sem_ch12.adb (Validate_Derived_Type_Instance): Disable legality check
710 if In_Instance, to avoid spurious errors.
711
7122011-08-31 Pascal Obry <obry@adacore.com>
713
714 * a-direct.adb: Use Dir_Seps everywhere to properly handle all
715 directory speparators.
716 (Compose): Use Dir_Seps to handle both forms.
717 (Create_Path): Use Dir_Seps instead of explicit check, no semantic
718 changes.
719 (Extension): Use Dir_Seps to handle both forms.
720
7212011-08-31 Pascal Obry <obry@adacore.com>
722
723 * prj-conf.adb: Minor reformatting.
724
67645bde
AC
7252011-08-31 Jose Ruiz <ruiz@adacore.com>
726
727 * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the
728 dispatching domain aspect.
729 * aspects.adb (Canonical_Aspect): Add entry for the dispatching domain
730 aspect.
731 * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the
732 Dispatching_Domain aspect in a similar way as we do for the Priority
733 aspect.
734 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Add the
735 Dispatching_Domain component if a Dispatching_Domain pragma or aspect
736 is present.
737 (Make_Task_Create_Call): Add the Dispatching_Domain when creating a task
738 * par-prag.adb (Prag): Add Pragma_Dispatching_Domain as a known pragma.
739 * sem_prag.adb (Analyze_Pragma): Check the correctness of a pragma
740 Dispatching_Domain and add it to the task definition.
741 (Sig_Flags): Add Pragma_Dispatching_Domain.
742 * rtsfind.ads, rtsfind.adb (RTU_Id, RE_Id, Get_Unit_Name): Add the
743 support to find the types Dispatching_Domain and
744 Dispatching_Domain_Access.
745 * sinfo.ads, sinfo.adb (Has_Pragma_Dispatching_Domain,
746 Set_Has_Pragma_Dispatching_Domain): Add these subprograms to set and
747 query the availability of a pragma Dispatching_Domain.
748 * snames.ads-tmpl (Name_uDispatching_Domain): Add this name required by
749 the expander to pass the Dispatching_Domain when creating a task.
750 (Name_Dispatching_Domain): Add this new name for a pragma.
751 (Pragma_Id): Add the new Pragma_Dispatching_Domain.
752 * s-tassta.ads, s-tassta.adb (Create_Task): Set the domain to which the
753 task has been allocated at creation time.
754 * s-tarest.adb (Create_Restricted_Task): The dispatching domain using
755 Ravenscar is always null.
756 * s-taskin.ads, s-taskin.adb (Initialize_ATCB): Set the domain to which
757 the task has been allocated at creation time.
758 * s-tporft.adb (Register_Foreign_Thread): A foreign task will not have
759 a specific dispatching domain.
760 * s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-vxworks.adb,
761 s-taprop-mingw.adb (Create_Task): Check whether both Dispatching_Domain
762 and CPU are specified for the task, and the CPU value is not contained
763 within the range of processors for the domain.
764
7652011-08-31 Vincent Celier <celier@adacore.com>
766
767 * make.adb (Original_Gcc) : New constant String_Access.
768 (Gnatmake): For VM targets, do not use VM version of the compiler if
769 --GCC= has been specified.
770
7712011-08-31 Thomas Quinot <quinot@adacore.com>
772
773 * sem_ch5.adb: Minor reformatting.
774
7752011-08-31 Ed Schonberg <schonberg@adacore.com>
776
777 * exp_pakd.adb (Convert_To_PAT_Type): If prefix is a function call, do
778 not reanalyze it.
779
7802011-08-31 Bob Duff <duff@adacore.com>
781
782 * exp_ch4.adb (Expand_N_Selected_Component): Use the full type, in case
783 the access type is private; we don't care about privacy in expansion.
784
7852011-08-31 Ed Schonberg <schonberg@adacore.com>
786
787 * sem_aggr.adb (Resolve_Aggregate): In an instance, ignore aggregate
788 subcomponents tnat may be limited, because they originate in view
789 conflicts. If the original aggregate is legal and the actuals are
790 legal, the aggregate itself is legal.
791
b8789727
AC
7922011-08-31 Matthew Heaney <heaney@adacore.com>
793
794 * a-rbtgbo.adb (Clear_Tree): Assert representation invariant for lock
795 status.
796
7972011-08-31 Ed Schonberg <schonberg@adacore.com>
798
799 * sem_ch5.adb: Set kind of loop parameter properly, to preserve all
800 errors in B tests.
801
8022011-08-31 Jose Ruiz <ruiz@adacore.com>
803
804 * sem_ch13.adb (Analyze_Aspect_Specifications): For the Priority and
805 Interrupt_Priority aspects, force the analysis of the aspect expression
806 (when building the equivalent pragma). Otherwise, its analysis is done
807 too late, after the task or protected object has been created.
808 * sem_ch9.adb (Analyze_Single_Protected_Declaration,
809 Analyze_Single_Task_Declaration): Remove the code to move the aspects
810 to the object declaration because they are needed in the type
811 declaration.
812
e0c32166
AC
8132011-08-31 Robert Dewar <dewar@adacore.com>
814
815 * exp_ch5.adb, exp_ch7.ads, sem_ch5.adb, put_scos.adb, s-rannum.adb,
816 a-rbtgbo.adb, exp_intr.adb, a-cbdlli.adb, a-cbdlli.ads: Minor
817 reformatting.
818
8192011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
820
821 * exp_util.adb (Find_Protection_Type): Do not look for fields _object
822 if the corresponding type is malformed due to restriction violations.
823
8242011-08-31 Robert Dewar <dewar@adacore.com>
825
826 * s-ransee.ads, s-ransee.adb: Minor reformatting.
827
8282011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
829
830 * exp_ch4.adb (Expand_N_Allocator): Correct faulty condition which
831 would cause the generation of Set_Finalize_Address if the target is a
832 VM and the designated type is not derived from [Limited_]Controlled.
833
8342011-08-31 Arnaud Charlet <charlet@adacore.com>
835
836 * comperr.adb, comperr.ads, gnat1drv.adb (Delete_SCIL_Files): New
837 subprogram.
838 (Compiler_Abort, Gnat1drv): Call Delete_SCIL_Files in codepeer mode in
839 case of a compilation error.
840
8412011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
842
843 * init.c (__gnat_error_handler): Standardize the stack overflow or
844 erroneous memory access message.
845 * seh_init.c (__gnat_SEH_error_handler): Standardize the stack overflow
846 or erroneous memory access message.
847
11bc76df
AC
8482011-08-31 Robert Dewar <dewar@adacore.com>
849
850 * sem_ch4.adb: Minor reformatting.
851 * sem_ch6.adb: Minor code reorganization (use Ekind_In).
852
8532011-08-31 Thomas Quinot <quinot@adacore.com>
854
855 * scos.ads: Minor documentation clarification.
856 * put_scos.adb: Do not generate SCO unit header line for a unit that
857 has no SCO lines.
858
876d4394
RD
8592011-08-31 Robert Dewar <dewar@adacore.com>
860
861 * a-rbtgbo.adb, alfa_test.adb: Minor reformatting.
862
36b8f95f
AC
8632011-08-31 Tristan Gingold <gingold@adacore.com>
864
865 * exp_ch7.ads, exp_ch7.adb (Finalization_Exception_Data): New type to
866 hold variables between these following subprograms.
867 (Build_Exception_Handler, Build_Object_Declarations,
868 Build_Raise_Statement): Use the above type as parameter.
869 Make the above adjustments.
870 * exp_intr.adb (Expand_Unc_Deallocation): Adjust.
871
8722011-08-31 Pascal Obry <obry@adacore.com>
873
874 * projects.texi: Minor reformatting.
875
8762011-08-31 Tristan Gingold <gingold@adacore.com>
877
878 * s-ransee.ads, s-ransee.adb: Add system.random_seed unit.
879 * s-rannum.adb (Reset): Use Get_Seed from s-ransee.
880
8812011-08-31 Ed Schonberg <schonberg@adacore.com>
882
883 * exp_ch5.adb: Minor code cleanup.
884 * sem_ch5.adb (Analyze_Iteration_Scheme): Set ekind of loop variable to
885 prevent cascaded errors.
886 (Analyze_Loop_Statement): In semantics-only mode, introduce loop
887 variable of an iterator specification in current scope.
888 * sem_ch6.adb (Analyze_Return_Statement, Find_what_It_Apples_To): Skip
889 postconditions on the stack, as they contain no return statements.
890
8912011-08-31 Yannick Moy <moy@adacore.com>
892
893 * exp_alfa.adb (Expand_Alfa_N_Package_Declaration,
894 Expand_Alfa_N_Subprogram_Body): Remove useless procedures which simply
895 call Qualify_Entity_Names.
896 (Expand_Alfa): call Qualify_Entity_Names in more cases
897 * lib-xref-alfa.adb: Take into account system package.
898 * sem_prag.adb Take into account restrictions in Alfa mode, contrary to
899 CodePeer mode in which we are interested in finding bugs even if
900 compiler cannot compile source.
901 * sem_util.adb, sem_util.ads (Unique_Entity): Take into account case of
902 deferred constant.
903
9042011-08-31 Gary Dismukes <dismukes@adacore.com>
905
906 * sem_ch3.adb (Constrain_Concurrent): Retrieve Base_Type of the subtype
907 denoted by the subtype mark to ensure getting the concurrent type in
908 the case where the subtype mark denotes a private subtype of a
909 concurrent type (needed when using -gnatc).
910 (Process_Subtype): For the processing specific to type kinds, case on
911 the Base_Type kind of the Subtype_Mark_Id, to handle cases where the
912 subtype denotes a private subtype whose base type is nonprivate (needed
913 for subtypes of private fulfilled by task types when compiling with
914 -gnatc).
915
9162011-08-31 Gary Dismukes <dismukes@adacore.com>
917
918 * sem_disp.adb (Check_Dispatching_Operation): Bypass registration of
919 late primitives that override interface operations when the full
920 expander is not active, to avoid blowups in Register_Primitive when
921 types don't have associated secondary dispatch tables.
922
9232011-08-31 Yannick Moy <moy@adacore.com>
924
925 * alfa_test.adb: Code clean up.
926
9272011-08-31 Marc Sango <sango@adacore.com>
928
929 * restrict.adb (Check_SPARK_Restriction): Change Comes_From_Source (N)
930 by Comes_From_Source (Original_Node (N)) in order to treat also the
931 nodes which have been rewritten.
932 * sem_ch4.adb (Analyze_Explicit_Dereference, Analyze_Slice): Guard the
933 explicit dereference and slice violation in spark mode on the nodes
934 coming only from the source code.
935
8cf23b91
AC
9362011-08-31 Robert Dewar <dewar@adacore.com>
937
938 * exp_ch5.adb, exp_alfa.ads, prj.ads, sem_attr.adb,
939 lib-xref-alfa.adb: Minor reformatting.
940
9412011-08-31 Matthew Heaney <heaney@adacore.com>
942
943 * a-crbltr.ads (Tree_Type): Default-initialize the Nodes component.
944
9452011-08-31 Javier Miranda <miranda@adacore.com>
946
947 * sem_ch4.adb (Try_Object_Operation): Addition of one formal to search
948 only for class-wide subprograms conflicting with entities of concurrent
949 tagged types.
950
9512011-08-31 Matthew Heaney <heaney@adacore.com>
952
953 * a-rbtgbo.adb (Generic_Allocate): Initialize pointer components of
954 node to null value.
955
9562011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
957
958 * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Provide a more
959 general description of the routine.
960
9612011-08-31 Ed Schonberg <schonberg@adacore.com>
962
963 * a-cbdlli.adb, a-cbdlli.ads: Add iterator machinery to bounded
964 doubly-linked lists.
965
0bb3bfb8
GD
9662011-08-31 Gary Dismukes <dismukes@adacore.com>
967
968 * exp_ch5.adb (Expand_N_Assignment_Statement): When a discriminant
969 check is needed for a left-hand side that is a dereference, and the
970 base type is private without discriminants (whereas the full type does
971 have discriminants), an extra retrieval of the underlying type may be
972 needed in the case where the subtype is a record subtype whose base
973 type is private. Update comments.
974
11fa950b
AC
9752011-08-31 Javier Miranda <miranda@adacore.com>
976
977 * sem_ch4.adb (Try_Object_Operation): When a dispatching primitive is
978 found check if there is a class-wide subprogram covering the primitive.
979
9802011-08-31 Yannick Moy <moy@adacore.com>
981
982 * sem_res.adb: Further cases where full expansion test is needed,
983 rather than expansion test.
984
9852011-08-31 Pascal Obry <obry@adacore.com>
986
987 * prj-attr.adb: Fix Source_File_Switches attribute kind (must be a list)
988
9892011-08-31 Ed Schonberg <schonberg@adacore.com>
990
991 * exp_ch5.adb: Handle iterators over derived container types.
992
9932011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
994
995 * einfo.ads, einfo.adb: Add new flag Has_Anonymous_Master.
996 (Has_Anonymous_Master): New routine.
997 (Set_Has_Anonymous_Master): New routine.
998 (Write_Entity_Flags): Add an entry for Has_Anonymous_Master.
999 * exp_ch4.adb: Add with and use clause for Sem_Ch8.
1000 (Current_Anonymous_Master): New routine.
1001 (Current_Unit_First_Declaration): Removed.
1002 (Current_Unit_Scope): Removed.
1003 (Expand_N_Allocator): Anonymous access-to-controlled types now chain
1004 their objects on a per-unit heterogeneous finalization master.
1005
10062011-08-31 Matthew Heaney <heaney@adacore.com>
1007
1008 * a-cbhama.adb, a-cbhase.adb (Insert): Check for zero-length buckets
1009 array.
1010
10112011-08-31 Jose Ruiz <ruiz@adacore.com>
1012
1013 * s-taprop-linux.adb (Create_Task): Avoid changing the affinity mask
1014 when not needed.
1015
10162011-08-31 Gary Dismukes <dismukes@adacore.com>
1017
1018 * sem_disp.adb (Propagate_Tag): Return without propagating in the case
1019 where the actual is an unexpanded call to 'Input.
1020
d2b4b3da
AC
10212011-08-31 Yannick Moy <moy@adacore.com>
1022
1023 * sem_ch4.adb: Code clean up.
1024
10252011-08-31 Yannick Moy <moy@adacore.com>
1026
1027 * exp_alfa.adb, exp_alfa.ads: Minor correction of copyright notice.
1028
10292011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
1030
1031 * exp_ch7.adb (Build_Array_Deep_Procs): Do not generate Deep_Finalize
1032 and TSS primitive Finalize_Address if finalization is suppressed.
1033 (Build_Record_Deep_Procs): Do not generate Deep_Finalize and TSS
1034 primitive Finalize_Address if finalization is suppressed.
1035
10362011-08-31 Jose Ruiz <ruiz@adacore.com>
1037
1038 * s-mudido-affinity.adb, s-taprop-linux.adb, s-taprop-mingw.adb,
1039 s-taprop-solaris.adb, s-taprop-vxworks.adb (Set_Task_Affinity): Make
1040 sure that the underlying task has already been created before trying
1041 to change its affinity.
1042 (Set_CPU): Use the term processor instead of CPU, as we do in
1043 Assign_Task.
1044
10452011-08-31 Vincent Celier <celier@adacore.com>
1046
1047 * prj-attr.adb: New Compiler attribute Source_File_Switches.
1048 * prj-nmsc.adb (Process_Compiler): Process attribute
1049 Source_File_Switches.
1050 * prj.ads (Language_Config): New name list component
1051 Name_Source_File_Switches.
1052 * snames.ads-tmpl (Name_Source_File_Switches): New standard name.
1053
10542011-08-31 Ed Schonberg <schonberg@adacore.com>
1055
1056 * sem_attr.adb (Analyze_Attribute, case 'Old): If prefix may be a
1057 discriminated component of an actual, expand at once to prevent
1058 ouf-of-order references with generated subtypes.
1059
10602011-08-31 Yannick Moy <moy@adacore.com>
1061
1062 * lib-xref-alfa.adb (Add_Alfa_Xrefs): Do not take into account read
1063 reference to operator in Alfa xrefs.
1064
10652011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
1066
1067 * sem_ch12.adb (Freeze_Subprogram_Body): Add code to handle the case
1068 where the parent instance was frozen before the current instance due to
1069 the presence of a source body. Update calls to Insert_After_Last_Decl.
1070 (Insert_After_Last_Decl): Renamed to Insert_Freeze_Node_For_Instance.
1071 Update the comment which illustrates the purpose of the routine.
1072 Package instances are now frozen by source bodies which appear after
1073 the instance. This ensures that entities coming from within the
1074 instance are available for use in the said bodies.
1075 (Install_Body): Add code to handle the case where the parent instance
1076 was frozen before the current instance due to the presence of a source
1077 body. Update calls to Insert_After_Last_Decl.
1078
56812278
AC
10792011-08-31 Jose Ruiz <ruiz@adacore.com>
1080
1081 * s-taprop-linux.adb (Set_Task_Affinity): Avoid the use of anonymous
1082 access types.
1083 * affinity.c (__gnat_set_affinity_mask): Declare index variable.
1084
10852011-08-31 Yannick Moy <moy@adacore.com>
1086
1087 * sem_ch8.adb (Analyze_Subprogram_Renaming): Refine expander test in
1088 full-expander test.
16c3301a
AC
1089 * alfa.adb, alfa.ads, alfa_test.adb, ali.adb, debug.adb, errout.adb,
1090 errout.ads, erroutc.adb, expander.adb, exp_ch4.adb, exp_ch7.adb,
1091 freeze.adb, get_alfa.adb, get_alfa.ads, gnat1drv.adb, lib-writ.adb,
1092 lib-writ.ads, lib-xref.adb, lib-xref.ads, lib-xref-alfa.adb, opt.adb,
1093 opt.ads, put_alfa.adb, put_alfa.ads, restrict.adb, sem_ch12.adb,
1094 sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
1095 sem_prag.adb, sem_res.adb, sem_util.adb: Minor reformatting, renaming
1096 ALFA in Alfa (we dropped acronym).
56812278
AC
1097 * einfo.adb (Primitive_Operations): Correctly return list of primitive
1098 operations in a case where it returned previously No_Elist.
1099
7cda9727
RD
11002011-08-31 Robert Dewar <dewar@adacore.com>
1101
1102 * s-taprop-vxworks.adb, sem_ch5.adb, s-taprop-tru64.adb, exp_alfa.adb,
1103 s-taprop-vms.adb, bindgen.adb, s-mudido.adb, s-mudido.ads,
1104 sem_res.adb, expander.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
1105 s-taprop-solaris.adb, s-mudido-affinity.adb, vms_conv.adb,
1106 s-taprop-irix.adb, s-taprop.ads, s-taskin.adb, s-taskin.ads,
1107 s-taprop-hpux-dce.adb, a-chtgbo.adb, s-taprop-posix.adb: Minor
1108 reformatting.
1109
0a190dfd
AC
11102011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
1111
1112 * sem_ch12 (Check_Private_View): Revert previous change.
1113 * sem_res.adb (Conversion_Check): Do not emit the error message if the
1114 conversion is in a generic instance.
1115
11162011-08-31 Matthew Heaney <heaney@adacore.com>
1117
1118 * a-cbhase.adb (Symmetric_Difference): Dereference correct node array.
1119 * a-chtgbo.adb (Free): Allow 0 as index value.
1120
11212011-08-31 Matthew Heaney <heaney@adacore.com>
1122
1123 * a-cborma.adb (Insert): Add comment to explain why no element
1124 assignment.
1125
11262011-08-31 Gary Dismukes <dismukes@adacore.com>
1127
1128 * sem_util.adb (Find_Body_Discriminal): Test whether the scope of the
1129 spec discriminant is already a concurrent type, in which case just use
1130 it, otherwise fetch the Corresponding_Concurrent_Type as before.
1131
7d266442
EB
11322011-08-30 Eric Botcazou <ebotcazou@adacore.com>
1133
1134 * system-irix-n64.ads, system-linux-armeb.ads, system-linux-armel.ads,
1135 system-linux-mips.ads, system-linux-mipsel.ads,
1136 system-linux-mips64el.ads, system-linux-ppc64.ads,
1137 system-linux-sparcv9.ads, system-rtems.ads: Remove GCC_ZCX_Support.
1138
4f1a975c
EB
11392011-08-30 Eric Botcazou <ebotcazou@adacore.com>
1140
1141 * gcc-interface/ada-tree.h (TYPE_EXTRA_SUBTYPE_P): Add internal check.
1142 * gcc-interface/utils2.c (build_binary_op): Tighten condition.
1143 (build_unary_op): Likewise.
1144
f2991b48
EB
11452011-08-30 Eric Botcazou <ebotcazou@adacore.com>
1146
1147 * raise-gcc.c: Do not include coretypes.h and tm.h.
1148 (setup_to_install): Remove test for compiler macro.
1149 * targext.c: Document use for the library.
1150 * gcc-interface/Makefile.in: Fix comment on the use of IN_GCC.
1151
10a22f43
EB
11522011-08-30 Eric Botcazou <ebotcazou@adacore.com>
1153
1154 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not convert
1155 the expression to the nominal type if the latter is a record type with
1156 a variant part and the type of the former is a record type without one.
1157
bfa2e39d
AC
11582011-08-30 Yannick Moy <moy@adacore.com>
1159
1160 * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
1161 expansion in Alfa mode.
1162 * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public
1163 * exp_alfa.adb, exp_alfa.ads: New package defining light expansion for
1164 Alfa mode.
1165 * gnat1drv.adb (Adjust_Global_Switches): Update Comment.
1166 * sem_res.adb: Ditto.
bd34109a 1167 * gcc-interface/Make-lang.in: Update dependencies.
bfa2e39d
AC
1168
11692011-08-30 Thomas Quinot <quinot@adacore.com>
1170
1171 * g-socket.ads: Minor documentation adjustment.
1172
a0347839
AC
11732011-08-30 Robert Dewar <dewar@adacore.com>
1174
1175 * exp_ch9.adb, s-tassta.adb, s-secsta.adb: Minor reformatting.
1176
11772011-08-30 Yannick Moy <moy@adacore.com>
1178
1179 * exp_ch6_light.adb, exp_ch6_light.ads, exp_attr_light.adb,
1180 exp_attr_light.ads, exp_ch7_light.adb, exp_ch7_light.ads,
1181 exp_light.adb, exp_light.ads, exp_prag.adb, expander.adb,
1182 gnat1drv.adb, exp_ch11.adb, exp_ch6.adb, exp_ch6.ads, exp_aggr.adb:
1183 Revert change which introduced files for "light"
1184 expansion, to be replaced by a single file for Alfa expansion.
1185
3597c0e9
RD
11862011-08-30 Robert Dewar <dewar@adacore.com>
1187
1188 * opt.ads, s-soflin.adb, exp_ch9.adb, sem_res.adb: Update comment.
1189 Minor code reorg/reformatting.
1190
da94696d
AC
11912011-08-30 Yannick Moy <moy@adacore.com>
1192
1193 * opt.adb, opt.ads (Full_Expander_Active): New function defines a
1194 common shorthand for (Expander_Active and not ALFA_Mode) that can be
1195 used for testing full expansion, that is active expansion not in the
1196 reduced mode for Alfa
1197 * exp_ch4.adb, exp_ch9.adb, exp_disp.adb, sem_ch10.adb, sem_ch12.adb,
1198 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Use newly defined "flag" instead
1199 of the verbose (Expander_Active and not ALFA_Mode)
1200
12012011-08-30 Tristan Gingold <gingold@adacore.com>
1202
1203 * s-parame-vms-alpha.ads, s-parame-hpux.ads, s-tassta.adb,
1204 s-tarest.adb, s-parame-vms-ia64.ads, s-soflin.adb, s-secsta.adb,
5b8ca141
TG
1205 s-secsta.ads, s-parame.ads, s-parame-vxworks.ads, s-parame-ae653.ads:
1206 Renames Ratio to Percentage, and Sec_Stack_Ratio to Sec_Stack_Percentage
da94696d 1207
c199ccf7
AC
12082011-08-30 Gary Dismukes <dismukes@adacore.com>
1209
1210 * sem_res.adb (Valid_Conversion): Revise test for implicit anonymous
1211 access conversions to check that the conversion is a rewritten node,
1212 rather than just having Comes_From_Source set to False, which wasn't
1213 sufficient.
1214
12152011-08-30 Robert Dewar <dewar@adacore.com>
1216
1217 * exp_ch9.adb, sem_ch9.adb, sem_ch6.adb, exp_disp.adb,
1218 g-socket.ads: Minor reformatting.
1219
12202011-08-30 Thomas Quinot <quinot@adacore.com>
1221
1222 * sem_util.adb: Minor reformatting.
1223
12242011-08-30 Tristan Gingold <gingold@adacore.com>
1225
1226 * raise-gcc.c: Never catch exception if _UA_FORCE_UNWIND flag is set,
1227 to be compliant with the ABI.
1228
dff99e1a
AC
12292011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
1230
1231 * sem_ch12.adb (Check_Private_View): Exchange the private and full view
1232 of a designated type when the related access type is an actual in an
1233 instance. This ensures that the full view of designated type is
1234 available when inside the body of the instance.
1235
12362011-08-30 Ed Schonberg <schonberg@adacore.com>
1237
1238 * sem_util.adb (May_Be_Lvalue): To determine whether a reference may be
1239 in a position to be modified, a slice is treated like an indexed
1240 component.
1241
63be2a5a
AC
12422011-08-30 Thomas Quinot <quinot@adacore.com>
1243
1244 * s-oscons-tmplt.c, g-socket.ads: Adjust maximum allowed value for
1245 field tv_sec in struct timeval.
1246
12472011-08-30 Yannick Moy <moy@adacore.com>
1248
1249 * exp_ch9.adb, exp_disp.adb, sem_ch9.adb, sem_res.adb: Protect several
1250 blocks of code doing full expansion, previously only guarded by
1251 Expander_Active, by anding the test that ALFA_Mode is not set
1252
12532011-08-30 Ed Schonberg <schonberg@adacore.com>
1254
1255 * sem_ch6.adb (Analyze_Return_Type): If the return type is incomplete,
1256 add the function to the list of private dependents, for subsequent
1257 legality check on Taft amendment types.
1258 * sem_ch12.adb (Analyze_Formal_Incomplete_Type): Initialize
1259 Private_Dependents, as for other incomplete types.
1260 * sem_util.adb (Wrong_Type): Avoid cascaded errors when a
1261 Taft-amendment type is used as the return type of a function.
1262
dd54644b
JM
12632011-08-30 Javier Miranda <miranda@adacore.com>
1264
1265 * sem_ch3.adb (Check_Abstract_Overriding): Code cleanup: replace code
1266 which emits an error by a call to a new routine which report the error.
1267 * exp_ch9.adb (Build_Wrapper_Spec): Build the wrapper even if the
1268 entity does not cover an existing interface.
1269 * errout.ads, errout.adb (Error_Msg_PT): New routine. Used to factorize
1270 code.
1271 * sem_ch6.adb (Check_Conformance): Add specific error for wrappers of
1272 protected procedures or entries whose mode is not conformant.
1273 (Check_Synchronized_Overriding): Code cleanup: replace code which emits
1274 an error by a call to a new routine which report the error.
1275
d3ba478e
AC
12762011-08-30 Robert Dewar <dewar@adacore.com>
1277
1278 * gnat_rm.texi: Minor change.
1279 * exp_attr_light.adb: Minor reformatting.
1280
12812011-08-30 Ed Schonberg <schonberg@adacore.com>
1282
1283 * sem_ch3.adb: Patch inheritance of aspects in
1284 Complete_Private_Subtype, to avoid infinite loop.
1285
c01817d2
AC
12862011-08-30 Javier Miranda <miranda@adacore.com>
1287
1288 * sem_ch3.adb (Add_Internal_Interface_Entities): If serious errors have
1289 been reported and a subprogram covering an interface primitive is not
1290 found then skip generating the internal entity. Done to avoid crashing
1291 the frontend.
1292 (Check_Abstract_Overriding): Change text of error of wrong formal of
1293 protected subprogram or entry. Done for consistency to emit exactly the
1294 same error reported by Check_Synchronized_Overriding. In addition, the
1295 error is restricted to protected types (bug found working on AI05-0090)
1296
12972011-08-30 Yannick Moy <moy@adacore.com>
1298
1299 * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
1300 expansion in Alfa mode.
1301 * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public.
1302 * exp_light.adb, exp_light.ads: New package defining light expansion.
1303 * expander.adb (Expand): Call light expansion in Alfa mode
1304 * exp_ch6_light.adb, exp_ch6_light.ads: Light expansion of chapter 6
1305 constructs.
1306 * exp_ch7_light.adb, exp_ch7_light.ads: Light expansion of chapter 7
1307 constructs.
1308 * exp_attr_light.adb, exp_attr_light.ads: Light expansion of attributes
1309 * gnat1drv.adb (Adjust_Global_Switches): Comment
1310
13112011-08-30 Yannick Moy <moy@adacore.com>
1312
1313 * lib-xref-alfa.adb: Minor refactoring.
1314
13152011-08-30 Yannick Moy <moy@adacore.com>
1316
1317 * exp_ch9.adb (Expand_Entry_Barrier): Do not perform expansion in Alfa
1318 mode.
1319 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not perform
1320 expansion in Alfa mode.
1321 * sem_ch9.adb (Analyze_Entry_Body): Do not perform expansion in Alfa
1322 mode.
1323
13242011-08-30 Robert Dewar <dewar@adacore.com>
1325
1326 * debug_a.adb: Update comment.
1327
996c8821
RD
13282011-08-30 Robert Dewar <dewar@adacore.com>
1329
1330 * exp_ch5.adb, sem_ch3.adb, sem_ch5.adb, einfo.adb, checks.adb,
1331 sem_util.adb, sem_util.ads, sem_res.adb, s-stposu.adb, sem_attr.adb,
1332 exp_ch4.adb, exp_ch6.adb, lib-xref-alfa.adb,
1333 sem_ch8.adb, sem_disp.adb, exp_ch3.adb: Minor reformatting
1334
13352011-08-30 Robert Dewar <dewar@adacore.com>
1336
1337 * gnat_rm.texi: Add section on C.6(16) implementation advice for pragma
1338 volatile.
1339
3647ca26
HK
13402011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
1341
1342 * exp_ch3.adb (Expand_Freeze_Array_Type): Correct the call to
1343 Build_Finalization_Master by supplying an insertion node and enclosing
1344 scope. In its old version, the call did not generate a finalization
1345 master.
1346 (Expand_Freeze_Record_Type): Add local variable Has_AACC. Add code to
1347 recognize anonymous access-to-controlled components. Rewrite the
1348 machinery which creates finalization masters to service anonymous
1349 access-to-controlled components of a record type. In its current state,
1350 only one heterogeneous master is necessary to handle multiple anonymous
1351 components.
1352 (Freeze_Type): Comment reformatting.
1353 * rtsfind.ads: Add RE_Set_Is_Heterogeneous to tables RE_Id and
1354 RE_Unit_Table.
1355 * s-stposu.adb (Allocate_Any_Controlled): Rewrite the machinery which
1356 associates TSS primitive Finalize_Address with either the master itself
1357 or with the internal hash table depending on the mode of operation of
1358 the master.
1359
6d4e4fbc
JM
13602011-08-30 Javier Miranda <miranda@adacore.com>
1361
1362 * exp_ch3.adb (Make_Eq_If): If the etype of the _parent component is an
1363 interface type then do not generate code to compare this component.
1364 Required since they have no components and their equality operator is
1365 abstract.
1366
d15f9422
AC
13672011-08-30 Steve Baird <baird@adacore.com>
1368
1369 * sem_util.ads (Deepest_Type_Access_Level): New function; for the type
1370 of a saooaaat (i.e, a stand-alone object of an anonymous access type),
1371 returns the (static) accessibility level of the object. Otherwise, the
1372 same as Type_Access_Level.
1373 (Dynamic_Accessibility_Level): New function; given an expression which
1374 could occur as the rhs of an assignment to a saooaaat (i.e., an
1375 expression of an access-to-object type), return the new value for the
1376 saooaaat's associated Extra_Accessibility object.
1377 (Effective_Extra_Accessibility): New function; same as
1378 Einfo.Extra_Accessibility except that object renames are looked through.
1379 * sem_util.adb
1380 (Deepest_Type_Access_Level): New function; see sem_util.ads description.
1381 (Dynamic_Accessibility_Level): New function; see sem_util.ads
1382 description.
1383 (Effective_Extra_Accessibility): New function; see sem_util.ads
1384 description.
1385 * einfo.ads (Is_Local_Anonymous_Access): Update comments.
1386 (Extra_Accessibility): Update comments.
1387 (Init_Object_Size_Align): New procedure; same as Init_Size_Align
1388 except RM_Size field (which is only for types) is unaffected.
1389 * einfo.adb
1390 (Extra_Accessibility): Expand domain to allow objects, not just formals.
1391 (Set_Extra_Accessibility): Expand domain to allow objects, not just
1392 formals.
1393 (Init_Size): Add assertion that we are not trashing the
1394 Extra_Accessibility attribute of an object.
1395 (Init_Size_Align): Add assertion that we are not trashing the
1396 Extra_Accessibility attribute of an object.
1397 (Init_Object_Size_Align): New procedure; see einfo.ads description.
1398 * sem_ch3.adb (Find_Type_Of_Object): Set Is_Local_Anonymous_Access
1399 differently for the type of a (non-library-level) saooaaat depending
1400 whether Ada_Version < Ada_2012. This is the only point where Ada_Version
1401 is queried in this set of changes - everything else (in particular,
1402 setting of the Extra_Accessibility attribute in exp_ch3.adb) is
1403 driven off of the setting of the Is_Local_Anonymous_Access attribute.
1404 The special treatment of library-level saooaaats is an optimization,
1405 not required for correctnesss. This is based on the observation that the
1406 Ada2012 rules (static and dynamic) for saooaaats turn out to be
1407 equivalent to the Ada2005 rules in the case of a library-level saooaaat.
1408 * exp_ch3.adb
1409 (Expand_N_Object_Declaration): If Is_Local_Anonymous_Access is
1410 false for the type of a saooaaat, declare and initialize its
1411 accessibility level object and set the Extra_Accessibility attribute
1412 of the saooaaat to refer to this object.
1413 * checks.adb (Apply_Accessibility_Check): Add Ada 2012 saooaaat support.
1414 * exp_ch4.adb (Expand_N_In): Replace some Extra_Accessibility calls with
1415 calls to Effective_Extra_Accessibility in order to support
1416 renames of saooaaats.
1417 (Expand_N_Type_Conversion): Add new local function,
1418 Has_Extra_Accessibility, and call it when determining whether an
1419 accessibility check is needed.
1420 It returns True iff Present (Effective_Extra_Accessibility (Id)) would
1421 evaluate to True (without raising an exception).
1422 * exp_ch5.adb
1423 (Expand_N_Assignment_Statement): When assigning to an Ada2012
1424 saooaaat, update its associated Extra_Accessibility object (if
1425 it has one). This includes an accessibility check.
1426 * exp_ch6.adb (Add_Call_By_Copy_Code): When parameter copy-back updates
1427 a saooaaat, update its Extra_Accessibility object too (if it
1428 has one).
1429 (Expand_Call): Replace a couple of calls to Type_Access_Level
1430 with calls to Dynamic_Access_Level to handle cases where
1431 passing a literal (any literal) is incorrect.
1432 * sem_attr.adb (Resolve_Attribute): Handle the static accessibility
1433 checks associated with "Saooaat := Some_Object'Access;"; this must
1434 be rejected if Some_Object is declared in a more nested scope
1435 than Saooaat.
1436 * sem_ch5.adb (Analyze_Assignment): Force accessibility checking for an
1437 assignment to a saooaaat even if Is_Local_Anonymous_Access
1438 returns False for its type (indicating a 2012-style saooaaat).
1439 * sem_ch8.adb
1440 (Analyze_Object_Renaming): Replace a call to Init_Size_Align
1441 (which is only appropriate for objects, not types) with a call
1442 of Init_Object_Size_Align in order to avoid trashing the
1443 Extra_Accessibility attribute of a rename (the two attributes
1444 share storage).
1445 * sem_res.adb
1446 (Valid_Conversion) Replace six calls to Type_Access_Level with
1447 calls to Deepest_Type_Access_Level. This is a bit tricky. For an
1448 Ada2012 non-library-level saooaaat, the former returns library level
1449 while the latter returns the (static) accessibility level of the
1450 saooaaat. A type conversion to the anonymous type of a saooaaat
1451 can only occur as part of an assignment to the saooaaat, so we
1452 know that such a conversion must be in a lhs context, so Deepest
1453 yields the result that we need. If such a conversion could occur,
1454 say, as the operand of an equality operator, then this might not
1455 be right. Also add a test so that static accessibilty checks are
1456 performed for converting to a saooaaat's type even if
1457 Is_Local_Anonymous_Access yields False for the type.
1458
14592011-08-30 Javier Miranda <miranda@adacore.com>
1460
1461 * sem_disp.adb (Check_Dispatching_Operation): Complete condition that
1462 controls generation of a warning associated with late declaration of
1463 dispatching functions. Required to avoid generating spurious
1464 warnings.
1465
6cce2156
GD
14662011-08-30 Gary Dismukes <dismukes@adacore.com>
1467
1468 * sem_ch6.adb (Check_Return_Subtype_Indication): Issue error if the
1469 return object has an anonymous access type and the function's type is
1470 a named access type.
1471 * sem_ch8.adb (Analyze_Object_Renaming): Suppress error about renaming
1472 conversions on implicit conversions, since such conversions can occur
1473 for anonymous access cases due to expansion. Issue error for attempt
1474 to rename an anonymous expression as an object of a named access type.
1475 * sem_res.ads (Valid_Conversion): Add defaulted parameter Report_Errs,
1476 to indicate whether this function should report errors on invalid
1477 conversions.
1478 * sem_res.adb (Resolve): For Ada 2012, in the case where the type of
1479 the expression is of an anonymous access type and the expected type is
1480 a named general access type, rewrite the expression as a type
1481 conversion, unless this is an expression of a membership test.
1482 (Valid_Conversion.Error_Msg_N): New procedure that conditions the
1483 calling of Error_Msg_N on new formal Report_Errs.
1484 (Valid_Conversion.Error_Msg_NE): New procedure that conditions the
1485 calling of Error_Msg_NE on new formal Report_Errs.
1486 (Valid_Conversion): Move declaration of this function to the package
1487 spec, to allow calls from membership test processing. For Ada 2012,
1488 enforce legality restrictions on implicit conversions of anonymous
1489 access values to general access types, disallowing such conversions in
1490 cases where the expression has a dynamic accessibility level (access
1491 parameters, stand-alone anonymous access objects, or a component of a
1492 dereference of one of the first two cases).
1493 * sem_type.adb (Covers): For Ada 2012, allow an anonymous access type
1494 in the context of a named general access expected type.
1495 * exp_ch4.adb Add with and use of Exp_Ch2.
1496 (Expand_N_In): Add processing for membership tests applied to
1497 expressions of an anonymous access type. First, Valid_Conversion is
1498 called to check whether the test is statically False, and then the
1499 conversion is expanded to test that the expression's accessibility
1500 level is no deeper than that of the tested type. In the case of
1501 anonymous access-to-tagged types, a tagged membership test is applied
1502 as well.
1503 (Tagged_Membership): Extend to handle access type cases, applying the
1504 test to the designated types.
1505 * exp_ch6.adb (Expand_Call): When creating an extra actual for an
1506 accessibility level, and the actual is a 'Access applied to a current
1507 instance, pass the accessibility level of the type of the current
1508 instance rather than applying Object_Access_Level to the prefix. Add a
1509 ??? comment, since this level isn't quite right either (will eventually
1510 need to pass an implicit level parameter to init procs).
1511
747de90b
AC
15122011-08-30 Bob Duff <duff@adacore.com>
1513
1514 * s-taskin.ads: Minor comment fix.
1515
15162011-08-30 Ed Schonberg <schonberg@adacore.com>
1517
1518 * sem_res.adb (Check_Parameterless_Call): If the node is a selected
1519 component and the selector is a dispatching operation, check if it is
1520 a prefixed call before rewriting as a parameterless function call.
1521
cdc4cc65
JJ
15222011-08-29 Jakub Jelinek <jakub@redhat.com>
1523
1524 * gcc-interface/Makefile.in (../stamp-gnatlib1-$(RTSDIR)): Copy
1525 tsystem.h into $(RTSDIR) instead of rts.
1526
226a7fa4
AC
15272011-08-29 Robert Dewar <dewar@adacore.com>
1528
1529 * sem_ch10.adb, a-coorse.adb, exp_dist.adb, exp_ch3.adb: Minor
1530 reformatting.
1531 * gcc-interface/Make-lang.in: Update dependencies.
1532
15332011-08-29 Yannick Moy <moy@adacore.com>
1534
1535 * alfa.ads (Name_Of_Heap_Variable): New constant name.
1536 * lib-xref-alfa.adb, lib-xref.adb, lib-xref.ads (Drefs): New global
1537 table to hold dereferences.
1538 (Add_ALFA_Xrefs): Take into account dereferences as special
1539 reads/writes to the variable "HEAP".
1540 (Enclosing_Subprogram_Or_Package): Move subprogram here.
1541 (Generate_Dereference): New procedure to store a read/write dereferencew
1542 in the table Drefs.
1543 * put_alfa.adb (Put_ALFA): Use different default than (0,0) used for
1544 the special "HEAP" var.
1545 * sem_ch4.adb (Analyze_Explicit_Dereference): Store read dereference
1546 in ALFA mode.
1547 * sem_util.adb (Note_Possible_Modification): Store write dereference
1548 in ALFA mode.
1549
dfbcb149
HK
15502011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
1551
1552 * exp_ch3.adb (Freeze_Type): Generate an accessibility check which
1553 ensures that the level of the subpool access type is not deeper than
1554 that of the pool object.
1555 * sem_util.adb (Object_Access_Level): Expand to handle defining
1556 identifiers.
1557 * sem_res.adb (Resolve_Allocator): Add a guard to avoid examining the
1558 subpool handle name of a rewritten allocator.
1559
1df4f514
AC
15602011-08-29 Robert Dewar <dewar@adacore.com>
1561
1562 * impunit.adb, exp_ch4.adb, s-finmas.adb: Minor reformatting.
1563
15642011-08-29 Thomas Quinot <quinot@adacore.com>
1565
1566 * exp_dist.adb (TC_Rec_Add_Process_Element): For a choice with multiple
1567 values, we generate multiple triples of parameters in the TypeCode.
1568 Bump Choice_Index for each such triple so that a subsequent default
1569 choice is associated with the correct index in the typecode.
1570
15712011-08-29 Ed Schonberg <schonberg@adacore.com>
1572
1573 * a-cdlili.adb (Iterate): Initialize properly an iterator over a null
1574 container.
1575 (First, Last): Handle properly an iterator over a null container.
1576
15772011-08-29 Bob Duff <duff@adacore.com>
1578
1579 * sem_ch10.adb (Analyze_With_Clause,Install_Withed_Unit): Abandon
1580 processing if we run across a node with no Scope. This can happen if
1581 we're with-ing an library-level instance, and that instance got errors
1582 that caused "instantiation abandoned".
1583 * sem_util.adb (Unit_Declaration_Node): Make it more robust, by raising
1584 an exception instead of using Assert, so it won't go into an infinite
1585 loop, even when assertions are turned off.
1586
15872011-08-29 Ed Schonberg <schonberg@adacore.com>
1588
1589 * a-coorse.adb: Proper handling of empty ordered sets.
1590
14f0f659
AC
15912011-08-29 Johannes Kanig <kanig@adacore.com>
1592
1593 * debug.adb: Add comments.
1594
8027b455
AC
15952011-08-29 Thomas Quinot <quinot@adacore.com>
1596
1597 * a-except.adb, a-except-2005.adb: Minor comment rewording and
1598 reformatting.
1599
16002011-08-29 Yannick Moy <moy@adacore.com>
1601
1602 * sem_ch3.adb (Array_Type_Declaration): Remove insertion of
1603 declaration for Itypes in Alfa mode.
1604
d85fd922
AC
16052011-08-29 Robert Dewar <dewar@adacore.com>
1606
1607 * a-cdlili.ads, a-coinve.ads, a-coorma.adb, a-coorma.ads, s-tassta.adb,
1608 a-cborma.adb, a-cborma.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
1609 a-cborse.ads, a-cobove.adb, a-cobove.ads, a-cbhase.ads: Minor
1610 reformatting.
1611
16122011-08-29 Tristan Gingold <gingold@adacore.com>
1613
1614 * exp_ch7.adb, exp_ch7.ads (Build_Exception_Handler): Move its spec to
1615 package spec.
1616 * exp_intr.adb (Expand_Unc_Deallocation): Use Build_Exception_Handler.
1617 * a-except.adb, a-except-2005.adb (Rcheck_22): Do not defer aborts
1618 while raising PE.
1619
fd3d2680
AC
16202011-08-29 Robert Dewar <dewar@adacore.com>
1621
1622 * a-cbhama.adb, a-cbhama.ads: Minor reformatting.
1623
16242011-08-29 Javier Miranda <miranda@adacore.com>
1625
1626 * sem_ch8.adb (Analyze_Subprogram_Renaming): Complete support for
1627 renamings of formal subprograms when the actual for a formal type is
1628 class-wide.
1629
dfbf013f
MH
16302011-08-29 Matthew Heaney <heaney@adacore.com>
1631
1632 * a-cbhama.ads, a-cbhase.ads (Move): Clear Source following assignment
1633 to Target.
1634
16352011-08-29 Matthew Heaney <heaney@adacore.com>
1636
1637 * a-cborma.ads, a-cborse.ads (Cursor): Default-initialize all
1638 components of record type.
1639 * a-cborma.adb, a-cborse.adb (Move): Clear Source following assignmentw
1640 to Target.
1641
a6dd3a54
ES
16422011-08-29 Ed Schonberg <schonberg@adacore.com>
1643
1644 * a-cbhama.adb, a-cbhama.ads, a-cborma.adb, a-cborma.ads, a-cobove.adb,
1645 a-cobove.ads, a-coorma.adb, a-coorma.ads: Add iterator machinery to
1646 container packages.
1647
c54796e0
AC
16482011-08-29 Robert Dewar <dewar@adacore.com>
1649
1650 * sem_ch3.adb, sem_util.adb, gnat1drv.adb, s-parint.ads: Minor
1651 reformatting.
1652
16532011-08-29 Matthew Heaney <heaney@adacore.com>
1654
1655 * a-cbhama.ads, a-cbhase.ads (Cursor): Default-initialize all
1656 components of record type.
1657
16582011-08-29 Bob Duff <duff@adacore.com>
1659
1660 * s-tassta.adb (Task_Wrapper): Handle and ignore exceptions propagated
1661 by the termination handler.
1662
9fd9d2be
AC
16632011-08-29 Yannick Moy <moy@adacore.com>
1664
1665 * sem_ch3.adb (Array_Type_Declaration): Create declarations for Itypes
1666 created in Alfa mode, instead of inserting artificial declarations of
1667 non-Itypes in the tree.
1668 * sem_util.adb, sem_util.ads (Itype_Has_Declaration): New function to
1669 know if an Itype has a corresponding declaration, as defined in
1670 itypes.ads.
1671
16722011-08-29 Yannick Moy <moy@adacore.com>
1673
1674 * gnat1drv.adb: Minor rewrite.
1675
16762011-08-29 Bob Duff <duff@adacore.com>
1677
1678 * s-tasuti.adb (Make_Passive): Work around race condition in
1679 Make_Independent, which can cause Wait_Count to be zero. So instead of
1680 asserting that Wait_Count > 0, and then decrementing it, decrement it
1681 only if Wait_Count > 0.
1682 * s-taskin.ads (Wait_Count, Alive_Count, Awake_Count): All of these
1683 should be nonnegative, so declare them Natural instead of Integer.
1684
833eaa8a
AC
16852011-08-29 Robert Dewar <dewar@adacore.com>
1686
1687 * exp_ch5.adb, sem_ch3.adb, a-cihama.adb, a-cihama.ads, exp_ch7.adb,
1688 sem_ch5.adb, a-ciorse.adb, a-ciorse.ads, sem_ch12.adb, a-cidlli.adb,
1689 a-cidlli.ads, sem_util.adb, sem_res.adb, gnat1drv.adb, a-except.adb,
1690 a-except.ads, a-except-2005.ads, sem_ch4.adb, exp_disp.adb,
1691 exp_aggr.adb, sem_ch13.adb, par-ch3.adb: Minor reformatting.
1692
16932011-08-29 Tristan Gingold <gingold@adacore.com>
1694
1695 * s-auxdec-vms-alpha.adb: Add comments, remove some HT before labels.
1696
16972011-08-29 Vadim Godunko <godunko@adacore.com>
1698
1699 * s-parint.ads: Minor comment clarification.
1700
17012011-08-29 Vincent Celier <celier@adacore.com>
1702
1703 * prj.adb (Initialize): Make sure that new reserved words after Ada 95
1704 may be used as identifiers.
1705
17062011-08-29 Ed Schonberg <schonberg@adacore.com>
1707
1708 * a-coinho.ads: Minor reformating.
1709
3a613a36
AC
17102011-08-29 Ed Schonberg <schonberg@adacore.com>
1711
1712 * exp_ch5.adb (Expand_Iterator_Loop): Handle properly a loop over a
1713 container of a derived type.
1714
3a613a36
AC
17152011-08-29 Ed Schonberg <schonberg@adacore.com>
1716
1717 * a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads,
1718 a-ciorse.adb, a-ciorse.ads: Add iterator machinery to containers.
1719
14848f57
AC
17202011-08-29 Pascal Obry <obry@adacore.com>
1721
1722 * exp_disp.adb: Minor comment fix.
1723 (Make_Disp_Asynchronous_Select_Body): Properly initialize out parameters
1724 to avoid warnings when compiling with -Wall.
1725 (Make_Disp_Conditional_Select_Body): Likewise.
1726 (Make_Disp_Timed_Select_Body): Likewise.
1727
17282011-08-29 Ed Schonberg <schonberg@adacore.com>
1729
1730 * sem_ch12.adb (Analyze_Formal_Subprogram_Declaration): If default is
1731 an entity name, generate reference for it.
1732
17332011-08-29 Ed Schonberg <schonberg@adacore.com>
1734
1735 * exp_ch5.adb (Expand_Iterator_Loop): Uniform handling of "X of S"
1736 iterator form.
1737 * sem_util.adb (Is_Iterator, Is_Reversible_Iterator): Yield True for
1738 the class-wide type.
1739 * sem_ch5.adb: Move some rewriting to the expander, where it belongs.
1740
17412011-08-29 Ed Schonberg <schonberg@adacore.com>
1742
1743 * sem_ch8.adb (Check_Constrained_Object): Do not create an actual
1744 subtype for an object whose type is an unconstrained union.
1745
17462011-08-29 Ed Schonberg <schonberg@adacore.com>
1747
1748 * par-ch3.adb (P_Array_Type_Definiation, P_Component_Items): "aliased"
1749 is allowed in a component definition, by AI95-406.
1750
17512011-08-29 Matthew Heaney <heaney@adacore.com>
1752
1753 * a-chtgbo.adb (Generic_Iteration): Use correct overloading of Next.
1754
17552011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
1756
1757 * a-except-2005.adb: Alphabetize all routines.
1758 (Triggered_By_Abort): New routine.
1759 * a-except-2005.ads (Triggered_By_Abort): New routine.
1760 * a-except.adb Alphabetize all routines.
1761 (Triggered_By_Abort): New routine.
1762 * a-except.ads (Triggered_By_Abort): New routine.
1763 * exp_ch7.adb: Update all comments involving the detection of aborts in
1764 finalization code.
1765 (Build_Object_Declarations): Do not generate code to detect the
1766 presence of an abort at the start of finalization code, use a runtime
1767 routine istead.
1768 * rtsfind.ads: Add RE_Triggered_By_Abort to tables RE_Id and
1769 RE_Unit_Table.
1770 * sem_res.adb (Resolve_Allocator): Emit a warning when attempting to
1771 allocate a task on a subpool.
1772 * s-stposu.adb: Add library-level flag Finalize_Address_Table_In_Use.
1773 The flag disables all actions related to the maintenance of
1774 Finalize_Address_Table when subpools are not in use.
1775 (Allocate_Any_Controlled): Signal the machinery that subpools are in
1776 use.
1777 (Deallocate_Any_Controlled): Do not call Delete_Finalize_Address which
1778 performs costly task locking when subpools are not in use.
1779
57a8057a
AC
17802011-08-29 Yannick Moy <moy@adacore.com>
1781
1782 * gnat1drv.adb (Adjust_Global_Switches): Restore expansion of tagged
1783 types and dispatching calls in Alfa mode.
1784 * lib-xref-alfa.adb (Collect_ALFA): Rewrite computation of
1785 correspondance between body and spec scopes, to reuse utility functions
1786 (Traverse_Declarations_Or_Statements): Protect access to body for stub
1787 by testing the presence of the library unit for the body
1788 * sem_ch6.adb (Set_Actual_Subtypes): take into account that in Alfa
1789 mode the expansion of accept statements is skipped
1790 * sem_util.adb, sem_util.ads (Unique_Entity): New function returning
1791 the unique entity corresponding to the one returned by
1792 Unique_Defining_Entity applied to the enclosing declaration of the
1793 argument.
1794
17952011-08-29 Bob Duff <duff@adacore.com>
1796
1797 * treepr.ads: Improve debugging facilities. pn(x) no longer crashes in
1798 gdb when x is not a node (it can be a node list, name_id, etc). pp is
1799 an alias for pn. ppp is an alias for pt.
1800
18012011-08-29 Javier Miranda <miranda@adacore.com>
1802
1803 * exp_aggr.adb (Expand_Record_Aggregate): Use the top-level enclosing
1804 aggregate to take a consistent decision on the need to convert into
1805 assignments aggregates that initialize constant objects.
1806
18072011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
1808
1809 * exp_ch4.adb (Expand_Allocator_Expression): Add a call to
1810 Build_Allocate_Deallocate_Proc in order to handle allocation of
1811 non-controlled objects on subpools.
1812 * impunit.adb: Remove s-finmas and s-spsufi since they were never meant
1813 to be end-user visible.
1814 * s-finmas.adb: Add with and use clause for System.HTable.
1815 Add an instantiation of Simple_HTable which provides a mapping between
1816 the address of a controlled object and the corresponding
1817 Finalize_Address used to clean up the object. The table is used when a
1818 master is operating in heterogeneous mode.
1819 (Attach): Explain why the input node is not verified on being already
1820 attached.
1821 (Delete_Finalize_Address): New routine.
1822 (Detach): Add pragma Assert which ensures that a node is already
1823 attached.
1824 (Finalize): Add local variable Cleanup. Rewrite the iteration scheme
1825 since nodes are no longer removed on traversal. Explain why node
1826 detachment is undesirable in this case.
1827 (Get_Finalize_Address): New routine.
1828 (Hash): New routine.
1829 (Is_Empty_List): Removed.
1830 (pm): Renamed to Print_Master. Add output for discriminant
1831 Is_Homogeneous.
1832 Comment reformatting.
1833 (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
1834 * s-finmas.ads: Various comments additions / improvements.
1835 Type Finalization_Master has a discriminant which determines the mode of
1836 operation.
1837 (Delete_Finalize_Address): New routine.
1838 (Get_Finalize_Address): New routine.
1839 (pm): Renamed to Print_Master.
1840 (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
1841 * s-stposu.adb: Add with clause for System.Address_Image; Add with and
1842 use clause for System.IO.
1843 (Allocate_Any_Controlled): Add machinery to set TSS primitive
1844 Finalize_Address depending on the mode of allocation and the mode of
1845 the master.
1846 (Deallocate_Any_Controlled): Remove the relation pair object -
1847 Finalize_Address regardless of the master mode. Add comment explaining
1848 the reason.
1849 (Detach): Ensure that fields Prev and Next are null after detachment.
1850 (Finalize_Pool): Remove local variable Next_Ptr. Rewrite the iteration
1851 scheme to check whether the list of subpools is empty. There is no
1852 longer need to store the next subpool or advance the current pointer.
1853 (Is_Empty_List): New routine.
1854 (Print_Pool): New routine.
1855 (Print_Subpool): New routine.
1856 * s-stposu.ads: Various comments additions / improvements.
1857 Field Master of type Root_Subpool is now a heterogeneous collection.
1858 (Print_Pool): New routine.
1859 (Print_Subpool): New routine.
1860
18612011-08-29 Ed Schonberg <schonberg@adacore.com>
1862
1863 * exp_ch5.adb (Expand_N_Iterator_Loop): Implement Ada2012 loop iterator
1864 forms, using aspects of container types.
1865 * sem_ch3.adb (Find_Type_Name): Preserve Has_Delayed_Aspects and
1866 Has_Implicit_Dereference flags, that may be set on the partial view.
1867 * sem_ch4.adb (Process_Overloaded_Indexed_Component): Prefix may be a
1868 container type with an indexing aspect.
1869 (Analyze_Quantified_Expression): Analyze construct with expansion
1870 disabled, because it will be rewritten as a loop during expansion.
1871 (Try_Container_Indexing): The prefix itself may be a container type
1872 with an indexing aspect, as with a vector of vectors.
1873 * sem_ch5.adb (Analyze_Iteration_Scheme): In a generic context, analyze
1874 the original doamin of iteration, for name capture.
1875 (Analyze_Iterator_Specification): If the domain is an expression that
1876 needs finalization, create a separate declaration for it.
1877 For an iterator with "of" retrieve default iterator info from aspect of
1878 container type. For "in" iterator, retrieve type of Iterate function.
1879 * sem_ch13.adb (Check_Iterator_Function): Fix typo.
1880 (Check_Aspect_At_End_Of_Declaration): Make type unfrozen before
1881 analysis, to prevent spurious errors about late attributes.
1882 * sprint.adb: Handle quantified expression with either loop or iterator
1883 specification.
1884 * a-convec.ads, a-convec.adb: Iterate function returns a reversible
1885 iterator.
1886
ddf67a1d
AC
18872011-08-29 Vincent Celier <celier@adacore.com>
1888
1889 * make.adb (Scan_Make_Arg): Take any option as is in packages Compiler,
1890 Binder or Linker of the main project file.
1891
18922011-08-29 Ed Schonberg <schonberg@adacore.com>
1893
1894 * inline.adb (Add_Scopes_To_Clean): Exclude any entity within a generic
1895 unit.
1896
18972011-08-29 Yannick Moy <moy@adacore.com>
1898
1899 * exp_ch9.adb: Partial revert of previous change for Alfa mode
1900
19012011-08-29 Yannick Moy <moy@adacore.com>
1902
1903 * exp_ch11.adb: Minor expansion of comment.
1904
19052011-08-29 Yannick Moy <moy@adacore.com>
1906
1907 * lib-xref-alfa.adb (Add_ALFA_Scope): Treat generic entities.
1908
19092011-08-29 Ed Schonberg <schonberg@adacore.com>
1910
1911 * sem_res.adb (Resolve_Arithmetic_Op): If the node has a universal
1912 interpretation, set the type before resolving the operands, because
1913 legality checks on an exponention operand need to know the type of the
1914 context.
1915
19162011-08-29 Ed Schonberg <schonberg@adacore.com>
1917
1918 * sem_ch12.adb (Analyze_Package_Instantiation): Do not set delayed
1919 cleanups on a master if the instance is within a generic unit.
1920 Complement to the corresponding fix to inline.adb for K520-030.
1921
19222011-08-29 Tristan Gingold <gingold@adacore.com>
1923
1924 * exp_ch7.adb (Build_Raise_Statement): Raise PE instead of the current
1925 occurrence.
1926 * exp_intr.adb: Minor comment fix.
1927
19282011-08-29 Bob Duff <duff@adacore.com>
1929
1930 * sem_ch13.adb (Analyze_Aspect_Specifications): Fix cases where
1931 Delay_Required was used as an uninitialized variable.
1932
690943fc
RD
19332011-08-29 Robert Dewar <dewar@adacore.com>
1934
1935 * a-cdlili.adb, a-cdlili.ads, a-coinve.adb, a-coinve.ads,
1936 sem_util.adb, sem_util.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb,
1937 a-coorse.ads, aspects.ads, sem_ch8.adb: Minor reformatting.
1938
9f0ee988
TQ
19392011-08-29 Thomas Quinot <quinot@adacore.com>
1940
1941 * system-freebsd-x86_64.ads (Backend_Overflow_Checks): Set true True.
1942 Remove unused variables.
1943
3e24afaa
AC
19442011-08-29 Ed Schonberg <schonberg@adacore.com>
1945
1946 * sem_res.adb: Remove Build_Explicit_Dereference.
1947 * sem_util.adb, sem_util.ads (Build_Explicit_Dereference): Moved here
1948 from sem_res.adb, used in analysis of additional constructs.
1949 (Is_Iterator, Is_Reversible_Iterator): New predicates for Ada2012
1950 expansion of iterators.
1951 (Is_Object_Reference): Recognize variables rewritten as explicit
1952 dereferences in Ada2012.
1953 * snames.ads-tmpl: Add Has_Element, Forward_Iterator,
1954 Reversible_Iterator names, for expansion of Ada2012 iterators.
1955 * aspects.ads, aspects.adb (Find_Aspect): Utility.
1956 * a-cdlili.ads, a-cdlili.adb: Add new iterator machinery to doubly
1957 linked list container.
1958 * a-coinve.ads, a-coinve.adb: Ditto for indefinite vector containers.
1959 * a-coorse.ads, a-coorse.adb: Ditto for ordered sets.
1960
19612011-08-29 Ed Schonberg <schonberg@adacore.com>
1962
1963 * a-cohama.adb, a-cohama.ads: Add iterator primitives to hashed map
1964 containers.
1965
19662011-08-29 Vincent Celier <celier@adacore.com>
1967
1968 * make.adb (Gnatmake): Get the maximum number of simultaneous
1969 compilation processes after the Builder switches has been scanned, as
1970 there may include -jnn.
1971
19722011-08-29 Matthew Heaney <heaney@adacore.com>
1973
1974 * a-chtgbo.adb (Generic_Equal): Use correct overloading of Next.
1975
19762011-08-29 Tristan Gingold <gingold@adacore.com>
1977
1978 * gnatcmd.adb (GNATCmd): On OpenVMS, truncate the length of
1979 GNAT_DRIVER_COMMAND_LINE to 255.
1980
19812011-08-29 Pascal Obry <obry@adacore.com>
1982
1983 * freeze.adb, sem_ch8.adb, a-convec.adb, a-convec.ads: Minor
1984 reformatting and style fix (class attribute casing).
1985
19862011-08-29 Yannick Moy <moy@adacore.com>
1987
1988 * exp_ch11.adb: Yet another case where expansion should be common
1989 between CodePeer and Alfa.
1990
19912011-08-29 Yannick Moy <moy@adacore.com>
1992
1993 * exp_ch9.adb: Partial revert of previous change for Alfa mode.
1994
19952011-08-29 Ed Schonberg <schonberg@adacore.com>
1996
1997 * sem_ch6.adb (Matches_Limited_With_View): The limited views of an
1998 incomplete type and its completion match.
1999
3ddd922e
AC
20002011-08-29 Yannick Moy <moy@adacore.com>
2001
2002 * exp_ch13.adb: Adjust previous change.
2003
20042011-08-29 Robert Dewar <dewar@adacore.com>
2005
2006 * sem_prag.adb, prj.adb, sem_util.adb, sem_res.adb, gnat1drv.adb,
2007 exp_ch4.adb, sem_ch8.adb: Minor code reorganization
2008 Minor reformatting.
2009
444acbdd
AC
20102011-08-29 Emmanuel Briot <briot@adacore.com>
2011
2012 * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Also
2013 initialize aggregated projects.
2014
20152011-08-29 Ed Schonberg <schonberg@adacore.com>
2016
2017 * sem_ch8.adb (Find_Renamed_Entity): Within an instance, use scope
2018 depth of candidates to resolve a potentially spurious ambiguity between
2019 two visible subprograms.
2020
e0296583
AC
20212011-08-29 Yannick Moy <moy@adacore.com>
2022
2023 * sem_prag.adb (Analyze_Pragma): Allow Test_Case pragma without
2024 Requires/Ensures.
2025 * sem_util.adb (Get_Ensures_From_Test_Case_Pragma,
2026 Get_Requires_From_Test_Case_Pragma): Allow Test_Case pragma without
2027 Requires/Ensures.
2028
20292011-08-29 Arnaud Charlet <charlet@adacore.com>
2030
2031 * gnat1drv.adb (Adjust_Global_Switches): Improve previous change.
2032 Add comment.
2033
20342011-08-29 Thomas Quinot <quinot@adacore.com>
2035
2036 * sem_res.adb: Minor reformatting.
2037
69794413
JK
20382011-08-29 Johannes Kanig <kanig@adacore.com>
2039
2040 * exp_ch4.adb (Expand_Quantified_Expression): Do not expand in ALFA
2041 mode.
2042 * gnat1drv.adb (Adjust_Global_Switches): Set
2043 Use_Expressions_With_Actions to False in ALFA mode.
2044 * sem_res.adb (Resolve_Quantified_Expression): Simpler treatment in
2045 ALFA mode.
2046
59e6b23c
AC
20472011-08-29 Yannick Moy <moy@adacore.com>
2048
2049 * exp_ch13.adb (Expand_N_Freeze_Entity): Do nothing in Alfa mode.
2050 * exp_ch9.adb: Do not expand tasking constructs in Alfa mode.
2051 * gnat1drv.adb (Adjust_Global_Switches): Suppress the expansion of
2052 tagged types and dispatching calls in Alfa mode.
2053
20542011-08-29 Javier Miranda <miranda@adacore.com>
2055
2056 * sem_ch3.adb (Process_Discriminants): Add missing check to ensure that
2057 we do not report an error on an Empty node.
2058
20592011-08-29 Geert Bosch <bosch@adacore.com>
2060
2061 * Makefile.rtl (GNATRTL_NONTASKING_OBJECTS): Add a-nllrar.o,
2062 a-nlrear.o and a-nurear.o.
2063
20642011-08-29 Robert Dewar <dewar@adacore.com>
2065
2066 * freeze.adb: Minor code reorganization.
2067 Minor reformatting.
2068 * sem_util.adb, errout.adb, exp_ch11.adb, a-ngrear.adb, s-gearop.adb,
2069 sem_ch6.adb: Minor reformatting
2070
20712011-08-29 Tristan Gingold <gingold@adacore.com>
2072
2073 * s-except.ads, s-except.adb: Provide dummy body.
2074
20752011-08-29 Yannick Moy <moy@adacore.com>
2076
2077 * sem_warn.adb (Within_Postcondition): Take into account the case of
2078 an Ensures component in a Test_Case.
2079
4d792549
AC
20802011-08-29 Tristan Gingold <gingold@adacore.com>
2081
2082 * s-excdeb.ads, s-excdeb.adb: New files, created from s-except.
2083 * rtsfind.ads (RTU_Id): Replaces System_Exceptions by
2084 System_Exceptions_Debug
2085 (RE_Unit_Table): Search RE_Local_Raise in System_Exceptions_Debug
2086 * a-except.adb: With and use System.Exceptions_Debug instead of
2087 System.Exceptions.
2088 * a-except-2005.adb: Likewise.
2089 * s-assert.adb: Likewise.
2090 * s-except.adb, s-except.ads: Move debugging hooks to s-excdeb.
2091 * Makefile.rtl: Add s-excdeb. Adjust compilation rule.
2092 * gcc-interfaces/Makefile.in, gcc-interface/Make-lang.in: Add
2093 s-excdeb. Update dependencies.
2094 (GNATRTL_LINEARALGEBRA_OBJS): Remove a-nlrear.o a-nurear.o a-nllrar.o
2095 as these no longer need external libraries.
2096
20972011-08-29 Ed Schonberg <schonberg@adacore.com>
2098
2099 * sem_res.adb (Resolve_Op_Expon): Additional check to reject an
2100 exponentiation operator on universal values in a context that requires
2101 a fixed-point type.
2102
21032011-08-29 Tristan Gingold <gingold@adacore.com>
2104
2105 * raise-gcc.c (personnality_routine): Fix thinko. Set Ada occurrence
2106 before calling notify_handled_exception.
2107 * a-exextr.adb: Fix comment.
2108
b254da66
AC
21092011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2110
2111 * exp_ch4.adb (Expand_Allocator_Expression): Add code to set attribute
2112 Finalize_Address of the access type's finalization master.
2113 (Expand_N_Allocator): Add code to set attribute Finalize_Address of the
2114 access type's finalization master. Add a guard to prevent
2115 Associated_Storage_Pool from being set on .NET/JVM.
2116 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add code to set
2117 attribute Finalize_Address of the access type's finalization master.
2118 * exp_ch7.adb (Make_Finalize_Address_Call): New routine.
2119 * exp_ch7.ads (Make_Finalize_Address_Call): New routine.
2120 * rtsfind.ads: Add RE_Set_Finalize_Address to tables RE_Id and
2121 RE_Unit_Table.
2122 * s-finmas.adb: Add with clause for System.Address_Image. Add with and
2123 use clause for System.IO
2124 (Detach): Relax the assertion, to be reinstated later.
2125 (Finalize): Rewrite the iteration loop to avoid pointer comparison.
2126 Relax the assertion on Finalize_Address, to be reinstated later.
2127 (Is_Empty_List): New routine.
2128 (pm): New debug routine.
2129 (Set_Finalize_Address): New routine.
2130 * s-finmas.ads (pm): New debug routine.
2131 (Set_Finalize_Address): New routine.
2132 * s-stposu.adb (Allocate_Any_Controlled): Code reformatting.
2133
21342011-08-29 Tristan Gingold <gingold@adacore.com>
2135
2136 * a-exexpr-gcc.adb (GCC_Exception_Access, GNAT_GCC_Exception_Access):
2137 Remove convention C.
2138
21392011-08-29 Tristan Gingold <gingold@adacore.com>
2140
2141 * s-taprop-vms.adb (Get_Exc_Stack_Addr): Remove.
2142 (Initialize_TCB): Remove Exc_Stack_Ptr initialization.
2143 (Finalize_TCB): Remove its finalization.
2144 (Initialize): Remove assignment of GET_Exc_Stack_Addr
2145 * s-soflin.adb (NT_Exc_Stack): Remove
2146 (Get_Exc_Stack_Addr_NT): Likewise.
2147 (Get_Exc_Stack_Addr_Soft): Likewise.
2148 * s-soflin.ads (Get_Exc_Stack_Addr_NT): Remove.
2149 (Get_Exc_Stack_Addr): Likewise.
2150 (Get_Exc_Stack_Addr_Soft): Likewise
2151 * s-taspri-vms.ads (Exc_Stack_T): Remove.
2152 (Exc_Stack_Ptr_T): Likewise.
2153 (Private_Data): Remove Exc_Stack_Ptr component.
2154
21552011-08-29 Tristan Gingold <gingold@adacore.com>
2156
2157 * raise-gcc.c (get_ip_from_context): New function. Factorize code.
2158
21592011-08-29 Tristan Gingold <gingold@adacore.com>
2160
2161 * gnat_ugn.texi: Fix aix and x86-solaris info for run-time.
2162
21632011-08-29 Geert Bosch <bosch@adacore.com>
2164
2165 * s-gearop.ads (Back_Substitute, Diagonal, Forward_Eliminate,
2166 L2_Norm, Swap_Column): New generic subprograms
2167 * s-gearop.adb (Back_Substitute, Diagonal, Forward_Eliminate,
2168 L2_Norm, Swap_Column): Implement new subprograms in order to
2169 eliminate dependency on BLAS and LAPACK libraries in
2170 Ada.Numerics.Generic_Real_Arrays and eventually also the complex
2171 version. Forward_Eliminate/Back_Substitute can be used to put a
2172 matrix in row echelon or reduced row echelon form using partial
2173 pivoting.
2174 * a-ngrear.adb: (Back_Substitute, Diagonal, Forward_Eleminate,
2175 Swap_Column): Instantiate from System.Generic_Array_Operations.
2176 ("*", "abs"): Implement by instantiation from Generic_Array_Operations.
2177 (Sqrt): Local function for simple computation of square root without
2178 adding dependencies on Generic_Elementary_Functions.
2179 (Swap): New subprogram to exchange floating point numbers.
2180 (Inverse): Reimplement using Jordan-Gauss elimination.
2181 (Jacobi): New procedure implementing Jacobi's method for computation
2182 of eigensystems, based on Rutishauser's implementation.
2183 (L2_Norm): Implement directly using the inner product.
2184 (Sort_Eigensystem): Sort eigenvalue/eigenvector pairs in order of
2185 decreasing eigenvalue as required by the Ada RM.
2186 (Swap_Column): New helper procedure for Sort_Eigensystem.
2187 Remove with of System.Generic_Real_BLAS and System.Generic_Real_LAPACK.
2188 Add with of Ada.Containers.Generic_Anonymous_Array_Sort, for
2189 Sort_Eigensystems.
2190
21912011-08-29 Thomas Quinot <quinot@adacore.com>
2192
2193 * put_scos.adb (Put_SCOs): Do not emit a newline for an empty
2194 statements line.
2195
60370fb1
AC
21962011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2197
2198 * s-finmas.adb (Finalize): Check Finalize_Address of the master rather
2199 than the current node.
2200 * s-finmas.ads: Move field Finalize_Address from type FM_Node to
2201 Finalization_Master. The list headers have two fields instead of three.
2202 This should fix alignment issue but subpool allocations are now
2203 unusable. Alphabetize subprograms.
2204 * s-stposu.adb (Allocate_Any_Controlled): Use the offset rather than
2205 the size of the header when converting the beginning of the object to
2206 a FM_Node. Set the master's Finalize_Address attribute if not already
2207 set.
2208 (Deallocate_Any_Controlled): Use the offset rather than the size of the
2209 header when converting the beginning of the object to a FM_Node.
2210
22112011-08-29 Gary Dismukes <dismukes@adacore.com>
2212
2213 * exp_ch11.adb (Expand_N_Raise_Statement): Don't suppress expansion of
2214 reraise when compiling for CodePeer.
2215
22162011-08-29 Arnaud Charlet <charlet@adacore.com>
2217
2218 * a-iteint.ads, Makefile.rtl: Add missing compilation of a-iteint.ads,
2219 now needed by a-convec.adb. Fix warning.
2220
22212011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2222
2223 * exp_util.adb (Build_Allocate_Deallocate_Proc): Add a guard for the
2224 processing of TSS routine Finalize_Address when compiling in
2225 CodePeer_Mode.
2226
22272011-08-29 Thomas Quinot <quinot@adacore.com>
2228
2229 * a-strunb.ads, einfo.ads, g-comlin.ads, sem_ch6.adb,
2230 sem_warn.adb: Minor reformatting.
2231
22322011-08-29 Emmanuel Briot <briot@adacore.com>
2233
2234 * prj-conf.adb (Get_Config_Switches): Also collect the list of
2235 languages from aggregated projects.
2236
22372011-08-29 Yannick Moy <moy@adacore.com>
2238
2239 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Declarations_Or_Statements,
2240 Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
2241 Traverse_Package_Declaration, Traverse_Subprogram_Body,
2242 Traverse_Compilation_Unit): Add a parameter Inside_Stubs so that bodies
2243 for stubs are traversed too when parameter is set
2244 (Traverse_All_Compilation_Units): Traverse without going inside stubs
2245 (Traverse_Declarations_Or_Statements): Do the special traversing for
2246 stubs when required.
2247 * sem_util.adb, sem_util.ads (Get_Body_From_Stub): New function to
2248 return subprogram or package body from stub.
2249 (Is_Subprogram_Stub_Without_Prior_Declaration): New function to detect
2250 stubs without prior subprogram decl.
2251
22522011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
2253
2254 * gnat_ugn.texi: Fix typo.
2255
e9c9d122
HK
22562011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2257
2258 * s-stposu.adb (Allocate_Any_Controlled): Reimplement the mechanism
2259 which accounts for size vs alignment issues and calculates the size of
2260 the list header.
2261 (Deallocate_Any_Controlled): Ditto.
2262 (Nearest_Multiple_Rounded_Up): New routine.
2263
25ebc085
AC
22642011-08-29 Tristan Gingold <gingold@adacore.com>
2265
2266 * a-exstat.adb (String_To_EO): Do no set Cleanup_Flag.
2267 * a-exexda.adb (Set_Exception_C_Msg): Ditto.
2268 (Set_Exception_Msg): Ditto.
2269 * a-exexpr-gcc.adb (Setup_Current_Excep): Ditto. Do not set
2270 Private_Data.
2271 * a-except.adb, a-except-2005.adb (Save_Occurrence_No_Private): Remove.
2272 Use Save_Occurrence instead of Save_Occurrence_No_Private.
2273 (Raise_With_Msg): Remove Cleanup_Flag.
2274 * a-except.ads, a-except-2005.ads (Exception_Occurrence): Remove
2275 Clean_Flag and Private_Data components.
2276
22772011-08-29 Yannick Moy <moy@adacore.com>
2278
2279 * freeze.adb (Freeze_Record_Type): Ignore packing in Alfa mode, like
2280 in CodePeer mode.
2281 * sem_ch3.adb (Signed_Integer_Type_Declaration): Correct the generation
2282 of an explicitly declared type, so that the base types of the original
2283 type and this generated type are the same, and a "type" (not a subtype
2284 like previously).
2285 * errout.adb (Special_Msg_Delete): Do not issue messages "Size too
2286 small" in Alfa mode, like in CodePeer mode.
2287 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore rep
2288 clauses in Alfa mode.
2289
22902011-08-29 Javier Miranda <miranda@adacore.com>
2291
2292 * exp_ch6.ads, exp_ch6.adb (Is_Null_Procedure): Move the spec of this
2293 function to the package spec.
2294 * sem_ch6.adb (Find_Corresponding_Spec, New_Overloaded_Entity): For
2295 internally generated bodies of null procedures locate the internally
2296 generated spec enforcing mode conformance.
2297 (Is_Interface_Conformant): Ensure that the controlling formal of the
2298 primitives match.
2299
23002011-08-29 Ed Schonberg <schonberg@adacore.com>
2301
2302 * sem_prag.adb (Analyze_Pragma, case Inline): In an instance, do not
2303 reject the pragma if it appears to apply to a formal subprogram.
2304
23052011-08-29 Ed Schonberg <schonberg@adacore.com>
2306
2307 * exp_ch4.adb (Expand_Allocator_Expression): Use consistent name for
2308 inner expression, to prevent double evaluation.
2309
590549fb
AC
23102011-08-29 Tristan Gingold <gingold@adacore.com>
2311
2312 * a-exexpr.adb (Propagate_Exception): Remove all the parameters as
2313 they were unused.
2314 * a-exexpr-gcc.adb (Propagate_Exception): Ditto.
2315 * a-except-2005.adb (Propagate_Exception): Adjust spec.
2316 (Raise_Current_Excep): Adjust call.
2317 (Raise_From_Signal_Handler): Call now simply call Raise_Current_Excep.
2318
23192011-08-29 Thomas Quinot <quinot@adacore.com>
2320
2321 * exp_disp.adb: Minor reformatting.
2322
62380e66
TG
23232011-08-29 Tristan Gingold <gingold@adacore.com>
2324
2325 * a-exexpr.adb (Setup_Exception): Removed.
2326 * a-exexpr-gcc.adb (Setup_Exception): Removed.
2327 * a-except.adb (Exception_Propagation): Removed.
2328 * a-except-2005.adb (Setup_Exception): Removed.
2329 (Reraise): Remove call to Setup_Exception.
2330 (Reraise_Occurrence): Ditto.
2331 (Reraise_Occurrence_Always): Ditto.
2332 (Reraise_Occurrence_No_Defer): Ditto.
2333 (Transfer_Occurrence): Ditto.
2334 * a-exexda.adb (Set_Exception_C_Msg): Remove call to Setup_Exception.
2335 (Set_Exception_Msg): Ditto.
2336
c95aa61c
AC
23372011-08-29 Robert Dewar <dewar@adacore.com>
2338
2339 * a-convec.adb, exp_disp.adb: Minor reformatting.
2340
23412011-08-29 Tristan Gingold <gingold@adacore.com>
2342
2343 * a-exexpr-gcc.adb (GNAT_GCC_Exception_Access): Set to convention C.
2344
624e1688
AC
23452011-08-29 Gary Dismukes <dismukes@adacore.com>
2346
2347 * exp_ch3.adb (Build_Record_Init_Proc.Build_Init_Procedure): Set
2348 Exception_Handlers to No_List instead of Empty_List in the case where
2349 there are no handlers.
2350
23512011-08-29 Tristan Gingold <gingold@adacore.com>
2352
2353 * gcc-interface/gigi.h (enum standard_datatypes): Add
2354 ADT_reraise_zcx_decl
2355 (reraise_zcx_decl): New macro.
2356 * gcc-interface/trans.c (gnu_incoming_exc_ptr): New variable.
2357 (gigi): Set reraise_zcx_decl.
2358 (Exception_Handler_to_gnu_zcx): Save and restore gnu_incoming_exc_ptr.
2359 (gnat_to_gnu): Handle N_Raise_Statement.
2360
7134062a
AC
23612011-08-29 Robert Dewar <dewar@adacore.com>
2362
2363 * sem_ch6.adb, exp_ch3.adb, s-stposu.adb, a-undesu.ads,
2364 a-undesu.adb: Minor reformatting.
2365
23662011-08-29 Ed Schonberg <schonberg@adacore.com>
2367
2368 * exp_disp.adb (Check_Premature_Freezing): When building a dispatch
2369 table, accept an unfrozen untagged component if it is an actual for a
2370 formal incomplete type.
2371 * a-convec.ads, a-convec.adb: Instantiate Ada.Iterator_Interfaces to
2372 provide new iterator forms over vectors.
2373 Introduce type Iterator in package body to implement operations of
2374 Reversible_Iterator interface.
2375 * a-iteint.ads: Make package pure so it is usable with new container
2376 packages, that are categorized Remote_Types.
2377
ca5af305
AC
23782011-08-29 Robert Dewar <dewar@adacore.com>
2379
2380 * a-exexpr-gcc.adb, a-synbar.adb, sem_ch13.adb: Minor reformatting.
2381
23822011-08-29 Bob Duff <duff@adacore.com>
2383
2384 * sem_aggr.adb (Resolve_Aggr_Expr): Call this routine even in the case
2385 of <>, because this is the routine that checks for dimensionality
2386 errors (for example, for a two-dimensional array, (others => <>) should
2387 be (others => (others => <>)).
2388
23892011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2390
2391 * impunit.adb: Add new run-time units.
2392 * freeze.adb, exp_ch7.ads, exp_ch7.adb, exp_util.ads, exp_util.adb,
2393 s-stposu.ads, s-stposu.adb: Code clean up.
2394 Handle protected class-wide or task class-wide types
2395 Handle C/C++/CIL/Java types.
2396 * s-spsufi.adb, s-spsufi.ads: New files.
2397
5accd7b6
AC
23982011-08-29 Yannick Moy <moy@adacore.com>
2399
2400 * sem_ch13.adb (Analyze_Aspect_Specifications): Reject test-case on
2401 library-level subprogram.
2402 * sem_prag.adb (Check_Test_Case): Stricter rules for test-case
2403 placement.
2404 (Analyze_Pragma): Change name "Normal" for "Nominal" in test-case
2405 component.
2406 * snames.ads-tmpl: Change name "Normal" for "Nominal" in test-case
2407 component.
2408 * gnat_rm.texi: Update doc for Test_Case pragma.
2409
24102011-08-29 Tristan Gingold <gingold@adacore.com>
2411
2412 * a-exexpr-gcc.adb (Unwind_Exception): Remove default value, made it
2413 convention C.
2414 (GCC_Exception_Access): New type.
2415 (Unwind_DeleteException): New imported procedure
2416 (Foreign_Exception): Import it.
2417 (GNAT_GCC_Exception): Simply have the occurrence inside.
2418 (To_GCC_Exception): New function.
2419 (To_GNAT_GCC_Exception): New function.
2420 (GNAT_GCC_Exception_Cleanup): New procedure..
2421 (Propagate_GCC_Exception): New procedure.
2422 (Reraise_GCC_Exception): New procedure.
2423 (Setup_Current_Excep): New procedure.
2424 (CleanupUnwind_Handler): Change type of UW_Exception parameter.
2425 (Unwind_RaiseException): Ditto.
2426 (Unwind_ForcedUnwind): Ditto.
2427 (Remove): Removed.
2428 (Begin_Handler): Change type of parameter.
2429 (End_Handler): Ditto. Now delete the exception if still present.
2430 (Setup_Key): Removed.
2431 (Is_Setup_And_Not_Propagated): Removed.
2432 (Set_Setup_And_Not_Propagated): Ditto.
2433 (Clear_Setup_And_Not_Propagated): Ditto.
2434 (Save_Occurrence_And_Private): Ditto.
2435 (EID_For): Add 'not null' constraint on parameter.
2436 (Setup_Exception): Does nothing.
2437 (Propagate_Exception): Simplified.
2438 * exp_ch11.adb (Expand_N_Raise_Statement): In back-end exception model,
2439 re-raise is not expanded anymore.
2440 * s-except.ads (Foreign_Exception): New exception - placeholder for
2441 non Ada exceptions.
2442 * raise-gcc.c (__gnat_setup_current_excep): Declare
2443 (CXX_EXCEPTION_CLASS): Define (not yet used)
2444 (GNAT_EXCEPTION_CLASS): Define.
2445 (is_handled_by): Handle foreign exceptions.
2446 (PERSONALITY_FUNCTION): Call __gnat_setup_current_excep.
2447
24482011-08-29 Jose Ruiz <ruiz@adacore.com>
2449
2450 * a-synbar.adb (Synchronous_Barrier): Some additional clarification.
2451
2ef48385
AC
24522011-08-29 Thomas Quinot <quinot@adacore.com>
2453
2454 * a-synbar-posix.adb: Minor reformatting.
2455
24562011-08-29 Jose Ruiz <ruiz@adacore.com>
2457
2458 * a-exetim-posix.adb, a-exetim-mingw.adb, a-exetim-mingw.ads,
2459 a-exetim-default.ads (Interrupt_Clocks_Supported,
2460 Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
2461 definitions to be compliant with AI-0171. The target systems do not
2462 support separate account for the execution time of interrupt handlers.
2463
24642011-08-29 Jose Ruiz <ruiz@adacore.com>
2465
2466 * a-synbar.adb (Wait): Change the order of evaluation of the conditions
2467 in the barrier to put first the easiest to evaluate (and the one which
2468 will be True more often). More efficient.
2469
24702011-08-29 Eric Botcazou <ebotcazou@adacore.com>
2471
2472 * s-atocou-x86.adb: Fix constraint in machine code insertion.
2473
24742011-08-29 Bob Duff <duff@adacore.com>
2475
2476 * aspects.ads, aspects.adb: Add new aspects for various pragmas and
2477 attributes that are now aspects, as specified by AI05-0229-1.
2478 * sem_ch13.adb (Analyze_Aspect_Specifications,
2479 Check_Aspect_At_Freeze_Point): Analyze the new aspects. Turn them into
2480 pragmas or attribute references, as appropriate.
2481
0db16b1e
AC
24822011-08-29 Robert Dewar <dewar@adacore.com>
2483
2484 * a-synbar.ads, a-synbar.adb, a-synbar-posix.adb,
2485 a-synbar-posix.ads: Minor reformatting.
2486
24872011-08-29 Yannick Moy <moy@adacore.com>
2488
2489 * snames.ads-tmpl: Add name Force.
2490
978ffe02
AC
24912011-08-29 Pascal Obry <obry@adacore.com>
2492
2493 * prj-nmsc.adb: Minor reformatting.
2494
24952011-08-29 Jose Ruiz <ruiz@adacore.com>
2496
2497 * a-exetim.ads (Interrupt_Clocks_Supported,
2498 Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
2499 definitions to be compliant with AI-0171.
2500
25012011-08-29 Robert Dewar <dewar@adacore.com>
2502
2503 * a-ngelfu.adb: Add comments.
2504
718f39dc
AC
25052011-08-29 Geert Bosch <bosch@adacore.com>
2506
2507 * a-ngelfu.adb (Tan): Do not raise Constraint_Error if the argument is
2508 the closest machine number to Pi / 2.0.
2509
25102011-08-29 Jose Ruiz <ruiz@adacore.com>
2511
2512 * impunit.adb (Non_Imp_File_Names_12): Add a-synbar for new Ada 2012
2513 package Ada.Synchronous_Barriers.
2514 * a-synbar.ads, a-synbar.adb, a-synbar-posix.ads, a-synbar-posix.adb:
2515 Add new specs and bodies for Ada.Synchronous_Barriers. There is a
2516 default implementation using protected objects and another one
2517 a-synbar-posix using POSIX barriers as the underlying support.
2518 * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for Linux (x86,
2519 x86_64, ia64) and MIPS IRIX): Use the a-synbar-posix implementation of
2520 Ada.Synchronous_Barriers which uses POSIX barriers (more efficient).
2521 Clean up dependencies.
2522 * Makefile.rtl (GNATRTL_TASKING_OBJS): Add a-synbar.o
2523
ee2e3f6b
AC
25242011-08-29 Robert Dewar <dewar@adacore.com>
2525
2526 * sem_ch7.adb, make.adb, sem_res.adb, exp_intr.adb,
2527 exp_dist.adb: Minor code reorganization.
2528 Minor reformatting.
2529
25302011-08-29 Thomas Quinot <quinot@adacore.com>
2531
2532 * sem_cat.adb (Validate_RACW_Primitive): The return type of an RACW
2533 primitive operation must support external streaming if it is not a
2534 controlling access result.
2535
646e2823
AC
25362011-08-29 Thomas Quinot <quinot@adacore.com>
2537
2538 * sinfo.ads, sem_ch7.adb: Minor reformatting.
2539
25402011-08-29 Bob Duff <duff@adacore.com>
2541
2542 * sem_ch4.adb (Analyze_Allocator): Check No_Nested_Finalization
2543 restriction on allocators, as required by AI05-0013-1.
2544 * restrict.ads: Minor comment fix.
2545
5d59eef2
AC
25462011-08-29 Tristan Gingold <gingold@adacore.com>
2547
2548 * a-exexpr.adb, a-except-2005.ads (Jmpbuf_Address): Move to a-exexpr.adb
2549 (To_Jmpbuf_Address): Ditto
2550 (builtin_longjmp): Ditto
2551
25522011-08-29 Thomas Quinot <quinot@adacore.com>
2553
2554 * sem_res.adb: Minor reformatting.
2555
25562011-08-29 Vincent Celier <celier@adacore.com>
2557
2558 * make.adb (Gnatmake): Move special processing for VM targets after the
2559 call to Get_Target_Parameters.
2560
25612011-08-29 Thomas Quinot <quinot@adacore.com>
2562
2563 * sem_ch12.adb, par-ch12.adb: Minor reformatting.
2564
949a18cc
AC
25652011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2566
2567 * sem_res.adb (Resolve_Allocator): Implement Ada2012-B052. Detect cases
2568 where an anonymous access discriminant of a limited designated type
2569 appears in a non-immutably limited discriminated type and issue an
2570 error message. Add local variable Desig_T and replace all occurrences
2571 of Designated_Type.
2572
25732011-08-29 Jose Ruiz <ruiz@adacore.com>
2574
2575 * a-rttiev.adb (Set_Handler): Update comment to indicate that our
2576 implementation is compliant to RM D.15(15/2) after the modification
2577 imposed by AI05-0094-1 (binding interpretation).
2578
cb25faf8
AC
25792011-08-29 Robert Dewar <dewar@adacore.com>
2580
2581 * exp_ch9.adb, s-tasren.adb, exp_sel.adb, exp_sel.ads, exp_ch11.adb,
2582 s-interr-hwint.adb, s-tpobop.adb, sem_ch13.adb: Minor reformatting.
2583
25842011-08-29 Thomas Quinot <quinot@adacore.com>
2585
2586 * par-endh.adb (Check_End): For an END where it is mandatory to repeat
2587 the scope name, do not report a missing label as a style violation (it
2588 will be diagnosed as an illegality).
2589 * exp_dist.adb (Add_Params_For_Variant_Components): Fix handling of
2590 variant records: Get_Enum_Lit_From_Pos already returns a usage
2591 occurrence of the literal, no need to use New_Occurrence_Of. Set Etype
2592 on Expr in Integer_Literal case so that it can be used by
2593 Build_To_Any_Call.
2594
1d10f669
AC
25952011-08-29 Tristan Gingold <gingold@adacore.com>
2596
2597 * exp_sel.ads (Build_Abort_BLock_Handler): New function spec.
2598 Adjust comment.
2599 * exp_sel.adb (Build_Abort_Block): Use Build_Abort_Block_Handler.
2600 (Build_Abort_Block_Handler): New function to build an Abort_Signal
2601 exception handler.
2602 * exp_ch9.adb (Expand_N_Asynchronous_Select): Call
2603 Build_Abort_Block_Handler to build the exception handler. Do not
2604 undefer aborts for the Abort_Signal exception handler if back-end
2605 exception mechanism.
2606 * exp_ch11.adb (Expand_Exception_Handlers): Do not undefer aborts if
2607 back_end exceptions for all others and abort_signal.
2608 * s-except.ads (ZCX_By_Default): New constant.
2609 * a-except-2005.adb (Raise_Exception): Do not defer abort if ZCX.
2610 (Raise_Exception_Always): Ditto.
2611 (Raise_From_Signal_Handler): Ditto.
2612 (Raise_With_Location_And_Msg): Ditto.
2613 (Raise_With_Msg): Ditto.
2614 (Reraise): Ditto.
2615 (Reraise_Occurence): Ditto.
2616 (Reraise_Occurrence_Always): Ditto.
2617 * s-tasren.adb (Exceptional_Complete_Rendezvous): Defer aborts if ZCX.
2618 * s-tpobop.adb: (Exceptional_Complete_Body): Undefer abort if ZCX.
1d10f669
AC
2619
26202011-08-29 Thomas Quinot <quinot@adacore.com>
2621
2622 * sem_util.ads (Get_Enum_Lit_From_Pos): Clarify documentation.
2623
d986066d
AC
26242011-08-29 Robert Dewar <dewar@adacore.com>
2625
2626 * snames.adb-tmpl, sem_ch13.adb: Minor reformatting
2627 Minor code reorganization.
2628
26292011-08-29 Bob Duff <duff@adacore.com>
2630
2631 * usage.adb (-gnatwy): Fix documentation: this switch applies to Ada
2632 2012, not just Ada 2005.
2633
26342011-08-29 Vincent Celier <celier@adacore.com>
2635
2636 * gnat_ugn.texi: Indicate that when the compiler is called by gnatmake
2637 with a project file or with gprbuid, if -gnatep= is specified, the
2638 builder may need to be invoked with -x.
2639
26402011-08-29 Tristan Gingold <gingold@adacore.com>
2641
2642 * a-exexpr-gcc.adb: Minor comment fix.
2643
ff4f0ed0
AC
26442011-08-29 Robert Dewar <dewar@adacore.com>
2645
2646 * sem_ch8.adb: Minor reformatting.
2647
26482011-08-29 Bob Duff <duff@adacore.com>
2649
2650 * par-ch2.adb (P_Identifier): Warn that "some" is reserved in Ada 2012.
2651 * par-ch4.adb (P_Quantified_Expression): Remove unnecessary code for
2652 treating "some" as unreserved in earlier Ada versions. This is now
2653 handled in Snames.Is_Keyword_Name. Parse "for some" using Tok_Some,
2654 rather than Name_Some, since Tok_Some is now recognized as reserved.
2655 * scans.adb (Initialize_Ada_Keywords): Handle Tok_Some like any other
2656 reserved word.
2657 * scans.ads: Minor comment fixes.
2658 * snames.adb-tmpl (Is_Keyword_Name): Handle Ada 2012 reserved words as
2659 for other language versions.
2660 * scn.adb (Scan_Reserved_Identifier): Remove unnecessary code for
2661 treating "some" as unreserved in earlier Ada versions. This is now
2662 handled in Snames.Is_Keyword_Name.
2663 * par-ch3.adb (P_Defining_Identifier): Warn that "some" is reserved in
2664 Ada 2012.
2665 (P_Subtype_Mark_Resync): Remove unnecessary code for treating "some" as
2666 unreserved in earlier Ada versions. This is now handled in
2667 Snames.Is_Keyword_Name.
2668 * snames.ads-tmpl (Ada_2012_Reserved_Words): Handle Ada 2012 reserved
2669 words as for other language versions.
2670 * gnat_ugn.texi (-gnatwy): Fix documentation: this switch applies to
2671 Ada 2012, not just Ada 2005.
2672
d941cee6
AC
26732011-08-29 Ed Schonberg <schonberg@adacore.com>
2674
2675 * sem_ch13.adb: Additional semantic checks for aspects involved in
2676 iterators.
2677
26782011-08-29 Matthew Heaney <heaney@adacore.com>
2679
2680 * a-comutr.ads, a-comutr.adb, a-cimutr.ads, a-cimutr.adb,
2681 a-cbmutr.ads, a-cbmutr.adb (Find_In_Subtree): Remove superfluous
2682 Container parameter.
2683 (Ancestor_Find): ditto.
2684
b970af39
TQ
26852011-08-29 Thomas Quinot <quinot@adacore.com>
2686
2687 * par-endh.adb: Minor reformatting.
d941cee6 2688
92db5dee
AC
26892011-08-29 Tristan Gingold <gingold@adacore.com>
2690
2691 * a-exexpr-gcc.adb (Unwind_Action) Rewrite as an integer with constants.
2692 (GNAT_GCC_Exception): Remove N_Cleanups_To_Trigger component.
2693 (Adjust_N_CLeanups_For): Remove.
2694 (CleanupUnwind_Handler): Call Unhandled_Exception_Terminate when end of
2695 stack is reached.
2696 (Propgate_Exception): Adjust.
2697 * raise-gcc.c: Add a few static/const.
2698 (Adjust_N_Cleanups_For): Remove declaration.
2699 (PERSONALITY_FUNCTION): Remove code dealing with N_Cleanups_To_Trigger.
2700
27012011-08-29 Ed Schonberg <schonberg@adacore.com>
2702
2703 * sem_ch8.adb: Use type of function return when rewriting as object
2704 declaration.
2705
1378bf10
AC
27062011-08-29 Gary Dismukes <dismukes@adacore.com>
2707
2708 * sem_type.adb: Minor reformatting.
2709
27102011-08-29 Robert Dewar <dewar@adacore.com>
2711
2712 * makeutl.adb: Minor reformatting.
2713
27142011-08-29 Ed Schonberg <schonberg@adacore.com>
2715
2716 * sem_ch8.adb (Analyze_Object_Renaming): If the renamed object is a
2717 function call of a limited type, the expansion of the renaming is
2718 complicated by the presence of various temporaries and subtypes that
2719 capture constraints of the renamed object.
2720 Rewrite node as an object declaration, whose expansion is simpler.
2721 Given that the object is limited there is no copy involved and no
2722 performance hit.
2723
164e06c6
AC
27242011-08-29 Robert Dewar <dewar@adacore.com>
2725
2726 * exp_ch5.adb, sinfo.ads, make.adb, s-pooglo.adb, sem_ch12.adb,
2727 freeze.adb, sem_ch6.adb, par-ch12.adb: Minor reformatting.
2728
27292011-08-29 Tristan Gingold <gingold@adacore.com>
2730
2731 * system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads,
2732 system-tru64.ads, system-irix-n32.ads, system-vxworks-arm.ads,
2733 system-linux-hppa.ads, system-linux-s390.ads,
2734 system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads,
2735 system-vms_64.ads, system-vxworks-sparcv9.ads, system-linux-ppc.ads,
2736 system-aix64.ads, system-lynxos-ppc.ads, system-linux-sh4.ads,
2737 system-solaris-x86.ads, system-linux-x86_64.ads, system-linux-x86.ads,
2738 system-vxworks-ppc.ads, system-hpux.ads, system-darwin-ppc.ads,
2739 system-solaris-sparc.ads, system-lynxos-x86.ads,
2740 system-vxworks-m68k.ads, system-hpux-ia64.ads, system-irix-o32.ads,
2741 system-solaris-x86_64.ads, system-mingw-x86_64.ads,
2742 system-vxworks-mips.ads, system-linux-sparc.ads, system-vms-ia64.ads,
2743 system-freebsd-x86.ads, system-aix.ads, system-darwin-x86_64.ads,
7d266442 2744 system-vxworks-x86.ads: Remove GCC_ZCX_Support.
164e06c6
AC
2745 * s-taprop-posix.adb, s-taprop-irix.adb, s-taprop-vxworks.adb,
2746 s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb: Ditto.
2747 * opt.ads: Adjust comment.
2748 * targparm.ads, targparm.adb: Remove GCC_ZCX_Support_On_Target.
2749 * gnat1drv.adb: Do not check for GCC_ZCX_Support_On_Target.
2750 * system.ads: Move GCC_ZCX_Support to obsolete entries.
2751
27522011-08-29 Emmanuel Briot <briot@adacore.com>
2753
2754 * makeutl.adb (Do_Complete): Resolve symbolic links when a relative
2755 file name is specified on the gnatmake or gprbuild command line, and
2756 before we search for that file in the project.
2757
27582011-08-29 Ed Schonberg <schonberg@adacore.com>
2759
2760 * sem_type.adb (Within_Instance): New predicate in Collect_Interps,
2761 used to determine whether a possible interpretation for an overloadable
2762 entity is declared within the current instantiation and should be
2763 included in the candidate set.
2764
27652011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
2766
2767 * gnat_rm.texi, gnat_ugn.texi: Clean ups.
2768
97216ca8
ES
27692011-08-29 Ed Schonberg <schonberg@adacore.com>
2770
2771 * sem_res.adb (Resolve_Actuals): Use base type to determine whether an
2772 access subtype is access_to_subprogram, when applying checks for
2773 RM 3.10.2 (27).
2774
d3cb4cc0
AC
27752011-08-29 Matthew Heaney <heaney@adacore.com>
2776
2777 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Splice_Subtree): Only check
2778 for sibling when common parent.
2779
27802011-08-29 Thomas Quinot <quinot@adacore.com>
2781
2782 * get_scos.adb: Literals of Pragma_Id are pragma names prefixed with
2783 "pragma_".
2784
27852011-08-29 Ed Schonberg <schonberg@adacore.com>
2786
2787 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Enable freeze actions
2788 for the return type when in ASIS mode.
2789
27902011-08-29 Vincent Celier <celier@adacore.com>
2791
2792 * make.adb (Gnatmake): Get the default search dirs, then the target
2793 parameters after getting the Builder switches, as the Builder switches
2794 may include --RTS= and that could change the default search dirs.
2795
27962011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2797
2798 * exp_ch7.adb (Make_Adjust_Call): Rewrite to mimic the structure of
2799 Make_Final_Call. Move the processing for class-wide types before the
2800 processing for derivations from [Limited_]Controlled.
2801 (Make_Final_Call): Move the processing for class-wide types before the
2802 processing for derivations from [Limited_]Controlled.
2803 * s-stposu.adb (Allocate_Any_Controlled): Correct the membership check.
2804 Add code to account for alignments larger than the list header. Add a
2805 comment illustrating the structure of the allocated object + padding +
2806 header.
2807 (Deallocate_Any_Controlled): Add code to account for alignments larger
2808 than the list header.
2809
28102011-08-29 Ed Schonberg <schonberg@adacore.com>
2811
2812 * sinfo.ads, sinfo.adb: New node kind
2813 N_Formal_Incomplete_Type_Definition, related flags.
2814 par-ch12.adb (P_Formal_Type_Declaration, G_Formal_Type_Definition):
2815 Parse formal incomplete types.
2816 * sem.adb (Analyze): Formal_Incomplete_Type_Definitions are handled in
2817 sem_ch12.
2818 * sem_ch7.adb (Analyze_Package_Specification, Unit_Requires_Body):
2819 Formal incomplete types do not need completion.
2820 * sem_ch12.adb (Analyze_Formal_Incomplete_Type,
2821 Validate_Incomplete_Type_Instance): New procedures to handle formal
2822 incomplete types.
2823 * freeze.adb (Freeze_Entity): Do not freeze the subtype of an actual
2824 that corresponds to a formal incomplete type.
2825 * sprint.adb: Handle formal incomplete type declarations.
2826 * exp_util.adb (Insert_Actions): An incomplete_type_definition is not
2827 an insertion point.
2828
d3f70b35
AC
28292011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2830
2831 * a-fihema.ads, a-fihema.adb: Unit removed.
2832 * a-undesu.ads, a-undesu.adb: New unit implementing
2833 Ada.Unchecked_Deallocate_Subpool.
2834 * einfo.adb: Remove Associated_Collection from the node usage.
2835 Add Finalization_Master to the node usage.
2836 (Associated_Collection): Removed.
2837 (Finalization_Master): New routine.
2838 (Set_Associated_Collection): Removed.
2839 (Set_Finalization_Master): New routine.
2840 (Write_Field23_Name): Remove Associated_Collection from the output. Add
2841 Finalization_Master to the output.
2842 * einfo.ads: Remove attribute Associated_Collection and its uses in
2843 entities.
2844 Add new attribute Finalization_Master along with its uses in entitites.
2845 (Associated_Collection): Removed along with its pragma import.
2846 (Finalization_Master): New routine along with a pragma import.
2847 (Set_Associated_Collection): Removed along with its pragma import.
2848 (Set_Finalization_Master): New routine along with a pragma import.
2849 * exp_ch3.adb (Expand_Freeze_Array_Type): Replace call to
2850 Build_Finalization_Collection with Build_Finalization_Master.
2851 (Expand_Freeze_Record_Type): Move the generation of Finalize_Address
2852 before the bodies of the predefined routines. Add comment explaining
2853 this. Replace call to Build_Finalization_Collection with
2854 Build_Finalization_Master.
2855 (Freeze_Type): Replace call to Build_Finalization_Collection with
2856 Build_Finalization_Master.
2857 (Make_Finalize_Address_Body): Comment reformatting.
2858 (Make_Predefined_Primitive_Specs): Code reformatting.
2859 (Stream_Operation_OK): Update comment mentioning finalization
2860 collections. Replace RE_Finalization_Collection with
2861 RE_Finalization_Master.
2862 * exp_ch4.adb (Complete_Controlled_Allocation): Replace call to
2863 Associated_Collection with Finalization_Master. Replace call to
2864 Build_Finalization_Collection with Build_Finalization_Master.
2865 (Expand_Allocator_Expression): Replace call to Associated_Collection
2866 with Finalization_Master. Replace call to Set_Associated_Collection with
2867 Set_Finalization_Master. Remove the generation of
2868 Set_Finalize_Address_Ptr.
2869 (Expand_N_Allocator): Replace call to Associated_Collection with
2870 Finalization_Master. Remove the generation of Set_Finalize_Address_Ptr.
2871 * exp_ch6.adb (Add_Collection_Actual_To_Build_In_Place_Call): Renamed to
2872 Add_Finalization_Master_Actual_To_Build_In_Place_Call. Update the
2873 comment on usage. Replace call to Needs_BIP_Collection with
2874 Needs_BIP_Finalization_Master Remplace BIP_Collection with
2875 BIP_Finalization_Master. Update all comments which mention finalization
2876 collections. Replace Associated_Collection with
2877 Finalization_Master. Replace Build_Finalization_Collection with
2878 Build_Finalization_Master.
2879 (BIP_Formal_Suffix): Update BIP_Collection's case.
2880 (Build_Heap_Allocator): Update the related comment. Rename local
2881 variable Collect to Fin_Mas_Id and update its occurrences. Update
2882 comments which mention finalization collections. Replace
2883 Set_Associated_Collection with Set_Finalization_Master.
2884 (Expand_Call): Update the code which detects a special piece of library
2885 code for .NET/JVM.
2886 (Make_Build_In_Place_Call_In_Allocator): Replace the call to
2887 Add_Collection_Actual_To_Build_In_Place_Call with
2888 Add_Finalization_Master_Actual_To_Build_In_Place_Call. Remove the code
2889 which generates a call to Make_Set_Finalize_Address_Ptr_Call.
2890 (Make_Build_In_Place_Call_In_Anonymous_Context): Replace call to
2891 Add_Collection_Actual_To_Build_In_Place_Call with
2892 Add_Finalization_Master_Actual_To_Build_In_Place_Call.
2893 (Make_Build_In_Place_Call_In_Assignment): Replace call to
2894 Add_Collection_Actual_To_Build_In_Place_Call with
2895 Add_Finalization_Master_Actual_To_Build_In_Place_Call.
2896 (Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
2897 * exp_ch6.ads: Rename BIP_Collection to BIP_Finalization_Master.
2898 (Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
2899 * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Update comment on usage.
2900 Rename local variable Collect to Fin_Mas_Id and update its occurrences.
2901 Replace call to Set_Associated_Collection with Set_Finalization_Master.
2902 (Build_Finalization_Collection): Renamed to Build_Finalization_Master.
2903 Replace the call to Associated_Collection with Finalization_Master.
2904 Rename local variable Coll_Id to Fin_Mas_Id and update its occurrences.
2905 Update the way finalization master names are generated. Update the
2906 retrieval of the correct access type which will carry the pool and
2907 master attributes.
2908 (Make_Final_Call): Reimplement the way [Deep_]Finalize is retrieved.
2909 (Make_Finalize_Address_Body): Abstract types do not need
2910 Finalize_Address. Code reformatting.
2911 (Make_Finalize_Address_Stmts): Update comment on usage.
2912 (Make_Set_Finalize_Address_Ptr_Call): Removed.
2913 (Process_Declarations): Update comments.
2914 * exp_ch7.ads (Build_Finalization_Collection): Renamed to
2915 Build_Finalization_Master. Update associated comment.
2916 (Make_Set_Finalize_Address_Ptr_Call): Removed.
2917 * exp_ch13.adb: Update comments which mention finalization collections.
2918 (Expand_N_Free_Statement): Replace the call to Associated_Collection
2919 with Finalization_Master.
2920 * exp_util.adb (Build_Allocate_Deallocate_Proc): Reimplemented to
2921 create calls to routines Allocate_Any_Controlled and
2922 Deallocate_Any_Controlled.
2923 (Find_Finalize_Address): New routine.
2924 (Is_Allocate_Deallocate_Proc): Update the RTE entities used in the
2925 comparison.
2926 (Requires_Cleanup_Actions): Update the comment on freeze node
2927 inspection.
2928 * exp_util.ads: Remove comment on generated code for
2929 Build_Allocate_Deallocate_Proc. The code is now quite complex and it
2930 is better to simply look in the body.
2931 * freeze.adb (Freeze_All): Update the comment of finalization
2932 collections. Replace the call to Associated_Collection with
2933 Finalization_Master. Replace the call to Build_Finalization_Collection
2934 with Build_Finalization_Master.
2935 * impunit.adb: Add a-undesu and s-stposu to the list of units.
2936 * Makefile.rtl: Add files a-undesu, s-finmas and s-stposu. Remove file
2937 a-fihema.
2938 * rtsfind.adb (Get_Unit_Name): Remove the processing for children of
2939 Ada.Finalization. Add processing for children of System.Storage_Pools.
2940 * rtsfind.ads: Remove the naming of second level children of
2941 Ada.Finalization.
2942 Remove Ada_Finalization_Heap_Management from the list of units.
2943 Remove subtype Ada_Finalization_Child.
2944 Remove the following subprogram entities:
2945
2946 RE_Allocate
2947 RE_Deallocate
2948 RE_Finalization_Collection
2949 RE_Finalization_Collection_Ptr
2950 RE_Set_Finalize_Address_Ptr
2951
2952 Add the naming of second level children of System.Storage_Pools.
2953 Add System_Finalization_Masters and System_Storage_Pools_Subpools to
2954 the list of units.
2955 Add subtype System_Storage_Pools_Child.
2956 Add the following subprogram entities to System.Finalization_Masters:
2957
2958 RE_Finalization_Master
2959 RE_Finalization_Master_Ptr
2960
2961 Add the following subprogram entities to System.Storage_Pools.Subpools:
2962
2963 RE_Allocate_Any_Controlled
2964 RE_Deallocate_Any_Controlled
2965 RE_Root_Storage_Pool_With_Subpools
2966 RE_Root_Subpool
2967 RE_Subpool_Handle
2968
2969 Move the following subprogram entities from
2970 Ada.Finalization.Heap_Management to System.Finalization_Masters:
2971
2972 RE_Add_Offset_To_Address
2973 RE_Attach
2974 RE_Base_Pool
2975 RE_Detach
2976
2977 * sem_ch3.adb (Access_Type_Declaration): Replace the call to
2978 Set_Associated_Collection with Set_Finalization_Master.
2979 * sem_ch6.adb (Create_Extra_Formals): Update the way extra formal
2980 BIP_Finalization_Master is created.
2981 * s-finmas.adb: New unit System.Finalization_Masters.
2982 * s-finmas.ads: New unit System.Finalization_Masters.
2983 * s-stopoo.ads, s-stopoo.adb: Minor code reformatting.
2984 * s-stposu.ads, s-stposu.adb: New unit implementing
2985 System.Storage_Pools.Subpools.
2986
29872011-08-29 Bob Duff <duff@adacore.com>
2988
2989 * tbuild.adb: Add assertion.
2990
8c889ae4
AC
29912011-08-29 Thomas Quinot <quinot@adacore.com>
2992
2993 * s-pooglo.adb: Minor reformatting.
2994
29952011-08-29 Ed Schonberg <schonberg@adacore.com>
2996
2997 * exp_ch5.adb (Expand_N_Assignment_Statement): if the left-hand side is
2998 an indexed component of a packed array whose element type is a record
2999 with a representation clause different from that of the right-hand
3000 side, generate a temporary to minimuze the number of bit-field
3001 operations generated.
3002
30032011-08-29 Ed Schonberg <schonberg@adacore.com>
3004
3005 * exp_util.adb (Insert_Actions): Use clauses can be part of lists of
3006 declarations, and thus are likely insertion points for actions.
3007
30082011-08-29 Bob Duff <duff@adacore.com>
3009
3010 * einfo.ads: Minor comment fix.
3011
1a07a71a
AC
30122011-08-29 Robert Dewar <dewar@adacore.com>
3013
3014 * frontend.adb, gnat1drv.adb: Minor reformatting.
3015
30162011-08-29 Tristan Gingold <gingold@adacore.com>
3017
3018 * s-pooglo.adb (Allocate, Deallocate): Take into account the alignment.
3019 * a-fihema.adb (Allocate, Deallocate): Ditto. Possibly add padding
3020 space in front of the header.
3021
4bcd6411
JK
30222011-08-29 Johannes Kanig <kanig@adacore.com>
3023
3024 * frontend.adb (Frontend): Exit after creating Standard package when
3025 -gnatd.H is present.
3026 * gnat1drv.adb (Gnat1drv): Call Backend right away when -gnatd.H is
3027 present.
3028
f0f88eb6
RD
30292011-08-29 Robert Dewar <dewar@adacore.com>
3030
3031 * exp_ch9.adb, mlib-prj.adb, prj.adb, prj.ads, ttypes.ads, sem_ch4.adb,
3032 makeutl.adb, makeutl.ads, atree.ads, snames.adb-tmpl,
3033 snames.ads-tmpl: Minor reformatting.
3034
3e37be71
PG
30352011-08-29 Philippe Gil <gil@adacore.com>
3036
3037 * prj.adb (Reset_Units_In_Table): New procedure.
3038 Reset units to avoid access to freed memory.
3039
94fb7608
AC
30402011-08-29 Thomas Quinot <quinot@adacore.com>
3041
3042 * get_scos.adb: When reading a P statement SCO without a pragma name
3043 (from an older ALI file), ensure that the Pragma_Name component is set
3044 to Unknown_Pragma (not left uninitialized).
3045
30462011-08-29 Vincent Celier <celier@adacore.com>
3047
3048 * makeutl.adb (Get_Directories): New procedure moved from Buildgpr and
3049 modified to compute correctly the object path of a SAL project that is
3050 extending another library project.
3051 (Write_Path_File): New procedure.
3052 * makeutl.ads (Directories): New table moved from Buildgpr
3053 (Get_Directories): New procedure moved from Buildgpr
3054 (Write_Path_File): New procedure
3055 * mlib-prj.adb (Build_Library): Use Makeutl.Get_Directories to set the
3056 paths before binding SALs, instead of Set_Ada_Paths.
3057 * prj-env.adb (Set_Path_File_Var): Procedure has been moved to package
3058 Prj.
3059 * prj.adb (Set_Path_File_Var): New procedure moved from Prj.Env
3060 (Current_Source_Path_File_Of): New function
3061 (Set_Current_Object_Path_File_Of): New procedure
3062 (Current_Source_Object_File_Of): New function
3063 (Set_Current_Object_Path_File_Of): New procedure
3064 * prj.ads (Set_Path_File_Var): New procedure moved from Prj.Env
3065 (Current_Source_Path_File_Of): New function
3066 (Set_Current_Object_Path_File_Of): New procedure
3067 (Current_Source_Object_File_Of): New function
3068 (Set_Current_Object_Path_File_Of): New procedure
3069
30702011-08-29 Ed Schonberg <schonberg@adacore.com>
3071
3072 * exp_ch5.adb (Expand_N_Assignment_Statement): For an assignment to a
3073 packed entity, use a bit-field assignment only if there is no change of
3074 representation.
3075
c5ecd6b7
AC
30762011-08-29 Thomas Quinot <quinot@adacore.com>
3077
3078 * rtsfind.ads, exp_ch3.adb (In_Runtime): Minor code improvement, use
3079 Is_RTU instead of using Chars comparisons.
3080
30812011-08-29 Thomas Quinot <quinot@adacore.com>
3082
3083 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do not create a
3084 temporary object if the actual is constrained, and the discriminants
3085 read from the stream don't match.
3086
30872011-08-29 Tristan Gingold <gingold@adacore.com>
3088
3089 * sem_attr.adb, exp_attr.adb: Add handling of
3090 Attribute_System_Allocator_Alignment
3091 * snames.ads-tmpl: Add Name_System_Allocator_Alignment and
3092 Attribute_System_Allocator_Alignment.
3093 * ttypes.ads, get_targ.ads: Add Get_System_Allocator_Alignment.
3094 * gcc-interface/targtyps.c, gcc-interface/utils2.c,
3095 gcc-interface/gigi.h: Renames get_target_default_allocator_alignment to
3096 get_target_system_allocator_alignment.
3097
30982011-08-29 Arnaud Charlet <charlet@adacore.com>
3099
3100 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
3101 dependencies.
3102
8abdac29
AC
31032011-08-29 Arnaud Charlet <charlet@adacore.com>
3104
3105 * exp_ch3.adb (In_Runtime): Fix typo.
3106
df170605
AC
31072011-08-29 Bob Duff <duff@adacore.com>
3108
3109 * sem_ch4.adb (Analyze_Allocator): Analyze the subpool specification.
3110
31112011-08-29 Ed Schonberg <schonberg@adacore.com>
3112
3113 * exp_ch3.adb (Expand_N_Object_Declaration): If the entity is tagged
3114 and a separate tag assignment is generated, ensure that the tag
3115 assignment is analyzed.
3116
864a4236
ES
31172011-08-29 Ed Schonberg <schonberg@adacore.com>
3118
3119 * atree.ads, atree.adb (Copy_Separate_List): New function that applies
3120 Copy_Separate_Tree to a list of nodes. Used to create disjoint copies
3121 of statement lists that may contain local declarations.
df170605
AC
3122 * exp_ch9.adb (Expand_N_Timed_Entry_Call): Use Copy_Separate_List to
3123 duplicate the triggering statements needed for the expansion of this
3124 construct, when the trigger is a dispatching call to a synchronized
3125 primitive.
864a4236 3126
7f394c1d
AC
31272011-08-29 Arnaud Charlet <charlet@adacore.com>
3128
3129 * gnat_rm.texi: Add doc for 'Elab_Subp_Body.
3130 * bindgen.adb: Add comments.
3131 * snames.adb-tmpl (Is_Attribute_Name): Only recognize 'Elab_Subp_Body
3132 in CodePeer mode.
3133
2c1a2cf3
RD
31342011-08-29 Robert Dewar <dewar@adacore.com>
3135
3136 * exp_attr.adb: Minor reformatting.
3137 Minor code reorganization and commenting.
3138 * par_sco.adb, checks.adb, sem_attr.adb, get_scos.adb: Minor
3139 reformatting.
3140
0bfc9a64
AC
31412011-08-29 Thomas Quinot <quinot@adacore.com>
3142
3143 * get_scos.adb: Ignore chaining indicators not currently supported
3144 by Ada.
3145
31462011-08-29 Arnaud Charlet <charlet@adacore.com>
3147
3148 * system.ads: Minor editing.
3149
31502011-08-29 Arnaud Charlet <charlet@adacore.com>
3151
3152 * bindgen.adb (Gen_Elab_Calls): Generate calls to subp'Elab_Subp_Body in
3153 CodePeer mode.
3154 * sem_attr.ads, sem_attr.adb, exp_Attr.adb, sem_ch6.adb: Add handling of
3155 Attribute_Elab_Subp_Body.
3156 * snames.ads-tmpl (Attribute_Elab_Subp_Body, Name_Elab_Subp_Body): New.
3157 * sem_util.adb: Update comments.
3158
828d4cf0
TQ
31592011-08-29 Thomas Quinot <quinot@adacore.com>
3160
3161 * par_sco.adb, scos.adb, scos.ads, put_scos.adb, get_scos.adb: Record
3162 pragma name for each SCO statement corresponding to a pragma.
3163
5cd7bb15
AC
31642011-08-29 Arnaud Charlet <charlet@adacore.com>
3165
3166 * opt.ads: Minor editing.
3167
31682011-08-29 Yannick Moy <moy@adacore.com>
3169
3170 * gnat1drv.adb (Adjust_Global_Switches): Remove options for ALFA mode
3171 that only made sense for CodePeer mode.
3172
31732011-08-29 Jose Ruiz <ruiz@adacore.com>
3174
3175 * targparm.ads (Support_64_Bit_Divides_On_Target): Remove this flag
3176 which is no longer used.
3177 * targparm.adb (S64, S64_Str, Get_Target_Parameters): Remove the
3178 handling of the 64-bit division check.
3179 * exp_ch4.adb (Expand_N_Op_Divide): Remove the check for 64-bit
3180 division available.
3181 * system*.ads (Support_64_Bit_Divides): Remove this flag which is no
3182 longer used.
3183
31842011-08-29 Thomas Quinot <quinot@adacore.com>
3185
3186 * get_scos.adb: Minor reformatting.
3187
25b589cb
AC
31882011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3189
3190 * exp_util.adb (Process_Statements_For_Controlled_Objects): Whenever a
3191 statement list is wrapped in a block, the block is explicitly analyzed
3192 in order to properly redecorate the entities and create a servicing
3193 finalizer.
3194
31952011-08-29 Tristan Gingold <gingold@adacore.com>
3196
3197 * sinfo.ads, sinfo.adb (Zero_Cost_Handling): Remove.
3198 (Set_Zero_Cost_Handling): Remove.
3199
32002011-08-29 Thomas Quinot <quinot@adacore.com>
3201
3202 * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting
3203
1197ddb1
AC
32042011-08-29 Geert Bosch <bosch@adacore.com>
3205
3206 * s-vaflop-vms-alpha.adb (Neg_F): Use subtraction instead of negation
3207 instruction, as the latter may produce -0.0, which is not a valid VAX
3208 F float number.
3209 (Neg_G): Likewise for VAX F float.
3210
32112011-08-29 Robert Dewar <dewar@adacore.com>
3212
3213 * exp_util.adb: Minor reformatting.
3214
32152011-08-29 Yannick Moy <moy@adacore.com>
3216
3217 * sem_ch3.adb: Minor comment update.
3218
32192011-08-29 Thomas Quinot <quinot@adacore.com>
3220
3221 * checks.adb (Apply_Type_Conversion_Checks): Use the Underlying_Type of
3222 the operand type.
3223
32242011-08-29 Thomas Quinot <quinot@adacore.com>
3225
3226 * par_sco.adb (Traverse_Declarations_Or_Statements): Do not flush
3227 current statement sequence on a generic instantiation or a subprogram
3228 declaration.
3229
8f66cda7
AC
32302011-08-29 Robert Dewar <dewar@adacore.com>
3231
3232 * sem_type.adb, einfo.ads, freeze.adb, exp_ch4.adb, sem_ch13.adb:
3233 Minor reformatting.
3234
32352011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3236
3237 * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
3238 Correct the check which involves the freeze node of a controlled or
3239 access-to-controlled type.
3240
32412011-08-29 Geert Bosch <bosch@adacore.com>
3242
3243 * sem_warn.adb (Check_Code_Statement): Remove check for consecutive Asm
3244 statements.
3245 * s-vaflop-vms-alpha.adb: Remove bogus Volatile => True arguments from
3246 Asm statements.
3247
cf161d66
AC
32482011-08-29 Yannick Moy <moy@adacore.com>
3249
3250 * sem_ch3.adb (Array_Type_Declaration): Insert a subtype declaration
3251 for every index type and component type that is not a subtype_mark.
3252 (Process_Subtype): Set Etype of subtype.
3253
32542011-08-29 Robert Dewar <dewar@adacore.com>
3255
3256 * a-cbmutr.adb, a-cimutr.adb, a-comutr.adb, prj-nmsc.adb: Minor code
3257 reorganization. Minor reformatting.
3258
7cc83cd8
AC
32592011-08-29 Steve Baird <baird@adacore.com>
3260
3261 * exp_ch4.adb (Expand_N_Op_Expon): Suppress N_Op_Expon node expansion
3262 for CodePeer and ALFA modes.
3263
32642011-08-29 Ed Schonberg <schonberg@adacore.com>
3265
3266 * sem_type.adb (Collect_Interps): Within an instance, collect a homonym
3267 that comes from an enclosing scope if it is not the renaming of an
3268 actual, to handle properly a spurious ambiguity in an instance.
3269
76af4137
AC
32702011-08-29 Eric Botcazou <ebotcazou@adacore.com>
3271
3272 * sem_ch13.adb (Alignment_Check_For_Esize_Change): Rename to...
3273 (Alignment_Check_For_Size_Change): ...this. Add SIZE parameter and
3274 use it instead of the Esize of the first parameter.
3275 (Analyze_Attribute_Definition_Clause) <Object_Size>: Adjust call to
3276 above change.
3277 <Size>: Likewise. Call it for composite types on the RM size.
3278
32792011-08-29 Yannick Moy <moy@adacore.com>
3280
3281 * exp_ch4.adb (Expand_N_Op_Not): Do not expand not on array.
3282 * sem_util.adb (Unique_Name): Correct behaviour for names of
3283 compilation units.
3284
9b20e59b
AC
32852011-08-29 Yannick Moy <moy@adacore.com>
3286
3287 * sem_prag.adb (Check_Precondition_Postcondition): In formal
3288 verification mode, analyze pragma expression for correctness, for
3289 pre/post on library-level subprogram, as it is not expanded later.
3290
32912011-08-29 Yannick Moy <moy@adacore.com>
3292
3293 * exp_aggr.adb (Expand_Array_Aggregate): Do not expand array aggregates
3294 in formal verification.
3295
32962011-08-29 Thomas Quinot <quinot@adacore.com>
3297
3298 * sem_util.adb: Minor reformatting.
3299 * freeze.adb, sem_ch13.adb: Fix comment: Bit_Order is an attribute,
3300 there's no pragma.
3301 * par_sco.ads, par_sco.adb: Update comments.
3302
33032011-08-29 Yannick Moy <moy@adacore.com>
3304
3305 * einfo.adb, einfo.ads: Remove flag Is_Postcondition_Proc and
3306 associated getter/setter.
3307 * sem_ch6.adb: Remove reference to Is_Postcondition_Proc.
3308
33092011-08-29 Vincent Celier <celier@adacore.com>
3310
3311 * prj-attr.adb: New Compiler attribute Dependency_Kind and Language_Kind
3312 * prj-conf.adb: Add_Default_GNAT_Naming_Scheme: Add a package Compiler
3313 with declarations for Language_Kind and Dependency_Kind for Ada.
3314 * prj-nmsc.adb (Check_Unit_Name): New name of procedure Check_Ada_Name
3315 (Process_Compiler): Take into account the new attributes Dependency_Kind
3316 and Language_Kind.
3317 (Check_Configuration): Check if language kind is unit based, not if the
3318 language name is Ada.
3319 (Process_Exceptions_Unit_Based): Ditto
3320 (Add_Language): Remove default additions of language and dependency kind
3321 * prj.ads: Minor comment change
3322 * snames.ads-tmpl: New standard names Dependency_Kind and Language_Kind
3323
33242011-08-29 Johannes Kanig <kanig@adacore.com>
3325
3326 * debug.adb: Update comments.
3327
c5bc3df6
JM
33282011-08-24 Joseph Myers <joseph@codesourcery.com>
3329
3330 * gcc-interface/Make-lang.in (CFLAGS-ada/tracebak.o)
3331 (CFLAGS-ada/targext.o, CFLAGS-ada/cio.o, CFLAGS-ada/init.o)
3332 (CFLAGS-ada/initialize.o, CFLAGS-ada/raise.o): New.
3333 (ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o)
3334 (ada/initialize.o, ada/raise.o): Remove explicit compilation rules.
3335
e3aa9eba
RO
33362011-08-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3337
3338 * gcc-interface/Makefile.in (PICFLAG_FOR_TARGET): New.
3339 (GNATLIBCFLAGS_FOR_C): Replace
3340 TARGET_LIBGCC2_CFLAGS by PICFLAG_FOR_TARGET.
3341 (gnatlib-shared-default, gnatlib-shared-dual-win32)
3342 (gnatlib-shared-win32, gnatlib-shared-darwin, gnatlib-shared)
3343 (gnatlib-sjlj, gnatlib-zcx): Likewise.
3344
f446d60e
EB
33452011-08-07 Eric Botcazou <ebotcazou@adacore.com>
3346
3347 * gcc-interface/Makefile.in (raise-gcc.o): Fix previous change.
3348
588c8f48
EB
3349 * gcc-interface/gigi.h (enumerate_modes): Fix formatting.
3350
3351 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Revert latest change.
3352
28d711bf
NR
33532011-08-05 Nicolas Roche <roche@adacore.com>
3354
3355 * gcc-interface/Makefile.in: Don't use directly ../xgcc to build shared
3356 libgnat. Use rather the value of GCC_FOR_TARGET. Fix issue with
3357 canadian cross.
3358 * gcc-interface/Make-lang.in: Add support for canadian cross setting.
3359
993f8920
AC
33602011-08-05 Matthew Heaney <heaney@adacore.com>
3361
3362 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Child_Count, Child_Depth):
3363 subprogram bodies declared out-of-order.
3364
33652011-08-05 Yannick Moy <moy@adacore.com>
3366
3367 * sem_util.adb (Unique_Name): only prefix with "standard" the names of
3368 entities directly in package Standard, otherwise skip the standard
3369 prefix.
3370
9b3956dd
RD
33712011-08-05 Robert Dewar <dewar@adacore.com>
3372
3373 * a-cbmutr.adb: Minor reformatting
3374 (Allocate_Node): refactor node allocation algorithm
3375
33762011-08-05 Robert Dewar <dewar@adacore.com>
3377
3378 * opt.ads, opt.adb (Debug_Pragmas_Disabled): New switch.
3379 * sem_prag.adb (Analyze_Pragma, case Debug_Policy): Implement Disable
3380 mode.
3381 (Analyze_Pragma, case Check_Policy): Ditto.
3382 * sem_prag.ads (Check_Disabled): New function
3383 * snames.ads-tmpl: Add Name_Disable.
3384
33852011-08-05 Robert Dewar <dewar@adacore.com>
3386
3387 * gnat_rm.texi: Document implementation-defined policy DISABLE for
3388 pragmas Assertion_Policy, Check_Policy, Debug_Policy.
3389
79e705d6
AC
33902011-08-05 Ed Schonberg <schonberg@adacore.com>
3391
3392 * sem_prag.adb (Analyze_Pragma, case Inline): reject an Inline pragma
3393 that appears in a generic formal part and applies to a formal
3394 subprogram.
3395
33962011-08-05 Robert Dewar <dewar@adacore.com>
3397
3398 * a-cbmutr.ads: Minor reformatting.
3399
23b6deca
AC
34002011-08-05 Matthew Heaney <heaney@adacore.com>
3401
3402 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Read): do not use T'Valid
3403 to check count, check sign of value instead.
3404 * a-comutr.adb, a-cimutr.adb (Write): return immediately if tree empty
3405 (Copy_Subtree): allocate copy of source element
3406 (Equal_Subtree): compare elements, not access objects
3407
34082011-08-05 Vincent Celier <celier@adacore.com>
3409
3410 * gnat_ugn.texi: Fix VMS alternative.
3411
a2773bd3
AC
34122011-08-05 Thomas Quinot <quinot@adacore.com>
3413
3414 * sem_ch11.adb: Add comment.
3415
34162011-08-05 Robert Dewar <dewar@adacore.com>
3417
3418 * exp_util.adb: Minor comment fix.
3419
34202011-08-05 Robert Dewar <dewar@adacore.com>
3421
3422 * scng.adb (Error_Unterminated_String): Improve flag position when
3423 comma present.
3424
34252011-08-05 Matthew Heaney <heaney@adacore.com>
3426
3427 * Makefile.rtl, impunit.adb: Added a-cbmutr.ad[sb] (bounded multiway
3428 tree containers).
3429 * a-cbmutr.ads, a-cbmutr.adb: This is the new Ada 2012 unit for bounded
3430 multiway tree containers.
3431
34322011-08-05 Robert Dewar <dewar@adacore.com>
3433
3434 * styleg.adb (Check_Comment): Implement comment spacing of 1 or 2
3435 * stylesw.adb: Implement -gnatyC to control comment spacing
3436 * stylesw.ads (Style_Check_Comments_Spacing): New switch (set by
3437 -gnatyc/C).
3438 * usage.adb: Add line for -gnatyC.
3439
34402011-08-05 Robert Dewar <dewar@adacore.com>
3441
f446d60e 3442 * gnat_ugn.texi: Document -gnatyC.
a2773bd3
AC
3443 * vms_data.ads: Implement COMMENTS1/COMMENTS2 (retaining COMMENTS as a
3444 synonym for COMMENTS2).
3445
dedac3eb
RD
34462011-08-05 Robert Dewar <dewar@adacore.com>
3447
3448 * par_sco.adb, sem_ch3.adb, scos.ads, a-iteint.ads, sem_ch12.adb,
3449 a-cimutr.adb, a-cimutr.ads, sem_util.ads, sem_res.adb, a-fihema.adb,
3450 sem_ch4.adb, lib-xref-alfa.adb, exp_disp.adb, a-comutr.adb,
3451 a-comutr.ads, lib-xref.adb: Minor reformatting.
3452
34532011-08-05 Robert Dewar <dewar@adacore.com>
3454
3455 * sem_ch11.adb (Analyze_Raise_Statement): Kill assignment to formal
3456 warning if there is an exception handler present.
3457
7c62a85a
AC
34582011-08-05 Pascal Obry <obry@adacore.com>
3459
3460 * a-iteint.ads: Fix copyright year.
3461
34622011-08-05 Thomas Quinot <quinot@adacore.com>
3463
3464 * par_sco.adb (Traverse_Declarations_Or_Statements): Do not generate a
3465 statement SCO for a USE clause or a representation clause.
3466
34672011-08-05 Yannick Moy <moy@adacore.com>
3468
3469 * lib-xref-alfa.adb (Collect_ALFA): generate the proper relation
3470 between body and spec for stub.
3471 (Detect_And_Add_ALFA_Scope): take into account subprogram stub
3472 * lib-xref.adb (Enclosing_Subprogram_Or_Package): in the case of a
3473 pragma precondition or postcondition, for which the enclosing
3474 subprogram or package in the AST is not the desired one, return empty.
3475
e49208a9
AC
34762011-08-05 Thomas Quinot <quinot@adacore.com>
3477
3478 * g-expect.adb: Minor reformatting.
3479
34802011-08-05 Bob Duff <duff@adacore.com>
3481
3482 * a-fihema.adb: Comment out OS_Lib.
3483
34842011-08-05 Matthew Heaney <heaney@adacore.com>
3485
3486 * Makefile.rtl, impunit.adb: Added a-c[oi]mutr.ad[sb]
3487 (unbounded multiway tree containers) and a-iteint.ads.
3488 * a-comutr.ads, a-comutr.adb:
3489 This is the new Ada 2012 unit for unbounded multiway tree containers
3490 * a-cimutr.ads, a-cimutr.adb
3491 This is the new Ada 2012 unit for indefinite multiway tree containers
3492 * a-iteint.ads: New file.
3493
201cdb74
RO
34942011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3495
f446d60e 3496 * gcc-interface/Makefile.in (raise-gcc.o): Search $(srcdir)/../libgcc.
201cdb74 3497
d50f4827
AC
34982011-08-05 Bob Duff <duff@adacore.com>
3499
3500 * sinfo.ads, sinfo.adb (Subpool_Handle_Name): New attribute for
3501 subpools.
3502 * par-ch4.adb (P_Allocator): Parse new subpool specification syntax.
3503
35042011-08-05 Ed Schonberg <schonberg@adacore.com>
3505
3506 * sem_ch4.adb (Try_Container_Indexing): New procedure to implement the
3507 general indexing aspects of Ada2012. Called when analyzing indexed
3508 components when other interpretations fail.
3509 * sem_ch8.adb (Find_Direct_Name): check for implicit dereference only
3510 in an expression context where overloading is meaningful. This excludes
3511 the occurrence in an aspect specification (efficiency only).
3512 * sem_attr.adb (Analyze_Attribute): indicate that the attributes
3513 related to iterators can be set by an attribute specification, but
3514 cannot be queried.
3515 * sem_ch13.adb (Analyze_Aspect_Specifications): handle
3516 Constant_Indexing and Variable_Indexing.
3517 (Check_Indexing_Functions): New procedure to perform legality checks.
3518 Additional semantic checks at end of declarations.
3519
efe05dfc
AC
35202011-08-05 Sergey Rybin <rybin@adacore.com>
3521
3522 * tree_io.ads: Update ASIS_Version_Number because of the change of the
3523 order of calling Tree_Write/Tree_Read routines made for aspects.
3524
35252011-08-05 Bob Duff <duff@adacore.com>
3526
3527 * a-fihema.adb (Finalize): Fix race condition.
3528
5f9cdefe
AC
35292011-08-05 Yannick Moy <moy@adacore.com>
3530
3531 * sem_ch12.adb (Analyze_Package_Instantiation,
3532 Need_Subprogram_Instance_Body): do not generate instance bodies in ALFA
3533 mode.
3534
35352011-08-05 Ed Schonberg <schonberg@adacore.com>
3536
3537 * sem_type.adb (Specific_Type): in an instance, the type-specific
3538 operand of an equality check that involves null may have a private
3539 type. Use full view to determine legality of construct.
3540
822868aa
AC
35412011-08-05 Vincent Celier <celier@adacore.com>
3542
3543 * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
3544 delete or close the file when the call to gnatmake was successful.
3545
35462011-08-05 Yannick Moy <moy@adacore.com>
3547
3548 * gnat1drv.adb (Adjust_Global_Switches): in ALFA mode, set
3549 Global_Discard_Names.
3550
35512011-08-05 Ed Schonberg <schonberg@adacore.com>
3552
3553 * sinfo.ads: comments on use of entity field for aspect specifications.
3554
35552011-08-05 Ed Schonberg <schonberg@adacore.com>
3556
3557 * sem_ch12.adb (Reset_Entity): If the entity field of the associated
3558 node is not itself an entity but a selected component, it is a
3559 rewritten parameterless call to an en enclosing synchronized operation,
3560 and this expansion will be performed again in the instance, so there is
3561 no global information to preserve.
3562
44a10091
AC
35632011-08-05 Javier Miranda <miranda@adacore.com>
3564
3565 * exp_disp.adb (Set_All_DT_Position): Cleanup code and improve support
3566 for renamings of predefined primitives.
3567 (In_Predef_Prims_DT): New subprogram.
3568
35692011-08-05 Ed Schonberg <schonberg@adacore.com>
3570
3571 * sem_util.adb, sem_util.ads (Check_Implicit_Dereference): If a
3572 possible interpretation of name is a reference type, add an
3573 interpretation that is the designated type of the reference
3574 discriminant of that type.
3575 * sem_res.adb (resolve): If the interpretation imposed by context is an
3576 implicit dereference, rewrite the node as the deference of the
3577 reference discriminant.
3578 * sem_ch3.adb (Analyze_Subtype_Declaration, Build_Derived_Record_Type,
3579 Build_Discriminated_Subtype): Inherit Has_Implicit_Dereference from
3580 parent type or base type.
3581 * sem_ch4.adb (Process_Indexed_Component,
3582 Process_Overloaded_Indexed_Component, Indicate_Name_And_Type,
3583 Analyze_Overloaded_Selected_Component, Analyze_Selected_Component):
3584 Check for implicit dereference.
3585 (List_Operand_Interps): Indicate when an implicit dereference is
3586 ambiguous.
3587 * sem_ch8.adb (Find_Direct_Name): Check for implicit dereference.
3588
35892011-08-05 Thomas Quinot <quinot@adacore.com>
3590
3591 * scos.ads: Update documentation of SCO table. Pragma statements can now
3592 be marked as disabled (using 'p' instead of 'P' as the statement kind).
3593 * par_sco.ads, par_sco.adb: Implement the above change.
3594 (Process_Decisions_Defer): Generate a P decision for the first parameter
3595 of a dyadic pragma Debug.
3596 * sem_prag.adb (Analyze_Pragma, case Debug): Mark pragma as enabled if
3597 necessary.
3598 * put_scos.adb: Code simplification based on above change.
3599
bb3c784c
AC
36002011-08-05 Robert Dewar <dewar@adacore.com>
3601
3602 * sem_ch3.adb, gnatcmd.adb, switch-c.adb, exp_attr.adb, make.adb,
3603 bindgen.adb, einfo.adb, sem_ch12.adb, sem_attr.adb, a-fihema.adb,
3604 a-fihema.ads, sem_elab.adb, sem_elab.ads, aspects.adb, opt.ads,
3605 prj-conf.adb, sem_ch13.adb, s-ficobl.ads: Minor reformatting
3606
36072011-08-05 Bob Duff <duff@adacore.com>
3608
3609 * a-stunau.ads, g-spipat.adb: Update comments.
3610
36f686f9
BD
36112011-08-05 Bob Duff <duff@adacore.com>
3612
3613 * a-fihema.ads: Minor comment fix.
3614 * a-fihema.adb (Allocate, Deallocate): Assert that the alignment is
3615 correct.
3616 (Attach, Detach): Remove some unnecessary code.
3617 (Finalize): Remove Node_Ptr_To_Address, replace with a constant.
3618
7882673f
BD
36192011-08-05 Bob Duff <duff@adacore.com>
3620
3621 * a-fihema.ads, a-fihema.adb (Finalization_Collection): Avoid heap
3622 allocation for Objects component. This simplifies the code somewhat. It
3623 is also a little more efficient in the not-so-unusual case where there
3624 are no controlled objects allocated.
3625 Make Finalization_Started flag atomic.
3626 (Finalize): Avoid unnecessary detachment of items from the list.
3627 (pcol): Minor cleanup.
3628
d34cd274
AC
36292011-08-05 Ed Schonberg <schonberg@adacore.com>
3630
3631 * sem_ch12.adb (Analyze_Formal_Package_Declaration): reject a formal
3632 package whose name is the same as that of the generic unit, or its
3633 ultimate prefix.
3634
36352011-08-05 Bob Duff <duff@adacore.com>
3636
3637 * a-fihema.adb, a-fihema.ads: Minor comment improvements.
3638 * sem_ch3.adb, exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb:
3639 Minor comment fixes.
3640
00332244
AC
36412011-08-05 Arnaud Charlet <charlet@adacore.com>
3642
3643 * make.adb (Linking_Phase): No longer need to set source search path
3644 before calling gnatlink in CodePeer mode.
3645 * gnatlink.adb (Gnatlink): No longer pass -gnat83/95/05/12 switch to
3646 gcc in CodePeer mode, since the binder generated file no longer has a
3647 'with Main'.
3648 * switch.ads, switch.adb (Is_Language_Switch): Removed.
3649 * switch-c.adb: Update comment.
3650
36512011-08-05 Thomas Quinot <quinot@adacore.com>
3652
3653 * exp_strm.adb, bindgen.adb, s-ficobl.ads: Minor reformatting.
3654
36552011-08-05 Nicolas Roche <roche@adacore.com>
3656
3657 * gnat_ugn.texi: Fix minor syntax error issue.
3658
36592011-08-05 Vincent Celier <celier@adacore.com>
3660
3661 * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
3662 delete or close the file when the call to gnatmake returns a non
3663 successful return code.
3664
36652011-08-05 Ed Schonberg <schonberg@adacore.com>
3666
3667 * exp_ch4.adb (Expand_N_Type_Conversion): When expanding a predicate
3668 check, indicate that the copy of the original node does not come from
3669 source, to prevent an infinite recursion of the expansion.
3670
36712011-08-05 Johannes Kanig <kanig@adacore.com>
3672
3673 * debug.adb: document switch -gnatd.G for gnat2why, which deactivates
3674 VC generation for subprogram bodies.
3675
36762011-08-05 Yannick Moy <moy@adacore.com>
3677
3678 * einfo.ads: Typo.
3679 * sem_ch3.adb (Signed_Integer_Type_Declaration): in ALFA mode, define
3680 the base type with the smallest allowed base type.
3681
36822011-08-05 Sergey Rybin <rybin@adacore.com>
3683
3684 * tree_gen.adb, tree_in.adb, aspects.adb: Fix tree read-write for
3685 aspects.
3686
36872011-08-05 Ed Schonberg <schonberg@adacore.com>
3688
3689 * sem_ch12.ads: minor comment updates.
3690
36912011-08-05 Ed Schonberg <schonberg@adacore.com>
3692
3693 * sem_ch12.adb (Analyze_Formal_Package_Declaration): in an
3694 instantiation and a formal package the compiler generates a package
3695 renaming declaration so that the generic name within the declaration
3696 is interpreted as a renaming of the instance. At the end of a formal
3697 package declaration, this renaming must become invisible.
3698
0da80d7d
AC
36992011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
3700
3701 * exp_ch7.adb (Is_Init_Call): Reimplemented to avoid character
3702 comparison and rely on concrete entities instead.
3703
37042011-08-05 Ed Schonberg <schonberg@adacore.com>
3705
3706 * einfo.ads, einfo.adb (Has_Implicit_Dereference): new flag on types
3707 and discriminants, to indicate that the type has an access discriminant
3708 that supports implicit dereference.
3709 * snames.ads-tmpl: Add names of aspects and attributes related to
3710 Ada2012 iterators: constant_indexing, default_iterator,
3711 iterator_element, implicit_dereference, variable_indexing.
3712 * aspects.ads, aspects.adb: entries for iterator-related aspects.
3713 * sem_ch13.adb (Analyze_aspect_specifications): dummy entries for
3714 iterator-related aspects.
3715 * sem_attr.adb, exp_attr.adb Dummy entries for iterator-related aspects.
3716
37172011-08-05 Sergey Rybin <rybin@adacore.com>
3718
3719 * gnat_ugn.texi, vms_data.ads: Extend the subsection about coupling
3720 metrics in gnatmetric to cover new kinds of coupling mentrics.
3721
37222011-08-05 Steve Baird <baird@adacore.com>
3723
3724 * bindgen.adb (Gen_CodePeer_Wrapper): Call Ada_Main_Program instead
2c7f9cc0 3725 of calling the user-defined main subprogram.
0da80d7d
AC
3726 (Gen_Main): Declare Ada_Main_Program and (if CodePeer_Mode
3727 is set) Call_Main_Subprogram ahead of, as opposed to
3728 inside of, Main.
3729 (Gen_Output_File_Ada): Remove CodePeer_Mode-conditional
3730 generation of a "with" of the user-defined main subprogram.
3731 Remove CodePeer_Mode-conditional call to Gen_CodePeer_Wrapper
3732 (which is now called from Gen_Main instead).
3733
73242473
AC
37342011-08-05 Emmanuel Briot <briot@adacore.com>
3735
3736 * projects.texi: Added reference to the Makefile package.
3737
37382011-08-05 Thomas Quinot <quinot@adacore.com>
3739
3740 * exp_ch7.adb: Minor comment rewording.
3741
37422011-08-05 Ed Falis <falis@adacore.com>
3743
3744 * env.c: Fix comment.
3745
37462011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
3747
3748 * sem_elab.adb (Is_Finalization_Procedure): Reimplemented to avoid
3749 character comparison and rely on concrete entities instead.
3750
97ed5872
AC
37512011-08-05 Ed Schonberg <schonberg@adacore.com>
3752
3753 * sem_ch3.adb: (Check_Private_Overriding): better error message,
3754 suggested by AI95-0068.
3755
37562011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
3757
3758 * exp_ch7.adb (Find_Last_Init): Use Next_Suitable_Statement to retrieve
3759 the two potential initialization calls. This accounts for any
3760 access-before-elaboration checks which may precede the initialization
3761 calls.
3762 (Next_Suitable_Statement): New routine. Returns the next real statement
3763 after the input node while skipping generated checks.
3764 * sem_elab.adb (Check_A_Call): New formal parameter In_Init_Proc along
3765 with comment on usage.
3766 Do not generate Elaborate_All when the trigger is a finalization call
3767 coming from a type init proc.
3768 (Check_Elab_Call): Propagate the initialization procedure context to
3769 subsequent calls to Check_A_Call.
3770 (Check_Internal_Call_Continue): Propagate the initialization procedure
3771 context to subsequent calls to Check_Elab_Call.
3772 (Is_Finalization_Procedure): New routine. Returns True if the input
3773 entity denotes a [Deep_]Finalize routine.
3774 * sem_elab.ads (Check_Elab_Call): New formal parameter In_Init_Proc
3775 along with comment on usage.
3776
37772011-08-05 Vadim Godunko <godunko@adacore.com>
3778
3779 * s-atocou.ads: Add list of supported platforms.
3780
37812011-08-05 Yannick Moy <moy@adacore.com>
3782
3783 * sem_prag.adb, restrict.adb: Correct style for or'ing Boolean variables
3784
3785 * opt.ads (Disable_ALI_File): new Boolean flag
3786 * lib-writ.adb (Write_ALI): when Disable_ALI_File is set, do nothing
3787
37882011-08-05 Ed Falis <falis@adacore.com>
3789
3790 * env.c (__gnat_environ): Fix includes for RTPs and VTHREADS so that
3791 environ is properly defined.
3792
37932011-08-05 Vincent Celier <celier@adacore.com>
3794
3795 * make.adb (Compilation_Phase): Exit immediately when all objects have
3796 been found up to date, to avoid multiple exit messages.
3797 * prj-nmsc.adb (Add_Source): Allow duplicate source file names in the
3798 same project for languages with no compiler.
3799 * gnat_ugn.texi: Document compiler switch -gnateI and gnatmake switch
3800 -eI.
9aff36e9
RD
38012011-08-05 Robert Dewar <dewar@adacore.com>
3802
3803 * exp_ch7.ads, sem_type.adb, make.adb, sem_prag.adb, sem_util.adb,
3804 sem_util.ads, sem_attr.adb, restrict.ads, sem_ch6.adb, prj-conf.adb,
3805 prj-conf.ads, s-atocou.ads, s-atocou.adb, s-atocou-x86.adb,
3806 s-atocou-builtin.adb: Minor reformatting.
3807
406935b6
AC
38082011-08-05 Yannick Moy <moy@adacore.com>
3809
3810 * exp_ch7.adb (Establish_Transient_Scope): in formal verification mode,
3811 if the node to wrap is a pragma check, this node and enclosed
3812 expression are not expanded, so do not apply any transformations here.
3813 * exp_prag.adb (Expand_Pragma_Check): document the need to avoid
3814 introducing transient scopes.
3815
38162011-08-05 Jose Ruiz <ruiz@adacore.com>
3817
3818 * adaint.c (__gnat_set_writable, __gnat_set_readable,
3819 __gnat_set_executable, __gnat_set_non_writable, __gnat_set_non_readable,
3820 __gnat_copy_attribs): On VxWorks 6.x and later, the required chmod
3821 routine is available, so we use the default implementation of these
3822 functions.
3823 * s-os_lib.ads (Copy_File, Copy_Time_Stamps): Document that there is
3824 support for copying attributes on VxWorks 6.
3825
38262011-08-05 Yannick Moy <moy@adacore.com>
3827
3828 * debug.adb: Remove use of -gnatd.D.
3829 * gnat1drv.adb (Adjust_Global_Switches): adjust switches for ALFA mode
3830 * opt.ads: Simplify variables for ALFA mode, to keep one only
3831 * restrict.adb, sem_prag.adb: Adapt treatment done for CodePeer mode
3832 to ALFA mode.
3833
38342011-08-05 Vincent Celier <celier@adacore.com>
3835
3836 * prj-conf.adb (Do_Autoconf): Look also for --RTS in
3837 Builder'Default_Switches.
3838
38392011-08-05 Vincent Celier <celier@adacore.com>
3840
3841 * makeusg.adb: Add lines for --create-map-file switches.
3842
38432011-08-05 Ed Schonberg <schonberg@adacore.com>
3844
3845 * freeze.adb (Freeze_Entity): For a subprogram, if a type in the
3846 profile is incomplete and the full view is available, replace it with
3847 the full view.
3848 * sem_ch6.adb (Possible_Freeze): if a type in the profile is
3849 incomplete, freezing the subprogram is delayed until the full view is
3850 frozen.
3851 * sem_type.adb (Disambiguate): an ambiguity between a user-defined
3852 fixed-point multiplication operator and the predefined operator is
3853 resolved in favor of the user-defined one.
3854
96c891b3
RO
38552011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3856
3857 * init.c [__alpha__ && __osf__] (__gnat_error_handler): Use
3858 CONST_CAST.
3859
276e7ed0
AC
38602011-08-04 Ed Schonberg <schonberg@adacore.com>
3861
3862 * sem_util.ads, sem_unit.adb (Type_Without_Stream_Operation): determine
3863 whether a type lacks user-defined Read or Write operations, or has a
3864 component that lacks them.
3865 * sem_attr.adb (Check_Stream_Attribute): if restriction
3866 No_Default_Stream_Attributes is active, verify that all subcomponent
3867 types of the target have user-defined stream operations, and report
3868 error otherwise.
3869 * exp_ch3.adb (Stream_Operqtion_OK): use Type_Without_Stream_Operation.
3870 * exp_strm.adb: Build_Elementary_Input_Call,
3871 Build_Elementary_Write_Call): remove checks for restriction
3872 No_Default_Stream_Attributes, now checked in semantics.
3873
38742011-08-04 Vincent Celier <celier@adacore.com>
3875
3876 * prj-conf.ads, prj-conf.adb (Do_Autoconf): If there is no --RTS
3877 switches on the command line, look for all valid --RTS switches in the
3878 Builder switches and for each language use the first runtime name found
3879 to invoke gprconfig.
3880 (Get_Or_Create_Configuration_File): Warn if --RTS is specified on the
3881 command line and there is no auto-configuration.
3882 (Runtime_Name_Set_For): New function.
3883
38842011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
3885
3886 * exp_ch7.adb (Build_Object_Declarations): Do not generate the
3887 elaborate initialization expression for variable Abort when processing
3888 a package body or a declaration.
3889 (Create_Finalizer): Propagate the package context when creating the
3890 exception-related variables.
3891 * exp_ch7.ads (Build_Object_Declarations): New formal parameter
3892 For_Package along with usage comment.
3893
19172ae9
AC
38942011-08-04 Arnaud Charlet <charlet@adacore.com>
3895
3896 * gcc-interface/Makefile.in: Clean up targets.
3897 Enable new package for atomic counters and copy-on-write implementation
3898 of unbounded strings on x86 platforms.
3899 * gcc-interface/Make-lang.in: Update dependencies.
3900
0319cacc
AC
39012011-08-04 Robert Dewar <dewar@adacore.com>
3902
3903 * exp_ch7.adb: Minor reformatting.
3904
39052011-08-04 Robert Dewar <dewar@adacore.com>
3906
3907 * exp_strm.adb: Minor reformatting.
3908
39092011-08-04 Vadim Godunko <godunko@adacore.com>
3910
3911 * s-atocou.adb: Replace by dummy version and use on targets where atomic
3912 operations are not supported.
3913 * s-atocou-builtin.adb: Renamed from s-atocou.adb.
3914 * s-atocou-x86.adb: New file.
3915 * Makefile.rtl: Add s-atocou.o file
3916
39172011-08-04 Arnaud Charlet <charlet@adacore.com>
3918
3919 * make.adb (Compile): Move setting of CodePeer_Mode to ...
3920 (Compilation_Phase): ... here.
3921 (Scan_Make_Arg): Now bind and link by default in CodePeer mode.
3922
39232011-08-04 Thomas Quinot <quinot@adacore.com>
3924
3925 * Make-generated.in: Fix minor typo in comment.
3926
26e7e1a0
AC
39272011-08-04 Thomas Quinot <quinot@adacore.com>
3928
3929 * gnatls.adb: Use Prj.Env.Initialize_Default_Project_Path to retrieve
3930 the project path.
3931
39322011-08-04 Robert Dewar <dewar@adacore.com>
3933
3934 * a-coinho.adb: Minor reformatting.
3935
39362011-08-04 Robert Dewar <dewar@adacore.com>
3937
3938 * a-coinho.ads: Minor reformatting.
3939
39402011-08-04 Vadim Godunko <godunko@adacore.com>
3941
3942 * s-atocou.ads, s-atocou.adb: New files.
3943 * a-strunb-shared.ads, a-strunb-shared.adb, a-stwiun-shared.ads,
3944 a-stwiun-shared.adb, a-stzunb-shared.ads, a-stzunb-shared.adb: Remove
3945 direct use of GCC's atomic builtins and replace them by use of new
3946 atomic counter package.
3947
39482011-08-04 Ed Schonberg <schonberg@adacore.com>
3949
3950 * exp_strm.adb: better error message for No_Default_Stream_Attributes.
3951
39522011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
3953
3954 * a-tags.adb (Unregister_Tag): Replace the complex address arithmetic
3955 with a call to Get_External_Tag.
3956 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on
3957 subprogram usage. Remove the guard against package declarations and
3958 bodies since Build_Cleanup_Statements is no longer invoked in that
3959 context.
3960 (Build_Components): Initialize Tagged_Type_Stmts when the context
3961 contains at least one library-level tagged type.
3962 (Build_Finalizer): New local variables Has_Tagged_Types and
3963 Tagged_Type_Stmts along with associated comments on usage. Update the
3964 logic to include tagged type processing.
3965 (Create_Finalizer): Insert all library-level tagged type unregistration
3966 code before the jump block circuitry.
3967 (Expand_N_Package_Body): Remove the call to Build_Cleanup_Statements.
3968 (Expand_N_Package_Declaration): Remove the call to
3969 Build_Cleanup_Statements.
3970 (Process_Tagged_Type_Declaration): New routine. Generate a call to
3971 unregister the external tag of a tagged type.
3972 (Processing_Actions): Reimplemented to handle tagged types.
3973 (Process_Declarations): Detect the declaration of a library-level
3974 tagged type and carry out the appropriate actions.
3975 (Unregister_Tagged_Types): Removed. The machinery has been directly
3976 merged with Build_Finalizer.
3977
7483c888
AC
39782011-08-04 Robert Dewar <dewar@adacore.com>
3979
3980 * bindgen.ads, gnatlink.adb, sem_ch4.adb, gnatbind.adb, put_alfa.adb,
3981 gnatls.adb, exp_ch3.adb: Minor reformatting.
3982
39832011-08-04 Marc Sango <sango@adacore.com>
3984
3985 * sem_attr.adb (Analyze_Attribute): Replace the message
3986 "invisible attribute of}" of the spark restriction violation in
3987 attribute reference by the simple message "invisible attribute of type".
3988 Indeed, the node value Error_Msg_Node_1 used is in conflit with the
3989 two insertion characters: '&' and '}'.
3990
39912011-08-04 Vadim Godunko <godunko@adacore.com>
3992
3993 * impunit.adb (Non_Imp_File_Names_12): Add "a-coinho".
3994 * a-coinho.ads, a-coinho.adb: New file.
3995 * Makefile.rtl: Add Ada.Containers.Indefinite_Holders.
3996
5207696c
AC
39972011-08-04 Nicolas Roche <roche@adacore.com>
3998
3999 * alfa_test.adb: Not all ali files are containing alfa information even
4000 if compiled with -gnatd.F. So suppress warning about missing ALFA
4001 information.
4002
40032011-08-04 Yannick Moy <moy@adacore.com>
4004
4005 * lib-xref-alfa.adb (Add_ALFA_Scope): use non-empty unique name for
4006 scope.
4007 * put_alfa.adb: Check that scope name is not empty.
4008
40092011-08-04 Ed Schonberg <schonberg@adacore.com>
4010
4011 * exp_ch3.adb (Stream_Operation_Ok): new predicate
4012 Needs_Elementary_Stream_Operation, to determine whether user-defined
4013 Read and Write attributes are available for the elementary components
4014 of the given type. If only the predefined attributes are available,
4015 then when restriction No_Default_Stream_Attributes is active the
4016 predefined stream attributes for the composite type cannot be created.
4017
40182011-08-04 Robert Dewar <dewar@adacore.com>
4019
4020 * bindgen.adb: Fix obsolete comments and names from Ada/C days.
4021 Put routines in alpha order
4022
2bd2d858
JR
40232011-08-04 Jose Ruiz <ruiz@adacore.com>
4024
4025 * gcc-interface/Makefile.in: Remove xenomai specific versions of system.
4026 * gcc-interface/Make-lang.in: Update dependencies.
4027
8fae6016
AC
40282011-08-04 Arnaud Charlet <charlet@adacore.com>
4029
4030 * gcc-interface/lang.opt: Add AdaWhy language, simimlar to Ada.
4031 * gcc-interface/lang-specs.h: Add handling of AdaWhy specs (calls
4032 gnat1why).
4033
a54d0eb4
AC
40342011-08-04 Robert Dewar <dewar@adacore.com>
4035
4036 * sem_ch3.adb, make.adb, a-cohata.ads, sem_prag.adb, makeutl.adb,
4037 lib-xref-alfa.adb: Minor reformatting.
4038
40392011-08-04 Marc Sango <sango@adacore.com>
4040
4041 * sem_ch12.adb (Analyze_Generic_Package_Declaration,
4042 Analyze_Generic_Subprogram_Declaration, Analyze_Package_Instantiation,
4043 Analyze_Subprogram_Instantiation): Check absence of generic in SPARK
4044 mode.
4045
40462011-08-04 Tristan Gingold <gingold@adacore.com>
4047
4048 * bindgen.adb (Gen_Adainit_C): Remove.
4049 (Gen_Adafinal_C): Ditto.
4050 (Gen_Elab_Externals_C): Ditto.
4051 (Gen_Elab_Calls_C): Ditto.
4052 (Gen_Elab_Order_C): Ditto.
4053 (Gen_Elab_Defs_C): Ditto.
4054 (Gen_Finalize_Library_C): Ditto.
4055 (Gen_Finalize_Library_Defs_C): Ditto.
4056 (Gen_Main_C): Ditto.
4057 (Gen_Output_File_C): Ditto.
4058 (Gen_Restrictions_C): Ditto.
4059 (Gen_Versions_C): Ditto.
4060 (Write_Info_Ada_C): Ditto.
4061 (Gen_Object_Files_Options): Call WBI instead of Write_Info_Ada_C
4062 (Gen_Output_File): Do not force Ada_Bind_File anymore.
4063 Always call Gen_Output_File_Ada.
4064 * gnatlink.adb (Begin_Info): Now a constant.
4065 (End_Info): Ditto.
4066 (Ada_Bind_File): Remove
4067 (Process_Args): Do not handle -A/-C. Remove not Ada_Bind_File cases.
4068 * switch-b.adb (Scan_Binder_Switches): Do not handle -C.
4069 * gnatbind.adb (Gnatbind): Remove not Ada_Bind_File cases.
4070 * opt.ads (Ada_Bind_File): Remove.
4071
40722011-08-04 Thomas Quinot <quinot@adacore.com>
4073
4074 * projects.texi: Document target-specific directory in default project
4075 path for gnatmake.
4076
40772011-08-04 Thomas Quinot <quinot@adacore.com>
4078
4079 * gnatls.adb, prj-env.adb: Add $prefix/share/gpr to default project
4080 path in all cases .
4081
24558db8
AC
40822011-08-04 Yannick Moy <moy@adacore.com>
4083
4084 * sem_ch3.adb, sem_ch5.adb, sem_util.adb, sem_ch4.adb, sem_ch8.adb,
4085 opt.ads, lib-xref.ads: Code clean up.
4086
40872011-08-04 Yannick Moy <moy@adacore.com>
4088
4089 * gnat_rm.texi: Update description of Test_Case
4090 * gnat_ugn.texi: Typo.
4091
40922011-08-04 Ed Falis <falis@adacore.com>
4093
4094 * adaint.c (__gnat_get_number_of_cpus): fix typo in last checkin.
4095
40962011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4097
4098 * exp_ch4.adb (Suitable_Element): Skip field _parent on .NET/JVM when
4099 it is of type Root_Controlled. This action eliminates fields Prev and
4100 Next from type equality.
4101
41022011-08-04 Yannick Moy <moy@adacore.com>
4103
4104 * lib-xref-alfa.adb: Correct typo.
4105
41062011-08-04 Matthew Heaney <heaney@adacore.com>
4107
4108 * a-cohata.ads (Hash_Table_Type): default-initialize the Nodes
4109 component.
4110
1f9939b5
AC
41112011-08-04 Yannick Moy <moy@adacore.com>
4112
4113 * sem_prag.adb (Check_Arg_Is_String_Literal): remove useless procedure
4114 (Analyze_Pragma): allow static string expression for name of Test_Case,
4115 instead of simply string literals.
4116 * sem_util.adb (Get_Name_From_Test_Case_Pragma): adapt to static string
4117 expressions.
4118
41192011-08-04 Vincent Celier <celier@adacore.com>
4120
4121 * makeutl.adb (Complete_Mains.Find_File_Add_Extension): Use canonical
4122 case suffixes to find truncated main sources.
4123
41242011-08-04 Tristan Gingold <gingold@adacore.com>
4125
4126 * impunit.adb (Non_Imp_File_Names_95): Add g-tastus.
4127 s-stusta.adb (Compute_All_Task): Use Put_Line instead of Put.
4128 (Compute_Current_Task): Ditto.
4129
41302011-08-04 Tristan Gingold <gingold@adacore.com>
4131
4132 * gnat_ugn.texi: Mention GNAT.Task_Stack_Usage.
4133
41342011-08-04 Yannick Moy <moy@adacore.com>
4135
4136 * lib-xref-alfa.adb (Is_Global_Constant): new function that detects
4137 library-level constant.
4138 (Add_ALFA_Xrefs): ignore global constants in ALFA xref.
4139 * sem_res.adb (Resolve_Actuals): do not add cross-reference to Formal
4140 used as selector of parameter association, in ALFA mode.
4141
15d8a51d
AC
41422011-08-04 Robert Dewar <dewar@adacore.com>
4143
4144 * exp_ch5.adb, exp_ch7.adb, exp_util.adb, bindgen.adb, sem_prag.adb,
4145 s-tassta.adb, exp_ch4.adb, exp_disp.adb, s-stausa.adb: Minor
4146 reformatting.
4147
41482011-08-04 Arnaud Charlet <charlet@adacore.com>
4149
4150 * make.adb (Linking_Phase): Set source search path before calling
4151 gnatlink in CodePeer mode.
4152
f46faa08
AC
41532011-08-04 Javier Miranda <miranda@adacore.com>
4154
4155 * exp_ch7.adb (Expand_N_Package_Body, Expand_N_Package_Declaration):
4156 Remove code which takes care of building TSDs.
4157 * rtsfind.ads (RE_Check_Interface_Conversion): New entity.
4158 * exp_ch4.adb (Apply_Accessibility_Check): Add support for generating
4159 the accessibility check in VM targets.
4160 * exp_disp.adb (Make_VM_TSD): Spec moved to exp_disp.ads
4161 (Building_Static_DT): Now returns false for VM targets.
4162 (Build_VM_TSDs): Removed.
4163 (Expand_Interface_Conversion): Generate missing runtime check for
4164 conversions to interface types whose target type is unknown at compile
4165 time.
4166 (Make_VM_TSD): Add missing code to disable the generation of calls to
4167 Check_TSD if the tagged type is not defined at library level, or not
4168 has a representation clause specifying its external tag, or -gnatdQ is
4169 active.
4170 * exp_disp.ads (Build_VM_TSDs): Removed.
4171 (Make_VM_TSDs): Spec relocated from exp_disp.adb
4172 * sem_disp.adb (Check_Dispatching_Operation): No code required to
4173 register primitives in the dispatch tables in VM targets.
4174 * exp_ch3.adb (Expand_N_Object_Declaration): Remove wrong expansion of
4175 initialization of class-wide interface objects in VM targets.
4176 (Expand_Freeze_Record_Type): For VM targets call Make_VM_TSD (instead
4177 of Make_DT).
4178
41792011-08-04 Jerome Lambourg <lambourg@adacore.com>
4180
4181 * gnatlink.adb (Gnatlink): Correct missleading error message displayed
4182 when dotnet-ld cannot be found.
4183
41842011-08-04 Arnaud Charlet <charlet@adacore.com>
4185
4186 * bindgen.adb: Simplify significantly generation of binder body file in
4187 CodePeer mode.
4188 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Prevent assert failure
4189 when compiling binder generated file in CodePeer mode (xxx'Elab_Spec
4190 not expanded).
4191
2ba7e31e
AC
41922011-08-04 Yannick Moy <moy@adacore.com>
4193
4194 * sem_prag.adb, sem.ads: Code cleanup.
4195
41962011-08-04 Tristan Gingold <gingold@adacore.com>
4197
4198 * s-tassta.adb (Task_Wrapper): Rewrite the dynamic stack usage part.
4199 * s-stausa.adb, s-stausa.ads: Major rewrite. Now provides accurate
4200 results if possible.
4201 * s-stusta.adb (Print): Adjust after changes in s-stausa.
4202 * gnat_ugn.texi: Update dynamic stack usage section.
4203
42042011-08-04 Steve Baird <baird@adacore.com>
4205
4206 * bindgen.adb (Gen_CodePeer_Wrapper): new procedure.
4207 Generate (if CodePeer_Mode is set) a "wrapper" subprogram which
4208 contains only a call to the user-defined main subprogram.
4209 (Gen_Main_Ada) - If CodePeer_Mode is set, then
4210 call the "wrapper" subprogram instead of directly
4211 calling the user-defined main subprogram.
4212
42132011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4214
4215 * exp_ch5.adb (Expand_N_Case_Statement): Check the statements of all
4216 alternatives of a case statement for controlled objects. Rename local
4217 variable A to Dead_Alt.
4218 (Expand_N_If_Statement): Check the then and else statements of an if
4219 statement for controlled objects. Check the then statements of all
4220 elsif parts of an if statement for controlled objects.
4221 (Expand_N_Loop_Statement): Check the statements of a loop for controlled
4222 objects.
4223 * exp_ch7.adb (Process_Transient_Objects): Rewrite the condition which
4224 detects a loop associated with the expansion of an array object.
4225 Augment the processing of the loop statements to account for a possible
4226 wrap done by Process_Statements_For_Controlled_Objects.
4227 * exp_ch9.adb (Expand_N_Asynchronous_Select): Check the triggering
4228 statements and abortable part of an asynchronous select for controlled
4229 objects.
4230 (Expand_N_Conditional_Entry_Call): Check the else statements of a
4231 conditional entry call for controlled objects.
4232 (Expand_N_Selective_Accept): Check the alternatives of a selective
4233 accept for controlled objects.
4234 (Expand_N_Timed_Entry_Call): Check the entry call and delay
4235 alternatives of a timed entry call for controlled objects.
4236 * exp_ch11.adb (Expand_Exception_Handlers): Check the statements of an
4237 exception handler for controlled objects.
4238 * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
4239 Add formal parameter Nested_Constructs along with its associated
4240 comment.
4241 (Requires_Cleanup_Actions (Node_Id)): Update all calls to
4242 Requires_Cleanup_Actions.
4243 (Process_Statements_For_Controlled_Objects): New routine.
4244 * exp_util.ads (Process_Statements_For_Controlled_Objects): New
4245 routine. Inspect a node which contains a non-handled sequence of
4246 statements for controlled objects. If such an object is found, the
4247 statements are wrapped in a block.
4248
1bf773bb
AC
42492011-08-04 Bob Duff <duff@adacore.com>
4250
4251 * sem_type.adb (Covers): If T2 is a subtype of a class-wide type, we
4252 need to compare with Class_Wide_Type (T2), in order to get at the
4253 original class-wide type node.
4254 * sem_type.ads (Covers): Improve the comment.
4255 * einfo.ads (Class_Wide_Type): Improve the comment.
4256 * exp_intr.adb (Expand_Unc_Deallocation): Remove unnecessary setting of
4257 the type of the Deref.
4258
42592011-08-04 Yannick Moy <moy@adacore.com>
4260
4261 * gnat_rm.texi: Document that Test_Case pragma can only appear on
4262 separate declarations.
4263 * sem_prag.adb (procedure Check_Identifier_Is_One_Of): new procedure to
4264 check identifier of pragma argument.
4265 (Chain_TC): check that no other test case associated to the same entity
4266 share the same name.
4267 (Check_Test_Case): disallow test case inside subprogram body
4268 (Analyze_Pragma): correct call to check identifier and not argument
4269 * sem_util.adb, sem_util.ads (Get_Name_From_Test_Case_Pragma): new
4270 function gets name from test case pragma.
4271
dac3bede
YM
42722011-08-04 Yannick Moy <moy@adacore.com>
4273
4274 * gnat_rm.texi: Document new pragma and aspect.
4275 * aspects.adb, aspects.ads (Aspect_Id): new value Aspect_Test_Case
4276 (No_Duplicates_Allowed): new constant array defining whether duplicates
4277 aspects of each kind can appear on the same declaration.
4278 * einfo.adb, einfo.ads (Spec_PPC_List): replace field with Contract
4279 field, which points to a node holding the previous Spec_PPC_List.
4280 * exp_ch9.adb, sem_ch6.adb, sem_prag.adb: Reach to Spec_PPC_List
4281 through the indirection with Contract.
4282 * exp_util.adb (Insert_Actions): raise Program_Error on N_Contract node
4283 * par-prag.adb (Prag): do nothing on Test_Case pragma
4284 * sem.adb (Analyze): abort on N_Contract, on which Analyze should not
4285 be called directly.
4286 * sem_attr.adb (Analyze_Attribute): allow attribute 'Result in
4287 component Ensures of Test_Case.
4288 * sem_ch12.adb, sem_ch6.adb, sem_ch9.adb
4289 (Analyze_Generic_Subprogram_Declaration,
4290 Analyze_Subprogram_Instantiation,
4291 Analyze_Abstract_Subprogram_Declaration,
4292 Analyze_Subprogram_Body_Helper,
4293 Analyze_Subprogram_Specification, Analyze_Entry_Declaration):
4294 insert contract in subprogram node at point of definition
4295 * sem_ch13.adb
4296 (Aspect_Loop): do not raise error on duplicate Test_Case aspect
4297 (Analyze_Aspect_Specifications): analyze Test_Case aspect and create
4298 corresponding pragma
4299 (Check_Aspect_At_Freeze_Point): raise Program_Error on Test_Case aspect
4300 * sem_ch3.adb (Analyze_Declarations): insert analysis of test-cases,
4301 similar to the analysis of pre/post
4302 (Derive_Subprogram): insert contract in subprogram node at point of
4303 derivation.
4304 * sem_prag.adb, sem_prag.ads
4305 (Check_Arg_Is_String_Literal, Check_Identifier):
4306 new checking procedures to be called in treatment of pragmas
4307 (Check_Test_Case): new procedure to check that a Test_Case aspect or
4308 pragma is well-formed. This does not check currently that 'Result is
4309 used only in the Ensures component of a Test_Case.
4310 (Analyze_Pragma): add case for Test_Case
4311 (Analyze_TC_In_Decl_Part): pre-analyze the Requires and Ensures
4312 components of a Test_Case.
4313 (Preanalyze_TC_Args): new procedure to preanalyze the boolean
4314 expressions in the 3rd (and 4th if present) arguments of a Test_Case
4315 pragma, treated as spec expressions.
4316 (Sig_Flags): add value -1 for Test_Case.
4317 * sem_util.adb, sem_util.ads (Get_Ensures_From_Test_Case_Pragma,
4318 Get_Requires_From_Test_Case_Pragma): getters for both expression
4319 components of a Test_Case.
4320 * sinfo.adb, sinfo.ads (N_Contract): new kind of node used as
4321 indirection between an entry or [generic] subprogram entity and its
4322 pre/post + test-cases.
4323 (Spec_PPC_List, Spec_TC_List, Set_Spec_PPC_List, Set_Spec_TC_List):
4324 get/set for fields of an N_Contract node.
4325 * snames.ads-tmpl (Name_Test_Case, Name_Ensures, Name_Mode,
4326 Name_Normal, Name_Requires, Name_Robustness, Pragma_Test_Case): new
4327 names and pragma for Test_Case.
4328 * sprint.adb (Sprint_Node): raise Program_Error on N_Contract node
4329
6a2e5d0f
AC
43302011-08-04 Vincent Celier <celier@adacore.com>
4331
4332 * gnat_ugn.texi: Improve documentation of gnatmake switch
4333 --source-info-file=.
4334
43352011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4336
4337 * exp_ch7.adb (Make_Final_Call): Add local variable Atyp (assertion
4338 type). Initialize Atyp to the appropriate type which is later checked
4339 for completion. Rewrite the assertion associated with private type
4340 completion.
4341
43422011-08-04 Ed Falis <falis@adacore.com>
4343
4344 * adaint.c: Add call to vxCpuConfiguredGet for VxWorks SMP to
4345 initialize the number of CPUs.
4346
43472011-08-04 Ed Schonberg <schonberg@adacore.com>
4348
4349 * sem_type.adb (Disambiguate): New subsidiary routine
4350 In_Same_Declaration_List, to implement AI05-0020: a user-defined
4351 equality on an anonymous access type whose designated type is private
4352 does not lead to an ambiguity with the universal access equality
4353 operator in the body or child units of the defining package. The same
4354 is true for a multiplication operator on a private type completed with
4355 a fixed-point-type.
4356
43572011-08-04 Javier Miranda <miranda@adacore.com>
4358
4359 * opt.ads (Init_Or_Norm_Scalars_Config): Removed.
4360 (Normalize_Scalars_Config): Removed.
4361 * opt.adb
4362 (Register_Opt_Config_Switches): Remove registering config values of
4363 Init_Or_Norm_Scalars_Config and Normalize_Scalars_Config.
4364 (Restore_Opt_Config_Switches): Remove code which restores the values of
4365 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
4366 Init_Or_Norm_Scalars.
4367 (Save_Opt_Config_Switches): Remove code which saves values of
4368 Init_Or_Norm_Scalars and Normalize_Scalars.
4369 (Set_Opt_Config_Switches): Remove code which restores config values of
4370 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
4371 Init_Or_Norm_Scalars.
4372
43732011-08-04 Yannick Moy <moy@adacore.com>
4374
4375 * frontend.adb (Frontend): remove previous patch to avoid full
4376 qualification in ALFA mode.
4377 * lib-xref-alfa.adb (Add_ALFA_Xrefs): use unique name for variables.
4378 * sem_util.adb, sem_util.ads (Unique_Name): new function to define a
4379 unique name for an entity, which could be used to identify the entity
4380 across compilation units.
4381
43822011-08-04 Thomas Quinot <quinot@adacore.com>
4383
4384 * prj-env.adb
4385 (Initialize_Default_Project_Path): Add target specific directory
4386 ($prefix/$target/lib/gnat) in front of project path in all cases
4387 (making gnatmake's behaviour consistent with gprbuild).
4388 * gnatcmd.adb, make.adb, prj-makr.adb, clean.adb:
4389 Pass target name from Sdefault to project subsystem.
4390 * gnatls.adb: Show new target specific default project directory.
4391
43922011-08-04 Johannes Kanig <kanig@adacore.com>
4393
4394 * cstand.adb: Add Information to Identifier in Standard
4395 (Identifer_For): Set Entity to the corresponding entity
4396
483361a6
AC
43972011-08-04 Sergey Rybin <rybin@adacore.com>
4398
4399 * gnat_ugn.texi: Update doc on gnatcheck.
4400
44012011-08-04 Yannick Moy <moy@adacore.com>
4402
4403 * lib-xref-alfa.adb (Add_ALFA_Xrefs): correct definition of ranges of
4404 xrefs in a scope.
4405
44062011-08-04 Yannick Moy <moy@adacore.com>
4407
4408 * exp_prag.adb (Expand_Pragma_Check): in ALFA mode, return without
4409 performing expansion.
4410 * sem_ch6.adb (Analyze_Subprogram_Body_Helper,
4411 Analyze_Generic_Subprogram_Body): protect call to Process_PCCs so that
4412 it is not called in ALFA mode.
4413
ef5569c6
AC
44142011-08-04 Emmanuel Briot <briot@adacore.com>
4415
4416 * make.adb, osint.adb, osint.ads (Reset_Command_Line_Files): not used
4417 after all, so removed.
4418
44192011-08-04 Sergey Rybin <rybin@adacore.com>
4420
4421 * vms_data.ads: Add missing VMS qualifiers.
4422
1ab4a286
EB
44232011-08-04 Emmanuel Briot <briot@adacore.com>
4424
4425 * make.adb, makeutl.adb, osint.adb, osint.ads (Check_Mains): rebuild
4426 the list of files on the command line after processing it through
4427 Complete_Mains.
4428
7ae0d98c
AC
44292011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4430
4431 * exp_ch7.adb (Build_Raise_Statement): Remove the specialized
4432 processing for .NET/JVM. These targets can now benefit from
4433 Raise_From_Controlled_Operation and they share the same processing with
4434 standard targets.
4435 (Establish_Transient_Scope): Remove the restriction for .NET/JVM.
4436 These targets need transient scopes in order to properly finalize short
4437 lived controlled objects.
4438 (Make_Handler_For_Ctrl_Operation): Remove the specialized processing for
4439 NET/JVM. These targets can now benefit from
4440 Raise_From_Controlled_Operation and they share the same processing with
4441 standard targets.
4442
44432011-08-04 Geert Bosch <bosch@adacore.com>
4444
4445 * tracebak.c (STOP_FRAME): Stop at any next pointer outside the stack
4446
44472011-08-04 Ed Schonberg <schonberg@adacore.com>
4448
4449 * exp_aggr.adb (Has_Visible_Private_Ancestor): subsidiary routine to
4450 Expand_Record_Aggregate, to determine whether aggregate must be
4451 expanded into assignments. This is the case if the ancestor part is
4452 private, regarless of the setting of the flag Has_Private_Ancestor.
4453
44542011-08-04 Ed Falis <falis@adacore.com>
4455
4456 * vxaddr2line.adb: Add support for e500v2 and for Linux hosts
4457
44582011-08-04 Bob Duff <duff@adacore.com>
4459
4460 * sinfo.ads: Fix comment.
4461
44622011-08-04 Steve Baird <baird@adacore.com>
4463
4464 * bindgen.adb (Get_Ada_Main_Name): If CodePeer_Mode is set, then
4465 choose a package name in much the same way as is
4466 done for JGNAT when VM_Target /= No_VM, except that
4467 a slightly more distinctive prefix string is used.
4468
44692011-08-04 Emmanuel Briot <briot@adacore.com>
4470
4471 * makeutl.adb (Complete_Mains): no longer accept unit names on the
4472 gnatmake command line.
4473 This behavior was never documented (and was supported only because of
4474 an early bug in the code). This case might lead to ambiguous cases
4475 (between unit names and truncated base names without suffixes).
4476
87729e5a
AC
44772011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4478
4479 * a-tags.ads, a-tags.adb (Unregister_Tag): New routine.
4480 Remove the external tag of a tagged type from the internal hash table.
4481 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on the
4482 expanded usage of the routine. Strenghten the check for Is_Master. Add
4483 processing for tagged types.
4484 (Build_Finalizer): Create all the necessary lists used in finalizer
4485 creation when the processed context is a package that may contain
4486 tagged types.
4487 (Expand_Cleanup_Actions): Rename the call to Has_Controlled_Objects to
4488 Requires_Cleanup_Actions.
4489 (Expand_N_Package_Body): Package bodies may need clean up code
4490 depending on whether they contain tagged types.
4491 (Expand_N_Package_Declaration): Package declarations may need clean up
4492 code depending on whether they contain tagged types.
4493 (Unregister_Tagged_Types): New routine. Search through a list of
4494 declarations or statements, looking for non-abstract Ada tagged types.
4495 For each such type, generate code to unregister the external tag.
4496 * exp_util.adb (Has_Controlled_Objects (Node_Id)): Renamed to
4497 Requires_Cleanup_Actions.
4498 (Requires_Cleanup_Actions (List_Id, Boolean)): New routine. Search
4499 through a list of declarations or statements looking for non-abstract
4500 Ada tagged types or controlled objects.
4501 * exp_util.ads (Has_Controlled_Objects (Node_Id)): Renamed to
4502 Requires_Cleanup_Actions.
4503 (Has_Controlled_Objects (List_Id, Boolean)): Removed.
4504 * rtsfind.ads: Add entry RE_Unregister_Tag to tables RE_Id and
4505 RE_Unit_Table.
4506
45072011-08-04 Vincent Celier <celier@adacore.com>
4508
4509 * prj-env.adb (For_All_Source_Dirs.For_Project): Check if project Prj
4510 has Ada sources, not project Project, because if the root project
4511 Project has no sources of its own, all projects will be deemed without
4512 sources.
4513
45142011-08-04 Gary Dismukes <dismukes@adacore.com>
4515
4516 * bindgen.adb (Gen_Adainit_Ada): Move the generation of the declaration
4517 of the No_Param_Proc acc-to-subp type used for initialization of
4518 __gnat_finalize_library_objects so that it's declared at library level
4519 rather than nested inside of the adainit routine.
4520
45212011-08-04 Javier Miranda <miranda@adacore.com>
4522
4523 * exp_disp.adb (Make_DT): Generate code to check the external tag ONLY
4524 if the tagged type has a representation clause which specifies its
4525 external tag.
4526
45272011-08-04 Ed Schonberg <schonberg@adacore.com>
4528
4529 * einfo.ads, einfo.adb (Has_Private_Ancestor): now a flag on types.
4530 Remove previous procedure with that name.
4531 * sem_ch3.adb (Build_Derived_Record_Type): set Has_Private_Ancestor
4532 when appropriate.
4533 * sem_aggr.adb (Resolve_Extension_Aggregate): if the ancestor part is a
4534 subtype mark, the ancestor cannot have unknown discriminants.
4535 (Resolve_Record_Aggregate): if the type has invisible components
4536 because of a private ancestor, the aggregate is illegal.
4537
45382011-08-04 Vincent Celier <celier@adacore.com>
4539
4540 * switch-m.adb (Normalize_Compiler_Switches): Recognize and take into
4541 account switches -gnat2005, -gnat12 and -gnat2012.
4542
45432011-08-04 Bob Duff <duff@adacore.com>
4544
4545 * s-tasdeb.ads: Minor comment fix.
4546
45472011-08-04 Arnaud Charlet <charlet@adacore.com>
4548
4549 * gnatlink.adb (Gnatlink): Pass -gnat83/95/05/12 switch to gcc in
4550 CodePeer mode.
4551 * switch.ads, switch.adb (Is_Language_Switch): New function.
4552
45532011-08-04 Vincent Celier <celier@adacore.com>
4554
4555 * switch-c.adb: Minor comment addition.
4556
45572011-08-04 Vincent Celier <celier@adacore.com>
4558
4559 * vms_conv.adb (Process_Argument): Fail graciously when qualifier
4560 ending with '=' is followed by a space (missing file name).
4561
45622011-08-04 Pascal Obry <obry@adacore.com>
4563
4564 * g-regist.ads: Fix size of HKEY on x86_64-windows.
4565
45662011-08-04 Ed Schonberg <schonberg@adacore.com>
4567
4568 * sem_ch12.adb (Analyze_Associations): New routine
4569 Check_Overloaded_Formal_Subprogram to reject a formal package when
4570 there is a named association or a box initialisation for an overloaded
4571 formal subprogram of the corresponding generic.
4572
45732011-08-04 Yannick Moy <moy@adacore.com>
4574
4575 * alfa.ads (ALFA_Xref_Record): add component for type of entity
4576 * get_alfa.adb, put_alfa.adb: Read and write new component of
4577 cross-reference.
4578 * lib-xref-alfa.adb (Collect_ALFA): generate new component.
4579
88f47280
AC
45802011-08-04 Pascal Obry <obry@adacore.com>
4581
4582 * urealp.adb: Minor reformatting.
4583
45842011-08-04 Tristan Gingold <gingold@adacore.com>
4585
4586 * exp_ch7.adb (build_finalizer.process_declarations.processing_actions):
4587 Handle the case when Cleanup_Protected_Object returns Empty.
4588
45892011-08-04 Yannick Moy <moy@adacore.com>
4590
4591 * frontend.adb (Frontend): only qualify names in non-ALFA mode
4592
45932011-08-04 Ed Schonberg <schonberg@adacore.com>
4594
4595 * sem_ch4.adb (Try_Class_Wide_Operation): if the context is a procedure
4596 call, ignore functions.
4597
05c53a69
GB
45982011-08-04 Geert Bosch <bosch@adacore.com>
4599
4600 * urealp.adb (Equivalent_Decimal_Exponent): Avoid the use of floating
4601 point.
4602
23cc1ace
EB
46032011-08-04 Emmanuel Briot <briot@adacore.com>
4604
4605 * makeutl.adb (Compute_Builder_Switches): no longer accept a unit name
4606 as an index for Builder'Switches. This conforms to the documentation.
4607 * make.adb (Insert_Project_Sources): avoid duplicate code
4608
cef14201
AC
46092011-08-04 Emmanuel Briot <briot@adacore.com>
4610
4611 * makeutl.adb (Complete_Mains): if the user has passed a relative file
4612 name on the command line (for instance "../dummy"), never assume it can
4613 be a unit name.
4614
46152011-08-04 Tristan Gingold <gingold@adacore.com>
4616
4617 * bindgen.adb: Remove code the reference or create the
4618 Break_Start/__gnat_break_start procedure.
4619 * s-stalib.adb (Break_Start): Removed.
4620
e2fee30d
EB
46212011-08-04 Emmanuel Briot <briot@adacore.com>
4622
4623 * make.adb, makeutl.adb, makeutl.ads (Compute_Builder_Switches): now
4624 shared with gprbuild.
4625
2d395256
AC
46262011-08-04 Yannick Moy <moy@adacore.com>
4627
4628 * par-ch4.adb (P_Primary): preferentially issue an error message about
4629 a missing parenthesis arount a conditional or case expression in Ada
4630 2012 mode, if we detect that the alignment is not correct for a
4631 statement.
4632
46332011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4634
4635 * exp_ch7.adb (Process_Declarations): Do not consider the result of a
4636 tag-to-class-wide conversion as needing finalization actions.
4637 * exp_util.adb (Has_Controlled_Objects): Do not consider the result of
4638 a tag-to-class-wide conversion as needing finalization actions.
4639 (Is_Finalizable_Transient): The result of a tag-to-class-wide
4640 conversion does not need finalization actions.
4641 (Is_Tag_To_CW_Conversion): New routine.
4642 * exp_util.ads (Is_Tag_To_CW_Conversion): New routine. Determines
4643 whether an object is the result of a tag-to-class-wide conversion.
4644
46452011-08-04 Yannick Moy <moy@adacore.com>
4646
4647 * sem_ch13.adb (Analyze_Aspect_Specifications): correct order in which
4648 the left-hand-side and right-hand-side of a conjunct are inserted when
4649 translating a pre- or postcondition
4650 * sem_ch6.adb: Correct typo in comment
4651
46522011-08-04 Ed Schonberg <schonberg@adacore.com>
4653
4654 * gnat_rm.texi: Ravenscar does not prohibit dependence on
4655 Unchecked_Conversion and Unchecked_Deallocation.
4656
46572011-08-04 Thomas Quinot <quinot@adacore.com>
4658
4659 * make.adb: Minor reformatting.
4660
767ab2fd
EB
46612011-08-04 Emmanuel Briot <briot@adacore.com>
4662
4663 * prj.adb, prj.ads, makeutl.adb (Complete_Mains): search for the
4664 sources in the project and its imported projects, but not in the whole
4665 tree.
4666
8fb3f5df
AC
46672011-08-04 Emmanuel Briot <briot@adacore.com>
4668
4669 * make.adb: Remove debug trace.
4670
46712011-08-04 Vincent Celier <celier@adacore.com>
4672
4673 * makeutl.adb (Do_Complete): Get the absolute path name of a relative
4674 path in canonical form, to be able to compare path names on platforms
4675 such as Windows or Darwin.
4676
46772011-08-04 Thomas Quinot <quinot@adacore.com>
4678
4679 * par_sco.adb (Traverse_Declarations_Or_Statements.Set_Statement_Entry):
4680 For a pragma (statement with C1 = 'P'), record the sloc of the pragma.
4681 * scos.ads: Update documentation accordingly.
4682 * put_scos.adb (Output_SCO_Line): Omit statement SCOs for disabled
4683 pragmas.
4684
9515740f
AC
46852011-08-04 Ed Schonberg <schonberg@adacore.com>
4686
4687 * sem_attr.adb (Bad_Attribute_For_Predicate): flag illegal use of
4688 attribute only if prefix type is scalar.
4689
46902011-08-04 Emmanuel Briot <briot@adacore.com>
4691
4692 * make.adb, makeutl.adb, prj-env.adb (Check_Mains): put back support
4693 in gnatmake for specifying mains on the command line that do not belong
4694 to the main project. These mains must currently all belong to the same
4695 project, though.
4696 (Ultimate_Extension_Of): removed, since duplicated
4697 Ultimate_Extending_Project.
4698
92966893
AC
46992011-08-04 Arnaud Charlet <charlet@adacore.com>
4700
4701 * make.adb (Do_Codepeer_Globalize_Step): Removed. Use CodePeer_Mode
4702 instead.
4703 (CodePeer_Mode_String): New.
4704 (Linking_Phase, Binding_Phase): Call gnatlink with -P switch in
4705 CodePeer mode.
4706 (Scan_Make_Arg): Do not disable binding/linking phase in CodePeer mode.
4707 * bindgen.adb (Gen_Elab_Calls_Ada): Ignore subprograms in CodePeer
4708 mode, since no useful elaboration subprogram is needed by CodePeer.
4709 * gnatlink.adb (Gnatlink): Add support for -P switch (CodePeer mode).
4710 In this mode, compile binder file with -gnatC and do stop after this
4711 step.
4712
47132011-08-04 Vincent Celier <celier@adacore.com>
4714
4715 * exp_ch7.adb: Minor comment fix.
4716
5969611f
RD
47172011-08-04 Robert Dewar <dewar@adacore.com>
4718
4719 * exp_ch7.adb, make.adb, sem_ch10.adb, bindgen.adb, sem_res.adb,
4720 exp_ch4.adb, makeutl.adb: Minor reformatting.
4721
6367dd30
AC
47222011-08-04 Emmanuel Briot <briot@adacore.com>
4723
4724 * make.adb, makeutl.adb, makeutl.ads (Make): major refactoring.
4725 Create several new subprograms to move code out of Make. This makes the
4726 code more readable, removes code duplication, and is a preparation work
4727 for adding support for aggregate projects.
4728
47292011-08-04 Tristan Gingold <gingold@adacore.com>
4730
4731 * s-po32gl.ads, s-po32gl.adb: New files.
4732 * exp_ch7.ads (Get_Global_Pool_For_Access_Type): New function.
4733 * exp_ch7.adb (Get_Global_Pool_For_Access_Type): New function.
4734 (Build_Finalization_Collection): Use it.
4735 * exp_ch4.adb (Complete_Controlled_Allocation): Ditto.
4736 * rtsfind.ads: System_Pool_32_Global, Re_Global_Pool_32_Object: New
4737 literals.
4738 * gcc-interface/Makefile.in: Use s-po32gl.o on VMS.
4739 * gcc-interface/Make-lang.in: Update dependencies.
4740
cd8bfe35
EB
47412011-08-04 Emmanuel Briot <briot@adacore.com>
4742
4743 * makeutl.adb (Complete_Mains): add support for specs with no suffix on
4744 the command line.
4745
7db29ea7
EB
47462011-08-04 Emmanuel Briot <briot@adacore.com>
4747
4748 * make.adb, makeutl.adb (Complete_Mains): if a main specified on the
4749 command line is not a file name, also check whether it could be a unit
4750 name.
4751
d9b056ea
AC
47522011-08-04 Eric Botcazou <ebotcazou@adacore.com>
4753
4754 * bindgen.adb (Gen_Finalize_Library_Ada): Factor out code to generate
4755 the header of the finalization routine.
4756 If the unit has no finalizer but is a body whose spec has one, then
4757 generate the decrement of the elaboration entity only.
4758 If the unit has a finalizer and is a spec, then do not generate the
4759 decrement of the elaboration entity.
4760 (Gen_Finalize_Library_C): Likewise.
4761
47622011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4763
4764 * exp_ch7.adb (Alignment_Of): New subsidiary routine.
4765 (Bounds_Size_Expression): Removed.
4766 (Double_Alignment_Of): New subsidiary routine.
4767 (Make_Finalize_Address_Stmts): New local variable Index_Typ. Account
4768 for a hole in the dope vector of unconstrained arrays due to different
4769 index and element alignments.
4770
47712011-08-04 Ed Schonberg <schonberg@adacore.com>
4772
4773 * sem_res.adb (Resolve_Allocator): diagnose task allocator that will
4774 raise program_error because body has not been seen yet.
4775
47762011-08-04 Ed Schonberg <schonberg@adacore.com>
4777
4778 * sem_ch10.adb (Analyze_With_Clause): Protect against child unit with
4779 an unresolved name.
4780
47812011-08-04 Vincent Celier <celier@adacore.com>
4782
4783 * makeutl.adb (Do_Complete): Check absolute paths in canonical forms
4784
47852011-08-04 Yannick Moy <moy@adacore.com>
4786
4787 * alfa.adb, alfa.ads (Unique_Defining_Entity): move function from here
4788 * sem_util.adb, sem_util.ads (Unique_Defining_Entity): ...to here
4789
47902011-08-04 Thomas Quinot <quinot@adacore.com>
4791
4792 * sem_ch12.adb (Analyze_Package_Instantiation): Do not omit body for
4793 instantiation in RCI.
4794
47952011-08-04 Emmanuel Briot <briot@adacore.com>
4796
4797 * make.adb: Share more code with gprbuild
4798
f5fc5b9d
AC
47992011-08-04 Emmanuel Briot <briot@adacore.com>
4800
4801 * projects.texi: Added documentation for the IDE'Gnat project file
4802 attribute.
4803
48042011-08-04 Nicolas Roche <roche@adacore.com>
4805
4806 * gnat_rm.texi: Minor editing.
4807
48082011-08-04 Javier Miranda <miranda@adacore.com>
4809
4810 * bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
4811 and the library case for VM targets.
4812 (Gen_Adainit_Ada): Likewise.
4813
48142011-08-04 Robert Dewar <dewar@adacore.com>
4815
4816 * g-altive.ads: Minor comment updates.
4817 * prj-nmsc.adb: Minor reformatting.
4818
48192011-08-04 Javier Miranda <miranda@adacore.com>
4820
4821 * opt.ads
4822 (Normalize_Scalars_Config): Value of the configuration switch set by
4823 pragma Normalize_Scalars when it appears in the gnat.adc file.
4824 (Normalize_Scalars): New field for record Config_Switches_Type. Used
4825 to save and restore settings of this pragma.
4826 * opt.adb
4827 (Register_Opt_Config_Switches, Save_Opt_Config_Switches,
4828 Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.
4829
48302011-08-04 Vincent Celier <celier@adacore.com>
4831
4832 * gnat_ugn.texi: Document gnatlink options -M and -M=mapfile
4833
0c4683cf
AC
48342011-08-04 Arnaud Charlet <charlet@adacore.com>
4835
4836 * makeutl.adb: Minor reformatting.
4837
48382011-08-04 Olivier Hainque <hainque@adacore.com>
4839
4840 * g-altive.ads: Update comments to reflect that only the soft
4841 binding is available today.
4842
2598ee6d
RD
48432011-08-04 Robert Dewar <dewar@adacore.com>
4844
4845 * bindgen.adb, einfo.adb, sem_ch12.adb, s-tasren.adb, sem_res.adb,
4846 makeutl.adb, prj-nmsc.adb, opt.ads, prj-env.adb: Minor reformatting
4847 * gcc-interface/Make-lang.in: Update dependencies.
4848
c2db4b32
AC
48492011-08-04 Arnaud Charlet <charlet@adacore.com>
4850
4851 * prj-env.adb: Remove local debug traces.
4852
48532011-08-04 Yannick Moy <moy@adacore.com>
4854
4855 * checks.adb (Apply_Float_Conversion_Check): correct a typo where Lo_OK
4856 was used instead of Hi_OK, which could cause a read of an uninitialized
4857 value later on. Detected while working on the new warning.
4858 * exp_ch9.adb (Expand_N_Entry_Declaration): remove useless assignment
4859 to local variable.
4860 * sem_ch5.adb (Analyze_Assignment): set the last assignment component
4861 in more cases, in order to detect more unreferenced values.
4862 * sem_util.adb, sem_util.ads (Get_Enclosing_Object): return enclosing
4863 object for expression, if any.
4864
48652011-08-04 Eric Botcazou <ebotcazou@adacore.com>
4866
4867 * exp_intr.adb (Expand_Binary_Operator_Call): Look at the RM size of
4868 the operand types instead of the Esize.
4869
48702011-08-04 Steve Baird <baird@adacore.com>
4871
4872 * switch-b.adb (Scan_Binder_Switches): Add -P binder switch, used to
4873 enable CodePeer_Mode.
4874 * bindusg.adb (Display): Add help message describing -P binder switch.
4875 * gnat_ugn.texi: Document -P binder switch.
4876 * bindgen.adb (Gen_Main_Ada): If CodePeer_Mode is set, then call the
4877 user-defined main program directly.
4878 (Gen_Output_File_Ada): If CodePeer_Mode is set, generate a with of the
4879 user-defined main program in the context clause of the package body.
4880
ad05f2e9
AC
48812011-08-04 Yannick Moy <moy@adacore.com>
4882
4883 * alfa.adb, alfa.ads (Get_Entity_For_Decl): remove function, partial
4884 duplicate of Defining_Entity
4885 (Get_Unique_Entity_For_Decl): rename function into
4886 Unique_Defining_Entity
4887 * einfo.adb, einfo.ads (Is_In_ALFA, Body_Is_In_ALFA): remove flags
4888 (Formal_Proof_On): remove synthesized flag
4889 * cstand.adb, sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
4890 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb, sem_util.adb,
4891 sem_util.ads, stand.ads: Remove treatment associated to entities in ALFA
4892 * sem_prag.adb (Analyze_Pragma): remove special treatment for pragma
4893 Annotate (Formal_Proof)
4894
48952011-08-04 Emmanuel Briot <briot@adacore.com>
4896
4897 * prj-env.adb (Create_Config_Pragmas_File): fix handling of multi-unit
4898 source files with non-standard naming schemes, in imported projects
4899
756ef2a0
AC
49002011-08-04 Emmanuel Briot <briot@adacore.com>
4901
4902 * makeutl.adb (Complete_Mains): when a multi-unit source file is
4903 specified on the gprbuild command line, we need to compile all units
4904 within that file, not just the first one we find
4905 Fix error message for mains that are not found.
4906
49072011-08-04 Thomas Quinot <quinot@adacore.com>
4908
4909 * sem_ch6.adb: Update comment.
4910 * sem_ch12.adb: Minor reformatting.
4911
49122011-08-04 Bob Duff <duff@adacore.com>
4913
4914 * s-tasren.adb (Task_Do_Or_Queue): Previous code was reading
4915 Acceptor.Terminate_Alternative without locking Acceptor, which causes a
4916 race condition whose symptom is to fail to lock Parent. That, in turn,
4917 causes Parent.Awake_Count to be accessed without locking Parent, which
4918 causes another race condition whose symptom is that Parent.Awake_Count
4919 can be off by 1 (either too high or too low). The solution is to lock
4920 Parent unconditionally, and then lock Acceptor, before reading
4921 Acceptor.Terminate_Alternative.
4922
4fdebd93
AC
49232011-08-04 Arnaud Charlet <charlet@adacore.com>
4924
4925 * debug.adb: Update comment.
4926
49272011-08-04 Robert Dewar <dewar@adacore.com>
4928
4929 * par_sco.adb, exp_util.adb, make.adb, a-tags.adb, sem_prag.adb,
4930 sem_util.adb, sem_attr.adb, exp_ch4.adb, g-comlin.adb, g-comlin.ads,
4931 exp_ch6.adb: Minor reformatting.
4932
49332011-08-04 Gary Dismukes <dismukes@adacore.com>
4934
4935 * gnat_ugn.texi: Add sentence about the case of compile-time-detected
4936 checks for -gnateE.
4937
49382011-08-04 Ed Schonberg <schonberg@adacore.com>
4939
4940 * gnat_rm.texi: update Ravenscar desription to reflect Ada2012 RM.
4941
49422011-08-04 Thomas Quinot <quinot@adacore.com>
4943
4944 * sinfo.ads: Minor reformatting.
4945
49462011-08-04 Emmanuel Briot <briot@adacore.com>
4947
4948 * makeutl.adb, makeutl.ads, prj-nmsc.adb (Complete_Mains): report error
4949 even if there is no location.
4950
6aaa0587
ES
49512011-08-04 Ed Schonberg <schonberg@adacore.com>
4952
4953 * sem_res.adb, sem_ch4.adb: move check for restriction
4954 No_Task_Hierarchy to resolve_allocator.
4955
35a1c212
AC
49562011-08-04 Thomas Quinot <quinot@adacore.com>
4957
4958 * sinfo.adb, sinfo.ads, sem_prag.adb, sem_ch12.adb (Pragma_Enabled):
4959 This flag of N_Pragma nodes is not used, remove it as well as all of
4960 the associated circuitry.
4961
49622011-08-04 Javier Miranda <miranda@adacore.com>
4963
4964 * exp_disp.adb (Make_DT): Switch -gnatdQ disables the generation of the
4965 runtime check on duplicated externa tags
4966 * debug.adb Document switch -gnatdQ.
4967
49682011-08-04 Gary Dismukes <dismukes@adacore.com>
4969
4970 * a-fihema.ads: Minor typo fix.
4971
49722011-08-04 Yannick Moy <moy@adacore.com>
4973
4974 * sem_ch10.adb: Minor comment update.
4975
49762011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4977
4978 * einfo.adb: Update the node field usage to reflect the renaming of
4979 Return_Flag to Return_ Flag_Or_Transient_Decl.
4980 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl.
4981 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl.
4982 (Write_Field15_Name): Change Return_Flag to
4983 Return_Flag_Or_Transient_Decl.
4984 * einfo.ads: Rename node field Return_Flag to
4985 Return_Flag_Or_Transient_Decl. Update the associated comment and all
4986 occurrences in entities.
4987 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl. Update
4988 associated Inline pragma.
4989 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl. Update
4990 associated Inline pragma.
4991 * exp_ch4.ads, exp_ch4.adb (Expand_N_Expression_With_Actions): New
4992 routine.
4993 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Update the calls to
4994 Return_Flag and Set_Return_Flag.
4995 * exp_ch7.adb (Process_Declarations): Add code to recognize hook
4996 objects generated for controlled transients declared inside an
4997 Exception_With_Actions. Update the calls to Return_Flag.
4998 (Process_Object_Declaration): Add code to add a null guard for hook
4999 objects generated for controlled transients declared inside an
5000 Exception_With_Actions. Update related comment.
5001 * exp_util.adb (Has_Controlled_Objects): Add code to recognize hook
5002 objects generated for controlled transients declared inside an
5003 Exception_With_Actions. Update the calls to Return_Flag.
5004 * expander.adb (Expand): Add new case for N_Expression_With_Actions.
5005
50062011-08-04 Ed Schonberg <schonberg@adacore.com>
5007
5008 * sem_util.adb:(Wrong_Type): Improve error message on a one-element
5009 positional aggregate.
5010
50112011-08-04 Vincent Celier <celier@adacore.com>
5012
5013 * par_sco.adb (Process_Decisions.Output_Header): Check and record pragma
5014 SLOC only for pragmas.
5015
50162011-08-04 Emmanuel Briot <briot@adacore.com>
5017
5018 * projects.texi: Minor typo fix.
5019
50202011-08-04 Emmanuel Briot <briot@adacore.com>
5021
5022 * prj-nmsc.adb (Check_File): Minor change to traces, to help debugging
5023 on case-sensitive file systems.
5024
c2873f74
TQ
50252011-08-04 Thomas Quinot <quinot@adacore.com>
5026
5027 * put_scos.adb (Put_SCOs): Do not emit decision SCO for an X decision
5028 nested in a disabled pragma.
5029 * scos.ads, scos.adb, par_sco.ads, par_sco.adb: Record sloc of
5030 enclosing pragma, if any, for X decisions.
5031
50322011-08-04 Thomas Quinot <quinot@adacore.com>
5033
5034 * sem_prag.adb: Minor reformatting.
5035
46414266
VC
50362011-08-04 Vincent Celier <celier@adacore.com>
5037
5038 * a-tags.adb (Check_TSD): Avoid concatenation of strings, as it is not
5039 allowed in no run time mode.
5040
50412011-08-04 Vincent Celier <celier@adacore.com>
5042
5043 * make.adb (Check): When -gnatc is used, check for the source file
5044 inside the ALI file with a canonical case file name.
5045
afab164f
EB
50462011-08-04 Emmanuel Briot <briot@adacore.com>
5047
5048 * g-comlin.adb, g-comlin.ads (Add_Switch): Put back support for
5049 overriding the separator.
5050
fe0ec02f
AC
50512011-08-04 Robert Dewar <dewar@adacore.com>
5052
5053 * sem_aggr.adb, par_sco.adb, sem_type.adb, exp_util.adb, exp_ch9.adb,
5054 prj-nmsc.adb, sem_ch13.adb, exp_strm.adb: Minor reformatting.
5055
50562011-08-04 Robert Dewar <dewar@adacore.com>
5057
5058 * gnat_rm.texi: Minor documentation fix for pragma Annotate.
5059
50602011-08-04 Yannick Moy <moy@adacore.com>
5061
5062 * sem_attr.adb (Analyze_Attribute): add check during pre-analysis that
5063 'Result only appears in postcondition of function.
5064
50652011-08-04 Thomas Quinot <quinot@adacore.com>
5066
5067 * a-tags.adb (Check_TSD): When raising PROGRAM_ERROR for a duplicated
5068 external tag, include the value of the external tag in the exception
5069 message.
5070
0180fd26
AC
50712011-08-04 Yannick Moy <moy@adacore.com>
5072
5073 * sem_attr.adb (Result): modify error message for misplaced 'Result
5074
50752011-08-04 Sergey Rybin <rybin@adacore.com>
5076
5077 * gnat_rm.texi (pragma Annotate): Fix syntax description to make it
5078 clear that the second argument must be an identifier.
5079
50802011-08-04 Thomas Quinot <quinot@adacore.com>
5081
5082 * exp_ch9.adb (Build_Barrier_Function): When compiling with
5083 -fpreserve-control-flow, insert an IF statement on the barrier
5084 condition to ensure that a conditional branch instruction is generated.
5085
50862011-08-04 Emmanuel Briot <briot@adacore.com>
5087
5088 * prj-part.adb, prj.adb, prj.ads, prj-tree.ads
5089 (Processing_Flags.Ignore_Missing_With): new flag.
5090
50912011-08-04 Emmanuel Briot <briot@adacore.com>
5092
5093 * prj-nmsc.adb (Find_Sources, Path_Name_Of): Fix handling of
5094 Source_List_File on case-insensitive systems where the file is actually
5095 on a case-sensitive file system (NFS,...).
5096
50972011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5098
5099 * sem_ch6.adb (Analyze_Function_Return): In a rare case where a
5100 function return contains a controlled [extension] aggregate and the
5101 return statement is not part of a handled sequence of statements, wrap
5102 the return in a block. This ensures that all controlled temporaries
5103 generated during aggregate resolution will be picked up by the
5104 finalization machinery.
5105
51062011-08-04 Ed Schonberg <schonberg@adacore.com>
5107
5108 * sem_aggr.adb (Resolve_Aggregate): If aggregate has box-initialized
5109 components, freeze type before resolution, to ensure that default
5110 initializations are present for all components.
5111 * sem_res.adb (Resolve_Actuals): the designated object of an
5112 accces-to-constant type is a legal actual in a call to an
5113 initialization procedure.
5114
51152011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5116
5117 * exp_util.adb (Extract_Renamed_Object): Add N_Type_Conversion and
5118 N_Unchecked_Type_Conversion to the possible containers of a renamed
5119 transient variable.
5120
78efd712
AC
51212011-08-04 Yannick Moy <moy@adacore.com>
5122
5123 * par-ch13.adb (Aspect_Specifications_Present): recognize
5124 "with Identifier'Class =>" as an aspect, so that a meaningful warning
5125 is issued in Strict mode.
5126 * par.adb: Fix typos in comments.
5127
51282011-08-04 Yannick Moy <moy@adacore.com>
5129
5130 * sem_attr.adb (Result): modify error message to take into account Post
5131 aspect when compiling Ada 2012 (or newer) code.
5132
51332011-08-04 Nicolas Roche <roche@adacore.com>
5134
5135 * env.c (__gnat_clearenv): Avoid use of dynamic size array in order to
2c7f9cc0 5136 remove need for GCC exceptions.
78efd712
AC
5137
51382011-08-04 Vincent Celier <celier@adacore.com>
5139
5140 * makeutl.adb (Do_Complete): Call Debug_Output with the name of the
5141 project, not the source file name.
5142 * prj.adb (Find_Sources.Look_For_Sources): If the source has been
5143 excluded, continue looking. This excluded source will only be returned
5144 if there is no other source with the same base name that is not locally
5145 removed.
5146
51472011-08-04 Ed Schonberg <schonberg@adacore.com>
5148
5149 * sem_res.adb (Resolve_Intrinsic_Operator): if the result type is
5150 private and one of the operands is a real literal, use a qualified
5151 expression rather than a conversion which is not meaningful to the
5152 back-end.
5153
0170a691
AC
51542011-08-04 Yannick Moy <moy@adacore.com>
5155
5156 * sem_ch13.adb (Aspect_Loop): when an aspect X and its classwise
5157 corresponding aspect X'Class are allowed, proceed with analysis of the
5158 aspect instead of skipping it.
5159
51602011-08-04 Tristan Gingold <gingold@adacore.com>
5161
5162 * s-flocon.adb, s-flocon.ads: Add a body for s-flocon.ads
5163 This will allow to have an Ada implementation for the subprogram.
5164
deb4f5ba
ES
51652011-08-04 Ed Schonberg <schonberg@adacore.com>
5166
5167 * sem_ch3.adb (Analyze_Full_Type_Declaration): If the declaration is a
5168 completion and aspects are present, apply them to the entity for the
5169 type which is currently the partial view, but which is the one that
5170 will be frozen.
5171 * sem_ch13.adb (Analyze_Aspect_Specifications): if the predicate
5172 applies to a partial view, indicate that the full view has predicates
5173 and delayed aspects.
5174 (Replace_Type_Reference): Handle properly predicates that apply to the
5175 full view of a private completion.
5176
fc893455
AC
51772011-08-04 Eric Botcazou <ebotcazou@adacore.com>
5178
5179 * layout.adb (Layout_Type): For composite types, do not set Esize.
5180 * freeze.adb (Set_Small_Size): Remove test on alignment and do not
5181 set Esize.
5182 (Size_Known): Look at the RM size of components instead of the Esize.
5183 (Freeze_Record_Type): Look at the RM size instead of the Esize to
5184 issue warning and activate Implicit_Packing.
5185 (Freeze_Entity): Likewise. Do not issue a warning for alias/atomic
5186 if the Esize is not known.
5187 * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Size>: Set Esize
5188 for elementary types only.
5189 (Analyze_Record_Representation_Clause): Look at the RM size instead
5190 of the Esize to issue errors.
5191 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set Esize if it
5192 is not known.
5193 <E_Record_Type>: Look at the RM size instead of the Esize. Remove
2c7f9cc0 5194 obsolete block.
fc893455
AC
5195 Look at the RM size instead of the Esize for types if the latter is
5196 not known.
5197 (gnat_to_gnu_field): Use Known_Esize instead of Known_Static_Esize.
5198
51992011-08-04 Ed Schonberg <schonberg@adacore.com>
5200
5201 * sem_type.adb: proper handling of equality not involving anonymous
5202 access types.
5203
b37d5bc6
AC
52042011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5205
5206 * exp_ch7.adb (Create_Finalizer): Remove local variables Spec_Nod and
5207 Vis_Decls. When creating a library-level finalizer for a package spec,
5208 both the declaration and body of the finalizer are inserted either in
5209 the visible or private declarations of the package spec.
5210
52112011-08-04 Javier Miranda <miranda@adacore.com>
5212
5213 * sem_ch3.adb (Derive_Subprograms): Complete assertion to request the
5214 use of the full-view of a type when invoking Is_Ancestor.
5215 * sem_type.adb (Is_Ancestor): For consistency, when the traversal of
5216 the full-view of private parents is requested, then use also the
5217 full-view of the parent of the first derivation.
5218
7ab4d95a
AC
52192011-08-04 Tristan Gingold <gingold@adacore.com>
5220
5221 * s-taprop-vxworks.adb (Enter_Task): Use System.Float_Control.Reset
5222 instead of the locally imported procedure.
5223 * s-taprop-mingw.adb (Enter_Task): Ditto.
5224 * s-valrea.adb (Scan_Real): Ditto.
5225 * s-imgrea.adb (Set_Image_Real): Ditto.
5226 * s-flocon.ads: Make the package pure.
5227
52282011-08-04 Thomas Quinot <quinot@adacore.com>
5229
5230 * sinfo.ads, sinfo.adb (Debug_Statement, Set_Debug_Statement): Remove.
5231 * tbuild.ads, tbuild.adb (Make_Pragma): Adjust accordingly.
5232 * sinfo-cn.ads, sinfo-cn.adb (Change_Name_To_Procedure_Call_Statement):
5233 New subprogram, moved here from...
5234 * par.adb, par-ch5.adb (P_Statement_Name): ... here.
5235 * par-prag.adb (Par.Prag, case Pragma_Debug): Do not perform any
5236 rewriting of the last argument into a procedure call statement here...
5237 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): ...do it there
5238 instead.
5239
52402011-08-04 Thomas Quinot <quinot@adacore.com>
5241
5242 * par_sco.adb: Minor reformatting.
5243
51c400f5
AC
52442011-08-04 Robert Dewar <dewar@adacore.com>
5245
5246 * erroutc.adb: Minor reformatting.
5247
52482011-08-04 Thomas Quinot <quinot@adacore.com>
5249
5250 * par_sco.adb: Comment update.
5251
52522011-08-04 Tristan Gingold <gingold@adacore.com>
5253
5254 * s-flocon.ads: New file.
5255 * g-flocon.ads: Now a renaming of s-flocon.
5256 * Makefile.rtl: Add s-flocon.o
5257
6a49f110
AC
52582011-08-04 Javier Miranda <miranda@adacore.com>
5259
5260 * exp_strm.adb (Build_Array_Input_Function): if the array type is
5261 constrained, do not attempt to build a subtype of it.
5262
52632011-08-04 Yannick Moy <moy@adacore.com>
5264
5265 * errout.ads Change comments: remove 'R'M as an example where quotes
5266 are needed; add ALFA as another case where quotes are not needed
5267 * erroutc.adb (Set_Msg_Insertion_Reserved_Word): add ALFA as another
5268 case where quotes are not needed.
5269 * sem_ch11.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
5270 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_prag.adb, sem_res.adb:
5271 Remove all occurrences of 'A'L'F'A
5272
52732011-08-04 Ed Schonberg <schonberg@adacore.com>
5274
5275 * sem_ch13.adb: check legality of invariant pragma.
5276
a4640a39
AC
52772011-08-04 Eric Botcazou <ebotcazou@adacore.com>
5278
5279 * bindgen.adb: Add comments.
5280
52812011-08-04 Yannick Moy <moy@adacore.com>
5282
5283 * einfo.adb, einfo.ads: Free Flag254 and make Formal_Proof_On a
5284 synthesized flag.
5285 * sem_prag.adb (Analyze_Pragma): record the pragma Annotate
5286 (Formal_Proof, On/Off) in the Rep_Item list of the current subprogram.
5287
52882011-08-04 Robert Dewar <dewar@adacore.com>
5289
5290 * exp_ch7.adb, exp_ch6.adb, sem_ch3.adb, layout.adb, sem_ch5.adb,
5291 osint-c.ads, sem_util.ads, gnat1drv.adb, targparm.ads, sem_ch6.adb,
5292 sem_ch13.adb, s-pooloc.adb: Minor reformatting.
5293
39ade2f9
AC
52942011-08-04 Thomas Quinot <quinot@adacore.com>
5295
5296 * s-pooloc.ads, s-pooglo.ads: Minor reformatting
5297
52982011-08-04 Thomas Quinot <quinot@adacore.com>
5299
5300 PR ada/47880
5301 * s-pooloc.adb (Deallocate): Fix the case of deallocating the only
5302 allocated object.
5303
53042011-08-04 Robert Dewar <dewar@adacore.com>
5305
5306 * einfo.ads, exp_ch4.adb: Minor reformatting.
5307
53082011-08-04 Jerome Lambourg <lambourg@adacore.com>
5309
5310 * back_end.ads (Gen_Or_Update_Object_File): Add more comments.
5311
7efc3f2d
AC
53122011-08-04 Ed Schonberg <schonberg@adacore.com>
5313
5314 * exp_ch4.adb (Expand_Composite_Equality): code cleanup: use component
5315 type in all cases to compute list of primitive operations, because full
5316 view may be an itype that is not attached to the list of declarations.
5317
53182011-08-04 Eric Botcazou <ebotcazou@adacore.com>
5319
5320 * bindgen.adb (Gen_Adafinal_Ada): Generate an early return if the
5321 library has already been finalized.
5322 (Gen_Adafinal_C): Likewise.
5323 (Gen_Adainit_Ada): Generate an early return if the library has
5324 already been elaborated.
5325 (Gen_Adainit_C): Likewise.
5326 (Gen_Output_File_Ada): Generate an elaboration flag.
5327 (Gen_Output_File_C): Likewise.
5328
f65df609
HK
53292011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5330
5331 * exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
5332 Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
5333 built in the first place.
5334 (Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
5335 for CodePeer because Finalize_Address was not built to begin with.
5336 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.
5337
a0fb8fe8
AC
53382011-08-04 Pascal Obry <obry@adacore.com>
5339
5340 * adaint.c (__gnat_tmp_name): Use current process id to create temp
5341 filenames, this ensures unicity of filenames across processes.
5342
53432011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5344
5345 * bindgen.adb (Gen_Finalize_Library_Ada): Rename generated routine
5346 Raise_Controlled to Raise_From_Controlled_Operation. Update the
5347 signature of Raise_From_Controlled_Operation by adding flag From_Abort.
5348 Add False as the actual to From_Abort in the generated call to
5349 Raise_From_Controlled_Operation.
5350
53512011-08-04 Jerome Lambourg <lambourg@adacore.com>
5352
5353 * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move to declaration
5354 so that the ali file name can be retrieved from outside of this package.
5355 * back_end.ads, back_end.adb (Gen_Or_Update_Object_File): New method
5356 doing nothing in the general case, but used to update the object file
5357 timestamp if directly generated by the backend.
5358 * gnat1drv.adb (Gnat1drv): Make sure the object file's timestamp is set
5359 to a later time than the ali file one.
5360
9534ab17
AC
53612011-08-04 Yannick Moy <moy@adacore.com>
5362
5363 * einfo.adb, einfo.ads (Formal_Proof_On): new flag set on subprogram
5364 entities whose body contains an Annotate pragma which forces formal
5365 proof on this body.
5366 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
5367 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Adapt call to
5368 Mark_Non_ALFA_Subprogram to pass in a message and node.
5369 * sem_prag.adb (Analyze_Pragma): add treatment of pragma Annotate
5370 (Forma_Proof, On) which sets the flag Formal_Proof_On in the
5371 surrounding subprogram.
5372 * sem_util.adb, sem_util.ads (Mark_Non_ALFA_Subprogram,
5373 Mark_Non_ALFA_Subprogram_Unconditional): if the subprogram being marked
5374 as not in ALFA is annotated with Formal_Proof being On, then an error
5375 is issued based on the additional parameters for message and node.
5376 * snames.ads-tmpl (Name_Formal_Proof): new name for annotation.
5377 * gcc-interface/Make-lang.in: Update dependencies.
5378
53792011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5380
5381 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not generate
5382 Finalize_Address when CodePeer is enabled.
5383
53842011-08-04 Pascal Obry <obry@adacore.com>
5385
5386 * adaint.c (__gnat_tmp_name): Use _tempnam() instead of tempnam() as
5387 the latter returns a pointer to a static buffer which is deallocated
5388 at the end of the routine.
5389
5c0e97dd
AC
53902011-08-04 Yannick Moy <moy@adacore.com>
5391
5392 * sem_ch3.adb (Array_Type_Declaration): move test for type in ALFA
5393 after index creation; mark unconstrained base array type generated as
5394 being in/not in ALFA as well
5395 (Make_Index): mark subtype created as in/not in ALFA
5396 * sem_ch5.adb (Analyze_Iteration_Scheme): mark entity for iterating
5397 over a loop as in/not in ALFA, depending on its type and form of loop
5398 iteration.
5399
54002011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5401
5402 * exp_ch7.adb (Build_Object_Declarations): Initialize flag Abort
5403 directly to False on .NET and JVM.
5404
7a93c64b
YM
54052011-08-04 Yannick Moy <moy@adacore.com>
5406
5407 * sem_ch3.adb (Constrain_Enumeration, Constrain_Integer): remove
5408 constraint that subtype must come from source code to be in ALFA, so
5409 that anonymous subtypes can be in ALFA too.
5410
e9a1ed9b
YM
54112011-08-04 Yannick Moy <moy@adacore.com>
5412
5413 * sem_ch3.adb (Analyze_Object_Declaration): remove obsolete addition of
5414 reference for ALFA mode.
5415 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Compilation_Unit): make
5416 procedure public so as to use it from formal verification back-end.
5417
8e293fbd
AC
54182011-08-04 Jerome Lambourg <lambourg@adacore.com>
5419
5420 * g-comlin.adb (For_Each_Simple_Switch.Is_In_Config): Remove the
5421 invalid checks of the Parameter, making Remove_Switch not working
5422 correctly.
5423
54242011-08-04 Arnaud Charlet <charlet@adacore.com>
5425
5426 * targparm.ads: Update header: no run-time exception is needed on this
5427 file.
5428
54292011-08-04 Vincent Celier <celier@adacore.com>
5430
5431 * a-fihema.adb: Use System.IO instead of GNAT.IO
5432
54332011-08-04 Thomas Quinot <quinot@adacore.com>
5434
5435 * sem_ch3.adb (Access_Definition): Anonymous access to subprogram types
5436 are forbidden in Compiler_Unit mode.
5437
cfae2bed
AC
54382011-08-04 Robert Dewar <dewar@adacore.com>
5439
5440 * sem_util.adb: Minor reformatting.
5441
54422011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5443
5444 * bindgen.adb (Gen_Finalize_Library_Ada): Update the import string for
5445 library-level finalizers.
5446 (Gen_Finalize_Library_C): Update the import string for library-level
5447 finalizers.
5448 (Gen_Finalize_Library_Defs_C): Update the definition name of a
5449 library-level finalizer.
5450 * exp_ch7.adb: Remove with and use clauses for Stringt.
5451 (Create_Finalizer): Remove local variables Conv_Name, Prag_Decl,
5452 Spec_Decl. Add local variable Body_Id. The names of library-level
5453 finalizers are now manually fully qualified and are no longer external.
5454 A single name is now capable of servicing .NET, JVM and non-VM targets.
5455 Pragma Export is no longer required to provide visibility for the name.
5456 (Create_Finalizer_String): Removed.
5457 (New_Finalizer_Name): New routine which mimics New_..._Name.
5458
01f0729a
AC
54592011-08-04 Eric Botcazou <ebotcazou@adacore.com>
5460
5461 * sem_elab.adb (Check_Internal_Call_Continue): Change the type of the
5462 elaboration counter to Standard_Short_Integer.
5463 * sem_util.adb (Build_Elaboration_Entity): Likewise.
5464 * bindgen.adb (Gen_Elab_Externals_Ada): Adjust to above change.
5465 (Gen_Elab_Externals_C): Likewise.
5466
54672011-08-04 Ed Falis <falis@adacore.com>
5468
5469 * system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
5470 system-vxworks-ppc.ads, system-vxworks-m68k.ads,
5471 system-vxworks-mips.ads, system-vxworks-x86.ads
5472 (Always_Compatible_Rep): set to False for all VxWorks targets.
5473
2c1b72d7
AC
54742011-08-04 Robert Dewar <dewar@adacore.com>
5475
5476 * par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads,
5477 makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb,
5478 exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb,
5479 exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb,
5480 exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb,
5481 sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb,
5482 sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb:
5483 Minor reformatting and code reorganization.
5484
54852011-08-04 Emmanuel Briot <briot@adacore.com>
5486
5487 * projects.texi: Added doc for aggregate projects.
5488
824e9320
AC
54892011-08-04 Emmanuel Briot <briot@adacore.com>
5490
5491 * prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items):
5492 Add support for overriding the Project_Path in aggregate projects.
5493
54942011-08-04 Robert Dewar <dewar@adacore.com>
5495
5496 * a-cofove.ads: Minor reformatting.
5497
54982011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5499
5500 * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment
5501 on the generated code.
5502 (Build_Finalize_Statements): Update the comment on the generated code.
5503 (Build_Initialize_Statements): Update the comment on the generated code.
5504 (Build_Object_Declarations): Add local variable Result. The object
5505 declarations are now built in sequence.
5506 * rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and
5507 RE_Unit_Table.
5508
55092011-08-04 Robert Dewar <dewar@adacore.com>
5510
5511 * checks.adb, alfa.adb, alfa.ads: Minor reformatting.
5512
55132011-08-04 Eric Botcazou <ebotcazou@adacore.com>
5514
5515 * einfo.ads (Elaboration_Entity): Document new definition and use.
5516 (Elaboration_Entity_Required): Adjust to above change.
5517 * exp_attr.adb (Expand_N_Attribute_Reference): Likewise.
5518 * exp_ch12.adb: And with and use for Snames.
5519 (Expand_N_Generic_Instantiation): Test 'Elaborated attribute.
5520 * exp_util.adb (Set_Elaboration_Flag): Likewise.
5521 * sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete.
5522 <Check_Unit_Name>: Deal with N_Expanded_Name.
5523 <Attribute_Elaborated>: Extend to all unit names.
5524 * sem_elab.adb: And with and use for Uintp.
5525 (Check_Internal_Call_Continue): Adjust to Elaboration_Entity change.
5526 * sem_util.ads (Build_Elaboration_Entity): Adjust comment.
5527 * sem_util.adb (Build_Elaboration_Entity): Change type to Integer.
5528 * bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken
5529 from Gen_Adainit_Ada.
5530 (Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C.
5531 (Gen_Adafinal_Ada): Remove redundant test. In the non-main program
5532 case, do not call System.Standard_Library.Adafinal; instead call
5533 finalize_library if needed.
5534 (Gen_Adafinal_C): Likewise.
5535 (Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the
5536 non-main program case.
5537 (Gen_Adainit_C): Generate a couple of external declarations here.
5538 In the main program case, set SSL.Finalize_Library_Objects.
5539 (Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change.
5540 (Gen_Elab_Calls_C): Likewise.
5541 (Gen_Finalize_Library_Ada): Likewise. Skip SAL interface units.
5542 (Gen_Finalize_Library_C): Likewise. Generate a full function.
5543 (Gen_Main_C): Put back call to Ada_Final and don't finalize library
5544 objects here.
5545 (Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final
5546 if -a is specified. Call Gen_Elab_Externals_Ada. Move around call to
5547 Gen_Adafinal_Ada.
5548 (Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final
5549 if -a is specified. Call Gen_Elab_Externals_C. Remove useless couple
2c7f9cc0 5550 of external declarations. Call Gen_Finalize_Library_C.
824e9320 5551
316d9d4f
EB
55522011-08-04 Emmanuel Briot <briot@adacore.com>
5553
5554 * prj.adb, prj.ads, makeutl.adb, makeutl.ads (Complete_Mains,
5555 Compute_Compilation_Phases): new subprogram.
5556 (Builder_Data, Builder_Project_Tree_Data): new subprogram and type
5557 The number of mains as well as the various compilation phases that
5558 need to be run are now project tree specific, since various
5559 aggregated trees might have different requirements. In particular,
5560 they do not all require bind or link phases.
5561
9434c32e
EB
55622011-08-04 Emmanuel Briot <briot@adacore.com>
5563
5564 * prj.adb, prj.ads, makeutl.adb, makeutl.ads, prj-env.adb
5565 (Project_Tree_Appdata): New type.
5566 It is now possible to associate application-specific data to a project
5567 tree. In particular, this is used in the gprbuild builder to avoid a
5568 number of global tables and htables, especially now that there can be
5569 several project trees loaded at once because of aggregate projects.
5570 (Debug_Name): new procedure.
5571 * projects.texi: Clarify syntax of "**" for Source_Dirs
5572
41ba34db
EB
55732011-08-03 Emmanuel Briot <briot@adacore.com>
5574
5575 * prj.ads, makeutl.adb, makeutl.ads (Queue.Insert): now also inserts
5576 the "roots" for a main.
5577 (Fill_From_Project): add support for aggregate projects. Main units
5578 in aggregated projects are now automatically added in the list of
5579 files to build (although this fails later on in gprbuild, because
5580 these files are not using the root proejct tree, so this needs
5581 further cleanup)
5582 * gcc-interface/Make-lang.in: Update dependencies.
5583
fccd42a9
AC
55842011-08-03 Yannick Moy <moy@adacore.com>
5585
5586 * sem_ch4.adb (Analyze_Conditional_Expression): only allow boolean
5587 conditional expression in ALFA.
5588 * sem_res.adb (Resolve_Conditional_Expression): mark non-boolean
5589 expressions as not in ALFA.
5590
55912011-08-03 Robert Dewar <dewar@adacore.com>
5592
5593 * a-cofove.adb: Minor reformatting.
5594
55952011-08-03 Emmanuel Briot <briot@adacore.com>
5596
5597 * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads
5598 (Insert_Project_Sources, Insert_withed_Sources_For): moved from the
5599 gprbuild sources.
5600 These packages are more logically placed in the Queue package, since
5601 they manipulate the queue. It is also likely that they can be adapted
5602 for gnatmake, thus sharing more code.
5603 (Finish_Program, Fail_Program): moved from the gprbuild sources, so
5604 that we could move the above.
5605
56062011-08-03 Emmanuel Briot <briot@adacore.com>
5607
5608 * errutil.adb (Finalize): clean up the list of error messages on exit.
5609 Calling this subprogram multiple times will no longer show duplicate
5610 error messages on stderr.
5611
56122011-08-03 Emmanuel Briot <briot@adacore.com>
5613
5614 * g-comlin.adb, g-comlin.ads (Set_Command_Line): ignore the parameter
5615 Getopt_Switches when we have already define a command line
5616 configuration.
5617
5e8c8e44
YM
56182011-08-03 Yannick Moy <moy@adacore.com>
5619
5620 * sem_ch11.adb (Analyze_Raise_xxx_Error): do not mark such nodes as not
5621 in ALFA. Instead, they are considered as assertions to prove.
5622 * sem_ch4.adb (Analyze_Conditional_Expression): do not always mark such
5623 nodes as not in ALFA. Instead, include conditional expressions in ALFA
5624 if they have no ELSE part, or if they occur in pre- and postconditions,
5625 where the Condition cannot have side-effects in ALFA
5626 (Analyze_Membership_Op): do not mark such nodes as not in ALFA
5627 (Analyze_Type_Conversion): do not always mark such nodes as not in ALFA.
5628 Instead, include type conversion between scalar types in ALFA.
5629 * sem_ch6.adb (Process_Formals): correctly mark a parameter in ALFA
5630 if-and-only-if its type is in ALFA.
5631
5ffe0bab
AC
56322011-08-03 Thomas Quinot <quinot@adacore.com>
5633
5634 * scos.adb, get_scos.adb, put_scos.adb
5635 New code letter for decisions: G (entry guard)
5636 * par_sco.adb
5637 (Traverse_Subprogram_Body): Rename to...
5638 (Traverse_Subprogram_Or_Task_Body): New subrpogram.
5639 (Traverse_Protected_Body): New subprogram
5640 (Traverse_Declarations_Or_Statements): Add traversal of task bodies,
5641 protected bodies and entry bodies.
5642
56432011-08-03 Yannick Moy <moy@adacore.com>
5644
5645 * einfo.adb, einfo.ads (Is_Postcondition_Proc): new flag for procedure
5646 entities with get/set subprograms, which is set on procedure entities
5647 generated by the compiler for a postcondition.
5648 * sem_ch6.adb (Process_PPCs): set new flag on postcondition procedures
5649 * alfa.adb, alfa.ads (Get_Entity_For_Decl): new function returning the
5650 entity for a declaration
5651 (Get_Unique_Entity_For_Decl): new function returning an entity which
5652 represents a declaration, so that matching spec and body have the same
5653 entity.
5654
56552011-08-03 Robert Dewar <dewar@adacore.com>
5656
5657 * a-except-2005.adb, a-cfhama.adb, a-cfhase.adb, a-cfhase.ads,
5658 a-cforma.adb, a-cforse.ads, a-cforse.adb: Minor reformatting
5659
56602011-08-03 Yannick Moy <moy@adacore.com>
5661
5662 * lib-xref-alfa.adb (Detect_And_Add_ALFA_Scope): make the subprogram
5663 library-level because retriction No_Implicit_Dynamic_Code in the
5664 front-end prevents its definition as a local subprogram
5665 (Traverse_Compilation_Unit): extract new procedure from Add_ALFA_File,
5666 for reuse in other contexts
5667 (Traverse_Declarations_Or_Statements,
5668 Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
5669 Traverse_Package_Declaration, Traverse_Subprogram_Body): make all these
5670 procedures take a callback parameter to be called on all declarations
5671 * lib-xref.ads
5672 (Traverse_All_Compilation_Units): new generic function to traverse a
5673 compilation unit and call a callback parameter on all declarations
5674
f9ad6b62
AC
56752011-08-03 Javier Miranda <miranda@adacore.com>
5676
5677 * sem_prag.adb (Process_Interface_Name): Allow duplicated export names
5678 in Java since they are always enclosed in a namespace that
5679 differentiates them, and overloaded entities are supported by the VM.
5680
56812011-08-03 Ed Schonberg <schonberg@adacore.com>
5682
5683 * checks.adb (Determine_Range): If a computed bound of an operation is
5684 outside the range of the base type of the expression, and overflow
5685 checks are enabled, the result is unknown and cannot be used for any
5686 subsequent constant folding.
5687 * sem_eval.adb (Compile_Time_Compare): if the bounds of one operand are
5688 unknown, so is the result of the comparison.
5689
56902011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5691
5692 * a-except-2005.adb (Raise_From_Controlled_Operation): Add new formal
5693 From_Abort. When finalization was triggered by an abort, propagate
5694 Standard'Abort_Signal rather than Program_Error.
5695 * a-except-2005.ads (Raise_From_Controlled_Operation): Add new formal
5696 From_Abort.
5697 * a-except.adb (Raise_From_Controlled_Operation): Add new formal
5698 From_Abort. When finalization was triggered by an abort, propagate
5699 Standard'Abort_Signal rather than Program_Error.
5700 * a-except.ads:(Raise_From_Controlled_Operation): Add new formal
5701 From_Abort.
5702 * exp_ch7.adb:(Build_Adjust_Or_Finalize_Statements): New local variable
5703 Abort_Id. Update the calls to Build_Object_Declarations and
5704 Build_Raise_Statement to include Abort_Id.
5705 (Build_Adjust_Statements): New local variable Abort_Id. Update the
5706 calls to Build_Object_Declarations and Build_Raise_Statement to include
5707 Abort_Id.
5708 (Build_Finalize_Statements): New local variable Abort_Id. Update the
5709 calls to Build_Object_Declarations and Build_Raise_Statement to include
5710 Abort_Id.
5711 (Build_Components): Create an entity for Abort_Id when exceptions are
5712 allowed on the target.
5713 (Build_Finalizer): New local variable Abort_Id.
5714 (Build_Initialize_Statements): New local variable Abort_Id. Update the
5715 calls to Build_Object_Declarations and Build_Raise_Statement to include
5716 Abort_Id.
5717 (Build_Object_Declarations): Add new formal Abort_Id. Create the
5718 declaration of flag Abort_Id to preserve the original abort status
5719 before finalization code is executed.
5720 (Build_Raise_Statement): Add new formal Abort_Id. Pass Abort_Id to
5721 runtime routine Raise_From_Controlled_Operation.
5722 (Create_Finalizer): Update the call to Build_Raise_Statement to include
5723 Abort_Id. Update the call to Build_Object_Declarations to include
5724 Abort_Id. Update the layout of the finalizer body.
5725 (Make_Handler_For_Ctrl_Operation): Add an actual for From_Abort.
5726 (Process_Transient_Objects): New local variable Abort_Id. Remove the
5727 clunky code to create all flags and objects related to
5728 exception propagation and replace it with a call to
5729 Build_Object_Declarations. Update the call to Build_Raise_Statement to
5730 include Abort_Id.
5731 * exp_ch7.ads (Build_Object_Declarations): Moved from body to spec.
5732 Add new formal Abort_Id and associated comment on its use.
5733 (Build_Raise_Statement): Add new formal Abort_Id and associated comment
5734 on its use.
5735 * exp_intr.adb (Expand_Unc_Deallocation): New local variable Abort_Id.
5736 Remove the clunky code to create all flags and objects related to
5737 exception propagation and replace it with a call to
5738 Build_Object_Declarations. Update the call to Build_Raise_Statement.
5739
57402011-08-03 Eric Botcazou <ebotcazou@adacore.com>
5741
5742 * s-tassta.adb: Fix minor typos.
5743
57442011-08-03 Robert Dewar <dewar@adacore.com>
5745
5746 * rtsfind.ads, makeutl.ads, prj.ads, prj.adb, make.adb,
5747 lib-writ.adb, makeutl.adb, s-soflin.ads, clean.adb: Minor reformatting.
5748
1cdfa9be
AC
57492011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5750
5751 * exp_ch7.adb (Create_Finalizer): Treat freeze nodes in similar fashion
5752 to packages. This ensures that the finalizer body will not end up
5753 inside the freeze node.
5754 (Process_Declarations): Add code to detect whether a freeze node has a
5755 nested finalization collection.
5756
57572011-08-03 Pascal Obry <obry@adacore.com>
5758
5759 * g-awk.adb, g-awk.ads: Make GNAT.AWK API compatible with Ada 2005.
5760 (Current_Session): Return a not null access to Session_Type.
5761 (Default_Session): Likewise.
5762
243cae0a
AC
57632011-08-03 Robert Dewar <dewar@adacore.com>
5764
5765 * a-cfdlli.adb, bindgen.adb, exp_ch4.adb, exp_ch13.adb, sem_warn.adb,
5766 exp_ch3.adb, exp_ch3.ads: Minor reformatting.
5767
57682011-08-03 Pascal Obry <obry@adacore.com>
5769
5770 * g-awk.ads: Minor comment fix.
5771
57722011-08-03 Sergey Rybin <rybin@adacore.com>
5773
5774 * tree_io.ads (ASIS_Version_Number): Update because of the changes in
5775 the tree structure related to discriminant constraints.
5776 Original_Discriminant cannot be used any more for computing the
5777 defining name for the reference to a discriminant.
5778
57792011-08-03 Ed Schonberg <schonberg@adacore.com>
5780
5781 * sem_disp.adb (Is_Tag_Indeterminate): If the return type of the
5782 function is not visibly tagged, this is not a dispatching call and
5783 therfore is not Tag_Indeterminate, even if the function is marked as
5784 dispatching on result.
5785
f553e7bc
AC
57862011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5787
5788 * exp_ch13.adb: Add with and use clauses for Restrict and Rident.
5789 (Expand_N_Free_Statement): Add a guard to protect against run-times
5790 which do not support controlled types.
5791 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Add a guard to protect
5792 against run-times which do not support controlled types.
5793 * exp_ch4.adb (Complete_Controlled_Allocation): Add a guard to protect
5794 against run-times which do not support controlled types.
5795 * exp_ch7.adb (Build_Finalization_Collection): Add a guard to protect
5796 against run-times which do not support controlled types.
5797 * exp_util.adb (Needs_Finalization): Code reformatting. Add a guard to
5798 protect against run-times which do not support controlled types.
5799
58002011-08-03 Eric Botcazou <ebotcazou@adacore.com>
5801
5802 * exp_intr.adb: Put back with and use clauses for Exp_Ch11.
5803 (Expand_Unc_Deallocation): Expand the AT_END handler at the very end.
5804
e4982b64
AC
58052011-08-03 Ed Schonberg <schonberg@adacore.com>
5806
5807 * exp_ch5.adb (Expand_Iterator_Loop): indicate that the cursor is
5808 modified in the source, to prevent spurious warnings when compiling
5809 with -gnatg.
5810
58112011-08-03 Thomas Quinot <quinot@adacore.com>
5812
5813 * a-except-2005.adb: Minor reformatting.
5814
58152011-08-03 Ed Schonberg <schonberg@adacore.com>
5816
5817 * sem_warn.adb (Check_One_Unit): if the only mention of a withed unit
5818 is a renaming declaration in the private part of a package, do not emit
5819 a warning that the with_clause could be moved because the renaming may
5820 be used in the body or in a child unit.
5821
58222011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5823
5824 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
5825 Propagate the Comes_From_Source attribute from the original return
5826 object to the renaming.
5827
58282011-08-03 Jose Ruiz <ruiz@adacore.com>
5829
5830 * exp_ch7.adb (Build_Raise_Statement): Do not call
5831 Raise_From_Controlled_Operation when this routine is not present in
5832 the run-time library.
5833 (Cleanup_Protected_Object, Cleanup_Task): For restricted run-time
5834 libraries (Ravenscar), tasks are non-terminating, and protected objects
5835 and tasks can only appear at library level, so we do not want
5836 finalization of protected objects nor tasks.
5837 * exp_intr.adb: Minor clarification in comment.
5838 bindgen.adb (Gen_Adainit_Ada, Gen_Main_C, Gen_Output_File_Ada,
5839 Gen_Output_File_C): Remove references to finalization of library-level
5840 objects when using restricted run-time libraries.
5841
58422011-08-03 Ed Schonberg <schonberg@adacore.com>
5843
5844 * sem_ch3.adb (Build_Discriminant_Constraints): Set
5845 Original_Discriminant only if the parent type is a generic formal.
5846
deb8dacc
HK
58472011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5848
5849 * exp_ch13.adb: Add with and use clause for Targparm;
5850 (Expand_N_Free_Statement): Prevent the generation of a custom
5851 Deallocate on .NET/JVM targets since this requires pools and address
5852 arithmetic.
5853 * exp_ch4.adb (Expand_Allocator_Expression): When compiling for
5854 .NET/JVM targets, attach the newly allocated object to the access
5855 type's finalization collection. Do not generate a call to
5856 Set_Finalize_Address_Ptr on .NET/JVM because this routine does not
5857 exist in the runtime.
5858 (Expand_N_Allocator): When compiling for .NET/JVM targets, do not
5859 create a custom Allocate for object that do not require initialization.
5860 Attach a newly allocated object to the access type's finalization
5861 collection on .NET/JVM.
5862 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add special processing for
5863 assignment of controlled types on .NET/JVM. The two hidden pointers
5864 Prev and Next and stored and later restored after the assignment takes
5865 place.
5866 * exp_ch6.adb (Expand_Call): Add local constant Curr_S. Add specialized
5867 kludge for .NET/JVM to recognize a particular piece of code coming from
5868 Heap_Management and change the call to Finalize into Deep_Finalize.
5869 * exp_ch7.adb (Build_Finalization_Collection): Allow the creation of
5870 finalization collections on .NET/JVM only for types derived from
5871 Controlled. Separate the association of storage pools with a collection
5872 and only allow it on non-.NET/JVM targets.
5873 (Make_Attach_Call): New routine.
5874 (Make_Detach_Call): New routine.
5875 (Process_Object_Declarations): Suppress the generation of
5876 build-in-place return object clean up code on .NET/JVM since it uses
5877 pools.
5878 * exp_ch7.ads (Make_Attach_Call): New routine.
5879 (Make_Detach_Call): New routine.
5880 * exp_intr.adb Add with and use clause for Targparm.
5881 (Expand_Unc_Deallocation): Detach a controlled object from a collection
5882 on .NET/JVM targets.
5883 * rtsfind.ads: Add entries RE_Attach, RE_Detach and
5884 RE_Root_Controlled_Ptr to tables RE_Id and RE_Unit_Table.
5885 * snames.ads-tmpl: Add name Name_Prev. Move Name_Prev to the special
5886 names used in finalization.
5887
58882011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5889
5890 * a-fihema.adb: Add with and use clauses for System.Soft_Links.
5891 (Attach, Detach): Lock the current task when chaining an object onto a
5892 collection.
5893
df3e68b1
HK
58942011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
5895
5896 * a-except.adb, a-except-2005.adb (Raise_From_Controlled_Operation):
5897 Rewritten to create the message strings when the exception is not
5898 raised by an abort during finalization.
5899 * a-except.ads, a-except-2005.ads: Add pragma Export for procedure
5900 Raise_From_Controlled_Operation and update its associated comment.
5901 * a-fihema.ads, a-fihema.adb: New GNAT unit.
5902 Ada.Finalization.Heap_Management provides key functionality
5903 associated with controlled objects on the heap, their creation,
5904 finalization and reclamation. Type Finalization_Collection is
5905 effectively a wrapper which sits ontop of a storage pool and performs
5906 all necessary bookkeeping for all the objects it contains. Each
5907 access-to-controlled or access-to-class-wide type receives a collection
5908 as part of its expansion. The compiler generates buffer code and
5909 invokes Allocate / Deallocate to create and destroy allocated
5910 controlled objects.
5911 * a-finali.adb ("="): Removed.
5912 * a-finali.ads ("="): Removed. Controlled types no longer carry hidden
5913 fields Prev and Next.
5914 * ali.adb (Scan_ALI): Add parsing code to process PF / Has_Finalizer.
5915 A library unit with at least one controlled object on the library level
5916 has a special finalizer which is invoked by the binder. To signal this,
5917 ali files carry field PF.
5918 * ali.ads: New field in type Unit_Record called Has_Finalizer. Add
5919 associated comment on field usage.
5920 * a-tags.adb (Get_RC_Offset): Removed.
5921 (Needs_Finalization): New routine.
5922 * a-tags.ads: Update the structure of the GNAT dispatch tables.
5923 Dispatch tables now carry field Needs_Finalization which provides
5924 runtime indication whether a type is controlled or has controlled
5925 components or both. Remove field RC_Offset.
5926 (Get_RC_Offset): Removed along with its associated pragma Export.
5927 Since tagged types with controlled components no longer carry hidden
5928 field _controller, the special mechanism to retrieve its location is no
5929 longer needed.
5930 (Needs_Finalization): New routine.
5931 * atree.ads, atree.adb (Elist24): New routine.
5932 (Set_Elist24): New routine.
5933 * atree.h: Add a define clause for Elist24.
5934 * bindgen.adb New library-level variable Lib_Final_Built.
5935 (Gen_Adafinal_Ada): Reimplemented. Depending on the restrictions or the
5936 presence of a VM target, the routine generates calls to the proper
5937 library finalization routine.
5938 (Gen_Adainit_Ada): Import Finalize_Library_Objects only on non-VM
5939 targets. Set the correct library finalization routine depending on
5940 whether the library has controlled objects or this is a VM compilation.
5941 (Gen_Finalize_Library_Ada): New routine. This procedure generates calls
5942 to library-level finalizers of compiled units in reverse order of
5943 elaboration. It also produces exception management code and reraises a
5944 potential exception after all units have been finalized.
5945 (Gen_Finalize_Library_C): New routine. This procedure generates calls to
5946 library-level finalizers of compiled units in reverse order of
5947 elaboration.
5948 (Gen_Finalize_Library_Defs_C): New routine. This procedure generates the
5949 definitions of all library-level finalizers available to the compilation
5950 (Gen_Main_Ada): Directly call Adafinal which now contails all target
5951 dependent code.
5952 (Gen_Main_C): Add new local constant Needs_Library_Finalization. Call
5953 System.Standard_Library.Adafinal directly. If the library needs
5954 finalization actions, create the sequence of finalization calls.
5955 (Gen_Output_File_Ada): Alphabetize local variables and constants.
5956 Generate a with clause for System.Soft_Links when compiling for a VM.
5957 Remove the code which imports System.Standard_Library.Adafinal as
5958 Do_Finalize. Generate the library finalization routine.
5959 (Gen_Output_File_C): Add new local constant Needs_Library_Finalization.
5960 If the library needs finalization actions, create all the definitions
5961 of library- level finalizers.
5962 (Has_Finalizer): New routine. Determines whether at least one compiled
5963 unit has a library-level finalizer.
5964 Add type Qualification_Mode.
5965 (Set_Unit_Name): Add a formal which controls the replacement of a dot.
5966 * einfo.adb: New usage of field 15 as Return_Flag.
5967 Remove Finalization_Chain_Entity from the usages of field 19.
5968 Remove Associated_Final_Chain from the usages of field 23.
5969 New usage of field 23 as Associated_Collection.
5970 New usage of field 24 as Finalizer.
5971 New usage of flag 252 as Is_Processed_Transient.
5972 (Associated_Final_Chain): Removed.
5973 (Associated_Collection): New routine.
5974 (Finalization_Chain_Entity): Removed.
5975 (Finalizer): New routine.
5976 (Is_Finalizer): New routine.
5977 (Is_Processed_Transient): New routine.
5978 (Return_Flag): New routine.
5979 (Set_Associated_Final_Chain): Removed.
5980 (Set_Associated_Collection): New routine.
5981 (Set_Finalization_Chain_Entity): Removed.
5982 (Set_Finalizer): New routine.
5983 (Set_Is_Processed_Transient): New routine.
5984 (Set_Return_Flag): New routine.
5985 (Write_Entity_Flags): Include Is_Processed_Transient to the list of
5986 displayed flags.
5987 (Write_Field8_Name): Alphabetize the output.
5988 (Write_Field11_Name): Alphabetize the output.
5989 (Write_Field12_Name): Alphabetize the output.
5990 (Write_Field13_Name): Alphabetize the output.
5991 (Write_Field14_Name): Alphabetize the output.
5992 (Write_Field15_Name): Alphabetize the output.
5993 (Write_Field16_Name): Alphabetize the output.
5994 (Write_Field17_Name): Alphabetize the output.
5995 (Write_Field18_Name): Alphabetize the output.
5996 (Write_Field19_Name): Alphabetize the output. Remove the output of
5997 Finalization_Chain_Entity.
5998 (Write_Field20_Name): Alphabetize the output.
5999 (Write_Field21_Name): Alphabetize the output.
6000 (Write_Field22_Name): Alphabetize the output.
6001 (Write_Field23_Name): Alphabetize the output. Remove the output of
6002 Associated_Final_Chain. Add output for Associated_Collection.
6003 (Write_Field24_Name): Alphabetize the output.
6004 (Write_Field25_Name): Add output for Finalizer.
6005 (Write_Field26_Name): Alphabetize the output.
6006 (Write_Field27_Name): Alphabetize the output.
6007 (Write_Field28_Name): Alphabetize the output.
6008 * einfo.ads: Add new field description for Associated_Collection and
6009 its uses in nodes.
6010 Remove Associated_Final_Chain and its uses in nodes.
6011 Remove Finalization_Chain_Entity and its uses in nodes.
6012 Add new field description for Finalizer and its uses in nodes.
6013 Add new synthesized attribute Is_Finalizer.
6014 Add new flag description for Is_Processed_Transient and its uses in
6015 nodes.
6016 Add new field description for Return_Flag and its uses in nodes.
6017 (Associated_Final_Chain): Removed along with its pragma Inline.
6018 (Associated_Collection): New routine and pragma Inline.
6019 (Finalization_Chain_Entity): Removed along with its pragma Inline.
6020 (Finalizer): New routine and pragma Inline.
6021 (Is_Finalizer): New routine and pragma Inline.
6022 (Is_Processed_Transient): New routine and pragma Inline.
6023 (Return_Flag): New routine and pragma Inline.
6024 (Set_Associated_Final_Chain): Removed along with its pragma Inline.
6025 (Set_Associated_Collection): New routine and pragma Inline.
6026 (Set_Finalization_Chain_Entity): Removed along with its pragma Inline.
6027 (Set_Finalizer): New routine and pragma Inline.
6028 (Set_Is_Processed_Transient): New routine and pragma Inline.
6029 (Set_Return_Flag): New routine and pragma Inline.
6030 * exp_aggr.adb: Alphabetize subprograms.
6031 (Build_Array_Aggr_Code): Remove formal Flist and its associated comment.
6032 (Build_Record_Aggr_Code): Remove formals Flist and Obj along with their
6033 associated comments. Remove local variables External_Final_List and
6034 Attach.
6035 Rename Ctrl_Stuff_Done to Finalization_Done. Rename local variable A to
6036 Ancestor. Remove the retrieval of finalization lists. Update the call to
6037 Make_Adjust_Call.
6038 (Convert_Aggr_In_Allocator): Remove the retrieval of finalization
6039 lists. Update the call to Late_Expansion.
6040 (Convert_Aggr_In_Assignment): Update the call to Late_Expansion.
6041 (Convert_Aggr_In_Object_Decl): Update the call to Late_Expansion.
6042 (Gen_Assign): Remove the retrieval of the finalization list used to
6043 build the assignment. Update the calls to Make_Init_Call and
6044 Make_Adjust_Call.
6045 (Gen_Ctrl_Actions_For_Aggr): Renamed to Generate_Finalization_Actions.
6046 Remove the mechanism to determine attachment levels and finalization
6047 list retrieval. Remove the processing for coextensions.
6048 (Init_Controller): Removed. Controllers no longer exist.
6049 (Late_Expansion): Remove formals Flist and Obj along with their
6050 associated comments. Update the calls to Build_Record_Aggr_Code and
6051 Build_Array_Aggr_Code.
6052 * exp_ch13.adb (Expand_N_Free_Statement): New routine.
6053 (Expand_N_Freeze_Entity): Add special processing for finalizers which
6054 appear in entry bodies, protected subprograms and task bodies.
6055 * exp_ch13.ads (Expand_N_Free_Statement): New routine.
6056 * exp_ch3.adb (Add_Final_Chain): Removed.
6057 (Build_Array_Init_Proc): Alphabetize local variables.
6058 (Build_Assignment): Alphabetize local variables. Update the call to
6059 Maked_Adjust_Call.
6060 (Build_Class_Wide_Master): Rename local variables to better reflect
6061 their role.
6062 (Build_Discriminant_Assignments): Code reformatting.
6063 (Build_Init_Call_Thru): Code reformatting.
6064 (Build_Init_Procedure): Code reformatting. Generate a special version
6065 of Deep_Finalize which is capable of finalizing all initialized
6066 components and ignore the rest.
6067 (Build_Init_Statements): Rename local variables to better reflect their
6068 role.
6069 Reimplement the mechanism to include the creation and update of an index
6070 variable called a "counter". It is used as a bookmark for tracing
6071 initialized and non-initialized components.
6072 (Build_Initialization_Call): Remove local variable Controller_Typ.
6073 Alphabetize all local variables. Remove the initialization of the
6074 record controller and update the call to Make_Init_Call.
6075 (Build_Record_Init_Proc): Rename formal Pe to Rec_Ent.
6076 New local variable Counter.
6077 (Constrain_Array): Alphabetize.
6078 (Expand_Freeze_Array_Type): Create a collection instead of a
6079 finalization list.
6080 (Expand_Freeze_Class_Wide_Type): New routine. Creates TSS primitive
6081 Finalize_Address which is used in conjunction with allocated controlled
6082 objects.
6083 (Expand_N_Object_Declaration): Remove the creation of a finalization
6084 list for anonymous access types. Update the calls to Make_Init_Call and
6085 Make_Adjust_Call.
6086 (Expand_Freeze_Record_Type): Remove local variable Flist. Remove the
6087 retrieval of finalization lists. Remove the expansion of the record
6088 controller. Create TSS primitive Finalize_Address used in conjunction
6089 with controlled objects on the heap. Create finalization collections
6090 for access-to-controlled record components.
6091 (Expand_Record_Controller): Removed.
6092 (Freeze_Type): Remove the freezing of record controllers. Freezing of
6093 class-wide types now requires additional processing. Create
6094 finalization collections for access-to-controlled types.
6095 (Increment_Counter): New routine.
6096 (Make_Counter): New routine.
6097 (Make_Eq_If): Remove the mention of Name_uController.
6098 (Make_Predefined_Primitive_Specs): There is no longer need to skip
6099 types coming from System.Finalization_Root.
6100 (Predef_Deep_Spec): Reimplemented to reflect the new parameter profiles.
6101 (Predefined_Primitive_Bodies): There is no longer need to skip types
6102 coming from System.Finalization_Root.
6103 (Stream_Operation_OK): Do not generate stream routines for
6104 type Ada.Finalization.Heap_Management.Finalization_Collection.
6105 * exp_ch3.ads: Alphabetize subprograms.
6106 * exp_ch4.adb: Remove with and use clause for Sem_Ch8.
6107 Add with and use clause for Lib.
6108 (Complete_Coextension_Finalization): Removed.
6109 (Complete_Controlled_Allocation): New routine. Create a finalization
6110 collection for anonymous access-to-controlled types. Create a custom
6111 Allocate which interfaces with the back end and the machinery in
6112 Heap_Management.
6113 (Expand_Allocator_Expression): Add necessary calls to
6114 Complete_Controlled_Allocation. Remove the retrieval of finalization
6115 lists. Update the calls to Make_Adjust_Call. Generate a call to
6116 Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
6117 the associated collection.
6118 (Expand_N_Allocator): Remove the processing for dynamic coextensions.
6119 Code clean up. Remove the retrieval of finalization lists and
6120 attachment levels.
6121 Update the call to Make_Init_Call. Generate a call to
6122 Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
6123 the associated collection.
6124 (Get_Allocator_Final_List): Removed. Finalization lists are not
6125 available.
6126 (Suitable_Element): Remove the mention of Name_uController.
6127 * exp_ch5.adb: Remove with and use clauses for Ttypes and Uintp.
6128 (Make_Tag_Ctrl_Assignment): Rewritten to simply do a finalization of
6129 the left hand side, carry out the assignment and adjust the left hand
6130 side.
6131 * exp_ch6.adb (Add_Final_List_Actual_To_Build_In_Place_Call): Removed.
6132 (Add_Collection_Actual_To_Build_In_Place_Call): New routine.
6133 (BIP_Formal_Suffix): Rename BIP_Final_List and BIPfinallist to
6134 BIP_Collection and BIPcollection.
6135 (Build_Heap_Allocator): New routine used to allocate the return object
6136 of a build-in-place function onto a collection.
6137 (Expand_Ctrl_Function_Call): Moved from Exp_Ch7.
6138 (Expand_Call): Do not replace direct calls to Deep routines with their
6139 aliases.
6140 (Expand_N_Extended_Return_Statement): Give all variables shorter names
6141 and update their occurrences. Add a special return flag to monitor the
6142 [ab]normal execution of the function. The flag is set right before the
6143 return statement.
6144 Rewrite the mechanism used to allocate a build-in-place return object
6145 on the heap or on a storage pool.
6146 (Is_Direct_Deep_Call): New routine.
6147 (Make_Build_In_Place_Call_In_Allocator): Add a collection to a
6148 build-in-place function call instead of a final list. Build a call to
6149 Set_Finalize_Address_Ptr to decorate the associated collection.
6150 (Make_Build_In_Place_Call_In_Anonymous_Context): Create a temporary in
6151 order to name the build-in-place function call's result for later
6152 finalization. Add a collection to a build-in-place function call
6153 instead of a final list.
6154 (Make_Build_In_Place_Call_In_Assignment): Add a collection to a
6155 build-in-place function call instead of a final list. Remove the code
6156 which moves one final list and transforms it into the actual in a
6157 nested build-in-place call.
6158 (Make_Build_In_Place_Call_In_Object_Declaration): Add a collection to a
6159 build-in-place function call instead of a final list.
6160 (Move_Final_List): Removed.
6161 (Needs_BIP_Collection): New routine.
6162 (Needs_BIP_Final_List): Removed.
6163 * exp_ch6.ads: Replace BIP_Final_List with BIP_Collection in
6164 enumeration type BIP_Formal_Kind.
6165 Update the related comment.
6166 (Needs_BIP_Collection): New routine.
6167 (Needs_BIP_Final_List): Removed.
6168 * exp_ch7.adb: Add with and use clauses for Elists, Exp_Ch6, Stringt
6169 and Ttypes. Remove with and use clauses for Sem_Type. Alphabetize the
6170 majority of subprograms in this unit. Add Name_Finalize_Address to
6171 array Name_Of and TSS_Finalize_Address to array Deep_Name_Of.
6172 (Build_Adjust_Or_Finalize_Statements): Create the adjust or finalization
6173 statements for an array type.
6174 (Build_Adjust_Statements): Create the adjust statements for a record
6175 type.
6176 (Build_Cleanup_Statements): New routine. A procedure which given any
6177 construct containing asynchronous calls, references to _master, or is a
6178 task body, a task allocation or a protected body produces the necessary
6179 runtime calls to clean up these constructs.
6180 (Build_Exception_Handler): New routine.
6181 (Build_Final_List): Removed.
6182 (Build_Finalization_Collection): New routine. A core procedure which
6183 creates a collection to service heap allocated controlled objects
6184 associated with an access-to-controlled type.
6185 (Build_Finalize_Statements): Create the finalization statements for a
6186 record types.
6187 (Build_Finalizer): New routine. A core procedure which given any
6188 construct with declarations and/or statements detects all objects which
6189 need any type of clean up (controlled objects, protected objects) and
6190 generates all necessary code to clean up the said objects in the proper
6191 order.
6192 (Build_Finalizer_Call): New routine.
6193 (Build_Initialize_Statements): Create the initialization statements for
6194 an array type. The generated routine contains code to finalize partially
6195 initialized arrays.
6196 (Build_Object_Declarations): New routine.
6197 (Build_Raise_Statement): New routine.
6198 (Clean_Simple_Protected_Objects): Removed.
6199 (Controller_Component): Removed.
6200 (Enclosing_Function): New routine.
6201 (Expand_Cleanup_Actions): Create a finalizer for a construct which has
6202 either declarations or statements or both.
6203 (Expand_N_Package_Body): Create a finalizer for a non-generic package.
6204 (Expand_N_Package_Declaration): Create a finalizer for a non-generic
6205 package.
6206 (Find_Final_List): Removed.
6207 (Global_Flist_Ref): Removed.
6208 (In_Finalization_Root): Removed.
6209 (Insert_Actions_In_Scope_Around): Determine the range of the transient
6210 scope in terms of tree nodes. Process all transient variables within
6211 that range.
6212 (Make_Adjust_Call): Rewritten. There is no longer an attach call
6213 generated after the adjust.
6214 (Make_Attach_Call): Removed.
6215 (Make_Call): New routine.
6216 (Make_Clean): Removed.
6217 (Make_Deep_Array_Body): Rewritten to simply invoke the appropriate
6218 build routines.
6219 (Make_Deep_Proc): Rewritten to generate the new profile signature used
6220 in Deep routines.
6221 (Make_Deep_Record_Body): Rewritten to simply invoke the appropriate
6222 build routines.
6223 (Make_Final_Call): Modified to simply create a call to either
6224 Deep_Finalize or Finalize.
6225 (Make_Finalize_Address_Body): New routine.
6226 (Make_Finalize_Address_Stmts): New routine. A function which produces
6227 TSS primitive Finalize_Address used in conjunction with heap allocated
6228 controlled objects.
6229 (Make_Handler_For_Ctrl_Operation): Add specialized code for .NET/JVM.
6230 (Make_Init_Call): Rewritten. There is no longer an attach call
6231 generated after initialization.
6232 (Make_Local_Deep_Finalize): New routine.
6233 (Make_Set_Finalize_Address_Ptr_Call): New routine.
6234 (Make_Transient_Block): Remove the finalization list retrieval and
6235 manipulation.
6236 (Needs_Finalization): Moved to Exp_Util.
6237 (Parent_Field_Type): New routine.
6238 (Preprocess_Components): New routine.
6239 (Process_Transient_Objects): New routine.
6240 (Wrap_HSS_In_Block): New routine.
6241 (Wrap_Transient_Declaration): Remove finalization list management and
6242 controller insertion.
6243 (Wrap_Transient_Expression): Code reformatting.
6244 (Wrap_Transient_Statement): Code reformatting.
6245 * exp_ch7.ads (Build_Final_List): Removed.
6246 (Build_Finalization_Collection): New routine.
6247 (Build_Raise_Statement): New routine.
6248 (Controller_Component): Removed.
6249 (Expand_Ctrl_Function_Call): Moved to Exp_Ch6.
6250 (Find_Final_List): Removed.
6251 (In_Finalization_Root): Removed.
6252 (Is_Simple_Protected_Type): Update related comment.
6253 (Make_Adjust_Call): New parameter profile and associated comments.
6254 (Make_Attach_Call): Removed.
6255 (Make_Final_Call): New parameter profile and associated comments.
6256 (Make_Finalize_Address_Body): New routine.
6257 (Make_Init_Call): New parameter profile and associated comments.
6258 (Make_Local_Deep_Finalize): New routine.
6259 (Make_Set_Finalize_Address_Ptr_Call): New routine.
6260 (Needs_Finalization): Moved to Exp_Util.
6261 * exp_ch9.adb (Add_Object_Pointer): Code reformatting.
6262 (Expand_N_Protected_Body): Remove the handling of finalization lists.
6263 (Find_Protection_Type): Moved to Exp_Util.
6264 * exp_disp.adb: Remove with and use clauses for Exp_Ch7.
6265 (Make_DT): Update sequence of dispatch table initialization. Remove the
6266 initialization of field RC_Offset. Add initialization of field Needs_
6267 Finalization.
6268 * exp_intr.adb (Expand_Unc_Deallocation): Code reformatting.
6269 Reimplement how an object is first finalized, then deallocated.
6270 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
6271 Code reformatting.
6272 * exp_tss.ads: Add special suffix for TSS primitive Finalize_Address.
6273 Register TSS_Finalize_Address with type TSS_Names.
6274 * exp_util.adb (Build_Allocate_Deallocate_Proc): New routine. This core
6275 procedure provides the interface between an allocation / deallocation
6276 and the support machinery in Ada.Finalization.Heap_Management.
6277 (Find_Init_Call): Code reformatting.
6278 (Find_Init_Call_In_List): Code reformatting.
6279 (Find_Protection_Type): Moved from Exp_Ch9.
6280 (Find_Prim_Op): Reimplement to add preference of recovered primitive.
6281 (Has_Controlled_Coextensions): Removed.
6282 (Has_Controlled_Objects): New routine.
6283 (In_Library_Level_Package_Body): New routine.
6284 (Insert_Action_After): New routine.
6285 (Is_Finalizable_Transient): New routine. This predicate determines
6286 whether an object declaration is one of the many variants of controlled
6287 transients.
6288 (Is_Null_Access_BIP_Func_Call): New routine.
6289 (Is_Non_BIP_Func_Call): New routine.
6290 (Is_Related_To_Func_Return): New routine.
6291 (Needs_Finalization): Moved from Exp_Ch7.
6292 * exp_util.ads (Build_Allocate_Deallocate_Proc): New routine.
6293 (Find_Protection_Type): Moved from Exp_Ch9.
6294 (Has_Controlled_Coextensions): Removed.
6295 (Has_Controlled_Objects): New routine.
6296 (In_Library_Level_Package_Body): New routine.
6297 (Insert_Action_After): New routine.
6298 (Is_Finalizable_Transient): New routine.
6299 (Is_Null_Access_BIP_Func_Call): New routine.
6300 (Is_Non_BIP_Func_Call): New routine.
6301 (Is_Related_To_Func_Return): New routine.
6302 (Needs_Finalization): Moved from Exp_ch7.
6303 * expander.adb (Expand): Add a case for N_Free_Statement.
6304 * freeze.adb (Freeze_All): Replace the generation of a finalization
6305 list with a collection for access-to-controlled types.
6306 (Freeze_Entity): Code reformatting.
6307 (Freeze_Record_Type): Remove the freezing of a record controller
6308 component.
6309 (Freeze_Subprogram): Code reformatting.
6310 * inline.adb (Cleanup_Scopes): Remove the reset of the scope
6311 finalization list.
6312 * lib-writ.adb (Write_Unit_Information): Output "PF" when a package
6313 has a library-level finalizer.
6314 * lib-writ.ads: Add "PF" to the sequence of unit attributes.
6315 * a-filico.ads, a-filico.adb, s-finimp.ads, s-finimp.adb: Removed.
6316 * Makefile.rtl: Remove a-filico and s-finimp from the list of object
6317 files. Add a-fihema to the list of object files.
6318 * par-ch4.adb:
6319 Alphabetize the associations in type Is_Parameterless_Attribute.
6320 * rtsfind.ads: Ada.Finalization_List.Controller and
6321 System.Finalization_Implementation are no longer a GNAT unit.
6322 Update the range of type Ada_Finalization_Child. Remove the following
6323 recoverable entities:
2c7f9cc0 6324
df3e68b1
HK
6325 RE_Attach_To_Final_List
6326 RE_Deep_Tag_Attach
6327 RE_Finalize_List
6328 RE_Finalize_One
6329 RE_Finalizable_Ptr_Ptr
6330 RE_Global_Final_List
6331 RE_Limited_Record_Controller
6332 RE_List_Controller
6333 RE_Move_Final_List
6334 RE_Record_Controller
6335 RE_Simple_List_Controller
2c7f9cc0 6336
df3e68b1 6337 Add the following recoverable entities:
2c7f9cc0 6338
df3e68b1
HK
6339 RE_Add_Offset_To_Address
6340 RE_Allocate
6341 RE_Base_Pool
6342 RE_Deallocate
6343 RE_Exception_Identity
6344 RE_Finalization_Collection
6345 RE_Finalization_Collection_Ptr
6346 RE_Needs_Finalization
6347 RE_Save_Library_Occurrence
6348 RE_Set_Finalize_Address_Ptr
6349 RE_Set_Storage_Pool_Ptr
6350 RE_Storage_Count
6351 * sem_aggr.adb (Resolve_Record_Aggregate): Remove mention of
6352 Name_uController.
6353 * sem_aux.adb (First_Discriminant): Remove mention of Name_uController.
6354 (First_Stored_Discriminant): Remove the mention of Name_uController.
6355 * sem_aux.ads: Comment reformatting.
6356 * sem_ch10.adb (Build_Chain): Signal the class-wide creation machinery
6357 to redecorate an already existing class-wide type.
6358 (Decorate_Tagged_Type): New parameter profile and associated comment.
6359 Create a "shadow class-wide type" for a shadow entity.
6360 * sem_ch11.adb (Analyze_Exception_Handlers): Remove the dubious setting
6361 of the final chain along with the associated comment.
6362 * sem_ch3.adb (Access_Type_Declaration): Add new local variable
6363 Full_Desig and set it to the full view of the designated type.
6364 Initialize the finalization collection to empty.
6365 (Build_Derived_Record_Type): Alphabetize local variables. Code
6366 reformatting.
6367 (Collect_Fixed_Components): Remove the mention of Name_uController.
6368 (Create_Constrained_Components): Remove the mention of Name_uController.
6369 (Make_Class_Wide_Type): Add specialized code to redecorate an existing
6370 class-wide type of a shadow entity.
6371 (Process_Full_View): Update the machinery which marks type
6372 Limited_Controlled's entity as limited.
6373 * sem_ch4.adb (Analyze_One_Call): Code reformatting.
6374 * sem_ch6.adb (Create_Extra_Formals): Do not generate a finalization
6375 list, instead make a collection build-in-place formal.
6376 * sem_ch8.adb (Analyze_Object_Renaming): Look at the available view of
6377 a designated type in order to establish a match between the renaming
6378 and the renamed entity.
6379 (Find_Selected_Component): Add guard to prevent spurious exceptions
6380 from being raised on .NET/JVM.
6381 * sem_disp.adb (Check_Dispatching_Operation): Include Finalize_Address
6382 to the list of primitive that need special processing. Update arrays
6383 C_Names and D_Names.
6384 (Replace_Types): Handle class-wide types.
6385 * sem_elab.adb (Check_A_Call): Since Deep_Initialize now has a
6386 different parameter profile, look at the first formal.
6387 * sem_prag.adb: Remove with and use clauses for Exp_Ch7. Add with and
6388 use clauses for Exp_Util.
6389 * sem_res.adb: Remove with and use clauses for Elists.
6390 (Propagate_Coextensions): Removed.
6391 (Resolve_Allocator): Do not propagate the list of coextensions from one
6392 allocator to another.
6393 * sem_util.adb (Build_Actual_Subtype_Of_Component): Rename variable
6394 Deaccessed_T to Desig_Typ.
6395 (Enter_Name): Remove the mention of Name_uController.
6396 (Gather_Components): Remove the mention of Name_uController.
6397 (Incomplete_Or_Private_View): New routine.
6398 (Is_Coextension_Root): Removed.
6399 (Is_Fully_Initialized_Type): Remove the mention of Name_uController.
6400 * sem_util.ads (Incomplete_Or_Private_View): New routine.
6401 (Is_Coextension_Root): Removed.
6402 * s-finroo.ads: Remove with clause for Ada.Unchecked_Conversion.
6403 Controlled types are now derived from a null tagged record. Remove
6404 types Finalizable_Ptr, Finalizable and Empty_Root_Controlled.
6405 * sinfo.adb (Coextensions): Removed.
6406 (Set_Coextensions): Removed.
6407 * sinfo.ads: Remove Coextensions from the explanation of node fields
6408 and its uses in nodes.
6409 Update the field usage of N_Allocator.
6410 (Coextensions): Removed along with its pragma Inline.
6411 (Set_Coextensions): Removed along with its pragma Inline.
6412 * snames.ads-tmpl: Remove names
2c7f9cc0 6413
df3e68b1
HK
6414 Name_uClean
6415 Name_uController
6416 Name_uFinal_List
6417 Name_uLocal_Final_List
6418 Name_Finalization_Root
6419 Name_Next
6420 Name_Prev
2c7f9cc0 6421
df3e68b1 6422 Add names
2c7f9cc0 6423
df3e68b1
HK
6424 Name_uFinalizer
6425 Name_Finalize_Address
6426 * s-pooglo.adb (Allocate): Add overriding indicator.
6427 (Deallocate): Add overriding indicator.
6428 (Storage_Size): Add overriding indicator.
6429 * s-soflin.adb (Adafinal_NT): Invoke Finalize_Library_Objects rather
6430 than Finalize_Global_List.
6431 (Null_Finalize_Global_List): Removed.
6432 (Save_Library_Occurrence): New routine.
6433 * s-soflin.ads: Remove variable Finalize_Global_List along with its
6434 initialization. Add variable Finalize_Library_Objects along with its
6435 pragma Export. Add variables Library_Exception and
6436 Library_Exception_Set along with their pragma Export.
6437 (Null_Finalize_Global_List): Removed.
6438 (Save_Library_Occurrence): New routine.
6439 * s-tassta.adb (Finalize_Global_Tasks): Call Finalize_Library_Objects
6440 rather than Finalize_Global_List.
6441 * tbuild.adb (Unchecked_Convert_To): Capture and set the parent field
6442 of the constructed node.
6443
2ee06322
RO
64442011-08-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6445
6446 * link.c: Include "auto-host.h" before system headers.
6447
f77b022b
VC
64482011-08-03 Vincent Celier <celier@adacore.com>
6449
6450 * make.adb (Gnatmake): Add to table Library_Projs only library projects
6451 that are not extended. Do not check if a library project that is
6452 extended should be regenerated. Do not add to table Library_Paths the
6453 libraries that are in extended projects. Link only with libraries that
6454 are in libray projects that are not extended.
6455 * prj-nmsc.adb (Check_Library_Attributes): Do not reset flag Library
6456 for a library project that is extended.
6457
0187b60e
AC
64582011-08-03 Gary Dismukes <dismukes@adacore.com>
6459
6460 * sem_ch6.adb (Find_Corresponding_Spec): When in an instance, skip
6461 conforming subprogram renamings that appear to be completions if they
6462 are not fully conformant.
6463 Such renamings are homographs but not completions.
6464 * sem_type.adb (Disambiguate): Handle disambiguation of overloaded
6465 names in a subprogram renaming that appears in an instance.
6466
64672011-08-03 Ed Schonberg <schonberg@adacore.com>
6468
6469 * exp_util.adb (Expand_Subtype_From_Expr): if the type is limited but
6470 not immutably limited, build actual subtype from expression to provide
6471 proper bounds to caller.
6472
64732011-08-03 Gary Dismukes <dismukes@adacore.com>
6474
6475 * sem_ch8.adb: Minor comment correction.
6476
64772011-08-03 Thomas Quinot <quinot@adacore.com>
6478
6479 * exp_strm.adb (Build_Array_Input_Function): In Ada 2005 mode, when
6480 returning a limited array, use an extended return statement.
6481
64822011-08-03 Vincent Celier <celier@adacore.com>
6483
6484 * make.adb (Initialize): If --subdirs= is used, but no project file is
6485 specified, attempt to create the specify subdir if it does not already
6486 exist and use it as the object directory as if -D had been specified.
6487
64882011-08-03 Arnaud Charlet <charlet@adacore.com>
6489
6490 * s-tpopsp-vms.adb: New file.
6491 * s-taprop-vms.adb: Put back ATCB_Key, since needed by this file on VMS.
6492 * gcc-interfaces/Makefile.in: Use s-taprop-vms.adb on VMS.
6493
e280f981
AC
64942011-08-03 Emmanuel Briot <briot@adacore.com>
6495
6496 * make.adb, makeutl.adb, makeutl.ads, clean.adb (Makeutl.Queue): new
6497 package.
6498
64992011-08-03 Yannick Moy <moy@adacore.com>
6500
6501 * cstand.adb (Create_Standard): select Universal_Integer as an ALFA type
6502 * sem_ch3.adb (Array_Type_Declaration): detect array types in ALFA
6503 * sem_util.adb, sem_util.ads (Has_Static_Array_Bounds): new function to
6504 detect that an array has static bounds.
6505
98c99a5a
AC
65062011-08-03 Thomas Quinot <quinot@adacore.com>
6507
6508 * exp_dist.adb: Minor reformatting.
6509
65102011-08-03 Arnaud Charlet <charlet@adacore.com>
6511
6512 * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-vms.adb
6513 (ATCB_Key): Removed, not always used.
6514
65152011-08-03 Emmanuel Briot <briot@adacore.com>
6516
6517 * gnatcmd.adb, make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads,
6518 clean.adb, prj-conf.adb, prj-env.adb, prj-env.ads (Makeutl): remove
6519 most remaining global variables.
6520
686d0984
AC
65212011-08-03 Robert Dewar <dewar@adacore.com>
6522
6523 * gnatcmd.adb, prj-proc.adb, mlib-prj.adb, prj.adb, makeutl.ads,
6524 prj-util.adb, prj-util.ads, prj-conf.adb, prj-env.adb: Minor
6525 reformatting.
6526
65272011-08-03 Javier Miranda <miranda@adacore.com>
6528
6529 * exp_util.adb (Is_VM_By_Copy_Actual): Include N_Slide nodes as actuals
6530 that must be passed by copy in VM targets.
6531
65322011-08-03 Emmanuel Briot <briot@adacore.com>
6533
6534 * prj.ads, prj-nmsc.adb (Files_Htable): removed this htable, which
6535 duplicates a similar htable now in the project tree.
6536
65372011-08-03 Claire Dross <dross@adacore.com>
6538
6539 * a-cfdlli.adb, a-cfhama.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb,
6540 a-cofove.adb ("=", Length, Is_Empty, Clear, Assign, Copy, Element,
6541 Replace_Element, Query_Element, Update_Element, Move, Insert, Prepend,
6542 Append, Delete, Delete_First, Delete_Last, Reverse_Element, Swap,
6543 Splice, First, First_Element, Last, Last_Element, Next, Previous, Find,
6544 Reverse_Find, Contains, Has_Element, Iterate, Reverse_Iterate, Capacity,
6545 Reserve_Length, Length, Strict_Equal, Left, Right): Data-structure
6546 update.
6547
65482011-08-03 Arnaud Charlet <charlet@adacore.com>
6549
6550 * s-taprop-posix.adb, s-taprop-linux.adb, s-taprop-tru64.adb
6551 (ATCB_Key): Removed, not always used.
6552 * s-tpopsp-posix.adb, s-tpopsp-posix-foreign.adb (ATCB_Key): Moved from
6553 s-taprop-posix.adb.
6554 * s-tpopsp-tls.adb: New file.
6555 * gcc-interface/Makefile.in: Use TLS implementation of s-tpopsp.adb on
6556 x86/x64/ia64/powerpc/sparc Linux.
6557
65582011-08-03 Arnaud Charlet <charlet@adacore.com>
6559
6560 * system-aix.ads, system-aix64.ads: Set ZCX_By_Default to True.
6561 * gcc-interface/Makefile.in: Switch to ZCX by default on AIX ports.
6562
65632011-08-03 Thomas Quinot <quinot@adacore.com>
6564
6565 * rtsfind.ads, exp_dist.adb, exp_dist.ads
6566 (Build_From_Any_Call, Build_To_Any_Call, Build_TypeCode_Call):
6567 Fix type selection for mapping integer types to PolyORB types.
6568
65692011-08-03 Bob Duff <duff@adacore.com>
6570
6571 * sem_ch7.adb: Minor comment clarification.
6572
65732011-08-03 Bob Duff <duff@adacore.com>
6574
6575 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): If we get
6576 an error analyzing a choice, skip further processing. Further
6577 processing could cause a crash or cascade errors.
6578
40ecf2f5
EB
65792011-08-03 Emmanuel Briot <briot@adacore.com>
6580
6581 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, mlib-prj.adb,
6582 prj.adb, prj.ads, makeutl.adb, makeutl.ads, clean.adb, prj-nmsc.adb,
6583 prj-util.adb, prj-util.ads, prj-conf.adb, prj-conf.ads, prj-env.adb,
6584 prj-env.ads (Shared_Project_Tree_Data): new type
6585 An aggregate project and its aggregated trees need to share the common
6586 data structures used for lists of strings, packages,... This makes the
6587 code simpler since otherwise we have to pass the root tree (also used
6588 for the configuration file data) in addition to the current project
6589 tree. This also avoids ambiguities as to which tree should be used.
6590 And finally this saves a bit of memory.
6591 (For_Every_Project_Imported): new parameter Tree.
6592 Since aggregated projects are using a different tree, we need to let
6593 the caller know which tree to use to manipulate the returned project.
6594
9fde638d
RD
65952011-08-03 Robert Dewar <dewar@adacore.com>
6596
6597 * prj-proc.adb, exp_util.ads, exp_ch9.adb, make.adb, prj-ext.adb,
6598 prj-ext.ads, alfa.ads, sem_ch4.adb, makeutl.adb, makeutl.ads,
6599 lib-xref-alfa.adb, sem_cat.adb, exp_dist.adb, get_alfa.adb,
6600 prj-env.adb, prj-env.ads, prj-tree.adb, alfa.ads: Minor reformatting.
6601
95eb8b69
AC
66022011-08-03 Javier Miranda <miranda@adacore.com>
6603
6604 * exp_util.adb, sem_aux.adb, exp_util.ads, sem_aux.ads:
6605 Move routine Is_VM_By_Copy_Actual from sem_aux to exp_util.
6606
66072011-08-03 Bob Duff <duff@adacore.com>
6608
6609 * sem_ch8.adb (Is_Primitive_Operator_In_Use): Always check In_Use on
6610 the Base_Type.
6611
66122011-08-03 Joel Brobecker <brobecker@adacore.com brobecker>
6613
6614 * g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads, g-sha384.ads,
6615 g-sehash.ads: Fix typo. Update header.
6616
66172011-08-03 Thomas Quinot <quinot@adacore.com>
6618
6619 * exp_ch6.adb (Expand_Actuals): Remove Ada_2005 guard on build-in-place
6620 expansion.
6621
66222011-08-03 Gary Dismukes <dismukes@adacore.com>
6623
6624 * sem_ch4.adb (Analyze_Overloaded_Selected_Component): Consider
6625 prefixes of private types along with records, since the selector may be
6626 a discriminant.
6627 * sem_res.adb (Resolve_Selected_Component): Consider prefixes of
6628 private types along with records, since the selector may be a
6629 discriminant.
6630
92e77027
AC
66312011-08-03 Emmanuel Briot <briot@adacore.com>
6632
b2f7ebc1 6633 * prj-pp.adb (Pretty_Print): Remove trailing blank line.
92e77027
AC
6634
66352011-08-03 Javier Miranda <miranda@adacore.com>
6636
6637 * sem_aux.adb (Is_VM_By_Copy_Actual): Fix wrong use of
6638 Tagged_Type_Expansion.
6639
66402011-08-03 Yannick Moy <moy@adacore.com>
6641
b2f7ebc1
GP
6642 * sem_res.adb (Resolve_Op_Concat_Arg): Do not issue a SPARK
6643 violation when the argument of concatenation is the name of a
6644 constant.
92e77027 6645
ab29a348
EB
66462011-08-03 Emmanuel Briot <briot@adacore.com>
6647
6648 * prj-proc.adb, prj-ext.adb, prj-ext.ads, prj-env.adb, prj-env.ads,
6649 prj-tree.adb, prj-tree.ads (Initialize_And_Copy, Copy): new subprograms
6650 (Process_Declarative_Items): new parameter Child_Env.
6651
9466892f
AC
66522011-08-03 Yannick Moy <moy@adacore.com>
6653
589ef536
GP
6654 * alfa.ads: Update format of ALFA section in ALI file in order to
6655 add a mapping from bodies to specs when both are present.
6656 (ALFA_Scope_Record): Add components for spec file/scope.
6657 * get_alfa.adb (Get_ALFA): Read the new file/scope for spec when
6658 present.
6659 * lib-xref-alfa.adb (Collect_ALFA): After all scopes have been
6660 collected, fill in the spec information when relevant.
6661 * put_alfa.adb (Put_ALFA): Write the new file/scope for spec when
9466892f
AC
6662 present.
6663
66642011-08-03 Eric Botcazou <ebotcazou@adacore.com>
6665
6666 * inline.adb (Add_Inlined_Subprogram): Do not consider the enclosing
6667 code unit to decide whether to add internally generated subprograms.
2c7f9cc0 6668
9466892f
AC
66692011-08-03 Javier Miranda <miranda@adacore.com>
6670
6671 * sem_aux.ads, sem_aux.adb (Is_VM_By_Copy_Actual): New subprogram.
589ef536
GP
6672 * exp_ch9.adb (Build_Simple_Entry_Call): Handle actuals that must
6673 be handled by copy in VM targets.
9466892f
AC
6674
66752011-08-03 Emmanuel Briot <briot@adacore.com>
6676
589ef536 6677 * make.adb, makeutl.adb, makeutl.ads (Make.Switches_Of): Share
9466892f
AC
6678 code with Makeutl.Get_Switches.
6679 * prj-tree.adb: Update comment.
6680
b5ea9143
AC
66812011-08-03 Thomas Quinot <quinot@adacore.com>
6682
6683 * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Reject a remote
6684 subprogram with a limited formal that does not support external
6685 streaming.
6686
66872011-08-03 Yannick Moy <moy@adacore.com>
6688
6689 * get_alfa.adb (Get_ALFA): add missing Skip_Spaces at start of
6690 continuation line
6691 * lib-xref-alfa.adb (Add_ALFA_File): split removal of scopes that are
6692 not from current unit in two phases, because it is not possible to
6693 change the table while iterating over its content.
6694 * put_alfa.adb (Put_ALFA): reset current file/scope at each new entity
6695
66962011-08-03 Sergey Rybin <rybin@adacore.com>
6697
6698 * vms_data.ads: Add qualifier for gnatmetric --no-static-loop option
6699 * gnat_ugn.texi: Update description of complexity metrics (gnatmetric)
6700
668a19bc
ES
67012011-08-03 Ed Schonberg <schonberg@adacore.com>
6702
6703 * sem_res.adb (Resolve_Op_Concat_Arg): if the argument is an aggregate
6704 and the component type is composite, this is ambiguous for predefined
6705 concatenation, but if the node is not overloaded and the entity is a use
6706 -defined function its profile can be used to resolve that aggregate.
6707
170b2989
AC
67082011-08-03 Robert Dewar <dewar@adacore.com>
6709
6710 * exp_ch4.adb: Minor code cleanup.
6711
67122011-08-03 Thomas Quinot <quinot@adacore.com>
6713
6714 * exp_dist.adb: Do not generate distribution stubs if serious errors
6715 have been diagnosed.
6716
67172011-08-03 Ed Schonberg <schonberg@adacore.com>
6718
6719 * sem_ch4.adb (Try_Primitive_Operation): when checking the validity of
6720 the first formal of a primitive operation, go to the base type to
6721 handle properly an access to a derived type with constrained
6722 discriminants.
6723 * sem_type.adb (Disambiguate): an immediately visible operator hides a
6724 user-defined function that is only use-visible.
170b2989 6725
e917aec2
RD
67262011-08-03 Robert Dewar <dewar@adacore.com>
6727
6728 * sem_aggr.adb, sem_ch3.adb, lib.ads, gnatcmd.adb, prj-proc.adb,
6729 make.adb, lib-writ.adb, prj-part.adb, prj-part.ads, prj-ext.adb,
6730 fname-uf.adb, prj-ext.ads, prj.adb, prj.ads, sem_attr.adb, alfa.adb,
6731 prj-makr.adb, errout.adb, makeutl.adb, makeutl.ads, restrict.ads,
6732 sem_ch6.adb, g-pehage.adb, clean.adb, put_alfa.adb, lib-xref-alfa.adb,
6733 prj-nmsc.adb, prj-nmsc.ads, sem_ch8.adb, prj-pars.ads, exp_aggr.adb,
6734 prj-attr.ads, sem_ch13.adb, get_alfa.adb, prj-env.adb, prj-env.ads,
6735 alfa_test.adb, prj-tree.adb, prj-tree.ads, einfo.ads: Minor reformatting
6736
67372011-08-03 Robert Dewar <dewar@adacore.com>
6738
6739 * repinfo.adb (List_Mechanism): Add handling of
6740 Convention_Ada_Pass_By_XXX.
6741 * sem_mech.adb (Set_Mechanism): Ditto.
6742 * sem_prag.adb (Process_Convention): Add entries for
6743 Convention_Ada_Pass_By_XXX.
6744 * snames.adb-tmpl, snames.ads-tmpl: Ditto.
6745
49bfcf43
AC
67462011-08-03 Pascal Obry <obry@adacore.com>
6747
6748 * makeutl.adb: Minor reformatting.
6749
67502011-08-03 Vincent Celier <celier@adacore.com>
6751
6752 * fname-uf.adb
6753 (Get_File_Name) If the file cannot be found when there are no config
6754 pragmas file and May_Fail is True, return No_File instead of the file
6755 name, to be consistent.
6756
67572011-08-03 Pascal Obry <obry@adacore.com>
6758
6759 * adaint.c (__gnat_is_executable_file_attr): Avoid access
6760 to null pointer.
6761
67622011-08-03 Javier Miranda <miranda@adacore.com>
6763
6764 * sem_ch13.adb
6765 (Same_Representation): In VM targets the representation of arrays with
6766 aliased components differs from arrays with non-aliased components.
6767
34798441
EB
67682011-08-03 Emmanuel Briot <briot@adacore.com>
6769
6770 * prj-proc.adb, prj-attr.adb, prj-attr.ads (Get_Attribute_Index): do
6771 not systematically lower case attribute indexes that contain no "."
6772 Fix definition of several Naming attributes, which take
6773 a unit name as index and therefore should be case insensitive.
6774 Minor refactoring (reduce length of variable names).
6775
67762011-08-03 Emmanuel Briot <briot@adacore.com>
6777
6778 * makeutl.adb, makeutl.ads (Get_Switches): new subprogram.
6779
4437a530
EB
67802011-08-03 Emmanuel Briot <briot@adacore.com>
6781
6782 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
6783 prj-part.ads, switch-m.adb, switch-m.ads, prj-makr.adb, clean.adb,
6784 prj-pars.adb, prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
6785 prj-tree.ads (Prj.Tree.Environment): new type.
6786
804fe3c4
EB
67872011-08-03 Emmanuel Briot <briot@adacore.com>
6788
6789 * prj-proc.adb, prj.ads, makeutl.adb, makeutl.ads, prj-conf.adb,
6790 prj-tree.adb, prj-tree.ads (Environment): new type.
6791
c565bc66
AC
67922011-08-03 Emmanuel Briot <briot@adacore.com>
6793
6794 * prj-tree.ads: Remove unused variable.
6795
67962011-08-03 Yannick Moy <moy@adacore.com>
6797
6798 * restrict.adb (Restriction_Msg): set "SPARK" all in upper case for
6799 issuing messages related to SPARK restriction violation.
6800
4ee646da
AC
68012011-08-03 Ed Schonberg <schonberg@adacore.com>
6802
6803 * sem_ch6.adb: guard against error nodes in return statements.
6804
68052011-08-03 Arnaud Charlet <charlet@adacore.com>
6806
6807 * errout.adb (Error_Msg_Internal): the main unit has not been read yet,
6808 a warning can only appear on a configuration file, so emit warning
6809 without further checks.
6810
68112011-08-03 Arnaud Charlet <charlet@adacore.com>
6812
6813 * s-interr.ads: add overriding keyword.
6814
68152011-08-03 Geert Bosch <bosch@adacore.com>
6816
6817 * exp_attr.adb: Fix minor typo.
6818
68192011-08-03 Ed Schonberg <schonberg@adacore.com>
6820
6821 * par-ch4.adb: improve error recovery.
6822
c0e538ad
AC
68232011-08-03 Emmanuel Briot <briot@adacore.com>
6824
6825 * prj-part.adb, prj-part.ads, prj-makr.adb, prj-pars.adb, prj-conf.adb,
6826 prj-env.adb (Prj.Part.Parse): change parameter Always_Errout_Finalize
6827 to Errout_Handling.
6828
68292011-08-03 Emmanuel Briot <briot@adacore.com>
6830
6831 * prj-dect.adb (Parse_Attribute_Declaration): make sure we can use
6832 "external" as an attribute name in aggregate projects.
6833
68342011-08-03 Jose Ruiz <ruiz@adacore.com>
6835
6836 * s-taprop-vxworks.adb: (Create_Task, Initialize): Ada 2012 pragma CPU
6837 uses CPU numbers starting 1, while VxWorks uses CPU numbers starting
6838 from 0, so we need to adjust.
6839
68402011-08-03 Emmanuel Briot <briot@adacore.com>
6841
6842 * prj-proc.adb, prj-ext.adb, prj-ext.ads, makeutl.adb, prj-tree.adb,
6843 prj-tree.ads, gnatcmd.adb, clean.adb (External_References): new type.
6844
c4d67e2d
AC
68452011-08-03 Yannick Moy <moy@adacore.com>
6846
6847 * sem_ch6.adb (New_Overloaded_Entity): only issue error for SPARK
6848 restriction on overloaded entity if the entity is not an operator.
6849
68502011-08-03 Yannick Moy <moy@adacore.com>
6851
6852 * sem_ch7.adb, sem_res.adb, sem_attr.adb, restrict.adb,
6853 restrict.ads: Rename remaining Check_Formal_Restriction* into
6854 Check_SPARK_Restriction*.
6855
68562011-08-03 Emmanuel Briot <briot@adacore.com>
6857
6858 * prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb,
6859 prj-nmsc.ads, prj-err.adb (Project_Data): now discriminated on its
6860 qualifier.
6861 (Project_Empty): removed
6862 (Empty_Project): new parameter Qualifier
6863 This is used to have fields specific to aggregate projects, cleaner
6864 New field to store the list of aggregated projects.
6865 (Check_Aggregate_Project): removed
6866 (Process_Aggregated_Projects, Free): new subprograms.
6867
3f5a8fee
AC
68682011-08-03 Olivier Hainque <hainque@adacore.com>
6869
6870 * tracebak.c (STOP_FRAME ppc AIX): Stop at null return address as well.
6871
68722011-08-03 Ed Schonberg <schonberg@adacore.com>
6873
6874 * sem_ch8.adb (Analyze_Object_Renaming): if the renamed object is an
6875 explicit dereference of an unconstrained type, create a constrained
6876 subtype for it, as is done for function calls that return an
6877 unconstrained type.
6878
68792011-08-03 Thomas Quinot <quinot@adacore.com>
6880
6881 * g-pehage.adb (Finalize): Avoid possible double-free.
6882
68832011-08-03 Steve Baird <baird@adacore.com>
6884
6885 * exp_attr.adb (Expand_N_Attribute_Reference): Don't expand
6886 Elab_Spec/Body attrs in CodePeer_Mode.
6887
68882011-08-03 Javier Miranda <miranda@adacore.com>
6889
6890 * exp_aggr.adb (Flatten): Convert to positional form aggregates whose
6891 low bound is not known at compile time but they have no others choice.
6892 Done because in this case the bounds can be obtained directly from the
6893 aggregate.
6894
68952011-08-03 Ed Falis <falis@adacore.com>
6896
6897 * s-tasinf-vxworks.ads: Update comment to reflect 0 indexing of CPUs
6898 on VxWorks SMP. Remove unusable constant ANY_CPU.
6899
a96ca600
EB
69002011-08-03 Emmanuel Briot <briot@adacore.com>
6901
6902 * gnatcmd.adb, make.adb, prj-part.adb, prj-part.ads, prj-makr.adb,
6903 clean.adb, prj-nmsc.adb, prj-pars.adb, prj-conf.adb, prj-env.adb,
6904 prj-env.ads (Prj.Env.Initialize_Default_Project_Path,
6905 Prj.Env.Initialize_Empty): new subprograms
6906 (Get_Env, Find_Project): remove parameter Target_Name.
6907
3e582869
AC
69082011-08-03 Gary Dismukes <dismukes@adacore.com>
6909
6910 * sem_ch3.adb (Build_Derived_Record_Type): Test the Derive_Subps formal
6911 as a condition for the delayed call to Derived_Subprograms done for the
6912 case of the rewriting of a derived type that constrains the
6913 discriminants of its parent type.
6914 Avoids redundant subprogram derivations for private subtype derivations.
6915
69162011-08-03 Javier Miranda <miranda@adacore.com>
6917
6918 * exp_aggr.adb (Init_Hidden_Discriminants): New subprogram of
6919 Build_Record_Aggr_Code.
6920 (Build_Record_Aggr_Code): Add missing support to initialize hidden
6921 discriminants in extension aggregates.
6922
69232011-08-03 Emmanuel Briot <briot@adacore.com>
6924
6925 * prj-pp.adb (Print): also output project qualifiers, since in
6926 particular "aggregate" is mandatory in an aggregate project.
6927
69282011-08-03 Emmanuel Briot <briot@adacore.com>
6929
6930 * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb:
6931 (Debug_Output): new function.
6932
56e94186
AC
69332011-08-03 Eric Botcazou <ebotcazou@adacore.com>
6934
6935 * gnat_ugn.texi: Document -Wstack-usage.
6936 * gcc-interface/misc.c (enumerate_modes): Add guard for ghost FP modes.
6937
69382011-08-03 Thomas Quinot <quinot@adacore.com>
6939
6940 * sem_prag.adb Issue an error (not a warning) when a C++ type does not
6941 have keyword LIMITED.
6942
69432011-08-03 Yannick Moy <moy@adacore.com>
6944
6945 * alfa.adb, alfa.ads, alfa_test.adb: New files.
6946 * ali.adb (Known_ALI_Lines): add 'C' lines (SCO) and 'F' lines (ALFA)
6947 (Scan_ALI): do not issue a fatal error if parsing known lines after Xref
6948 section (does not happen in compiler, only if code directly calls
6949 Scan_ALI).
6950 * get_alfa.adb, get_alfa.ads: New files.
6951 * lib-writ.adb, lib-writ.ads (Write_ALI): output ALFA information if
6952 needed.
6953 * lib-xref-alfa.adb: New file.
6954 * lib-xref.adb, lib-xref.ads
6955 (Xref_Entry): redefine information needed in cross-references for ALFA.
6956 Push ALFA treatments in separated local package.
6957 (Enclosing_Subpragram_Or_Package): treat specially subprogram
6958 identifiers. Return entity of package body instead of spec. Return
6959 Empty for a scope with no location.
6960 (Generate_Reference): adapt to new components for ALFA information.
6961 Remove the need for D references on definitions.
6962 (Is_Local_Reference): moved to ALFA local package
6963 (Output_References): extract subfunction as Extract_Source_Name
6964 (Output_Local_References): remove procedure, replaced by filtering of
6965 cross-references in package ALFA and printing in Put_ALFA.
6966 (Write_Entity_Name): remove procedure
6967 * lib.adb, lib.ads (Extract_Source_Name): extract here function to
6968 print exact name of entity as it appears in source file
6969 (Unit_Ref_Table): make type public for use in Lib.Xref.ALFA
6970 * put_alfa.adb, put_alfa.ads: New files.
6971 * xref_lib.adb (Search_Xref): protect read of cross-references against
6972 reading other sections of the ALI file, in gnatxref
6973 (Search): protect read of cross-references against reading other
6974 sections of the ALI file, in gnatfind.
6975 * gcc-interface/Make-lang.in: Update dependencies.
6976
69772011-08-03 Thomas Quinot <quinot@adacore.com>
6978
6979 * sem_ch3.adb: Minor reformatting.
6980
69812011-08-03 Jose Ruiz <ruiz@adacore.com>
6982
6983 * s-inmaop-vxworks.adb (Setup_Interrupt_Mask): Do nothing instead of
6984 raising an exception.
6985
69862011-08-03 Ed Schonberg <schonberg@adacore.com>
6987
6988 * sem_res.adb (Set_String_Literal_Subtype): if index type is an integer
6989 type, always use 1 as the lower bound or string, even if lower bound of
6990 context is not static, to handle properly null strings in a non-static
6991 context.
6992
69932011-08-03 Bob Duff <duff@adacore.com>
6994
6995 * sem_prag.adb (Resolve_Aggregate): An array aggregate with 'others' is
6996 always legal on the right-hand side of an assignment statement; there
6997 is always an applicable index constraint in this case. Therefore, the
6998 check for Pkind = N_Assignment_Statement is now unconditional -- it
6999 doesn't depend on whether Is_Constrained (Typ).
7000
4317e442
AC
70012011-08-03 Robert Dewar <dewar@adacore.com>
7002
7003 * exp_ch5.adb, sem_prag.adb, exp_ch4.adb: Minor reformatting.
7004
70052011-08-03 Ed Schonberg <schonberg@adacore.com>
7006
7007 * sem_ch3.adb (Build_Itype_Reference): do not create an itype reference
7008 for an itype created within a generic unit.
7009
70102011-08-03 Eric Botcazou <ebotcazou@adacore.com>
7011
7012 * gnat_ugn.texi (Switches for gcc): Make it clearer that -fno-inline
7013 suppresses all inlining.
7014
53f29d4f
AC
70152011-08-03 Robert Dewar <dewar@adacore.com>
7016
7017 * sem_ch3.adb, sem_res.adb, exp_ch13.adb, exp_disp.adb,
7018 exp_aggr.adb: Minor reformatting.
7019
70202011-08-03 Thomas Quinot <quinot@adacore.com>
7021
7022 * exp_ch5.adb (Expand_N_Assignment_Statement): Do not force inlining of
7023 tagged assignment when discriminant checks are suppressed. This is
7024 useless and extremely costly in terms of static stack usage.
7025
70262011-08-03 Bob Duff <duff@adacore.com>
7027
7028 * sem_prag.adb (Get_Base_Subprogram): Do not follow Alias for instances
7029 of generics, because this leads to the wrong entity in the wrong scope,
7030 causing (e.g.) pragma Export_Procedure to get an error if the entity is
7031 an instance.
7032 (Process_Interface_Name): Follow Alias for instances of generics, to
7033 correct for the above change.
7034
70352011-08-03 Ed Schonberg <schonberg@adacore.com>
7036
7037 * exp_ch4.adb (Expand_N_Selected_Component): If the discriminant value
7038 is an integer literal it is always safe to replace the reference. In
7039 addition, if the reference appears in the generated code for an object
7040 declaration it is necessary to copy because otherwise the reference
7041 might be to the uninitilized value of the discriminant of the object
7042 itself.
7043
70442011-08-03 Pascal Obry <obry@adacore.com>
7045
7046 * adaint.c (__gnat_is_executable_file_attr): Fix Win32 circuitry when no
7047 ACL used, in this case we want to check for ending .exe, not .exe
7048 anywhere in the path.
7049
70502011-08-03 Sergey Rybin <rybin@adacore.com>
7051
7052 * tree_io.ads (ASIS_Version_Number): Update because of the changes in
7053 the tree structure (semantic decoration of references to record
7054 discriminants).
7055
c0b11850
AC
70562011-08-03 Gary Dismukes <dismukes@adacore.com>
7057
7058 * sem_aggr.adb (Analyze_Array_Aggregate): When checking the discrete
7059 choices of a named array aggregate, bail out when any choices are
7060 marked as Errors_Posted.
7061
70622011-08-03 Ed Schonberg <schonberg@adacore.com>
7063
7064 * exp_ch13.adb (Expand_N_Freeze_Entity): cleanup determination of scope
7065 in which entity is frozen, to handle properly loop variables in
7066 iterators.
7067
70682011-08-03 Ed Schonberg <schonberg@adacore.com>
7069
7070 * sem_res.adb (Set_String_Literal_Subtype): if the lower bound of the
7071 subtype is not static, compute the upper bound using attributes, to
7072 handle properly index types that are not integer types.
7073
70742011-08-03 Bob Duff <duff@adacore.com>
7075
7076 * gnat_rm.texi, gnat_ugn.texi: Fix some dangling URLs.
7077 Update copyright notice.
7078
70792011-08-03 Ed Schonberg <schonberg@adacore.com>
7080
7081 * sem_ch3.adb (Build_Discriminant_Constraints): Only use
7082 Original_Discriminant if within an instance.
7083 * sem_ch4.adb (Analyze_Selected_Component): Ditto.
7084
70852011-08-03 Thomas Quinot <quinot@adacore.com>
7086
7087 * einfo.ads: Minor reformatting.
7088
70892011-08-03 Ed Schonberg <schonberg@adacore.com>
7090
7091 * exp_disp.adb (Check_Premature_Freezing): diagnose the presence of a
7092 composite type with an unfrozen subcomponent, in the profile of a
7093 primitive operation.
7094
5c34e9cd
AC
70952011-08-03 Robert Dewar <dewar@adacore.com>
7096
7097 * sem_util.ads, exp_aggr.adb, exp_ch3.adb: Minor reformatting.
7098
70992011-08-03 Ed Schonberg <schonberg@adacore.com>
7100
7101 * sem_ch3.adb (Analyze_Object_Declaration): if a constant object of an
7102 unconstrained type with discriminants is initialized with an aggregate,
7103 use the constrained subtype of the aggregate as the type of the object,
7104 because it is immutable, and this allows the back-end to generate no
7105 code for the object declaration.
7106
abcd9db2
AC
71072011-08-03 Robert Dewar <dewar@adacore.com>
7108
7109 * exp_ch4.adb (Optimize_Length_Check): Fix bad handling of case where
7110 comparison operand is variable, and turns out to be zero or negative.
7111
71122011-08-03 Javier Miranda <miranda@adacore.com>
7113
7114 * exp_intr.adb
7115 (Expand_Dispatching_Constructor_Call): Disable expansion of
7116 code required for native targets. Done to avoid generating
7117 references to unavailable runtime entities in VM targets.
7118 * exp_ch3.adb
7119 (Expand_N_Object_Declaration): Add missing support to handle
7120 the explicit initialization of class-wide interface objects.
7121 Fix documentation.
7122
71232011-08-03 Matthew Heaney <heaney@adacore.com>
7124
7125 * a-cobove.adb (Merge): Move source onto target, instead of using Assign
7126
71272011-08-03 Matthew Heaney <heaney@adacore.com>
7128
7129 * a-cbdlli.adb (Splice): move source items from first to last
7130
71312011-08-03 Yannick Moy <moy@adacore.com>
7132
7133 * sem_util.ads: comment added.
7134
71352011-08-03 Javier Miranda <miranda@adacore.com>
7136
7137 * exp_aggr.adb
7138 (Expand_Record_Aggregate): In VM targets disable the expansion into
7139 assignments of aggregates whose type is not known at compile time.
7140
b474d6c3
ES
71412011-08-03 Ed Schonberg <schonberg@adacore.com>
7142
7143 * exp_ch9.adb (Build_Renamed_Formal_Declaration): common procedure for
7144 protected entries and task entries, to build the proper renaming
7145 declaration for entry formals, used in debugging.
7146 * exp_ch2.adb (Expand_Entry_Parameter): handle task and entry
7147 parameters in the same way.
7148
0580d807
AC
71492011-08-02 Robert Dewar <dewar@adacore.com>
7150
7151 * a-direct.adb, sinfo.ads, exp_ch9.adb, scng.adb, sem_util.adb,
7152 sem_util.ads, restrict.ads, par-prag.adb: Minor reformatting and/or
7153 code reorganization.
7154
71552011-08-02 Robert Dewar <dewar@adacore.com>
7156
7157 * debug.adb: Debug flag d.P to suppress length comparison optimization
7158 * exp_ch4.adb (Optimize_Length_Comparison): New routine to optimize
7159 comparison of Length by comparing First/Last instead.
7160
71612011-08-02 Matthew Heaney <heaney@adacore.com>
7162
7163 * a-cobove.ads: Code clean up.
7164
b191a125
AC
71652011-08-02 Vincent Celier <celier@adacore.com>
7166
7167 * adaint.c (file_names_case_sensitive_cache): New static int.
7168 (__gnat_get_file_names_case_sensitive): Cache the return value in
7169 file_names_case_sensitive_cache at the first invocation, to avoid
7170 multiple calls to getenv.
7171
71722011-08-02 Bob Duff <duff@adacore.com>
7173
7174 * sem_ch12.adb (Validate_Derived_Type_Instance): Implement AI05-0218-1.
7175
316a0661
AC
71762011-08-02 Yannick Moy <moy@adacore.com>
7177
7178 * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_prag.adb, sem.ads,
7179 sem_util.adb, sem_util.ads, sem_res.adb, sem_ch2.adb, sem_ch4.adb,
7180 sem_ch6.adb, sem_ch11.adb: Add semantic flag In_Pre_Post_Expression to
7181 indicate that we are in a precondition or postcondition. This is used in
7182 Mark_Non_ALFA_Subprogram (renaming of Mark_Non_ALFA_Subprogram_Body) to
7183 decide whether to flag the spec or body of the current subprogram as
7184 not in ALFA.
7185
71862011-08-02 Fabien Chouteau <chouteau@adacore.com>
7187
7188 * impunit.adb: Add Ada.Execution_Time.Interrupts in the Ada2012 package
7189 list.
7190 * a-extiin.ads: New file.
7191
71922011-08-02 Bob Duff <duff@adacore.com>
7193
7194 * a-direct.adb (Rename): Implement AI05-0231-1. In particular, Rename
7195 now raises Name_Error instead of Use_Error in certain cases. The other
7196 parts of this AI were already implemented properly.
7197
f9adb9d4
AC
71982011-08-02 Vincent Celier <celier@adacore.com>
7199
7200 * link.c: Only import "auto-host.h" when building the gnattools.
7201
72022011-08-02 Yannick Moy <moy@adacore.com>
7203
7204 * sem_util.adb: Inter-unit inlining does not work for a subprogram
7205 which calls a local subprogram, so extract subprogram
7206 from Mark_Non_ALFA_Subprogram_Body.
7207
72082011-08-02 Javier Miranda <miranda@adacore.com>
7209
7210 * exp_ch9.adb
7211 (Extract_Dispatching_Call): If the type of the dispatching object is an
7212 access type then return an explicit dereference in the Object out-mode
7213 parameter.
7214
72152011-08-02 Gary Dismukes <dismukes@adacore.com>
7216
7217 * sem_ch3.adb (Analyze_Subtype_Declaration): Generate range
7218 compatibility checks for all indexes of an array subtype, not just the
7219 first. Reset Has_Dynamic_Range_Check on the subtype before each
7220 potential check to ensure that Insert_Range_Checks will not elide any
7221 of the dynamic checks.
7222
72232011-08-02 Yannick Moy <moy@adacore.com>
7224
7225 * par-prag.ad (Process_Restrictions_Or_Restriction_Warnings): recognize
7226 SPARK restriction at parsing time.
7227 * scng.adb (Scan): Generate a token Tok_SPARK_Hide for a SPARK HIDE
7228 directive only if the SPARK restriction is set for this unit.
7229
83f33150
YM
72302011-08-02 Yannick Moy <moy@adacore.com>
7231
7232 * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb, sem_util.ads,
7233 sem_res.adb, sem_ch2.adb, sem_ch4.adb, sem_ch6.adb,
7234 sem_ch11.adb: Protect call to Current_Subprogram which might be costly
7235 when repeated. Rename Current_Subprogram_Is_Not_In_ALFA into
7236 Mark_Non_ALFA_Subprogram_Body.
7237 Split body of Mark_Non_ALFA_Subprogram_Body to get body small and
7238 inlined.
7239
7b98672f
YM
72402011-08-02 Yannick Moy <moy@adacore.com>
7241
7242 * sem_res.adb: Protect calls to Matching_Static_Array_Bounds which
7243 might be costly.
7244
052e0603
AC
72452011-08-02 Robert Dewar <dewar@adacore.com>
7246
7247 * exp_ch9.adb, exp_sel.adb, restrict.ads, exp_disp.adb, erroutc.ads,
7248 exp_ch3.adb: Minor reformatting.
7249
72502011-08-02 Emmanuel Briot <briot@adacore.com>
7251
7252 * adaint.c (__gnat_locate_exec_on_path): only returns executable
7253 files, not any regular file.
7254 (__gnat_locate_file_with_predicate): new subprogram.
7255
72562011-08-02 Yannick Moy <moy@adacore.com>
7257
7258 * sinfo.adb, sinfo.ads: Restrict the use of flags
7259 Has_Dynamic_Length_Check and Has_Dynamic_Range_Check to expression
7260 nodes, plus N_Subtype_Declaration for the 2nd one.
7261
4fbad0ba
AC
72622011-08-02 Sergey Rybin <rybin@adacore.com>
7263
7264 * gnat_rm.texi: Ramification of pragma Eliminate documentation
7265 - fix bugs in the description of Source_Trace;
7266 - get rid of UNIT_NAME;
7267
052e0603
AC
72682011-08-02 Javier Miranda <miranda@adacore.com>
7269
7270 * exp_ch9.adb
7271 (Build_Dispatching_Requeue): Adding support for VM targets
7272 since we cannot directly reference the Tag entity.
7273 * exp_sel.adb (Build_K): Adding support for VM targets.
7274 (Build_S_Assignment): Adding support for VM targets.
7275 * exp_disp.adb
7276 (Default_Prim_Op_Position): In VM targets do not restrict availability
7277 of predefined interface primitives to compiling in Ada 2005 mode.
7278 (Is_Predefined_Interface_Primitive): In VM targets this service is not
7279 restricted to compiling in Ada 2005 mode.
7280 (Make_VM_TSD): Generate code that declares and initializes the OSD
7281 record. Needed to support dispatching calls through synchronized
7282 interfaces.
7283 * exp_ch3.adb
7284 (Make_Predefined_Primitive_Specs): Enable generation of predefined
7285 primitives associated with synchronized interfaces.
7286 (Make_Predefined_Primitive_Bodies): Enable generation of predefined
7287 primitives associated with synchronized interfaces.
7288
72892011-08-02 Yannick Moy <moy@adacore.com>
7290
7291 * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
7292 statements hidden in SPARK if preceded by the HIDE directive
7293 (Parse_Exception_Handlers): mark each exception handler in a sequence of
7294 exception handlers as hidden in SPARK if preceded by the HIDE directive
7295 * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
7296 if starting with the HIDE directive
7297 * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
7298 starting with the HIDE directive; mark the declarations in a private
7299 part as hidden in SPARK if the private part starts with the HIDE
7300 directive
7301 * restrict.adb, restrict.ads
7302 (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
7303 (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
7304 argument node belongs to a part which is hidden in SPARK
7305 (Check_SPARK_Restriction): do not issue violations on nodes in hidden
7306 parts in SPARK; protect the possibly costly call to
7307 Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
7308 * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
7309 * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
7310 Accumulate_Token_Checksum_GNAT_5_03): add case for new token
7311 Tok_SPARK_Hide.
7312 (Scan): recognize special comment starting with '#' and followed by
7313 SPARK keyword "hide" as a HIDE directive.
7314
73152011-08-02 Yannick Moy <moy@adacore.com>
7316
7317 * types.ads, erroutc.ads: Minor reformatting.
7318
73192011-08-02 Vincent Celier <celier@adacore.com>
7320
7321 * link.c: Add response file support for cross platforms.
7322
73232011-08-02 Ed Schonberg <schonberg@adacore.com>
7324
7325 * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
7326 in an association, set parent field of copy before partial analysis.
7327 * sem_res.adb (Resolve_Slice): create reference to itype only when
7328 expansion is enabled.
7329
73302011-08-02 Yannick Moy <moy@adacore.com>
7331
7332 * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
7333 for new flag denoting which subprogram bodies are in ALFA
7334 * restrict.adb, sem_ch7.adb: Update comment
7335 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
7336 sem_ch9.adb, sem_res.adb: Add calls to
7337 Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
7338 * sem_ch6.adb (Analyze_Function_Return): add calls to
7339 Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
7340 middle of the body, and extended return.
7341 (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
7342 False when missing return.
7343 (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
7344 to True for subprograms whose spec is in ALFA. Remove later on the flag
7345 on the entity used for a subprogram body when there exists a separate
7346 declaration.
7347 * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
7348 if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
7349 False, otherwise do nothing.
7350
73512011-08-02 Robert Dewar <dewar@adacore.com>
7352
7353 * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
7354
73552011-08-02 Yannick Moy <moy@adacore.com>
7356
7357 * sem_ch4.ads: minor formatting.
7358
73592011-08-02 Yannick Moy <moy@adacore.com>
7360
7361 * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
7362 debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
7363 errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
7364 restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
7365 opt.ads: cleanup of SPARK mode
7366
73672011-08-02 Yannick Moy <moy@adacore.com>
7368
7369 * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
7370 types.
7371 * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
7372 (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
7373 * sem_ch3.adb
7374 (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
7375 (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
7376 (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
7377 (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
7378 types.
7379 (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
7380 non-static range.
7381 * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
7382 functions whose return type is not in ALFA.
7383 (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
7384 specifications.
7385 (Process_Formals): unset Is_In_ALFA flag for subprograms if a
7386 parameter's type is not in ALFA.
7387 * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
7388 types are in ALFA.
7389
73902011-08-02 Ed Schonberg <schonberg@adacore.com>
7391
7392 * sem_ch6 (Analyze_Expression_Function): treat the function as
7393 Inline_Always, and introduce a subprogram declaration for it when it is
7394 not a completion.
7395 * inline.adb (Add_Inlined_Body): recognize bodies that come from
7396 expression functions, so that the back-end can determine whether they
7397 can in fact be inlined.
7398 * sem_util.adb (Is_Expression_Function): predicate to determine whether
7399 a function body comes from an expression function.
7400
74012011-08-02 Gary Dismukes <dismukes@adacore.com>
7402
7403 * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
7404 null exclusions to test Can_Never_Be_Null on the anonymous access types
7405 of the formals rather than testing the formals themselves. Exclude this
7406 check in cases where the Old_Formal is marked as a controlling formal,
7407 to avoid issuing spurious errors for bodies completing dispatching
7408 operations (due to the flag not getting set on controlling access
7409 formals in body specs).
7410 (Find_Corresponding_Spec): When checking full and subtype conformance of
7411 subprogram bodies in instances, pass Designated and E in that order, for
7412 consistency with the expected order of the formals (New_Id followed by
7413 Old_Id).
7414
74152011-08-02 Robert Dewar <dewar@adacore.com>
7416
7417 * sem_ch8.adb: Minor reformatting.
7418
74192011-08-02 Ed Schonberg <schonberg@adacore.com>
7420
7421 * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
7422 Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
7423 primitive operations of class-wide actuals.
7424
74252011-08-02 Javier Miranda <miranda@adacore.com>
7426
7427 * exp_atag.ads, exp_atag.adb
7428 (Build_Common_Dispatching_Select_Statements): Remove argument Loc
7429 since its value is implicitly passed in argument Typ.
7430 * exp_disp.adb (Make_Disp_Conditional_Select_Body,
7431 Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
7432 Build_Common_Dispatching_Select_Statements.
7433
74342011-08-02 Robert Dewar <dewar@adacore.com>
7435
7436 * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
7437 exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
7438 Minor reformatting.
7439
74402011-08-02 Robert Dewar <dewar@adacore.com>
7441
7442 * sem_res.adb: Minor reformatting.
7443 * sem_prag.adb: Minor reformatting.
7444
74452011-08-02 Javier Miranda <miranda@adacore.com>
7446
7447 * exp_atag.adb, exp_atags.ads
7448 (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
7449 by the tagged type Entity. Required to use this routine in the VM
7450 targets since we do not have available the Tag entity in the VM
7451 platforms.
7452 * exp_ch6.adb
7453 (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
7454 Ada.Tags has not been previously loaded.
7455 * exp_ch7.adb
7456 (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
7457 Build_VM_TSDs if package Ada.Tags has not been previously loaded.
7458 * sem_aux.adb
7459 (Enclosing_Dynamic_Scope): Add missing support to handle the full
7460 view of enclosing scopes. Required to handle enclosing scopes that
7461 are synchronized types whose full view is a task type.
7462 * exp_disp.adb
7463 (Build_VM_TSDs): Minor code improvement to avoid generating and
7464 analyzing lists with empty nodes.
7465 (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
7466 (Make_Disp_Conditional_Select_Body): Add support for VM targets.
7467 (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
7468 (Make_Disp_Timed_Select_Body): Add support for VM targets.
7469 (Make_Select_Specific_Data_Table): Add support for VM targets.
7470 (Make_VM_TSD): Generate code to initialize the SSD structure of
7471 the TSD.
7472
74732011-08-02 Yannick Moy <moy@adacore.com>
7474
7475 * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
7476 cross-references section in ALI.
7477 * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
7478 (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
7479 Sub).
7480 (Enclosing_Subprogram_Or_Package): new function to return the enclosing
7481 subprogram or package entity of a node
7482 (Is_Local_Reference_Type): new function returns True for references
7483 selected in local cross-references.
7484 (Lt): function extracted from Lt in Output_References
7485 (Write_Entity_Name): function extracted from Output_References
7486 (Generate_Definition): generate reference with type 'D' for definition
7487 of objects (object declaration and parameter specification), with
7488 appropriate locations and units, for use in local cross-references.
7489 (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
7490 references of type 'I' for initialization in object definition.
7491 (Output_References): move part of function Lt and procedure
7492 Write_Entity_Name outside of the body. Ignore references of types 'D'
7493 and 'I' introduced for local cross-references.
7494 (Output_Local_References): new procedure to output the local
7495 cross-references sections.
7496 (Lref_Entity_Status): new array defining whether an entity is a local
7497 * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
7498 with 'I' type when initialization expression is present.
7499 * get_scos.adb, get_scos.ads: Correct comments and typos
7500
75012011-08-02 Javier Miranda <miranda@adacore.com>
7502
7503 * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
7504 the JVM target.
7505 * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
7506 the JVM target.
7507 * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
7508 TSD support.
7509
75102011-08-02 Vincent Celier <celier@adacore.com>
7511
7512 * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
7513 (No_Space_Img): New function
7514 (Find_Excluded_Sources): When reading from a file, record the file name
7515 and the line number for each excluded source.
7516 (Mark_Excluded_Sources): When reporting an error, if the excluded
7517 sources were read from a file, include file name and line number in
7518 the error message.
7519
75202011-08-02 Ed Schonberg <schonberg@adacore.com>
7521
7522 * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
7523
75242011-08-02 Robert Dewar <dewar@adacore.com>
7525
7526 * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
7527
75282011-08-02 Javier Miranda <miranda@adacore.com>
7529
7530 * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
7531 generation of TSDs to the DOTNET compiler.
7532 * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
7533 generation of TSDs to the DOTNET compiler.
7534
75352011-08-02 Javier Miranda <miranda@adacore.com>
7536
7537 * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
7538 record of all the tagged types declared inside library level package
7539 declarations, library level package bodies or library level subprograms.
7540 * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
7541 associated with a given tagged type.
7542 (Build_VM_TSDs): New subprogram.
7543 * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
7544 compilation units that are subprograms.
7545 * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
7546 compilation units that are package bodies.
7547 (Expand_N_Package_Declaration): Generate TSDs of the main compilation
7548 units that are a package declaration or a package instantiation.
7549 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
7550 reorganization to improve the error generated by the frontend when the
7551 function Ada.Tags.Secondary_Tag is not available.
7552 * rtsfind.ads (RE_Register_TSD): New runtime entity.
7553 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
7554
75552011-08-02 Javier Miranda <miranda@adacore.com>
7556
7557 * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
7558
75592011-08-02 Robert Dewar <dewar@adacore.com>
7560
7561 * s-imenne.ads: Minor reformatting.
7562
75632011-08-02 Robert Dewar <dewar@adacore.com>
7564
7565 * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
7566 * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
7567 * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
7568
75692011-08-02 Robert Dewar <dewar@adacore.com>
7570
7571 * einfo.ads (Materialize_Entity): Document this is only for renamings
7572 * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
7573 required debug information in the case where we transform the object
7574 declaration into a renaming declaration.
7575 * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
7576 object
7577 * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
7578 Materialize_Entity.
7579
75802011-08-02 Robert Dewar <dewar@adacore.com>
7581
7582 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
7583 Suppress_Init_Procs.
7584 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
7585 Suppress_Initialization/Initialization_Suppressed.
7586 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
7587 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
7588 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
7589 * sem_prag.adb: New processing for pragma Suppress_Initialization.
7590
75912011-08-02 Robert Dewar <dewar@adacore.com>
7592
7593 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
7594 Minor reformatting.
7595
75962011-08-02 Ed Schonberg <schonberg@adacore.com>
7597
7598 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
7599 only have inheritable classwide pre/postconditions.
7600
76012011-08-02 Javier Miranda <miranda@adacore.com>
7602
7603 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
7604 * rtsfind.ads (RE_Check_TSD): New runtime entity.
7605 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
7606 checks if the external tag of a type is the same as the external tag
7607 of some other declaration.
7608
76092011-08-02 Thomas Quinot <quinot@adacore.com>
7610
7611 * s-taskin.ads: Minor reformatting.
7612
76132011-08-02 Emmanuel Briot <briot@adacore.com>
7614
7615 * g-comlin.adb (Display_Help): swap the order in which it prints the
7616 short help and the general usage.
7617
76182011-08-02 Ed Schonberg <schonberg@adacore.com>
7619
7620 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
7621 the aspect declarations and attach them to the generic copy for
7622 subsequent analysis.
7623 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
7624 declarations of the generic tree to the new subprogram declarations.
7625 * sem_attr.adb (Check_Precondition_Postcondition): recognize
7626 conditions that apply to a subprogram instance.
7627
76282011-08-02 Robert Dewar <dewar@adacore.com>
7629
7630 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
7631
76322011-08-02 Ed Schonberg <schonberg@adacore.com>
7633
7634 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
7635 private type with a tagged full view is not derived in the immediate
7636 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
7637
76382011-08-02 Robert Dewar <dewar@adacore.com>
7639
7640 * exp_ch4.adb: Minor reformatting.
7641
76422011-08-02 Ed Schonberg <schonberg@adacore.com>
7643
7644 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
7645 Ada2012 iterator, the loop will be rewritten during expansion into a
7646 while loop with a cursor and an element declaration. Do not analyze the
7647 body in this case, because if the container is for indefinite types the
7648 actual subtype of the elements will only be determined when the cursor
7649 declaration is analyzed.
7650
76512011-08-02 Arnaud Charlet <charlet@adacore.com>
7652
7653 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
7654 size/alignment related attributes in CodePeer_Mode.
7655
76562011-08-02 Gary Dismukes <dismukes@adacore.com>
7657
7658 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
7659 Prepend_Element, since this can result in the operation getting the
7660 wrong slot in the full type's dispatch table if the full type has
7661 inherited operations. The incomplete type's operation will get added
7662 to the proper position in the full type's primitives
7663 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
7664 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
7665 dispatching operations, since there are cases where nonprimitive
7666 subprograms can get added to the list of incomplete dependents (such
7667 as subprograms in nested packages).
7668 * sem_ch6.adb (Process_Formals): First, remove test for being in a
7669 private part when determining whether to add a primitive with a
7670 parameter of a tagged incomplete type to the Private_Dependents list.
7671 Such primitives can also occur in the visible part, and should not have
7672 been excluded from being private dependents.
7673 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
7674 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
7675 list of a Taft-amendment incomplete type is a primitive before issuing
7676 an error that the full type must appear in the same unit. There are
7677 cases where nonprimitives can be in the list (such as subprograms in
7678 nested packages).
7679 * sem_disp.adb (Derives_From): Use correct condition for checking that
7680 a formal's type is derived from the type of the corresponding formal in
7681 the parent subprogram (the condition was completely wrong). Add
7682 checking that was missing for controlling result types being derived
7683 from the result type of the parent operation.
7684
76852011-08-02 Yannick Moy <moy@adacore.com>
7686
7687 * errout.adb (First_Node): minor renaming
7688 * restrict.adb (Check_Formal_Restriction): put restriction warning on
7689 first node.
7690
76912011-08-02 Yannick Moy <moy@adacore.com>
7692
7693 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
7694 before accessing operands.
7695 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
7696 decide whether an initialization expression respects SPARK rules, as
7697 the plain node is the expanded one. This allows for more valid warnings
7698 to be issued.
7699 * gnat_rm.texi: Minor update.
7700
77012011-08-02 Arnaud Charlet <charlet@adacore.com>
7702
7703 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
7704 previous change.
7705
77062011-08-02 Robert Dewar <dewar@adacore.com>
7707
7708 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
7709
77102011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
7711
7712 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
7713 loop statements and the element renaming declaration with a block when
7714 the element type is controlled.
7715
77162011-08-02 Yannick Moy <moy@adacore.com>
7717
7718 * sinfo.ads: Minor formatting.
7719
77202011-08-02 Ed Schonberg <schonberg@adacore.com>
7721
7722 * sem_aggr.adb (Add_Association): if the association has a box and no
7723 expression, use the Sloc of the aggregate itself for the new
7724 association.
7725 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
7726 the Original_Node.
7727
77282011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
7729
7730 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
7731 When a container is provided via a function call, generate a renaming
7732 of the function result. This avoids the creation of a transient scope
7733 and the premature finalization of the container.
7734 * exp_ch7.adb (Is_Container_Cursor): Removed.
7735 (Wrap_Transient_Declaration): Remove the supression of the finalization
7736 of the list controller when the declaration denotes a container cursor,
7737 it is not needed.
7738
77392011-08-02 Yannick Moy <moy@adacore.com>
7740
7741 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
7742 node is from source, instead of the original node being from source.
7743 * sem_aggr.adb
7744 (Resolve_Array_Aggregate): refine the check for a static expression, to
7745 recognize also static ranges
7746 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
7747 Array_Type_Declaration): postpone the test for the type being a subtype
7748 mark after the type has been resolved, so that component-selection and
7749 expanded-name are discriminated.
7750 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
7751 to distinguish the case of an iteration scheme, so that an error is
7752 issed on a non-static range in SPARK except in an iteration scheme.
7753 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
7754 In_Iter_Schm = True.
7755 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
7756 user-defined operators so that they are allowed in renaming
7757 * sem_ch8.adb
7758 (Find_Selected_Component): refine the check for prefixing of operators
7759 so that they are allowed in renaming. Move the checks for restrictions
7760 on selector name after analysis discriminated between
7761 component-selection and expanded-name.
7762 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
7763 concatenation argument of string type if it is static.
7764 * sem_util.adb, sem_util.ads
7765 (Check_Later_Vs_Basic_Declarations): add a new function
7766 Is_Later_Declarative_Item to decice which declarations are allowed as
7767 later items, in the two different modes Ada 83 and SPARK. In the SPARK
7768 mode, add that renamings are considered as later items.
7769 (Enclosing_Package): new function to return the enclosing package
7770 (Enter_Name): correct the rule for homonyms in SPARK
7771 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
7772 from source (result of expansion) to avoid issuing wrong warnings.
7773
77742011-08-02 Ed Schonberg <schonberg@adacore.com>
7775
7776 * errout.adb: On anything but an expression First_Node returns its
7777 argument.
7778
77792011-08-02 Pascal Obry <obry@adacore.com>
7780
7781 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
7782
77832011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
7784
7785 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
7786 Set the associated loop as the related expression of internally
7787 generated cursors.
7788 * exp_ch7.adb (Is_Container_Cursor): New routine.
7789 (Wrap_Transient_Declaration): Supress the finalization of the list
7790 controller when the declaration denotes a container cursor.
7791
77922011-08-02 Yannick Moy <moy@adacore.com>
7793
7794 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
7795 command line now.
7796 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
7797 expression is a simple expression. This check cannot be performed in
7798 the semantics, so just drop it.
7799 (P_Index_Or_Discriminant_Constraint): move check that the index or
7800 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
7801 semantics. Other cases were previously checked in the semantics.
7802 * par-ch4.adb (P_Name): move checks that a selector name is not
7803 character literal or an operator symbol to Find_Selected_Component in
7804 the semantics
7805 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
7806 declarations are not placed after later declarations in a separate
7807 procedure in Sem_Util (possibly not the best choice?), to be used both
7808 during parsing, for Ada 83 mode, and during semantic analysis, for
7809 SPARK mode.
7810 * par-endh.adb (Check_End): move check that end label is not missing
7811 to Process_End_Label in the semantics
7812 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
7813 the special case for SPARK restriction
7814 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
7815 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
7816 parameter Force to issue the error message even on internal node (used
7817 for generated end label). Call Check_Restriction to check when an error
7818 must be issued. In SPARK mode, issue an error message even if the
7819 restriction is not set.
7820 (Check_Restriction): new procedure with an additional out parameter to
7821 inform the caller that a message has been issued
7822 * sem_aggr.adb: Minor modification of message
7823 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
7824 instead of issuing an error message directly
7825 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
7826 declarations are not placed after later declarations, by calling
7827 Check_Later_Vs_Basic_Declarations
7828 (Analyze_Subtype_Declaration): move here the check that an index or
7829 discriminant constraint must be a subtype mark. Change the check that
7830 a subtype of String must start at one so that it works on subtype marks.
7831 * sem_ch4.adb (Analyze_Call): move here the check that a named
7832 association cannot follow a positional one in a call
7833 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
7834 instead of issuing an error message directly
7835 * sem_ch8.adb (Find_Selected_Component): move here the check that a
7836 selector name is not a character literal or an operator symbol. Move
7837 here the check that the prefix of an expanded name cannot be a
7838 subprogram or a loop statement.
7839 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
7840 procedure called from parsing and semantics to check that basic
7841 declarations are not placed after later declarations
7842 (Process_End_Label): move here the check that end label is not missing
7843
78442011-08-02 Arnaud Charlet <charlet@adacore.com>
7845
7846 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
7847 representation clause in codepeer mode, since it confuses CodePeer and
7848 does not bring useful info.
7849
78502011-08-02 Ed Falis <falis@adacore.com>
7851
7852 * init.c: initialize fp hw on MILS.
7853
78542011-08-02 Ed Schonberg <schonberg@adacore.com>
7855
7856 * errout.adb (First_Node): for bodies, return the node itself (small
7857 optimization). For other nodes, do not check source_unit if the node
7858 comes from Standard.
7859
78602011-08-02 Robert Dewar <dewar@adacore.com>
7861
7862 * exp_ch3.adb: Minor comment additions.
7863 * sem_ch13.adb: Minor reformatting.
7864
78652011-08-02 Pascal Obry <obry@adacore.com>
7866
7867 * make.adb, makeutl.adb: Removes some superfluous directory separator.
7868
78692011-08-02 Robert Dewar <dewar@adacore.com>
7870
7871 * sem_attr.adb: Minor reformatting.
7872
78732011-08-02 Robert Dewar <dewar@adacore.com>
7874
7875 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
7876 (Has_Default_Component_Value): Removed
7877 * einfo.ads Comment updates
7878 (Has_Default_Aspect): Replaces Has_Default_Value
7879 (Has_Default_Component_Value): Removed
7880 * exp_ch13.adb
7881 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
7882 * exp_ch3.adb
7883 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
7884 (Get_Simple_Init_Val): Handle Default_Value aspect
7885 (Needs_Simple_Initialization): Handle Default_Value aspect
7886 * exp_ch3.ads: Needs_Simple_Initialization
7887 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
7888 * par-prag.adb (Pragma_Default[_Component]Value) Removed
7889 * sem_ch13.adb
7890 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
7891 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
7892 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
7893
78942011-08-02 Ed Schonberg <schonberg@adacore.com>
7895
7896 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
7897 package containing iteration primitives.
7898 exp_ch5.adb (Expand_Iterator_Loop): ditto.
7899
79002011-08-02 Ed Schonberg <schonberg@adacore.com>
7901
7902 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
7903 "of", pre-analyze expression in case it is a function call with
7904 finalization actions that must be placed ahead of the loop.
7905 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
7906 on an Ada2012 iterator, insert them ahead of the rewritten loop.
7907
79082011-08-02 Geert Bosch <bosch@adacore.com>
7909
7910 * cstand.adb (Create_Float_Types): Only consider C's long double for
7911 Long_Long_Float, in addition to double.
7912
79132011-08-02 Robert Dewar <dewar@adacore.com>
7914
7915 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
7916 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
7917 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
7918 Minor reformatting.
7919
79202011-08-02 Ed Schonberg <schonberg@adacore.com>
7921
7922 * sem_attr.adb: handle properly 'Result when it is a prefix of an
7923 indexed component.
7924
79252011-08-02 Javier Miranda <miranda@adacore.com>
7926
7927 * einfo.ads, einfo.adb
7928 (Original_Access_Type): Move this attribute to Node26 since there was
7929 an undocumented use of Node21 in E_Access_Subprogram_Type entities
7930 which causes conflicts and breaks the generation of the .NET compiler.
7931 (Interface_Name): Add missing documentation on JGNAT only uses of
7932 this attribute.
7933
79342011-08-02 Geert Bosch <bosch@adacore.com>
7935
7936 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
7937 (Find_Back_End_Float_Type): Likewise
7938 (Create_Back_End_Float_Types): Likewise
7939 (Create_Float_Types): Likewise
7940 (Register_Float_Type): Likewise
7941 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
7942 Nlist and split out type selection in new local Find_Base_Type function.
7943 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
7944 Nlist
7945 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
7946
79472011-08-02 Robert Dewar <dewar@adacore.com>
7948
7949 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
7950 alpha order).
7951 * opt.ads: Minor comment change.
7952 * sem_ch12.adb: Minor code reorganization.
7953
79542011-08-02 Gary Dismukes <dismukes@adacore.com>
7955
7956 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
7957 subtype's list of rep items to the list on the full subtype in the case
7958 where the lists are the same.
7959
79602011-08-02 Geert Bosch <bosch@adacore.com>
7961
7962 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
7963 using the one from System.Strings, which also deallocates all strings.
7964
79652011-08-02 Geert Bosch <bosch@adacore.com>
7966
7967 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
7968 function.
7969 * gcc-interface/Make-lang.in: Update dependencies.
7970
79712011-08-02 Olivier Hainque <hainque@adacore.com>
7972
7973 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
7974 end_locus.
7975
79762011-08-02 Javier Miranda <miranda@adacore.com>
7977
7978 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
7979 associated with anonymous access to subprograms.
7980
79812011-08-02 Geert Bosch <bosch@adacore.com>
7982
7983 * opt.ads
7984 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
7985 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
7986 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
7987 (Add_Symbol_Definition): Move to switch-c.adb
7988 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
7989 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
7990 (Add_Symbol_Definition): Move to switch-c.adb.
7991 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
7992 * sem_warn.adb
7993 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
7994 Move to warnsw.adb.
7995 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
7996 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
7997 Move to warnsw.adb.
7998 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
7999 (Add_Symbol_Definition): Moved from Prepcomp.
8000 * switch-c.ads: Update copyright notice. Use String_List instead of
8001 Argument_List, removing dependency on System.OS_Lib.
8002
80032011-08-02 Yannick Moy <moy@adacore.com>
8004
8005 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
8006 mode on initialization expression which does not respect SPARK
8007 restrictions.
8008 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
8009 if the tree referenced by its argument represents an initialization
8010 expression in SPARK, suitable for initializing an object in an object
8011 declaration.
8012
80132011-08-02 Javier Miranda <miranda@adacore.com>
8014
8015 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
8016 internally generated access to subprogram with its associated protected
8017 subprogram type.
8018 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
8019
80202011-08-02 Geert Bosch <bosch@adacore.com>
8021
8022 * cstand.adb (Register_Float_Type): Print information about type to
8023 register, if the Debug_Flag_Dot_B is set.
8024 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
8025 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
8026 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
8027 with a requested precision of more than Max_Digits digits and no more
8028 than Max_Base_Digits digits, if a range specification is present and the
8029 Predefined_Float_Types list has a suitable type to derive from.
8030 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
8031 case of type completion with pragma Import
8032 * sem_prag.adb
8033 (Process_Import_Predefined_Type): Processing to complete a type
8034 with pragma Import. Currently supports floating point types only.
8035 (Set_Convention_From_Pragma): Do nothing without underlying type.
8036 (Process_Convention): Guard against absence of underlying type,
8037 which may happen when importing incomplete types.
8038 (Process_Import_Or_Interface): Handle case of importing predefined
8039 types. Tweak error message.
8040
80412011-08-02 Eric Botcazou <ebotcazou@adacore.com>
8042
8043 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
8044 functions to previous change. Reorganize code slightly.
8045
80462011-08-02 Geert Bosch <bosch@adacore.com>
8047
8048 * back_end.ads (Register_Type_Proc): New call back procedure type for
8049 allowing the back end to provide information about available types.
8050 (Register_Back_End_Types): New procedure to register back end types.
8051 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
8052 available types.
8053 * cstand.adb (Back_End_Float_Types): New list for floating point types
8054 supported by the back end.
8055 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
8056 (Copy_Float_Type): New procedure to make new copies of predefined types.
8057 (Register_Float_Type): New call back procedure to populate the BEFT list
8058 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
8059 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
8060 (Create_Float_Types): New procedure to create entities for floating
8061 point types predefined in Standard, and put these and any remaining
8062 BEFTs on the Predefined_Float_Types list.
8063 * stand.ads (Predefined_Float_Types): New list for predefined floating
8064 point types that do not have declarations in package Standard.
8065
80662011-08-02 Eric Botcazou <ebotcazou@adacore.com>
8067
8068 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
8069 entity node for the unit containing the parameter.
8070 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
8071 (Add_Inlined_Subprogram): Likewise.
8072 * gcc-interface/Make-lang.in: Update dependencies.
8073
80742011-08-02 Thomas Quinot <quinot@adacore.com>
8075
8076 * s-stusta.adb (Print): Make sure Pos is always initialized to a
8077 suitable value.
8078
80792011-08-02 Geert Bosch <bosch@adacore.com>
8080
8081 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
8082
80832011-08-02 Eric Botcazou <ebotcazou@adacore.com>
8084
8085 * sem_type.adb (Covers): Move trivial case to the top and reuse the
8086 computed value of Base_Type.
8087
80882011-08-02 Yannick Moy <moy@adacore.com>
8089
8090 * restrict.adb (Check_Restriction): issue an error for any use of
8091 class-wide, even if the No_Dispatch restriction is not set.
8092 * sem_aggr.adb: Correct typos in comments and messages in formal mode
8093 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
8094 when completing a private extension, the type named in the private part
8095 is not the same as that named in the visible part.
8096 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
8097 of an inherited primitive operations of a tagged type or type extension
8098 that returns the tagged type.
8099 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
8100 function which returns True for an implicit operation inherited by the
8101 derived type declaration for the argument type.
8102 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
8103 order.
8104
81052011-08-02 Ed Schonberg <schonberg@adacore.com>
8106
8107 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
8108 Process_Bounds, to perform analysis with expansion of a range or an
8109 expression that is the iteration scheme for a loop.
8110 (Analyze_Iterator_Specification): If domain of iteration is given by a
8111 function call with a controlled result, as is the case if call returns
8112 a predefined container, ensure that finalization actions are properly
8113 generated.
8114 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
8115
81162011-08-02 Javier Miranda <miranda@adacore.com>
8117
8118 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
8119 * gcc-interface/Make-lang.in: Update dependencies.
8120
81212011-08-02 Javier Miranda <miranda@adacore.com>
8122
8123 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
8124 determine if the analysis is performed using N or Original_Node (N).
8125 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
8126 functionality of routine Is_Variable avoids code duplication.
8127 * checks.adb (Determine_Range): Handle temporaries generated by
8128 Remove_Side_Effects.
8129
81302011-08-02 Javier Miranda <miranda@adacore.com>
8131
8132 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
8133 expansion of the condition. Required since the previous analysis was
8134 done with expansion disabled (see Resolve_Quantified_Expression) and
8135 hence checks were not inserted and record comparisons have not been
8136 expanded.
8137
81382011-08-02 Ed Falis <falis@adacore.com>
8139
8140 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
8141 Update header.
8142
81432011-08-02 Bob Duff <duff@adacore.com>
8144
8145 * opt.ads: Minor comment fix.
8146
81472011-08-02 Bob Duff <duff@adacore.com>
8148
8149 * sem_ch12.adb (Analyze_Package_Instantiation,
8150 Analyze_Subprogram_Instantiation): Turn off style checking while
8151 analyzing an instance. Whatever style checks that apply to the generic
8152 unit should apply, so it makes no sense to apply them in an instance.
8153 This was causing trouble when compiling an instance of a runtime
8154 unit that violates the -gnatyO switch.
8155 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
8156 one of the two case statements, causing spurious errors.
8157
81582011-08-02 Robert Dewar <dewar@adacore.com>
8159
8160 * uname.adb: Minor reformatting.
8161 * gnatcmd.adb: Minor reformatting.
8162 * exp_attr.adb: Minor reformatting.
8163
81642011-08-02 Ed Schonberg <schonberg@adacore.com>
8165
8166 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
8167 No_Dispatching_Calls, do not look for the Assign primitive, because
8168 predefined primitives are not created in this case.
8169
81702011-08-02 Bob Duff <duff@adacore.com>
8171
8172 * stylesw.ads: Minor comment fixes.
8173
81742011-08-02 Robert Dewar <dewar@adacore.com>
8175
8176 * freeze.adb (Add_To_Result): New procedure.
8177
81782011-08-02 Jose Ruiz <ruiz@adacore.com>
8179
8180 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
8181 time, if the specific run-time routines for handling streams of strings
8182 are not available, use the default mechanism.
8183
81842011-08-02 Arnaud Charlet <charlet@adacore.com>
8185
8186 * s-regpat.ads: Fix typo.
8187
81882011-08-02 Vincent Celier <celier@adacore.com>
8189
8190 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
8191 not null, call it to create the in memory config project file without
8192 parsing an existing default config project file.
8193
81942011-08-02 Eric Botcazou <ebotcazou@adacore.com>
8195
8196 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
8197
81982011-08-02 Ed Schonberg <schonberg@adacore.com>
8199
8200 * sem_elim.adb: an abstract subprogram does not need an eliminate
8201 pragma for its descendant to be eliminable.
8202
82032011-08-02 Ed Falis <falis@adacore.com>
8204
8205 * init.c: revert to handling before previous checkin for VxWorks
8206 * s-intman-vxworks.adb: delete unnecessary declarations related to
8207 using Ada interrupt facilities for handling signals.
8208 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
8209 * s-intman-vxworks.ads: Import __gnat_install_handler as
8210 Initialize_Interrupts.
8211 * s-taprop-vxworks.adb: Delete Signal_Mask.
8212 (Abort_Handler): change construction of mask to unblock exception
8213 signals.
8214
82152011-08-02 Jerome Guitton <guitton@adacore.com>
8216
8217 * a-except-2005.adb (Raise_From_Signal_Handler): Call
8218 Debug_Raise_Exception before propagation starts.
8219
82202011-08-02 Eric Botcazou <ebotcazou@adacore.com>
8221
8222 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
8223 to Restriction_Check_Required.
8224 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
8225 * sem_res.adb (Resolve_Call): Likewise.
8226 * sem_attr.adb (Check_Stream_Attribute): Likewise.
8227
82282011-08-02 Bob Duff <duff@adacore.com>
8229
8230 * stylesw.ads: Update comment.
8231 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
8232 * errout.ads: Remove obsolete comment.
8233
82342011-08-02 Javier Miranda <miranda@adacore.com>
8235
8236 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
8237 (Set_Is_Safe_To_Reevaluate): new procedure.
8238 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
8239 assignment is allowed on safe-to-reevaluate variables.
8240 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
8241 temporary created to remove side effects in expressions that use
8242 the secondary stack as safe-to-reevaluate.
8243 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
8244 variables that are not true constants.
8245
82462011-08-02 Robert Dewar <dewar@adacore.com>
8247
8248 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
8249 sem_res.adb, sem_ch6.adb: Minor reformatting.
8250
82512011-08-02 Jerome Guitton <guitton@adacore.com>
8252
8253 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
8254
82552011-08-02 Ed Schonberg <schonberg@adacore.com>
8256
8257 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
8258 not set Overridden_Operation if subprogram is an initialization
8259 procedure.
8260
82612011-08-02 Yannick Moy <moy@adacore.com>
8262
8263 * par-ch6.adb: Correct obsolete name in comments
8264 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
8265 which takes two message arguments (existing function takes one), with
8266 second message used for continuation.
8267 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
8268 block statements that originate from a source block statement, not
8269 generated block statements
8270 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
8271 symmetry with procedure case
8272 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
8273 function to issue an error in formal mode if a package specification
8274 contains more than one tagged type or type extension.
8275 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
8276 parameters matching formals of tagged types are objects (or ancestor
8277 type conversions of objects), not general expressions. Issue an error
8278 on view conversions that are not involving ancestor conversion of an
8279 extended type.
8280 (Resolve_Type_Conversion): in formal mode, issue an error on the
8281 operand of an ancestor type conversion which is not an object
8282 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
8283 procedure so that it works also for actuals of function calls
8284 (Is_Actual_Tagged_Parameter): new function which determines if its
8285 argument is an actual parameter of a formal of tagged type in a
8286 subprogram call
8287 (Is_SPARK_Object_Reference): new function which determines if the tree
8288 referenced by its argument represents an object in SPARK
8289
82902011-08-02 Robert Dewar <dewar@adacore.com>
8291
8292 * sem_ch3.adb: Minor reformatting
8293 Minor comment addition
8294 Minor error msg text change
8295
82962011-08-02 Javier Miranda <miranda@adacore.com>
8297
8298 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
8299 function. Used to be more precise when we generate a variable plus one
8300 assignment to remove side effects in the evaluation of the Bound
8301 expressions.
8302 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
8303 of the bound expression to force its re-analysis and thus expand the
8304 associated transient scope (if required). Code cleanup replacing the
8305 previous code that declared the constant entity by an invocation to
8306 routine Force_Evaluation which centralizes this work in the frontend.
8307
83082011-08-02 Robert Dewar <dewar@adacore.com>
8309
8310 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
8311 (Base_Type): Now uses improved Is_Base_Type function
8312 * einfo.ads (Base_Type): Inline this function
8313
83142011-08-02 Robert Dewar <dewar@adacore.com>
8315
8316 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
8317 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
8318
83192011-08-02 Arnaud Charlet <charlet@adacore.com>
8320
8321 * gcc-interface/Make-lang.in: Update dependencies.
8322 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
8323 targets.
8324
83252011-08-02 Yannick Moy <moy@adacore.com>
8326
8327 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
8328 non-simple expression used in delta constraint
8329 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
8330 index constraint which is not a subtype mark
8331 * par.adb: With and use Restrict
8332 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
8333 mode on component type which is not a subtype mark and default
8334 expression on component
8335 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
8336 of string which does not have a lower index bound equal to 1
8337 (Array_Type_Declaration): issue an error in formal mode on index or
8338 component type which is not a subtype mark, and on aliased keyword on
8339 component
8340 (Derived_Type_Declaration): issue an error in formal mode on interface,
8341 limited or abstract type
8342 (Record_Type_Declaration): issue an error in formal mode on interface
8343 (Record_Type_Definition): issue an error in formal mode on tagged types
8344 and type extensions not declared in the specification of a library unit
8345 package; on null non-tagged record; on variant part
8346
83472011-08-02 Vincent Celier <celier@adacore.com>
8348
8349 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
8350 not declared for qualified library project when Library_Name is not
8351 declared, but Library_Dir is.
8352
83532011-08-02 Robert Dewar <dewar@adacore.com>
8354
8355 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
8356 pragmas (affects aspects [Component_]Default_Value
8357 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
8358 component type for the resolution
8359
83602011-08-02 Eric Botcazou <ebotcazou@adacore.com>
8361
8362 * einfo.adb (Base_Type): Tune implementation for speed.
8363
83642011-08-02 Robert Dewar <dewar@adacore.com>
8365
8366 * freeze.adb: Minor reformatting.
8367
83682011-08-02 Thomas Quinot <quinot@adacore.com>
8369
8370 * scos.ads: Update comments.
8371
83722011-08-02 Ed Schonberg <schonberg@adacore.com>
8373
8374 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
8375 base type, because the parent may be a subtype of a private type whose
8376 convention is established in a private part.
8377
83782011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
8379
8380 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
8381 statement in a block when the expansion of the return expression has
8382 created a finalization chain.
8383 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
8384 with the parent node.
8385 Add N_Extended_Return_Statement to handle the case where a transient
8386 object declaration appears in the Return_Object_Declarations list of
8387 an extended return statement.
8388
83892011-08-02 Matthew Gingell <gingell@adacore.com>
8390
8391 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
8392 unused parameter 'name'.
8393
83942011-08-02 Ed Schonberg <schonberg@adacore.com>
8395
8396 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
8397 inherited operation, check whether its alias, which is the source
8398 operastion that it renames, has been marked eliminated.
8399
84002011-08-02 Javier Miranda <miranda@adacore.com>
8401
8402 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
8403 in-mode parameter whose type is an access type since it can be used to
8404 modify its designated object. Enforce code that handles as safe an
8405 access type that is not access-to-constant but it is the result of a
8406 previous removal of side-effects.
8407 (Remove_Side_Effects): Minor code reorganization of cases which require
8408 no action. Done to incorporate documentation on new cases uncovered
8409 working in this ticket: no action needed if this routine was invoked
8410 too early and the nodes are not yet decorated.
8411 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
8412 to routine Remove_Side_Effects by calls to Force_Evaluation since they
8413 were issued with actuals that are implicitly provided by
8414 Force_Evaluation.
8415
84162011-08-02 Robert Dewar <dewar@adacore.com>
8417
8418 * sem_ch3.adb, sem_res.adb: Minor reformatting.
8419
84202011-08-02 Yannick Moy <moy@adacore.com>
8421
8422 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
8423 to issue an error in formal mode on attribute not supported in this mode
8424 (Analyze_Attribute): issue errors on standard attributes not supported
8425 in formal mode.
8426 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
8427 comment, and issue error in formal mode on modulus which is not a power
8428 of 2.
8429 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
8430 range.
8431 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
8432 subtype mark.
8433 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
8434 operator on modular type (except 'not').
8435
84362011-08-02 Robert Dewar <dewar@adacore.com>
8437
8438 * gnat_rm.texi: Minor reformatting.
8439
84402011-08-02 Arnaud Charlet <charlet@adacore.com>
8441
8442 * s-osinte-linux.ads: Minor comment update and reformatting.
8443 * i-cexten.ads: Make this unit pure, as for its parent.
8444 Will allow its usage in more contexts if needed.
8445
84462011-08-02 Robert Dewar <dewar@adacore.com>
8447
8448 * s-utf_32.ads: Minor comment fix.
8449
84502011-08-02 Ed Schonberg <schonberg@adacore.com>
8451
8452 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
8453 operation of a tagged synchronized type, handle the case where the
8454 controlling argument is overloaded.
8455
84562011-08-02 Yannick Moy <moy@adacore.com>
8457
8458 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
8459 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
8460 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
8461 SPARK mode and formal verification mode on processing SPARK restriction
8462 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
8463 requiring consistency checking.
8464
84652011-08-02 Robert Dewar <dewar@adacore.com>
8466
8467 * sem_res.adb: Minor reformatting.
8468
84692011-08-02 Robert Dewar <dewar@adacore.com>
8470
8471 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
8472 a-cforse.ads: Remove unneeded with of Ada.Containers
8473 Remove commented out pragma Inline's
8474 Move specifications of new subprograms to the actual specs
8475
84762011-08-02 Yannick Moy <moy@adacore.com>
8477
8478 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
8479 a-cforse.ads: Update comments.
8480
84812011-08-02 Ed Schonberg <schonberg@adacore.com>
8482
8483 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
8484
84852011-08-02 Robert Dewar <dewar@adacore.com>
8486
8487 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
8488 a-cforse.ads, a-cofove.ads: Minor reformatting.
8489
84902011-08-02 Claire Dross <dross@adacore.com>
8491
8492 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
8493 a-cofove.ads: Add comments.
8494
84952011-08-02 Yannick Moy <moy@adacore.com>
8496
8497 * gnat_rm.texi: Document formal containers.
8498
84992011-08-02 Emmanuel Briot <briot@adacore.com>
8500
8501 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
8502 are empty sections.
8503
85042011-08-02 Robert Dewar <dewar@adacore.com>
8505
8506 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
8507 reformatting.
8508
85092011-08-02 Robert Dewar <dewar@adacore.com>
8510
8511 * aspects.adb: New aspects Default_Value and Default_Component_Value
8512 New format of Aspect_Names table checks for omitted entries
8513 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
8514 handling of boolean aspects for derived types.
8515 New aspects Default_Value and Default_Component_Value
8516 New format of Aspect_Names table checks for omitted entries
8517 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
8518 (Has_Default_Value): New flag
8519 (Has_Default_Component_Value): New flag
8520 (Has_Default_Value): New flag
8521 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
8522 table.
8523 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
8524 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
8525 Default_Value and Default_Component_Value
8526 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
8527 New aspects Default_Value and Default_Component_Value
8528 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
8529 * sprint.adb: Print N_Aspect_Specification node when called from gdb
8530
85312011-08-02 Vincent Celier <celier@adacore.com>
8532
8533 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
8534 inherit library kind.
8535
85362011-08-02 Ed Schonberg <schonberg@adacore.com>
8537
8538 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
8539 Minor reformatting.
8540
85412011-08-02 Robert Dewar <dewar@adacore.com>
8542
8543 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
8544
85452011-08-02 Yannick Moy <moy@adacore.com>
8546
8547 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
8548
85492011-08-02 Robert Dewar <dewar@adacore.com>
8550
8551 * impunit.adb: Add comment.
8552
85532011-08-02 Yannick Moy <moy@adacore.com>
8554
8555 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
8556 qualification of aggregates in formal mode
8557 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
8558 another aggregate
8559 (Resolve_Aggregate): complete the test that an aggregate is adequately
8560 qualified in formal mode
8561
85622011-08-02 Pascal Obry <obry@adacore.com>
8563
8564 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
8565 * mlib-prj.adb: Supress warning when compiling binder generated file.
8566 (Build_Library): Supress all warnings when compiling the binder
8567 generated file.
8568
85692011-08-02 Yannick Moy <moy@adacore.com>
8570
8571 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
8572 from here...
8573 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
8574 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
8575 Add with/use clauses to make Check_Formal_Restriction visible
8576
85772011-08-02 Ed Schonberg <schonberg@adacore.com>
8578
8579 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
8580 in-parameters when type of the generic formal is private in the generic
8581 spec and non-private in the body.
8582
85832011-08-02 Claire Dross <dross@adacore.com>
8584
8585 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
8586 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
8587 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
8588 * impunit.adb, Makefile.rtl: Take new files into account.
8589
85902011-08-02 Robert Dewar <dewar@adacore.com>
8591
8592 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
8593 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
8594
85952011-08-02 Yannick Moy <moy@adacore.com>
8596
8597 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
8598 formal mode
8599 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
8600 matching static array bounds, taking into account the special case of
8601 string literals
8602 * sem_ch3.adb: Typo in comment.
8603
86042011-08-02 Yannick Moy <moy@adacore.com>
8605
8606 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
8607 which issues an error in formal mode if its argument node is originally
8608 from source
8609 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
8610 has a discriminant specification so that it does not include the case
8611 of derived types
8612 (Derived_Type_Declaration): move here the test that a derived type has a
8613 discriminant specification
8614 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
8615 first element of a component association before accessing its choices
8616 (presence of component association is not enough)
8617 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
8618 declaration is a library item before accessing the next element in a
8619 list, as library items are not member of lists
8620 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
8621 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
8622 Check_Formal_Restriction whenever possible.
8623
86242011-08-02 Ed Schonberg <schonberg@adacore.com>
8625
8626 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
8627 reference when needed.
8628
86292011-08-02 Bob Duff <duff@adacore.com>
8630
8631 * gnat_ugn.texi: Fix typo.
8632
86332011-08-02 Vincent Celier <celier@adacore.com>
8634
8635 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
8636 archive file name. Do not use the full path name of archives for Open
8637 VMS.
8638
86392011-08-02 Robert Dewar <dewar@adacore.com>
8640
8641 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
8642 Analyze_Aspect_Specifications
8643 * sem_ch13.adb
8644 (Analyze_Aspect_Specifications): New handling for boolean aspects
8645 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
8646 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
8647 sequence for Analyze_Aspect_Specifications
8648 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
8649 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
8650
86512011-08-02 Robert Dewar <dewar@adacore.com>
8652
8653 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
8654 aspects, since these no longer exist.
8655
86562011-08-02 Robert Dewar <dewar@adacore.com>
8657
8658 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
8659 semicolon, do not try to see if there are aspects following it.
8660 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
8661 aspect spec.
8662
86632011-08-02 Robert Dewar <dewar@adacore.com>
8664
8665 * sem_ch8.adb, aspects.ads: Minor reformatting.
8666
86672011-08-02 Eric Botcazou <ebotcazou@adacore.com>
8668
8669 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
8670 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
8671 extracted from...
8672 (Analyze_Aspect_Specifications): ...here. Call above procedure.
8673
86742011-08-02 Yannick Moy <moy@adacore.com>
8675
8676 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
8677 mode on subprogram declaration outside of package specification, unless
8678 it is followed by a pragma Import
8679 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
8680 Access_Type_Declaration): issue error in formal mode on access type
8681 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
8682 incomplete type
8683 (Analyze_Object_Declaration): issue error in formal mode on object
8684 declaration which does not respect SPARK restrictions
8685 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
8686 declaration which does not respect SPARK restrictions
8687 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
8688 error in formal mode on digits or delta constraint
8689 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
8690 decimal fixed point type
8691 (Derived_Type_Declaration): issue error in formal mode on derived type
8692 other than type extensions of tagged record types
8693 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
8694 with check on access definition
8695 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
8696 mode on protected definition.
8697 (Analyze_Task_Definition): issue error in formal mode on task definition
8698
86992011-08-02 Robert Dewar <dewar@adacore.com>
8700
8701 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
8702
87032011-08-02 Javier Miranda <miranda@adacore.com>
8704
8705 * sem_ch6.adb (Can_Override_Operator): New function.
8706 (Verify_Overriding_Indicator): Add missing code to check overriding
8707 indicator in operators. Fixes regression.
8708 (Check_Overriding_Indicator): Minor reformating after replacing the
8709 code that evaluates if the subprogram can override an operator by
8710 invocations to the above new function.
8711 * einfo.adb
8712 (Write_Field26_Name): Add missing code to ensure that, following
8713 the documentation in einfo.ads, this field is not shown as attribute
8714 "Static_Initialization" on non-dispatching functions.
8715
87162011-08-02 Jose Ruiz <ruiz@adacore.com>
8717
8718 * sem_res.adb (Resolve_Call): A call to
8719 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
8720 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
8721 i.e., when the second parameter is of type Time_Span.
8722
87232011-08-02 Vincent Celier <celier@adacore.com>
8724
8725 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
8726 with an archive instead of -L<library dir> -l<library name>.
8727
87282011-08-02 Ed Schonberg <schonberg@adacore.com>
8729
8730 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
8731 mark the base types In_Use in addition to making the operations
8732 use_visible.
8733
87342011-08-02 Ed Falis <falis@adacore.com>
8735
8736 * init.c: add and setup __gnat_signal_mask for the exception signals
8737 * s-inmaop-vxworks.adb: new file.
8738 * s-intman-vxworks.adb: remove unnecessary initializations and
8739 simplify remaining
8740 * s-intman-vxworks.ads: remove unnecessary variable
8741 * s-taprop-vxworks.adb: simplify signal initialization
8742
87432011-08-02 Robert Dewar <dewar@adacore.com>
8744
8745 * sem_ch8.adb: Minor code reorganization, comment updates.
8746
87472011-08-02 Robert Dewar <dewar@adacore.com>
8748
8749 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
8750 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
8751 here from Sem_Res.
8752 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
8753 (Matching_Static_Array_Bounds): Moved here from Sem_Res
8754
87552011-08-02 Ed Schonberg <schonberg@adacore.com>
8756
8757 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
8758 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
8759 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
8760 use_type_clauses, to handle more efficiently use_type and use_all_type
8761 constructs.
8762 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
8763 Ada2012 Use_All_Type clause.
8764 (Use_Class_Wide_Operations): new procedure.
8765
87662011-08-02 Robert Dewar <dewar@adacore.com>
8767
8768 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
8769 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
8770 expression to expression function.
8771
87722011-08-02 Ed Schonberg <schonberg@adacore.com>
8773
8774 * sem_ch4.adb: transform simple Ada2012 membership into equality only
8775 if types are compatible.
8776
87772011-08-02 Yannick Moy <moy@adacore.com>
8778
8779 * sem_res.adb (Matching_Static_Array_Bounds): new function which
8780 returns True if its argument array types have same dimension and same
8781 static bounds at each index.
8782 (Resolve_Actuals): issue an error in formal mode on actuals passed as
8783 OUT or IN OUT paramaters which are not view conversions in SPARK.
8784 (Resolve_Arithmetic_Op): issue an error in formal mode on
8785 multiplication or division with operands of fixed point types which are
8786 not qualified or explicitly converted.
8787 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
8788 Boolean or array type (except String) operands.
8789 (Resolve_Equality_Op): issue an error in formal mode on equality
8790 operators for array types other than String with non-matching static
8791 bounds.
8792 (Resolve_Logical_Op): issue an error in formal mode on logical operators
8793 for array types with non-matching static bounds. Factorize the code in
8794 Matching_Static_Array_Bounds.
8795 (Resolve_Qualified_Expression): issue an error in formal mode on
8796 qualified expressions for array types with non-matching static bounds.
8797 (Resolve_Type_Conversion): issue an error in formal mode on type
8798 conversion for array types with non-matching static bounds
8799
88002011-08-02 Robert Dewar <dewar@adacore.com>
8801
8802 * par-ch10.adb: Minor code reorganization (use Nkind_In).
8803
88042011-08-02 Ed Schonberg <schonberg@adacore.com>
8805
8806 * par-ch9.adb: save location of entry for proper error message.
8807
88082011-08-02 Javier Miranda <miranda@adacore.com>
8809
8810 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
8811 (Use_Full_View) which permits this routine to climb through the
8812 ancestors using the full-view of private parents.
8813 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
8814 Use_Full_View to true in calls to Is_Ancestor.
8815 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
8816 true in call to Is_Ancestor.
8817 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
8818 Use_Full_View to true in call to Is_Ancestor.
8819 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
8820 call to Is_Ancestor.
8821 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
8822 Use_Full_View to true in calls to Is_Ancestor.
8823 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
8824 Make_Select_Specific_Data_Table, Register_Primitive,
8825 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
8826 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
8827 to true in call to Is_Ancestor.
8828 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
8829 Use_Full_View to true in calls to Is_Ancestor.
8830 * exp_cg.adb
8831 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
8832 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
8833
88342011-08-02 Robert Dewar <dewar@adacore.com>
8835
8836 * gnat_rm.texi: Minor reformatting.
8837 * sem_prag.adb: Minor reformatting.
8838
88392011-08-02 Tristan Gingold <gingold@adacore.com>
8840
8841 * vms_data.ads: Add VMS qualifier for -gnateP.
8842
88432011-08-02 Robert Dewar <dewar@adacore.com>
8844
8845 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
8846 * par-ch7.adb (P_Package): Proper placement of aspects for package
8847 decl/instantiation.
8848 * par-endh.adb (Check_End): Ad Is_Sloc parameter
8849 (End_Statements): Add Is_Sloc parameterr
8850 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
8851 (Check_End): Ad Is_Sloc parameter
8852 (End_Statements): Add Is_Sloc parameterr
8853
88542011-08-02 Vincent Celier <celier@adacore.com>
8855
8856 * ug_words: Add VMS qualifier equivalent to -gnateP:
8857 /SYMBOL_PREPROCESSING.
8858
88592011-08-02 Jose Ruiz <ruiz@adacore.com>
8860
8861 * gnat-style.texi: For hexadecimal numeric literals the typical
8862 grouping of digits is 4 to represent 2 bytes.
8863 A procedure spec which is split into several lines is indented two
8864 characters.
8865
88662011-08-02 Yannick Moy <moy@adacore.com>
8867
8868 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
8869 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
8870 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
8871 properly qualified
8872 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
8873 choice in array aggregate
8874 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
8875 mark as ancestor
8876 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
8877 positional and named aggregate for record, or others in record
8878 aggregate, or multiple choice in record aggregate
8879 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
8880 array operands to logical operations AND, OR and XOR do not have the
8881 same static lower and higher bounds
8882 * sem_ch5.adb, sinfo.ads: Correct typos in comments
8883
88842011-08-01 Robert Dewar <dewar@adacore.com>
8885
8886 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
8887 Replaces Last_Source_Node_In_Sequence.
8888 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
8889 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
8890 parens and blank in string (this was inconsistently implemented).
8891 * errout.ads
8892 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
8893 blank in string (this was inconsistently implemented).
8894 * gnat1drv.adb
8895 (Set_Global_Switches): Set formal mode switches appropriately
8896 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
8897 * par-prag.adb
8898 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
8899 call Set_Error_Msg_Lang to set "spark" as language name.
8900 * par.adb: Remove unnecessary call to set formal language for errout
8901 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
8902 appropriately and call Set_Error_Msg_Lang to set "spark" as language
8903 name.
8904 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
8905 calls to it, moved after resolution so that types are known
8906 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
8907 result of concatenation is not of type String
8908 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
8909 concatenation is not properly restricted
8910 * gnat_rm.texi: Add doc on pragma Spark_95.
8911 * gcc-interface/Makefile.in: Remove obsolete target pairs for
8912 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
8913 * gcc-interface/Make-lang.in: Update dependencies.
8914
89152011-08-01 Javier Miranda <miranda@adacore.com>
8916
8917 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
8918 condition that detects if the overridden operation must replace an
8919 existing entity.
8920
89212011-08-01 Javier Miranda <miranda@adacore.com>
8922
8923 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
8924 code declarations inserted by Insert_Actions in each alternative of the
8925 N_Case_Expression node.
8926
89272011-08-01 Robert Dewar <dewar@adacore.com>
8928
8929 * sem_ch6.adb: Minor code reorganization.
8930 * sem_util.adb: Minor reformatting.
8931
89322011-08-01 Pascal Obry <obry@adacore.com>
8933
8934 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
8935 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
8936
89372011-08-01 Yannick Moy <moy@adacore.com>
8938
8939 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
8940 literal or operator symbol which is prefixed
8941 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
8942 mode on access attributes.
8943 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
8944 that concatenation operands are properly restricted in formal mode
8945 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
8946 Analyze_Concatenation_Operand. Issue an error in formal mode if the
8947 result of the concatenation has a type different from String.
8948 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
8949 Analyze_Quantified_Expression, Analyze_Slice,
8950 Analyze_Null): issue an error in formal mode on unsupported constructs
8951 * sem_ch5.adb
8952 (Analyze_Block_Statement): only issue error on source block statement
8953 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
8954 function which returns the last node in a list of nodes for which
8955 Comes_From_Source returns True, if any
8956 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
8957 Last_Source_Node_In_Sequence
8958 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
8959 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
8960 mode on unsupported constructs
8961 * sem_ch9.adb Do not return after issuing error in formal mode, as the
8962 rest of the actions may be needed later on since the error is marked as
8963 not serious.
8964 * sinfo.ads: Typos in comments.
8965
89662011-08-01 Pascal Obry <obry@adacore.com>
8967
8968 * projects.texi: Minor editing.
8969
89702011-08-01 Yannick Moy <moy@adacore.com>
8971
8972 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
8973 insertion character ~~
8974 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
8975 (Set_Error_Msg_Lang): new procedure which fixes the language for use
8976 with insertion character ~~
8977 (Set_Msg_Text): treat insertion character ~~
8978 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
8979 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
8980 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
8981 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
8982 errors related to the formal language restriction not serious
8983 (insertion character |).
8984 * par.adb (Par): set formal language for error messages if needed
8985 * sem_ch6.adb (Check_Missing_Return): take into account possible
8986 generated statements at the end of the function
8987 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
8988 enumeration value to define a new pragma SPARK_95
8989 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
8990 SPARK_Version): new type and variables to store the SPARK version
8991 (none by default).
8992 (SPARK_Mode): return True when SPARK_Version is set
8993 * par-prag.adb: Correct indentation
8994 (Prag): take Pragma_SPARK_95 into account
8995 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
8996 into account.
8997
89982011-08-01 Robert Dewar <dewar@adacore.com>
8999
9000 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
9001 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
9002 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
9003
90042011-08-01 Pascal Obry <obry@adacore.com>
9005
9006 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
9007 Target_Name to Get_Path call.
9008 (Parse_Single_Project): Likewise.
9009 (Post_Parse_Context_Clause): Likewise.
9010 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
9011 Call Initialise_Project_Path with the proper Target_Name.
9012 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
9013 search path.
9014 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
9015 with the proper Target_Name.
9016 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
9017 Part.Parse routine.
9018 (Parse_Project_And_Apply_Config): Likewise.
9019 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
9020 This is fine as this part of the code is supporting only native
9021 compilation.
9022 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
9023 is fine as this part of the code is supporting only native compilation.
9024
90252011-08-01 Yannick Moy <moy@adacore.com>
9026
9027 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
9028 of homonym, unless the homonym is one of the cases allowed in SPARK
9029 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
9030 package declaration occurring after a body.
9031
90322011-08-01 Robert Dewar <dewar@adacore.com>
9033
9034 * checks.adb, exp_ch4.adb: Minor reformatting.
9035
90362011-08-01 Javier Miranda <miranda@adacore.com>
9037
9038 * einfo.ads (Access_Disp_Table): Fix documentation.
9039 (Dispatch_Table_Wrappers): Fix documentation.
9040
90412011-08-01 Pascal Obry <obry@adacore.com>
9042
9043 * prj-env.adb, prj-env.ads: Minor reformatting.
9044
90452011-08-01 Yannick Moy <moy@adacore.com>
9046
9047 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
9048 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
9049 procedures out of these packages.
2c7f9cc0 9050 * errout.ads, errout.adb
052e0603
AC
9051 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
9052 procedures in of this package
9053 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
9054 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
9055 on misplaced later vs initial declarations, like in Ada 83
9056 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
9057 formal mode on attribute of private type whose full type declaration
9058 is not visible
9059 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
9060 package declaration inside a package specification
9061 (Analyze_Full_Type_Declaration): issue error in formal mode on
9062 controlled type or discriminant type
9063 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
9064 user-defined operator means that it should come from the source
9065 (New_Overloaded_Entity): issue error in formal mode on overloaded
9066 entity.
9067 * sem_ch6.ads, sem_ch13.ads: typos in comments.
9068
90692011-08-01 Thomas Quinot <quinot@adacore.com>
9070
9071 * atree.adb: Minor reformatting.
9072 * checks.adb: Minor reformatting.
9073
90742011-08-01 Vincent Celier <celier@adacore.com>
9075
9076 * s-parame-vms-ia64.ads: Fix typo in comment
9077 Minor reformatting
9078 * s-parame-vms-restrict.ads: Removed, unused.
9079
90802011-08-01 Javier Miranda <miranda@adacore.com>
9081
9082 * exp_ch3.adb
9083 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
9084 * sem_ch3.adb
9085 (Constrain_Index): Remove side effects in the evaluation of the bounds.
9086 * sem_ch3.ads, sem_ch3.adb
9087 (Is_Constant_Bound): New extended version of the subprogram that was
9088 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
9089 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
9090 * sem_aux.ads (Constant_Value): Fix typo in comment.
9091 * checks.adb (Generate_Index_Checks): New implementation which, for
9092 array objects with constant bounds, generates the runtime check
9093 referencing the bounds of the array type. For other cases this routine
9094 provides its previous behavior obtaining such values from the array
9095 object.
9096 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
9097 parent type.
9098 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
9099 we cannot have semantic interpretations of the new node.
9100
91012011-08-01 Ed Schonberg <schonberg@adacore.com>
9102
9103 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
9104 expressions.
9105
91062011-08-01 Arnaud Charlet <charlet@adacore.com>
9107
9108 * sem_ch8.adb: Minor code editing.
9109 * s-vxwext.adb: Remove trailing space.
9110 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
9111 consistency with other files.
9112
91132011-08-01 Thomas Quinot <quinot@adacore.com>
9114
9115 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
9116
91172011-08-01 Ed Schonberg <schonberg@adacore.com>
9118
9119 * par-ch10.adb: reject parameterized expressions as compilation unit.
9120 * sem_ch4.adb: handle properly conditional expression with overloaded
9121 then_clause and no else_clause.
9122
91232011-08-01 Tristan Gingold <gingold@adacore.com>
9124
9125 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
9126 like done by System.Aux_DEC.
9127 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
9128
91292011-08-01 Yannick Moy <moy@adacore.com>
9130
9131 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
9132 missing label at end of declaration (subprogram or package)
9133 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
9134 of positional and named parameter association
9135 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
9136 Error_Msg_SP which adds a prefix to the error message giving the name
9137 of the formal language analyzed
9138 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
9139 access result type in subprogram, unconstrained array as result type,.
9140 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
9141 procedure
9142 * sem_ch8.adb: Code clean up.
9143
91442011-08-01 Javier Miranda <miranda@adacore.com>
9145
9146 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
9147 * einfo.ads (Access_Disp_Table): Fix documentation.
9148 (Dispatch_Table_Wrappers): Fix documentation.
9149 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
9150 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
9151 to enforce the documentation of this attribute.
9152 (Set_Is_Interface): Cleanup the assertion.
9153 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
9154 the Underlying_Type entity before reading attribute Access_Disp_Table.
9155 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
9156 Locate the Underlying_Type before reading attribute Access_Disp_Table.
9157 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
9158 the Underlying_Type entity before reading attribute Access_Disp_Table.
9159 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
9160 Locate the Underlying_Type entity before reading attribute
9161 Access_Disp_Table.
9162
91632011-08-01 Ed Schonberg <schonberg@adacore.com>
9164
9165 * s-poosiz.ads: Additional overriding indicators.
9166
91672011-08-01 Yannick Moy <moy@adacore.com>
9168
9169 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
9170 formal mode.
9171 (Analyze_Iteration_Scheme): issue error in formal mode when loop
9172 parameter specification does not include a subtype mark.
9173 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
9174 formal mode on abstract subprogram.
9175 (Analyze_Subprogram_Specification): issue error in formal mode on
9176 user-defined operator.
9177 (Process_Formals): issue error in formal mode on access parameter and
9178 default expression.
9179 * sem_ch9.adb (Analyze_Abort_Statement,
9180 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
9181 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
9182 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
9183 Analyze_Requeue, Analyze_Selective_Accept,
9184 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
9185 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
9186 issue error in formal mode on user-defined raise statement.
9187
91882011-08-01 Thomas Quinot <quinot@adacore.com>
9189
9190 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
9191 declaration being hidden when overriding an implicit inherited
9192 subprogram.
9193 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
9194 (-gnats), do not complain about a source file that contains only a
9195 pragma No_Body.
9196
91972011-08-01 Ed Schonberg <schonberg@adacore.com>
9198
9199 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
9200 variable if already set.
9201
92022011-08-01 Arnaud Charlet <charlet@adacore.com>
9203
9204 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
9205 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
9206 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
9207 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
9208 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
9209 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
9210 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
9211 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
9212 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
9213 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
9214 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
9215 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
9216 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
9217 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
9218 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
9219 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
9220 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
9221 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
9222 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
9223 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
9224 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
9225 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
9226 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
9227 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
9228 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
9229 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
9230 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
9231 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
9232 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
9233 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
9234 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
9235 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
9236 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
9237 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
9238 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
9239 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
9240 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
9241 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
9242 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
9243 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
9244 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
9245 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
9246 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
9247 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
9248 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
9249 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
9250 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
9251 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
9252 s-osinte-mingw.ads: Update to GPLv3 run-time license.
9253 Use GNAT instead of GNARL.
9254
92552011-08-01 Bob Duff <duff@adacore.com>
9256
9257 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
9258 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
9259 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
9260 reformatting.
9261
92622011-08-01 Yannick Moy <moy@adacore.com>
9263
9264 * debug.adb (d.D) reverve flag for the SPARK mode
9265 (d.E) reverve flag for SPARK generation mode
9266 (d.F) reverve flag for Why generation mode
2c7f9cc0 9267 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
052e0603
AC
9268 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
9269 functions which return True when the corresponding modes are set
9270 (Formal_Language): return "spark" or "alfa" when in formal verification
9271 mode.
9272 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
9273 Error_Msg to prefix the error message with a tag giving the formal
9274 language
9275 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
9276 message with a tag giving the formal language
9277 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
9278 block statement
9279 (Analyze_Case_Statement): issue error in formal mode on case statement
9280 with a single "others" case alternative
9281 (Analyze_Exit_Statement): issue errors in formal mode on exit
9282 statements which do not respect SPARK restrictions
9283 (Analyze_Goto_Statement): issue error in formal mode on goto statement
9284 (Check_Unreachable_Code): always issue an error (not a warning) in
9285 formal mode on unreachable code (concerns both code after an infinite
9286 loop and after an unconditional jump, both not allowed in SPARK)
9287 * sem_ch6.adb (Analyze_Return_Statement): add call to
9288 Set_Return_Present for a procedure containing a return statement
9289 (already done for functions in Analyze_Function_Return)
9290 (Analyze_Function_Return): issue error in formal mode on extended
9291 return or if return is not last statement in function
9292 (Check_Missing_Return): issue error in formal mode if function does
9293 not end with return or if procedure contains a return
9294 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
9295 function to detect if there is an inner scope of its parameter S which
9296 is a loop.
9297
92982011-08-01 Thomas Quinot <quinot@adacore.com>
9299
9300 * sem_ch6.ads: Minor reformatting.
9301
93022011-08-01 Javier Miranda <miranda@adacore.com>
9303
9304 * sem_util.adb (Abstract_Interface_List): Complete condition when
9305 processing private type declarations to avoid reading unavailable
9306 attribute.
9307 (Is_Synchronized_Tagged_Type): Complete condition when processing
9308 private extension declaration nodes to avoid reading unavailable
9309 attribute.
9310
93112011-08-01 Thomas Quinot <quinot@adacore.com>
9312
9313 * sem_ch3.adb: Minor reformatting.
9314
93152011-08-01 Thomas Quinot <quinot@adacore.com>
9316
9317 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
9318 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
9319 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
9320 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
9321 for VMS, instead parametrize the common implementation with
9322 System.Parameters declarations.
9323
93242011-08-01 Eric Botcazou <ebotcazou@adacore.com>
9325
9326 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
9327
93282011-08-01 Tristan Gingold <gingold@adacore.com>
9329
9330 * seh_init.c: Fix SEH handler installation on win64.
9331
93322011-08-01 Ed Schonberg <schonberg@adacore.com>
9333
9334 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
9335 double analysis of an anonymous access to subprogram, because it can
9336 lead to improper sharing of profiles and a back-end crash.
9337
93382011-08-01 Robert Dewar <dewar@adacore.com>
9339
9340 * make.adb, sem_ch4.adb: Minor reformatting.
9341 * gcc-interface/Make-lang.in: Update dependencies.
9342 * sem_util.adb, exp_ch5.adb: Minor reformatting.
9343
93442011-08-01 Arnaud Charlet <charlet@adacore.com>
9345
9346 * gnat_rm.texi: Fix definition of Long_Integer.
9347
93482011-08-01 Ed Schonberg <schonberg@adacore.com>
9349
9350 * exp_aggr.adb: check limit size of static aggregate unconditionally,
9351 to prevent storage exhaustion.
9352 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
9353 finalized is a function body, insert the cleanup code before the final
9354 return statement, to prevent spurious warnings.
9355 * s-pooglo.ads: add overriding indicator.
9356
93572011-08-01 Ed Schonberg <schonberg@adacore.com>
9358
9359 * sem_ch4.adb (Operator_Check): improve error message when both a
9360 with_clause and a use_clause are needed to make operator usage legal.
9361 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
9362 determine whether a compilation unit is visible within an other,
9363 either through a with_clause in the current unit, or a with_clause in
9364 its library unit or one one of its parents.
9365
93662011-08-01 Ed Schonberg <schonberg@adacore.com>
9367
9368 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
9369 over an arbitrary expression of an array or container type.
9370 * lib-xref.adb: clarify comment.
9371
93722011-08-01 Bob Duff <duff@adacore.com>
9373
9374 * einfo.ads: Minor reformatting.
9375 * debug.adb: Minor comment improvement.
9376
93772011-08-01 Javier Miranda <miranda@adacore.com>
9378
9379 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
9380 consider hidden subprograms as valid candidates.
9381
93822011-08-01 Arnaud Charlet <charlet@adacore.com>
9383
9384 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
9385
93862011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
9387
9388 * gnat_ugn.texi: Fix typo.
9389
93902011-08-01 Robert Dewar <dewar@adacore.com>
9391
9392 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
9393 lib-xref.adb: Minor reformatting
9394
93952011-08-01 Gary Dismukes <dismukes@adacore.com>
9396
9397 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
9398 when to generate a call to Move_Final_List.
9399 (Has_Controlled_Parts): Remove this function.
9400
94012011-08-01 Geert Bosch <bosch@adacore.com>
9402
9403 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
9404 "," in choice list.
9405
94062011-08-01 Thomas Quinot <quinot@adacore.com>
9407
9408 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
9409 explicit raise of a predefined exception as Comes_From_Source if the
9410 original N_Raise_Statement comes from source.
9411
94122011-08-01 Robert Dewar <dewar@adacore.com>
9413
9414 * sinfo.ads: Add comment.
9415 * sem_ch6.adb: Minor reformatting.
9416
94172011-08-01 Robert Dewar <dewar@adacore.com>
9418
9419 * freeze.adb (Freeze_Entity): Refine check for bad component size
9420 clause to avoid rejecting confirming clause when atomic/aliased present.
9421
94222011-08-01 Ed Schonberg <schonberg@adacore.com>
9423
9424 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
9425 better determine whether an entity reference is a write.
9426 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
9427 subcomponent.
9428 * lib-xref.adb (Output_References): Do no suppress a read reference at
9429 the same location as an immediately preceeding modify-reference, to
9430 handle properly in-out actuals.
9431
94322011-08-01 Tristan Gingold <gingold@adacore.com>
9433
9434 * env.c (__gnat_setenv) [VMS]: Refine previous change.
9435
94362011-08-01 Quentin Ochem <ochem@adacore.com>
9437
9438 * i-cstrin.adb (New_String): Changed implementation, now uses only the
9439 heap to compute the result.
9440
94412011-08-01 Robert Dewar <dewar@adacore.com>
9442
9443 * atree.ads: Minor reformatting.
9444
94452011-08-01 Emmanuel Briot <briot@adacore.com>
9446
9447 * g-expect.adb (Get_Command_Output): Fix memory leak.
9448
94492011-08-01 Geert Bosch <bosch@adacore.com>
9450
9451 * cstand.adb (P_Float_Type): New procedure to print the definition of
9452 predefined fpt types.
9453 (P_Mixed_Name): New procedure to print a name using mixed case
9454 (Print_Standard): Use P_Float_Type for printing floating point types
9455 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
9456 precision IEEE float.
9457
94582011-08-01 Thomas Quinot <quinot@adacore.com>
9459
9460 * sem_ch3.adb: Minor reformatting.
9461
94622011-08-01 Ed Schonberg <schonberg@adacore.com>
9463
9464 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
9465 the completion of a generic function, insert the new body rather than
9466 rewriting the original.
9467
94682011-08-01 Yannick Moy <moy@adacore.com>
9469
9470 * sinfo.ads, errout.ads: Typos in comments.
9471
94722011-08-01 Robert Dewar <dewar@adacore.com>
9473
9474 * par-endh.adb: Minor reformatting.
9475
94762011-08-01 Robert Dewar <dewar@adacore.com>
9477
9478 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
9479 (Pre_Post_Aspects): New subtype.
9480 * par-ch12.adb (P_Generic): New syntax for aspects in packages
9481 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
9482 * par-ch7.adb (P_Package): Remove Decl parameter
9483 (P_Package): Handle new syntax for aspects (before IS)
9484 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
9485 new aspect syntax
9486 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
9487 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
9488 (P_Package): Remove Decl parameter
9489 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
9490 aspects
9491 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
9492 specs
9493 * sem_util.ads, sem_util.adb (Static_Boolean): New function
9494 * sinfo.ads: Document new syntax for aspects in packages etc.
9495 * sprint.adb: Handle new syntax of aspects before IS in package
9496
94972011-08-01 Thomas Quinot <quinot@adacore.com>
9498
9499 * atree.ads: Minor reformatting.
9500 * sem_prag.adb: Minor reformatting.
9501
95022011-08-01 Robert Dewar <dewar@adacore.com>
9503
9504 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
9505 case expr alternative.
9506
95072011-08-01 Ed Schonberg <schonberg@adacore.com>
9508
9509 * sem_ch12.adb: Fix typo.
9510
95112011-08-01 Geert Bosch <bosch@adacore.com>
9512
9513 * sem_prag.adb (Check_No_Link_Name): New procedure.
9514 (Process_Import_Or_Interface): Use Check_No_Link_Name.
9515 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
9516 instead of Standard_Long_Long_Float_Size global. Preparation for
9517 eventual removal of per type constants.
9518 * exp_util.ads (Get_Stream_Size): New function returning the stream
9519 size value of subtype E.
9520 * exp_util.adb (Get_Stream_Size): Implement new function.
9521 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
9522 function.
9523 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
9524 * einfo.adb:
9525 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
9526
95272011-08-01 Geert Bosch <bosch@adacore.com>
9528
9529 * cstand.adb: Fix comments.
9530 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
9531 count of arguments.
9532
95332011-08-01 Robert Dewar <dewar@adacore.com>
9534
9535 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
9536
95372011-08-01 Geert Bosch <bosch@adacore.com>
9538
9539 * atree.ads: Fix comment.
9540
95412011-08-01 Robert Dewar <dewar@adacore.com>
9542
9543 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
9544 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
9545 * par.adb: Add with for Namet.Sp.
9546 * par-tchk.adb: Minor reformatting.
9547
95482011-08-01 Vincent Celier <celier@adacore.com>
9549
9550 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
9551 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
9552 of the init procedure of a SAL.
9553 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
9554 New procedure.
9555
95562011-08-01 Thomas Quinot <quinot@adacore.com>
9557
9558 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
9559 reformatting.
9560
95612011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9562
9563 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
9564
95652011-08-01 Thomas Quinot <quinot@adacore.com>
9566
9567 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
9568 conformant with its spec (return True only for types that have
9569 an overriding Initialize primitive operation that prevents them from
9570 having preelaborable initialization).
9571 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
9572 initialization for controlled types in Ada 2005 or later mode.
9573
95742011-08-01 Robert Dewar <dewar@adacore.com>
9575
9576 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
9577 Postcondition.
9578 (Same_Aspect): New function.
9579 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
9580 Type_Invariant, Precondition, Postcondition.
9581 * snames.ads-tmpl: Add Name_Type_Invariant.
9582
95832011-08-01 Robert Dewar <dewar@adacore.com>
9584
9585 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
9586 here.
9587 (Freeze_All_Ent): Fix error in handling inherited aspects.
9588 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
9589 already analyzed, but don't skip entire processing of a declaration,
9590 that's wrong in some cases of declarations being rewritten.
9591 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
9592 Don't delay for integer, string literals
9593 Treat predicates in usual manner for delay, remove special case code,
9594 not needed.
9595 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
9596 (Build_Predicate_Function): Update saved expression in aspect
9597 (Build_Invariant_Procedure): Update saved expression in aspect
9598 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
9599 of replacement of discriminant references if the reference is simple.
9600
96012011-08-01 Robert Dewar <dewar@adacore.com>
9602
9603 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
9604 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
9605 Static_Predicate and Dynamic_Predicate.
9606 (Build_Predicate_Function): Add processing for Static_Predicate
9607 and Dynamic_Predicate.
9608 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
9609 (From_Static_Predicate): New flag
9610 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
9611
96122011-08-01 Robert Dewar <dewar@adacore.com>
9613
9614 * usage.adb: Documentation cleanup for Ada version modes in usage.
9615 * expander.adb: Minor reformatting.
9616
96172011-08-01 Robert Dewar <dewar@adacore.com>
9618
9619 * atree.ads: Minor comment fix.
9620 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
9621 a-witeio.ads, sem_prag.adb: Minor reformatting.
9622
96232011-08-01 Doug Rupp <rupp@adacore.com>
9624
9625 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
9626 pointers. Use descrip.h header file for convenience. Add some
9627 comments.
9628
96292011-08-01 Robert Dewar <dewar@adacore.com>
9630
9631 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
9632 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
9633 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
9634 New procedure.
9635 (Check_Aspect_At_End_Of_Declarations): New procedure
9636 (Analye_Aspect_Specification): Minor changes for above procedures
9637 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
9638 specification node as well.
9639
96402011-08-01 Pascal Obry <obry@adacore.com>
9641
9642 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
9643 Windows files. Use GetFilesAttributes() in this case to check for file
9644 existence instead of returning with an error code.
9645
96462011-08-01 Vincent Celier <celier@adacore.com>
9647
9648 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
9649 High is above Source length.
9650
96512011-08-01 Robert Dewar <dewar@adacore.com>
9652
9653 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
9654
96552011-08-01 Robert Dewar <dewar@adacore.com>
9656
9657 * aspects.ads (Boolean_Aspects): New subtype.
9658 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
9659 for derived types in cases where the parent type and derived type have
9660 aspects.
9661 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
9662 with aspects when parent type also has aspects.
9663 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
9664 boolean expression at this point).
9665 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
9666 accordance with final decision on the Ada 2012 feature.
9667 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
9668
96692011-08-01 Matthew Heaney <heaney@adacore.com>
9670
9671 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
9672
96732011-08-01 Pascal Obry <obry@adacore.com>
9674
9675 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
9676 Fix Replace_Slice when High is above current string size.
9677 (Replace_Slice): Fix DL computation when High is above current
9678 string length.
9679
96802011-08-01 Gary Dismukes <dismukes@adacore.com>
9681
9682 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
9683
96842011-08-01 Matthew Heaney <heaney@adacore.com>
9685
9686 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
9687 of node.
9688
96892011-08-01 Pascal Obry <obry@adacore.com>
9690
9691 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
9692 reformatting.
9693
96942011-08-01 Ed Schonberg <schonberg@adacore.com>
9695
9696 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
9697 access to protected subprograms in generic bodies.
9698 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
9699 protected type, indicate that the convention of the subprogram is
9700 Convention_Protected, because it may be used in subsequent declarations
9701 within the protected declaration.
9702
97032011-08-01 Vincent Celier <celier@adacore.com>
9704
9705 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
9706 and "final" procedures when the name of the library is "ada", to avoid
9707 duplicate symbols "adainit" and "adafinal" in executables.
9708
97092011-08-01 Ed Schonberg <schonberg@adacore.com>
9710
9711 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
9712 quantified expression that appears within a postcondition and uses the
9713 Ada2012 'Result attribute.
9714
97152011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9716
9717 * init.c (__gnat_error_handler): Cast reason to int.
9718 (__gnat_install_handler): Explain sa_sigaction use.
9719
97202011-07-24 Eric Botcazou <ebotcazou@adacore.com>
9721
9722 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
9723 subprogram has copy-in copy-out parameters, try to promote the mode of
9724 the return type if it is passed in registers.
9725
97262011-07-24 Eric Botcazou <ebotcazou@adacore.com>
9727
9728 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
9729 left operand as addressable.
9730
97312011-07-24 Eric Botcazou <ebotcazou@adacore.com>
9732
9733 * gcc-interface/gigi.h (build_function_stub): Remove.
9734 (build_return_expr): Likewise.
9735 (convert_vms_descriptor): Declare.
9736 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
9737 (build_function_stub): Move to...
9738 * gcc-interface/utils2.c (build_return_expr): Move to...
9739 * gcc-interface/trans.c (build_function_stub): ...here.
9740 (build_return_expr): ...here.
9741 (Subprogram_Body_to_gnu): Add local variable for language_function.
9742 Disconnect the parameter attributes cache, if any, once done with it.
9743 Call end_subprog_body only after setting the end_locus.
9744 Build the stub associated with the function, if any, at the very end.
9745 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
9746 variables and streamline control flow.
9747
97482011-07-23 Arnaud Charlet <charlet@adacore.com>
9749
9750 PR ada/49819
9751 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
9752 g-trasym-dwarf.adb.
9753
97542011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9755
9756 PR bootstrap/49794
9757 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
9758 Assign to act.sa_sigaction.
9759 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
9760 current->return_address to char * before arithmetic.
9761
97622011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9763
9764 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
9765 Correct argument types.
9766 Extract code from reason.
9767 (__gnat_install_handler): Assign to act.sa_sigaction.
9768
97692011-07-21 Eric Botcazou <ebotcazou@adacore.com>
9770
9771 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
9772 (GNAT1_OBJS): ...here.
9773
97742011-07-15 Eric Botcazou <ebotcazou@adacore.com>
9775
9776 PR ada/48711
9777 * g-socthi-mingw.adb (Fill): Fix formatting.
9778
9779 * gcc-interface/gigi.h: Move around comment.
9780
97812011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9782
9783 PR ada/46350
9784 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
9785
97862011-07-14 Florian Weimer <fw@deneb.enyo.de>
9787
9788 PR ada/48711
9789 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
9790
97912011-07-13 Eric Botcazou <ebotcazou@adacore.com>
9792
9793 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
9794 range comparison if Pmode is SImode.
9795
97962011-07-12 Laurent GUERBY <laurent@guerby.net>
9797 Eric Botcazou <ebotcazou@adacore.com>
9798
9799 * adadecode.c: Wrap up in extern "C" block.
9800 * adadecode.h: Likewise.
9801 * adaint.c: Likewise. Remove 'const' keyword.
9802 * adaint.h: Likewise.
9803 * argv.c: Likewise.
9804 * atree.h: Likewise.
9805 * cio.c: Likewise.
9806 * cstreams.c: Likewise.
9807 * env.c: Likewise.
9808 * exit.c: Likewise.
9809 * fe.h: Likewise.
9810 * final.c: Likewise.
9811 * init.c: Likewise.
9812 * initialize.c: Likewise.
9813 * link.c: Likewise.
9814 * namet.h: Likewise.
9815 * nlists.h: Likewise.
9816 * raise.c: Likewise.
9817 * raise.h: Likewise.
9818 * repinfo.h: Likewise.
9819 * seh_init.c: Likewise.
9820 * targext.c: Likewise.
9821 * tracebak.c: Likewise.
9822 * uintp.h: Likewise.
9823 * urealp.h: Likewise.
9824 * xeinfo.adb: Wrap up generated C code in extern "C" block.
9825 * xsinfo.adb: Likewise.
9826 * xsnamest.adb: Likewise.
9827 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
9828 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
9829 * gcc-interface/misc.c: Likewise.
9830 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
9831 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
9832 ada/targext.o here...
9833 (GNAT_ADA_OBJS): ...and not here.
9834 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
9835 (GNATBIND_OBJS): Reorder.
9836
98372011-07-07 Richard Henderson <rth@redhat.com>
9838
9839 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
9840 dwarf2out_frame_init.
9841
98422011-07-07 Eric Botcazou <ebotcazou@adacore.com>
9843
9844 * gcc-interface/misc.c (gnat_init): Tweak previous change.
9845
98462011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9847
9848 PR target/39150
9849 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
9850
98512011-07-06 Richard Guenther <rguenther@suse.de>
9852
9853 * gcc-interface/misc.c (gnat_init): Merge calls to
9854 build_common_tree_nodes and build_common_tree_nodes_2.
9855 Re-initialize boolean_false_node.
9856
98572011-07-02 Eric Botcazou <ebotcazou@adacore.com>
9858 Olivier Hainque <hainque@adacore.com>
9859 Nicolas Setton <setton@adacore.com>
9860
9861 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
9862 the type according to the ARTIFICIAL_P parameter.
9863 (create_type_decl): Likewise.
9864 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
9865
98662011-07-01 Eric Botcazou <ebotcazou@adacore.com>
9867
9868 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
9869 (gnatbind): Likewise.
9870
98712011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9872
9873 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
9874
98752011-06-18 Eric Botcazou <ebotcazou@adacore.com>
9876
9877 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
9878 local variable throughout. Remove useless call to Base_Type.
9879 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
9880 Take it also into account for the volatileness of the field. Set the
9881 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
9882
98832011-06-18 Eric Botcazou <ebotcazou@adacore.com>
9884
9885 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
9886 on a dereference built for a by-ref object if it has an address clause.
9887
98882011-06-18 Eric Botcazou <ebotcazou@adacore.com>
9889
9890 * einfo.ads (Address_Taken): Document use for the second argument of
9891 Asm_Input and Asm_Output attributes.
9892 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
9893 argument is an entity name, then set Address_Taken on it.
9894 <Attribute_Asm_Output>: Likewise.
9895 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
9896 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
9897 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
9898 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
9899
99002011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
9901
9902 PR middle-end/46500
9903 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
9904
99052011-06-14 Joseph Myers <joseph@codesourcery.com>
9906
9907 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
9908 (ada/utils.o): Update dependencies.
9909 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
9910 ../../../libcpp/libcpp.a.
9911 * gcc-interface/utils.c: Include common/common-target.h.
9912 (process_attributes): Use targetm_common.have_named_sections.
9913
99142011-06-07 Richard Guenther <rguenther@suse.de>
9915
9916 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
9917 set_sizetype.
9918
99192011-06-06 Eric Botcazou <ebotcazou@adacore.com>
9920
9921 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
9922 TREE_THIS_NOTRAP flag.
9923
99242011-06-06 Eric Botcazou <ebotcazou@adacore.com>
9925
9926 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
9927 Fix thinko.
9928
99292011-06-06 Eric Botcazou <ebotcazou@adacore.com>
9930
9931 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
9932 constants whose full view has discriminants specially.
9933
99342011-06-06 Eric Botcazou <ebotcazou@adacore.com>
9935
9936 * gcc-interface/utils.c: Include diagnostic.h.
9937 (gnat_write_global_declarations): Output debug information for all
9938 global type declarations before finalizing the compilation unit.
9939 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
9940
99412011-05-25 Jakub Jelinek <jakub@redhat.com>
9942
9943 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
9944
99452011-05-25 Kai Tietz <ktietz@redhat.com>
9946
9947 * adaint.c (__gnat_to_canonical_file_list_next): Use array
9948 initialization instead of const/none-const pointer assignment.
9949
99502011-05-24 Joseph Myers <joseph@codesourcery.com>
9951
9952 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
9953 $(EXTRA_GNAT1_OBJS).
9954 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
9955 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
9956 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
9957 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
9958 libcommon-target.a instead of prefix.o.
9959
99602011-05-21 Joseph Myers <joseph@codesourcery.com>
9961
9962 PR ada/49097
9963 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
9964
99652011-05-20 Joseph Myers <joseph@codesourcery.com>
9966
9967 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
9968 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
9969 instead of version.o.
9970
99712011-05-18 Kai Tietz <ktietz@redhat.com>
9972
9973 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
9974 boolean_false_node instead of integer_zero_node.
9975 (convert_with_check): Likewise.
9976 * gcc-interface/decl.c (choices_to_gnu): Likewise.
9977
99782011-05-12 Eric Botcazou <ebotcazou@adacore.com>
9979
9980 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
9981 type of the parameter is an unconstrained array, convert the actual to
9982 the type of the formal in the In Out and Out cases as well.
9983
99842011-05-11 Nathan Froyd <froydnj@codesourcery.com>
9985
9986 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
9987 call build_function_type_array or build_varargs_function_type_array
9988 instead.
9989 (create_subprog_type): Don't call build_function_type; call
9990 build_function_type_vec instead.
9991
99922011-05-11 Nathan Froyd <froydnj@codesourcery.com>
9993
9994 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
9995 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
9996 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
9997
99982011-05-07 Eric Botcazou <ebotcazou@adacore.com>
9999
10000 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
10001
10002 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
10003 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
10004
100052011-05-05 Nathan Froyd <froydnj@codesourcery.com>
10006
10007 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
10008
100092011-05-05 Nathan Froyd <froydnj@codesourcery.com>
10010
10011 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
10012 instead of accessing TYPE_ARG_TYPES directly.
10013 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
10014
100152011-05-05 Eric Botcazou <ebotcazou@adacore.com>
10016
10017 PR ada/48844
10018 * gcc-interface/gigi.h (get_variant_part): Declare.
10019 * gcc-interface/decl.c (get_variant_part): Make global.
10020 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
10021 types have the same constant size, are record types and T1 has a
10022 variant part while T2 doesn't.
10023
100242011-05-05 Eric Botcazou <ebotcazou@adacore.com>
10025
10026 * gcc-interface/utils.c (begin_subprog_body): Do not call
10027 get_pending_sizes.
10028 (end_subprog_body): Likewise.
10029
100302011-05-04 Richard Guenther <rguenther@suse.de>
10031
10032 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
10033 int_const_binop.
10034 (pos_to_constructor): Likewise.
10035
100362011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2c7f9cc0 10037 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
10038
10039 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
10040 of build_function_type. Adjust calls to...
10041 (build_raise_check): ...this. Do not take a void_tree parameter.
10042 Call build_function_type_list instead of build_function_type.
10043 Fix head comment and swap couple of conditional blocks.
10044
100452011-04-30 Eric Botcazou <ebotcazou@adacore.com>
10046
10047 * gnatvsn.ads (Library_Version): Bump to 4.7.
10048 (Current_Year): Bump to 2011.
10049
100502011-04-29 Michael Matz <matz@suse.de>
10051
10052 * gcc-interface/misc.c (gnat_handle_option): Set
10053 warn_maybe_uninitialized.
10054
100552011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
10056
10057 * gnat_ugn.texi (Complexity Metrics Control): Update link to
10058 the Watson/McCabe paper.
10059
100602011-04-23 Jim Meyering <meyering@redhat.com>
10061
10062 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
10063
100642011-04-22 Eric Botcazou <ebotcazou@adacore.com>
10065
10066 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
10067 onto the new type.
10068
100692011-04-22 Eric Botcazou <ebotcazou@adacore.com>
10070
10071 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
10072 parameter.
10073 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
10074 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
10075 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
10076 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
10077 <all>: Do not set flags on the reused DECL node coming from an alias.
10078 Set DECL_IGNORED_P on the DECL node built for subprograms if they
10079 don't need debug info here...
10080 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
10081 (gigi): Adjust calls to create_subprog_decl.
10082 (build_raise_check): Likewise.
10083 (establish_gnat_vms_condition_handler): Likewise.
10084 (Compilation_Unit_to_gnu): Likewise.
10085 (gnat_to_gnu): Likewise.
10086
100872011-04-21 Eric Botcazou <ebotcazou@adacore.com>
10088
10089 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
10090 (NO_REORDER_ADAFLAGS): New variable.
10091 (EXTRA_GNATTOOLS): Always define.
10092 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
10093 Clean up and adjust list of files compiled with special options.
10094 * gcc-interface/Make-lang.in: Likewise.
10095 (ada/decl.o): Cosmetical change.
10096 (ada/misc.o): Remove dependency on $(PLUGIN_H).
10097
100982011-04-20 Jim Meyering <meyering@redhat.com>
10099
10100 * initialize.c (__gnat_initialize): Remove useless if-before-free.
10101
101022011-04-17 Eric Botcazou <ebotcazou@adacore.com>
10103
10104 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
10105 $(CFLAGS) on the link line.
10106
101072011-04-17 Eric Botcazou <ebotcazou@adacore.com>
10108
10109 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
10110 padded type built for the return type if it is unconstrained.
10111
101122011-04-14 Nathan Froyd <froydnj@codesourcery.com>
10113
10114 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
10115
101162011-04-12 Nathan Froyd <froydnj@codesourcery.com>
10117
10118 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
10119 before calling TREE_CHAIN.
10120 * gcc-interface/misc.c (gnat_init_ts): New function.
10121 (LANG_HOOKS_INIT_TS): Define.
10122
101232011-04-12 Martin Jambor <mjambor@suse.cz>
10124
10125 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
10126 instead of cgraph_node.
10127
101282011-04-08 Eric Botcazou <ebotcazou@adacore.com>
10129
10130 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
10131 alignment on fields of the RETURN type built for the Copy-In Copy-Out
10132 mechanism.
10133
101342011-04-08 Eric Botcazou <ebotcazou@adacore.com>
10135
10136 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
10137 of aggregate types that contain a placeholder.
10138
101392011-04-08 Nathan Froyd <froydnj@codesourcery.com>
10140
10141 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
10142 TYPE_ARG_TYPES.
10143 (handle_type_generic_attribute): Likewise.
10144
101452011-04-04 Eric Botcazou <ebotcazou@adacore.com>
10146
10147 PR ada/47163
10148 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
10149
101502011-04-04 Kai Tietz <ktietz@redhat.com>
10151
10152 PR ada/47163
10153 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
10154 to flag value.
10155
101562011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10157
10158 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
10159 type case, do not strip a padding type around the array type.
10160
101612011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10162
10163 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
10164 types.
10165
101662011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10167
10168 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
10169 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
10170 code for -feliminate-unused-debug-types.
10171 (gnat_post_options): Likewise.
10172
101732011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10174
10175 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
10176 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
10177 distinct copy.
10178
101792011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10180
10181 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
10182 DECL_ARTIFICIAL flag on enumeration types.
10183
101842011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10185
10186 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
10187 fat pointer types artificial unconditionally.
10188 <E_Array_Subtype>: Attach the base array type as a parallel type if it
10189 isn't artificial.
10190
101912011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10192
10193 * gcc-interface/gigi.h (get_dummy_type): Declare.
10194 (build_dummy_unc_pointer_types): Likewise.
10195 (finish_fat_pointer_type): Likewise.
10196 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
10197 fat pointer type has been built, complete it in place.
10198 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
10199 and thin pointers. Remove useless variable.
10200 (finish_fat_pointer_type): Make global and move to...
10201 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
10202 (get_dummy_type): New function.
10203 (build_dummy_unc_pointer_types): Likewise.
10204 (gnat_pushdecl): Propage the name to the anonymous variants only.
10205 (update_pointer_to): Only adjust the pointer types in the unconstrained
10206 array case.
10207
102082011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10209
10210 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
10211 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
10212 if this is a Taft amendment type and the full declaration is available.
10213 * gcc-interface/trans.c (process_type): Likewise.
10214 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
10215 (process_freeze_entity): Likewise.
10216 * gcc-interface/utils.c (dummy_global): New static variable.
10217 (gnat_write_global_declarations): If there are types declared as used
10218 at the global level, insert them in the global hash table.
10219
102202011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10221
10222 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
10223 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
10224 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
10225 copy.
10226 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
10227 flag of the type accordingly.
10228 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
10229
102302011-04-02 Eric Botcazou <ebotcazou@adacore.com>
10231
10232 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
10233 finalizing types when updating the pointers to the designated type.
10234 <all>: Finalize the deferred types even if we didn't defer processing
10235 of incomplete types in this invocation.
10236
102372011-04-01 Olivier Hainque <hainque@adacore.com>
2c7f9cc0
AS
10238 Nicolas Setton <setton@adacore.com>
10239 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
10240
10241 * gcc-interface/misc.c (gnat_descriptive_type): New function.
10242 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
10243
102442011-03-28 Kai Tietz <ktietz@redhat.com>
10245
10246 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
10247 Windows targets.
10248 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
10249 * system-mingw.ads (System): Change ZCX_By_Default default to True.
10250
10251 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
10252
102532011-03-28 Tristan Gingold <gingold@adacore.com>
10254
10255 PR ada/44431
10256 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
10257 Use ada output of gnatbind.
10258 (ada/b_gnatb.adb): Ditto.
10259 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
10260 (ada.mostlyclean, ada.stage1)
10261 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
10262 (ada.stagefeedback): Adjust.
10263 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
10264 Use ada output of gnatbind.
10265 (b_gnatm.adb): Ditto.
10266 (b_gnatl.o, b_gnatm.o): New rules.
10267
102682011-03-26 Eric Botcazou <ebotcazou@adacore.com>
10269
10270 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
10271 for the padded type built to support a specified size or alignment.
10272
102732011-03-26 Eric Botcazou <ebotcazou@adacore.com>
10274
10275 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
10276 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
10277 unconditionally to the end of the unit when the designated type is
10278 limited_with'ed.
10279 <all>: Rename local variable. Attempt to un-defer types only and do it
10280 for limited_with'ed types as well.
10281 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
10282 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
10283 consistently and remove redundant call to finalize_from_with_types.
10284
102852011-03-26 Eric Botcazou <ebotcazou@adacore.com>
10286
10287 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
10288 subprograms without a previous spec declared in the same unit.
10289 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
10290 subprograms at the end of the unit instead of at the beginning.
10291 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
10292 isn't public for the special handling of non-inline functions nested
10293 inside inline external functions.
10294
102952011-03-25 Jeff Law <law@redhat.com>
10296
10297 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
10298
102992011-03-24 Eric Botcazou <ebotcazou@adacore.com>
10300
10301 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
10302 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
10303 to compute Set_Size_Depends_On_Discriminant.
10304 (Layout_Type): Call it on array types in back-end layout mode.
10305 * sem_util.adb (Requires_Transient_Scope): Return true for array
10306 types only if the size depends on the value of discriminants.
10307 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
10308 type if the RHS is a call to a function that returns an unconstrained
10309 type with default discriminant.
10310
103112011-03-24 Eric Botcazou <ebotcazou@adacore.com>
10312
10313 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
10314 non-conversion to the nominal result type at the end.
10315
103162011-03-23 Eric Botcazou <ebotcazou@adacore.com>
10317
10318 * gcc-interface/trans.c (create_temporary): New function taken from...
10319 (create_init_temporary): ...here. Call it.
10320 (call_to_gnu): Create the temporary for the return value early, if any.
10321 Create it for a function with copy-in/copy-out parameters if there is
10322 no target; in other cases of copy-in/copy-out, use another temporary.
10323 Push the new binding level lazily. Add and rename local variables.
10324
103252011-03-23 Eric Botcazou <ebotcazou@adacore.com>
10326
10327 * gcc-interface/decl.c (validate_size): Improve comments and tweak
10328 error message.
10329 (set_rm_size): Likewise.
10330
103312011-03-23 Eric Botcazou <ebotcazou@adacore.com>
10332
10333 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
10334 for the padded type built in order to support a specified alignment.
10335 Fix incorrect formatting.
10336
103372011-03-21 Eric Botcazou <ebotcazou@adacore.com>
10338
10339 PR bootstrap/48216
10340 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
10341
103422011-03-21 Eric Botcazou <ebotcazou@adacore.com>
10343
10344 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
10345 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
10346 to the end of the list. Adjust recursive call. Rename local variable.
10347 If REORDER is true, reorder components of the record type.
10348 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
10349 components_to_record and adjust the parameter list.
10350
103512011-03-21 Eric Botcazou <ebotcazou@adacore.com>
10352
10353 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
10354 disabled, use the variable for bounds of loop iteration scheme.
10355
103562011-03-21 Kai Tietz <ktietz@redhat.com>
10357
10358 PR target/12171
10359 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
10360
103612011-03-17 Eric Botcazou <ebotcazou@adacore.com>
10362
10363 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
10364 out whether the expression is read-only. Short-circuit placeholder
10365 case and rename a couple of local variables.
10366
103672011-03-17 Eric Botcazou <ebotcazou@adacore.com>
10368
10369 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
10370 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
10371 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
10372 (convert): Deal with conversions from a smaller form type specially.
10373
103742011-02-14 Eric Botcazou <ebotcazou@adacore.com>
10375
10376 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
10377 its argument, except for the special -I- switch.
10378
103792011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
10380
10381 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
10382 "Ada Issues".
10383
103842011-02-08 Eric Botcazou <ebotcazou@adacore.com>
10385
10386 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
10387
103882011-02-03 Eric Botcazou <ebotcazou@adacore.com>
10389
10390 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
10391 GNAT_FORMAL.
10392 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
10393 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
10394 instead of GNAT_FORMAL. Protect the expression against multiple uses.
10395 Do not generate the check directly, instead instantiate the template
10396 check present in the descriptor.
10397 (make_descriptor_field): Move around.
10398 (build_vms_descriptor32): Build a template check in the POINTER field.
10399 (build_vms_descriptor): Remove useless suffixes.
10400 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
10401
104022011-01-26 Eric Botcazou <ebotcazou@adacore.com>
10403
10404 PR bootstrap/47467
10405 * targext.c: Include target files if IN_RTS is defined.
10406
104072011-01-26 Richard Guenther <rguenther@suse.de>
10408
10409 PR bootstrap/47467
10410 * targext.c: Include config.h.
10411 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
10412 dependency.
10413
104142011-01-04 Pascal Obry <obry@adacore.com>
2c7f9cc0 10415 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
10416
10417 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
10418
104192011-01-04 Eric Botcazou <ebotcazou@adacore.com>
10420
10421 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
10422 end-of-case on the end label and its associated gotos, if any.
10423
104242011-01-04 Eric Botcazou <ebotcazou@adacore.com>
10425
10426 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
10427 expressions of the parameter cache within the statement group of
10428 the CICO mechanism.
10429
104302011-01-04 Olivier Hainque <hainque@adacore.com>
2c7f9cc0 10431 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
10432
10433 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
10434 (set_end_locus_from_node): New function.
10435 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
10436 make and the function end_locus.
10437 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
10438 for the elaboration subprogram.
10439 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
10440 set the end_locus of the expression as well.
10441
104422011-01-04 Eric Botcazou <ebotcazou@adacore.com>
10443
10444 PR ada/47131
10445 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
10446 variables that are referenced in exception handlers volatile.
10447
10448
10449\f
10450Copyright (C) 2011 Free Software Foundation, Inc.
10451
10452Copying and distribution of this file, with or without modification,
10453are permitted in any medium without royalty provided the copyright
10454notice and this notice are preserved.
10455
10456 * gnat_rm.texi: Ramification of pragma Eliminate documentation
10457 - fix bugs in the description of Source_Trace;
10458 - get rid of UNIT_NAME;
10459
4fbad0ba
AC
104602011-08-02 Javier Miranda <miranda@adacore.com>
10461
10462 * exp_ch9.adb
10463 (Build_Dispatching_Requeue): Adding support for VM targets
10464 since we cannot directly reference the Tag entity.
10465 * exp_sel.adb (Build_K): Adding support for VM targets.
10466 (Build_S_Assignment): Adding support for VM targets.
10467 * exp_disp.adb
10468 (Default_Prim_Op_Position): In VM targets do not restrict availability
10469 of predefined interface primitives to compiling in Ada 2005 mode.
10470 (Is_Predefined_Interface_Primitive): In VM targets this service is not
10471 restricted to compiling in Ada 2005 mode.
10472 (Make_VM_TSD): Generate code that declares and initializes the OSD
10473 record. Needed to support dispatching calls through synchronized
10474 interfaces.
10475 * exp_ch3.adb
10476 (Make_Predefined_Primitive_Specs): Enable generation of predefined
10477 primitives associated with synchronized interfaces.
10478 (Make_Predefined_Primitive_Bodies): Enable generation of predefined
10479 primitives associated with synchronized interfaces.
10480
104812011-08-02 Yannick Moy <moy@adacore.com>
10482
10483 * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
10484 statements hidden in SPARK if preceded by the HIDE directive
10485 (Parse_Exception_Handlers): mark each exception handler in a sequence of
10486 exception handlers as hidden in SPARK if preceded by the HIDE directive
10487 * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
10488 if starting with the HIDE directive
10489 * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
10490 starting with the HIDE directive; mark the declarations in a private
10491 part as hidden in SPARK if the private part starts with the HIDE
10492 directive
10493 * restrict.adb, restrict.ads
10494 (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
10495 (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
10496 argument node belongs to a part which is hidden in SPARK
10497 (Check_SPARK_Restriction): do not issue violations on nodes in hidden
10498 parts in SPARK; protect the possibly costly call to
10499 Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
10500 * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
10501 * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
10502 Accumulate_Token_Checksum_GNAT_5_03): add case for new token
10503 Tok_SPARK_Hide.
10504 (Scan): recognize special comment starting with '#' and followed by
10505 SPARK keyword "hide" as a HIDE directive.
10506
105072011-08-02 Yannick Moy <moy@adacore.com>
10508
10509 * types.ads, erroutc.ads: Minor reformatting.
10510
105112011-08-02 Vincent Celier <celier@adacore.com>
10512
10513 * link.c: Add response file support for cross platforms.
10514
6ff6152d
ES
105152011-08-02 Ed Schonberg <schonberg@adacore.com>
10516
10517 * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
10518 in an association, set parent field of copy before partial analysis.
10519 * sem_res.adb (Resolve_Slice): create reference to itype only when
10520 expansion is enabled.
10521
975c6896
YM
105222011-08-02 Yannick Moy <moy@adacore.com>
10523
10524 * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
10525 for new flag denoting which subprogram bodies are in ALFA
10526 * restrict.adb, sem_ch7.adb: Update comment
10527 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
10528 sem_ch9.adb, sem_res.adb: Add calls to
10529 Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
10530 * sem_ch6.adb (Analyze_Function_Return): add calls to
10531 Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
10532 middle of the body, and extended return.
10533 (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
10534 False when missing return.
10535 (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
10536 to True for subprograms whose spec is in ALFA. Remove later on the flag
10537 on the entity used for a subprogram body when there exists a separate
10538 declaration.
10539 * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
10540 if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
10541 False, otherwise do nothing.
10542
afc8324d
AC
105432011-08-02 Robert Dewar <dewar@adacore.com>
10544
10545 * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
10546
105472011-08-02 Yannick Moy <moy@adacore.com>
10548
10549 * sem_ch4.ads: minor formatting.
10550
2ba431e5
YM
105512011-08-02 Yannick Moy <moy@adacore.com>
10552
10553 * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
10554 debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
10555 errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
10556 restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
10557 opt.ads: cleanup of SPARK mode
10558
0f853035
YM
105592011-08-02 Yannick Moy <moy@adacore.com>
10560
10561 * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
10562 types.
10563 * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
10564 (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
10565 * sem_ch3.adb
10566 (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
10567 (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
10568 (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
10569 (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
10570 types.
10571 (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
10572 non-static range.
10573 * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
10574 functions whose return type is not in ALFA.
10575 (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
10576 specifications.
10577 (Process_Formals): unset Is_In_ALFA flag for subprograms if a
10578 parameter's type is not in ALFA.
10579 * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
10580 types are in ALFA.
10581
d2b10647
ES
105822011-08-02 Ed Schonberg <schonberg@adacore.com>
10583
10584 * sem_ch6 (Analyze_Expression_Function): treat the function as
10585 Inline_Always, and introduce a subprogram declaration for it when it is
10586 not a completion.
10587 * inline.adb (Add_Inlined_Body): recognize bodies that come from
10588 expression functions, so that the back-end can determine whether they
10589 can in fact be inlined.
10590 * sem_util.adb (Is_Expression_Function): predicate to determine whether
10591 a function body comes from an expression function.
10592
c7b9d548
AC
105932011-08-02 Gary Dismukes <dismukes@adacore.com>
10594
10595 * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
10596 null exclusions to test Can_Never_Be_Null on the anonymous access types
10597 of the formals rather than testing the formals themselves. Exclude this
10598 check in cases where the Old_Formal is marked as a controlling formal,
10599 to avoid issuing spurious errors for bodies completing dispatching
10600 operations (due to the flag not getting set on controlling access
10601 formals in body specs).
10602 (Find_Corresponding_Spec): When checking full and subtype conformance of
10603 subprogram bodies in instances, pass Designated and E in that order, for
10604 consistency with the expected order of the formals (New_Id followed by
10605 Old_Id).
10606
106072011-08-02 Robert Dewar <dewar@adacore.com>
10608
10609 * sem_ch8.adb: Minor reformatting.
10610
1138cf59
AC
106112011-08-02 Ed Schonberg <schonberg@adacore.com>
10612
10613 * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
10614 Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
10615 primitive operations of class-wide actuals.
10616
106172011-08-02 Javier Miranda <miranda@adacore.com>
10618
10619 * exp_atag.ads, exp_atag.adb
10620 (Build_Common_Dispatching_Select_Statements): Remove argument Loc
10621 since its value is implicitly passed in argument Typ.
10622 * exp_disp.adb (Make_Disp_Conditional_Select_Body,
10623 Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
10624 Build_Common_Dispatching_Select_Statements.
10625
7b9db926
RD
106262011-08-02 Robert Dewar <dewar@adacore.com>
10627
10628 * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
10629 exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
10630 Minor reformatting.
10631
e8374e7a
AC
106322011-08-02 Robert Dewar <dewar@adacore.com>
10633
10634 * sem_res.adb: Minor reformatting.
10635 * sem_prag.adb: Minor reformatting.
10636
106372011-08-02 Javier Miranda <miranda@adacore.com>
10638
10639 * exp_atag.adb, exp_atags.ads
10640 (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
10641 by the tagged type Entity. Required to use this routine in the VM
10642 targets since we do not have available the Tag entity in the VM
10643 platforms.
10644 * exp_ch6.adb
10645 (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
10646 Ada.Tags has not been previously loaded.
10647 * exp_ch7.adb
10648 (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
10649 Build_VM_TSDs if package Ada.Tags has not been previously loaded.
10650 * sem_aux.adb
10651 (Enclosing_Dynamic_Scope): Add missing support to handle the full
10652 view of enclosing scopes. Required to handle enclosing scopes that
10653 are synchronized types whose full view is a task type.
10654 * exp_disp.adb
10655 (Build_VM_TSDs): Minor code improvement to avoid generating and
10656 analyzing lists with empty nodes.
10657 (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
10658 (Make_Disp_Conditional_Select_Body): Add support for VM targets.
10659 (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
10660 (Make_Disp_Timed_Select_Body): Add support for VM targets.
10661 (Make_Select_Specific_Data_Table): Add support for VM targets.
10662 (Make_VM_TSD): Generate code to initialize the SSD structure of
10663 the TSD.
10664
106652011-08-02 Yannick Moy <moy@adacore.com>
10666
10667 * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
10668 cross-references section in ALI.
10669 * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
10670 (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
10671 Sub).
10672 (Enclosing_Subprogram_Or_Package): new function to return the enclosing
10673 subprogram or package entity of a node
10674 (Is_Local_Reference_Type): new function returns True for references
10675 selected in local cross-references.
10676 (Lt): function extracted from Lt in Output_References
10677 (Write_Entity_Name): function extracted from Output_References
10678 (Generate_Definition): generate reference with type 'D' for definition
10679 of objects (object declaration and parameter specification), with
10680 appropriate locations and units, for use in local cross-references.
10681 (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
10682 references of type 'I' for initialization in object definition.
10683 (Output_References): move part of function Lt and procedure
10684 Write_Entity_Name outside of the body. Ignore references of types 'D'
10685 and 'I' introduced for local cross-references.
10686 (Output_Local_References): new procedure to output the local
10687 cross-references sections.
10688 (Lref_Entity_Status): new array defining whether an entity is a local
10689 * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
10690 with 'I' type when initialization expression is present.
10691 * get_scos.adb, get_scos.ads: Correct comments and typos
10692
1f6439e3
AC
106932011-08-02 Javier Miranda <miranda@adacore.com>
10694
10695 * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
10696 the JVM target.
10697 * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
10698 the JVM target.
10699 * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
10700 TSD support.
10701
107022011-08-02 Vincent Celier <celier@adacore.com>
10703
10704 * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
10705 (No_Space_Img): New function
10706 (Find_Excluded_Sources): When reading from a file, record the file name
10707 and the line number for each excluded source.
10708 (Mark_Excluded_Sources): When reporting an error, if the excluded
10709 sources were read from a file, include file name and line number in
10710 the error message.
10711
107122011-08-02 Ed Schonberg <schonberg@adacore.com>
10713
10714 * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
10715
ab027d28
RD
107162011-08-02 Robert Dewar <dewar@adacore.com>
10717
10718 * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
10719
b3b28b0c
JM
107202011-08-02 Javier Miranda <miranda@adacore.com>
10721
10722 * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
10723 generation of TSDs to the DOTNET compiler.
10724 * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
10725 generation of TSDs to the DOTNET compiler.
10726
9732e886
JM
107272011-08-02 Javier Miranda <miranda@adacore.com>
10728
10729 * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
10730 record of all the tagged types declared inside library level package
10731 declarations, library level package bodies or library level subprograms.
10732 * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
10733 associated with a given tagged type.
10734 (Build_VM_TSDs): New subprogram.
10735 * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
10736 compilation units that are subprograms.
10737 * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
10738 compilation units that are package bodies.
10739 (Expand_N_Package_Declaration): Generate TSDs of the main compilation
10740 units that are a package declaration or a package instantiation.
10741 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
10742 reorganization to improve the error generated by the frontend when the
10743 function Ada.Tags.Secondary_Tag is not available.
10744 * rtsfind.ads (RE_Register_TSD): New runtime entity.
10745 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
10746
e526d0c7
AC
107472011-08-02 Javier Miranda <miranda@adacore.com>
10748
10749 * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
10750
107512011-08-02 Robert Dewar <dewar@adacore.com>
10752
10753 * s-imenne.ads: Minor reformatting.
10754
107552011-08-02 Robert Dewar <dewar@adacore.com>
10756
10757 * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
10758 * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
10759 * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
10760
107612011-08-02 Robert Dewar <dewar@adacore.com>
10762
10763 * einfo.ads (Materialize_Entity): Document this is only for renamings
10764 * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
10765 required debug information in the case where we transform the object
10766 declaration into a renaming declaration.
10767 * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
10768 object
10769 * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
10770 Materialize_Entity.
10771
5b1e6aca
RD
107722011-08-02 Robert Dewar <dewar@adacore.com>
10773
10774 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
10775 Suppress_Init_Procs.
10776 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
10777 Suppress_Initialization/Initialization_Suppressed.
10778 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
10779 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
10780 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
10781 * sem_prag.adb: New processing for pragma Suppress_Initialization.
10782
5ad4969d
RD
107832011-08-02 Robert Dewar <dewar@adacore.com>
10784
10785 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
10786 Minor reformatting.
10787
8c4ee6f5
AC
107882011-08-02 Ed Schonberg <schonberg@adacore.com>
10789
10790 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
10791 only have inheritable classwide pre/postconditions.
10792
107932011-08-02 Javier Miranda <miranda@adacore.com>
10794
10795 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
10796 * rtsfind.ads (RE_Check_TSD): New runtime entity.
10797 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
10798 checks if the external tag of a type is the same as the external tag
10799 of some other declaration.
10800
0b3d16c0
AC
108012011-08-02 Thomas Quinot <quinot@adacore.com>
10802
10803 * s-taskin.ads: Minor reformatting.
10804
108052011-08-02 Emmanuel Briot <briot@adacore.com>
10806
10807 * g-comlin.adb (Display_Help): swap the order in which it prints the
10808 short help and the general usage.
10809
108102011-08-02 Ed Schonberg <schonberg@adacore.com>
10811
10812 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
10813 the aspect declarations and attach them to the generic copy for
10814 subsequent analysis.
10815 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
10816 declarations of the generic tree to the new subprogram declarations.
10817 * sem_attr.adb (Check_Precondition_Postcondition): recognize
10818 conditions that apply to a subprogram instance.
10819
108202011-08-02 Robert Dewar <dewar@adacore.com>
10821
10822 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
10823
108242011-08-02 Ed Schonberg <schonberg@adacore.com>
10825
10826 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
10827 private type with a tagged full view is not derived in the immediate
10828 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
10829
4637729f
AC
108302011-08-02 Robert Dewar <dewar@adacore.com>
10831
10832 * exp_ch4.adb: Minor reformatting.
10833
108342011-08-02 Ed Schonberg <schonberg@adacore.com>
10835
10836 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
10837 Ada2012 iterator, the loop will be rewritten during expansion into a
10838 while loop with a cursor and an element declaration. Do not analyze the
10839 body in this case, because if the container is for indefinite types the
10840 actual subtype of the elements will only be determined when the cursor
10841 declaration is analyzed.
10842
108432011-08-02 Arnaud Charlet <charlet@adacore.com>
10844
10845 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
10846 size/alignment related attributes in CodePeer_Mode.
10847
108482011-08-02 Gary Dismukes <dismukes@adacore.com>
10849
10850 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
10851 Prepend_Element, since this can result in the operation getting the
10852 wrong slot in the full type's dispatch table if the full type has
10853 inherited operations. The incomplete type's operation will get added
10854 to the proper position in the full type's primitives
10855 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
10856 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
10857 dispatching operations, since there are cases where nonprimitive
10858 subprograms can get added to the list of incomplete dependents (such
10859 as subprograms in nested packages).
10860 * sem_ch6.adb (Process_Formals): First, remove test for being in a
10861 private part when determining whether to add a primitive with a
10862 parameter of a tagged incomplete type to the Private_Dependents list.
10863 Such primitives can also occur in the visible part, and should not have
10864 been excluded from being private dependents.
10865 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
10866 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
10867 list of a Taft-amendment incomplete type is a primitive before issuing
10868 an error that the full type must appear in the same unit. There are
10869 cases where nonprimitives can be in the list (such as subprograms in
10870 nested packages).
10871 * sem_disp.adb (Derives_From): Use correct condition for checking that
10872 a formal's type is derived from the type of the corresponding formal in
10873 the parent subprogram (the condition was completely wrong). Add
10874 checking that was missing for controlling result types being derived
10875 from the result type of the parent operation.
10876
4c60de0c
YM
108772011-08-02 Yannick Moy <moy@adacore.com>
10878
10879 * errout.adb (First_Node): minor renaming
10880 * restrict.adb (Check_Formal_Restriction): put restriction warning on
10881 first node.
10882
f5afb270
AC
108832011-08-02 Yannick Moy <moy@adacore.com>
10884
10885 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
10886 before accessing operands.
10887 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
10888 decide whether an initialization expression respects SPARK rules, as
10889 the plain node is the expanded one. This allows for more valid warnings
10890 to be issued.
10891 * gnat_rm.texi: Minor update.
10892
108932011-08-02 Arnaud Charlet <charlet@adacore.com>
10894
10895 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
10896 previous change.
10897
108982011-08-02 Robert Dewar <dewar@adacore.com>
10899
10900 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
10901
109022011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
10903
10904 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
10905 loop statements and the element renaming declaration with a block when
10906 the element type is controlled.
10907
109082011-08-02 Yannick Moy <moy@adacore.com>
10909
10910 * sinfo.ads: Minor formatting.
10911
109122011-08-02 Ed Schonberg <schonberg@adacore.com>
10913
10914 * sem_aggr.adb (Add_Association): if the association has a box and no
10915 expression, use the Sloc of the aggregate itself for the new
10916 association.
10917 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
10918 the Original_Node.
10919
db72f10a
AC
109202011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
10921
10922 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
10923 When a container is provided via a function call, generate a renaming
10924 of the function result. This avoids the creation of a transient scope
10925 and the premature finalization of the container.
10926 * exp_ch7.adb (Is_Container_Cursor): Removed.
10927 (Wrap_Transient_Declaration): Remove the supression of the finalization
10928 of the list controller when the declaration denotes a container cursor,
10929 it is not needed.
10930
109312011-08-02 Yannick Moy <moy@adacore.com>
10932
10933 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
10934 node is from source, instead of the original node being from source.
10935 * sem_aggr.adb
10936 (Resolve_Array_Aggregate): refine the check for a static expression, to
10937 recognize also static ranges
10938 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
10939 Array_Type_Declaration): postpone the test for the type being a subtype
10940 mark after the type has been resolved, so that component-selection and
10941 expanded-name are discriminated.
10942 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
10943 to distinguish the case of an iteration scheme, so that an error is
10944 issed on a non-static range in SPARK except in an iteration scheme.
10945 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
10946 In_Iter_Schm = True.
10947 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
10948 user-defined operators so that they are allowed in renaming
10949 * sem_ch8.adb
10950 (Find_Selected_Component): refine the check for prefixing of operators
10951 so that they are allowed in renaming. Move the checks for restrictions
10952 on selector name after analysis discriminated between
10953 component-selection and expanded-name.
10954 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
10955 concatenation argument of string type if it is static.
10956 * sem_util.adb, sem_util.ads
10957 (Check_Later_Vs_Basic_Declarations): add a new function
10958 Is_Later_Declarative_Item to decice which declarations are allowed as
10959 later items, in the two different modes Ada 83 and SPARK. In the SPARK
10960 mode, add that renamings are considered as later items.
10961 (Enclosing_Package): new function to return the enclosing package
10962 (Enter_Name): correct the rule for homonyms in SPARK
10963 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
10964 from source (result of expansion) to avoid issuing wrong warnings.
10965
109662011-08-02 Ed Schonberg <schonberg@adacore.com>
10967
10968 * errout.adb: On anything but an expression First_Node returns its
10969 argument.
10970
23685ae6
AC
109712011-08-02 Pascal Obry <obry@adacore.com>
10972
10973 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
10974
109752011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
10976
10977 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
10978 Set the associated loop as the related expression of internally
10979 generated cursors.
10980 * exp_ch7.adb (Is_Container_Cursor): New routine.
10981 (Wrap_Transient_Declaration): Supress the finalization of the list
10982 controller when the declaration denotes a container cursor.
10983
109842011-08-02 Yannick Moy <moy@adacore.com>
10985
10986 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
10987 command line now.
10988 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
10989 expression is a simple expression. This check cannot be performed in
10990 the semantics, so just drop it.
10991 (P_Index_Or_Discriminant_Constraint): move check that the index or
10992 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
10993 semantics. Other cases were previously checked in the semantics.
10994 * par-ch4.adb (P_Name): move checks that a selector name is not
10995 character literal or an operator symbol to Find_Selected_Component in
10996 the semantics
10997 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
10998 declarations are not placed after later declarations in a separate
10999 procedure in Sem_Util (possibly not the best choice?), to be used both
11000 during parsing, for Ada 83 mode, and during semantic analysis, for
11001 SPARK mode.
11002 * par-endh.adb (Check_End): move check that end label is not missing
11003 to Process_End_Label in the semantics
11004 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
11005 the special case for SPARK restriction
11006 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
11007 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
11008 parameter Force to issue the error message even on internal node (used
11009 for generated end label). Call Check_Restriction to check when an error
11010 must be issued. In SPARK mode, issue an error message even if the
11011 restriction is not set.
11012 (Check_Restriction): new procedure with an additional out parameter to
11013 inform the caller that a message has been issued
11014 * sem_aggr.adb: Minor modification of message
11015 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
11016 instead of issuing an error message directly
11017 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
11018 declarations are not placed after later declarations, by calling
11019 Check_Later_Vs_Basic_Declarations
11020 (Analyze_Subtype_Declaration): move here the check that an index or
11021 discriminant constraint must be a subtype mark. Change the check that
11022 a subtype of String must start at one so that it works on subtype marks.
11023 * sem_ch4.adb (Analyze_Call): move here the check that a named
11024 association cannot follow a positional one in a call
11025 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
11026 instead of issuing an error message directly
11027 * sem_ch8.adb (Find_Selected_Component): move here the check that a
11028 selector name is not a character literal or an operator symbol. Move
11029 here the check that the prefix of an expanded name cannot be a
11030 subprogram or a loop statement.
11031 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
11032 procedure called from parsing and semantics to check that basic
11033 declarations are not placed after later declarations
11034 (Process_End_Label): move here the check that end label is not missing
11035
110362011-08-02 Arnaud Charlet <charlet@adacore.com>
11037
11038 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
11039 representation clause in codepeer mode, since it confuses CodePeer and
11040 does not bring useful info.
11041
110422011-08-02 Ed Falis <falis@adacore.com>
11043
11044 * init.c: initialize fp hw on MILS.
11045
110462011-08-02 Ed Schonberg <schonberg@adacore.com>
11047
11048 * errout.adb (First_Node): for bodies, return the node itself (small
11049 optimization). For other nodes, do not check source_unit if the node
11050 comes from Standard.
11051
d2d9cc22
AC
110522011-08-02 Robert Dewar <dewar@adacore.com>
11053
11054 * exp_ch3.adb: Minor comment additions.
11055 * sem_ch13.adb: Minor reformatting.
11056
110572011-08-02 Pascal Obry <obry@adacore.com>
11058
11059 * make.adb, makeutl.adb: Removes some superfluous directory separator.
11060
a01b9df6
AC
110612011-08-02 Robert Dewar <dewar@adacore.com>
11062
11063 * sem_attr.adb: Minor reformatting.
11064
110652011-08-02 Robert Dewar <dewar@adacore.com>
11066
11067 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
11068 (Has_Default_Component_Value): Removed
11069 * einfo.ads Comment updates
11070 (Has_Default_Aspect): Replaces Has_Default_Value
11071 (Has_Default_Component_Value): Removed
11072 * exp_ch13.adb
11073 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
11074 * exp_ch3.adb
11075 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
11076 (Get_Simple_Init_Val): Handle Default_Value aspect
11077 (Needs_Simple_Initialization): Handle Default_Value aspect
11078 * exp_ch3.ads: Needs_Simple_Initialization
11079 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
11080 * par-prag.adb (Pragma_Default[_Component]Value) Removed
11081 * sem_ch13.adb
11082 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
11083 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
11084 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
11085
110862011-08-02 Ed Schonberg <schonberg@adacore.com>
11087
11088 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
11089 package containing iteration primitives.
11090 exp_ch5.adb (Expand_Iterator_Loop): ditto.
11091
75c90775
AC
110922011-08-02 Ed Schonberg <schonberg@adacore.com>
11093
11094 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
11095 "of", pre-analyze expression in case it is a function call with
11096 finalization actions that must be placed ahead of the loop.
11097 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
11098 on an Ada2012 iterator, insert them ahead of the rewritten loop.
11099
111002011-08-02 Geert Bosch <bosch@adacore.com>
11101
11102 * cstand.adb (Create_Float_Types): Only consider C's long double for
11103 Long_Long_Float, in addition to double.
11104
ded8909b
AC
111052011-08-02 Robert Dewar <dewar@adacore.com>
11106
11107 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
11108 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
11109 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
11110 Minor reformatting.
11111
111122011-08-02 Ed Schonberg <schonberg@adacore.com>
11113
11114 * sem_attr.adb: handle properly 'Result when it is a prefix of an
11115 indexed component.
11116
111172011-08-02 Javier Miranda <miranda@adacore.com>
11118
11119 * einfo.ads, einfo.adb
11120 (Original_Access_Type): Move this attribute to Node26 since there was
11121 an undocumented use of Node21 in E_Access_Subprogram_Type entities
11122 which causes conflicts and breaks the generation of the .NET compiler.
11123 (Interface_Name): Add missing documentation on JGNAT only uses of
11124 this attribute.
11125
70c34e1c
AC
111262011-08-02 Geert Bosch <bosch@adacore.com>
11127
11128 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
11129 (Find_Back_End_Float_Type): Likewise
11130 (Create_Back_End_Float_Types): Likewise
11131 (Create_Float_Types): Likewise
11132 (Register_Float_Type): Likewise
11133 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
11134 Nlist and split out type selection in new local Find_Base_Type function.
11135 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
11136 Nlist
11137 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
11138
111392011-08-02 Robert Dewar <dewar@adacore.com>
11140
11141 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
11142 alpha order).
11143 * opt.ads: Minor comment change.
11144 * sem_ch12.adb: Minor code reorganization.
11145
b715bc59
AC
111462011-08-02 Gary Dismukes <dismukes@adacore.com>
11147
11148 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
11149 subtype's list of rep items to the list on the full subtype in the case
11150 where the lists are the same.
11151
111522011-08-02 Geert Bosch <bosch@adacore.com>
11153
11154 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
11155 using the one from System.Strings, which also deallocates all strings.
11156
002bdd68
AC
111572011-08-02 Geert Bosch <bosch@adacore.com>
11158
11159 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
11160 function.
11161 * gcc-interface/Make-lang.in: Update dependencies.
11162
111632011-08-02 Olivier Hainque <hainque@adacore.com>
11164
11165 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
11166 end_locus.
11167
499769ec
AC
111682011-08-02 Javier Miranda <miranda@adacore.com>
11169
11170 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
11171 associated with anonymous access to subprograms.
11172
111732011-08-02 Geert Bosch <bosch@adacore.com>
11174
11175 * opt.ads
11176 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
11177 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
11178 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
11179 (Add_Symbol_Definition): Move to switch-c.adb
11180 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
11181 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
11182 (Add_Symbol_Definition): Move to switch-c.adb.
11183 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
11184 * sem_warn.adb
11185 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
11186 Move to warnsw.adb.
11187 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
11188 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
11189 Move to warnsw.adb.
11190 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
11191 (Add_Symbol_Definition): Moved from Prepcomp.
11192 * switch-c.ads: Update copyright notice. Use String_List instead of
11193 Argument_List, removing dependency on System.OS_Lib.
11194
aa1e353a
AC
111952011-08-02 Yannick Moy <moy@adacore.com>
11196
11197 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
11198 mode on initialization expression which does not respect SPARK
11199 restrictions.
11200 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
11201 if the tree referenced by its argument represents an initialization
11202 expression in SPARK, suitable for initializing an object in an object
11203 declaration.
11204
112052011-08-02 Javier Miranda <miranda@adacore.com>
11206
11207 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
11208 internally generated access to subprogram with its associated protected
11209 subprogram type.
11210 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
11211
15b682ca
GB
112122011-08-02 Geert Bosch <bosch@adacore.com>
11213
11214 * cstand.adb (Register_Float_Type): Print information about type to
11215 register, if the Debug_Flag_Dot_B is set.
11216 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
11217 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
11218 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
11219 with a requested precision of more than Max_Digits digits and no more
11220 than Max_Base_Digits digits, if a range specification is present and the
11221 Predefined_Float_Types list has a suitable type to derive from.
11222 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
11223 case of type completion with pragma Import
11224 * sem_prag.adb
11225 (Process_Import_Predefined_Type): Processing to complete a type
11226 with pragma Import. Currently supports floating point types only.
11227 (Set_Convention_From_Pragma): Do nothing without underlying type.
11228 (Process_Convention): Guard against absence of underlying type,
11229 which may happen when importing incomplete types.
11230 (Process_Import_Or_Interface): Handle case of importing predefined
11231 types. Tweak error message.
11232
f8726f2b
AC
112332011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11234
11235 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
11236 functions to previous change. Reorganize code slightly.
11237
112382011-08-02 Geert Bosch <bosch@adacore.com>
11239
11240 * back_end.ads (Register_Type_Proc): New call back procedure type for
11241 allowing the back end to provide information about available types.
11242 (Register_Back_End_Types): New procedure to register back end types.
11243 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
11244 available types.
11245 * cstand.adb (Back_End_Float_Types): New list for floating point types
11246 supported by the back end.
11247 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
11248 (Copy_Float_Type): New procedure to make new copies of predefined types.
11249 (Register_Float_Type): New call back procedure to populate the BEFT list
11250 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
11251 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
11252 (Create_Float_Types): New procedure to create entities for floating
11253 point types predefined in Standard, and put these and any remaining
11254 BEFTs on the Predefined_Float_Types list.
11255 * stand.ads (Predefined_Float_Types): New list for predefined floating
11256 point types that do not have declarations in package Standard.
11257
feecad68
AC
112582011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11259
11260 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
11261 entity node for the unit containing the parameter.
11262 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
11263 (Add_Inlined_Subprogram): Likewise.
11264 * gcc-interface/Make-lang.in: Update dependencies.
11265
112662011-08-02 Thomas Quinot <quinot@adacore.com>
11267
11268 * s-stusta.adb (Print): Make sure Pos is always initialized to a
11269 suitable value.
11270
12f0c50c
AC
112712011-08-02 Geert Bosch <bosch@adacore.com>
11272
11273 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
11274
112752011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11276
11277 * sem_type.adb (Covers): Move trivial case to the top and reuse the
11278 computed value of Base_Type.
11279
112802011-08-02 Yannick Moy <moy@adacore.com>
11281
11282 * restrict.adb (Check_Restriction): issue an error for any use of
11283 class-wide, even if the No_Dispatch restriction is not set.
11284 * sem_aggr.adb: Correct typos in comments and messages in formal mode
11285 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
11286 when completing a private extension, the type named in the private part
11287 is not the same as that named in the visible part.
11288 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
11289 of an inherited primitive operations of a tagged type or type extension
11290 that returns the tagged type.
11291 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
11292 function which returns True for an implicit operation inherited by the
11293 derived type declaration for the argument type.
11294 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
11295 order.
11296
fb86fe11
ES
112972011-08-02 Ed Schonberg <schonberg@adacore.com>
11298
11299 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
11300 Process_Bounds, to perform analysis with expansion of a range or an
11301 expression that is the iteration scheme for a loop.
11302 (Analyze_Iterator_Specification): If domain of iteration is given by a
11303 function call with a controlled result, as is the case if call returns
11304 a predefined container, ensure that finalization actions are properly
11305 generated.
11306 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
11307
62be5d0a
JM
113082011-08-02 Javier Miranda <miranda@adacore.com>
11309
11310 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
11311 * gcc-interface/Make-lang.in: Update dependencies.
11312
113132011-08-02 Javier Miranda <miranda@adacore.com>
11314
11315 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
11316 determine if the analysis is performed using N or Original_Node (N).
11317 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
11318 functionality of routine Is_Variable avoids code duplication.
11319 * checks.adb (Determine_Range): Handle temporaries generated by
11320 Remove_Side_Effects.
11321
113222011-08-02 Javier Miranda <miranda@adacore.com>
11323
11324 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
11325 expansion of the condition. Required since the previous analysis was
11326 done with expansion disabled (see Resolve_Quantified_Expression) and
11327 hence checks were not inserted and record comparisons have not been
11328 expanded.
11329
a20f4389
AC
113302011-08-02 Ed Falis <falis@adacore.com>
11331
11332 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
11333 Update header.
11334
113352011-08-02 Bob Duff <duff@adacore.com>
11336
11337 * opt.ads: Minor comment fix.
11338
113392011-08-02 Bob Duff <duff@adacore.com>
11340
11341 * sem_ch12.adb (Analyze_Package_Instantiation,
11342 Analyze_Subprogram_Instantiation): Turn off style checking while
11343 analyzing an instance. Whatever style checks that apply to the generic
11344 unit should apply, so it makes no sense to apply them in an instance.
11345 This was causing trouble when compiling an instance of a runtime
11346 unit that violates the -gnatyO switch.
11347 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
11348 one of the two case statements, causing spurious errors.
11349
113502011-08-02 Robert Dewar <dewar@adacore.com>
11351
11352 * uname.adb: Minor reformatting.
11353 * gnatcmd.adb: Minor reformatting.
11354 * exp_attr.adb: Minor reformatting.
11355
90878b12
AC
113562011-08-02 Ed Schonberg <schonberg@adacore.com>
11357
11358 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
11359 No_Dispatching_Calls, do not look for the Assign primitive, because
11360 predefined primitives are not created in this case.
11361
113622011-08-02 Bob Duff <duff@adacore.com>
11363
11364 * stylesw.ads: Minor comment fixes.
11365
113662011-08-02 Robert Dewar <dewar@adacore.com>
11367
11368 * freeze.adb (Add_To_Result): New procedure.
11369
113702011-08-02 Jose Ruiz <ruiz@adacore.com>
11371
11372 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
11373 time, if the specific run-time routines for handling streams of strings
11374 are not available, use the default mechanism.
11375
113762011-08-02 Arnaud Charlet <charlet@adacore.com>
11377
11378 * s-regpat.ads: Fix typo.
11379
113802011-08-02 Vincent Celier <celier@adacore.com>
11381
11382 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
11383 not null, call it to create the in memory config project file without
11384 parsing an existing default config project file.
11385
113862011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11387
11388 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
11389
113902011-08-02 Ed Schonberg <schonberg@adacore.com>
11391
11392 * sem_elim.adb: an abstract subprogram does not need an eliminate
11393 pragma for its descendant to be eliminable.
11394
113952011-08-02 Ed Falis <falis@adacore.com>
11396
11397 * init.c: revert to handling before previous checkin for VxWorks
11398 * s-intman-vxworks.adb: delete unnecessary declarations related to
11399 using Ada interrupt facilities for handling signals.
11400 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
11401 * s-intman-vxworks.ads: Import __gnat_install_handler as
11402 Initialize_Interrupts.
11403 * s-taprop-vxworks.adb: Delete Signal_Mask.
11404 (Abort_Handler): change construction of mask to unblock exception
11405 signals.
11406
273adcdf
AC
114072011-08-02 Jerome Guitton <guitton@adacore.com>
11408
11409 * a-except-2005.adb (Raise_From_Signal_Handler): Call
11410 Debug_Raise_Exception before propagation starts.
11411
114122011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11413
11414 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
11415 to Restriction_Check_Required.
11416 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
11417 * sem_res.adb (Resolve_Call): Likewise.
11418 * sem_attr.adb (Check_Stream_Attribute): Likewise.
11419
114202011-08-02 Bob Duff <duff@adacore.com>
11421
11422 * stylesw.ads: Update comment.
11423 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
11424 * errout.ads: Remove obsolete comment.
11425
114262011-08-02 Javier Miranda <miranda@adacore.com>
11427
11428 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
11429 (Set_Is_Safe_To_Reevaluate): new procedure.
11430 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
11431 assignment is allowed on safe-to-reevaluate variables.
11432 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
11433 temporary created to remove side effects in expressions that use
11434 the secondary stack as safe-to-reevaluate.
11435 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
11436 variables that are not true constants.
11437
6320f5e1
AC
114382011-08-02 Robert Dewar <dewar@adacore.com>
11439
11440 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
11441 sem_res.adb, sem_ch6.adb: Minor reformatting.
11442
114432011-08-02 Jerome Guitton <guitton@adacore.com>
11444
11445 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
11446
2fe829ae
ES
114472011-08-02 Ed Schonberg <schonberg@adacore.com>
11448
11449 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
11450 not set Overridden_Operation if subprogram is an initialization
11451 procedure.
11452
e24329cd
YM
114532011-08-02 Yannick Moy <moy@adacore.com>
11454
11455 * par-ch6.adb: Correct obsolete name in comments
11456 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
11457 which takes two message arguments (existing function takes one), with
11458 second message used for continuation.
11459 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
11460 block statements that originate from a source block statement, not
11461 generated block statements
11462 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
11463 symmetry with procedure case
11464 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
11465 function to issue an error in formal mode if a package specification
11466 contains more than one tagged type or type extension.
11467 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
11468 parameters matching formals of tagged types are objects (or ancestor
11469 type conversions of objects), not general expressions. Issue an error
11470 on view conversions that are not involving ancestor conversion of an
11471 extended type.
11472 (Resolve_Type_Conversion): in formal mode, issue an error on the
11473 operand of an ancestor type conversion which is not an object
11474 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
11475 procedure so that it works also for actuals of function calls
11476 (Is_Actual_Tagged_Parameter): new function which determines if its
11477 argument is an actual parameter of a formal of tagged type in a
11478 subprogram call
11479 (Is_SPARK_Object_Reference): new function which determines if the tree
11480 referenced by its argument represents an object in SPARK
11481
176dadf6
AC
114822011-08-02 Robert Dewar <dewar@adacore.com>
11483
11484 * sem_ch3.adb: Minor reformatting
11485 Minor comment addition
11486 Minor error msg text change
11487
114882011-08-02 Javier Miranda <miranda@adacore.com>
11489
11490 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
11491 function. Used to be more precise when we generate a variable plus one
11492 assignment to remove side effects in the evaluation of the Bound
11493 expressions.
11494 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
11495 of the bound expression to force its re-analysis and thus expand the
11496 associated transient scope (if required). Code cleanup replacing the
11497 previous code that declared the constant entity by an invocation to
11498 routine Force_Evaluation which centralizes this work in the frontend.
11499
d8b962d8
AC
115002011-08-02 Robert Dewar <dewar@adacore.com>
11501
11502 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
11503 (Base_Type): Now uses improved Is_Base_Type function
11504 * einfo.ads (Base_Type): Inline this function
11505
115062011-08-02 Robert Dewar <dewar@adacore.com>
11507
11508 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
11509 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
11510
115112011-08-02 Arnaud Charlet <charlet@adacore.com>
11512
11513 * gcc-interface/Make-lang.in: Update dependencies.
11514 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
11515 targets.
11516
115172011-08-02 Yannick Moy <moy@adacore.com>
11518
11519 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
11520 non-simple expression used in delta constraint
11521 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
11522 index constraint which is not a subtype mark
11523 * par.adb: With and use Restrict
11524 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
11525 mode on component type which is not a subtype mark and default
11526 expression on component
11527 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
11528 of string which does not have a lower index bound equal to 1
11529 (Array_Type_Declaration): issue an error in formal mode on index or
11530 component type which is not a subtype mark, and on aliased keyword on
11531 component
11532 (Derived_Type_Declaration): issue an error in formal mode on interface,
11533 limited or abstract type
11534 (Record_Type_Declaration): issue an error in formal mode on interface
11535 (Record_Type_Definition): issue an error in formal mode on tagged types
11536 and type extensions not declared in the specification of a library unit
11537 package; on null non-tagged record; on variant part
11538
115392011-08-02 Vincent Celier <celier@adacore.com>
11540
11541 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
11542 not declared for qualified library project when Library_Name is not
11543 declared, but Library_Dir is.
11544
115452011-08-02 Robert Dewar <dewar@adacore.com>
11546
11547 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
11548 pragmas (affects aspects [Component_]Default_Value
11549 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
11550 component type for the resolution
11551
f96b2d85
AC
115522011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11553
11554 * einfo.adb (Base_Type): Tune implementation for speed.
11555
115562011-08-02 Robert Dewar <dewar@adacore.com>
11557
11558 * freeze.adb: Minor reformatting.
11559
8b3c6430
AC
115602011-08-02 Thomas Quinot <quinot@adacore.com>
11561
11562 * scos.ads: Update comments.
11563
115642011-08-02 Ed Schonberg <schonberg@adacore.com>
11565
11566 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
11567 base type, because the parent may be a subtype of a private type whose
11568 convention is established in a private part.
11569
115702011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
11571
11572 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
11573 statement in a block when the expansion of the return expression has
11574 created a finalization chain.
11575 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
11576 with the parent node.
11577 Add N_Extended_Return_Statement to handle the case where a transient
11578 object declaration appears in the Return_Object_Declarations list of
11579 an extended return statement.
11580
115812011-08-02 Matthew Gingell <gingell@adacore.com>
11582
11583 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
11584 unused parameter 'name'.
11585
115862011-08-02 Ed Schonberg <schonberg@adacore.com>
11587
11588 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
11589 inherited operation, check whether its alias, which is the source
11590 operastion that it renames, has been marked eliminated.
11591
cae81f17
JM
115922011-08-02 Javier Miranda <miranda@adacore.com>
11593
11594 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
11595 in-mode parameter whose type is an access type since it can be used to
11596 modify its designated object. Enforce code that handles as safe an
11597 access type that is not access-to-constant but it is the result of a
11598 previous removal of side-effects.
11599 (Remove_Side_Effects): Minor code reorganization of cases which require
11600 no action. Done to incorporate documentation on new cases uncovered
11601 working in this ticket: no action needed if this routine was invoked
11602 too early and the nodes are not yet decorated.
11603 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
11604 to routine Remove_Side_Effects by calls to Force_Evaluation since they
11605 were issued with actuals that are implicitly provided by
11606 Force_Evaluation.
11607
218e6dee
RD
116082011-08-02 Robert Dewar <dewar@adacore.com>
11609
11610 * sem_ch3.adb, sem_res.adb: Minor reformatting.
11611
7a489a2b
AC
116122011-08-02 Yannick Moy <moy@adacore.com>
11613
11614 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
11615 to issue an error in formal mode on attribute not supported in this mode
11616 (Analyze_Attribute): issue errors on standard attributes not supported
11617 in formal mode.
11618 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
11619 comment, and issue error in formal mode on modulus which is not a power
11620 of 2.
11621 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
11622 range.
11623 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
11624 subtype mark.
11625 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
11626 operator on modular type (except 'not').
11627
116282011-08-02 Robert Dewar <dewar@adacore.com>
11629
11630 * gnat_rm.texi: Minor reformatting.
11631
cb7fa356
AC
116322011-08-02 Arnaud Charlet <charlet@adacore.com>
11633
11634 * s-osinte-linux.ads: Minor comment update and reformatting.
11635 * i-cexten.ads: Make this unit pure, as for its parent.
11636 Will allow its usage in more contexts if needed.
11637
116382011-08-02 Robert Dewar <dewar@adacore.com>
11639
11640 * s-utf_32.ads: Minor comment fix.
11641
116422011-08-02 Ed Schonberg <schonberg@adacore.com>
11643
11644 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
11645 operation of a tagged synchronized type, handle the case where the
11646 controlling argument is overloaded.
11647
116482011-08-02 Yannick Moy <moy@adacore.com>
11649
11650 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
11651 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
11652 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
11653 SPARK mode and formal verification mode on processing SPARK restriction
11654 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
11655 requiring consistency checking.
11656
5cc9353d
RD
116572011-08-02 Robert Dewar <dewar@adacore.com>
11658
11659 * sem_res.adb: Minor reformatting.
11660
e51537ff
RD
116612011-08-02 Robert Dewar <dewar@adacore.com>
11662
11663 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
11664 a-cforse.ads: Remove unneeded with of Ada.Containers
11665 Remove commented out pragma Inline's
11666 Move specifications of new subprograms to the actual specs
11667
83fa09c5
AC
116682011-08-02 Yannick Moy <moy@adacore.com>
11669
11670 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
11671 a-cforse.ads: Update comments.
11672
116732011-08-02 Ed Schonberg <schonberg@adacore.com>
11674
11675 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
11676
d11cfaf8
RD
116772011-08-02 Robert Dewar <dewar@adacore.com>
11678
11679 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
11680 a-cforse.ads, a-cofove.ads: Minor reformatting.
11681
300b98bb
AC
116822011-08-02 Claire Dross <dross@adacore.com>
11683
11684 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
11685 a-cofove.ads: Add comments.
11686
116872011-08-02 Yannick Moy <moy@adacore.com>
11688
11689 * gnat_rm.texi: Document formal containers.
11690
116912011-08-02 Emmanuel Briot <briot@adacore.com>
11692
11693 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
11694 are empty sections.
11695
19fb051c
AC
116962011-08-02 Robert Dewar <dewar@adacore.com>
11697
11698 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
11699 reformatting.
11700
117012011-08-02 Robert Dewar <dewar@adacore.com>
11702
11703 * aspects.adb: New aspects Default_Value and Default_Component_Value
11704 New format of Aspect_Names table checks for omitted entries
11705 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
11706 handling of boolean aspects for derived types.
11707 New aspects Default_Value and Default_Component_Value
11708 New format of Aspect_Names table checks for omitted entries
11709 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
11710 (Has_Default_Value): New flag
11711 (Has_Default_Component_Value): New flag
11712 (Has_Default_Value): New flag
11713 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
11714 table.
11715 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
11716 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
11717 Default_Value and Default_Component_Value
11718 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
11719 New aspects Default_Value and Default_Component_Value
11720 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
11721 * sprint.adb: Print N_Aspect_Specification node when called from gdb
11722
117232011-08-02 Vincent Celier <celier@adacore.com>
11724
11725 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
11726 inherit library kind.
11727
117282011-08-02 Ed Schonberg <schonberg@adacore.com>
11729
11730 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
11731 Minor reformatting.
11732
117332011-08-02 Robert Dewar <dewar@adacore.com>
11734
11735 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
11736
5f7747af
AC
117372011-08-02 Yannick Moy <moy@adacore.com>
11738
11739 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
11740
117412011-08-02 Robert Dewar <dewar@adacore.com>
11742
11743 * impunit.adb: Add comment.
11744
a5fe697b
AC
117452011-08-02 Yannick Moy <moy@adacore.com>
11746
11747 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
11748 qualification of aggregates in formal mode
11749 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
11750 another aggregate
11751 (Resolve_Aggregate): complete the test that an aggregate is adequately
11752 qualified in formal mode
11753
117542011-08-02 Pascal Obry <obry@adacore.com>
11755
11756 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
11757 * mlib-prj.adb: Supress warning when compiling binder generated file.
11758 (Build_Library): Supress all warnings when compiling the binder
11759 generated file.
11760
bd65a2d7 117612011-08-02 Yannick Moy <moy@adacore.com>
d4487611 11762
bd65a2d7
AC
11763 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
11764 from here...
11765 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
11766 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
11767 Add with/use clauses to make Check_Formal_Restriction visible
11768
117692011-08-02 Ed Schonberg <schonberg@adacore.com>
11770
11771 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
11772 in-parameters when type of the generic formal is private in the generic
11773 spec and non-private in the body.
11774
117752011-08-02 Claire Dross <dross@adacore.com>
11776
11777 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
11778 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
11779 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
11780 * impunit.adb, Makefile.rtl: Take new files into account.
d4487611
AC
11781
117822011-08-02 Robert Dewar <dewar@adacore.com>
11783
11784 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
11785 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
11786
bd434b3f
YM
117872011-08-02 Yannick Moy <moy@adacore.com>
11788
11789 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
11790 formal mode
11791 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
11792 matching static array bounds, taking into account the special case of
11793 string literals
11794 * sem_ch3.adb: Typo in comment.
11795
fe5d3068
YM
117962011-08-02 Yannick Moy <moy@adacore.com>
11797
11798 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
11799 which issues an error in formal mode if its argument node is originally
11800 from source
11801 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
11802 has a discriminant specification so that it does not include the case
11803 of derived types
11804 (Derived_Type_Declaration): move here the test that a derived type has a
11805 discriminant specification
11806 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
11807 first element of a component association before accessing its choices
11808 (presence of component association is not enough)
11809 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
11810 declaration is a library item before accessing the next element in a
11811 list, as library items are not member of lists
11812 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
11813 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
11814 Check_Formal_Restriction whenever possible.
11815
b60a3f26
AC
118162011-08-02 Ed Schonberg <schonberg@adacore.com>
11817
11818 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
11819 reference when needed.
11820
118212011-08-02 Bob Duff <duff@adacore.com>
11822
11823 * gnat_ugn.texi: Fix typo.
11824
118252011-08-02 Vincent Celier <celier@adacore.com>
11826
11827 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
11828 archive file name. Do not use the full path name of archives for Open
11829 VMS.
11830
eaba57fb
RD
118312011-08-02 Robert Dewar <dewar@adacore.com>
11832
11833 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
11834 Analyze_Aspect_Specifications
11835 * sem_ch13.adb
11836 (Analyze_Aspect_Specifications): New handling for boolean aspects
11837 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
11838 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
11839 sequence for Analyze_Aspect_Specifications
11840 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
11841 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
11842
118432011-08-02 Robert Dewar <dewar@adacore.com>
11844
11845 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
11846 aspects, since these no longer exist.
11847
118482011-08-02 Robert Dewar <dewar@adacore.com>
11849
11850 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
11851 semicolon, do not try to see if there are aspects following it.
11852 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
11853 aspect spec.
11854
8830d1d2
AC
118552011-08-02 Robert Dewar <dewar@adacore.com>
11856
11857 * sem_ch8.adb, aspects.ads: Minor reformatting.
11858
118592011-08-02 Eric Botcazou <ebotcazou@adacore.com>
11860
11861 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
11862 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
11863 extracted from...
11864 (Analyze_Aspect_Specifications): ...here. Call above procedure.
11865
7ff2d234
AC
118662011-08-02 Yannick Moy <moy@adacore.com>
11867
11868 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
11869 mode on subprogram declaration outside of package specification, unless
11870 it is followed by a pragma Import
11871 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
11872 Access_Type_Declaration): issue error in formal mode on access type
11873 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
11874 incomplete type
11875 (Analyze_Object_Declaration): issue error in formal mode on object
11876 declaration which does not respect SPARK restrictions
11877 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
11878 declaration which does not respect SPARK restrictions
11879 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
11880 error in formal mode on digits or delta constraint
11881 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
11882 decimal fixed point type
11883 (Derived_Type_Declaration): issue error in formal mode on derived type
11884 other than type extensions of tagged record types
11885 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
11886 with check on access definition
11887 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
11888 mode on protected definition.
11889 (Analyze_Task_Definition): issue error in formal mode on task definition
11890
118912011-08-02 Robert Dewar <dewar@adacore.com>
11892
11893 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
11894
806f6d37
AC
118952011-08-02 Javier Miranda <miranda@adacore.com>
11896
11897 * sem_ch6.adb (Can_Override_Operator): New function.
11898 (Verify_Overriding_Indicator): Add missing code to check overriding
11899 indicator in operators. Fixes regression.
11900 (Check_Overriding_Indicator): Minor reformating after replacing the
11901 code that evaluates if the subprogram can override an operator by
11902 invocations to the above new function.
11903 * einfo.adb
11904 (Write_Field26_Name): Add missing code to ensure that, following
11905 the documentation in einfo.ads, this field is not shown as attribute
11906 "Static_Initialization" on non-dispatching functions.
11907
119082011-08-02 Jose Ruiz <ruiz@adacore.com>
11909
11910 * sem_res.adb (Resolve_Call): A call to
11911 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
11912 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
11913 i.e., when the second parameter is of type Time_Span.
11914
119152011-08-02 Vincent Celier <celier@adacore.com>
11916
11917 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
11918 with an archive instead of -L<library dir> -l<library name>.
11919
119202011-08-02 Ed Schonberg <schonberg@adacore.com>
11921
11922 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
11923 mark the base types In_Use in addition to making the operations
11924 use_visible.
11925
119262011-08-02 Ed Falis <falis@adacore.com>
11927
11928 * init.c: add and setup __gnat_signal_mask for the exception signals
11929 * s-inmaop-vxworks.adb: new file.
11930 * s-intman-vxworks.adb: remove unnecessary initializations and
11931 simplify remaining
11932 * s-intman-vxworks.ads: remove unnecessary variable
11933 * s-taprop-vxworks.adb: simplify signal initialization
11934
780d052e
RD
119352011-08-02 Robert Dewar <dewar@adacore.com>
11936
11937 * sem_ch8.adb: Minor code reorganization, comment updates.
11938
119392011-08-02 Robert Dewar <dewar@adacore.com>
11940
11941 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
11942 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
11943 here from Sem_Res.
11944 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
11945 (Matching_Static_Array_Bounds): Moved here from Sem_Res
11946
29efbb8c
ES
119472011-08-02 Ed Schonberg <schonberg@adacore.com>
11948
11949 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
11950 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
11951 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
11952 use_type_clauses, to handle more efficiently use_type and use_all_type
11953 constructs.
11954 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
11955 Ada2012 Use_All_Type clause.
11956 (Use_Class_Wide_Operations): new procedure.
11957
b0186f71
AC
119582011-08-02 Robert Dewar <dewar@adacore.com>
11959
11960 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
11961 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
11962 expression to expression function.
11963
119642011-08-02 Ed Schonberg <schonberg@adacore.com>
11965
11966 * sem_ch4.adb: transform simple Ada2012 membership into equality only
11967 if types are compatible.
11968
119692011-08-02 Yannick Moy <moy@adacore.com>
11970
11971 * sem_res.adb (Matching_Static_Array_Bounds): new function which
11972 returns True if its argument array types have same dimension and same
11973 static bounds at each index.
11974 (Resolve_Actuals): issue an error in formal mode on actuals passed as
11975 OUT or IN OUT paramaters which are not view conversions in SPARK.
11976 (Resolve_Arithmetic_Op): issue an error in formal mode on
11977 multiplication or division with operands of fixed point types which are
11978 not qualified or explicitly converted.
11979 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
11980 Boolean or array type (except String) operands.
11981 (Resolve_Equality_Op): issue an error in formal mode on equality
11982 operators for array types other than String with non-matching static
11983 bounds.
11984 (Resolve_Logical_Op): issue an error in formal mode on logical operators
11985 for array types with non-matching static bounds. Factorize the code in
11986 Matching_Static_Array_Bounds.
11987 (Resolve_Qualified_Expression): issue an error in formal mode on
11988 qualified expressions for array types with non-matching static bounds.
11989 (Resolve_Type_Conversion): issue an error in formal mode on type
11990 conversion for array types with non-matching static bounds
11991
767bb4e8
AC
119922011-08-02 Robert Dewar <dewar@adacore.com>
11993
11994 * par-ch10.adb: Minor code reorganization (use Nkind_In).
11995
119962011-08-02 Ed Schonberg <schonberg@adacore.com>
11997
11998 * par-ch9.adb: save location of entry for proper error message.
11999
4ac2477e
JM
120002011-08-02 Javier Miranda <miranda@adacore.com>
12001
12002 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
12003 (Use_Full_View) which permits this routine to climb through the
12004 ancestors using the full-view of private parents.
12005 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
12006 Use_Full_View to true in calls to Is_Ancestor.
12007 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
12008 true in call to Is_Ancestor.
12009 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
12010 Use_Full_View to true in call to Is_Ancestor.
12011 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
12012 call to Is_Ancestor.
12013 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
12014 Use_Full_View to true in calls to Is_Ancestor.
12015 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
12016 Make_Select_Specific_Data_Table, Register_Primitive,
12017 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
12018 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
12019 to true in call to Is_Ancestor.
12020 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
12021 Use_Full_View to true in calls to Is_Ancestor.
12022 * exp_cg.adb
12023 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
12024 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
12025
9f90d123
AC
120262011-08-02 Robert Dewar <dewar@adacore.com>
12027
12028 * gnat_rm.texi: Minor reformatting.
12029 * sem_prag.adb: Minor reformatting.
12030
120312011-08-02 Tristan Gingold <gingold@adacore.com>
12032
12033 * vms_data.ads: Add VMS qualifier for -gnateP.
12034
120352011-08-02 Robert Dewar <dewar@adacore.com>
12036
12037 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
12038 * par-ch7.adb (P_Package): Proper placement of aspects for package
12039 decl/instantiation.
12040 * par-endh.adb (Check_End): Ad Is_Sloc parameter
12041 (End_Statements): Add Is_Sloc parameterr
12042 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
12043 (Check_End): Ad Is_Sloc parameter
12044 (End_Statements): Add Is_Sloc parameterr
12045
120462011-08-02 Vincent Celier <celier@adacore.com>
12047
12048 * ug_words: Add VMS qualifier equivalent to -gnateP:
12049 /SYMBOL_PREPROCESSING.
12050
120512011-08-02 Jose Ruiz <ruiz@adacore.com>
12052
12053 * gnat-style.texi: For hexadecimal numeric literals the typical
12054 grouping of digits is 4 to represent 2 bytes.
12055 A procedure spec which is split into several lines is indented two
12056 characters.
12057
120582011-08-02 Yannick Moy <moy@adacore.com>
12059
12060 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
12061 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
12062 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
12063 properly qualified
12064 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
12065 choice in array aggregate
12066 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
12067 mark as ancestor
12068 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
12069 positional and named aggregate for record, or others in record
12070 aggregate, or multiple choice in record aggregate
12071 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
12072 array operands to logical operations AND, OR and XOR do not have the
12073 same static lower and higher bounds
12074 * sem_ch5.adb, sinfo.ads: Correct typos in comments
12075
2933b16c
RD
120762011-08-01 Robert Dewar <dewar@adacore.com>
12077
12078 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
12079 Replaces Last_Source_Node_In_Sequence.
12080 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
12081 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
12082 parens and blank in string (this was inconsistently implemented).
12083 * errout.ads
12084 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
12085 blank in string (this was inconsistently implemented).
12086 * gnat1drv.adb
12087 (Set_Global_Switches): Set formal mode switches appropriately
12088 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
12089 * par-prag.adb
12090 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
12091 call Set_Error_Msg_Lang to set "spark" as language name.
12092 * par.adb: Remove unnecessary call to set formal language for errout
12093 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
12094 appropriately and call Set_Error_Msg_Lang to set "spark" as language
12095 name.
12096 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
12097 calls to it, moved after resolution so that types are known
12098 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
12099 result of concatenation is not of type String
12100 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
12101 concatenation is not properly restricted
12102 * gnat_rm.texi: Add doc on pragma Spark_95.
12103 * gcc-interface/Makefile.in: Remove obsolete target pairs for
12104 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
12105 * gcc-interface/Make-lang.in: Update dependencies.
12106
05dbd302
AC
121072011-08-01 Javier Miranda <miranda@adacore.com>
12108
12109 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
12110 condition that detects if the overridden operation must replace an
12111 existing entity.
12112
121132011-08-01 Javier Miranda <miranda@adacore.com>
12114
12115 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
12116 code declarations inserted by Insert_Actions in each alternative of the
12117 N_Case_Expression node.
12118
121192011-08-01 Robert Dewar <dewar@adacore.com>
12120
12121 * sem_ch6.adb: Minor code reorganization.
12122 * sem_util.adb: Minor reformatting.
12123
af9e051f
PO
121242011-08-01 Pascal Obry <obry@adacore.com>
12125
12126 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
12127 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
12128
1d801f21
AC
121292011-08-01 Yannick Moy <moy@adacore.com>
12130
12131 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
12132 literal or operator symbol which is prefixed
12133 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
12134 mode on access attributes.
12135 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
12136 that concatenation operands are properly restricted in formal mode
12137 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
12138 Analyze_Concatenation_Operand. Issue an error in formal mode if the
12139 result of the concatenation has a type different from String.
12140 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
12141 Analyze_Quantified_Expression, Analyze_Slice,
12142 Analyze_Null): issue an error in formal mode on unsupported constructs
12143 * sem_ch5.adb
12144 (Analyze_Block_Statement): only issue error on source block statement
12145 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
12146 function which returns the last node in a list of nodes for which
12147 Comes_From_Source returns True, if any
12148 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
12149 Last_Source_Node_In_Sequence
12150 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
12151 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
12152 mode on unsupported constructs
12153 * sem_ch9.adb Do not return after issuing error in formal mode, as the
12154 rest of the actions may be needed later on since the error is marked as
12155 not serious.
12156 * sinfo.ads: Typos in comments.
12157
121582011-08-01 Pascal Obry <obry@adacore.com>
12159
12160 * projects.texi: Minor editing.
12161
53beff22
YM
121622011-08-01 Yannick Moy <moy@adacore.com>
12163
12164 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
12165 insertion character ~~
12166 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
12167 (Set_Error_Msg_Lang): new procedure which fixes the language for use
12168 with insertion character ~~
12169 (Set_Msg_Text): treat insertion character ~~
12170 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
12171 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
12172 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
12173 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
12174 errors related to the formal language restriction not serious
12175 (insertion character |).
12176 * par.adb (Par): set formal language for error messages if needed
12177 * sem_ch6.adb (Check_Missing_Return): take into account possible
12178 generated statements at the end of the function
12179 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
12180 enumeration value to define a new pragma SPARK_95
12181 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
12182 SPARK_Version): new type and variables to store the SPARK version
12183 (none by default).
12184 (SPARK_Mode): return True when SPARK_Version is set
12185 * par-prag.adb: Correct indentation
12186 (Prag): take Pragma_SPARK_95 into account
12187 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
12188 into account.
12189
8d606a78
RD
121902011-08-01 Robert Dewar <dewar@adacore.com>
12191
12192 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
12193 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
12194 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
12195
1982d5a8
PO
121962011-08-01 Pascal Obry <obry@adacore.com>
12197
12198 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
12199 Target_Name to Get_Path call.
12200 (Parse_Single_Project): Likewise.
12201 (Post_Parse_Context_Clause): Likewise.
12202 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
12203 Call Initialise_Project_Path with the proper Target_Name.
12204 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
12205 search path.
12206 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
12207 with the proper Target_Name.
12208 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
12209 Part.Parse routine.
12210 (Parse_Project_And_Apply_Config): Likewise.
12211 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
12212 This is fine as this part of the code is supporting only native
12213 compilation.
12214 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
12215 is fine as this part of the code is supporting only native compilation.
12216
0d53d36b
AC
122172011-08-01 Yannick Moy <moy@adacore.com>
12218
12219 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
12220 of homonym, unless the homonym is one of the cases allowed in SPARK
12221 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
12222 package declaration occurring after a body.
12223
122242011-08-01 Robert Dewar <dewar@adacore.com>
12225
12226 * checks.adb, exp_ch4.adb: Minor reformatting.
12227
122282011-08-01 Javier Miranda <miranda@adacore.com>
12229
12230 * einfo.ads (Access_Disp_Table): Fix documentation.
12231 (Dispatch_Table_Wrappers): Fix documentation.
12232
122332011-08-01 Pascal Obry <obry@adacore.com>
12234
12235 * prj-env.adb, prj-env.ads: Minor reformatting.
12236
8ed68165
AC
122372011-08-01 Yannick Moy <moy@adacore.com>
12238
12239 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
12240 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
12241 procedures out of these packages.
2c7f9cc0 12242 * errout.ads, errout.adb
8ed68165
AC
12243 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
12244 procedures in of this package
12245 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
12246 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
12247 on misplaced later vs initial declarations, like in Ada 83
12248 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
12249 formal mode on attribute of private type whose full type declaration
12250 is not visible
12251 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
12252 package declaration inside a package specification
12253 (Analyze_Full_Type_Declaration): issue error in formal mode on
12254 controlled type or discriminant type
12255 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
12256 user-defined operator means that it should come from the source
12257 (New_Overloaded_Entity): issue error in formal mode on overloaded
12258 entity.
12259 * sem_ch6.ads, sem_ch13.ads: typos in comments.
12260
122612011-08-01 Thomas Quinot <quinot@adacore.com>
12262
12263 * atree.adb: Minor reformatting.
12264 * checks.adb: Minor reformatting.
12265
4230bdb7
AC
122662011-08-01 Vincent Celier <celier@adacore.com>
12267
12268 * s-parame-vms-ia64.ads: Fix typo in comment
12269 Minor reformatting
12270 * s-parame-vms-restrict.ads: Removed, unused.
12271
122722011-08-01 Javier Miranda <miranda@adacore.com>
12273
12274 * exp_ch3.adb
12275 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
12276 * sem_ch3.adb
12277 (Constrain_Index): Remove side effects in the evaluation of the bounds.
12278 * sem_ch3.ads, sem_ch3.adb
12279 (Is_Constant_Bound): New extended version of the subprogram that was
12280 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
12281 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
12282 * sem_aux.ads (Constant_Value): Fix typo in comment.
12283 * checks.adb (Generate_Index_Checks): New implementation which, for
12284 array objects with constant bounds, generates the runtime check
12285 referencing the bounds of the array type. For other cases this routine
12286 provides its previous behavior obtaining such values from the array
12287 object.
12288 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
12289 parent type.
12290 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
12291 we cannot have semantic interpretations of the new node.
12292
2010d078
AC
122932011-08-01 Ed Schonberg <schonberg@adacore.com>
12294
12295 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
12296 expressions.
12297
122982011-08-01 Arnaud Charlet <charlet@adacore.com>
12299
12300 * sem_ch8.adb: Minor code editing.
12301 * s-vxwext.adb: Remove trailing space.
12302 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
12303 consistency with other files.
12304
123052011-08-01 Thomas Quinot <quinot@adacore.com>
12306
12307 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
12308
123092011-08-01 Ed Schonberg <schonberg@adacore.com>
12310
12311 * par-ch10.adb: reject parameterized expressions as compilation unit.
12312 * sem_ch4.adb: handle properly conditional expression with overloaded
12313 then_clause and no else_clause.
12314
123152011-08-01 Tristan Gingold <gingold@adacore.com>
12316
12317 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
12318 like done by System.Aux_DEC.
12319 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
12320
daec8eeb
YM
123212011-08-01 Yannick Moy <moy@adacore.com>
12322
12323 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
12324 missing label at end of declaration (subprogram or package)
12325 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
12326 of positional and named parameter association
12327 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
12328 Error_Msg_SP which adds a prefix to the error message giving the name
12329 of the formal language analyzed
12330 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
12331 access result type in subprogram, unconstrained array as result type,.
12332 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
12333 procedure
12334 * sem_ch8.adb: Code clean up.
12335
38171f43
AC
123362011-08-01 Javier Miranda <miranda@adacore.com>
12337
12338 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
12339 * einfo.ads (Access_Disp_Table): Fix documentation.
12340 (Dispatch_Table_Wrappers): Fix documentation.
12341 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
12342 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
12343 to enforce the documentation of this attribute.
12344 (Set_Is_Interface): Cleanup the assertion.
12345 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
12346 the Underlying_Type entity before reading attribute Access_Disp_Table.
12347 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
12348 Locate the Underlying_Type before reading attribute Access_Disp_Table.
12349 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
12350 the Underlying_Type entity before reading attribute Access_Disp_Table.
12351 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
12352 Locate the Underlying_Type entity before reading attribute
12353 Access_Disp_Table.
12354
123552011-08-01 Ed Schonberg <schonberg@adacore.com>
12356
12357 * s-poosiz.ads: Additional overriding indicators.
12358
123592011-08-01 Yannick Moy <moy@adacore.com>
12360
12361 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
12362 formal mode.
12363 (Analyze_Iteration_Scheme): issue error in formal mode when loop
12364 parameter specification does not include a subtype mark.
12365 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
12366 formal mode on abstract subprogram.
12367 (Analyze_Subprogram_Specification): issue error in formal mode on
12368 user-defined operator.
12369 (Process_Formals): issue error in formal mode on access parameter and
12370 default expression.
12371 * sem_ch9.adb (Analyze_Abort_Statement,
12372 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
12373 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
12374 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
12375 Analyze_Requeue, Analyze_Selective_Accept,
12376 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
12377 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
12378 issue error in formal mode on user-defined raise statement.
12379
1f250383
AC
123802011-08-01 Thomas Quinot <quinot@adacore.com>
12381
12382 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
12383 declaration being hidden when overriding an implicit inherited
12384 subprogram.
12385 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
12386 (-gnats), do not complain about a source file that contains only a
12387 pragma No_Body.
12388
123892011-08-01 Ed Schonberg <schonberg@adacore.com>
12390
12391 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
12392 variable if already set.
12393
607d0635
AC
123942011-08-01 Arnaud Charlet <charlet@adacore.com>
12395
12396 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
12397 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
12398 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
12399 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
12400 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
12401 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
12402 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
12403 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
12404 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
12405 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
12406 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
12407 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
12408 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
12409 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
12410 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
12411 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
12412 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
12413 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
12414 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
12415 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
12416 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
12417 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
12418 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
12419 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
12420 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
12421 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
12422 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
12423 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
12424 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
12425 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
12426 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
12427 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
12428 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
12429 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
12430 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
12431 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
12432 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
12433 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
12434 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
12435 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
12436 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
12437 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
12438 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
12439 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
12440 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
12441 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
12442 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
12443 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
12444 s-osinte-mingw.ads: Update to GPLv3 run-time license.
12445 Use GNAT instead of GNARL.
12446
124472011-08-01 Bob Duff <duff@adacore.com>
12448
12449 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
12450 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
12451 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
12452 reformatting.
12453
124542011-08-01 Yannick Moy <moy@adacore.com>
12455
12456 * debug.adb (d.D) reverve flag for the SPARK mode
12457 (d.E) reverve flag for SPARK generation mode
12458 (d.F) reverve flag for Why generation mode
2c7f9cc0 12459 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
607d0635
AC
12460 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
12461 functions which return True when the corresponding modes are set
12462 (Formal_Language): return "spark" or "alfa" when in formal verification
12463 mode.
12464 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
12465 Error_Msg to prefix the error message with a tag giving the formal
12466 language
12467 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
12468 message with a tag giving the formal language
12469 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
12470 block statement
12471 (Analyze_Case_Statement): issue error in formal mode on case statement
12472 with a single "others" case alternative
12473 (Analyze_Exit_Statement): issue errors in formal mode on exit
12474 statements which do not respect SPARK restrictions
12475 (Analyze_Goto_Statement): issue error in formal mode on goto statement
12476 (Check_Unreachable_Code): always issue an error (not a warning) in
12477 formal mode on unreachable code (concerns both code after an infinite
12478 loop and after an unconditional jump, both not allowed in SPARK)
12479 * sem_ch6.adb (Analyze_Return_Statement): add call to
12480 Set_Return_Present for a procedure containing a return statement
12481 (already done for functions in Analyze_Function_Return)
12482 (Analyze_Function_Return): issue error in formal mode on extended
12483 return or if return is not last statement in function
12484 (Check_Missing_Return): issue error in formal mode if function does
12485 not end with return or if procedure contains a return
12486 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
12487 function to detect if there is an inner scope of its parameter S which
12488 is a loop.
12489
124902011-08-01 Thomas Quinot <quinot@adacore.com>
12491
12492 * sem_ch6.ads: Minor reformatting.
12493
d8b3ccb9
AC
124942011-08-01 Javier Miranda <miranda@adacore.com>
12495
12496 * sem_util.adb (Abstract_Interface_List): Complete condition when
12497 processing private type declarations to avoid reading unavailable
12498 attribute.
12499 (Is_Synchronized_Tagged_Type): Complete condition when processing
12500 private extension declaration nodes to avoid reading unavailable
12501 attribute.
12502
125032011-08-01 Thomas Quinot <quinot@adacore.com>
12504
12505 * sem_ch3.adb: Minor reformatting.
12506
125072011-08-01 Thomas Quinot <quinot@adacore.com>
12508
12509 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
12510 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
12511 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
12512 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
12513 for VMS, instead parametrize the common implementation with
12514 System.Parameters declarations.
12515
0bb9276c
AC
125162011-08-01 Eric Botcazou <ebotcazou@adacore.com>
12517
12518 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
12519
125202011-08-01 Tristan Gingold <gingold@adacore.com>
12521
12522 * seh_init.c: Fix SEH handler installation on win64.
12523
125242011-08-01 Ed Schonberg <schonberg@adacore.com>
12525
12526 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
12527 double analysis of an anonymous access to subprogram, because it can
12528 lead to improper sharing of profiles and a back-end crash.
12529
6a2e4f0b
AC
125302011-08-01 Robert Dewar <dewar@adacore.com>
12531
12532 * make.adb, sem_ch4.adb: Minor reformatting.
12533 * gcc-interface/Make-lang.in: Update dependencies.
12534 * sem_util.adb, exp_ch5.adb: Minor reformatting.
12535
125362011-08-01 Arnaud Charlet <charlet@adacore.com>
12537
12538 * gnat_rm.texi: Fix definition of Long_Integer.
12539
125402011-08-01 Ed Schonberg <schonberg@adacore.com>
12541
12542 * exp_aggr.adb: check limit size of static aggregate unconditionally,
12543 to prevent storage exhaustion.
12544 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
12545 finalized is a function body, insert the cleanup code before the final
12546 return statement, to prevent spurious warnings.
12547 * s-pooglo.ads: add overriding indicator.
12548
4561baf7
ES
125492011-08-01 Ed Schonberg <schonberg@adacore.com>
12550
12551 * sem_ch4.adb (Operator_Check): improve error message when both a
12552 with_clause and a use_clause are needed to make operator usage legal.
12553 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
12554 determine whether a compilation unit is visible within an other,
12555 either through a with_clause in the current unit, or a with_clause in
12556 its library unit or one one of its parents.
12557
383e179e
AC
125582011-08-01 Ed Schonberg <schonberg@adacore.com>
12559
12560 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
12561 over an arbitrary expression of an array or container type.
12562 * lib-xref.adb: clarify comment.
12563
125642011-08-01 Bob Duff <duff@adacore.com>
12565
12566 * einfo.ads: Minor reformatting.
12567 * debug.adb: Minor comment improvement.
12568
125692011-08-01 Javier Miranda <miranda@adacore.com>
12570
12571 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
12572 consider hidden subprograms as valid candidates.
12573
125742011-08-01 Arnaud Charlet <charlet@adacore.com>
12575
12576 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
12577
125782011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
12579
12580 * gnat_ugn.texi: Fix typo.
12581
61c161b2
AC
125822011-08-01 Robert Dewar <dewar@adacore.com>
12583
12584 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
12585 lib-xref.adb: Minor reformatting
12586
125872011-08-01 Gary Dismukes <dismukes@adacore.com>
12588
12589 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
12590 when to generate a call to Move_Final_List.
12591 (Has_Controlled_Parts): Remove this function.
12592
84df40f7
AC
125932011-08-01 Geert Bosch <bosch@adacore.com>
12594
12595 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
12596 "," in choice list.
12597
125982011-08-01 Thomas Quinot <quinot@adacore.com>
12599
12600 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
12601 explicit raise of a predefined exception as Comes_From_Source if the
12602 original N_Raise_Statement comes from source.
12603
126042011-08-01 Robert Dewar <dewar@adacore.com>
12605
12606 * sinfo.ads: Add comment.
12607 * sem_ch6.adb: Minor reformatting.
12608
126092011-08-01 Robert Dewar <dewar@adacore.com>
12610
12611 * freeze.adb (Freeze_Entity): Refine check for bad component size
12612 clause to avoid rejecting confirming clause when atomic/aliased present.
12613
126142011-08-01 Ed Schonberg <schonberg@adacore.com>
12615
12616 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
12617 better determine whether an entity reference is a write.
12618 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
12619 subcomponent.
12620 * lib-xref.adb (Output_References): Do no suppress a read reference at
12621 the same location as an immediately preceeding modify-reference, to
12622 handle properly in-out actuals.
12623
126242011-08-01 Tristan Gingold <gingold@adacore.com>
12625
12626 * env.c (__gnat_setenv) [VMS]: Refine previous change.
12627
126282011-08-01 Quentin Ochem <ochem@adacore.com>
12629
12630 * i-cstrin.adb (New_String): Changed implementation, now uses only the
12631 heap to compute the result.
12632
c7f0d2c0
AC
126332011-08-01 Robert Dewar <dewar@adacore.com>
12634
12635 * atree.ads: Minor reformatting.
12636
126372011-08-01 Emmanuel Briot <briot@adacore.com>
12638
12639 * g-expect.adb (Get_Command_Output): Fix memory leak.
12640
126412011-08-01 Geert Bosch <bosch@adacore.com>
12642
12643 * cstand.adb (P_Float_Type): New procedure to print the definition of
12644 predefined fpt types.
12645 (P_Mixed_Name): New procedure to print a name using mixed case
12646 (Print_Standard): Use P_Float_Type for printing floating point types
12647 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
12648 precision IEEE float.
12649
126502011-08-01 Thomas Quinot <quinot@adacore.com>
12651
12652 * sem_ch3.adb: Minor reformatting.
12653
126542011-08-01 Ed Schonberg <schonberg@adacore.com>
12655
12656 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
12657 the completion of a generic function, insert the new body rather than
12658 rewriting the original.
12659
126602011-08-01 Yannick Moy <moy@adacore.com>
12661
12662 * sinfo.ads, errout.ads: Typos in comments.
12663
1c54829e
AC
126642011-08-01 Robert Dewar <dewar@adacore.com>
12665
12666 * par-endh.adb: Minor reformatting.
12667
126682011-08-01 Robert Dewar <dewar@adacore.com>
12669
12670 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
12671 (Pre_Post_Aspects): New subtype.
12672 * par-ch12.adb (P_Generic): New syntax for aspects in packages
12673 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
12674 * par-ch7.adb (P_Package): Remove Decl parameter
12675 (P_Package): Handle new syntax for aspects (before IS)
12676 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
12677 new aspect syntax
12678 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
12679 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
12680 (P_Package): Remove Decl parameter
12681 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
12682 aspects
12683 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
12684 specs
12685 * sem_util.ads, sem_util.adb (Static_Boolean): New function
12686 * sinfo.ads: Document new syntax for aspects in packages etc.
12687 * sprint.adb: Handle new syntax of aspects before IS in package
12688
126892011-08-01 Thomas Quinot <quinot@adacore.com>
12690
12691 * atree.ads: Minor reformatting.
12692 * sem_prag.adb: Minor reformatting.
12693
126942011-08-01 Robert Dewar <dewar@adacore.com>
12695
12696 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
12697 case expr alternative.
12698
126992011-08-01 Ed Schonberg <schonberg@adacore.com>
12700
12701 * sem_ch12.adb: Fix typo.
12702
9eea4346
GB
127032011-08-01 Geert Bosch <bosch@adacore.com>
12704
12705 * sem_prag.adb (Check_No_Link_Name): New procedure.
12706 (Process_Import_Or_Interface): Use Check_No_Link_Name.
12707 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
12708 instead of Standard_Long_Long_Float_Size global. Preparation for
12709 eventual removal of per type constants.
12710 * exp_util.ads (Get_Stream_Size): New function returning the stream
12711 size value of subtype E.
12712 * exp_util.adb (Get_Stream_Size): Implement new function.
12713 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
12714 function.
12715 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
12716 * einfo.adb:
12717 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
12718
3d6c3bd7
GB
127192011-08-01 Geert Bosch <bosch@adacore.com>
12720
12721 * cstand.adb: Fix comments.
12722 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
12723 count of arguments.
12724
e7d897b8
AC
127252011-08-01 Robert Dewar <dewar@adacore.com>
12726
12727 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
12728
127292011-08-01 Geert Bosch <bosch@adacore.com>
12730
12731 * atree.ads: Fix comment.
12732
c228a069
AC
127332011-08-01 Robert Dewar <dewar@adacore.com>
12734
12735 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
12736 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
12737 * par.adb: Add with for Namet.Sp.
12738 * par-tchk.adb: Minor reformatting.
12739
127402011-08-01 Vincent Celier <celier@adacore.com>
12741
12742 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
12743 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
12744 of the init procedure of a SAL.
12745 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
12746 New procedure.
12747
127482011-08-01 Thomas Quinot <quinot@adacore.com>
12749
12750 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
12751 reformatting.
12752
127532011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12754
12755 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
12756
127572011-08-01 Thomas Quinot <quinot@adacore.com>
12758
12759 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
12760 conformant with its spec (return True only for types that have
12761 an overriding Initialize primitive operation that prevents them from
12762 having preelaborable initialization).
12763 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
12764 initialization for controlled types in Ada 2005 or later mode.
12765
857ade1b
RD
127662011-08-01 Robert Dewar <dewar@adacore.com>
12767
12768 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
12769 Postcondition.
12770 (Same_Aspect): New function.
12771 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
12772 Type_Invariant, Precondition, Postcondition.
12773 * snames.ads-tmpl: Add Name_Type_Invariant.
12774
bd949ee2
RD
127752011-08-01 Robert Dewar <dewar@adacore.com>
12776
12777 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
12778 here.
12779 (Freeze_All_Ent): Fix error in handling inherited aspects.
12780 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
12781 already analyzed, but don't skip entire processing of a declaration,
12782 that's wrong in some cases of declarations being rewritten.
12783 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
12784 Don't delay for integer, string literals
12785 Treat predicates in usual manner for delay, remove special case code,
12786 not needed.
12787 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
12788 (Build_Predicate_Function): Update saved expression in aspect
12789 (Build_Invariant_Procedure): Update saved expression in aspect
12790 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
12791 of replacement of discriminant references if the reference is simple.
12792
f1c952af
RD
127932011-08-01 Robert Dewar <dewar@adacore.com>
12794
12795 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
12796 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
12797 Static_Predicate and Dynamic_Predicate.
12798 (Build_Predicate_Function): Add processing for Static_Predicate
12799 and Dynamic_Predicate.
12800 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
12801 (From_Static_Predicate): New flag
12802 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
12803
128042011-08-01 Robert Dewar <dewar@adacore.com>
12805
12806 * usage.adb: Documentation cleanup for Ada version modes in usage.
12807 * expander.adb: Minor reformatting.
12808
47e11d08
AC
128092011-08-01 Robert Dewar <dewar@adacore.com>
12810
12811 * atree.ads: Minor comment fix.
12812 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
12813 a-witeio.ads, sem_prag.adb: Minor reformatting.
12814
128152011-08-01 Doug Rupp <rupp@adacore.com>
12816
12817 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
12818 pointers. Use descrip.h header file for convenience. Add some
12819 comments.
12820
128212011-08-01 Robert Dewar <dewar@adacore.com>
12822
12823 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
12824 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
12825 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
12826 New procedure.
12827 (Check_Aspect_At_End_Of_Declarations): New procedure
12828 (Analye_Aspect_Specification): Minor changes for above procedures
12829 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
12830 specification node as well.
12831
128322011-08-01 Pascal Obry <obry@adacore.com>
12833
12834 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
12835 Windows files. Use GetFilesAttributes() in this case to check for file
12836 existence instead of returning with an error code.
12837
a3a16b21
VC
128382011-08-01 Vincent Celier <celier@adacore.com>
12839
12840 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
12841 High is above Source length.
12842
ff58cc69
RD
128432011-08-01 Robert Dewar <dewar@adacore.com>
12844
12845 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
12846
6bb88533
AC
128472011-08-01 Robert Dewar <dewar@adacore.com>
12848
12849 * aspects.ads (Boolean_Aspects): New subtype.
12850 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
12851 for derived types in cases where the parent type and derived type have
12852 aspects.
12853 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
12854 with aspects when parent type also has aspects.
12855 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
12856 boolean expression at this point).
12857 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
12858 accordance with final decision on the Ada 2012 feature.
12859 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
12860
128612011-08-01 Matthew Heaney <heaney@adacore.com>
12862
12863 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
12864
060a3f28
AC
128652011-08-01 Pascal Obry <obry@adacore.com>
12866
12867 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
12868 Fix Replace_Slice when High is above current string size.
12869 (Replace_Slice): Fix DL computation when High is above current
12870 string length.
12871
128722011-08-01 Gary Dismukes <dismukes@adacore.com>
12873
12874 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
12875
e7f567a3
AC
128762011-08-01 Matthew Heaney <heaney@adacore.com>
12877
12878 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
12879 of node.
12880
128812011-08-01 Pascal Obry <obry@adacore.com>
12882
12883 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
12884 reformatting.
12885
1a265e78
AC
128862011-08-01 Ed Schonberg <schonberg@adacore.com>
12887
12888 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
12889 access to protected subprograms in generic bodies.
12890 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
12891 protected type, indicate that the convention of the subprogram is
12892 Convention_Protected, because it may be used in subsequent declarations
12893 within the protected declaration.
12894
128952011-08-01 Vincent Celier <celier@adacore.com>
12896
12897 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
12898 and "final" procedures when the name of the library is "ada", to avoid
12899 duplicate symbols "adainit" and "adafinal" in executables.
12900
67e28ef8
ES
129012011-08-01 Ed Schonberg <schonberg@adacore.com>
12902
12903 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
12904 quantified expression that appears within a postcondition and uses the
12905 Ada2012 'Result attribute.
12906
6da2ca7d
RO
129072011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12908
12909 * init.c (__gnat_error_handler): Cast reason to int.
12910 (__gnat_install_handler): Explain sa_sigaction use.
12911
7d5997c6
EB
129122011-07-24 Eric Botcazou <ebotcazou@adacore.com>
12913
12914 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
12915 subprogram has copy-in copy-out parameters, try to promote the mode of
12916 the return type if it is passed in registers.
12917
4b4cfdd5
EB
129182011-07-24 Eric Botcazou <ebotcazou@adacore.com>
12919
12920 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
12921 left operand as addressable.
12922
f3d34576
EB
129232011-07-24 Eric Botcazou <ebotcazou@adacore.com>
12924
12925 * gcc-interface/gigi.h (build_function_stub): Remove.
12926 (build_return_expr): Likewise.
12927 (convert_vms_descriptor): Declare.
12928 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
12929 (build_function_stub): Move to...
12930 * gcc-interface/utils2.c (build_return_expr): Move to...
12931 * gcc-interface/trans.c (build_function_stub): ...here.
12932 (build_return_expr): ...here.
12933 (Subprogram_Body_to_gnu): Add local variable for language_function.
12934 Disconnect the parameter attributes cache, if any, once done with it.
12935 Call end_subprog_body only after setting the end_locus.
12936 Build the stub associated with the function, if any, at the very end.
12937 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
12938 variables and streamline control flow.
12939
0a6ecc08
AC
129402011-07-23 Arnaud Charlet <charlet@adacore.com>
12941
12942 PR ada/49819
12943 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
12944 g-trasym-dwarf.adb.
12945
5b6d595b
RO
129462011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12947
12948 PR bootstrap/49794
12949 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
12950 Assign to act.sa_sigaction.
12951 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
12952 current->return_address to char * before arithmetic.
12953
94017021
RO
129542011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12955
12956 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
12957 Correct argument types.
12958 Extract code from reason.
12959 (__gnat_install_handler): Assign to act.sa_sigaction.
12960
52fd02bb
EB
129612011-07-21 Eric Botcazou <ebotcazou@adacore.com>
12962
12963 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
12964 (GNAT1_OBJS): ...here.
12965
f39a9ca2
EB
129662011-07-15 Eric Botcazou <ebotcazou@adacore.com>
12967
12968 PR ada/48711
12969 * g-socthi-mingw.adb (Fill): Fix formatting.
12970
9e36aa23
EB
12971 * gcc-interface/gigi.h: Move around comment.
12972
e3aca522
JDA
129732011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12974
12975 PR ada/46350
12976 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
12977
696b1960
FW
129782011-07-14 Florian Weimer <fw@deneb.enyo.de>
12979
12980 PR ada/48711
12981 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
12982
f542c405
EB
129832011-07-13 Eric Botcazou <ebotcazou@adacore.com>
12984
12985 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
12986 range comparison if Pmode is SImode.
12987
9e9bd455
LG
129882011-07-12 Laurent GUERBY <laurent@guerby.net>
12989 Eric Botcazou <ebotcazou@adacore.com>
12990
12991 * adadecode.c: Wrap up in extern "C" block.
12992 * adadecode.h: Likewise.
12993 * adaint.c: Likewise. Remove 'const' keyword.
12994 * adaint.h: Likewise.
12995 * argv.c: Likewise.
12996 * atree.h: Likewise.
12997 * cio.c: Likewise.
12998 * cstreams.c: Likewise.
12999 * env.c: Likewise.
13000 * exit.c: Likewise.
13001 * fe.h: Likewise.
13002 * final.c: Likewise.
13003 * init.c: Likewise.
13004 * initialize.c: Likewise.
13005 * link.c: Likewise.
13006 * namet.h: Likewise.
13007 * nlists.h: Likewise.
13008 * raise.c: Likewise.
13009 * raise.h: Likewise.
13010 * repinfo.h: Likewise.
13011 * seh_init.c: Likewise.
13012 * targext.c: Likewise.
13013 * tracebak.c: Likewise.
13014 * uintp.h: Likewise.
13015 * urealp.h: Likewise.
13016 * xeinfo.adb: Wrap up generated C code in extern "C" block.
13017 * xsinfo.adb: Likewise.
13018 * xsnamest.adb: Likewise.
13019 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
13020 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
13021 * gcc-interface/misc.c: Likewise.
13022 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
13023 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
13024 ada/targext.o here...
13025 (GNAT_ADA_OBJS): ...and not here.
13026 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
13027 (GNATBIND_OBJS): Reorder.
13028
7644b3c7
RH
130292011-07-07 Richard Henderson <rth@redhat.com>
13030
13031 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
13032 dwarf2out_frame_init.
13033
8384ac41
EB
130342011-07-07 Eric Botcazou <ebotcazou@adacore.com>
13035
13036 * gcc-interface/misc.c (gnat_init): Tweak previous change.
13037
fbdd5d87
RO
130382011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13039
13040 PR target/39150
13041 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
13042
1a072294
RG
130432011-07-06 Richard Guenther <rguenther@suse.de>
13044
8384ac41
EB
13045 * gcc-interface/misc.c (gnat_init): Merge calls to
13046 build_common_tree_nodes and build_common_tree_nodes_2.
1a072294
RG
13047 Re-initialize boolean_false_node.
13048
bc712852
EB
130492011-07-02 Eric Botcazou <ebotcazou@adacore.com>
13050 Olivier Hainque <hainque@adacore.com>
13051 Nicolas Setton <setton@adacore.com>
13052
13053 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
13054 the type according to the ARTIFICIAL_P parameter.
13055 (create_type_decl): Likewise.
13056 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
13057
2eb22389
EB
130582011-07-01 Eric Botcazou <ebotcazou@adacore.com>
13059
13060 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
13061 (gnatbind): Likewise.
13062
4bdaaf2f
RO
130632011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13064
13065 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
13066
c020c92b
EB
130672011-06-18 Eric Botcazou <ebotcazou@adacore.com>
13068
13069 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
13070 local variable throughout. Remove useless call to Base_Type.
13071 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
13072 Take it also into account for the volatileness of the field. Set the
13073 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
13074
96769d32
EB
130752011-06-18 Eric Botcazou <ebotcazou@adacore.com>
13076
13077 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
13078 on a dereference built for a by-ref object if it has an address clause.
13079
7e4680c1
EB
130802011-06-18 Eric Botcazou <ebotcazou@adacore.com>
13081
13082 * einfo.ads (Address_Taken): Document use for the second argument of
13083 Asm_Input and Asm_Output attributes.
13084 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
13085 argument is an entity name, then set Address_Taken on it.
13086 <Attribute_Asm_Output>: Likewise.
13087 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
13088 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
13089 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
13090 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
13091
130922011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
d5cc9181
JR
13093
13094 PR middle-end/46500
13095 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
13096
677f3fa8
JM
130972011-06-14 Joseph Myers <joseph@codesourcery.com>
13098
13099 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
13100 (ada/utils.o): Update dependencies.
13101 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
13102 ../../../libcpp/libcpp.a.
13103 * gcc-interface/utils.c: Include common/common-target.h.
13104 (process_attributes): Use targetm_common.have_named_sections.
13105
009db074
RG
131062011-06-07 Richard Guenther <rguenther@suse.de>
13107
0bad0e23
EB
13108 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
13109 set_sizetype.
009db074 13110
3bfc61cf
EB
131112011-06-06 Eric Botcazou <ebotcazou@adacore.com>
13112
0bad0e23 13113 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
3bfc61cf
EB
13114 TREE_THIS_NOTRAP flag.
13115
5c4a1c7b
EB
131162011-06-06 Eric Botcazou <ebotcazou@adacore.com>
13117
13118 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
13119 Fix thinko.
13120
e9f57686
EB
131212011-06-06 Eric Botcazou <ebotcazou@adacore.com>
13122
13123 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
13124 constants whose full view has discriminants specially.
13125
10e4d056
EB
131262011-06-06 Eric Botcazou <ebotcazou@adacore.com>
13127
13128 * gcc-interface/utils.c: Include diagnostic.h.
13129 (gnat_write_global_declarations): Output debug information for all
13130 global type declarations before finalizing the compilation unit.
13131 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
13132
0957c029
JJ
131332011-05-25 Jakub Jelinek <jakub@redhat.com>
13134
13135 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
13136
52d0a7ac
KT
131372011-05-25 Kai Tietz <ktietz@redhat.com>
13138
13139 * adaint.c (__gnat_to_canonical_file_list_next): Use array
13140 initialization instead of const/none-const pointer assignment.
13141
1ed1641d
JM
131422011-05-24 Joseph Myers <joseph@codesourcery.com>
13143
13144 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
13145 $(EXTRA_GNAT1_OBJS).
13146 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
13147 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
13148 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
13149 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
13150 libcommon-target.a instead of prefix.o.
13151
9fe72ebd
JM
131522011-05-21 Joseph Myers <joseph@codesourcery.com>
13153
13154 PR ada/49097
0bad0e23 13155 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
9fe72ebd 13156
2691e6d7
JM
131572011-05-20 Joseph Myers <joseph@codesourcery.com>
13158
0bad0e23
EB
13159 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
13160 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
13161 instead of version.o.
2691e6d7 13162
bf6490b5
KT
131632011-05-18 Kai Tietz <ktietz@redhat.com>
13164
13165 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
13166 boolean_false_node instead of integer_zero_node.
13167 (convert_with_check): Likewise.
13168 * gcc-interface/decl.c (choices_to_gnu): Likewise.
13169
7bf9a5ac
EB
131702011-05-12 Eric Botcazou <ebotcazou@adacore.com>
13171
13172 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
13173 type of the parameter is an unconstrained array, convert the actual to
13174 the type of the formal in the In Out and Out cases as well.
13175
e5b00edf
NF
131762011-05-11 Nathan Froyd <froydnj@codesourcery.com>
13177
13178 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
13179 call build_function_type_array or build_varargs_function_type_array
13180 instead.
13181 (create_subprog_type): Don't call build_function_type; call
13182 build_function_type_vec instead.
13183
51545682
NF
131842011-05-11 Nathan Froyd <froydnj@codesourcery.com>
13185
13186 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
13187 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
13188 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
13189
c99c0026
EB
131902011-05-07 Eric Botcazou <ebotcazou@adacore.com>
13191
f620bd21
EB
13192 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
13193
c99c0026
EB
13194 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
13195 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
13196
3d528853
NF
131972011-05-05 Nathan Froyd <froydnj@codesourcery.com>
13198
c99c0026 13199 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
3d528853 13200
d7d058c5
NF
132012011-05-05 Nathan Froyd <froydnj@codesourcery.com>
13202
13203 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
13204 instead of accessing TYPE_ARG_TYPES directly.
13205 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
13206
805e60a0
EB
132072011-05-05 Eric Botcazou <ebotcazou@adacore.com>
13208
13209 PR ada/48844
13210 * gcc-interface/gigi.h (get_variant_part): Declare.
13211 * gcc-interface/decl.c (get_variant_part): Make global.
13212 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
13213 types have the same constant size, are record types and T1 has a
13214 variant part while T2 doesn't.
13215
907a08d9
EB
132162011-05-05 Eric Botcazou <ebotcazou@adacore.com>
13217
13218 * gcc-interface/utils.c (begin_subprog_body): Do not call
13219 get_pending_sizes.
13220 (end_subprog_body): Likewise.
13221
d35936ab
RG
132222011-05-04 Richard Guenther <rguenther@suse.de>
13223
13224 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
13225 int_const_binop.
13226 (pos_to_constructor): Likewise.
13227
c1fd8753 132282011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2c7f9cc0 13229 Eric Botcazou <ebotcazou@adacore.com>
c1fd8753
NF
13230
13231 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
13232 of build_function_type. Adjust calls to...
13233 (build_raise_check): ...this. Do not take a void_tree parameter.
13234 Call build_function_type_list instead of build_function_type.
13235 Fix head comment and swap couple of conditional blocks.
13236
4fb87d2b
EB
132372011-04-30 Eric Botcazou <ebotcazou@adacore.com>
13238
13239 * gnatvsn.ads (Library_Version): Bump to 4.7.
13240 (Current_Year): Bump to 2011.
13241
fa5e5a76
MM
132422011-04-29 Michael Matz <matz@suse.de>
13243
13244 * gcc-interface/misc.c (gnat_handle_option): Set
13245 warn_maybe_uninitialized.
13246
8d6a2f69
GP
132472011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
13248
13249 * gnat_ugn.texi (Complexity Metrics Control): Update link to
13250 the Watson/McCabe paper.
13251
770937fd
JM
132522011-04-23 Jim Meyering <meyering@redhat.com>
13253
13254 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
13255
eb601ae1
EB
132562011-04-22 Eric Botcazou <ebotcazou@adacore.com>
13257
13258 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
13259 onto the new type.
13260
7d7fcb08
EB
132612011-04-22 Eric Botcazou <ebotcazou@adacore.com>
13262
13263 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
13264 parameter.
13265 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
13266 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
13267 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
13268 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
13269 <all>: Do not set flags on the reused DECL node coming from an alias.
13270 Set DECL_IGNORED_P on the DECL node built for subprograms if they
13271 don't need debug info here...
13272 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
13273 (gigi): Adjust calls to create_subprog_decl.
13274 (build_raise_check): Likewise.
13275 (establish_gnat_vms_condition_handler): Likewise.
13276 (Compilation_Unit_to_gnu): Likewise.
13277 (gnat_to_gnu): Likewise.
13278
e1876cac
EB
132792011-04-21 Eric Botcazou <ebotcazou@adacore.com>
13280
13281 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
13282 (NO_REORDER_ADAFLAGS): New variable.
13283 (EXTRA_GNATTOOLS): Always define.
13284 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
13285 Clean up and adjust list of files compiled with special options.
13286 * gcc-interface/Make-lang.in: Likewise.
13287 (ada/decl.o): Cosmetical change.
13288 (ada/misc.o): Remove dependency on $(PLUGIN_H).
13289
04695783
JM
132902011-04-20 Jim Meyering <meyering@redhat.com>
13291
13292 * initialize.c (__gnat_initialize): Remove useless if-before-free.
13293
23399579
EB
132942011-04-17 Eric Botcazou <ebotcazou@adacore.com>
13295
13296 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
13297 $(CFLAGS) on the link line.
13298
51c5169c
EB
132992011-04-17 Eric Botcazou <ebotcazou@adacore.com>
13300
13301 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
13302 padded type built for the return type if it is unconstrained.
13303
61e46a7d
NF
133042011-04-14 Nathan Froyd <froydnj@codesourcery.com>
13305
13306 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
13307
81f653d6
NF
133082011-04-12 Nathan Froyd <froydnj@codesourcery.com>
13309
b4867846
EB
13310 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
13311 before calling TREE_CHAIN.
81f653d6
NF
13312 * gcc-interface/misc.c (gnat_init_ts): New function.
13313 (LANG_HOOKS_INIT_TS): Define.
13314
a358e188
MJ
133152011-04-12 Martin Jambor <mjambor@suse.cz>
13316
b4867846
EB
13317 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
13318 instead of cgraph_node.
a358e188 13319
29b1c5a4
EB
133202011-04-08 Eric Botcazou <ebotcazou@adacore.com>
13321
13322 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
13323 alignment on fields of the RETURN type built for the Copy-In Copy-Out
13324 mechanism.
13325
88872b00
EB
133262011-04-08 Eric Botcazou <ebotcazou@adacore.com>
13327
13328 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
13329 of aggregate types that contain a placeholder.
13330
dcf0c47e
NF
133312011-04-08 Nathan Froyd <froydnj@codesourcery.com>
13332
13333 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
b4867846 13334 TYPE_ARG_TYPES.
dcf0c47e
NF
13335 (handle_type_generic_attribute): Likewise.
13336
53e3000c
EB
133372011-04-04 Eric Botcazou <ebotcazou@adacore.com>
13338
13339 PR ada/47163
13340 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
13341
ab380bb4
KT
133422011-04-04 Kai Tietz <ktietz@redhat.com>
13343
13344 PR ada/47163
0bad0e23
EB
13345 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
13346 to flag value.
ab380bb4 13347
8ffac116
EB
133482011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13349
13350 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
13351 type case, do not strip a padding type around the array type.
13352
de9528f0
EB
133532011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13354
13355 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
13356 types.
13357
d9d7a26c
EB
133582011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13359
13360 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
13361 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
de9528f0 13362 code for -feliminate-unused-debug-types.
d9d7a26c
EB
13363 (gnat_post_options): Likewise.
13364
4cb12a90
EB
133652011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13366
13367 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
13368 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
13369 distinct copy.
13370
acccc61c
EB
133712011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13372
13373 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
13374 DECL_ARTIFICIAL flag on enumeration types.
13375
583eb0c9
EB
133762011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13377
13378 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
13379 fat pointer types artificial unconditionally.
13380 <E_Array_Subtype>: Attach the base array type as a parallel type if it
13381 isn't artificial.
13382
e3edbd56
EB
133832011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13384
13385 * gcc-interface/gigi.h (get_dummy_type): Declare.
13386 (build_dummy_unc_pointer_types): Likewise.
13387 (finish_fat_pointer_type): Likewise.
13388 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
13389 fat pointer type has been built, complete it in place.
13390 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
13391 and thin pointers. Remove useless variable.
13392 (finish_fat_pointer_type): Make global and move to...
13393 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
13394 (get_dummy_type): New function.
13395 (build_dummy_unc_pointer_types): Likewise.
13396 (gnat_pushdecl): Propage the name to the anonymous variants only.
13397 (update_pointer_to): Only adjust the pointer types in the unconstrained
13398 array case.
13399
65444786
EB
134002011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13401
13402 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
13403 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
13404 if this is a Taft amendment type and the full declaration is available.
13405 * gcc-interface/trans.c (process_type): Likewise.
13406 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
13407 (process_freeze_entity): Likewise.
13408 * gcc-interface/utils.c (dummy_global): New static variable.
13409 (gnat_write_global_declarations): If there are types declared as used
13410 at the global level, insert them in the global hash table.
13411
1aeb40dd
EB
134122011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13413
13414 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
13415 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
13416 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
13417 copy.
13418 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
13419 flag of the type accordingly.
13420 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
13421
80ec8b4c
EB
134222011-04-02 Eric Botcazou <ebotcazou@adacore.com>
13423
13424 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
13425 finalizing types when updating the pointers to the designated type.
13426 <all>: Finalize the deferred types even if we didn't defer processing
13427 of incomplete types in this invocation.
13428
2a9d769a 134292011-04-01 Olivier Hainque <hainque@adacore.com>
2c7f9cc0
AS
13430 Nicolas Setton <setton@adacore.com>
13431 Eric Botcazou <ebotcazou@adacore.com>
2a9d769a
OH
13432
13433 * gcc-interface/misc.c (gnat_descriptive_type): New function.
13434 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
13435
2438d7a6
KT
134362011-03-28 Kai Tietz <ktietz@redhat.com>
13437
333d8aff 13438 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
80ec8b4c
EB
13439 Windows targets.
13440 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
13441 * system-mingw.ads (System): Change ZCX_By_Default default to True.
333d8aff 13442
80ec8b4c 13443 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
2438d7a6 13444
8ad150f6
TG
134452011-03-28 Tristan Gingold <gingold@adacore.com>
13446
13447 PR ada/44431
80ec8b4c
EB
13448 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
13449 Use ada output of gnatbind.
8ad150f6
TG
13450 (ada/b_gnatb.adb): Ditto.
13451 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
13452 (ada.mostlyclean, ada.stage1)
13453 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
13454 (ada.stagefeedback): Adjust.
80ec8b4c 13455 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
8ad150f6
TG
13456 Use ada output of gnatbind.
13457 (b_gnatm.adb): Ditto.
13458 (b_gnatl.o, b_gnatm.o): New rules.
13459
51c7954d
EB
134602011-03-26 Eric Botcazou <ebotcazou@adacore.com>
13461
13462 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
13463 for the padded type built to support a specified size or alignment.
13464
6ddf9843
EB
134652011-03-26 Eric Botcazou <ebotcazou@adacore.com>
13466
13467 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
13468 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
13469 unconditionally to the end of the unit when the designated type is
13470 limited_with'ed.
13471 <all>: Rename local variable. Attempt to un-defer types only and do it
13472 for limited_with'ed types as well.
13473 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
13474 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
13475 consistently and remove redundant call to finalize_from_with_types.
13476
5daed84a
EB
134772011-03-26 Eric Botcazou <ebotcazou@adacore.com>
13478
13479 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
13480 subprograms without a previous spec declared in the same unit.
13481 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
13482 subprograms at the end of the unit instead of at the beginning.
13483 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
13484 isn't public for the special handling of non-inline functions nested
13485 inside inline external functions.
13486
0edf1bb2
JL
134872011-03-25 Jeff Law <law@redhat.com>
13488
5daed84a 13489 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
0edf1bb2 13490
e3c4580e
EB
134912011-03-24 Eric Botcazou <ebotcazou@adacore.com>
13492
13493 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
13494 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
13495 to compute Set_Size_Depends_On_Discriminant.
13496 (Layout_Type): Call it on array types in back-end layout mode.
13497 * sem_util.adb (Requires_Transient_Scope): Return true for array
13498 types only if the size depends on the value of discriminants.
13499 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
13500 type if the RHS is a call to a function that returns an unconstrained
13501 type with default discriminant.
13502
abbc8c7b
EB
135032011-03-24 Eric Botcazou <ebotcazou@adacore.com>
13504
13505 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
13506 non-conversion to the nominal result type at the end.
13507
ddb5a105
EB
135082011-03-23 Eric Botcazou <ebotcazou@adacore.com>
13509
13510 * gcc-interface/trans.c (create_temporary): New function taken from...
13511 (create_init_temporary): ...here. Call it.
13512 (call_to_gnu): Create the temporary for the return value early, if any.
13513 Create it for a function with copy-in/copy-out parameters if there is
13514 no target; in other cases of copy-in/copy-out, use another temporary.
13515 Push the new binding level lazily. Add and rename local variables.
13516
0d853156
EB
135172011-03-23 Eric Botcazou <ebotcazou@adacore.com>
13518
13519 * gcc-interface/decl.c (validate_size): Improve comments and tweak
13520 error message.
13521 (set_rm_size): Likewise.
13522
4184ef1b
EB
135232011-03-23 Eric Botcazou <ebotcazou@adacore.com>
13524
13525 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
13526 for the padded type built in order to support a specified alignment.
13527 Fix incorrect formatting.
13528
bf7eefab
EB
135292011-03-21 Eric Botcazou <ebotcazou@adacore.com>
13530
13531 PR bootstrap/48216
13532 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
13533
ef0feeb2
EB
135342011-03-21 Eric Botcazou <ebotcazou@adacore.com>
13535
13536 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
13537 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
13538 to the end of the list. Adjust recursive call. Rename local variable.
13539 If REORDER is true, reorder components of the record type.
13540 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
13541 components_to_record and adjust the parameter list.
13542
646f9414
EB
135432011-03-21 Eric Botcazou <ebotcazou@adacore.com>
13544
13545 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
13546 disabled, use the variable for bounds of loop iteration scheme.
13547
62d784f7
KT
135482011-03-21 Kai Tietz <ktietz@redhat.com>
13549
13550 PR target/12171
0bad0e23 13551 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
62d784f7 13552
f230d759
EB
135532011-03-17 Eric Botcazou <ebotcazou@adacore.com>
13554
13555 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
13556 out whether the expression is read-only. Short-circuit placeholder
13557 case and rename a couple of local variables.
13558
bb1f7929
EB
135592011-03-17 Eric Botcazou <ebotcazou@adacore.com>
13560
13561 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
13562 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
13563 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
13564 (convert): Deal with conversions from a smaller form type specially.
13565
400a2d24
EB
135662011-02-14 Eric Botcazou <ebotcazou@adacore.com>
13567
13568 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
13569 its argument, except for the special -I- switch.
13570
c26bc3ad
GP
135712011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
13572
0bad0e23
EB
13573 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
13574 "Ada Issues".
c26bc3ad 13575
07b8e910
EB
135762011-02-08 Eric Botcazou <ebotcazou@adacore.com>
13577
13578 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
13579
31a5a547
EB
135802011-02-03 Eric Botcazou <ebotcazou@adacore.com>
13581
13582 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
13583 GNAT_FORMAL.
13584 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
13585 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
13586 instead of GNAT_FORMAL. Protect the expression against multiple uses.
13587 Do not generate the check directly, instead instantiate the template
13588 check present in the descriptor.
13589 (make_descriptor_field): Move around.
13590 (build_vms_descriptor32): Build a template check in the POINTER field.
13591 (build_vms_descriptor): Remove useless suffixes.
13592 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
13593
dcf25f59
EB
135942011-01-26 Eric Botcazou <ebotcazou@adacore.com>
13595
13596 PR bootstrap/47467
13597 * targext.c: Include target files if IN_RTS is defined.
13598
0418e131
RG
135992011-01-26 Richard Guenther <rguenther@suse.de>
13600
13601 PR bootstrap/47467
13602 * targext.c: Include config.h.
13603 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
13604 dependency.
13605
c6eecbd8 136062011-01-04 Pascal Obry <obry@adacore.com>
2c7f9cc0 13607 Eric Botcazou <ebotcazou@adacore.com>
c6eecbd8
PO
13608
13609 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
13610
2d3c7e4f
EB
136112011-01-04 Eric Botcazou <ebotcazou@adacore.com>
13612
13613 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
13614 end-of-case on the end label and its associated gotos, if any.
13615
0394741f
EB
136162011-01-04 Eric Botcazou <ebotcazou@adacore.com>
13617
13618 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
13619 expressions of the parameter cache within the statement group of
13620 the CICO mechanism.
13621
2a02d090 136222011-01-04 Olivier Hainque <hainque@adacore.com>
2c7f9cc0 13623 Eric Botcazou <ebotcazou@adacore.com>
2a02d090
OH
13624
13625 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
13626 (set_end_locus_from_node): New function.
13627 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
13628 make and the function end_locus.
13629 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
13630 for the elaboration subprogram.
13631 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
13632 set the end_locus of the expression as well.
13633
89f5e978
EB
136342011-01-04 Eric Botcazou <ebotcazou@adacore.com>
13635
13636 PR ada/47131
13637 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
13638 variables that are referenced in exception handlers volatile.
13639
13640
ad41bd84 13641\f
797103eb 13642Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
13643
13644Copying and distribution of this file, with or without modification,
13645are permitted in any medium without royalty provided the copyright
13646notice and this notice are preserved.