]> gcc.gnu.org Git - gcc.git/blame - gcc/ada/ChangeLog
re PR fortran/35423 (Implement OpenMP workshare)
[gcc.git] / gcc / ada / ChangeLog
CommitLineData
2907036d
TQ
12009-04-20 Thomas Quinot <quinot@adacore.com>
2
3 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
4 s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
5 g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
6 since HP-UX supports neither inet_aton nor inet_pton (altough the
7 latter is part of the Single UNIX Specification!).
8 So reorganize code, and share C implementation based on inet_addr(3)
9 with VMS (instead of having a VMS specific Ada implementation in
10 g-socthi-vms.adb).
11
d5063351
AC
122009-04-20 Gary Dismukes <dismukes@adacore.com>
13
14 * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
15 to return the object file name saved by Set_Object_Output_File_Name.
16
172009-04-20 Emmanuel Briot <briot@adacore.com>
18
19 * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
20 for the standard command line, when argc has been modified since the
21 start of the application.
22
232009-04-20 Thomas Quinot <quinot@adacore.com>
24
25 * socket.c (__gnat_inet_pton, Windows case): Adjust return value.
26 WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.
27
3edf2f76
AC
282009-04-20 Bob Duff <duff@adacore.com>
29
30 * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
31 pragma Debug.
32
332009-04-20 Ed Schonberg <schonberg@adacore.com>
34
35 * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
36 subprogram as Eliminated when source operation is.
37 (Expand_N_Protected_Type_Declaration): Generate protected and
38 unprotected specs for the internal operations, even if the source
39 operation is eliminated.
40
412009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
42
43 * exp_ch3.adb (Make_Predefined_Primitive_Specs,
44 Predefined_Primitive_Bodies): Do not create the declarations and bodies
45 of the primitive subprograms associated with dispatching select
46 statements when the runtime is in configurable mode.
47
482009-04-20 Ed Falis <falis@adacore.com>
49
50 * s-vxwext-kernel.ads (tickGet): Use tick64Get.
51
4fd1e8b0
AC
522009-04-20 Thomas Quinot <quinot@adacore.com>
53
54 * s-oscons-tmplt.c: Add support for generating a dummy version of
55 s-oscons.ads providing all possible constants.
56
57 * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.
58
59 * socket.c (__gnat_inet_pton): On Windows make sure we always use the
60 ANSI version (not the UNICODE version) of WSAStringToAddress.
61
622009-04-20 Pascal Obry <obry@adacore.com>
63
64 * adaint.c (__gnat_set_OWNER_ACL): properly free memory
65 allocated for the security descriptor and make sure all
66 handles are closed before leaving this procedure.
67
9013065b
AC
682009-04-20 Javier Miranda <miranda@adacore.com>
69
70 * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
71 (Set_Is_Underlying_Record_View): New subprogram
72
73 * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
74 private types with unknown discriminants use the underlying record view
75 if available.
76
77 * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
78 underlying record view in the full view of private types whose parent
79 has unknown discriminants.
80 (Build_Derived_Record_Type): Avoid generating the class-wide entity
81 associated with an underlying record view.
82 (Derived_Type_Declaration): Avoid deriving parent primitives in
83 underlying record views.
84
85 * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
86 records with unknown discriminants.
87
88 * sem_type.adb (Covers): Handle underlying record views.
89 (Is_Ancestor): Add support for underlying record views.
90
91 * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
92 dispatching call if the type of the target object is tagged and has
93 unknown discriminants.
94
95 * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
96 unknown discriminants.
97
98 * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
99 tables for internally built underlying record views.
100
101 * sprint.adb (sprint_node_actual): Improve output of aggregates with an
102 empty list of component associations.
103
1042009-04-20 Thomas Quinot <quinot@adacore.com>
105
106 * sem_ch10.adb: Minor reformatting
107
108 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
109 g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
110 (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
111 standard inet_pton API (and emulate it on platforms that do not
112 support it).
113 (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
114 DECC$INET_ADDR, imported in Ada.
115 (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
116 implementation provided by GNAT runtime.
117 (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
118 Windows.
119
7289b80c
AC
1202009-04-20 Eric Botcazou <ebotcazou@adacore.com>
121
122 * gnat_ugn.texi: Add documentation for -fno-ivopts.
123
1242009-04-20 Ed Schonberg <schonberg@adacore.com>
125
126 * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
127 with_clause if it is the main unit.
128
c09a557e
AC
1292009-04-20 Thomas Quinot <quinot@adacore.com>
130
131 * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
132 (no behaviour change): Use Append instead of Increment_Last followed
133 by assignment.
134
1352009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
136
137 * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
138 declarations of all primitives associated with dispatching asynchronous,
139 conditional and timed selects when dispaching calls are forbidden and
140 select statements are not allowed (such as in Ravenscar).
141 (Predefined_Primitive_Bodies): Ditto for bodies.
142
143 * exp_disp.ad (Make_DT): Do not create and populate the
144 Select_Specific_Data of the dispatch table when dispatching calls are
145 forbidden and select statements are not allowed (such as in Ravenscar).
146
1472009-04-20 Robert Dewar <dewar@adacore.com>
148
149 * a-tifiio.adb: Minor reformatting
150
1512009-04-20 Thomas Quinot <quinot@adacore.com>
152
153 * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
154 other C library functions, report *failure* with a zero status, and
155 success with a non-zero status.
156
1572009-04-20 Bob Duff <duff@adacore.com>
158
159 * sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
160 (Semantics): After analyzing each unit, Append it to the
161 Comp_Unit_List, if appropriate.
162
163 * gnat1drv.adb (Check_Library_Items): New procedure for debugging
164 purposes.
165 (Gnat1drv): Correct comment regarding Back_End_Mode.
166
1672009-04-20 Eric Botcazou <ebotcazou@adacore.com>
168
169 * gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
170
7e728b0f
TQ
1712009-04-20 Thomas Quinot <quinot@adacore.com>
172
173 * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
174 output.adb, output.ads, s-taprop-hpux-dce.adb,
175 s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
176 reformatting.
177
5e39baa6
TQ
1782009-04-20 Thomas Quinot <quinot@adacore.com>
179
180 * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
181 g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
182 (GNAT.Sockets.Thin.C_Inet_Addr): Remove.
183 (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
184 except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
185 (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).
186
187 * debug.adb: Fix typo
188
189 * gnat_rm.texi: Minor doc fix.
190
191 * sem_ch7.adb, freeze.adb: Minor reformatting
192
3568b271
AC
1932009-04-20 Thomas Quinot <quinot@adacore.com>
194
195 * g-socket.ads: Add new constants:
196 Loopback_Inet_Addr
197 Unspecified_Group_Inet_Addr
198 All_Hosts_Group_Inet_Addr
199 All_Routers_Group_Inet_Addr
200
201 * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
202 ERANGE (Result too large).
203 (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
204 propagation of errno to caller.
205
2062009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
207
208 * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
209 to 24. Increment Leap_Seconds_Count and add an entry to aggregate
210 Leap_Second_Times.
211
2122009-04-20 Gary Dismukes <dismukes@adacore.com>
213
214 * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
215 checking for references to eliminated subprograms that should be
216 flagged.
217 (Eliminate_Error_Message): Update comment to say "references" rather
218 than "calls" (since attribute cases are handled here as well).
219
220 * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
221 checking for references to eliminated subprograms that should be
222 flagged. Add with and use of Sem and Sem_Util.
223
224 * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
225 Add with and use of Sem_Elim.
226
227 * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
228 applied to eliminated subprograms.
229 (Analyze_Attribute): Reject 'Address and 'Code_Address applied to
230 eliminated subprograms.
231 Add with and use of Sem_Elim.
232
233 * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
234 to eliminated subprograms, now handled during Resolve_Call.
235 Remove with and use of Sem_Elim.
236
237 * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
238 testing Is_Eliminated, for proper handling of primitive derived from
239 eliminated subprograms.
240
2412009-04-20 Vincent Celier <celier@adacore.com>
242
243 * mlib-prj.adb (Build_Library): Use the shared library linker, if one
244 has been declared (Library_GCC or Linker'Driver), for the driver name.
245
246 * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
247 Linker'Driver is, use Linker'Driver as the shared library linker.
248 (Process_Project_Level_Simple_Attributes): Issue a warning if attribute
249 Library_GCC is declared.
250 (Check_Library_Attributes): Set up the shared linker driver: either
251 Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
252 declared.
253
6e55ac7a
TQ
2542009-04-20 Thomas Quinot <quinot@adacore.com>
255
256 * g-socket.ads (Send_Socket): Fix misleading comment.
257
68218f7c
AC
2582009-04-20 Arnaud Charlet <charlet@adacore.com>
259
260 * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
261 ASIS mode.
262
2632009-04-20 Geert Bosch <bosch@adacore.com>
264
265 * a-tifiio.adb (Put): Avoid generating too many digits for certain
266 fixed types with smalls that are neither integer or the reciprocal
267 of an integer.
268
2692009-04-20 Bob Duff <duff@adacore.com>
270
271 * uname.ads: Minor comment fix.
272
273 * types.ads: Minor comment fix.
274
262991d8
PO
2752009-04-20 Pascal Obry <obry@adacore.com>
276
277 * adaint.c (__gnat_get_libraries_from_registry): Fix code to
278 avoid warning. At the same time fix a memory leak.
279
280 * osint.adb (Get_Libraries_From_Registry): Properly free memory
281 returned by the above routine.
282
d0f8d157
AC
2832009-04-20 Robert Dewar <dewar@adacore.com>
284
285 * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
286 s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
287 s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
288 s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.
289
290 * exp_ch4.adb (Expand_Concatenate): Minor code reorganization
291
2922009-04-20 Pascal Obry <obry@adacore.com>
293
294 * initialize.c (__gnat_initialize): Add braces to kill warning.
295
262991d8 296 * adaint.c: Minor reformatting, remove trailing spaces.
d0f8d157 297
34c25b32
AC
2982009-04-17 Arnaud Charlet <charlet@adacore.com>
299
300 * gcc-interface/Make-lang.in: Update dependencies.
301
9549767b
AC
3022009-04-20 Eric Botcazou <ebotcazou@adacore.com>
303
304 * adaint.h (__gnat_lwp_self): Declare on Linux.
305
306 * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.
307
3082009-04-20 Robert Dewar <dewar@adacore.com>
309
310 * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
311 front-end part of -fpreserve-control-flow switch.
312
d7f94401
AC
3132009-04-20 Bob Duff <duff@adacore.com>
314
315 * rtsfind.adb: Minor comment fix
316
3172009-04-20 Robert Dewar <dewar@adacore.com>
318
319 * exp_aggr.adb: Minor reformatting
320 Minor code reorganization (use Nkind_In)
321
322 * g-socket.adb: Minor reformatting
323
324 * g-socket.ads: Minor comment fix
325
326 * s-auxdec.ads: Minor comment and organization update.
327
328 * s-auxdec-vms_64.ads: Minor comment and organization update.
329
330 * sem_ch10.adb: Minor addition of ??? comment
331
332 * sem_disp.adb: Minor reformatting
333
f8b86c2d
AC
3342009-04-20 Ed Schonberg <schonberg@adacore.com>
335
336 * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
337 list a caller of an inlined subprogram, if the caller itself is not
338 called.
339
3402009-04-20 Pascal Obry <obry@adacore.com>
341
342 * adaint.c: Disable use of ACL on network drives.
343
3442009-04-20 Arnaud Charlet <charlet@adacore.com>
345
346 * gnat_ugn.texi: Add examples.
347
efec4f2a
TQ
3482009-04-20 Thomas Quinot <quinot@adacore.com>
349
350 * g-socket.ads (Abort_Selector): Clarify documentation.
351
ff2e7c1e
AC
3522009-04-20 Arnaud Charlet <charlet@adacore.com>
353
354 * opt.ads (Inspector_Mode): Update documentation of this flag.
355
3562009-04-20 Thomas Quinot <quinot@adacore.com>
357
358 * g-socket.ads: Minor reformatting
359
360 * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
361 consider S_resolvLib error codes since we only use the hostLib wrappers.
362
3632009-04-20 Eric Botcazou <ebotcazou@adacore.com>
364
365 * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
366 of the Underlying_Record_View after that of the derived type.
367
26a43556
AC
3682009-04-20 Arnaud Charlet <charlet@adacore.com>
369
370 * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
371 in inspector mode.
372
3732009-04-20 Javier Miranda <miranda@adacore.com>
374
375 * sem_ch6.adb (New_Overloaded_Entity): Minor reformating.
376
377 * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
378 documentation.
379
380 * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.
381
382 * sem_disp.adb
383 (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
384 in internally built overriding subprograms.
385
3862009-04-20 Doug Rupp <rupp@adacore.com>
387
388 * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.
389
390 * s-auxdec.ads: Likewise
391
3922009-04-20 Ed Schonberg <schonberg@adacore.com>
393
394 * sem_ch3.adb (Find_Type_Name): Reject the completion of a private
395 type by an interface.
396
397 * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
398 minimze difference in expanded tree when compiled as spec of the main
399 unit, or as a spec in the context of another unit.
400
3f25c54d
AC
4012009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
402
403 * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
404 (localtime_tzoff): This routine no longer accepts an actual of type
405 tm_Pointer.
406 (UTC_Time_Offset): Remove local variable Secs_TM.
407
408 * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
409 actual of type struct tm*. Add local variable of type struct tm for all
410 targets that provide localtime_r and need to invoke it.
411
4122009-04-20 Thomas Quinot <quinot@adacore.com>
413
414 * s-oscons-tmplt.c, g-socket.adb, g-socket.ads
415 (GNAT.Sockets.Resolve_Error): Add case of EPIPE
416 Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK
417
8dbf3473
AC
4182009-04-20 Robert Dewar <dewar@adacore.com>
419
420 * sem_ch3.adb: Minor reformatting
421
422 * lib-load.adb: Minor reformatting
423
424 * sem_ch4.adb: Minor reformatting
425
4262009-04-20 Robert Dewar <dewar@adacore.com>
427
428 * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
429 (equal values => False).
430
4312009-04-20 Ed Schonberg <schonberg@adacore.com>
432
433 * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
434 to null procedures can be inlined unconditionally.
435
56fe7b05
EB
4362009-04-20 Eric Botcazou <ebotcazou@adacore.com>
437
438 * gcc-interface/trans.c (call_to_gnu): When creating the copy for a
439 non-addressable parameter passed by reference, do not convert the
440 actual if its type is already the nominal type, unless it is of
441 self-referential size.
442
9fcf2a0b
AC
4432009-04-20 Arnaud Charlet <charlet@adacore.com>
444
445 * gnat_ugn.texi: Fix typos.
446
4472009-04-20 Robert Dewar <dewar@adacore.com>
448
449 * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
450 Validate_Unchecked_Warnings to suppress warnings about size or
451 alignment or extra bits if either type involved has pragma Warnings
452 (Off) set for the type entity.
453
f7ebc6a8
EB
4542009-04-19 Eric Botcazou <ebotcazou@adacore.com>
455
456 * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
457 a builtin type and give it a name.
458
105ab5db
DN
4592009-04-17 Diego Novillo <dnovillo@google.com>
460
461 * gcc-interface/misc.c (gnat_expand_expr): Remove.
462 (LANG_HOOKS_EXPAND_EXPR): Remove.
463
03b64787
AC
4642009-04-17 Robert Dewar <dewar@adacore.com>
465
466 * sem_ch3.adb: Minor reformatting
467
4682009-04-17 Pascal Obry <obry@adacore.com>
469
470 * adaint.c: Add __gnat_use_acl global variable to control use of ACL.
471
054275e4
ES
4722009-04-17 Ed Schonberg <schonberg@adacore.com>
473
474 * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly
475 illegal constraints on type derived from formal discrete types.
476
aed6fda8
TQ
4772009-04-17 Thomas Quinot <quinot@adacore.com>
478
479 PR ada/35953
480
481 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
482 g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
483 g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb,
484 g-socket.ads (GNAT.Sockets.Thin.C_Send,
485 GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms.
486 Replace calls to send(2) with equivalent sendto(2) calls.
487 (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram.
488 (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not
489 report an error in that case. Factor code common to the two versions
490 (datagram and stream) in common routine Stream_Write.
491
c5d91669
AC
4922009-04-17 Robert Dewar <dewar@adacore.com>
493
494 * exp_disp.adb: Minor reformatting
495 Minor code reorganization (use Nkind_In)
496
497 * prepcomp.adb: Minor reformatting
498
499 * sem_ch3.adb: Minor reformatting
500
501 * sem_res.adb: Minor comment addition
502
503 * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test
504 for address clause
505
506 * lib-xref.adb (Generate_Reference): Exclude recursive calls from
507 setting Is_Referenced
508
509 * types.ads: Minor reformatting
510
5112009-04-17 Arnaud Charlet <charlet@adacore.com>
512
513 * gnat_ugn.texi: Initial documentation on binding generator.
514
39f346aa
ES
5152009-04-17 Ed Schonberg <schonberg@adacore.com>
516
517 * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
518 type extensions whose parent is a type with unknown discriminants.
519
520 * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
521 aggregate has unknown discriminants, use the Underlying_Record_View to
522 obtain the discriminants of the ancestor part.
523
524 * exp_disp.adb (Build_Dispatch_Tables): Types that are
525 Underlying_Record_Views share the dispatching information of the
526 original record extension.
527
528 * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
529 discriminants, propagate dispach table information to the
530 Underlying_Record_View.
531
532 * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
533 discriminants and declaration is not a completion, generate
534 Underlying_Record_View to provide proper discriminant information to
535 the front-end and to gigi.
536
8c64de1e
RD
5372009-04-17 Robert Dewar <dewar@adacore.com>
538
539 * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb,
540 s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads,
541 s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads,
542 g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads,
543 s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads,
544 s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads,
545 g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb,
546 s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads,
547 g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb,
548 s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb,
549 s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb,
550 s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb,
551 s-conca3.ads: Remove unneeded pragma Warnings
552
74e63df1
RD
5532009-04-17 Robert Dewar <dewar@adacore.com>
554
555 * g-moreex.adb: Add comments.
556
557 * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off)
558
559 * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma
560 Warnings (Off)
561
562 * prepcomp.adb: Add ??? comment
563
564 * a-tasatt.adb: Minor reformatting
565
566 * g-trasym-vms-alpha.adb: Add ??? comment
567
568 * g-trasym-vms-ia64.adb: Add ??? comment
569
570 * xoscons.adb: Minor reformatting
571
572 * s-tassta.adb: Minor reformatting
573
574 * s-scaval.adb: Add ??? comment
575
576 * stand.ads: Minor code clean up (remove junk with of Namet)
577
578 * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb,
579 s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads,
580 s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb,
581 s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads,
582 s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb,
583 s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads,
584 s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb,
585 s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed
586 Warnings off pragmas.
587
df416fb0
AC
5882009-04-17 Pascal Obry <obry@adacore.com>
589
590 * initialize.c: Fix test for reallocating the arguments array.
591
5922009-04-17 Geert Bosch <bosch@adacore.com>
593
594 * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed
595 conversion truncate only for decimal fixed point types.
596
5972009-04-17 Jerome Lambourg <lambourg@adacore.com>
598
599 * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
600 reinitialized.
601
01cd0938
AC
6022009-04-17 Robert Dewar <dewar@adacore.com>
603
604 * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and
605 Backwards_OK if either operand has an address clause.
606
6072009-04-17 Pascal Obry <obry@adacore.com>
608
609 * initialize.c: Code clean up, use realloc.
610
46e26fe3
PO
6112009-04-17 Pascal Obry <obry@adacore.com>
612
613 * initialize.c: Do not get Unicode command line if Unicode support not
614 activated.
615 Add support for wildcard expansion for Unicode parameters on Win32.
616
617 * mingw32.h: Add missing macros when Unicode support not activated.
618
b20de9b9
AC
6192009-04-17 Javier Miranda <miranda@adacore.com>
620
621 * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
622 avoid generating code that references the Current_Master
623 when compiling without tasks.
624
6252009-04-17 Vincent Celier <celier@adacore.com>
626
627 * prj-attr.adb: New project level attribute Target
628
629 * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
630 attribute Target
631
632 * prj.ads (Project_Configuration): New component Target
633
a8f59a33
AC
6342009-04-17 Thomas Quinot <quinot@adacore.com>
635
636 * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special
637 case for the case of an aggregate component, the attach call for the
638 result is actually needed.
639
640 * exp_aggr.adb (Backend_Processing_Possible): Backend processing for
641 an array aggregate must be disabled if the component type requires
642 controlled actions.
643
644 * exp_ch3.adb: Minor reformatting
645
6462009-04-17 Bob Duff <duff@adacore.com>
647
648 * output.ads (Indent,Outdent): New procedures for indenting the output.
649 (Write_Char): Correct comment -- LF _is_ allowed.
650
651 * output.adb (Indent,Outdent): New procedures for indenting the output.
652 Keep track of the indentation level, and make sure it doesn't get too
653 high.
654 (Flush_Buffer): Insert spaces at the beginning of each line, if
655 indentation level is nonzero.
656 (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
657 indentation level.
658 (Set_Standard_Error,Set_Standard_Output): Remove superfluous
659 "Next_Col := 1;". Flush_Buffer does that.
660
661 * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
662 controlled by the -gnatdc switch. It now occurs on entry/exit to the
663 relevant analysis routines, and calls Indent/Outdent to make the
664 indentation reflect the nesting level. Add "helper" routines, since
665 otherwise lots of "return;" statements would skip the debugging output.
666
6672009-04-17 Arnaud Charlet <charlet@adacore.com>
668
669 * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb,
670 s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
671 s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup.
672
32beb1f3
AC
6732009-04-17 Thomas Quinot <quinot@adacore.com>
674
675 * exp_aggr.adb: Minor code reorganization, no behaviour change.
676
6772009-04-17 Ed Schonberg <schonberg@adacore.com>
678
679 * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type
680 clause in a unit that is a package body or a subunit, when the previous
681 clause appears in a spec or a parent.
682
36c73552
AC
6832009-04-17 Thomas Quinot <quinot@adacore.com>
684
685 * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting
686
687 * exp_ch7.adb: Minor reformatting
688
6892009-04-17 Bob Duff <duff@adacore.com>
690
691 * exp_ch4.adb (Expand_Allocator_Expression): In an initialized
692 allocator, check that the expression of the qualified expression obeys
693 the constraints of the subtype of the qualified expression.
694
6952009-04-17 Thomas Quinot <quinot@adacore.com>
696
697 * sprint.adb (Write_Itype): Add handling of enumeration subtypes.
698
cac5a801
AC
6992009-04-17 Ed Schonberg <schonberg@adacore.com>
700
701 * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to
702 aggregate, using context imposed by subtype mark in allocator.
703
7042009-04-17 Pascal Obry <obry@adacore.com>
705
706 * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
707
03f050b6
AC
7082009-04-17 Nicolas Roche <roche@adacore.com>
709
710 * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
711 argument length.
712
7132009-04-17 Gary Dismukes <dismukes@adacore.com>
714
715 * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to
716 cover both calls and attribute references ("call" => "reference").
717
7182009-04-17 Ed Schonberg <schonberg@adacore.com>
719
720 * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access
721 type for which Storage_Size is set to 0 is legal in a pure unit.
722
bf327c92
AC
7232009-04-17 Thomas Quinot <quinot@adacore.com>
724
725 * exp_ch7.adb: Minor reformatting
726
7272009-04-17 Robert Dewar <dewar@adacore.com>
728
729 * restrict.adb (Check_Restriction_No_Dependence): Don't check
730 restriction if outside main extended source unit.
731
732 * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction
733 for parents of child units as well as the child unit itself.
734
7352009-04-17 Bob Duff <duff@adacore.com>
736
737 * checks.ads: Minor comment fix
738
739 * exp_aggr.ads: Minor comment fix
740
7412009-04-17 Nicolas Roche <roche@adacore.com>
742
743 * adaint.c: Improve cross compiler detection and handling.
744
ffec8e81
AC
7452009-04-17 Eric Botcazou <ebotcazou@adacore.com>
746
747 * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
748
7492009-04-17 Pascal Obry <obry@adacore.com>
750
751 * mingw32.h: Add S2WSC and WS2SC macros to convert to/from
752 CurrentCodePage.
753
754 * adaint.h: Encoding_Unspecified is now defined. Corresponds to the
755 value when no encoding form paramter is set on Text_IO services.
756
757 * adaint.c: CurrentCodePage new variable on Windows.
758 Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
759 ones.
760
761 * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
762 ones.
763
764 * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE
765 environment variable value. Default is UTF-8.
766
767 * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type.
768 fopen and freopen encoding parameter is now set to Unspecified.
769 The default value is in this case UTF-8 (as it was before) but
770 use the new macros that convert to/from the code page set
771 at runtime (CurrentCodePage).
772
773 * s-fileio.adb: When no encoding specified use Unspecified value.
774
7752009-04-17 Ed Schonberg <schonberg@adacore.com>
776
777 * atree.adb, atree.ads: Remove dead code.
778
432e3422
AC
7792009-04-17 Arnaud Charlet <charlet@adacore.com>
780
781 * gcc-interface/Make-lang.in: Update dependencies.
782
f3b01cd9
AC
7832009-04-17 Ed Schonberg <schonberg@adacore.com>
784
785 * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on
786 illegal uses of incomplete types in formal parts and return types.
787
788 * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in
789 access to subprograms.
790
791 * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use
792 Taft-amendment types as the return type of an access_to_function type.
793
794 * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
795 type for access_to_subprograms. The check is performed on package exit.
796
7972009-04-17 Ed Schonberg <schonberg@adacore.com>
798
799 * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util.
800
801 * nlists.ads, nlists.adb: Move New_Copy_List to sem_util.
802
803 * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree
804
805 * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in
806 semantic units, because the handling of itypes in the copied tree
807 requires semantic information that does not belong in atree.
808
8092009-04-17 Robert Dewar <dewar@adacore.com>
810
811 * par-ch6.adb: Minor reformatting
812
813 * prj.adb: Minor reformatting
814
618fb570
AC
8152009-04-17 Gary Dismukes <dismukes@adacore.com>
816
817 * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed
818 on protected subprogram bodies, so exclude the case where Pf_Flags is
819 Pf_Decl_Pbod from the error check.
820
821 * par-ch9.adb (P_Protected_Operation_Items): Permit overriding
822 indicators on subprograms in protected bodies, and proceed with parsing
823 the subprogram.
824
825 * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected
826 subprograms from the check for primitiveness on subprograms with
827 overriding indicators.
828 (Check_Overriding_Indicator): Include protected subprograms in the
829 style check for missing overriding indicators.
830
8312009-04-17 Tristan Gingold <gingold@adacore.com>
832
833 * init.c: Fix stack checking for x86 Darwin.
834
8352009-04-17 Vincent Celier <celier@adacore.com>
836
837 * prj-attr.adb: New project level attribute Object_File_Suffix
838 (<language>).
839
840 * prj-nmsc.adb (Add_Source): Use the object file suffix to get the
841 object file name
842 (Process_Compiler): Process attribute Object_File_Suffix
843
844 * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of
845 platform suffix, when specified.
846
847 * prj.ads (Language_Config): New component Object_File_Suffix,
848 defaulted to No_Name.
849 (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name
850
851 * snames.ads-tmpl: New standard name Object_File_Suffix
852
93bcda23
AC
8532009-04-17 Robert Dewar <dewar@adacore.com>
854
855 * gnat_rm.texi: Add documentation about No_Streams restriction
856
857 * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
858 attributes when checking No_Streams restriction.
859
8602009-04-17 Thomas Quinot <quinot@adacore.com>
861
862 * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
863
864 * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
865 missing calls to RE_Request_Destroy to deallocate request objects after
866 use.
867
8682009-04-17 Nicolas Setton <setton@adacore.com>
869
870 * link.c: Fix support for passing a response file under Darwin.
871
8722009-04-17 Emmanuel Briot <briot@adacore.com>
873
874 * prj.adb (Free): new subprogram.
875
8762009-04-17 Ed Schonberg <schonberg@adacore.com>
877
878 * sem_ch3.adb: additional initialization on incomplete subtypes.
879
880 * sem_ch6.adb (Process_Formals): if the subprogram is in the private
881 part and one of the formals is an incomplete tagged type, attach to
882 list of private dependends of the type for later validation.
883
884 * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
885 primitive operations of a Taft-amendmment type.
886
887 * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
888 type. The check is performed on package exit, possibly after the
889 subprogram is frozen.
890
8912009-04-17 Vincent Celier <celier@adacore.com>
892
893 * prj-nmsc.adb (Get_Directories): Get the object and exec directory
894 before looking for source directories, but make sure that there are nil
895 if they are not explicitely declared and there is explicitely no
896 sources in the project.
897
ba4a2f78 8982009-04-17 Pascal Obry <obry@adacore.com>
78246a6e 899
ba4a2f78 900 * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows.
78246a6e 901
ba4a2f78 902 * init.c: Fix minor typo and style fix.
ee00428a 903
ba4a2f78 9042009-04-17 Robert Dewar <dewar@adacore.com>
ee00428a 905
ba4a2f78 906 * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic
ee00428a 907
ba4a2f78
AC
908 * sem_attr.adb (Analyze_Attribute, case Address): Use
909 PE_Address_Of_Intrinsic.
910
911 * types.ads: Add PE_Address_Of_Intrinsic
912
913 * types.h: Add PE_Address_Of_Intrinsic
914
9152009-04-17 Nicolas Setton <setton@adacore.com>
916
917 * gcc-interface/Makefile.in: Under darwin, build shared libraries
918 with install_name starting with "@rpath/".
ee00428a
AC
919
9202009-04-17 Nicolas Setton <setton@adacore.com>
921
922 * link.c: Add darwin section
923
9fbb3ae6
AC
9242009-04-16 Robert Dewar <dewar@adacore.com>
925
926 * g-pehage.adb: Minor reformatting
927
928 * sem_ch12.adb: Minor reformatting
929
930 * exp_dist.adb: Minor reformatting
931
932 * bindgen.adb: Minor style fixes.
933
9342009-04-16 Ed Schonberg <schonberg@adacore.com>
935
936 * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of
937 indexed components to the case where the prefix is a static string
938 literal.
939
9402009-04-16 Javier Miranda <miranda@adacore.com>
941
942 * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place
943 objects avoid any further expansion of the expression initializing the
944 object.
945
c1c5e0fa
AC
9462009-04-16 Ed Schonberg <schonberg@adacore.com>
947
948 * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit
949 that hides an outer homograph, make that homograph invisible when
950 analyzing the actuals, to to prevent illegal direct visibility on it.
951
9522009-04-16 Eric Botcazou <ebotcazou@adacore.com>
953
954 * g-pehage.adb (Initialize): Fix off-by-one error.
955
d15d61c6
AC
9562009-04-16 Tristan Gingold <gingold@adacore.com>
957
958 * init.c: Detect real stack overflow on Darwin.
959
960 * system-darwin-x86.ads: Use stack probing on darwin x86.
961
9622009-04-16 Ed Schonberg <schonberg@adacore.com>
963
964 * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
965 take the address of an intrinsic subprogram.
966
0a0a18c3
AC
9672009-04-16 Arnaud Charlet <charlet@adacore.com>
968
969 * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented
970 for the targets where GNAT.Traceback.Symbolic is not supported.
971
d15d61c6
AC
9722009-04-16 Vincent Celier <celier@adacore.com>
973
974 * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
975
976 * g-trasym.ads: Update comments.
977
9782009-04-16 Vasiliy Fofanov <fofanov@adacore.com>
979
980 * tracebak.c (STOP_FRAME): Verify validity of the current address
981 before dereferencing.
982
b61ebe4f
AC
9832009-04-16 Ed Schonberg <schonberg@adacore.com>
984
985 * sprint.adb (Write_Itype): If the itype is an array subtype, preserve
986 the original location of the index expressions and the index subtypes,
987 to prevent spurious out-of-scope references in gigi.
988
9892009-04-16 Tristan Gingold <gingold@adacore.com>
990
991 * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads:
992 Add support for stack checking on darwin.
993
9942009-04-16 Vincent Celier <celier@adacore.com>
995
996 * prj-attr.adb: New attribute Runtime_Source_Dir
997
998 * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process
999 attribute Runtime_Source_Dir.
1000 (Check_Naming_Schemes): Give default values to out parameters to avoid
1001 invalid data.
1002
1003 * prj.ads (Language_Config): New component Runtime_Source_Dir
1004
1005 * snames.ads-tmpl: New standard name Runtime_Source_Dir
1006
468ee337
PO
10072009-04-16 Pascal Obry <obry@adacore.com>
1008
1009 * adaint.h, adaint.c (__gnat_rmdir): New routine.
1010 Simple wrapper routines used to convert to proper encoding on
1011 Windows.
1012
1013 * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library.
1014
1015 * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed
1016 twice.
1017
bca17d51
PO
10182009-04-16 Pascal Obry <obry@adacore.com>
1019
1020 * s-crtl.ads, s-os_lib.adb: Minor code clean-up.
1021
4e0079cc
AC
10222009-04-16 Thomas Quinot <quinot@adacore.com>
1023
1024 * snames.ads-tmpl (Name_Defined): New predefined name for use by the
1025 integrated preprocessor.
1026
1027 * prep.ads, prep.adb (Setup_Hooks): New subprogram.
1028 (Initialize): Split into two subprograms, Initialize (to be called
1029 prior to compiler command line processing) and Setup_Hooks (to be called
1030 later on when the first source file is loaded).
1031
1032 * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
1033 Add call to Prep.Initialize.
1034
1035 * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
1036 to Prep.Setup_Hooks.
1037
10382009-04-16 Pascal Obry <obry@adacore.com>
1039
1040 * adaint.h, adaint.c (__gnat_chdir): New routine.
1041 Simple wrapper routines used to convert to proper encoding on
1042 Windows.
1043
1044 * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
1045
1046 * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
1047
cbbdee52
AC
10482009-04-16 Quentin Ochem <ochem@adacore.com>
1049
1050 * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
1051 of Source.Init.
1052
10532009-04-16 Eric Botcazou <ebotcazou@adacore.com>
1054
1055 * a-convec.ads (Is_Empty): Mark inline.
1056
10572009-04-16 Nicolas Roche <roche@adacore.com>
1058
1059 * init.c (__gnat_init_float): Initialize FPU on x86_64 windows
1060
10612009-04-16 Thomas Quinot <quinot@adacore.com>
1062
1063 * prepcomp.adb: Minor reformatting
1064
7e8ed0a6
AC
10652009-04-16 Jerome Lambourg <lambourg@adacore.com>
1066
1067 * sem_prag.adb (Process_Import_Or_Interface): With .NET,
1068 Access_Subprogram types can also be imported.
1069 (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
1070 names.
1071
10722009-04-16 Ed Schonberg <schonberg@adacore.com>
1073
1074 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
1075 preserve homonym chain when the declaration is rewritten into a
1076 renaming declaration, in order to preserve visibility structure.
1077
540b5d9c
AC
10782009-04-16 Jerome Lambourg <lambourg@adacore.com>
1079
1080 * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
1081 taken into account for VM targets.
1082
10832009-04-16 Hristian Kirtchev <kirtchev@adacore.com>
1084
1085 * g-calend.ads, g-calend.adb (Week_In_Year): Now calls
1086 Year_Week_In_Year.
1087 (Year_Week_In_Year): New routine which contains the original code from
1088 Week_In_Year. Add the missing special case for January 1st falling on
1089 a Monday.
1090
dae4faf2
TQ
10912009-04-16 Thomas Quinot <quinot@adacore.com>
1092
1093 * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
1094 actual type, use the base type to build the To_Any function.
1095 (Build_From_Any_Function): Remove junk, useless subtype conversion.
1096
10972009-04-16 Thomas Quinot <quinot@adacore.com>
1098
1099 * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
1100 restrict.adb: Minor code reorganization (use
1101 Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
1102
2794f022
AC
11032009-04-16 Bob Duff <duff@adacore.com>
1104
1105 * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
1106 unused.
1107
11082009-04-16 Thomas Quinot <quinot@adacore.com>
1109
1110 * sem_ch4.adb: Minor reformatting
1111
1112 * adaint.c: Remove junk duplicated code.
1113
1114 * sem_ch3.adb: Minor reformatting
1115
1116 * exp_dist.adb: Minor comment rewording
1117
a8e65aa5
AC
11182009-04-16 Robert Dewar <dewar@adacore.com>
1119
1120 * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
1121 used together.
1122
11232009-04-16 Ed Schonberg <schonberg@adacore.com>
1124
1125 * sem_ch4.adb (Find_Equality_Types): Filter out types that are not
1126 usable before calling Add_One_Interp, to resolve spurious ambiguities.
1127
bded454f
RD
11282009-04-16 Robert Dewar <dewar@adacore.com>
1129
b0fbf3c0
RD
1130 * Make-lang.in: Add entries for s-conca?.o
1131
bded454f
RD
1132 * Makefile.rtl: Add entries for s-conca?
1133
1134 * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior
1135 of concatenation expansion
1136
1137 * exp_ch4.adb (Expand_Concatenation): Generate calls for certain
1138 string cases instead of expanding assignments inline.
1139
1140 * opt.ads (Optimize_Size): New flag
1141
1142 * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads,
1143 s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb,
1144 s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads,
1145 s-conca9.adb, s-conca9.ads: New file.
1146
4a3b249c
RD
11472009-04-16 Robert Dewar <dewar@adacore.com>
1148
1149 * exp_ch6.adb: Add comments
1150
1151 * rtsfind.ads: Add entries for s-conca? routines
1152
e8e028cb 11532009-04-16 Arnaud Charlet <charlet@adacore.com>
14814170
AC
1154
1155 * gcc-interface/Make-lang.in: Update dependencies.
1156
1157 * gcc-interface/Makefile.in: Update translation for vms.
1158
3204b9cd
AC
11592009-04-16 Ed Schonberg <schonberg@adacore.com>
1160
1161 * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
1162 and made global, to be used when installing parents of a child
1163 instance, to provide mappings for entities declared in formal packages
1164 of ancestor units. Now called from Install_Formal_Packages.
1165
11662009-04-16 Doug Rupp <rupp@adacore.com>
1167
1168 * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
1169 notation for clarity.
1170
1171 * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
1172 s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
1173 s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
1174 (Initialize): Initialize Known_Tasks with Environment task.
1175
1176 * s-taskin.ads (Task_States): Move new states to end for the sake of
1177 GDB compatibility.
1178
1179 * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
1180
f17f3601
ES
11812009-04-16 Ed Schonberg <schonberg@adacore.com>
1182
1183 * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
1184 operation has an inline pragma, propagate the flag to the internal
1185 unprotected subprogram.
1186
5e44c5ea
DR
11872009-04-16 Doug Rupp <rupp@adacore.com>
1188
1189 * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
1190 s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb,
1191 s-taprop-hpux-dce.adb, s-taprop-posix.adb
1192 (Enter_Task): Move Known_Tasks initialization to s-tassta.adb
1193
1194 * s-taprop-vms.adb (Enter_Task): Likewise.
1195 (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
1196
1197 * s-tassta.adb (Activate_Tasks): After task creation set state to
1198 Activating, vice Runnable. Initialize Known_Tasks, moved here from
1199 s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
1200 Set state to Runnable after above.
1201 (Task_Wrapper): Set Debug_Event_Run. In exception block set
1202 Debug_Event_Terminated.
1203
1204 * s-taskin.ads (Task_States): Add new states Activiting and
1205 Activator_Delay_Sleep.
1206 (Bit_Array, Debug_Event_Array): New types.
1207 (Global_Task_Debug_Event_Set: New flag.
1208 (Common_ATCB): New field Debug_Events.
1209
1210 * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
1211
1212 * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
1213 Activator_Sleep.
1214
1215 * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
1216 Activating and when Acceptor_Delay_Sleep.
1217
1218 * s-tasdeb.ads: Add constants for Debug_Events.
1219 (Debug_Event_Kind_Type): New subtype.
1220 (Signal_Debug_Event): New subprogram.
1221
1222 * s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
1223
205c14b0
TQ
12242009-04-16 Thomas Quinot <quinot@adacore.com>
1225
1226 * sem_elim.adb: Minor reformatting
1227
1228 * freeze.adb: Minor reformatting
1229
1230 * exp_ch4.adb: Minor reformatting
1231
b4763f5c
AC
12322009-04-16 Emmanuel Briot <briot@adacore.com>
1233
1234 * prj-nmsc.adb (Path_Name_Of): fix memory leak
1235
12362009-04-16 Robert Dewar <dewar@adacore.com>
1237
1238 * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
1239
12402009-04-16 Vincent Celier <celier@adacore.com>
1241
1242 * fmap.adb (Initialize): Show the current line when the mapping file
1243 is detected as "incorrectly formatted".
1244
12452009-04-16 Robert Dewar <dewar@adacore.com>
1246
1247 * sem_ch12.adb: Minor reformatting
1248
1249 * sem_ch5.adb: Minor comment addition
1250
1251 * sem_util.adb: Minor reformatting
1252
1253 * sinput-p.adb: Minor reformatting
1254 Add missing pragma Warnings (On)
1255
0c72247e
AC
12562009-04-16 Ed Falis <falis@adacore.com>
1257
1258 * s-vxwext-kernel.adb: (ERROR): deleted unused constant
1259
12602009-04-16 Vincent Celier <celier@adacore.com>
1261
1262 * ali-util.adb: Minor comment spelling error fix
1263
014caddb
EB
12642009-04-16 Eric Botcazou <ebotcazou@adacore.com>
1265
1266 * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
1267 generate an assignment loop in case of overlap.
1268
b2ed7a03
AC
12692009-04-16 Olivier Hainque <hainque@adacore.com>
1270
1271 * gnat_ugn.texi (gnatmem description): Make it explicit that
1272 gnatmem is designed to work in association with static runtime
1273 library only.
1274
12752009-04-16 Thomas Quinot <quinot@adacore.com>
1276
1277 * sem_type.adb: Minor reformatting
1278
12792009-04-16 Hristian Kirtchev <kirtchev@adacore.com>
1280
1281 * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
1282 concerning return codes of gettimeofday and return value check.
1283
12842009-04-16 Ed Falis <falis@adacore.com>
1285
1286 * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
1287 body can be renaming of imported routines.
1288
12892009-04-16 Vasiliy Fofanov <fofanov@adacore.com>
1290
1291 * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
1292 targeted fashion.
1293
8a912a6e
AC
12942009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
1295
1296 * exp_ch9.adb: Comment improvements.
1297 (Build_Entry_Family_Name): Add parentheses around the index of a entry
1298 family member.
1299
13002009-04-15 Bob Duff <duff@adacore.com>
1301
1302 * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
1303 "while X /= null loop" where X is unchanged inside the loop. We were
1304 not warning in this case, because of the pointers -- we feared that the
1305 loop variable could be updated via a pointer, if there are any pointers
1306 around the place. But that is impossible in this case.
1307
1308 * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
1309 the case of dereferences. In X.all, X cannot be an l-value. We now
1310 catch that case (and implicit dereferences, too).
1311
13122009-04-15 Vincent Celier <celier@adacore.com>
1313
1314 * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
1315
13162009-04-15 Ed Schonberg <schonberg@adacore.com>
1317
1318 * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
1319 From code reading.
1320 (Analyze_Package_Instantiation): If generic unit in child instance is
1321 the same as generic unit in parent instance, look for an outer homonym
1322 to locate the desired generic.
1323
4a13695c
AC
13242009-04-15 Bob Duff <duff@adacore.com>
1325
1326 * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
1327 warnings unless the loop comes from source, because checking generated
1328 loops is a waste of time, and makes it harder to debug
1329 Check_Infinite_Loop_Warning.
1330
1331 * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
1332 tested in the while loop is a renaming, do not warn. Otherwise, we get
1333 false alarms, because it's usually renaming something that we can't
1334 deal with (an indexed component, a global variable, ...).
1335
1336 * gnat_rm.texi: Fix typo
1337
13382009-04-15 Thomas Quinot <quinot@adacore.com>
1339
1340 * sem_ch6.adb: Minor reformatting
1341
c3b36d48
AC
13422009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
1343
1344 * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
1345 immediate parent of the controlled function call is a component
1346 association.
1347
13482009-04-15 Ed Schonberg <schonberg@adacore.com>
1349
1350 * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
1351 corresponding class-wide type is also in use.
1352
13532009-04-15 Thomas Quinot <quinot@adacore.com>
1354
1355 * frontend.adb: Minor comment fix
1356
1f07382d
AC
13572009-04-15 Robert Dewar <dewar@adacore.com>
1358
1359 * gnatchop.adb (BOM_Length): New global variable
1360 (Write_Unit): Add new parameter Write_BOM
1361 (Write_Chopped_Files): Check for BOM and set Write_BOM for call
1362 to Write_Unit
1363
1364 * gnat_ugn.texi: Add note on propagation of BOM by gnatchop
1365
13662009-04-15 Geert Bosch <bosch@adacore.com>
1367
1368 * system-mingw-x86_64.ads, system-darwin-x86_64.ads
1369 (Backend_Overflow_Checks): Set to True.
1370
13712009-04-15 Gary Dismukes <dismukes@adacore.com>
1372
1373 * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
1374 keyword is given in a record extension.
1375
13762009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
1377
1378 * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
1379 of a controlled function call in the context of a record aggregate.
1380 This does not apply to array aggregates since the call will be expanded
1381 into assignments.
1382
13832009-04-15 Ed Falis <falis@adacore.com>
1384
1385 * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
1386 s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
3405870d
EF
1387 s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize
1388 s-osinte-vxworks* and s-vxwext*.
1f07382d 1389
6cc60200
AC
13902009-04-15 Arnaud Charlet <charlet@adacore.com>
1391
1392 * gcc-interface/Make-lang.in: Update dependencies.
1393
1394 * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks*
1395 and s-vxwext*.
1396
f66d46ec
AC
13972009-04-15 Robert Dewar <dewar@adacore.com>
1398
1399 * sem_ch13.adb (Unchecked_Conversions): Store source location instead
1400 of node for location for warning messages.
1401
1402 * gnatchop.adb: Minor reformatting
1403
14042009-04-15 Ed Schonberg <schonberg@adacore.com>
1405
1406 * exp_ch6.adb: additional guard for renaming declarations for in
1407 parameters of an array type.
1408
bafc9e1d
AC
14092009-04-15 Robert Dewar <dewar@adacore.com>
1410
1411 * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds
1412 in case they were rewritten by expander (Force_Evaluation).
1413
1414 * targparm.adb (Get_Target_Parameters): Correct check for
1415 Suppress_Exception_Locations.
1416
14172009-04-15 Ed Schonberg <schonberg@adacore.com>
1418
1419 * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be
1420 inlined is of an array type that is not bit-packed, use a renaming
1421 declaration to capture its value, rather than a constant declaration.
1422
443614e3
AC
14232009-04-15 Robert Dewar <dewar@adacore.com>
1424
1425 * rtsfind.adb: Minor reformatting.
1426
14272009-04-15 Emmanuel Briot <briot@adacore.com>
1428
1429 * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames
1430 Restore, and free the saved context.
1431
14322009-04-15 Gary Dismukes <dismukes@adacore.com>
1433
1434 * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check
1435 for illegal private extension from a synchronized interface parent in
1436 front of check for illegal limited extension so that limited extension
1437 from a synchronized interface will be rejected.
1438 (Check_Ifaces): Check that a private extension that has a synchronized
1439 interface as a progenitor must be explicitly declared synchronized.
1440 Also check that a record extension cannot derive from a synchronized
1441 interface.
1442
991395ab
AC
14432009-04-15 Pascal Obry <obry@adacore.com>
1444
1445 * adaint.h (__gnat_unlink): Add spec.
1446 (__gnat_rename): Likewise.
1447
14482009-04-15 Vincent Celier <celier@adacore.com>
1449
1450 * prj-nmsc.adb: Minor spelling error corrections in error messages
1451
14522009-04-15 Robert Dewar <dewar@adacore.com>
1453
1454 * sinfo.ads: Minor comment update
1455
1456 * opt.ads: Minor comment updates
1457
1458 * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for
1459 modular type.
1460
14612009-04-15 Ed Schonberg <schonberg@adacore.com>
1462
1463 * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function
1464 that generates the code needed to update a dispatch table when a
1465 primitive operation is declared with a subprogram body without previous
1466 spec. Insertion of the generated code is responsibility of the caller.
1467 (Make_DT): When building static tables, append the code created by
1468 Register_Primitive to update a secondary table after it has been
1469 constructed.
1470
1471 * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive.
1472
1473 * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive
1474 on an overriding operation that implements an interface operation only
1475 if not building static dispatch tables.
1476
14772009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
1478
1479 * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which
1480 does not cause overflow when converted to Duration. Use the safe value
1481 as the maximum allowable time delay..
1482
14832009-04-15 Jerome Lambourg <lambourg@adacore.com>
1484
1485 * g-comlin.adb (Set_Command_Line): When adding a switch with attached
1486 parameter, specify that the delimiter is NUL, otherwise "-j2" will be
1487 translated to "-j 2".
1488
14892009-04-15 Bob Duff <duff@adacore.com>
1490
1491 * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit
1492 with_clauses, to avoid code duplication. Change this processing so we
1493 always add a with_clause on the main unit if needed.
1494
55cc1a05
AC
14952009-04-15 Pascal Obry <obry@adacore.com>
1496
1497 Add support for Win32 native encoding for delete/rename routines.
1498
1499 * adaint.c (__gnat_unlink): New routine.
1500 (__gnat_rename): New routine.
1501 Simple wrapper routines used to convert to proper encoding on
1502 Windows.
1503
1504 * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct
1505 call to the C library.
1506
1507 * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding.
1508
15092009-04-15 Robert Dewar <dewar@adacore.com>
1510
1511 * s-tassta.adb: Minor reformatting
1512
1f6821b4
AC
15132009-04-15 Robert Dewar <dewar@adacore.com>
1514
1515 * frontend.adb (Frontend): Set proper default for
1516 Warn_On_Non_Local_Exception.
1517
1518 * opt.ads (Exception_Handler_Encountered): New flag
1519 (No_Warn_On_Non_Local_Exception): New flag
1520
1521 * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
1522
1523 * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
1524 (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
1525
15262009-04-15 Cyrille Comar <comar@adacore.com>
1527
1528 * s-tassta.adb, a-exextr.adb, a-elchha.adb
1529 (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
1530 message when exception traces are active since it would generate
1531 redundant information.
1532 (Exception_Traces.Notify_Exception): put message output by a critical
1533 section to avoid unsynchronized output.
1534 (Trace_Unhandled_Exception_In_Task): put message output by a critical
1535 section to avoid unsynchronized output.
1536
15372009-04-15 Emmanuel Briot <briot@adacore.com>
1538
1539 * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
1540 (Free): New subprogram.
1541
8aec446b
AC
15422009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
1543
1544 * a-calend.adb: Add new constant Nanos_In_Four_Years.
1545 (Formatting_Operations.Time_Of): Change the way four year chunks of
1546 nanoseconds are added to the intermediate result.
1547
15482009-04-15 Nicolas Setton <setton@adacore.com>
1549
1550 * sysdep.c: Add __APPLE__ in the list of systems where get_immediate
1551 does not need to wait for a carriage return.
1552
15532009-04-15 Tristan Gingold <gingold@adacore.com>
1554
1555 * bindgen.adb: Do not generate adafinal if No_Finalization restriction
1556 is set.
1557
15582009-04-15 Ed Schonberg <schonberg@adacore.com>
1559
1560 * freeze.adb (Freeze_Entity): improve error message for improper use of
1561 incomplete types.
1562 Diagnose additional illegal uses of incomplete types in formal parts.
1563 appearing in formal parts.
1564
1565 * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto.
1566
15672009-04-15 Robert Dewar <dewar@adacore.com>
1568
1569 * exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
1570
442dd5fb
NR
15712009-04-15 Nicolas Roche <roche@adacore.com>
1572
1573 * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the
1574 current thread.
1575
1576 * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self
1577
1578 * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB
1579
61bee0e3
AC
15802009-04-15 Ed Schonberg <schonberg@adacore.com>
1581
1582 * sem_ch4.adb: improve error message on exponentiation.
1583
15842009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
1585
1586 * a-calend.adb: Move constant Epoch_Offset from package
1587 Conversion_Operations to top level.
1588 (Delay_Operations.To_Duration): Define a constant which represents
1589 "end of time" and use it as a guard against very distant delay dates.
1590 Protect the code against overflow when performing the origin shift to
1591 Unix time.
1592
361effb1
AC
15932009-04-15 Robert Dewar <dewar@adacore.com>
1594
1595 * sem_prag.adb: Minor reformatting.
1596
1597 * sem_type.adb: Minor reformatting
1598
15992009-04-15 Javier Miranda <miranda@adacore.com>
1600
1601 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing
1602 support to check eliminated subprograms.
1603
1604 * sem_elim.ads (Eliminate_Error_Msg): Update documentation.
1605
1606 * sem_elim.adb (Set_Eliminated): Add support for elimination of
1607 dispatching subprograms.
1608
1609 * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive
1610 operations. Initialize with "null" the slots of eliminated dispaching
1611 primitives.
1612 (Write_DT): Add output for eliminated primitives.
1613
1614 * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives.
1615
f7ca1d04
AC
16162009-04-15 Ed Schonberg <schonberg@adacore.com>
1617
1618 * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit,
1619 the second is redundant, regardless of scopes.
1620
16212009-04-15 Vincent Celier <celier@adacore.com>
1622
1623 * prj-nmsc.adb (Get_Directories): Check for sources before checking
1624 the object directory as when there are no sources, they may not be any
1625 object directory.
1626
1627 * make.adb (Gnatmake): Do not attempt to get the path name of the exec
1628 directory, when there are no exec directory.
1629
16302009-04-15 Ed Schonberg <schonberg@adacore.com>
1631
1632 * sem_type.adb (Remove_Conversions): In order to resolve spurious
1633 ambiguities, refine removal of universal interpretations from complex
1634 expressions with literal arguments, when some numeric operators have
1635 been declared abstract.
1636
16372009-04-15 Ed Falis <falis@adacore.com>
1638
1639 * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity
1640 and backward compatibility for targets using probing for stack overflow
1641
16422009-04-15 Ed Schonberg <schonberg@adacore.com>
1643
1644 * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal
1645 after any declaration, including renaming declarations.
1646
4bffd4e0
AC
16472009-04-15 Arnaud Charlet <charlet@adacore.com>
1648
1649 * gcc-interface/Make-lang.in: Update dependencies.
1650
1651 * gcc-interface/Makefile.in: Fix VxWorks target pairs.
cbd8be94 1652 Update xenomai target pairs.
4bffd4e0 1653
a523b302
JM
16542009-04-15 Javier Miranda <miranda@adacore.com>
1655
1656 * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
1657
1658 * sem_ch6.adb (Check_Anonymous_Return): Add missing support for
1659 functions returning anonymous access to class-wide limited types. Mark
1660 also the containing scope as a task master.
1661
1662 * sem_ch8.adb (Restore_Scope_Stack): Add missing management for
1663 limited-withed packages. Required to restore their visibility after
1664 processing packages associated with implicit with-clauses.
1665
1666 * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters
1667 associated with return statements because this work is now done by
1668 Check_Anonymous_Return.
1669 (Build_Master): Code cleanup.
1670
e358346d
AC
16712009-04-15 Thomas Quinot <quinot@adacore.com>
1672
1673 * sem_warn.ads: Minor reformatting
1674
16752009-04-15 Ed Schonberg <schonberg@adacore.com>
1676
1677 * sem_ch3.adb: better error message for illegal interfaces
1678
1679 * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a
1680 formal is an incomplete type from a limited_with clause.
1681
a9872a59
VC
16822009-04-15 Vincent Celier <celier@adacore.com>
1683
1684 * prj-nmsc.adb (Locate_Directory): New Boolean parameter
1685 Externally_Built indicating if the project is externally built. If it
1686 is, and --subdirs is specified, but the subdir does not exist, look
1687 for the specified directory, without the subdir.
1688
b8aadf01
AC
16892009-04-15 Gary Dismukes <dismukes@adacore.com>
1690
1691 * a-tasatt.adb: Fix typo, plus minor reformatting
1692
1693 * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide").
1694
1695 * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible").
1696
16972009-04-15 Ed Schonberg <schonberg@adacore.com>
1698
1699 * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
1700 private extension whose parent is a synchronized interface carries an
1701 explicit synchronized keyword.
1702
a808ba1b
TQ
17032009-04-15 Thomas Quinot <quinot@adacore.com>
1704
1705 * exp_smem.adb (Make_Shared_Var_Procs): For a protected type,
1706 instantiate generic shared object package with the corresponding
1707 record type.
1708
e0568eec
AC
17092009-04-15 Arnaud Charlet <charlet@adacore.com>
1710
1711 * system-linux-sparc.ads: Remove obsolete entries.
1712
17132009-04-15 Thomas Quinot <quinot@adacore.com>
1714
1715 * s-tasuti.ads: Add ??? comment
1716
28450a75
ES
17172009-04-15 Ed Schonberg <schonberg@adacore.com>
1718
1719 * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
1720 type even if the designated type comes from a limited_with clause, to
1721 ensure that the symbol for the finalization list of the access type is
1722 created.
1723
b0d3b11d
AC
17242009-04-10 Robert Dewar <dewar@adacore.com>
1725
1726 * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
1727 for warning suppression.
1728
17292009-04-10 Ed Schonberg <schonberg@adacore.com>
1730
1731 * sem_ch8.adb (Use_One_Type): If the two use_type clauses are
1732 identical, there is no redudancy to check.
1733
17342009-04-10 Gary Dismukes <dismukes@adacore.com>
1735
1736 * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
1737 calls initializing SS_Allocator (which is initialized in following
1738 code).
1739 (Expand_Simple_Function_Return): Add comment about False value for
1740 Comes_From_Source on secondary-stack allocator.
1741
1742 * exp_ch9.adb (Build_Entry_Family_Name): Add comment.
1743 (Build_Entry_Name): Add comment.
1744
fad0600d
AC
17452009-04-10 Robert Dewar <dewar@adacore.com>
1746
1747 * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
1748
1749 * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
1750 bound tested, since this is now done more generally in Sem_Res.
1751
1752 * sem_res.adb (Resolve_Comparison_Op): Add call to
1753 Check_Lower_Bound_Tested.
1754 (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
1755
1756 * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
1757 (Low_Bound_Tested): New name for Low_Bound_Known flag
1758
1759 * exp_ch5.adb: Minor reformatting
1760
1761 * exp_ch4.adb:
1762 Add comments on copying the Comes_From_Source flag for allocators
1763
1764 * sinfo.ads:
1765 Add comments on copying the Comes_From_Source flag for allocators
1766
1767 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
1768 Comes_From_Source flag from old allocator to new one.
1769
17702009-04-10 Ed Schonberg <schonberg@adacore.com>
1771
1772 * sem_ch6.ads: Address missing documentation query
1773
17742009-04-10 Vincent Celier <celier@adacore.com>
1775
1776 * prj-attr.adb:
1777 Add new Linker attributes Max_Command_Line_Length, Response_File_Format
1778 and Response_File_Switches.
1779
1780 * prj-nmsc.adb (Process_Linker): Process new attributes
1781 Max_Command_Line_Length, Response_File_Format and
1782 Response_File_Switches.
1783
1784 * prj.ads (Response_File_Format): New enumeration type
1785 (Project_Configuration): New componants Max_Command_Line_Length,
1786 Resp_File_Format and Resp_File_Options.
1787
1788 * snames.ads-tmpl: Add new standard names for linking response files
1789 for gprbuild: GNU, None, Object_List, Option_List,
1790 Max_Command_Line_Length, Response_File_Format and
1791 Response_File_Switches.
1792
17932009-04-10 Geert Bosch <bosch@adacore.com>
1794
1795 * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
1796 system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
1797 system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
1798 system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
1799 system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
1800 system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
1801 system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
1802 system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
1803 system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
1804 system-vxworks-arm.ads, system-vxworks-m68k.ads,
1805 system-vxworks-mips.ads, system-vxworks-ppc.ads,
1806 system-vxworks-sparcv9.ads, system-vxworks-x86.ads
1807 (Backend_Overflow_Checks): Set to True.
1808
934a3a25
AC
18092009-04-10 Thomas Quinot <quinot@adacore.com>
1810
1811 * exp_attr.adb: Minor reformatting
1812
18132009-04-10 Ed Schonberg <schonberg@adacore.com>
1814
1815 * sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
1816 analyze the expression for a postcondition, even if the compiler mode
1817 is Generate_Code.
1818
ab8e1b35
RD
18192009-04-10 Robert Dewar <dewar@adacore.com>
1820
1821 * sem_aux.adb: Minor reformatting
1822
2c880bdf
EF
18232009-04-10 Ed Falis <falis@adacore.com>
1824
1825 * init.c: Change VxWorks 6 stack overflow checking for kernel apps.
1826
1827 * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header.
1828
d8221f45
TQ
18292009-04-10 Thomas Quinot <quinot@adacore.com>
1830
1831 * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for
1832 undocumented formal.
1833 Minor reformatting
1834
1835 * a-direio.ads: Fix typo in comment
1836
1837 * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb,
1838 errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb:
1839 Use uniform phrasing for comment at start of subprogram body.
1840
1841 * xsnamest.adb: Add note to explain why we use specific names for the
1842 newly generated files instead of generating snames.{ads,adb,h} directly
1843
f559e62f
AC
18442009-04-10 Sergey Rybin <rybin@adacore.com>
1845
1846 * vms_data.ads:
1847 Add qualifier for new gnatstub option '--no-exception'
1848
1849 * gnat_ugn.texi:
1850 Add the description of the new gnatstub option '--no-exception'
1851
18522009-04-10 Robert Dewar <dewar@adacore.com>
1853
1854 * rtsfind.adb: Minor reformatting
1855
18562009-04-10 Thomas Quinot <quinot@adacore.com>
1857
1858 * sem_disp.adb: Minor reformatting.
1859 Add comment pointing to RM clause for the case of warning against a
1860 (failed) attempt at declaring a primitive operation elsewhere than in a
1861 package spec.
1862
18632009-04-10 Ed Schonberg <schonberg@adacore.com>
1864
1865 * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
1866 an actual for a previous formal package of the current instance.
1867
e50e1c5e
AC
18682009-04-10 Bob Duff <duff@adacore.com>
1869
1870 * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
1871 them first, rather than on the extended main unit.
1872
18732009-04-10 Ed Schonberg <schonberg@adacore.com>
1874
1875 * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
1876 specification of full view carries a null exclusion indicator, create
1877 an itype for it, to check for conformance with partial view.
1878
cb736868
AC
18792009-04-10 Bob Duff <duff@adacore.com>
1880
1881 * rtsfind.ads: Minor code change: make RE_Unit_Table constant.
1882
1883 * rtsfind.adb: Minor comment changes, and remove useless code.
1884
1885 * sinfo.ads: Add ??? comment.
1886
18872009-04-10 Vincent Celier <celier@adacore.com>
1888
1889 * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
1890
8a78c50d
AC
18912009-04-10 Ed Schonberg <schonberg@adacore.com>
1892
1893 * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
1894 type is a synchronized type, retrieve tag information from the
1895 corresponding record, which has the dispatch table link.
1896
18972009-04-10 Jerome Lambourg <lambourg@adacore.com>
1898
1899 * g-comlin.adb (Group_Analysis): Take care of switches that might be
1900 decomposed afterwards, but are present as-is in the command line
1901 configuration, and thus should be kept as-is.
1902
b66c3ff4
AC
19032009-04-10 Robert Dewar <dewar@adacore.com>
1904
1905 * gnat_rm.texi: Document that postconditions are tested on implicit
1906 returns.
1907
1908 * sem_aux.adb: Minor reformatting
1909
19102009-04-10 Gary Dismukes <dismukes@adacore.com>
1911
1912 * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
1913 setting Etype.
1914
1915 * par-ch3.adb (P_Access_Type_Definition): Set new attribute
1916 Null_Exclusion_In_Return_Present when an access-to-function type has a
1917 result type with an explicit not null.
1918
1919 * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
1920 given on the result type, then create a null-excluding itype for the
1921 function.
1922
1923 * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
1924 the case where a null exclusion is imposed on a named access type.
1925 (Analyze_Subprogram_Specification): Push and pop the scope of the
1926 function around the call to Analyze_Return_Type in the case of no
1927 formals, for consistency with handling when formals are present
1928 (Process_Formals does this). Ensures that any itype created for the
1929 return type will be associated with the proper scope.
1930
1931 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
1932 exclusion is given on a generic function's result type, then create a
1933 null-excluding itype for the generic function.
1934 (Instantiate_Object): Set Null_Exclusion_Present of a constant created
1935 for an actual for a formal in object according to the setting on the
1936 formal. Ensures null exclusion checks are done when the association is
1937 elaborated.
1938
1939 * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
1940 N_Access_Function_Definition.
1941
1942 * sinfo.adb: Add Get_ and Set_ operations for
1943 Null_Exclusion_In_Return_Present.
1944
5334d18f
BD
19452009-04-10 Bob Duff <duff@adacore.com>
1946
1947 * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
1948 call to the _Postconditions procedure in the case of implicit returns
1949 from analysis to expansion. This eliminates some duplicated code. Use
1950 the Postcondition_Proc to find the identity of this procedure during
1951 expansion.
1952
701b7fbb
RD
19532009-04-10 Robert Dewar <dewar@adacore.com>
1954
1955 * sem_ch6.adb: Minor code clean up.
1956
1957 * einfo.ads, sem_attr.adb: Minor comment fixes.
1958
19592009-04-10 Robert Dewar <dewar@adacore.com>
1960
1961 * sem_ch8.adb: Minor reformatting
1962
7ca78bba
RD
19632009-04-10 Robert Dewar <dewar@adacore.com>
1964
1965 * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for
1966 procedures.
1967
1968 * sem_ch6.adb: Minor code clean up.
1969
043ce308
AC
19702009-04-10 Robert Dewar <dewar@adacore.com>
1971
1972 * mlib-tgt-specific-xi.adb: Minor reformatting
1973
19742009-04-10 Bob Duff <duff@adacore.com>
1975
1976 * einfo.ads: Minor comment fixes
1977
19782009-04-10 Vincent Celier <celier@adacore.com>
1979
1980 * snames.ads-tmpl: Remove names that are no longer used in the
1981 Project Manager.
1982 Mark specifically those that are used only in gprbuild
1983
19842009-04-10 Eric Botcazou <ebotcazou@adacore.com>
1985
1986 * init.c: Adjust EH support code on Alpha/Tru64.
1987
19882009-04-10 Bob Duff <duff@adacore.com>
1989
1990 * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
1991 procedure on every path that could return implicitly (not via a return
1992 statement) from a procedure.
1993
19942009-04-10 Ed Schonberg <schonberg@adacore.com>
1995
1996 * exp_ch9.adb (Build_Master_Entity): An extended return statement is a
1997 valid scope for a task declarations and therefore for a master id.
1998
19992009-04-10 Robert Dewar <dewar@adacore.com>
2000
2001 * sem_aux.adb: Minor reformatting
2002
20032009-04-10 Vincent Celier <celier@adacore.com>
2004
2005 * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
2006 True.
2007 (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
2008 (Set_Obsolescent_Check): New procedure to change the value of
2009 Obsolescent_Check_Flag.
2010
2011 * scn.ads (Set_Obsolescent_Check): New procedure to control
2012 Obsolescent_Check.
2013
2014 * sinput-l.adb (Load_File): Do not check for pragma Restrictions on
2015 obsolescent features while preprocessing.
2016
550f4135
AC
20172009-04-10 Thomas Quinot <quinot@adacore.com>
2018
2019 * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
2020 generated files on all platforms.
2021
20222009-04-10 Robert Dewar <dewar@adacore.com>
2023
2024 * sem_aux.adb: Minor reformatting
2025
20262009-04-10 Ed Schonberg <schonberg@adacore.com>
2027
2028 * sem_ch3.adb (Access_Definition): Handle properly the case of a
2029 protected function with formals that returns an anonymous access type.
2030
20312009-04-10 Thomas Quinot <quinot@adacore.com>
2032
2033 * sem_disp.adb: Minor reformatting
2034
20352009-04-10 Vasiliy Fofanov <fofanov@adacore.com>
2036
2037 * seh_init.c: Do not use the 32-bit specific implementation of
2038 __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
2039 version TBD).
2040
20412009-04-10 Jose Ruiz <ruiz@adacore.com>
2042
2043 * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
2044 a '/' at the end so we better use the complete target name to determine
2045 whether it is a PowerPC 55xx target.
2046
3996951a
TQ
20472009-04-10 Thomas Quinot <quinot@adacore.com>
2048
2049 * sem_eval.adb: Minor reformatting
2050
b62a90f2
AC
20512009-04-10 Thomas Quinot <quinot@adacore.com>
2052
2053 * snames.h, snames.ads, snames.adb: Remove files, now generated from
2054 templates.
2055
2056 * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the
2057 above.
2058
2059 * xsnamest.adb: New file.
2060
2061 * gcc-interface/Make-lang.in: New target for automated generation of
2062 snames.ads, snames.adb and snames.h
2063
62298c61
TG
20642009-04-10 Tristan Gingold <gingold@adacore.com>
2065
2066 * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
2067 avoid compile time warnings.
2068 Do not add gcc/config in include search list while compiling the RTS.
2069 Pragma Thread_Local_Storage is available on any target.
2070
3764bb00
BD
20712009-04-10 Bob Duff <duff@adacore.com>
2072
2073 * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
2074
b3b9865d
AC
20752009-04-10 Tristan Gingold <gingold@adacore.com>
2076
2077 * init.c: Install signal handler on Darwin.
2078
20792009-04-10 Robert Dewar <dewar@adacore.com>
2080
2081 * sem_prag.adb: Minor reformatting
2082
2083 * exp_util.adb (Make_Non_Empty_Check): New function
2084 (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
2085 (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
2086
20872009-04-10 Arnaud Charlet <charlet@adacore.com>
2088
2089 * make.adb, gnatlink.adb: Rename JGNAT toolchain.
2090
20912009-04-10 Jose Ruiz <ruiz@adacore.com>
2092
2093 * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
2094 tool prefix for AVR and PowerPC 55xx targets.
2095
20962009-04-10 Robert Dewar <dewar@adacore.com>
2097
2098 * sem_warn.adb (Within_Postcondition): New function
2099 (Check_Unset_Reference): Use Within_Postcondition to stop bad warning
2100
c5288c90
AC
21012009-04-10 Robert Dewar <dewar@adacore.com>
2102
2103 * sem_warn.adb: Minor reformatting
2104
2105 * make.adb: Minor reformatting.
2106
21072009-04-10 Gary Dismukes <dismukes@adacore.com>
2108
2109 * exp_ch7.adb (Find_Final_List): When creating a finalization-chain
2110 entity and the scope is a subprogram, retrieve the Sloc of the
2111 subprogram's body rather than using the sloc of the spec, for better
2112 line-stepping behavior in gdb.
2113 (Wrap_Transient_Declaration): For the Sloc of nodes created with a list
2114 controller, use the Sloc of the first declaration of the containing list
2115 rather than that of the node that triggered creation of the list
2116 controller.
2117
2844b330
AC
21182009-04-10 Vincent Celier <celier@adacore.com>
2119
2120 * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
2121 to avoid gcc warning.
2122
21232009-04-10 Robert Dewar <dewar@adacore.com>
2124
2125 * g-comlin.adb: Add ??? comment
2126
21272009-04-10 Ed Schonberg <schonberg@adacore.com>
2128
2129 * sem_warn.adb (Check_Unused_Withs): Do not emit message about
2130 unreferenced entities for a package with no visible declarations.
2131
21322009-04-10 Robert Dewar <dewar@adacore.com>
2133
2134 * exp_ch9.adb: Minor reformatting
2135
be21e9d8
AC
21362009-04-10 Thomas Quinot <quinot@adacore.com>
2137
2138 * sem_prag.adb: Minor reformatting
2139
21402009-04-10 Vincent Celier <celier@adacore.com>
2141
2142 * prj-nmsc.adb:
2143 (Check_Library_Attributes): For a project qualified as a library project
2144 that is not a library project, indicate in the error message which
2145 attributes are missing (Library_Dir and/or Library_Name).
2146
4a7dedcb
BD
21472009-04-10 Bob Duff <duff@adacore.com>
2148
2149 * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of
2150 generated nodes, because it might confuse various circuits in the FE.
2151
4017021b
AC
21522009-04-10 Ed Schonberg <schonberg@adacore.com>
2153
2154 * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument
2155 of pragma. It will be recopied and analyzed when used in call to
2156 Create_Task.
2157
2158 * sem_res.adb (Resolve_Call): Clarify use of secondary stack within
2159 initialization operations and recognize use of it in procedure calls
2160 within init_procs.
2161
2162 * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name
2163 argument, because it may have side-effects.
2164
2165 * exp_ch2.adb: Remove obsolete comments on default functions
2166
21672009-04-10 Jose Ruiz <ruiz@adacore.com>
2168
2169 * adaint.c (RTX section): Do for RTX the same thing as we do for
2170 Windows (include ctype.h and define a fallback ISALPHA if IN_RTS).
2171
24357840
RD
21722009-04-10 Robert Dewar <dewar@adacore.com>
2173
2174 * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function.
2175
2176 * sem_res.adb (Resolve_Call): Fix test for
2177 Suppress_Value_Tracking_On_Call (was wrong for the case of a call from
2178 a non-dynamic scope).
2179
4f64abad
AC
21802009-04-10 Robert Dewar <dewar@adacore.com>
2181
2182 * make.adb: Add comment.
2183 Minor reformatting
2184
21852009-04-10 Nicolas Setton <setton@adacore.com>
2186
2187 * s-osprim-darwin.adb: New file.
2188
2189 * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec.
2190
21912009-04-10 Thomas Quinot <quinot@adacore.com>
2192
2193 * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
2194
748086b7
JJ
21952009-04-09 Nick Clifton <nickc@redhat.com>
2196
2197 * adadecode.h: Change copyright header to refer to version
2198 3 of the GNU General Public License with version 3.1 of the
2199 GCC Runtime Library Exception and to point readers at the
2200 COPYING3 and COPYING3.RUNTIME files and the FSF's license web
2201 page.
2202 * 9drpc.adb: Likewise.
2203 * a-assert.adb: Likewise.
2204 * a-astaco.adb: Likewise.
2205 * a-calari.adb: Likewise.
2206 * a-calcon.adb: Likewise.
2207 * a-calcon.ads: Likewise.
2208 * a-caldel.ads: Likewise.
2209 * a-calend-vms.adb: Likewise.
2210 * a-calend-vms.ads: Likewise.
2211 * a-calend.adb: Likewise.
2212 * a-calend.ads: Likewise.
2213 * a-calfor.adb: Likewise.
2214 * a-catizo.adb: Likewise.
2215 * a-cdlili.adb: Likewise.
2216 * a-cdlili.ads: Likewise.
2217 * a-cgaaso.adb: Likewise.
2218 * a-cgaaso.ads: Likewise.
2219 * a-cgarso.adb: Likewise.
2220 * a-cgcaso.adb: Likewise.
2221 * a-chacon.adb: Likewise.
2222 * a-chacon.ads: Likewise.
2223 * a-chahan.adb: Likewise.
2224 * a-chahan.ads: Likewise.
2225 * a-chlat9.ads: Likewise.
2226 * a-chtgke.adb: Likewise.
2227 * a-chtgke.ads: Likewise.
2228 * a-chtgop.adb: Likewise.
2229 * a-chtgop.ads: Likewise.
2230 * a-chzla1.ads: Likewise.
2231 * a-chzla9.ads: Likewise.
2232 * a-cidlli.adb: Likewise.
2233 * a-cidlli.ads: Likewise.
2234 * a-cihama.adb: Likewise.
2235 * a-cihama.ads: Likewise.
2236 * a-cihase.adb: Likewise.
2237 * a-cihase.ads: Likewise.
2238 * a-ciorma.adb: Likewise.
2239 * a-ciorma.ads: Likewise.
2240 * a-ciormu.adb: Likewise.
2241 * a-ciormu.ads: Likewise.
2242 * a-ciorse.adb: Likewise.
2243 * a-ciorse.ads: Likewise.
2244 * a-clrefi.adb: Likewise.
2245 * a-clrefi.ads: Likewise.
2246 * a-cohama.adb: Likewise.
2247 * a-cohama.ads: Likewise.
2248 * a-cohase.adb: Likewise.
2249 * a-cohase.ads: Likewise.
2250 * a-cohata.ads: Likewise.
2251 * a-coinve.adb: Likewise.
2252 * a-coinve.ads: Likewise.
2253 * a-colien.adb: Likewise.
2254 * a-colien.ads: Likewise.
2255 * a-colire.adb: Likewise.
2256 * a-colire.ads: Likewise.
2257 * a-comlin.adb: Likewise.
2258 * a-comlin.ads: Likewise.
2259 * a-convec.adb: Likewise.
2260 * a-convec.ads: Likewise.
2261 * a-coorma.adb: Likewise.
2262 * a-coorma.ads: Likewise.
2263 * a-coormu.adb: Likewise.
2264 * a-coormu.ads: Likewise.
2265 * a-coorse.adb: Likewise.
2266 * a-coorse.ads: Likewise.
2267 * a-coprnu.adb: Likewise.
2268 * a-coprnu.ads: Likewise.
2269 * a-crbltr.ads: Likewise.
2270 * a-crbtgk.adb: Likewise.
2271 * a-crbtgk.ads: Likewise.
2272 * a-crbtgo.adb: Likewise.
2273 * a-crbtgo.ads: Likewise.
2274 * a-crdlli.adb: Likewise.
2275 * a-crdlli.ads: Likewise.
2276 * a-cwila1.ads: Likewise.
2277 * a-cwila9.ads: Likewise.
2278 * a-decima.adb: Likewise.
2279 * a-decima.ads: Likewise.
2280 * a-diocst.adb: Likewise.
2281 * a-diocst.ads: Likewise.
2282 * a-direct.adb: Likewise.
2283 * a-direct.ads: Likewise.
2284 * a-direio.adb: Likewise.
2285 * a-direio.ads: Likewise.
2286 * a-dirval-mingw.adb: Likewise.
2287 * a-dirval-vms.adb: Likewise.
2288 * a-dirval.adb: Likewise.
2289 * a-dirval.ads: Likewise.
2290 * a-dynpri.adb: Likewise.
2291 * a-einuoc.adb: Likewise.
2292 * a-einuoc.ads: Likewise.
2293 * a-elchha.adb: Likewise.
2294 * a-elchha.ads: Likewise.
2295 * a-envvar.adb: Likewise.
2296 * a-excach.adb: Likewise.
2297 * a-except-2005.adb: Likewise.
2298 * a-except-2005.ads: Likewise.
2299 * a-except.adb: Likewise.
2300 * a-except.ads: Likewise.
2301 * a-excpol-abort.adb: Likewise.
2302 * a-excpol.adb: Likewise.
2303 * a-exctra.adb: Likewise.
2304 * a-exctra.ads: Likewise.
2305 * a-exetim-mingw.adb: Likewise.
2306 * a-exetim-mingw.ads: Likewise.
2307 * a-exexda.adb: Likewise.
2308 * a-exexpr-gcc.adb: Likewise.
2309 * a-exexpr.adb: Likewise.
2310 * a-exextr.adb: Likewise.
2311 * a-exstat.adb: Likewise.
2312 * a-filico.adb: Likewise.
2313 * a-filico.ads: Likewise.
2314 * a-finali.adb: Likewise.
2315 * a-finali.ads: Likewise.
2316 * a-interr.ads: Likewise.
2317 * a-intnam-aix.ads: Likewise.
2318 * a-intnam-darwin.ads: Likewise.
2319 * a-intnam-dummy.ads: Likewise.
2320 * a-intnam-freebsd.ads: Likewise.
2321 * a-intnam-hpux.ads: Likewise.
2322 * a-intnam-irix.ads: Likewise.
2323 * a-intnam-linux.ads: Likewise.
2324 * a-intnam-lynxos.ads: Likewise.
2325 * a-intnam-mingw.ads: Likewise.
2326 * a-intnam-rtems.ads: Likewise.
2327 * a-intnam-solaris.ads: Likewise.
2328 * a-intnam-tru64.ads: Likewise.
2329 * a-intnam-vms.ads: Likewise.
2330 * a-intnam-vxworks.ads: Likewise.
2331 * a-intsig.adb: Likewise.
2332 * a-intsig.ads: Likewise.
2333 * a-ngcefu.adb: Likewise.
2334 * a-ngcoar.adb: Likewise.
2335 * a-ngcoty.adb: Likewise.
2336 * a-ngcoty.ads: Likewise.
2337 * a-ngelfu.adb: Likewise.
2338 * a-ngrear.adb: Likewise.
2339 * a-ngrear.ads: Likewise.
2340 * a-nudira.adb: Likewise.
2341 * a-nudira.ads: Likewise.
2342 * a-nuflra.adb: Likewise.
2343 * a-nuflra.ads: Likewise.
2344 * a-numaux-darwin.adb: Likewise.
2345 * a-numaux-darwin.ads: Likewise.
2346 * a-numaux-libc-x86.ads: Likewise.
2347 * a-numaux-vxworks.ads: Likewise.
2348 * a-numaux-x86.adb: Likewise.
2349 * a-numaux-x86.ads: Likewise.
2350 * a-numaux.ads: Likewise.
2351 * a-rbtgso.adb: Likewise.
2352 * a-rbtgso.ads: Likewise.
2353 * a-reatim.ads: Likewise.
2354 * a-retide.adb: Likewise.
2355 * a-retide.ads: Likewise.
2356 * a-rttiev.adb: Likewise.
2357 * a-rttiev.ads: Likewise.
2358 * a-secain.adb: Likewise.
2359 * a-secain.ads: Likewise.
2360 * a-sequio.adb: Likewise.
2361 * a-sequio.ads: Likewise.
2362 * a-shcain.adb: Likewise.
2363 * a-shcain.ads: Likewise.
2364 * a-siocst.adb: Likewise.
2365 * a-siocst.ads: Likewise.
2366 * a-slcain.adb: Likewise.
2367 * a-slcain.ads: Likewise.
2368 * a-ssicst.adb: Likewise.
2369 * a-ssicst.ads: Likewise.
2370 * a-stboha.adb: Likewise.
2371 * a-stmaco.ads: Likewise.
2372 * a-storio.adb: Likewise.
2373 * a-strbou.adb: Likewise.
2374 * a-strbou.ads: Likewise.
2375 * a-stream.ads: Likewise.
2376 * a-strfix.adb: Likewise.
2377 * a-strhas.adb: Likewise.
2378 * a-strmap.adb: Likewise.
2379 * a-strmap.ads: Likewise.
2380 * a-strsea.adb: Likewise.
2381 * a-strsea.ads: Likewise.
2382 * a-strsup.adb: Likewise.
2383 * a-strsup.ads: Likewise.
2384 * a-strunb.adb: Likewise.
2385 * a-strunb.ads: Likewise.
2386 * a-ststio.adb: Likewise.
2387 * a-ststio.ads: Likewise.
2388 * a-stunau.adb: Likewise.
2389 * a-stunau.ads: Likewise.
2390 * a-stunha.adb: Likewise.
2391 * a-stwibo.adb: Likewise.
2392 * a-stwibo.ads: Likewise.
2393 * a-stwifi.adb: Likewise.
2394 * a-stwiha.adb: Likewise.
2395 * a-stwima.adb: Likewise.
2396 * a-stwima.ads: Likewise.
2397 * a-stwise.adb: Likewise.
2398 * a-stwise.ads: Likewise.
2399 * a-stwisu.adb: Likewise.
2400 * a-stwisu.ads: Likewise.
2401 * a-stwiun.adb: Likewise.
2402 * a-stwiun.ads: Likewise.
2403 * a-stzbou.adb: Likewise.
2404 * a-stzbou.ads: Likewise.
2405 * a-stzfix.adb: Likewise.
2406 * a-stzhas.adb: Likewise.
2407 * a-stzmap.adb: Likewise.
2408 * a-stzmap.ads: Likewise.
2409 * a-stzsea.adb: Likewise.
2410 * a-stzsea.ads: Likewise.
2411 * a-stzsup.adb: Likewise.
2412 * a-stzsup.ads: Likewise.
2413 * a-stzunb.adb: Likewise.
2414 * a-stzunb.ads: Likewise.
2415 * a-suteio.adb: Likewise.
2416 * a-suteio.ads: Likewise.
2417 * a-swbwha.adb: Likewise.
2418 * a-swmwco.ads: Likewise.
2419 * a-swunau.adb: Likewise.
2420 * a-swunau.ads: Likewise.
2421 * a-swuwha.adb: Likewise.
2422 * a-swuwti.adb: Likewise.
2423 * a-swuwti.ads: Likewise.
2424 * a-sytaco.adb: Likewise.
2425 * a-sytaco.ads: Likewise.
2426 * a-szbzha.adb: Likewise.
2427 * a-szmzco.ads: Likewise.
2428 * a-szunau.adb: Likewise.
2429 * a-szunau.ads: Likewise.
2430 * a-szuzha.adb: Likewise.
2431 * a-szuzti.adb: Likewise.
2432 * a-szuzti.ads: Likewise.
2433 * a-tags.adb: Likewise.
2434 * a-tags.ads: Likewise.
2435 * a-tasatt.ads: Likewise.
2436 * a-taside.adb: Likewise.
2437 * a-taside.ads: Likewise.
2438 * a-taster.adb: Likewise.
2439 * a-teioed.adb: Likewise.
2440 * a-teioed.ads: Likewise.
2441 * a-textio.adb: Likewise.
2442 * a-textio.ads: Likewise.
2443 * a-tiboio.adb: Likewise.
2444 * a-ticoau.adb: Likewise.
2445 * a-ticoau.ads: Likewise.
2446 * a-ticoio.adb: Likewise.
2447 * a-ticoio.ads: Likewise.
2448 * a-tideau.adb: Likewise.
2449 * a-tideau.ads: Likewise.
2450 * a-tideio.adb: Likewise.
2451 * a-tideio.ads: Likewise.
2452 * a-tienau.adb: Likewise.
2453 * a-tienau.ads: Likewise.
2454 * a-tienio.adb: Likewise.
2455 * a-tienio.ads: Likewise.
2456 * a-tifiio.adb: Likewise.
2457 * a-tifiio.ads: Likewise.
2458 * a-tiflau.adb: Likewise.
2459 * a-tiflau.ads: Likewise.
2460 * a-tiflio.adb: Likewise.
2461 * a-tiflio.ads: Likewise.
2462 * a-tigeau.adb: Likewise.
2463 * a-tigeau.ads: Likewise.
2464 * a-tiinau.adb: Likewise.
2465 * a-tiinau.ads: Likewise.
2466 * a-tiinio.adb: Likewise.
2467 * a-tiinio.ads: Likewise.
2468 * a-timoau.adb: Likewise.
2469 * a-timoau.ads: Likewise.
2470 * a-timoio.adb: Likewise.
2471 * a-timoio.ads: Likewise.
2472 * a-tiocst.adb: Likewise.
2473 * a-tiocst.ads: Likewise.
2474 * a-titest.adb: Likewise.
2475 * a-wichun.adb: Likewise.
2476 * a-wichun.ads: Likewise.
2477 * a-witeio.adb: Likewise.
2478 * a-witeio.ads: Likewise.
2479 * a-wtcoau.adb: Likewise.
2480 * a-wtcoau.ads: Likewise.
2481 * a-wtcoio.adb: Likewise.
2482 * a-wtcstr.adb: Likewise.
2483 * a-wtcstr.ads: Likewise.
2484 * a-wtdeau.adb: Likewise.
2485 * a-wtdeau.ads: Likewise.
2486 * a-wtdeio.adb: Likewise.
2487 * a-wtdeio.ads: Likewise.
2488 * a-wtedit.adb: Likewise.
2489 * a-wtedit.ads: Likewise.
2490 * a-wtenau.adb: Likewise.
2491 * a-wtenau.ads: Likewise.
2492 * a-wtenio.adb: Likewise.
2493 * a-wtenio.ads: Likewise.
2494 * a-wtfiio.adb: Likewise.
2495 * a-wtfiio.ads: Likewise.
2496 * a-wtflau.adb: Likewise.
2497 * a-wtflau.ads: Likewise.
2498 * a-wtflio.adb: Likewise.
2499 * a-wtflio.ads: Likewise.
2500 * a-wtgeau.adb: Likewise.
2501 * a-wtgeau.ads: Likewise.
2502 * a-wtinau.adb: Likewise.
2503 * a-wtinau.ads: Likewise.
2504 * a-wtinio.adb: Likewise.
2505 * a-wtmoau.adb: Likewise.
2506 * a-wtmoau.ads: Likewise.
2507 * a-wtmoio.adb: Likewise.
2508 * a-wtmoio.ads: Likewise.
2509 * a-wttest.adb: Likewise.
2510 * a-wwboio.adb: Likewise.
2511 * a-zchuni.adb: Likewise.
2512 * a-zchuni.ads: Likewise.
2513 * a-ztcoau.adb: Likewise.
2514 * a-ztcoau.ads: Likewise.
2515 * a-ztcoio.adb: Likewise.
2516 * a-ztcstr.adb: Likewise.
2517 * a-ztcstr.ads: Likewise.
2518 * a-ztdeau.adb: Likewise.
2519 * a-ztdeau.ads: Likewise.
2520 * a-ztdeio.adb: Likewise.
2521 * a-ztdeio.ads: Likewise.
2522 * a-ztedit.adb: Likewise.
2523 * a-ztedit.ads: Likewise.
2524 * a-ztenau.adb: Likewise.
2525 * a-ztenau.ads: Likewise.
2526 * a-ztenio.adb: Likewise.
2527 * a-ztenio.ads: Likewise.
2528 * a-ztexio.adb: Likewise.
2529 * a-ztexio.ads: Likewise.
2530 * a-ztfiio.adb: Likewise.
2531 * a-ztfiio.ads: Likewise.
2532 * a-ztflau.adb: Likewise.
2533 * a-ztflau.ads: Likewise.
2534 * a-ztflio.adb: Likewise.
2535 * a-ztflio.ads: Likewise.
2536 * a-ztgeau.adb: Likewise.
2537 * a-ztgeau.ads: Likewise.
2538 * a-ztinau.adb: Likewise.
2539 * a-ztinau.ads: Likewise.
2540 * a-ztinio.adb: Likewise.
2541 * a-ztmoau.adb: Likewise.
2542 * a-ztmoau.ads: Likewise.
2543 * a-ztmoio.adb: Likewise.
2544 * a-ztmoio.ads: Likewise.
2545 * a-zttest.adb: Likewise.
2546 * a-zzboio.adb: Likewise.
2547 * adadecode.c: Likewise.
2548 * adaint.c: Likewise.
2549 * adaint.h: Likewise.
2550 * alloc.ads: Likewise.
2551 * argv.c: Likewise.
2552 * arit64.c: Likewise.
2553 * atree.adb: Likewise.
2554 * atree.ads: Likewise.
2555 * aux-io.c: Likewise.
2556 * cal.c: Likewise.
2557 * casing.adb: Likewise.
2558 * casing.ads: Likewise.
2559 * cio.c: Likewise.
2560 * csets.adb: Likewise.
2561 * csets.ads: Likewise.
2562 * cstreams.c: Likewise.
2563 * ctrl_c.c: Likewise.
2564 * debug.adb: Likewise.
2565 * debug.ads: Likewise.
2566 * dec.ads: Likewise.
2567 * einfo.adb: Likewise.
2568 * einfo.ads: Likewise.
2569 * elists.adb: Likewise.
2570 * elists.ads: Likewise.
2571 * env.c: Likewise.
2572 * env.h: Likewise.
2573 * errno.c: Likewise.
2574 * exit.c: Likewise.
2575 * fe.h: Likewise.
2576 * final.c: Likewise.
2577 * fname.adb: Likewise.
2578 * fname.ads: Likewise.
2579 * g-allein.ads: Likewise.
2580 * g-alleve.adb: Likewise.
2581 * g-alleve.ads: Likewise.
2582 * g-altcon.adb: Likewise.
2583 * g-altcon.ads: Likewise.
2584 * g-altive.ads: Likewise.
2585 * g-alveop.adb: Likewise.
2586 * g-alveop.ads: Likewise.
2587 * g-alvety.ads: Likewise.
2588 * g-alvevi.ads: Likewise.
2589 * g-arrspl.adb: Likewise.
2590 * g-arrspl.ads: Likewise.
2591 * g-calend.ads: Likewise.
2592 * g-comlin.adb: Likewise.
2593 * g-debpoo.adb: Likewise.
2594 * g-debpoo.ads: Likewise.
2595 * g-eacodu-vms.adb: Likewise.
2596 * g-eacodu.adb: Likewise.
2597 * g-excact.adb: Likewise.
2598 * g-excact.ads: Likewise.
2599 * g-locfil.adb: Likewise.
2600 * g-os_lib.ads: Likewise.
2601 * g-rannum.adb: Likewise.
2602 * g-rannum.ads: Likewise.
2603 * g-regist.adb: Likewise.
2604 * g-regist.ads: Likewise.
2605 * g-signal.adb: Likewise.
2606 * g-signal.ads: Likewise.
2607 * g-soccon.ads: Likewise.
2608 * g-string.adb: Likewise.
2609 * g-string.ads: Likewise.
2610 * g-strspl.ads: Likewise.
2611 * g-timsta.adb: Likewise.
2612 * g-timsta.ads: Likewise.
2613 * g-trasym-vms-alpha.adb: Likewise.
2614 * g-trasym-vms-ia64.adb: Likewise.
2615 * g-utf_32.adb: Likewise.
2616 * g-utf_32.ads: Likewise.
2617 * g-wistsp.ads: Likewise.
2618 * g-zstspl.ads: Likewise.
2619 * gmem.c: Likewise.
2620 * gnatvsn.adb: Likewise.
2621 * gnatvsn.ads: Likewise.
2622 * gsocket.h: Likewise.
2623 * hostparm.ads: Likewise.
2624 * i-c.adb: Likewise.
2625 * i-cexten.ads: Likewise.
2626 * i-cobol.adb: Likewise.
2627 * i-cobol.ads: Likewise.
2628 * i-cpoint.adb: Likewise.
2629 * i-cpoint.ads: Likewise.
2630 * i-cpp.adb: Likewise.
2631 * i-cpp.ads: Likewise.
2632 * i-cstrea-vms.adb: Likewise.
2633 * i-cstrea.adb: Likewise.
2634 * i-cstrea.ads: Likewise.
2635 * i-cstrin.adb: Likewise.
2636 * i-cstrin.ads: Likewise.
2637 * i-forbla-darwin.adb: Likewise.
2638 * i-forbla-unimplemented.ads: Likewise.
2639 * i-forbla.adb: Likewise.
2640 * i-forbla.ads: Likewise.
2641 * i-forlap.ads: Likewise.
2642 * i-fortra.adb: Likewise.
2643 * i-pacdec.adb: Likewise.
2644 * i-pacdec.ads: Likewise.
2645 * i-vxwoio.adb: Likewise.
2646 * i-vxwoio.ads: Likewise.
2647 * indepsw-aix.adb: Likewise.
2648 * indepsw-gnu.adb: Likewise.
2649 * indepsw-mingw.adb: Likewise.
2650 * indepsw.adb: Likewise.
2651 * indepsw.ads: Likewise.
2652 * init.c: Likewise.
2653 * initialize.c: Likewise.
2654 * interfac.ads: Likewise.
2655 * krunch.adb: Likewise.
2656 * krunch.ads: Likewise.
2657 * lib-list.adb: Likewise.
2658 * lib-sort.adb: Likewise.
2659 * lib.adb: Likewise.
2660 * lib.ads: Likewise.
2661 * link.c: Likewise.
2662 * math_lib.adb: Likewise.
2663 * memtrack.adb: Likewise.
2664 * mingw32.h: Likewise.
2665 * mkdir.c: Likewise.
2666 * namet-sp.adb: Likewise.
2667 * namet-sp.ads: Likewise.
2668 * namet.adb: Likewise.
2669 * namet.ads: Likewise.
2670 * nlists.adb: Likewise.
2671 * nlists.ads: Likewise.
2672 * opt.adb: Likewise.
2673 * opt.ads: Likewise.
2674 * output.adb: Likewise.
2675 * output.ads: Likewise.
2676 * raise-gcc.c: Likewise.
2677 * raise.c: Likewise.
2678 * raise.h: Likewise.
2679 * repinfo.adb: Likewise.
2680 * repinfo.ads: Likewise.
2681 * repinfo.h: Likewise.
2682 * rident.ads: Likewise.
2683 * s-addima.adb: Likewise.
2684 * s-addima.ads: Likewise.
2685 * s-addope.adb: Likewise.
2686 * s-addope.ads: Likewise.
2687 * s-arit64.adb: Likewise.
2688 * s-arit64.ads: Likewise.
2689 * s-assert.adb: Likewise.
2690 * s-assert.ads: Likewise.
2691 * s-asthan-vms-alpha.adb: Likewise.
2692 * s-asthan.adb: Likewise.
2693 * s-asthan.ads: Likewise.
2694 * s-atacco.adb: Likewise.
2695 * s-atacco.ads: Likewise.
2696 * s-auxdec-empty.adb: Likewise.
2697 * s-auxdec-empty.ads: Likewise.
2698 * s-auxdec-vms_64.ads: Likewise.
2699 * s-auxdec.adb: Likewise.
2700 * s-auxdec.ads: Likewise.
2701 * s-bitops.adb: Likewise.
2702 * s-bitops.ads: Likewise.
2703 * s-boarop.ads: Likewise.
2704 * s-carsi8.adb: Likewise.
2705 * s-carsi8.ads: Likewise.
2706 * s-carun8.adb: Likewise.
2707 * s-carun8.ads: Likewise.
2708 * s-casi16.adb: Likewise.
2709 * s-casi16.ads: Likewise.
2710 * s-casi32.adb: Likewise.
2711 * s-casi32.ads: Likewise.
2712 * s-casi64.adb: Likewise.
2713 * s-casi64.ads: Likewise.
2714 * s-casuti.ads: Likewise.
2715 * s-caun16.adb: Likewise.
2716 * s-caun16.ads: Likewise.
2717 * s-caun32.adb: Likewise.
2718 * s-caun32.ads: Likewise.
2719 * s-caun64.adb: Likewise.
2720 * s-caun64.ads: Likewise.
2721 * s-chepoo.ads: Likewise.
2722 * s-crc32.adb: Likewise.
2723 * s-crc32.ads: Likewise.
2724 * s-crtl.ads: Likewise.
2725 * s-direio.adb: Likewise.
2726 * s-direio.ads: Likewise.
2727 * s-dsaser.ads: Likewise.
2728 * s-except.adb: Likewise.
2729 * s-except.ads: Likewise.
2730 * s-exctab.adb: Likewise.
2731 * s-exctab.ads: Likewise.
2732 * s-exnint.adb: Likewise.
2733 * s-exnint.ads: Likewise.
2734 * s-exnllf.adb: Likewise.
2735 * s-exnllf.ads: Likewise.
2736 * s-exnlli.adb: Likewise.
2737 * s-exnlli.ads: Likewise.
2738 * s-expint.adb: Likewise.
2739 * s-expint.ads: Likewise.
2740 * s-explli.adb: Likewise.
2741 * s-explli.ads: Likewise.
2742 * s-expllu.adb: Likewise.
2743 * s-expllu.ads: Likewise.
2744 * s-expmod.adb: Likewise.
2745 * s-expmod.ads: Likewise.
2746 * s-expuns.adb: Likewise.
2747 * s-expuns.ads: Likewise.
2748 * s-fatflt.ads: Likewise.
2749 * s-fatgen.adb: Likewise.
2750 * s-fatgen.ads: Likewise.
2751 * s-fatlfl.ads: Likewise.
2752 * s-fatllf.ads: Likewise.
2753 * s-fatsfl.ads: Likewise.
2754 * s-ficobl.ads: Likewise.
2755 * s-fileio.adb: Likewise.
2756 * s-fileio.ads: Likewise.
2757 * s-filofl.ads: Likewise.
2758 * s-finimp.adb: Likewise.
2759 * s-finimp.ads: Likewise.
2760 * s-finroo.adb: Likewise.
2761 * s-finroo.ads: Likewise.
2762 * s-fishfl.ads: Likewise.
2763 * s-fore.adb: Likewise.
2764 * s-fore.ads: Likewise.
2765 * s-fvadfl.ads: Likewise.
2766 * s-fvaffl.ads: Likewise.
2767 * s-fvagfl.ads: Likewise.
2768 * s-gearop.adb: Likewise.
2769 * s-gearop.ads: Likewise.
2770 * s-gecobl.adb: Likewise.
2771 * s-gecobl.ads: Likewise.
2772 * s-gecola.adb: Likewise.
2773 * s-gecola.ads: Likewise.
2774 * s-gerebl.adb: Likewise.
2775 * s-gerebl.ads: Likewise.
2776 * s-gerela.adb: Likewise.
2777 * s-gerela.ads: Likewise.
2778 * s-geveop.adb: Likewise.
2779 * s-geveop.ads: Likewise.
2780 * s-gloloc.adb: Likewise.
2781 * s-gloloc.ads: Likewise.
2782 * s-hibaen.ads: Likewise.
2783 * s-imenne.adb: Likewise.
2784 * s-imenne.ads: Likewise.
2785 * s-imgbiu.adb: Likewise.
2786 * s-imgbiu.ads: Likewise.
2787 * s-imgboo.adb: Likewise.
2788 * s-imgboo.ads: Likewise.
2789 * s-imgcha.adb: Likewise.
2790 * s-imgcha.ads: Likewise.
2791 * s-imgdec.adb: Likewise.
2792 * s-imgdec.ads: Likewise.
2793 * s-imgenu.adb: Likewise.
2794 * s-imgenu.ads: Likewise.
2795 * s-imgint.adb: Likewise.
2796 * s-imgint.ads: Likewise.
2797 * s-imgllb.adb: Likewise.
2798 * s-imgllb.ads: Likewise.
2799 * s-imglld.adb: Likewise.
2800 * s-imglld.ads: Likewise.
2801 * s-imglli.adb: Likewise.
2802 * s-imglli.ads: Likewise.
2803 * s-imgllu.adb: Likewise.
2804 * s-imgllu.ads: Likewise.
2805 * s-imgllw.adb: Likewise.
2806 * s-imgllw.ads: Likewise.
2807 * s-imgrea.adb: Likewise.
2808 * s-imgrea.ads: Likewise.
2809 * s-imguns.adb: Likewise.
2810 * s-imguns.ads: Likewise.
2811 * s-imgwch.adb: Likewise.
2812 * s-imgwch.ads: Likewise.
2813 * s-imgwiu.adb: Likewise.
2814 * s-imgwiu.ads: Likewise.
2815 * s-inmaop-dummy.adb: Likewise.
2816 * s-inmaop-vms.adb: Likewise.
2817 * s-inmaop.ads: Likewise.
2818 * s-interr-hwint.adb: Likewise.
2819 * s-interr-sigaction.adb: Likewise.
2820 * s-interr-vms.adb: Likewise.
2821 * s-interr.adb: Likewise.
2822 * s-interr.ads: Likewise.
2823 * s-intman-dummy.adb: Likewise.
2824 * s-intman-mingw.adb: Likewise.
2825 * s-intman-posix.adb: Likewise.
2826 * s-intman-solaris.adb: Likewise.
2827 * s-intman-vms.adb: Likewise.
2828 * s-intman-vms.ads: Likewise.
2829 * s-intman-vxworks.adb: Likewise.
2830 * s-intman-vxworks.ads: Likewise.
2831 * s-intman.ads: Likewise.
2832 * s-io.adb: Likewise.
2833 * s-io.ads: Likewise.
2834 * s-linux-alpha.ads: Likewise.
2835 * s-linux-hppa.ads: Likewise.
2836 * s-linux.ads: Likewise.
2837 * s-maccod.ads: Likewise.
2838 * s-mantis.adb: Likewise.
2839 * s-mantis.ads: Likewise.
2840 * s-mastop-irix.adb: Likewise.
2841 * s-mastop.adb: Likewise.
2842 * s-mastop.ads: Likewise.
2843 * s-memcop.ads: Likewise.
2844 * s-memory-mingw.adb: Likewise.
2845 * s-memory.adb: Likewise.
2846 * s-memory.ads: Likewise.
2847 * s-os_lib.ads: Likewise.
2848 * s-oscons-tmplt.c: Likewise.
2849 * s-osinte-aix.adb: Likewise.
2850 * s-osinte-darwin.adb: Likewise.
2851 * s-osinte-freebsd.adb: Likewise.
2852 * s-osinte-irix.adb: Likewise.
2853 * s-osinte-lynxos-3.adb: Likewise.
2854 * s-osinte-rtems.ads: Likewise.
2855 * s-osinte-tru64.adb: Likewise.
2856 * s-osinte-vxworks-kernel.adb: Likewise.
2857 * s-osinte-vxworks.adb: Likewise.
2858 * s-osprim-mingw.adb: Likewise.
2859 * s-osprim-posix.adb: Likewise.
2860 * s-osprim-solaris.adb: Likewise.
2861 * s-osprim-unix.adb: Likewise.
2862 * s-osprim-vms.adb: Likewise.
2863 * s-osprim-vms.ads: Likewise.
2864 * s-osprim-vxworks.adb: Likewise.
2865 * s-osprim.ads: Likewise.
2866 * s-pack03.adb: Likewise.
2867 * s-pack03.ads: Likewise.
2868 * s-pack05.adb: Likewise.
2869 * s-pack05.ads: Likewise.
2870 * s-pack06.adb: Likewise.
2871 * s-pack06.ads: Likewise.
2872 * s-pack07.adb: Likewise.
2873 * s-pack07.ads: Likewise.
2874 * s-pack09.adb: Likewise.
2875 * s-pack09.ads: Likewise.
2876 * s-pack10.adb: Likewise.
2877 * s-pack10.ads: Likewise.
2878 * s-pack11.adb: Likewise.
2879 * s-pack11.ads: Likewise.
2880 * s-pack12.adb: Likewise.
2881 * s-pack12.ads: Likewise.
2882 * s-pack13.adb: Likewise.
2883 * s-pack13.ads: Likewise.
2884 * s-pack14.adb: Likewise.
2885 * s-pack14.ads: Likewise.
2886 * s-pack15.adb: Likewise.
2887 * s-pack15.ads: Likewise.
2888 * s-pack17.adb: Likewise.
2889 * s-pack17.ads: Likewise.
2890 * s-pack18.adb: Likewise.
2891 * s-pack18.ads: Likewise.
2892 * s-pack19.adb: Likewise.
2893 * s-pack19.ads: Likewise.
2894 * s-pack20.adb: Likewise.
2895 * s-pack20.ads: Likewise.
2896 * s-pack21.adb: Likewise.
2897 * s-pack21.ads: Likewise.
2898 * s-pack22.adb: Likewise.
2899 * s-pack22.ads: Likewise.
2900 * s-pack23.adb: Likewise.
2901 * s-pack23.ads: Likewise.
2902 * s-pack24.adb: Likewise.
2903 * s-pack24.ads: Likewise.
2904 * s-pack25.adb: Likewise.
2905 * s-pack25.ads: Likewise.
2906 * s-pack26.adb: Likewise.
2907 * s-pack26.ads: Likewise.
2908 * s-pack27.adb: Likewise.
2909 * s-pack27.ads: Likewise.
2910 * s-pack28.adb: Likewise.
2911 * s-pack28.ads: Likewise.
2912 * s-pack29.adb: Likewise.
2913 * s-pack29.ads: Likewise.
2914 * s-pack30.adb: Likewise.
2915 * s-pack30.ads: Likewise.
2916 * s-pack31.adb: Likewise.
2917 * s-pack31.ads: Likewise.
2918 * s-pack33.adb: Likewise.
2919 * s-pack33.ads: Likewise.
2920 * s-pack34.adb: Likewise.
2921 * s-pack34.ads: Likewise.
2922 * s-pack35.adb: Likewise.
2923 * s-pack35.ads: Likewise.
2924 * s-pack36.adb: Likewise.
2925 * s-pack36.ads: Likewise.
2926 * s-pack37.adb: Likewise.
2927 * s-pack37.ads: Likewise.
2928 * s-pack38.adb: Likewise.
2929 * s-pack38.ads: Likewise.
2930 * s-pack39.adb: Likewise.
2931 * s-pack39.ads: Likewise.
2932 * s-pack40.adb: Likewise.
2933 * s-pack40.ads: Likewise.
2934 * s-pack41.adb: Likewise.
2935 * s-pack41.ads: Likewise.
2936 * s-pack42.adb: Likewise.
2937 * s-pack42.ads: Likewise.
2938 * s-pack43.adb: Likewise.
2939 * s-pack43.ads: Likewise.
2940 * s-pack44.adb: Likewise.
2941 * s-pack44.ads: Likewise.
2942 * s-pack45.adb: Likewise.
2943 * s-pack45.ads: Likewise.
2944 * s-pack46.adb: Likewise.
2945 * s-pack46.ads: Likewise.
2946 * s-pack47.adb: Likewise.
2947 * s-pack47.ads: Likewise.
2948 * s-pack48.adb: Likewise.
2949 * s-pack48.ads: Likewise.
2950 * s-pack49.adb: Likewise.
2951 * s-pack49.ads: Likewise.
2952 * s-pack50.adb: Likewise.
2953 * s-pack50.ads: Likewise.
2954 * s-pack51.adb: Likewise.
2955 * s-pack51.ads: Likewise.
2956 * s-pack52.adb: Likewise.
2957 * s-pack52.ads: Likewise.
2958 * s-pack53.adb: Likewise.
2959 * s-pack53.ads: Likewise.
2960 * s-pack54.adb: Likewise.
2961 * s-pack54.ads: Likewise.
2962 * s-pack55.adb: Likewise.
2963 * s-pack55.ads: Likewise.
2964 * s-pack56.adb: Likewise.
2965 * s-pack56.ads: Likewise.
2966 * s-pack57.adb: Likewise.
2967 * s-pack57.ads: Likewise.
2968 * s-pack58.adb: Likewise.
2969 * s-pack58.ads: Likewise.
2970 * s-pack59.adb: Likewise.
2971 * s-pack59.ads: Likewise.
2972 * s-pack60.adb: Likewise.
2973 * s-pack60.ads: Likewise.
2974 * s-pack61.adb: Likewise.
2975 * s-pack61.ads: Likewise.
2976 * s-pack62.adb: Likewise.
2977 * s-pack62.ads: Likewise.
2978 * s-pack63.adb: Likewise.
2979 * s-pack63.ads: Likewise.
2980 * s-parame-ae653.ads: Likewise.
2981 * s-parame-hpux.ads: Likewise.
2982 * s-parame-rtems.adb: Likewise.
2983 * s-parame-vms-alpha.ads: Likewise.
2984 * s-parame-vms-ia64.ads: Likewise.
2985 * s-parame-vms-restrict.ads: Likewise.
2986 * s-parame-vxworks.adb: Likewise.
2987 * s-parame-vxworks.ads: Likewise.
2988 * s-parame.adb: Likewise.
2989 * s-parame.ads: Likewise.
2990 * s-parint.adb: Likewise.
2991 * s-parint.ads: Likewise.
2992 * s-pooglo.adb: Likewise.
2993 * s-pooglo.ads: Likewise.
2994 * s-pooloc.adb: Likewise.
2995 * s-pooloc.ads: Likewise.
2996 * s-poosiz.adb: Likewise.
2997 * s-poosiz.ads: Likewise.
2998 * s-powtab.ads: Likewise.
2999 * s-proinf-irix-athread.adb: Likewise.
3000 * s-proinf-irix-athread.ads: Likewise.
3001 * s-proinf.adb: Likewise.
3002 * s-proinf.ads: Likewise.
3003 * s-purexc.ads: Likewise.
3004 * s-rannum.adb: Likewise.
3005 * s-rannum.ads: Likewise.
3006 * s-restri.adb: Likewise.
3007 * s-restri.ads: Likewise.
3008 * s-rident.ads: Likewise.
3009 * s-rpc.adb: Likewise.
3010 * s-rpc.ads: Likewise.
3011 * s-scaval.adb: Likewise.
3012 * s-scaval.ads: Likewise.
3013 * s-secsta.adb: Likewise.
3014 * s-secsta.ads: Likewise.
3015 * s-sequio.adb: Likewise.
3016 * s-sequio.ads: Likewise.
3017 * s-shasto.adb: Likewise.
3018 * s-shasto.ads: Likewise.
3019 * s-soflin.adb: Likewise.
3020 * s-soflin.ads: Likewise.
3021 * s-solita.adb: Likewise.
3022 * s-solita.ads: Likewise.
3023 * s-sopco3.adb: Likewise.
3024 * s-sopco3.ads: Likewise.
3025 * s-sopco4.adb: Likewise.
3026 * s-sopco4.ads: Likewise.
3027 * s-sopco5.adb: Likewise.
3028 * s-sopco5.ads: Likewise.
3029 * s-stache.adb: Likewise.
3030 * s-stache.ads: Likewise.
3031 * s-stalib.adb: Likewise.
3032 * s-stalib.ads: Likewise.
3033 * s-stausa.adb: Likewise.
3034 * s-stausa.ads: Likewise.
3035 * s-stchop-limit.ads: Likewise.
3036 * s-stchop-rtems.adb: Likewise.
3037 * s-stchop-vxworks.adb: Likewise.
3038 * s-stchop.adb: Likewise.
3039 * s-stchop.ads: Likewise.
3040 * s-stoele.adb: Likewise.
3041 * s-stoele.ads: Likewise.
3042 * s-stopoo.adb: Likewise.
3043 * s-stopoo.ads: Likewise.
3044 * s-stratt.adb: Likewise.
3045 * s-stratt.ads: Likewise.
3046 * s-strcom.adb: Likewise.
3047 * s-strcom.ads: Likewise.
3048 * s-string.adb: Likewise.
3049 * s-string.ads: Likewise.
3050 * s-strops.adb: Likewise.
3051 * s-strops.ads: Likewise.
3052 * s-strxdr.adb: Likewise.
3053 * s-ststop.adb: Likewise.
3054 * s-ststop.ads: Likewise.
3055 * s-taasde.adb: Likewise.
3056 * s-taasde.ads: Likewise.
3057 * s-tadeca.adb: Likewise.
3058 * s-tadeca.ads: Likewise.
3059 * s-tadert.adb: Likewise.
3060 * s-tadert.ads: Likewise.
3061 * s-taenca.adb: Likewise.
3062 * s-taenca.ads: Likewise.
3063 * s-taprob.ads: Likewise.
3064 * s-taprop-dummy.adb: Likewise.
3065 * s-taprop-hpux-dce.adb: Likewise.
3066 * s-taprop-irix.adb: Likewise.
3067 * s-taprop-linux.adb: Likewise.
3068 * s-taprop-lynxos.adb: Likewise.
3069 * s-taprop-mingw.adb: Likewise.
3070 * s-taprop-posix.adb: Likewise.
3071 * s-taprop-solaris.adb: Likewise.
3072 * s-taprop-tru64.adb: Likewise.
3073 * s-taprop-vms.adb: Likewise.
3074 * s-taprop-vxworks.adb: Likewise.
3075 * s-taprop.ads: Likewise.
3076 * s-tarest.adb: Likewise.
3077 * s-tarest.ads: Likewise.
3078 * s-tasdeb.adb: Likewise.
3079 * s-tasdeb.ads: Likewise.
3080 * s-tasinf-irix.ads: Likewise.
3081 * s-tasinf-linux.adb: Likewise.
3082 * s-tasinf-linux.ads: Likewise.
3083 * s-tasinf-mingw.adb: Likewise.
3084 * s-tasinf-mingw.ads: Likewise.
3085 * s-tasinf-solaris.adb: Likewise.
3086 * s-tasinf-solaris.ads: Likewise.
3087 * s-tasinf-tru64.ads: Likewise.
3088 * s-tasinf.adb: Likewise.
3089 * s-tasinf.ads: Likewise.
3090 * s-tasini.adb: Likewise.
3091 * s-tasini.ads: Likewise.
3092 * s-taskin.adb: Likewise.
3093 * s-taskin.ads: Likewise.
3094 * s-taspri-dummy.ads: Likewise.
3095 * s-taspri-hpux-dce.ads: Likewise.
3096 * s-taspri-mingw.ads: Likewise.
3097 * s-taspri-solaris.ads: Likewise.
3098 * s-taspri-tru64.ads: Likewise.
3099 * s-taspri-vms.ads: Likewise.
3100 * s-taspri-vxworks.ads: Likewise.
3101 * s-tasque.adb: Likewise.
3102 * s-tasque.ads: Likewise.
3103 * s-tasren.adb: Likewise.
3104 * s-tasren.ads: Likewise.
3105 * s-tasres.ads: Likewise.
3106 * s-tassta.adb: Likewise.
3107 * s-tassta.ads: Likewise.
3108 * s-tasuti.adb: Likewise.
3109 * s-tasuti.ads: Likewise.
3110 * s-tfsetr-default.adb: Likewise.
3111 * s-tfsetr-vxworks.adb: Likewise.
3112 * s-tpinop.adb: Likewise.
3113 * s-tpinop.ads: Likewise.
3114 * s-tpoben.adb: Likewise.
3115 * s-tpoben.ads: Likewise.
3116 * s-tpobop.adb: Likewise.
3117 * s-tpobop.ads: Likewise.
3118 * s-tpopde-vms.adb: Likewise.
3119 * s-tpopde-vms.ads: Likewise.
3120 * s-tpopsp-lynxos.adb: Likewise.
3121 * s-tpopsp-posix-foreign.adb: Likewise.
3122 * s-tpopsp-posix.adb: Likewise.
3123 * s-tpopsp-solaris.adb: Likewise.
3124 * s-tpopsp-vxworks.adb: Likewise.
3125 * s-tporft.adb: Likewise.
3126 * s-tposen.adb: Likewise.
3127 * s-tposen.ads: Likewise.
3128 * s-traceb.adb: Likewise.
3129 * s-traceb.ads: Likewise.
3130 * s-traces-default.adb: Likewise.
3131 * s-traces.adb: Likewise.
3132 * s-traces.ads: Likewise.
3133 * s-traent-vms.adb: Likewise.
3134 * s-traent-vms.ads: Likewise.
3135 * s-traent.adb: Likewise.
3136 * s-traent.ads: Likewise.
3137 * s-trafor-default.adb: Likewise.
3138 * s-trafor-default.ads: Likewise.
3139 * s-tratas-default.adb: Likewise.
3140 * s-tratas.adb: Likewise.
3141 * s-tratas.ads: Likewise.
3142 * s-unstyp.ads: Likewise.
3143 * s-utf_32.adb: Likewise.
3144 * s-utf_32.ads: Likewise.
3145 * s-vaflop-vms-alpha.adb: Likewise.
3146 * s-vaflop.adb: Likewise.
3147 * s-vaflop.ads: Likewise.
3148 * s-valboo.adb: Likewise.
3149 * s-valboo.ads: Likewise.
3150 * s-valcha.adb: Likewise.
3151 * s-valcha.ads: Likewise.
3152 * s-valdec.adb: Likewise.
3153 * s-valdec.ads: Likewise.
3154 * s-valenu.adb: Likewise.
3155 * s-valenu.ads: Likewise.
3156 * s-valint.adb: Likewise.
3157 * s-valint.ads: Likewise.
3158 * s-vallld.adb: Likewise.
3159 * s-vallld.ads: Likewise.
3160 * s-vallli.adb: Likewise.
3161 * s-vallli.ads: Likewise.
3162 * s-valllu.adb: Likewise.
3163 * s-valllu.ads: Likewise.
3164 * s-valrea.adb: Likewise.
3165 * s-valrea.ads: Likewise.
3166 * s-valuns.adb: Likewise.
3167 * s-valuns.ads: Likewise.
3168 * s-valuti.adb: Likewise.
3169 * s-valuti.ads: Likewise.
3170 * s-valwch.adb: Likewise.
3171 * s-valwch.ads: Likewise.
3172 * s-veboop.adb: Likewise.
3173 * s-veboop.ads: Likewise.
3174 * s-vector.ads: Likewise.
3175 * s-vercon.adb: Likewise.
3176 * s-vercon.ads: Likewise.
3177 * s-vmexta.adb: Likewise.
3178 * s-vmexta.ads: Likewise.
3179 * s-vxwext-kernel.ads: Likewise.
3180 * s-vxwext-rtp.adb: Likewise.
3181 * s-vxwext-rtp.ads: Likewise.
3182 * s-vxwext.ads: Likewise.
3183 * s-vxwork-arm.ads: Likewise.
3184 * s-vxwork-m68k.ads: Likewise.
3185 * s-vxwork-mips.ads: Likewise.
3186 * s-vxwork-ppc.ads: Likewise.
3187 * s-vxwork-sparcv9.ads: Likewise.
3188 * s-vxwork-x86.ads: Likewise.
3189 * s-wchcnv.adb: Likewise.
3190 * s-wchcnv.ads: Likewise.
3191 * s-wchcon.adb: Likewise.
3192 * s-wchcon.ads: Likewise.
3193 * s-wchjis.adb: Likewise.
3194 * s-wchjis.ads: Likewise.
3195 * s-wchstw.adb: Likewise.
3196 * s-wchstw.ads: Likewise.
3197 * s-wchwts.adb: Likewise.
3198 * s-wchwts.ads: Likewise.
3199 * s-widboo.adb: Likewise.
3200 * s-widboo.ads: Likewise.
3201 * s-widcha.adb: Likewise.
3202 * s-widcha.ads: Likewise.
3203 * s-widenu.adb: Likewise.
3204 * s-widenu.ads: Likewise.
3205 * s-widlli.adb: Likewise.
3206 * s-widlli.ads: Likewise.
3207 * s-widllu.adb: Likewise.
3208 * s-widllu.ads: Likewise.
3209 * s-widwch.adb: Likewise.
3210 * s-widwch.ads: Likewise.
3211 * s-win32.ads: Likewise.
3212 * s-winext.ads: Likewise.
3213 * s-wwdcha.adb: Likewise.
3214 * s-wwdcha.ads: Likewise.
3215 * s-wwdenu.adb: Likewise.
3216 * s-wwdenu.ads: Likewise.
3217 * s-wwdwch.adb: Likewise.
3218 * s-wwdwch.ads: Likewise.
3219 * scans.adb: Likewise.
3220 * scans.ads: Likewise.
3221 * seh_init.c: Likewise.
3222 * sfn_scan.adb: Likewise.
3223 * sinfo.adb: Likewise.
3224 * sinfo.ads: Likewise.
3225 * sinput.adb: Likewise.
3226 * sinput.ads: Likewise.
3227 * snames.adb: Likewise.
3228 * snames.ads: Likewise.
3229 * socket.c: Likewise.
3230 * stand.adb: Likewise.
3231 * stand.ads: Likewise.
3232 * stringt.adb: Likewise.
3233 * stringt.ads: Likewise.
3234 * sysdep.c: Likewise.
3235 * system-aix.ads: Likewise.
3236 * system-darwin-ppc.ads: Likewise.
3237 * system-darwin-x86.ads: Likewise.
3238 * system-darwin-x86_64.ads: Likewise.
3239 * system-freebsd-x86.ads: Likewise.
3240 * system-hpux-ia64.ads: Likewise.
3241 * system-hpux.ads: Likewise.
3242 * system-irix-n32.ads: Likewise.
3243 * system-irix-n64.ads: Likewise.
3244 * system-irix-o32.ads: Likewise.
3245 * system-linux-alpha.ads: Likewise.
3246 * system-linux-hppa.ads: Likewise.
3247 * system-linux-ia64.ads: Likewise.
3248 * system-linux-mips.ads: Likewise.
3249 * system-linux-mipsel.ads: Likewise.
3250 * system-linux-ppc.ads: Likewise.
3251 * system-linux-ppc64.ads: Likewise.
3252 * system-linux-s390.ads: Likewise.
3253 * system-linux-s390x.ads: Likewise.
3254 * system-linux-sh4.ads: Likewise.
3255 * system-linux-sparc.ads: Likewise.
3256 * system-linux-sparcv9.ads: Likewise.
3257 * system-linux-x86.ads: Likewise.
3258 * system-linux-x86_64.ads: Likewise.
3259 * system-lynxos-ppc.ads: Likewise.
3260 * system-lynxos-x86.ads: Likewise.
3261 * system-mingw-x86_64.ads: Likewise.
3262 * system-mingw.ads: Likewise.
3263 * system-rtems.ads: Likewise.
3264 * system-solaris-sparc.ads: Likewise.
3265 * system-solaris-sparcv9.ads: Likewise.
3266 * system-solaris-x86.ads: Likewise.
3267 * system-solaris-x86_64.ads: Likewise.
3268 * system-tru64.ads: Likewise.
3269 * system-vms-ia64.ads: Likewise.
3270 * system-vms-zcx.ads: Likewise.
3271 * system-vms.ads: Likewise.
3272 * system-vms_64.ads: Likewise.
3273 * system-vxworks-arm.ads: Likewise.
3274 * system-vxworks-m68k.ads: Likewise.
3275 * system-vxworks-mips.ads: Likewise.
3276 * system-vxworks-ppc.ads: Likewise.
3277 * system-vxworks-sparcv9.ads: Likewise.
3278 * system-vxworks-x86.ads: Likewise.
3279 * system.ads: Likewise.
3280 * table.adb: Likewise.
3281 * table.ads: Likewise.
3282 * targext.c: Likewise.
3283 * targparm.ads: Likewise.
3284 * tree_in.adb: Likewise.
3285 * tree_in.ads: Likewise.
3286 * tree_io.adb: Likewise.
3287 * tree_io.ads: Likewise.
3288 * types.adb: Likewise.
3289 * types.ads: Likewise.
3290 * uintp.adb: Likewise.
3291 * uintp.ads: Likewise.
3292 * uname.adb: Likewise.
3293 * uname.ads: Likewise.
3294 * urealp.adb: Likewise.
3295 * urealp.ads: Likewise.
3296 * vx_stack_info.c: Likewise.
3297 * widechar.adb: Likewise.
3298 * widechar.ads: Likewise.
3299 * exp_attr.adb: Change copyright header to refer to version
3300 3 of the GNU General Public License and to point readers at the
3301 COPYING3 file and the FSF's license web page.
3302 * sem.adb: Likewise.
3303 * sem_attr.ads: Likewise.
3304 * freeze.adb: Likewise.
3305 * freeze.ads: Likewise.
3306 * errout.ads: Likewise.
3307 * erroutc.adb: Likewise.
3308 * exp_ch11.ads: Likewise.
3309
33102009-04-09 Jakub Jelinek <jakub@redhat.com>
3311
3312 * config-lang.in: Change copyright header to refer to version
3313 3 of the GNU General Public License and to point readers at the
3314 COPYING3 file and the FSF's license web page.
3315 * gcc-interface/trans.c: Likewise.
3316 * gnathtml.pl: Likewise.
3317 * gcc-interface/ada.h: Likewise. Remove runtime exception.
3318 * gcc-interface/gigi.h: Likewise.
3319 * gcc-interface/misc.c: Likewise.
3320 * gcc-interface/targtyps.c: Likewise.
3321
dd8cfe3a
AC
33222009-04-09 Nicolas Setton <setton@adacore.com>
3323
3324 * s-osinte-darwin.ads: Fix wrong binding to struc timeval.
3325
3326 * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
3327 struct_timeval.
3328
33292009-04-09 Bob Duff <duff@adacore.com>
3330
3331 * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
3332 internally-generated nodes related to select statements to avoid
3333 confusing the debugger.
3334
33352009-04-09 Pascal Obry <obry@adacore.com>
3336
3337 * make.adb: Ensure that all linker arguments are duplicated.
3338
59f3dd0a
AC
33392009-04-09 Robert Dewar <dewar@adacore.com>
3340
3341 * sem_ch5.adb: Minor reformatting
3342
33432009-04-09 Vincent Celier <celier@adacore.com>
3344
3345 * vms_data.ads:
3346 Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
3347 New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
3348 New qualifier /LXDEBUG=nnn for -gnatDnnn
3349 For H820-010
3350
3351 * gnat_ugn.texi:
3352 Update documentation for VMS qualifiers equivalent to -gnatGnn and
3353 -gnatDnn
3354
33552009-04-09 Nicolas Setton <setton@adacore.com>
3356
3357 * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
3358 to match layout of siginfo_t in sys/signal.h.
3359
3360 * gcc-interface/Makefile.in: Add section for x86_64 darwin.
3361
33622009-04-09 Thomas Quinot <quinot@adacore.com>
3363
3364 * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
3365
33662009-04-09 Nicolas Setton <setton@adacore.com>
3367
3368 * s-oscons-tmplt.c: Allow long lines in the generated spec.
3369 Add generation of Darwin-specific constants needed when binding to the
3370 pthread library.
3371
33722009-04-09 Robert Dewar <dewar@adacore.com>
3373
3374 * checks.adb:
3375 (Insert_Valid_Check): Avoid unnecessary generation of junk declaration
3376 when no invalid values exist, Avoid duplicate read of atomic variable.
3377
3378 * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
3379 (Standard_Unsigned): Set Is_Known_Valid
3380
3381 * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
3382 subtype declaration if no constraint.
3383 (Set_Modular_Size): Set Is_Known_Valid if appropriate
3384 (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
3385
f7d7bb51
AC
33862009-04-09 Robert Dewar <dewar@adacore.com>
3387
3388 * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
3389 switch.ads: for numeric switches, an optional equal sign is always
3390 allowed.
3391
33922009-04-09 Vincent Celier <celier@adacore.com>
3393
3394 * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
3395 the case of file names is not significant.
3396
c75c4293
AC
33972009-04-09 Vincent Celier <celier@adacore.com>
3398
3399 * errout.adb: Remove dependency on package Style
3400
3401 * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
3402 moved to Stylesw.
3403
3404 * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
3405 Styleg.
3406
3407 * errutil.adb, par.adb: Import Stylesw
3408
34092009-04-09 Arnaud Charlet <charlet@adacore.com>
3410
3411 * opt.ads: Fix typos.
3412
34132009-04-09 Robert Dewar <dewar@adacore.com>
3414
3415 * einfo.adb: Minor reformatting
3416
e7aea0fa
RD
34172009-04-09 Robert Dewar <dewar@adacore.com>
3418
3419 * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
3420 units.
3421
3422 * styleg-c.ads, styleg-c.adb: Removed, no longer used.
3423
1c383b4c
AC
34242009-04-09 Robert Dewar <dewar@adacore.com>
3425
3426 * g-comver.adb: Minor reformatting.
3427
34282009-04-09 Thomas Quinot <quinot@adacore.com>
3429
3430 * lib-load.ads (Load_Unit): Update documentation.
3431
34322009-04-09 Ed Schonberg <schonberg@adacore.com>
3433
3434 * lib-load.adb (Load_Unit): When loading the parent of a child unit
3435 named in a with_clause, retain the with_clause to preserve a
3436 limited_with indication.
3437
d7ba4df4
RD
34382009-04-09 Robert Dewar <dewar@adacore.com>
3439
3440 * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
3441 exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
3442 sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
3443 possible to replace an OR of two separate tests.
3444
923e6ff3
RD
34452009-04-09 Robert Dewar <dewar@adacore.com>
3446
3447 * binderr.adb, errout.adb, errutil.adb: New circuitry for handling
3448 Maximum_Messages.
3449
3450 * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
3451 warning status as well.
3452
3453 * opt.ads (Maximum_Messages): New name for Maximum_Errors.
3454
3455 * switch-b.adb, switch-c.adb: Change name Maximum_Errors to
3456 Maximum_Messages.
3457
3458 * bindusg.adb, usage.adb: Update line for -gnatm switch
3459
3460 * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
3461 -mnn binder switch.
3462
34632009-04-09 Robert Dewar <dewar@adacore.com>
3464
3465 * sem_ch10.adb: Minor reformatting.
3466
beb50807
AC
34672009-04-09 Bob Duff <duff@adacore.com>
3468
3469 * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
3470 Set Sloc of generated nodes for calls to Undefer_Aborts and
3471 Save_Occurrence to No_Location, so the debugger ignores them and
3472 therefore does not jump back and forth when single stepping.
3473
34742009-04-09 Robert Dewar <dewar@adacore.com>
3475
3476 * switch-b.adb: Minor reformatting.
3477
a4100e55
RD
34782009-04-09 Robert Dewar <dewar@adacore.com>
3479
3480 * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
3481 sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
3482 exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
3483 sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
3484 einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
3485 tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
3486 exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
3487 sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
3488 sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
3489 sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
3490 Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
3491
f17889b3
RD
34922009-04-09 Robert Dewar <dewar@adacore.com>
3493
3494 * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
3495
3496 * atree.h: Add Elist26
3497
3498 * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
3499 backends.
3500
b16d9747
JM
35012009-04-09 Javier Miranda <miranda@adacore.com>
3502
3503 * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
3504 retrieve from the Dispatch_Table_Wrappers list the external name.
3505 Addition of documentation.
3506 (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
3507 used to export secondary dispatch tables (in the previous version of
3508 the frontend only primary dispatch tables were exported). Addition of
3509 documentation.
3510 (Import_DT): New subprogram (internal of Make_Tags). Used to import a
3511 dispatch table of a given tagged type.
3512 (Make_Tags): Modified to import secondary dispatch tables.
3513
3514 * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
3515 (Constant_Redeclaration): Code cleanup.
3516
3517 * einfo.ads (Dispatch_Table_Wrapper): Renamed to
3518 Dispatch_Table_Wrappers. Update documentation.
3519
3520 * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
3521 Renamed to Dispatch_Table_Wrappers.
3522
3523 * sem_util.adb (Collect_Interface_Components): Improve handling of
3524 private types.
3525
3526 * atree.ads (Elist26, Set_Elist26): New subprograms
3527
3528 * atree.adb (Elist26, Set_Elist26): New subprograms
3529
59262ebb
AC
35302009-04-09 Javier Miranda <miranda@adacore.com>
3531
3532 * sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
3533 (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
3534 tagged types.
3535
35362009-04-09 Robert Dewar <dewar@adacore.com>
3537
3538 * s-direio.adb: Minor reformatting
3539
3540 * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
3541
fa969310
AC
35422009-04-09 Robert Dewar <dewar@adacore.com>
3543
3544 * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
3545
35462009-04-09 Pascal Obry <obry@adacore.com>
3547
3548 * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
3549 s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
3550 a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
3551 a-filico.ads: Add some missing overriding keywords.
3552
3c25856a
AC
35532009-04-09 Pascal Obry <obry@adacore.com>
3554
3555 * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
3556 a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
3557 a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
3558 reformatting.
3559
35602009-04-09 Ed Schonberg <schonberg@adacore.com>
3561
3562 * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
3563 missing overriding indicator if the new declaration is not seen as
3564 primitive.
3565
76c597a1
AC
35662009-04-09 Thomas Quinot <quinot@adacore.com>
3567
3568 * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
3569 overflows in computation of bounds.
3570
35712009-04-09 Pascal Obry <obry@adacore.com>
3572
3573 * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
3574 typos in comment.
3575
95b89f1b
AC
35762009-04-09 Robert Dewar <dewar@adacore.com>
3577
3578 * sem_attr.adb (Check_Stream_Attribute): Check violation of
3579 restriction No_Streams
3580
3581 * gnat_rm.texi: Clarify No_Streams restriction
3582
3583 * g-socket.adb: Minor reformatting.
3584
35852009-04-09 Thomas Quinot <quinot@adacore.com>
3586
3587 * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
3588
35892009-04-09 Geert Bosch <bosch@adacore.com>
3590
3591 * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
3592 (Set_Result): Likewise.
3593 (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
3594 conversion, as required by RM 4.6(31).
3595
3d5952be
AC
35962009-04-08 Robert Dewar <dewar@adacore.com>
3597
3598 * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
3599 suppressed.
3600
3601 * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
3602 resolution steps.
3603
36042009-04-08 Robert Dewar <dewar@adacore.com>
3605
3606 * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
3607 No_Local_Allocators restriction preventing local instantiation.
3608
36092009-04-08 Thomas Quinot <quinot@adacore.com>
3610
3611 * sem_eval.adb: Minor comment fix
3612
36132009-04-08 Thomas Quinot <quinot@adacore.com>
3614
3615 * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
3616 New limited controlled type used to automate the initialization and
3617 finalization of the sockets implementation.
3618 (GNAT.Sockets.Initialize, Finalize): Make these no-ops
3619
36202009-04-08 Vincent Celier <celier@adacore.com>
3621
3622 * prj-attr.adb: New read-only project-level attribute Project_Dir
3623
3624 * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
3625 read-only attribute of the same name.
3626 (Process_Declarative_Items): Call Add_Attributes with Project_Dir
3627 (Recursive_Process): Ditto
3628
3629 * snames.adb: Add new standard name Project_Dir
3630
3631 * snames.ads: Add new standard name Project_Dir
3632
b568955d
AC
36332009-04-08 Thomas Quinot <quinot@adacore.com>
3634
3635 * checks.adb: Minor reformatting
3636
36372009-04-08 Vincent Celier <celier@adacore.com>
3638
3639 * vms_data.ads: Add documentation for new style keyword
3640 OVERRIDING_INDICATORS
3641
36422009-04-08 Robert Dewar <dewar@adacore.com>
3643
3644 * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
3645 spec is in the current unit.
3646
ed57136d
AC
36472009-04-08 Ed Schonberg <schonberg@adacore.com>
3648
3649 * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
3650 presence of entity.
3651
3652 * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
3653
36542009-04-08 Vincent Celier <celier@adacore.com>
3655
3656 * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
3657
36582009-04-08 Thomas Quinot <quinot@adacore.com>
3659
3660 * checks.ads: Minor reformatting
3661
36622009-04-08 Robert Dewar <dewar@adacore.com>
3663
3664 * gnat_rm.texi: Update documentation of pragma Obsolescent
3665
3666 * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
3667 be omitted, and allow Entity parameter to be omitted.
3668
ef7c5692
AC
36692009-04-08 Thomas Quinot <quinot@adacore.com>
3670
3671 * exp_util.adb: Minor comment fix
3672
36732009-04-08 Robert Dewar <dewar@adacore.com>
3674
3675 * g-socket.ads: Fix bad syntax in pragma Obsolescent
3676
3677 * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
3678 argument with no identifier following one that has an identifier. Was
3679 missed in some cases.
3680
3681 * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
3682 identifier.
3683 (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
3684
3685 * snames.adb: Add Name_Policy
3686
3687 * snames.ads: Add Name_Policy
3688
0c7f5241
RD
36892009-04-08 Robert Dewar <dewar@adacore.com>
3690
3691 * gnat_rm.texi: Minor reformatting
3692
3693 * par-ch2.adb: Minor reformatting
3694
ae8c7d87
RD
36952009-04-08 Robert Dewar <dewar@adacore.com>
3696
3697 * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
3698
ff69f95a
RD
36992009-04-08 Robert Dewar <dewar@adacore.com>
3700
3701 * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
3702 properly in the presence of Remote_Types or Remote_Call_Interface.
3703
3704 * sem_util.adb: Add comment.
3705
2db15b1d
AC
37062009-04-08 Robert Dewar <dewar@adacore.com>
3707
3708 * ug_words: Add /ASSUME_VALID for -gnatB
3709
3710 * vms_data.ads: Add /ASSUME_VALID for -gnatB
3711
3712 * sem_cat.adb: Add clarifying commment
3713
3714 * a-direio.ads (Bytes): Make sure value is non-zero
3715
37162009-04-08 Ed Schonberg <schonberg@adacore.com>
3717
3718 * sem_util.adb (Is_Variable): If the prefix is an explicit dereference
3719 that does not come from source, check for a rewritten function call in
3720 prefixed notation before other forms of rewriting.
3721
37222009-04-08 Robert Dewar <dewar@adacore.com>
3723
3724 * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
3725 these are now obsolescent units used only for bootrapping with an
3726 older compiler.
3727
94fd3dc6
AC
37282009-04-08 Robert Dewar <dewar@adacore.com>
3729
3730 * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
3731
3732 * sem_ch3.adb: Minor comment updates
3733
37342009-04-08 Ed Schonberg <schonberg@adacore.com>
3735
3736 * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
3737 that come from source.
3738
40a14772
TG
37392009-04-08 Tristan Gingold <gingold@adacore.com>
3740
cac9d8d6
EB
3741 * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE.
3742 * gcc-interface/decl.c (prepend_attributes): New case
3743 Pragma_Thread_Local_Storage.
3744 * gcc-interface/utils.c (process_attributes): New case
3745 ATTR_THREAD_LOCAL_STORAGE.
3746
46ff89f3
AC
37472009-04-08 Ed Schonberg <schonberg@adacore.com>
3748
3749 * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
3750 by the back-end if it contains a call to a subprogram without a
3751 previous spec that is declared in the same unit.
3752
3753 * errout.ads: Update comments on uses of dirs
3754
37552009-04-08 Robert Dewar <dewar@adacore.com>
3756
3757 * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
3758
812f574f
AC
37592009-04-08 Tristan Gingold <gingold@adacore.com>
3760
3761 * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
3762 variables.
3763 Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
3764
37652009-04-08 Vincent Celier <celier@adacore.com>
3766
3767 * prj-nmsc.adb:
3768 (Add_Source): Add the mapping of the unit name to source file name in
3769 the Unit_Sources_HT hash table, if the unit name is not null.
3770
3771 * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
3772
3773 * prj.ads (Unit_Sources_Htable): New hash table instantiation
3774 (Project_Tree_Data): New component Unit_Sources_HT
3775
4c8a5bb8
AC
37762009-04-08 Thomas Quinot <quinot@adacore.com>
3777
3778 * sem_ch8.adb: Minor reformatting.
3779 Minor code reorganization.
3780
37812009-04-08 Robert Dewar <dewar@adacore.com>
3782
3783 * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
3784 snames.ads, freeze.adb, par-prag.adb: Add implementation of
3785 pragma Thread_Local_Storage, setting new flag
3786 Has_Pragma_Thread_Local_Storage in corresponding entities.
3787
ecc4ddde
AC
37882009-04-08 Emmanuel Briot <briot@adacore.com>
3789
3790 * prj.ads: Update comment on switches file
3791
3792 * prj-nmsc.adb: Code clean up. Use renaming clauses.
3793
37942009-04-08 Robert Dewar <dewar@adacore.com>
3795
3796 * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
3797
37982009-04-08 Thomas Quinot <quinot@adacore.com>
3799
3800 * ali-util.adb: Minor comment fix
3801
38022009-04-08 Ed Schonberg <schonberg@adacore.com>
3803
3804 * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
3805 appears in a context clause, and the enclosing package is mentioned in
3806 a limited_with_clause.
3807 (Use_One_Type): Reject clause if type is still incomplete.
3808
a29262fd
AC
38092009-04-08 Emmanuel Briot <briot@adacore.com>
3810
3811 * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
3812 avoid copies of Source_Data variables when possible, since these
3813 involve calls to memcpy() which are done too many times.
3814
38152009-04-08 Robert Dewar <dewar@adacore.com>
3816
3817 * exp_ch4.adb (Expand_Concatenate): Clean up code
3818
a2dc5812
AC
38192009-04-07 Thomas Quinot <quinot@adacore.com>
3820
3821 * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
3822 type for the case of concatenating a constrained array indexed by an
3823 enumeration type.
3824
38252009-04-07 Ed Schonberg <schonberg@adacore.com>
3826
3827 * sem_ch6.adb (Check_Conformance): when checking conformance of an
3828 operation that overrides an abstract operation inherited from an
3829 interface, return False if only one of the controlling formals is an
3830 access parameter.
3831
38322009-04-07 Ed Schonberg <schonberg@adacore.com>
3833
3834 * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
3835 mandated by AI05-105.
3836
38372009-04-07 Vincent Celier <celier@adacore.com>
3838
3839 * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
3840
38412009-04-07 Thomas Quinot <quinot@adacore.com>
3842
3843 * usage.adb: Minor fix in usage message.
3844
3845 * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
3846 match declaration; the correct subtype is Node_Id, not Entity_Id,
3847 because the expected node kind is an identifier, not a defining
3848 identifier.
3849
3850 * switch-c.adb: Minor reformatting.
3851
3852 * uintp.adb: Minor reformatting.
3853
38542009-04-07 Robert Dewar <dewar@adacore.com>
3855
3856 * exp_ch13.adb: Minor reformatting
3857
0ac73189
AC
38582009-04-07 Robert Dewar <dewar@adacore.com>
3859
3860 * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
3861 against missing parent.
3862
38632009-04-07 Thomas Quinot <quinot@adacore.com>
3864
3865 * xoscons.adb: Minor reformatting
3866
38672009-04-07 Robert Dewar <dewar@adacore.com>
3868
3869 * rtsfind.ads: Remove obsolete string concatenation entries
3870
38712009-04-07 Robert Dewar <dewar@adacore.com>
3872
3873 * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
3874
38752009-04-07 Ed Schonberg <schonberg@adacore.com>
3876
3877 * sem_ch10.adb (Check_Body_Required): Handle properly imported
3878 subprograms.
3879
38802009-04-07 Gary Dismukes <dismukes@adacore.com>
3881
3882 * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
3883 Attribute_Address): When Init_Or_Norm_Scalars is True and the object
3884 is of a scalar or string type then suppress the setting of the
3885 expression to Empty.
3886
3887 * freeze.adb (Warn_Overlay): Also emit the warnings about default
3888 initialization for the cases of scalar and string objects when
3889 Init_Or_Norm_Scalars is True.
3890
1732c156
AC
38912009-04-07 Bob Duff <duff@adacore.com>
3892
3893 * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
3894
38952009-04-07 Bob Duff <duff@adacore.com>
3896
3897 * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
3898 Form parameter of Text_Translation=No allows binary mode for Text_IO
3899 files.
3900
3901 * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
3902
39032009-04-07 Javier Miranda <miranda@adacore.com>
3904
3905 * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
3906 processing the bounds for bit packed arrays or VM target machines.
3907
f16d05d9
AC
39082009-04-07 Thomas Quinot <quinot@adacore.com>
3909
3910 * g-sothco.ads (Int_Access): Remove extraneous access type (use
3911 anonymous access instead).
3912 (Get_Socket_From_Set): Fix incorrectly reverted formals
3913 Last and Socket to match the underlying C routine.
3914
ad1536a1 3915 * g-socket.adb, g-socket.ads
f16d05d9
AC
3916 (Get): Use named parameter associations instead of positional ones in
3917 call go Get_Socket_From_Set, since this routine has two formals of the
3918 same type.
ad1536a1 3919 (Image): New procedure.
f16d05d9
AC
3920
3921 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
3922 g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
3923 (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
3924 for type of Arg formal.
3925
3926 * sem_warn.adb: Minor reformatting
3927
39282009-04-07 Ed Schonberg <schonberg@adacore.com>
3929
3930 * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
3931 over record components.
3932
39332009-04-07 Nicolas Roche <roche@adacore.com>
3934
3935 * gsocket.h:
3936 Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
3937 has disappeared between VxWorks 6.4 and VxWorks 6.5
3938 In RTP mode use time.h instead of times.h
3939
39402009-04-07 Robert Dewar <dewar@adacore.com>
3941
3942 * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
3943
39442009-04-07 Kevin Pouget <pouget@adacore.com>
3945
3946 * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
3947 expanded code for constrained types.
3948
39492009-04-07 Ed Schonberg <schonberg@adacore.com>
3950
3951 * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
3952 AI05-105: in an object renaming declaration, anonymousness is a name
3953 resolution rule.
3954
3955 * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
3956
39572009-04-07 Arnaud Charlet <charlet@adacore.com>
3958
3959 * g-comlin.adb (Expansion): Fix old regression: also return directory
3960 names when matching.
3961
2fc05e3d
AC
39622009-04-07 Robert Dewar <dewar@adacore.com>
3963
3964 * exp_ch4.adb:
3965 (Expand_N_Op_Concat): Call Expand_Concatenate for all cases
3966 (Expand_Concatenate): New name for Expand_Concatenate_String which has
3967 been rewritten to handle all types.
3968 (Expand_Concatenate_Other): Remove
3969
39702009-04-07 Ed Schonberg <schonberg@adacore.com>
3971
3972 * lib-xref.adb (Generate_Reference): A default subprogram in an
3973 instance appears within the tree for the instance, but generates an
3974 implicit reference in the ALI.
3975
fdac1f80
AC
39762009-04-07 Javier Miranda <miranda@adacore.com>
3977
3978 * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
3979 derived type that has discriminants, propagate the list of interfaces
3980 to the corresponding new base type. In addition, propagate also
3981 attribute Limited_Present (found working in this patch).
3982
39832009-04-07 Robert Dewar <dewar@adacore.com>
3984
3985 * exp_ch4.adb: Rewrite concatenation expansion.
3986
8dbd1460
AC
39872009-04-07 Ed Schonberg <schonberg@adacore.com>
3988
3989 * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
3990 relevant to packages.
3991
39922009-04-07 Robert Dewar <dewar@adacore.com>
3993
3994 * sem_attr.adb: Minor reformatting
3995
3996 * sem_ch6.adb: Minor reformatting
3997
2ddc2000
AC
39982009-04-07 Tristan Gingold <gingold@adacore.com>
3999
4000 * socket.c: Add more protections against S_resolvLib_ macros.
4001
40022009-04-07 Thomas Quinot <quinot@adacore.com>
4003
4004 * sem_attr.adb: Minor reformatting
4005
40062009-04-07 Ed Schonberg <schonberg@adacore.com>
4007
4008 * sem_ch6.adb (New_Overloaded_Entity): New predicate
4009 Is_Overriding_Alias to handle properly types that inherit two homonym
4010 operations that have distinct dispatch table entries.
4011
06a16f58
AC
40122009-04-07 Emmanuel Briot <briot@adacore.com>
4013
4014 * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
4015 looking for the end of a parenthesis group
4016
40172009-04-07 Tristan Gingold <gingold@adacore.com>
4018
4019 * gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
4020
4021 * socket.c Don't use resolvLib_ macros if not defined.
4022
df46b832
AC
40232009-04-07 Robert Dewar <dewar@adacore.com>
4024
4025 * g-socket.adb: Minor reformatting.
4026
4027 * g-socthi-mingw.adb: Minor reformatting
4028
4029 * g-sothco.ads: Minor reformatting
4030
4031 * exp_ch4.adb:
4032 (Expand_Concatenate_String): Complete rewrite to generate efficient code
4033 inline instead of relying on external library routines.
4034
4035 * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
4036 s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
4037 obsolescent
4038
40392009-04-07 Ed Schonberg <schonberg@adacore.com>
4040
4041 * sem_attr.adb:
4042 (Eval_Attribute): for attributes of array objects that are not strings,
4043 attributes are not static if nominal subtype of object is unconstrained.
4044
40452009-04-07 Ed Schonberg <schonberg@adacore.com>
4046
4047 * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
4048 operations for a type T in an instance do not override each other,
4049 when T is derived from a formal private type, the corresponding
4050 operations inherited by a type derived from T outside
4051 of the instance do not override each other either.
4052
3dd9959c
AC
40532009-04-07 Robert Dewar <dewar@adacore.com>
4054
4055 (Osint.Fail): Change calling sequence to have one string arg
4056 (Make.Make_Failed): Same change
4057 All callers are adjusted to use concatenation
4058
40592009-04-07 Robert Dewar <dewar@adacore.com>
4060
4061 * exp_ch4.adb: Fix documentation typo
4062
40632009-04-07 Robert Dewar <dewar@adacore.com>
4064
4065 * tbuild.ads: Minor reformatting
4066
40672009-04-07 Javier Miranda <miranda@adacore.com>
4068
4069 * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
4070 when compiling under ZFP runtime.
4071
40722009-04-07 Robert Dewar <dewar@adacore.com>
4073
4074 * g-comlin.adb: Minor reformatting
4075
40762009-04-07 Thomas Quinot <quinot@adacore.com>
4077
4078 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
4079 g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
4080 g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
4081 Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
4082
dcd8728b
RD
40832009-04-07 Robert Dewar <dewar@adacore.com>
4084
4085 * gnat_ugn.texi: Document -gnatDnn/-gnatGnn
4086
4087 * opt.ads (Sprint_Line_Limit): New parameter
4088
4089 * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
4090
4091 * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
4092
4093 * usage.adb: Output information for -gnatGnn -gnatDnn
4094
40952009-04-07 Robert Dewar <dewar@adacore.com>
4096
4097 * make.adb: Minor reformatting
4098
40992009-04-07 Robert Dewar <dewar@adacore.com>
4100
4101 * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
4102
41032009-04-07 Robert Dewar <dewar@adacore.com>
4104
4105 * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
4106
c27f2f15
RD
41072009-04-07 Robert Dewar <dewar@adacore.com>
4108
4109 * checks.adb:
4110 Remove Assume_Valid parameter from In_Subrange_Of calls
4111
4112 * sem_eval.adb:
4113 (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
4114 (Is_In_Range): Remove incorrect use of Assume_Valid
4115 (Is_Out_Of_Range): Remove incorrect use of Assume_Valid
4116
4117 * sem_eval.ads:
4118 (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
4119 (Is_In_Range): Documentation cleanup
4120 (Is_Out_Of_Range): Documentation cleanup
4121
4122 * gnat_rm.texi:
4123 Add documentation for Assume_No_Invalid_Values pragma
4124
4125 * sem_ch12.adb: Minor reformatting
4126
4127 * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
4128
4129 * sem_prag.adb: Improve error message.
4130
4131 * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
4132 LF/CR no longer recognized as line terminator
4133
4134 * switch.ads: Minor documentation improvement
4135
4136 * vms_data.ads: Minor reformatting
4137
c800f862
RD
41382009-04-07 Robert Dewar <dewar@adacore.com>
4139
4140 * checks.adb (Determine_Range): Add Assume_Valid parameter
4141
4142 * checks.ads (Determine_Range): Add Assume_Valid parameter
4143
4144 * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
4145 Is_Null_Loop to suppress warnings in a loop body.
4146
4147 * exp_ch4.adb:
4148 (Rewrite_Comparison): Major rewrite to accomodate invalid values
4149
4150 * exp_ch5.adb:
4151 (Expand_N_Loop_Statement): Delete loop known not to execute
4152
4153 * opt.ads:
4154 (Assume_No_Invalid_Values): Now set to False, and as documented, this
4155 fully enables the proper handling of invalid values.
4156
4157 * sem_attr.adb:
4158 New calling sequence for Is_In_Range
4159
4160 * sem_ch5.adb:
4161 (Analyze_Iteration_Scheme): Accomodate possible invalid values
4162 in determining if a loop range is null.
4163
4164 * sem_eval.adb:
4165 (Is_In_Range): Add Assume_Valid parameter
4166 (Is_Out_Of_Range): Add Assume_Valid_Parameter
4167 (Compile_Time_Compare): Major rewrite to accomodate invalid values and
4168 also to do more accurate and complete range analysis, catching more
4169 cases.
4170
4171 * sem_eval.ads:
4172 (Is_In_Range): Add Assume_Valid parameter
4173 (Is_Out_Of_Range): Add Assume_Valid_Parameter
4174
4175 * sem_util.adb:
4176 New calling sequence for Is_In_Range
4177
4178 * sinfo.adb:
4179 (Suppress_Loop_Warnings): New flag
4180
4181 * sinfo.ads:
4182 (Is_Null_Loop): Update documentation
4183 (Suppress_Loop_Warnings): New flag
4184
4185 * gnat_ugn.texi: Document -gnatB switch
4186
9d00840d
AC
41872009-04-07 Arnaud Charlet <charlet@adacore.com>
4188
4189 * gnatvsn.ads: Bump version number.
4190
5f143024
AC
41912009-04-07 Thomas Quinot <quinot@adacore.com>
4192
4193 * exp_ch3.adb: Minor rewording (comments)
4194
41952009-04-07 Robert Dewar <dewar@adacore.com>
4196
4197 * exp_disp.adb: Minor reformatting
4198
d5859bf4
EB
41992009-04-07 Eric Botcazou <ebotcazou@adacore.com>
4200
4201 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
4202 underlying type.
4203 * gcc-interface/trans.c (lvalue_required_p): Likewise.
4204
c86f07f6
EB
42052009-04-07 Eric Botcazou <ebotcazou@adacore.com>
4206
4207 * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
4208 Do not convert the result. Remove obsolete comment.
4209
2d5be6c1
EB
42102009-04-07 Eric Botcazou <ebotcazou@adacore.com>
4211
4212 * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
4213 DECL_CONTEXT.
4214 (Subprogram_Body_to_gnu): Fix pasto.
4215
10069d53
EB
42162009-04-07 Eric Botcazou <ebotcazou@adacore.com>
4217
4218 * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
4219 (void_type_decl_node): Remove.
4220 (init_gigi_decls): Likewise.
4221 (gnat_install_builtins): Declare.
4222 (record_builtin_type): Likewise.
4223 (create_type_stub_decl): Likewise.
4224 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
4225 (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
4226 artificial.
4227 <E_Array_Subtype>: Use the index types, not only their name, in the
4228 record giving the names of the bounds, if any.
4229 For a packed array type, make it artificial only if the base type
4230 was artificial as well. Remove redundant statement.
4231 (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
4232 dummy types.
4233 Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
4234 (rest_of_type_decl_compilation_no_defer): Likewise.
4235 * gcc-interface/misc.c (gnat_printable_name): Add missing guard.
4236 * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
4237 and use create_type_stub_decl to build it.
4238 (gnat_pushdecl): Rewrite condition.
4239 (gnat_install_builtins): Remove bogus declaration.
4240 (record_builtin_type): New function.
4241 (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
4242 of types.
4243 (create_type_stub_decl): New function.
4244 (create_type_decl): Assert that the type is not dummy. If the type
4245 hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
4246 (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
4247 (build_vms_descriptor): Likewise.
4248 (init_gigi_decls): Delete and move bulk of code to...
4249 * gcc-interface/trans.c (gigi): ...here. Use record_builtin_type.
4250 (emit_range_check): Add gnat_node parameter.
4251 (emit_index_check): Likewise.
4252 (emit_check): Likewise.
4253 (build_unary_op_trapv): Likewise.
4254 (build_binary_op_trapv): Likewise.
4255 (convert_with_check): Likewise.
4256 (Attribute_to_gnu): Adjust calls for above changes.
4257 (call_to_gnu): Likewise.
4258 (gnat_to_gnu): Likewise.
4259 (assoc_to_constructor): Likewise.
4260 (pos_to_constructor): Likewise.
4261 (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
4262 (process_type): Do not create TYPE_DECL for dummy types.
4263
229077b0
EB
42642009-04-07 Eric Botcazou <ebotcazou@adacore.com>
4265
1e17ef87
EB
4266 * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
4267 * gcc-interface/trans.c: Fix formatting throughout. Fix comments.
4268 * gcc-interface/utils.c: Fix comments.
4269
42702009-04-07 Eric Botcazou <ebotcazou@adacore.com>
4271
4272 * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
4273 move around.
229077b0
EB
4274 (gnat_to_gnu_type): Move around.
4275 (get_unpadded_type): Likewise.
1e17ef87
EB
4276 * gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
4277 Tidy comments.
229077b0 4278
aa1aa786
EB
42792009-04-07 Eric Botcazou <ebotcazou@adacore.com>
4280
4281 * gcc-interface/trans.c (check_for_eliminated_entity): New function.
4282 (Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
4283 (call_to_gnu): Invoke it instead of manually checking.
4284
63787194
EB
42852009-04-04 Eric Botcazou <ebotcazou@adacore.com>
4286
4287 * gcc-interface/utils.c (finish_record_type): Force structural equality
4288 checks if the record type is discriminated.
4289
d236ace7
EB
42902009-03-31 Eric Botcazou <ebotcazou@adacore.com>
4291
4292 * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
4293 * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
4294 * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
4295 * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
4296 * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
4297 * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
4298 * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
4299
bd9f68e0
PB
43002009-03-30 Paolo Bonzini <bonzini@gnu.org>
4301
d7be99f1
EB
4302 * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
4303 of TREE_CONSTANT_OVERFLOW.
bd9f68e0 4304
8ce94e44
JM
43052009-03-30 Joseph Myers <joseph@codesourcery.com>
4306
4307 PR rtl-optimization/323
4308 * gcc-interface/misc.c (gnat_post_options): Set
4309 flag_excess_precision_cmdline. Give an error for
4310 -fexcess-precision=standard for processors where the option is
4311 significant.
4312
d9223014
L
43132009-03-27 H.J. Lu <hongjiu.lu@intel.com>
4314
4315 PR c/39323
4316 * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
4317 on bit_align.
4318
76761bbd
OH
43192009-03-11 Olivier Hainque <hainque@adacore.com>
4320
4321 * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
4322 checks processing, remove unintended TREE_TYPE walk on index type.
4323
39ae51e0
EB
43242009-03-01 Eric Botcazou <ebotcazou@adacore.com>
4325
4326 PR ada/39264
4327 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
4328 call make_packable_type on fat pointer types.
4329 <E_Array_Subtype>: Likewise.
4330 <E_Record_Subtype>: Call make_packable_type on all record types
4331 except for fat pointer types.
4332 (make_packable_type): Likewise.
4333 (gnat_to_gnu_field): Likewise.
4334
7d01864f
EB
43352009-02-28 Eric Botcazou <ebotcazou@adacore.com>
4336
4337 * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
67901d32 4338 EH_MECHANISM change made on 2007-12-06.
7d01864f 4339
a760c977
AS
43402009-02-26 Andreas Schwab <schwab@suse.de>
4341
4c354194 4342 PR ada/39172
a760c977 4343 * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
a760c977
AS
4344 * gcc-interface/Makefile.in: Change all uses of $(srcdir),
4345 $(fsrcdir) and $(fsrcpfx) to add ada subdir.
4346 (AWK): Substitute.
4347 (target_cpu_default): Substitute.
4348
054efbba
LG
43492009-02-25 Laurent GUERBY <laurent@guerby.net>
4350
975a4fd6 4351 PR ada/39221
a760c977
AS
4352 * a-teioed.adb (Expand): Fix Result overflow.
4353
2692d7f5
LG
43542009-02-25 Laurent GUERBY <laurent@guerby.net>
4355
a760c977
AS
4356 * gcc-interface/Makefile.in: Fix multilib handling for
4357 sparc64-linux.
4358
ea675ec3
RO
43592009-02-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4360
4361 * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
4362
e98c0739
L
43632009-02-18 H.J. Lu <hongjiu.lu@intel.com>
4364
4365 * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
4366
70f5fc7c
EB
43672009-02-16 Eric Botcazou <ebotcazou@adacore.com>
4368
4369 * gcc-interface/deftarg.c: Remove.
4370
794511d2 43712009-02-10 Olivier Hainque <hainque@adacore.com>
e98c0739 4372 Eric Botcazou <ebotcazou@adacore.com>
794511d2
EB
4373
4374 * gcc-interface/decl.c (enum alias_set_op): New enumeration.
4375 (copy_alias_set): Rename into...
4376 (relate_alias_sets): ...this. Add third parameter OP. Retrieve the
4377 underlying array of unconstrained arrays for the new type as well.
4378 If the old and new alias sets don't conflict, make one a subset of
4379 the other as per the OP parameter.
4380 (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
4381 <E_Record_Type>: Do not copy the alias set for derived types.
4382 For all types, make the alias set of derived types a superset of
4383 that of their parent type.
4384 (make_aligning_type): Adjust calls to copy_alias_set.
4385 (make_packable_type): Likewise.
4386 * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
4387 Check for alias set conflict instead of strict equality to issue the
4388 warning.
4389
c3734896
EB
43902009-02-09 Eric Botcazou <ebotcazou@adacore.com>
4391
4392 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
4393 Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
4394 (copy_alias_set): Assert that arrays have the same aliasing settings.
4395 (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
4396
9a58d4d2
EB
43972009-02-08 Eric Botcazou <ebotcazou@adacore.com>
4398
4399 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
4400 Set TYPE_NONALIASED_COMPONENT on the array type.
4401
d0ec4c99
LG
44022009-01-31 Laurent GUERBY <laurent@guerby.net>
4403
4404 * gcc-interface/Makefile.in: Fix mipsel linux handling.
a760c977 4405
4dcb8fd1
JJ
44062009-01-16 Jakub Jelinek <jakub@redhat.com>
4407
4408 * gcc-interface/Makefile.in: Fix multilib handling for
4409 powerpc64-linux.
4410
3b9c1abd
EB
44112009-01-12 Eric Botcazou <ebotcazou@adacore.com>
4412
4413 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
4414 only useless conversions around renamed objects.
4415
13318d2f
EB
44162009-01-11 Eric Botcazou <ebotcazou@adacore.com>
4417
4418 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
4419 the _Tag field before any discriminants in the field list.
4420 (components_to_record): Remove obsolete comment.
4421
6f9f0ce3
JJ
44222008-12-09 Jakub Jelinek <jakub@redhat.com>
4423
4424 PR ada/38450
4425 * gcc-interface/utils.c (finish_record_type): Use SET_TYPE_MODE.
4426 * gcc-interface/decl.c (gnat_to_gnu_entity, make_aligning_type):
4427 Likewise.
4428
9ff4a9da 44292008-12-05 Sebastian Pop <sebastian.pop@amd.com>
250d2fb5
JJ
4430
4431 PR bootstrap/38262
4432 * gcc-interface/Make-lang.in (gnat1): Add BACKENDLIBS, remove GMPLIBS.
4433
f9805f52
EB
44342008-11-29 Eric Botcazou <ebotcazou@adacore.com>
4435
4436 PR ada/30827
4437 * g-comver.adb (Ver_Len_Max): Fix inconsistency.
4438
2ddc34ba
EB
44392008-11-27 Eric Botcazou <ebotcazou@adacore.com>
4440
4441 * gcc-interface/decl.c: Fix various nits.
4442
58612565
EB
44432008-11-20 Eric Botcazou <ebotcazou@adacore.com>
4444
4445 * gcc-interface/utils.c (init_gigi_decls): Fix type mismatch.
4446
e66e5d9e
EB
44472008-11-16 Eric Botcazou <ebotcazou@adacore.com>
4448
4449 PR ada/38127
d74b4b00
EB
4450 * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
4451 special-case boolean types. Propagate the name.
e66e5d9e
EB
4452 * gcc-interface/targtyps.c: Tweak comment.
4453
7348f18c
GB
44542008-11-15 Geert Bosch <bosch@adacore.com>
4455
4456 * gcc-interface/trans.c (emit_check): Put back a final save_expr
4457 to prevent exponential expansion during gimplification.
4458
708bceb7
EB
44592008-11-15 Eric Botcazou <ebotcazou@adacore.com>
4460
4461 * gcc-interface/lang-specs.h: Expand -coverage and reorder switches.
4462
a5b8aacd
EB
44632008-11-15 Eric Botcazou <ebotcazou@adacore.com>
4464
4465 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Force constants
4466 initialized to a static constant to be statically allocated even if
4467 they are of a padding type, provided the original type also has
4468 constant size.
4469
4364e851
LG
44702008-11-15 Laurent Guerby <laurent@guerby.net>
4471
4472 PR ada/37993
4473 * gcc-interface/Makefile.in: Add multilib handling for x86_64
4474 on darwin.
4475 * system-darwin-x86_64.ads: New file.
4476
255e5b04
OH
44772008-11-13 Olivier Hainque <hainque@adacore.com>
4478
4479 * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>:
4480 Turn Ada Pure on subprograms back into GCC CONST when eh constructs
4481 are explicit to the middle-end. Tidy.
4482
82d3b03a
EB
44832008-11-09 Eric Botcazou <ebotcazou@adacore.com>
4484
4485 * gcc-interface/ada-tree.def (PLUS_NOMOD_EXPR): New tree code.
4486 (MINUS_NOMOD_EXPR): Likewise.
4487 * gcc-interface/utils2.c (build_binary_op) <PREINCREMENT_EXPR>: Make
4488 unreachable.
4489 <PLUS_NOMOD_EXPR>: New case.
4490 <MINUS_NOMOD_EXPR>: Likewise.
4491 * gcc-interface/trans.c (Loop_Statement_to_gnu): Build increment-and-
4492 assignment statement instead of using an increment operator.
4493
f5026442
RO
44942008-11-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4495
4496 * system-irix-n64.ads: New file.
4497 * gcc-interface/Makefile.in (mips-sgi-irix6*): Support O32 and N64
4498 multilibs.
4499
45002008-11-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4501
4502 PR ada/37681
4503 * system-solaris-x86_64.ads: New file.
4504 * gcc-interface/Makefile.in (*86-solaris2*): Support x86_64 multilib.
4505
7fee6a39 45062008-11-07 Bechir Zalila <bechir.zalila@gmail.com>
e98c0739 4507 Eric Botcazou <ebotcazou@adacore.com>
7fee6a39
BZ
4508
4509 PR ada/34289
4510 * lib.ads: (Enable_Switch_Storing): Declare.
4511 * lib.adb: (Enable_Switch_Storing): New procedure.
4512 * switch-c.adb (Scan_Front_End_Switches): Add support for -gnatea.
4513 * make.adb: (Compile_Sources.Compile): Add -gnatea as first option.
4514 (Display): Never display -gnatea
4515 * gcc-interface/lang-specs.h: If -gnatea is present, pass -gnatez.
4516
9ed0e483
TQ
45172008-11-07 Thomas Quinot <quinot@adacore.com>
4518
4519 * gcc-interface/trans.c (Attribute_to_gnu, case Attr_Length): Check
4520 for empty range in original base type, not converted result type.
4521
58e94443
GB
45222008-11-07 Geert Bosch <bosch@adacore.com>
4523
4524 * gcc-interface/trans.c (build_binary_op_trapv): Convert arguments
4525 and result for call to __gnat_mulv64.
4526
a7c43bbc
EB
45272008-11-07 Eric Botcazou <ebotcazou@adacore.com>
4528
4529 * gcc-interface/trans.c: Fix formatting nits.
4530
2575024c
GB
45312008-11-07 Geert Bosch <bosch@adacore.com>
4532
4533 * gcc-interface/trans.c (build_binary_op_trapv): Avoid emitting
4534 overflow check for constant result.
4535
4ae39383
GB
45362008-11-07 Geert Bosch <bosch@adacore.com>
4537
4538 * gcc-interface/trans.c (build_binary_op_trapv): Use more efficient
4539 overflow check for addition/subtraction if neither operand is constant.
4540
6818f0fc
EB
45412008-11-06 Eric Botcazou <ebotcazou@adacore.com>
4542
4543 * gcc-interface/Makefile.in (SPARC/Solaris): Use a common set of
4544 files for the target-dependent part of the runtime.
4545 (SPARC/Linux): Likewise.
4546
8d3323de
EB
45472008-11-06 Eric Botcazou <ebotcazou@adacore.com>
4548
4549 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: If not
4550 optimizing, create a PARM_DECL pointing to the VAR_DECL for debugging
4551 purposes.
4552
baf6e6a8
EB
45532008-11-06 Eric Botcazou <ebotcazou@adacore.com>
4554
4555 * gcc-interface/misc.c (gnat_printable_name): Always return a copy
4556 in GC memory.
4557
8b659f79
EB
45582008-11-06 Eric Botcazou <ebotcazou@adacore.com>
4559
4560 PR ada/19419
4561 * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>:
4562 Generate a call to memmove for an assignment between overlapping
4563 array slices.
4564
358ef7fb
AK
45652008-11-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4566
4567 PR target/37977
4568 * gcc-interface/Makefile.in: Add multilib handling for
4569 s390-linux and s390x-linux.
4570
7134e605
JJ
45712008-10-24 Jakub Jelinek <jakub@redhat.com>
4572
4573 * gcc-interface/Make-lang.in (check-ada-subtargets): Depend on
4574 check-acats-subtargets and check-gnat-subtargets.
4575 (check_acats_targets): New variable.
4576 (check-acats-subtargets, check-acats%): New targets.
4577 (check-acats): If -j is used and CHAPTERS is empty, run the testing
4578 in multiple make goals, possibly parallel, and afterwards run
4579 dg-extract-results.sh to merge the sum and log files.
4580
82f7c45f
GB
45812008-10-17 Geert Bosch <bosch@adacore.com>
4582
4583 * gcc-interface/trans.c (gnat_to_gnu) <N_Slice>: Simplify expansion
4584 to use only a single check instead of three, and avoid unnecessary
4585 COMPOUND_EXPR.
4586 (emit_check): Avoid useless COMPOUND_EXPRs and SAVE_EXPRs, sometimes
4587 creating more opportunities for optimizations.
4588
0adef32b
JJ
45892008-10-13 Jakub Jelinek <jakub@redhat.com>
4590
4591 PR middle-end/37601
4592 * gcc-interface/utils.c (gnat_types_compatible_p): Handle
4593 NULL TYPE_DOMAIN.
4594
9cf18af8
EB
45952008-10-07 Eric Botcazou <ebotcazou@adacore.com>
4596
4597 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Move code
4598 dealing with volatileness to after code dealing with renaming.
4599
e84319a3
EB
46002008-10-06 Eric Botcazou <ebotcazou@adacore.com>
4601
4602 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Minor tweaks.
4603 * gcc-interface/trans.c (Pragma_to_gnu): Likewise.
4604
afcea859
EB
46052008-10-06 Eric Botcazou <ebotcazou@adacore.com>
4606
4607 * gcc-interface/utils.c (can_fold_for_view_convert_p): New predicate.
4608 (unchecked_convert): Use it to disable problematic folding with
4609 VIEW_CONVERT_EXPR in the general case. Always disable it for the
4610 special VIEW_CONVERT_EXPR built for integral types and cope with
4611 its addressability issues by preserving the first conversion.
4612
9e81dbc7
AS
46132008-10-01 Andreas Schwab <schwab@suse.de>
4614
4615 * system-linux-ppc64.ads: New file.
4616 * gcc-interface/Makefile.in: Add multilib handling for
4617 powerpc-linux.
4618
bb3da4f2
EB
46192008-09-26 Eric Botcazou <ebotcazou@adacore.com>
4620
4621 * decl.c (gnat_to_gnu_entity) <object>: Cap the alignment promotion
4622 to that of ptr_mode instead of word_mode.
4623
8f5730b9
EB
46242008-09-26 Eric Botcazou <ebotcazou@adacore.com>
4625
4626 PR ada/5911
4627 * gcc-interface/Makefile.in (SPARC/Solaris): Add multilib support.
4628
3ca37eb7
ST
46292008-09-25 Samuel Tardieu <sam@rfc1149.net>
4630
4631 PR ada/37641
4632 * adaint.c (__gnat_set_non_writable): Use FILE_WRITE_EA
4633 instead of deprecated FILE_WRITE_PROPERTIES.
4634
22868cbf
OH
46352008-09-22 Olivier Hainque <hainque@adacore.com>
4636
4637 * gcc-interface/decl.c (gnat_to_gnu_entity): Even when they
4638 are never assigned, volatile entities are not constant for code
4639 generation purposes.
4640
7193e639
LG
46412008-09-21 Laurent Guerby <laurent@guerby.net>
4642
9e81dbc7 4643 PR ada/5911
7193e639
LG
4644 * gcc-interface/Makefile.in: Add multilib handling for x86_64
4645 and sparc.
4646 * system-linux-sparcv9.ads: New file.
9e81dbc7 4647
7fda1596
EB
46482008-09-20 Eric Botcazou <ebotcazou@adacore.com>
4649
4650 * exp_dbug.ads: Document new convention for the XVZ variable.
4651 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Generate
4652 debug info if necessary for the type padding the component type.
4653 <E_Array_Subtype>: Likewise.
4654 (maybe_pad_type): Emit the XVZ variable in units.
4655 * gcc-interface/trans.c (Loop_Statement_to_gnu): Fix formatting nits.
4656 (Subprogram_Body_to_gnu): Set the source line of the subprogram's node
4657 on statements generated to initialize the parameter attributes cache.
4658 Set the source line of the end label of the body on the special return
4659 statement built for a procedure with copy-in copy-out parameters.
4660
d84b344a
EB
46612008-09-20 Eric Botcazou <ebotcazou@adacore.com>
4662
4663 PR ada/37585
4664 * gcc-interface/utils.c (create_subprog_decl): Disable inlining for
4665 inlined external functions if they contain a nested function not
4666 declared inline.
4667
4db26d6c
JH
46682008-09-18 Jan Hubicka <jh@suse.cz>
4669
4670 * gcc-interface/utils.c (create_subprog_decl): Use DECL_DECLARED_INLINE_P.
4671 (end_subprog_body): Do not set DECL_INLINE.
4672
03e74118
PR
46732008-09-17 Pascal Rigaux <pixel@mandriva.com>
4674
4675 PR ada/21327
4676 * gnat_ugn.texi: Use proper format in direntry.
4677
6a7a3f31
EB
46782008-09-15 Eric Botcazou <ebotcazou@adacore.com>
4679
4680 * gcc-interface/trans.c (gigi): Declare the name of the compilation
4681 unit as the first global name.
4682
f67894ed
JH
46832008-09-14 Jan Hubicka <jh@suse.cz>
4684
6a7a3f31 4685 * gcc-interface/Make-lang.in (gnat1): Add CFLAGS.
f67894ed 4686
16b05213
RW
46872008-09-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4688
4689 * a-crbtgk.adb, a-direct.ads, a-tasatt.adb, ali.ads,
4690 bindgen.adb, checks.adb, einfo.ads, exp_aggr.adb, exp_ch11.adb,
4691 exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
4692 exp_dbug.ads, exp_disp.adb, exp_dist.adb, exp_pakd.adb,
4693 exp_util.adb, g-alveop.ads, g-comlin.adb, g-comlin.ads,
4694 g-diopit.adb, g-socket.ads, gcc-interface/decl.c,
4695 gcc-interface/gigi.h, gcc-interface/trans.c,
4696 lib-load.adb, lib-xref.ads, make.adb, mlib-prj.adb, nlists.ads,
4697 opt.ads, par-ch10.adb, par-ch5.adb, par.adb, s-os_lib.ads,
4698 s-oscons-tmplt.c, s-parint.ads, s-regpat.ads, s-shasto.ads,
4699 s-stausa.ads, s-taprop-vms.adb, sem.adb, sem_ch10.adb,
4700 sem_ch11.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb,
4701 sem_ch3.ads, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
4702 sem_elim.adb, sem_prag.adb, sem_util.adb, sem_util.ads,
4703 sem_warn.adb, sinfo.ads, styleg.adb, vms_data.ads: Fix typos in
4704 comments.
4705 * gnathtml.pl: Fix typos.
4706
1011d8a2
JS
47072008-09-10 Joel Sherrill <joel.sherrill@oarcorp.com>
4708
4709 * gcc-interface/Makefile.in: Switch RTEMS to s-interr-hwint.adb.
4710 * s-osinte-rtems.ads: Add shared hardware interrupt adapter
4711 layer. RTEMS binds to OS provided adapter routines so there are
4712 no modifications to s-osinte-rtems.adb.
4713
e5c73177
AC
47142008-09-09 Arnaud Charlet <charlet@adacore.com>
4715 Joel Sherrill <joel.sherrill@oarcorp.com>
4716
4717 * gcc-interface/Makefile.in: Switch VxWorks to s-interr-hwint.adb.
4718
4719 * s-interr-vxworks.adb: Renamed to s-interr-hwint.adb
4720
4721 * s-interr-hwint.adb: New file.
4722
4723 * s-osinte-vxworks.ads, s-osinte-vxworks.adb: Add new functions
4724 needed by s-interr-hwint.adb.
4725
4726 * s-osinte-vxworks-kernel.adb: New file.
4727
56cc5928
JS
47282008-09-05 Joel Sherrill <joel.sherrill@oarcorp.com>
4729
4730 * s-stchop-rtems.adb: Add file missed in early commit. Already
4731 referenced in gcc-interface/Makefile.in.
4732
21bacb7e
TQ
47332008-08-30 Thomas Quinot <quinot@adacore.com>
4734
4735 * gcc-interface/Make-lang.in: Allow s-oscons.{o,ali} to
4736 be built even without a separate libada directory.
4737
5b2da948
AC
47382008-08-22 Arnaud Charlet <charlet@adacore.com>
4739
4740 * lib-xref.ads: Fix typo in subprogram reference definition.
4741
47422008-08-22 Robert Dewar <dewar@adacore.com>
4743
c9f1fdfe
RD
4744 * s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-strops.adb: Minor code fix
4745 to avoid warning.
5b2da948 4746
c9f1fdfe 4747 * g-trasym.adb: Ditto
5b2da948
AC
4748
4749 * s-utf_32.adb (Get_Category): Fix obvious typo
4750
4751 * s-wwdcha.adb: Minor code reorganization
4752 Remove dead code
4753
4351c21b
AC
47542008-08-22 Robert Dewar <dewar@adacore.com>
4755
4756 * checks.adb (Determine_Range): Deal with values that might be invalid
4757
e5c73177
AC
4758 * opt.adb, opt.ads (Assume_No_Invalid_Values[_Config]): New
4759 configuration switches.
4351c21b
AC
4760
4761 * par-prag.adb: Dummy entry for pragma Assume_No_Invalid_Values
4762
4763 * sem_prag.adb: Implement pragma Assume_No_Default_Values
4764
4765 * snames.adb, snames.ads, snames.h:
4766 Add entries for pragma Assume_No_Invalid_Values
4767
4768 * switch-c.adb: Add processing for -gnatB switch
4769
4770 * usage.adb: Add entry for flag -gnatB (no bad invalid values)
4771
47722008-08-22 Javier Miranda <miranda@adacore.com>
4773
4774 * exp_ch3.adb (Build_Init_Statements): Transfer to the body of the
4775 init procedure all the expanded code associated with the spec of
4776 task types and protected types.
4777
2743d81d
AC
47782008-08-22 Gary Dismukes <dismukes@adacore.com>
4779
4780 * exp_aggr.adb (Static_Array_Aggregate): Call Analyze_And_Resolve on the
4781 component expression copies rather than directly setting Etype and
4782 Is_Static_Expression.
4783
47842008-08-22 Gary Dismukes <dismukes@adacore.com>
4785
4786 * sem_util.adb (Has_Preelaborable_Initialization): Revise checking of
4787 private types to allow for types derived from a private type with
4788 preelaborable initialization, but return False for a private extension
4789 (unless it has the pragma).
4790
47912008-08-22 Robert Dewar <dewar@adacore.com>
4792
4793 * opt.ads: Minor code reorganization (put entries in alpha order)
4794
a5ad3248
AC
47952008-08-22 Pascal Obry <obry@adacore.com>
4796
4797 * initialize.c, adaint.c: Use Lock_Task and Unlock_Task for non-blocking
4798 spawn.
4799
6eca32ba
GB
48002008-08-22 Geert Bosch <bosch@adacore.com>
4801
4802 * gcc-interface/trans.c: Define FP_ARITH_MAY_WIDEN
4803 (convert_with_check): Only use longest_float_type if FP_ARITH_MAY_WIDEN is 0
4804
1c7717c3
AC
48052008-08-22 Doug Rupp <rupp@adacore.com>
4806
4807 * bindgen.adb [VMS] (Gen_Adainit_Ada, Gen_Adainit_C): Import and call
4808 __gnat_set_features.
4809
4810 * init.c
4811 (__gnat_set_features): New function.
4812 (__gnat_features_set): New tracking variable.
4813 (__gl_no_malloc_64): New feature global variable
4814
48152008-08-22 Ed Schonberg <schonberg@adacore.com>
4816
4817 * sem_ch8.adb (Use_One_Type): Do not emit warning message about redundant
4818 use_type_clause in an instance.
4819
48202008-08-22 Bob Duff <duff@adacore.com>
4821
4822 * exp_ch6.ads: Remove pragma Precondition, since it breaks some builds.
4823
48242008-08-22 Robert Dewar <dewar@adacore.com>
4825
4826 * exp_ch6.adb: Minor reformatting
4827
4828 * exp_ch7.adb: Minor reformatting
4829
4830 * exp_ch7.ads: Put routines in proper alpha order
4831
4832 * exp_dist.adb: Minor reformatting
4833
48342008-08-22 Vincent Celier <celier@adacore.com>
4835
4836 * prj.ads: Minor comment update
4837
48382008-08-22 Robert Dewar <dewar@adacore.com>
4839
4840 * sem_ch5.adb (One_Bound): Fix latent bug involving secondary stack
4841
48422008-08-22 Ed Schonberg <schonberg@adacore.com>
4843
4844 * exp_tss.adb:
4845 (Base_Init_Proc): For a protected subtype, use the base type of the
4846 corresponding record to locate the propoer initialization procedure.
4847
48482008-08-22 Robert Dewar <dewar@adacore.com>
4849
4850 * checks.adb:
4851 (In_Subrange_Of): New calling sequence
4852 (Determine_Range): Prepare for new processing using base type
4853
4854 * exp_ch4.adb:
4855 (Compile_Time_Compare): Use new calling sequence
4856
4857 * exp_ch5.adb:
4858 (Compile_Time_Compare): Use new calling sequence
4859
4860 * sem_eval.adb:
4861 (Compile_Time_Compare): New calling sequence allows dealing with
4862 invalid values.
4863 (In_Subrange_Of): Ditto
4864
4865 * sem_eval.ads:
4866 (Compile_Time_Compare): New calling sequence allows dealing with
4867 invalid values.
4868 (In_Subrange_Of): Ditto
4869
48702008-08-22 Pascal Obry <obry@adacore.com>
4871
4872 * adaint.c: Fix possible race condition on win32_wait().
4873
048e5cef
BD
48742008-08-22 Bob Duff <duff@adacore.com>
4875
4876 * exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb, freeze.adb,
4877 exp_ch4.adb, exp_ch6.ads, exp_ch6.adb, sem_ch6.adb, exp_aggr.adb,
4878 exp_intr.adb, exp_ch3.adb: Rename:
4879 Exp_Ch7.Controlled_Type => Needs_Finalization
4880 Exp_Ch7.CW_Or_Controlled_Type => CW_Or_Has_Controlled_Part
4881 Exp_Ch5.Expand_N_Extended_Return_Statement.Controlled_Type =>
4882 Has_Controlled_Parts
4883 (Has_Some_Controlled_Component): Fix bug in array case.
4884
da2f5d14
AC
48852008-08-22 Robert Dewar <dewar@adacore.com>
4886
4887 * sem_ch8.adb: Minor reformatting
4888
48892008-08-22 Kevin Pouget <pouget@adacore.com>
4890
4891 * s-shasto.ads, s-shasto.adb: Move Shared_Var_ROpen, Shared_Var_WOpen and
4892 Shared_Var_Close procedure specifications from package spec to package body.
4893
4894 * rtsfind.ads: Remove RE_Shared_Var_Close, RE_Shared_Var_ROpen,
4895 RE_Shared_Var_WOpen entries.
4896
4897 * exp_dist.adb: Update RE_Any_Content_Ptr to RE_Any_Container_Ptr in
4898 Build_To_Any_Call, Build_TypeCode_Call and Build_From_Any_Call procedures.
4899
49002008-08-22 Eric Botcazou <ebotcazou@adacore.com>
4901
4902 * init.c: adjust EH support code on Alpha/Tru64 as well.
4903
4904 * raise-gcc.c: Add back a couple of comments.
4905
49062008-08-22 Ed Schonberg <schonberg@adacore.com>
4907
4908 * exp_ch5.adb (Expand_Simple_Function_Return): If secondary stack is
4909 involved and the return type is class-wide, use the type of the expression
4910 for the generated access type. Suppress useless discriminant checks on the
4911 allocator.
4912
49132008-08-22 Bob Duff <duff@adacore.com>
4914
4915 * exp_ch7.adb: Minor comment fix
4916
4917 * exp_ch6.ads: Minor comment fix
4918
1dcdbfab
AC
49192008-08-22 Thomas Quinot <quinot@adacore.com>
4920
4921 * sem_ch8.adb: Minor reformatting
4922 Minor code reorganization (introduce subprogram to factor duplicated
4923 code).
4924
49252008-08-22 Sergey Rybin <rybin@adacore.com>
4926
4927 * gnat_ugn.texi: Change the description of gnatcheck default rule
4928 settings.
4929
49302008-08-22 Eric Botcazou <ebotcazou@adacore.com>
4931
4932 * init.c (__gnat_adjust_context_for_raise): Delete for AIX, HP-UX,
4933 Solaris, FreeBSD, VxWorks and PowerPC/Linux. For x86{-64}/Linux,
4934 do not adjust the PC anymore.
4935 (__gnat_error_handler): Do not call __gnat_adjust_context_for_raise
4936 on AIX, HP-UX, Solaris, FreeBSD and VxWorks.
4937
4938 * raise-gcc.c (get_call_site_action_for): Use _Unwind_GetIPInfo
4939 instead of _Unwind_GetIP.
4940
49412008-08-22 Gary Dismukes <dismukes@adacore.com>
4942
4943 * exp_aggr.adb (Static_Array_Aggregate): When a static array aggregate
4944 with a range is transformed into a positional aggregate, any copied
4945 component literals should be marked Is_Static_Expression.
4946
4947 * sem_eval.adb (Compile_Time_Known_Value): Don't treat null literals as
4948 not being known at at compile time when Configurable_Run_Time_Mode is
4949 true.
4950
49512008-08-22 Robert Dewar <dewar@adacore.com>
4952
4953 * exp_attr.adb:
4954 (Expand_N_Attribute_Reference): No validity checking on OUT parameter of
4955 Read or Input attribute.
4956
0d4aed99
AC
49572008-08-22 Ed Schonberg <schonberg@adacore.com>
4958
4959 * sem_ch8.adb (Use_One_Type): when checking which of two use_type
4960 clauses in related units is redundant, if one of the units is a package
4961 instantiation, use its instance_spec to determine which unit is the
4962 ancestor of the other.
4963
49642008-08-22 Javier Miranda <miranda@adacore.com>
4965
4966 * exp_attr.adb (Expand_N_Attribute_Reference): In case of access
4967 attributes add missing support to handle designated types that come
4968 from the limited view.
4969
4970 * exp_disp.adb (Expand_Interface_Conversion): Remove wrong assertion.
4971
49722008-08-22 Sergey Rybin <rybin@adacore.com>
4973
4974 * vms_data.ads: Add entry for new gnatcheck -mNNN option
4975
4976 * gnat_ugn.texi: Add description for gnatcheck option '-m'
4977
5d41bf55
AC
49782008-08-22 Sergey Rybin <rybin@adacore.com>
4979
4980 * gnat_ugn.texi: Update the gnatcheck subsection for metric rules
4981 acoording to the latest changes in the metric rule interface
4982
49832008-08-22 Vincent Celier <celier@adacore.com>
4984
4985 * make.adb (Check.File_Not_A_Source_Of): New Boolean function
4986 (Check): Check if the file names registered in the ALI file for the
4987 spec, the body and each of the subunits are the ones expected.
4988
49892008-08-22 Robert Dewar <dewar@adacore.com>
4990
4991 * g-catiio.adb: Code cleanup.
4992
9299a27c
AC
49932008-08-20 Vincent Celier <celier@adacore.com>
4994
4995 * make.adb (Gnatmake): Remove extra space in version line
4996
4997 * ali.adb:
4998 (Scan_ALI): Use Name_Find, not Name_Enter to get the name of a subunit,
4999 as the name may already have been entered in the table by the Project
5000 Manager.
5001
50022008-08-20 Jose Ruiz <ruiz@adacore.com>
5003
5004 * errno.c (__get_errno, __set_errno for MaRTE): Transform then into
5005 weak symbols so we use the version provided by MaRTE when available.
5006
50072008-08-20 Emmanuel Briot <briot@adacore.com>
5008
5009 * g-catiio.ads, g-catiio.adb:
5010 (Value): Avoid an unnecessary system call to Clock in most cases.
5011 This call is only needed when only the time is provided in the string,
5012 and ignored in all other cases. This is more efficient.
5013
50142008-08-20 Eric Botcazou <ebotcazou@adacore.com>
5015
5016 * raise-gcc.c: Fix formatting nits.
5017
5e5dc75a
RD
50182008-08-20 Robert Dewar <dewar@adacore.com>
5019
5020 * sem_ch13.adb:
5021 (Adjust_Record_For_Reverse_Bit_Order): Do not access First_Bit for
5022 non-existing component clause.
5023
5024 * exp_ch5.adb: Minor reformatting
5025
5026 * g-comlin.adb: Minor reformatting
5027
5028 * make.adb: Minor reformatting
5029
5030 * prj-proc.adb: Minor reformatting
5031
5032 * stylesw.ads: Minor reformatting
5033
235f4375
AC
50342008-08-20 Vincent Celier <celier@adacore.com>
5035
5036 * make.adb (Gnatmake_Switch_Found): New Boolean global variable
5037 (Switch_May_Be_Passed_To_The_Compiler): New Boolean global variable
5038 (Add_Switches): New Boolean parameter Unknown_Switches_To_The_Compiler
5039 defaulted to True. Fail when Unknown_Switches_To_The_Compiler is False
5040 and a switch is not recognized by gnatmake.
5041 (Gnatmake): Implement new scheme for gnatmake switches and global
5042 compilation switches.
5043 (Switches_Of): Try successively Switches (<file name>),
5044 Switches ("Ada"), Switches (others) and Default_Switches ("Ada").
5045
50462008-08-20 Ed Schonberg <schonberg@adacore.com>
5047
5048 * styleg-c.ads, styleg-c.adb (Missing_Overriding): new procedure to
5049 implement style check that overriding operations are explicitly marked
5050 at such.
5051
5052 * style.ads (Missing_Overriding): new procedure that provides interface
5053 to previous one.
5054
5055 * stylesw.ads, stylesw.adb: New style switch -gnatyO, to enable check
5056 that the declaration or body of overriding operations carries an
5057 explicit overriding indicator.
5058
5059 * sem_ch8.adb
5060 (Analyze_Subprogram_Renaming): if operation is overriding, check whether
5061 explicit indicator should be present.
5062
5063 * sem_ch6.adb (Verify_Overriding_Indicator,
5064 Check_Overriding_Indicator): If operation is overriding, check whether
5065 declaration and/or body of subprogram should be present
5066
7486d8e0
AC
50672008-08-20 Vincent Celier <celier@adacore.com>
5068
5069 * prj-nmsc.adb (Check_Naming_Schemes): Accept source file names for
5070 gprbuild when casing is MixedCase, whatever the casing of the letters
5071 in the file name.
5072
50732008-08-20 Gary Dismukes <dismukes@adacore.com>
5074
5075 * exp_ch3.adb (Build_Array_Init_Proc): Clarify comment related to
5076 creating dummy init proc.
5077 (Requires_Init_Proc): Return False in the case No_Default_Initialization
5078 is in force and the type does not have associated default
5079 initialization. Move test of Is_Public (with tests of restrictions
5080 No_Initialize_Scalars and No_Default_Initialization) to end, past tests
5081 for default initialization.
5082
50832008-08-20 Jerome Lambourg <lambourg@adacore.com>
5084
5085 * g-comlin.adb (For_Each_Simple_Switch): Take care of switches not part
5086 of any alias or prefix but having attached parameters (as \"-O2\").
5087
fe5dbc2c
AC
50882008-08-20 Robert Dewar <dewar@adacore.com>
5089
5090 * s-fileio.adb: Minor reformatting
5091
50922008-08-20 Thomas Quinot <quinot@adacore.com>
5093
5094 * exp_strm.adb (Build_Elementary_Input_Call,
5095 Build_Elementary_Write_Call): Fix incorrect condition in circuitry that
5096 selects the stream attribute routines for long float types.
5097
50982008-08-20 Vincent Celier <celier@adacore.com>
5099
5100 * prj-proc.adb (Process_Declarative_Items): Add Location for Array_Data
5101
5102 * prj.ads (Array_Data): Add a component Location
5103
51042008-08-20 Ed Schonberg <schonberg@adacore.com>
5105
5106 * sem_prag.adb:
5107 (Analyze_Pragma, case Obsolescent): Add entity information on the pragma
5108 argument for ASIS and navigation use.
5109
51102008-08-20 Ed Schonberg <schonberg@adacore.com>
5111
5112 * einfo.ads: Add comment.
5113
51142008-08-20 Bob Duff <duff@adacore.com>
5115
5116 * sem_eval.ads: Minor comment fix.
5117
51182008-08-20 Bob Duff <duff@adacore.com>
5119
5120 * exp_ch4.adb (Expand_N_And_Then, Expand_N_Or_Else): Improve constant
5121 folding. We were folding things like "False and then ...", but not
5122 "X and then ..." where X is a constant whose value is known at compile
5123 time.
5124
51252008-08-20 Hristian Kirtchev <kirtchev@adacore.com>
5126
5127 * exp_ch5.adb (Controlled_Type): New routine.
5128 (Expand_N_Extended_Return_Statement): When generating a move of the
5129 final list in extended return statements, check the type of the
5130 function and in the case of double expanded return statements, the type
5131 of the returned object.
5132 (Expand_Simple_Function_Return): Perform an interface conversion when
5133 the type of the returned object is an interface and the context is an
5134 extended return statement.
5135
51362008-08-20 Ed Schonberg <schonberg@adacore.com>
5137
5138 * sem_util.adb (Set_Debug_Info_Needed): If the entity is a private type
5139 and the full view is visible, set flag on full view as well.
5140
51412008-08-20 Thomas Quinot <quinot@adacore.com>
5142
5143 * g-comlin.adb: Minor reformatting
5144 Minor code reorganization.
5145
5146 * freeze.adb: Minor reformatting
5147
51482008-08-20 Vincent Celier <celier@adacore.com>
5149
5150 * prj-nmsc.adb (Check_File): An excluded Ada source file may be a
5151 source of another project.
5152
51532008-08-20 Pascal Obry <obry@adacore.com>
5154
5155 * s-os_lib.ads: Minor reformatting.
5156
c4075a15
AC
51572008-08-20 Arnaud Charlet <charlet@adacore.com>
5158
5159 * gnatvsn.ads: Minor reformatting.
5160
0dd8a0b1
AC
51612008-08-20 Arnaud Charlet <charlet@adacore.com>
5162
5163 * a-crbtgk.adb, repinfo.adb, g-traceb.ads, repinfo.ads,
5164 system-linux-s390x.ads, s-fatflt.ads, s-parame-ae653.ads, g-spipat.adb,
5165 g-spipat.ads, g-tasloc.adb, g-debpoo.adb, g-except.ads, g-debpoo.ads,
5166 mdll-utl.adb, g-string.adb, g-soliop-solaris.ads, par-sync.adb,
5167 exp_ch6.ads, a-cihama.ads, g-curexc.ads, system-linux-sh4.ads,
5168 g-utf_32.adb, g-hesorg.adb, s-proinf-irix-athread.ads, s-parint.adb,
5169 s-parint.ads, exp_ch7.ads, system-linux-alpha.ads, g-dirope.adb,
5170 sinfo-cn.adb, par-labl.adb, a-ciorse.adb, g-calend.adb,
5171 s-parame-vms-alpha.ads, nlists.h, exp_imgv.adb, exp_fixd.ads,
5172 g-calend.ads, gnatcmd.ads, g-table.adb, s-memory-mingw.adb,
5173 g-alveop.ads, g-memdum.ads, g-altive.ads, initialize.c, g-regpat.adb,
5174 g-busorg.ads, g-regpat.ads, g-encstr.ads, g-regexp.adb, g-regexp.ads,
5175 live.ads, g-dyntab.adb, prj-nmsc.ads, par-ch12.adb, 9drpc.adb,
5176 g-alvevi.ads, s-memory.adb, math_lib.adb, s-parame.ads, s-memory.ads,
5177 s-regexp.adb, a-exexda.adb, i-cstrea-vms.adb, a-exexpr.adb,
5178 g-soliop-mingw.ads, s-imgrea.adb, namet.adb, system-vms.ads,
5179 s-inmaop-dummy.adb, s-finroo.ads, a-ngcefu.adb, s-hibaen.ads,
5180 g-soliop.ads, s-auxdec.adb, g-locfil.ads, gnatxref.adb, memroot.adb,
5181 osint-b.ads, memroot.ads, s-parame-hpux.ads, errutil.adb,
5182 system-linux-s390.ads, par-util.adb, osint-c.ads, exp_pakd.ads,
5183 i-pacdec.ads, par-endh.adb, mlib-tgt.ads, prj-strt.ads,
5184 s-osprim-vms.adb, s-proinf.ads, output.ads, g-moreex.ads,
5185 a-finali.ads, s-fatlfl.ads, namet.h, mdll.ads, g-dynhta.ads,
5186 s-imgenu.ads, par-tchk.adb, g-excact.ads, memtrack.adb, s-fatgen.adb,
5187 a-exexpr-gcc.adb, g-arrspl.adb, par-ch4.adb, g-cgideb.adb, freeze.ads,
5188 g-altcon.adb, s-fatllf.ads, gnatfind.adb, s-osinte-lynxos-3.adb,
5189 a-exextr.adb, g-htable.ads, a-calfor.adb, s-imgcha.adb, argv.c,
5190 a-chahan.ads, g-hesora.adb, system-vms_64.ads, par-ch5.adb, g-md5.adb,
5191 lib-xref.ads, g-md5.ads, g-casuti.ads, s-fatsfl.ads, exp_dbug.ads,
5192 s-htable.ads, a-ngcoar.adb, s-arit64.ads, a-ngelfu.adb, a-filico.ads,
5193 par-ch6.adb, s-inmaop.ads, s-parame-vxworks.ads, s-casuti.ads,
5194 a-numaux-darwin.adb, a-cohama.ads, system-linux-sparc.ads, g-os_lib.adb,
5195 system-vms-ia64.ads, s-parame-vms-restrict.ads, a-clrefi.ads,
5196 s-parame-vms-ia64.ads, a-strfix.adb, a-coorse.adb, a-comlin.ads,
5197 a-chtgke.adb, s-imgint.adb, g-expect.ads, exp_ch4.ads, s-finimp.adb,
5198 mingw32.h, g-heasor.adb, g-alleve.adb, a-ngrear.adb, s-mastop-irix.adb,
5199 s-poosiz.adb, link.c: Fix copyright notice.
5200
f4857d6e
AC
52012008-08-20 Arnaud Charlet <charlet@adacore.com>
5202
5203 * g-comlin.ads: Update comments.
5204
8b4261b3
AC
52052008-08-20 Ed Schonberg <schonberg@adacore.com>
5206
5207 * sem_ch8.adb (Analyze_Subprogram_Renaming): Inherit Is_Imported flag.
5208
52092008-08-20 Gary Dismukes <dismukes@adacore.com>
5210
5211 * exp_ch11.adb:
5212 (Expand_Exception_Handlers): Call Make_Exception_Handler instead of
5213 Make_Implicit_Exception_Handler when rewriting an exception handler with
5214 a choice parameter, and pass the handler's Sloc instead of that of the
5215 handled sequence of statements. Make_Implicit_Exception_Handler sets the
5216 Sloc to No_Location (unless debugging generated code), which we don't
5217 want for the case of a user handler.
5218
c6084ae0
AC
52192008-08-20 Robert Dewar <dewar@adacore.com>
5220
5221 * freeze.adb (Freeze_Record_Type): Improve msg for non-contiguous field
9e81dbc7 5222
c6084ae0
AC
5223 * sem_ch13.adb:
5224 (Adjust_Record_For_Reverse_Bit_Order): Messages about layout are
5225 now labeled as info msgs, not warnings.
5226
5227 * tbuild.ads: Clarify documentation of Make_Implicit_Exception_Handler
5228
5229 * usage.adb: Minor change to avoid overlong line for -gnatwz/Z
5230
5231 * a-textio.adb: Remove redundant test.
5232
5233 * a-witeio.adb: Minor code reorganization
5234 Remove redundant test found working on another issue
5235
5236 * a-ztexio.adb: Minor code reorganization
5237 Remove redundant test found working on another issue
5238
52392008-08-20 Thomas Quinot <quinot@adacore.com>
5240
5241 * s-fileio.adb (Open) Use C helper function to determine whether a
5242 given errno value corresponds to a "file not found" error.
5243
5244 * sysdep.c (__gnat_is_file_not_found_error): New C helper function.
5245
52462008-08-20 Jose Ruiz <ruiz@adacore.com>
5247
5248 * errno.c (__get_errno for MaRTE): Use the MaRTE function pthread_errno
5249 to get access to the per-task errno variable.
5250 (__set_errno for MaRTE): Do not redefine this function here since it is
5251 already defined in MaRTE.
5252
52532008-08-20 Tristan Gingold <gingold@adacore.com>
5254
5255 * gnat_ugn.texi: Gcov is not supported on static library on AIX.
5256
6e7f835f
AC
52572008-08-20 Robert Dewar <dewar@adacore.com>
5258
5259 * freeze.adb: Minor reformatting
5260
5261 * g-comlin.adb: Minor reformatting
5262
5263 * g-socket.adb: Minor reformatting
5264
5265 * g-socthi-mingw.adb: Minor reformatting
5266
5267 * g-stheme.adb: Minor reformatting
5268
2af92e28
ES
52692008-08-20 Ed Schonberg <schonberg@adacore.com>
5270
5271 * sem_aggr.adb, sem_type.adb, exp_ch9.ads, einfo.ads,
5272 exp_ch6.adb, exp_aggr.adb (Valid_Ancestor): Resolve
5273 confusion between partial and full views of an ancestor of the context
5274 type when the parent is a private extension declared in a parent unit,
5275 and full views are available for the context type.
5276
79a14178 52772008-08-18 Samuel Tardieu <sam@rfc1149.net>
9e81dbc7 5278 Robert Dewar <dewar@adacore.com>
79a14178
ST
5279
5280 PR ada/30827
5281 * bindgen.adb (Gen_Output_File_Ada): Zero-terminate the
5282 version string.
5283 Move comment in the right place.
5284 * g-comver.adb (Version): Look for a zero-termination in
5285 addition to a closing parenthesis.
5286
b9b2405f
ST
52872008-08-18 Samuel Tardieu <sam@rfc1149.net>
5288
5289 * exp_ch13.adb, exp_disp.adb, sem_cat.adb, sem_ch10.adb,
5290 * sem_ch12.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
5291 * sem_prag.adb, sem_util.adb, sem_warn.adb: Use
5292 Is_Package_Or_Generic_Package instead of hand-crafted tests.
5293
51c16e29
ST
52942008-08-18 Samuel Tardieu <sam@rfc1149.net>
5295
5296 PR ada/15808
5297 * sem_ch6.adb (Check_Private_Overriding): Check for generic packages
5298 as well.
5299
c8bbc9ef
AL
53002008-08-17 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
5301
5302 * adaint.c (_gnat_set_close_on_exec) [_WIN32]: Implement.
5303
e650b83a
EB
53042008-08-16 Eric Botcazou <ebotcazou@adacore.com>
5305
5306 * gcc-interface/trans.c (call_to_gnu): Use the Sloc of the call
5307 for back-copy statements in lieu of that of the actual.
5308
b38f3813
EB
53092008-08-16 Eric Botcazou <ebotcazou@adacore.com>
5310
5311 PR ada/20548
5312 * gcc-interface/decl.c (gnat_to_gnu_entity): Use DECL_SIZE_UNIT in the
12f89f6c 5313 setjmp test consistently. Adjust for new behavior of flag_stack_check.
b38f3813 5314 * gcc-interface/utils2.c (build_call_alloc_dealloc): Remove redundant
12f89f6c 5315 test of flag_stack_check. Adjust for new behavior of flag_stack_check.
b38f3813 5316
2d14501c
ST
53172008-08-13 Samuel Tardieu <sam@rfc1149.net>
5318
5319 PR ada/36777
5320 * sem_util.ads, sem_util.adb (Is_Protected_Self_Reference): New.
5321 * sem_attr.adb (Check_Type): The current instance of a protected
5322 object is not a type name.
5323 (Analyze_Access_Attribute): Accept instances of protected objects.
5324 (Analyze_Attribute, Attribute_Address clause): Ditto.
5325 * exp_attr.adb (Expand_N_Attribute_Reference): Rewrite
5326 the prefix as being the current instance if needed.
5327
62641193
DS
53282008-08-12 Danny Smith <danyssmith@users.sourceforge.net>
5329
0490fbb8
EB
5330 * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) [WINDOWS]:
5331 Remove duplicate s-win32.o. Add s-winext.o.
62641193 5332
2a04ce75
DS
53332008-08-12 Danny Smith <danyssmith@users.sourceforge.net>
5334
5335 * g-stsifd-sockets.adb (Create): Replace Constants.SOCK_STREAM
5336 with SOSC.SOCK__STREAM.
5337 * g-socthi-mingw.adb (C_Select) Replace Constants.MSG_OOB with
5338 SOSC.MSG_OOB.
5339
269b85b7
JS
53402008-08-11 Joel Sherrill <joel.sherrill@oarcorp.com>
5341
5342 * s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it.
5343 * gsocket.h, socket.c: Update to support RTEMS.
5344 * gcc-interface/Make-lang.in: Include CFLAGS_FOR_TARGET when cross.
5345
abcbd24c 53462008-08-10 Samuel Tardieu <sam@rfc1149.net>
9e81dbc7 5347 Robert Dewar <dewar@adacore.com>
abcbd24c
ST
5348
5349 * exp_ch4.adb (Expand_N_Op_Expon): Force evaluation of
5350 left argument even when right argument is 0.
5351 (Expand_N_Op_Mod): Ditto when right argument is 1.
5352 (Expand_N_Op_Multiply): Ditto when any argument is 0.
5353 (Expand_N_Op_Rem): Ditto when right argument is 1.
5354
98e48a7f
MLI
53552008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
5356
5357 * gcc-interface/misc.c (gnat_handle_option): Replace set_Wunused
5358 by warn_unused.
9e81dbc7 5359
70d904ca
ES
53602008-08-08 Ed Schonberg <schonberg@adacore.com>
5361
5362 * freeze.adb (Generate_Prim_Op_References): New procedure, abstracted
5363 from Freeze_Entity. Used to generate cross-reference information for
5364 types declared in generic packages.
5365
cfb53555
TQ
53662008-08-08 Thomas Quinot <quinot@adacore.com>
5367
5368 * gcc-interface/Makefile.in: Reintroduce g-soccon.ads as a
5369 compatibility shim.
5370
a3ea9137
AC
53712008-08-08 Thomas Quinot <quinot@adacore.com>
5372
5373 * gsocket.h:
5374 On Windows, include <errno.h> and redefine only selected errno values
5375 from their <winsock2.h> definitions.
5376
5377 * s-osinte-freebsd.ads: Minor reformatting
5378
5379 * s-osinte-hpux.ads, s-osinte-irix.ads: Minor reformatting
5380
5381 * g-soccon.ads: New file.
5382
5383 * g-stheme.adb, g-socthi-vms.adb, g-socthi-vxworks.adb,
5384 g-socthi-mingw.adb, g-sttsne-vxworks.adb, g-socthi.adb,
5385 g-stsifd-sockets.adb, g-socket.adb, g-socket.ads,
5386 g-sothco.adb, g-sothco.ads: Add back GNAT.Sockets.Constants as a child
5387 unit, to allow building software that depends on this internal unit
5388 with both older and newer compilers.
5389
53902008-08-08 Robert Dewar <dewar@adacore.com>
5391
5392 * s-strxdr.adb: Minor reformatting
5393
53942008-08-08 Bob Duff <duff@adacore.com>
5395
5396 * gnat_ugn.texi: The "Run-Time Checks" section said "arithmetic overflow
5397 checking for integer operations (including division by zero)", which
5398 is wrong -- divide by zero is not part of overflow checking.
5399 Also added misc clarification about what check-suppression means.
5400
5401 * gnat_rm.texi: Clarify the meaning of pragma Suppress.
5402
54032008-08-08 Jerome Lambourg <lambourg@adacore.com>
5404
5405 * g-comlin.adb (Add_Switch): Handle addition of switches at the
5406 begining of the command line.
5407 (Append, Add): Renaming of Append to Add as this now allows addition
5408 at the begining of the list.
9e81dbc7 5409
a3ea9137
AC
5410 * g-comlin.ads (Add_Switch): Handle addition of switches at the
5411 begining of the command line.
5412
54132008-08-08 Thomas Quinot <quinot@adacore.com>
5414
5415 * g-sercom.ads:
5416 (Name): Document application scope (only legacy PC serial ports on
5417 Linux and Windows).
5418
15d2e2d4
TQ
54192008-08-08 Thomas Quinot <quinot@adacore.com>
5420
5421 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Revert
5422 previous change, not needed after all.
5423
51e4c4b9
AC
54242008-08-08 Ed Schonberg <schonberg@adacore.com>
5425
5426 * exp_ch4.adb (Expand_Allocator_Expression): add check if null
5427 exclusion indicator is present
5428
54292008-08-08 Robert Dewar <dewar@adacore.com>
5430
5431 * g-comlin.adb: Minor code reorganization
5432 Minor reformatting
5433
5434 * g-comlin.ads: Minor reformatting
5435
5436 * s-fileio.adb: Minor reformatting
5437
5438 * sem_attr.adb: Minor code reorganization (use Nkind_In)
5439 Minor reformatting
5440
6f371a2e
ST
54412008-08-06 Samuel Tardieu <sam@rfc1149.net>
5442
5443 * gcc-interface/Make-lang.in: Use GCC_FOR_TARGET when dealing
5444 with s-oscons-tmplt.i.
5445
6a69bcf4
ST
54462008-08-06 Samuel Tardieu <sam@rfc1149.net>
5447
5448 * gcc-interface/Make-lang.in (OSCONS_CPPFLAGS): Remove.
5449
ef9e1eff
AC
54502008-08-06 Ed Schonberg <schonberg@adacore.com>
5451
5452 * sem_ch3.adb (Analyze_Component_Declaration): Protect against misuse
5453 of incomplete type.
5454
5455 * sem_ch8.adb (Analyze_Object_Renaming): Diagnose properly a renaming
5456 of a formal parameter of an incomplete type. Improve error message for
5457 other improper uses of incomplete types.
5458
54592008-08-06 Robert Dewar <dewar@adacore.com>
5460
5461 * gnat_ugn.texi: Clarify -gnato documentation
5462
54632008-08-06 Thomas Quinot <quinot@adacore.com>
5464
5465 * gcc-interface/Makefile.in,
5466 g-socthi-vxworks.adb, g-socthi-mingw.adb, g-sttsne-vxworks.adb,
5467 g-socthi.adb, g-socket.adb, g-socket.ads, g-sothco.ads,
5468 g-soccon-linux-x86.ads, g-soccon-vxworks.ads, g-soccon-mingw.ads,
5469 g-soccon-hpux-ia64.ads, g-soccon-irix.ads, g-soccon-linux-64.ads,
5470 g-soccon-aix.ads, g-soccon-solaris.ads, g-soccon-lynxos.ads,
5471 g-soccon-vms.ads, g-soccon.ads, g-soccon-freebsd.ads,
5472 g-soccon-linux-ppc.ads, g-soccon-tru64.ads, g-soccon-hpux.ads,
5473 g-soccon-solaris-64.ads, gen-oscons.c, g-soccon-darwin.ads,
5474 g-soccon-mingw-64.ads, g-soccon-linux-mips.ads, g-soccon-rtems.ads:
5475 Remove GNAT.Sockets.Constants. This internal package is replaced by
5476 System.OS_Constants.
5477
e93d146b
TQ
54782008-08-06 Thomas Quinot <quinot@adacore.com>
5479
5480 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in:
5481 Remove obsolete targets referencing gen-soccon
5482 When generating s-oscons.ads, use a file name that includes the
5483 THREAD_KIND, to ensure that the (potentially different) version from a
5484 previous build with a different threads flavour does not get reused.
5485
c6aecf3b
AC
54862008-08-06 Thomas Quinot <quinot@adacore.com>
5487
5488 * sem_res.adb: Minor reformatting
5489
5490 * s-fileio.adb (Open): When file open operation fails, raise Name_Error
5491 only when the operating system reports a non-existing file or directory
5492 (ENOENT), otherwise raise Name_Error.
5493
5494 * exp_ch11.adb: Minor reformatting
5495
54962008-08-06 Ed Schonberg <schonberg@adacore.com>
5497
5498 * sem_ch3.adb (Access_Subprogram_Declaration): If the return type is
5499 incomplete, add the access_to_subprogram type to the list of private
5500 dependents only if the incomplete type will be completed in the current
5501 scope.
5502 (Build_Discriminant_Constraints): If the type of the discriminant is
5503 access_to_variable, reject a constraint that is access_to_constant.
5504
6594c0f3
AC
55052008-08-06 Thomas Quinot <quinot@adacore.com>
5506
5507 * g-socket-dummy.adb, g-socket-dummy.ads, g-sothco-dummy.adb,
5508 g-sothco-dummy.ads, g-socthi-dummy.adb, g-socthi-dummy.ads,
5509 g-sttsne-dummy.ads: New files.
5510
5511 * gcc-interface/Makefile.in, Makefile.rtl: Use placeholder sources
5512 with pragma Unimplemented_Unit for sockets packages on Nucleus.
5513
55142008-08-06 Pascal Obry <obry@adacore.com>
5515
5516 * adaint.c: Another fix for ACL support on Windows.
5517
55182008-08-06 Javier Miranda <miranda@adacore.com>
5519
5520 * exp_disp (Expand_Interface_Actuals): Adds missing support for
5521 expansion of calls to subprograms using selected components.
5522
55232008-08-06 Ed Schonberg <schonberg@adacore.com>
5524
5525 * sem_res.adb (Resolve_Call): Use base type to determine whether a
5526 dereference is needed because a subtype of an access_to_subprogram is
5527 simply an access-subtype
5528
55292008-08-06 Jerome Lambourg <lambourg@adacore.com>
5530
5531 * g-comlin.adb (Set_Command_Line): Now that aliases can contain
5532 parameters, always specify the expected separator.
5533
f9325b03
AC
55342008-08-06 Thomas Quinot <quinot@adacore.com>
5535
5536 * xnmake.adb: Use new XUtil package for platform independent text
5537 output.
5538
55392008-08-06 Vincent Celier <celier@adacore.com>
5540
5541 * gnat_ugn.texi: Document compiler switch -gnateG
5542
55432008-08-06 Quentin Ochem <ochem@adacore.com>
5544
5545 * s-stausa.adb (Fill_Stack): Fixed pragma assert and top pattern mark
5546 in the case of an empty pattern size.
5547 (Compute_Result): Do not do any computation in the case of an empty
5548 pattern size.
5549 (Report_Result): Fixed computation of the overflow guard.
5550
55512008-08-06 Ed Schonberg <schonberg@adacore.com>
5552
5553 * g-awk.adb (Finalize): Do not use directly objects of the type in the
5554 finalization routine to prevent elaboration order anomalies in new
5555 finalization scheme.
5556
55572008-08-06 Ed Schonberg <schonberg@adacore.com>
5558
5559 * sem_ch3.adb (Find_Type_Name): protect against duplicate incomplete
5560 declaration for the same type.
5561
55622008-08-06 Thomas Quinot <quinot@adacore.com>
5563
5564 * sem.adb: Minor rewording (comment)
5565
55662008-08-06 Jerome Lambourg <lambourg@adacore.com>
5567
5568 * g-comlin.adb (Define_Switch, Get_Switches): New.
5569 (Can_Have_Parameter, Require_Parameter, Actual_Switch): New, used when
5570 ungrouping switches.
5571 (For_Each_Simple_Switch): Allow more control over parameters handling.
5572 This generic method now allows ungrouping of switches with parameters
5573 and switches with more than one letter after the prefix.
5574 (Set_Command_Line): Take care of switches that are prefixed with a
5575 switch handling parameters without delimiter (-gnatya and -gnaty3 for
5576 example).
5577 (Add_Switch, Remove_Switch): Handle parameters possibly present inside
5578 a group, as in gnaty3aM80 (3 and 80 are parameters). Report status of
5579 the operation.
5580 (Start, Alias_Switches, Group_Switches): Take care of parameters
5581 possibly present inside a group.
5582
5583 * g-comlin.ads (Define_Switch): New method used to define a list of
5584 expected switches, that are necessary for correctly ungrouping switches
5585 with more that one character after the prefix.
5586 (Get_Switches): Method that builds a getopt string from the list of
5587 switches as set previously by Define_Switch.
5588 (Add_Switch, Remove_Switch): New versions of the methods, reporting the
5589 status of the operation. Also allow the removal of switches with
5590 parameters only.
5591 (Command_Line_Configuration_Record): Maintain a list of expected
5592 switches.
5593
f0a631aa
DR
55942008-08-06 Doug Rupp <rupp@adacore.com>
5595
5596 * gcc-interface/decl.c (gnat_to_gnu_param): Force 32bit descriptor if
5597 TARGET_MALLOC64 clear.
5598
5599 * gcc-interface/utils2.c (build_call_alloc_dealloc): Force 32bit malloc
5600 if TARGET_MALLOC64 clear.
5601
5602 * gcc-interface/gigi.h (TARGET_ABI_OPEN_VMS): Move here from utils2.c
5603 (TARGET_MALLC64): New macro. Default to clear.
5604
31fcb30f
DR
56052008-08-06 Doug Rupp <rupp@adacore.com>
5606
5607 * gcc-interface/utils2.c (snames.h) Include
5608 (TARGET_ABI_OPEN_VMS): Initialize.
5609 (build_call_alloc_dealloc); [TARGET_ABI_OPEN_VMS] Allocate on 32bit heap
5610 for Convention C.
5611
ea08fcdc
AC
56122008-08-06 Ed Schonberg <schonberg@adacore.com>
5613
5614 * sem_ch3.adb (Process_Discriminants): diagnose redundant or improper
5615 null exclusion in a discriminant declaration
5616
5617 * sem_ch8.adb (Analyze_Object_Renaming): diagnose null exclusion
5618 indicators when type is not an access type.
5619
5620 * sem_ch12.adb (Formal_Object_Declaration): diagnose null exclusion
5621 indicators when type is not an access type.
5622
56232008-08-06 Javier Miranda <miranda@adacore.com>
5624
5625 * exp_disp (Expand_Interface_Conversion): Freeze the entity associated
5626 with the target interface before expanding the code of the interface
5627 conversion.
5628
aecf0203
AC
56292008-08-05 Ed Schonberg <schonberg@adacore.com>
5630
5631 * freeze.adb:
5632 (Freeze_Entity): A deferred constant does not violate the restriction
9e81dbc7 5633 No_Default_Initialization,
aecf0203
AC
5634
5635 * sem_ch3.adb (Process_Subtype): An allocator is a valid construct that
5636 can carry a null exclusion indicator, and on which an error may be
5637 posted if the indicator is redundant.
5638
5639 * sem_ch8.adb (Analyze_Object_Renaming): Verify that a null exclusion
5640 does not apply to a subtype mark that already excludes null.
5641
5642 * sem_ch12.adb (Formal_Object_Declaration): Verify that a null
5643 exclusion does not apply to a subtype mark that already excludes null.
5644
56452008-08-05 Thomas Quinot <quinot@adacore.com>
5646
5647 * Makefile.rtl: Compile s-oscons.ads as part of the runtime library.
5648
56492008-08-05 Doug Rupp <rupp@adacore.com>
5650
5651 * vms_data.ads: Translation for /POINTER_SIZE qualifier.
5652
434d3cf1
AC
56532008-08-05 Thomas Quinot <quinot@adacore.com>
5654
5655 * gsocket.h: Make this file includable in a Nucleus environment, which
5656 does not support sockets.
5657
5658 * socket.c: Remove Nucleus-specific hack.
5659
56602008-08-05 Pascal Obry <obry@adacore.com>
5661
5662 * adaint.c: Remove support for readable attribute on vxworks and nucleus
5663
56642008-08-05 Ed Schonberg <schonberg@adacore.com>
5665
5666 * sem_attr.adb:
5667 (Analyze_Attribute, case 'Result): handle properly the case where some
5668 operand of the expression in a post-condition generates a transient
5669 block.
5670
5671 * sem_ch5.adb (Analyze_Assignment_Statement): Apply conversion to
5672 right-hand side when it is an anonymous access_to_subprogram, to force
5673 static accessibility check when needed.
5674
49331b42
AC
56752008-08-05 Sergey Rybin <rybin@adacore.com>
5676
5677 * gnat_ugn.texi: Changing the description of the gnatcheck metrics
5678 rule according to the change in the rule option.
5679 Add documentation for -gnatw.b/-gnatw.B
5680
56812008-08-05 Robert Dewar <dewar@adacore.com>
5682
5683 * ug_words: Add entries for -gnatw.b/-gnatw.B
5684
5685 * vms_data.ads: Add entries for -gnatw.b/-gnatw.B
5686
21f560ba
VC
56872008-08-05 Vincent Celier <celier@adacore.com>
5688
5689 * a-wtdeio.adb (Put (Current_Output)): Use Fore in the call to Put
5690 (File).
9e81dbc7 5691
21f560ba
VC
5692 * a-ztdeio.adb: Ditto.
5693
43540ec6
AC
56942008-08-05 Pascal Obry <obry@adacore.com>
5695
5696 * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Add support for the
5697 readable attribute.
5698
56992008-08-05 Vincent Celier <celier@adacore.com>
5700
5701 * s-wchwts.adb:
5702 (Wide_String_To_String): Returns a String with the same 'First as its
5703 parameter S.
5704 (Wide_Wide_String_To_String): Ditto
9e81dbc7 5705
43540ec6
AC
5706 * s-wchwts.ads:
5707 (Wide_String_To_String): Document that the lowest index of the returned
5708 String is equal to S'First.
5709
2d4d7e29
TQ
57102008-08-05 Thomas Quinot <quinot@adacore.com>
5711
5712 * xoscons.adb, xutil.ads, xutil.adb, s-oscons-tmplt.c: New files.
5713
5714 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Generate
5715 s-oscons.ads
5716
4ae23b62
AC
57172008-08-05 Robert Dewar <dewar@adacore.com>
5718
5719 * opt.ads (Warn_On_Biased_Representation): New flag
9e81dbc7 5720
4ae23b62
AC
5721 * sem_ch13.adb:
5722 (Analyze_Attribute_Definition_Clause): Issue warning when biased
5723 representation is required.
5724 (Minimum_Size): Don't allow biasing if enum rep clause case
9e81dbc7 5725
4ae23b62
AC
5726 * sem_warn.adb:
5727 (Set_Dot_Warning_Switch): Add handling of -gnatw.b/B switches
5728 (Set_Warning_Switch): Include -gnatw.b in -gnatwa, -gnatw.B in gnatws
9e81dbc7 5729
4ae23b62
AC
5730 * usage.adb: Add lines for -gnatw.b/B switches
5731
57322008-08-05 Pascal Obry <obry@adacore.com>
5733
5734 * a-coinve.adb: Reorder the code to avoid uninitialized warning.
5735
5736 * adaint.c: In UNIX cases do not call __gnat_stat but stat directly.
5737
57382008-08-05 Thomas Quinot <quinot@adacore.com>
5739
5740 * socket.c: Minor reformatting.
5741
ba3fa650
AC
57422008-08-05 Robert Dewar <dewar@adacore.com>
5743
5744 * sem_ch3.adb: Minor reformatting
5745
5746 * prj-nmsc.adb: Minor reformatting
5747
57482008-08-05 Ed Schonberg <schonberg@adacore.com>
5749
5750 * sem_ch12.adb (Validate_Array_Type_Instance): Only apply complex
5751 visibility check on the component type if the simple test fails.
5752
c775e4a1
AC
57532008-08-05 Jose Ruiz <ruiz@adacore.com>
5754
5755 * init.c (__gnat_install_handler for linux): If we are building the
5756 Xenomai run time then we need to do two additional things: avoid
5757 memory swapping and transform the Linux environment task into a native
5758 Xenomai task.
5759
5760 * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for xenomai run
5761 time): Use interface to Xenomai native skin and avoid linux-specific
5762 way of setting CPU affinity.
5763 (EH_MECHANISM for the xenomai run time): Use sjlj exception mechanism.
5764
57652008-08-05 Bob Duff <duff@adacore.com>
5766
5767 * checks.ads: Minor comment fix
5768
57692008-08-05 Thomas Quinot <quinot@adacore.com>
5770
5771 * g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb,
5772 g-sercom-linux.adb (Data_Bits): Change literals B7 and B8 to CS7 and
5773 CS8.
5774
57752008-08-05 Robert Dewar <dewar@adacore.com>
5776
5777 * mlib.adb: Minor code reorganization
5778 Minor reformatting
5779
5780 * make.adb: Minor reformatting
5781
5782 * prj-attr.ads: Minor reformatting
5783
5784 * s-os_lib.adb: Minor reformatting
5785
5786 * s-fileio.adb: Minor code reorganization
5787 Minor reformatting
5788
5789 * prj.ads: Minor reformatting
5790
57912008-08-05 Bob Duff <duff@adacore.com>
5792
5793 * sem_ch3.adb (Analyze_Object_Declaration): Avoid type Any_Access in
5794 unresolved initial value of "null", because it causes implicitly
5795 generated "=" operators to be ambiguous, and because this type should
5796 not be passed to gigi.
5797
0df218a9
AC
57982008-08-05 Vincent Celier <celier@adacore.com>
5799
5800 * mlib.adb: Update comments.
5801
5802 * make.adb (Switches_Of): Check for Switches (others), before checking
5803 for Default_Switches ("Ada").
5804 (Gnatmake): Use Builder'Switches (others) in preference to
5805 Builder'Default_Switches ("Ada") if there are several mains.
5806
5807 * prj-attr-pm.adb:
5808 (Add_Attribute): Add component Others_Allowed in Attribute_Record
5809 aggregate.
5810
5811 * prj-attr.adb:
5812 Add markers to indicates that attributes Switches allow others as index
5813 (Others_Allowed_For): New Boolean function, returning True for
5814 attributes with the mark.
5815 (Initialize): Recognize optional letter 'O' as the marker for
5816 associative array attributes where others is allowed as the index.
5817
5818 * prj-attr.ads:
5819 (Others_Allowed_For): New Boolean function
5820 (Attribute_Record): New Boolean component Others_Allowed
9e81dbc7 5821
0df218a9
AC
5822 * prj-dect.adb:
5823 (Parse_Attribute_Declaration): For associative array attribute where
5824 others is allowed as the index, allow others as an index.
5825
5826 * prj-nmsc.adb:
5827 (Process_Binder): Skip associative array attributes with index others
5828 (Process_Compiler): Ditto
5829
5830 * prj-util.adb:
5831 (Value_Of (Index, In_Array)): Make no attempt to put in lower case when
5832 index is All_Other_Names.
5833
5834 * prj.ads:
5835 (All_Other_Names): New constant
5836
5837 * prj-proc.adb:
5838 (Process_Declarative_Items): Skip associative array attribute when index
5839 is reserved word "others".
5840
58412008-08-05 Vasiliy Fofanov <fofanov@adacore.com>
5842
5843 * gen-oscons.c: Adapt for VMS where termios.h is not available.
5844
c7d920ad
TQ
58452008-08-05 Thomas Quinot <quinot@adacore.com>
5846
5847 * a-rttiev.adb: Minor reformatting (comments)
5848
5849 * gen-soccon.c: Rename to gen-oscons.c
5850
5851 * gen-oscons.c: New file. Now generate System.OS_Constants instead of
5852 GNAT.Sockets.Constants.
5853 Add new constants for GNAT.Serial_Communications and System.File_IO.
5854
8b79ad42
AC
58552008-08-05 Javier Miranda <miranda@adacore.com>
5856
5857 * sem_util.adb (Collect_Interfaces_Info): Minor reformating.
5858 * exp_ch3.adb (Build_Offset_To_Top_Functions): Code cleanup: the
5859 implementation of this routine has been simplified.
5860
58612008-08-05 Pascal Obry <obry@adacore.com>
5862
5863 * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Fix the
5864 Set_Read_Only Win32 implementation.
5865
99e81db6
TQ
58662008-08-05 Thomas Quinot <quinot@adacore.com>
5867
5868 * exp_strm.adb: Minor reformatting (comments)
5869
5870 * sem_ch12.adb: Minor reformatting.
5871
dce86910
AC
58722008-08-05 Robert Dewar <dewar@adacore.com>
5873
5874 * sem_ch3.adb: Minor reformatting
5875
5876 * checks.adb: Minor reformatting
5877
58782008-08-05 Thomas Quinot <quinot@adacore.com>
5879
5880 * tbuild.ads (New_External_Name): Update spec to reflect relaxed
5881 restriction on Prefix.
5882
58832008-08-05 Jerome Lambourg <lambourg@adacore.com>
5884
5885 * g-comlin.adb (Sort_Sections, Group_Switches): New/Modified internal
5886 methods needed to handle switch sections when building a command line.
5887 (Define_Section, Add_Switch, Remove_Switch, Is_New_Section,
5888 Current_Section): New public methods or methods modified to handle
5889 building command lines with sections.
5890 (Set_Command_Line): Take into account sections when analysing a switch
5891 string.
5892 (Start): Sort the switches by sections before iterating the command line
5893 elements.
9e81dbc7 5894
dce86910
AC
5895 * g-comlin.ads (Define_Section, Add_Switch, Remove_Switch,
5896 Is_New_Section, Current_Section): New methods or methods modified to
5897 handle building command lines with sections.
5898
58992008-08-05 Ed Schonberg <schonberg@adacore.com>
5900
5901 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For access
5902 discriminants, indicate that the corresponding object declaration has
5903 no initialization, to prevent spurious warnings when the access type is
5904 null-excluding.
5905
59062008-08-05 Ed Schonberg <schonberg@adacore.com>
5907
5908 * sem_res.adb (Resolve_Call): If this is a call to the predefined
5909 Abort_Task, warn if the call appears within a protected operation.
5910
52fb73c2
AC
59112008-08-04 Robert Dewar <dewar@adacore.com>
5912
5913 * exp_ch4.adb (Expand_N_In): Suppress range warnings in instances
5914
59152008-08-04 Ed Schonberg <schonberg@adacore.com>
5916
5917 * sem_ch3.adb:
5918 (Replace_Anonymous_Access_To_Protected_Subprogram): Handle properly an
5919 anonymous access to protected subprogram that is the return type of the
5920 specification of a subprogram body.
5921
5922 * sem_ch6.adb:
5923 (Analyze_Subprogram_Body): if the return type is an anonymous access to
5924 subprogram, freeze it now to prevent access anomalies in the back-end.
5925
5926 * exp_ch9.adb: Minor code cleanup.
5927 Make sure that new declarations are inserted into the tree before
5928 analysis (from code reading).
5929
59302008-08-04 Robert Dewar <dewar@adacore.com>
5931
5932 * exp_ch5.adb:
5933 (Expand_Simple_Function_Return): Check No_Secondary_Stack restriction
5934 at point of return.
5935
367a9e66
AC
59362008-08-04 Thomas Quinot <quinot@adacore.com>
5937
5938 * sem_type.adb, sem_ch4.adb, sprint.adb, exp_ch3.adb: Minor reformatting
5939
59402008-08-04 Vasiliy Fofanov <fofanov@adacore.com>
5941
5942 * g-soccon-mingw.ads: Fix value for MSG_WAITALL
5943
59442008-08-04 Javier Miranda <miranda@adacore.com>
5945
5946 * sem_prag.adb (Process_Convention): Add missing support for
5947 N_Private_Extension_Declaration nodes.
5948
59492008-08-04 Robert Dewar <dewar@adacore.com>
5950
5951 * exp_ch4.adb: Minor reformatting
5952
a07c3593
AC
59532008-08-04 Pascal Obry <obry@adacore.com>
5954
5955 * adaint.h: Add missing prototype.
5956
5957 * adaint.c: Refine support for Windows file attributes.
5958
59592008-08-04 Robert Dewar <dewar@adacore.com>
5960
5961 * sem_res.adb:
5962 (Valid_Conversion): Catch case of designated types having different
5963 sizes, even though they statically match.
5964
59652008-08-04 Javier Miranda <miranda@adacore.com>
5966
5967 * sem_eval.adb (Subtypes_Statically_Match): Remove superfluous patch
5968 added in previous patch to handle access to subprograms.
5969
59702008-08-04 Robert Dewar <dewar@adacore.com>
5971
5972 * freeze.adb:
5973 (Freeze_Entity): Only check No_Default_Initialization restriction for
5974 constructs that come from source
5975
59762008-08-04 Thomas Quinot <quinot@adacore.com>
5977
5978 * exp_ch6.adb: Minor comment fix.
5979
5980 * sem_ch4.adb: Minor reformatting.
5981
d559d5c6
AC
59822008-08-04 Robert Dewar <dewar@adacore.com>
5983
5984 * sem_res.adb: (Large_Storage_Type): Improve previous change.
5985
59862008-08-04 Pascal Obry <obry@adacore.com>
5987
5988 * adaint.c, s-os_lib.adb, s-os_lib.ads: Use Windows ACL to deal with
5989 file attributes.
5990
b1c11e0e
JM
59912008-08-04 Javier Miranda <miranda@adacore.com>
5992
5993 * sem_ch3.adb (Access_Subprogram_Declaration): Adding missing support
5994 for N_Formal_Object_Declaration nodes. Adding kludge required by
5995 First_Formal to provide its functionality with access to functions.
5996 (Replace_Anonymous_Access_To_Protected_Subprogram): Add missing support
5997 for anonymous access types returned by functions.
5998
5999 * sem_ch5.adb (Analyze_Assignment): Code cleanup to avoid duplicate
6000 conversion of null-excluding access types (required only once to force
6001 the generation of the required runtime check).
6002
6003 * sem_type.adb (Covers): minor reformating
6004
6005 * checks.adb (Null_Exclusion_Static_Checks): Avoid reporting errors
6006 with internally generated nodes. Avoid generating the error inside init
6007 procs.
6008
6009 * sem_res.adb (Resolve_Membership_Test): Minor reformating.
6010 (Resolve_Null): Generate the null-excluding check in case of assignment
6011 to a null-excluding object.
6012 (Valid_Conversion): Add missing support for anonymous access to
6013 subprograms.
6014
6015 * sem_ch6.adb (Check_Return_Subtype_Indication): Add missing support for
6016 anonymous access types whose designated type is an itype. This case
6017 occurs with anonymous access to protected subprograms types.
6018 (Analyze_Return_Type): Add missing support for anonymous access to
6019 protected subprogram.
6020
6021 * sem_eval.adb (Subtypes_Statically_Match): In case of access to
6022 subprograms addition of missing check on matching convention. Required
6023 to properly handle access to protected subprogram types.
6024
6025 * exp_ch3 (Build_Assignment): Code cleanup removing duplicated check on
6026 null excluding access types.
6027
b282ab37
AC
60282008-08-04 Ed Schonberg <schonberg@adacore.com>
6029
6030 * sem_ch12.adb: Add comments
6031
6032 * sem_ch4.adb (Analyze_Allocator): If the designated type is a non-null
6033 access type and the allocator is not initialized, warn rather than
6034 reporting an error.
6035
60362008-08-04 Robert Dewar <dewar@adacore.com>
6037
6038 * exp_ch4.adb: Minor reformatting
6039
6040 * exp_dist.adb: Minor reformatting
6041
6042 * g-comlin.adb: Minor reformatting
6043
60442008-08-04 Gary Dismukes <dismukes@adacore.com>
6045
6046 * exp_aggr.adb (Build_Record_Aggr_Code): Perform a conversion of the
6047 target to the type of the aggregate in the case where the target object
6048 is class-wide.
6049
6050 * exp_ch5.adb (Expand_Simple_Function_Return): When the function's
6051 result type is class-wide and inherently limited, and the expression
6052 has a specific type, create a return object of the specific type, for
6053 more efficient handling of returns of build-in-place aggregates (avoids
6054 conversions of the class-wide return object to the specific type on
6055 component assignments).
6056
6057 * sem_ch6.adb (Check_Return_Subtype_Indication): Suppress the error
6058 about a type mismatch for a class-wide function with a return object
6059 having a specific type when the object declaration doesn't come from
6060 source. Such an object can result from the expansion of a simple return.
6061
60622008-08-04 Vasiliy Fofanov <fofanov@adacore.com>
6063
6064 * g-soccon-mingw-64.ads, system-mingw-x86_64.ads: New files.
6065
6066 * gcc-interface/Makefile.in: Use 64bit-specific system files when
6067 compiling for 64bit windows.
6068
54838d1f
AC
60692008-08-04 Jerome Lambourg <lambourg@adacore.com>
6070
6071 * g-comlin.adb (Group_Switches): Preserve the switch order when
6072 grouping and allow switch grouping of switches with more than one
6073 character extension (e.g. gnatw.x).
6074 (Args_From_Expanded): Remove this now obsolete method.
6075
60762008-08-04 Ed Schonberg <schonberg@adacore.com>
6077
6078 * exp_ch4.adb (Get_Allocator_Final_List): Freeze anonymous type for
6079 chain at once, to ensure that type is properly decorated for back-end,
6080 when allocator appears within a loop.
6081
60822008-08-04 Kevin Pouget <pouget@adacore.com>
6083
6084 * snames.h, snames.adb, snames.ads:
6085 Add Attr_To_Any, Attr_From_Any and Attr_TypeCode defines.
6086
6087 * exp_dist.ads, exp_dist.adb: Add Build_From_Any_Call,
6088 Build_To_Any_Call and Build_TypeCode_Call procedures.
6089
6090 * exp_attr.adb, sem_attr.adb: Add corresponding cases.
6091
6092 * rtsfind.ads: Add corresponding names.
6093
6094 * tbuild.adb: Update prefix restrictions to allow '_' character.
6095
819fad69
AC
60962008-08-04 Doug Rupp <rupp@adacore.com>
6097
6098 * gigi.h (fill_vms_descriptor): Add third parameter gnat_actual
6099 * trans.c (call_to_gnu): Call fill_vms_descriptor with new parameter.
6100 * utils2.c (fill_vms_descriptor): Add third parameter for error sloc and
6101 use it. Calculate pointer range overflow using 64bit types.
6102
61032008-08-04 Ed Schonberg <schonberg@adacore.com>
6104
6105 * sem_ch3.adb (Access_Definition): A formal object declaration is a
6106 legal context for an anonymous access to subprogram.
6107
6108 * sem_ch4.adb (Analyze_One_Call): If the call can be interpreted as an
6109 indirect call, report success to the caller to include possible
6110 interpretation.
6111
6112 * sem_ch6.adb (Check_Return_Type_Indication): Apply proper conformance
6113 check when the type
6114 of the extended return is an anonymous access_to_subprogram type.
6115
6116 * sem_res.adb:
6117 (Resolve_Call): Insert a dereference if the type of the subprogram is an
6118 access_to_subprogram and the context requires its return type, and a
6119 dereference has not been introduced previously.
6120
61212008-08-04 Arnaud Charlet <charlet@adacore.com>
6122
6123 * usage.adb (Usage): Minor rewording of -gnatwz switch, to improve
6124 gnatcheck support in GPS.
6125
61262008-08-04 Vincent Celier <celier@adacore.com>
6127
6128 * mlib.adb (Create_Sym_Links): Create relative symbolic links when
6129 requested
6130
a037f912
VC
61312008-08-04 Vincent Celier <celier@adacore.com>
6132
6133 * gprep.adb (Process_One_File): Call Prep.Preprocess with a Boolean
6134 variable, but don't check the resulting value as it has no impact on
6135 the processing.
9e81dbc7 6136
a037f912
VC
6137 * opt.ads:
6138 (Generate_Processed_File): New Boolean flag, set to True in the compiler
6139 when switch -gnateG is used.
9e81dbc7 6140
a037f912
VC
6141 * prep.adb:
6142 (Preprocess): new Boolean out parameter Source_Modified. Set it to True
6143 when the source is modified by the preprocessor and there is no
6144 preprocessing errors.
9e81dbc7 6145
a037f912 6146 * prep.ads (Preprocess): new Boolean out parameter Source_Modified
9e81dbc7 6147
a037f912
VC
6148 * sinput-l.adb:
6149 (Load_File): Output the result of preprocessing if the source text was
6150 modified.
9e81dbc7 6151
a037f912 6152 * switch-c.adb (Scan_Front_End_Switches): Recognize switch -gnateG
9e81dbc7 6153
a037f912 6154 * switch-m.adb (Normalize_Compiler_Switches): Normalize switch -gnateG
9e81dbc7 6155
a037f912 6156 * ug_words: Add VMS equivalent for -gnateG
9e81dbc7 6157
a037f912
VC
6158 * vms_data.ads:
6159 Add VMS option /GENERATE_PROCESSED_SOURCE, equivalent to switch -gnateG
6160
bdc33a55
AC
61612008-08-04 Doug Rupp <rupp@adacore.com>
6162
6163 * gcc-interface/utils2.c:
6164 (fill_vms_descriptor): Raise CE if attempt made to pass 64bit pointer
6165 in 32bit descriptor.
6166
61672008-08-04 Robert Dewar <dewar@adacore.com>
6168
6169 * par-ch10.adb: Minor reformatting
6170
6171 * i-cobol.adb: Minor reformatting.
6172
61732008-08-04 Ed Schonberg <schonberg@adacore.com>
6174
6175 * sem_ch3.adb (Access_Definition): Create an itype reference for an
6176 anonymous access return type of a regular function that is not a
6177 compilation unit.
6178
61792008-08-04 Vincent Celier <celier@adacore.com>
6180
6181 * prj-attr.adb: New Builder attribute Global_Compilation_Switches
9e81dbc7 6182
bdc33a55 6183 * snames.adb: New standard name Global_Compilation_Switches
9e81dbc7 6184
bdc33a55
AC
6185 * snames.ads: New standard name Global_Compilation_Switches
6186
6187 * make.adb: Correct spelling error in comment
6188
61892008-08-04 Arnaud Charlet <charlet@adacore.com>
6190
6191 * sem_prag.adb (Check_Form_Of_Interface_Name): Fix handling for CLI
6192 target.
6193
61942008-08-04 Thomas Quinot <quinot@adacore.com>
6195
6196 * sem_ch10.adb: Minor comment fix.
6197
fc1b906a
AC
61982008-08-04 Robert Dewar <dewar@adacore.com>
6199
6200 * restrict.adb: Improved messages for restriction warnings
6201
6202 * restrict.ads: Improved messages for restriction messages
6203
6204 * s-rident.ads (Profile_Name): Add No_Profile
6205
62062008-08-04 Robert Dewar <dewar@adacore.com>
6207
6208 * system-darwin-x86.ads: Correct bad definition of Max_Nonbinary_Modulus
6209
62102008-08-04 Robert Dewar <dewar@adacore.com>
6211
6212 * freeze.adb (Freeze_Entity): Check for size clause for boolean warning
6213
62142008-08-04 Vincent Celier <celier@adacore.com>
6215
6216 * prj-proc.adb:
6217 (Copy_Package_Declarations): When inheriting package Naming from a
6218 project being extended, do not inherit source exception names.
6219
62202008-08-04 Ed Schonberg <schonberg@adacore.com>
6221
6222 * sem_prag.adb (Check_Precondition_Postcondition): When scanning the
6223 list of declaration to find previous subprogram, do not go to the
6224 original node of a generic unit.
6225
d2143736
EB
62262008-08-02 Eric Botcazou <ebotcazou@adacore.com>
6227
6228 * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR, MINUS_EXPR>:
6229 New case. Convert BOOLEAN_TYPE operation to the default integer type.
6230
a981c964
EB
62312008-08-01 Eric Botcazou <ebotcazou@adacore.com>
6232
6233 * gcc-interface/ada-tree.h (DECL_PARM_ALT): Now DECL_PARM_ALT_TYPE.
6234 * gcc-interface/decl.c (gnat_to_gnu_param): Fix formatting, simplify
6235 and adjust for above renaming.
6236 * gcc-interface/utils.c (convert_vms_descriptor): Likewise. Add new
6237 gnu_expr_alt_type parameter. Convert the expression to it instead
6238 of changing its type in place.
6239 (build_function_stub): Adjust call to above function.
6240
8df2e902
EB
62412008-08-01 Eric Botcazou <ebotcazou@adacore.com>
6242
6243 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove dead
6244 code. Do not get full definition of deferred constants with address
6245 clause for a use. Do not ignore deferred constant definitions with
6246 address clause. Ignore constant definitions already marked with the
6247 error node.
6248 <object>: Remove obsolete comment. For a deferred constant with
6249 address clause, get the initializer from the full view.
6250 * gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Definition_Clause>:
6251 Rework and remove obsolete comment.
6252 <N_Object_Declaration>: For a deferred constant with address clause,
6253 mark the full view with the error node.
6254 * gcc-interface/utils.c (convert_to_fat_pointer): Rework and fix
6255 formatting nits.
6256
585df50b
AC
62572008-08-01 Hristian Kirtchev <kirtchev@adacore.com>
6258
6259 * rtsfind.ads: Add block IO versions of stream routines for Strings.
9e81dbc7 6260
585df50b
AC
6261 * bindgen.adb, gnat_rm.texi, gnat_ugn.texi, opt.ads,
6262 sem_prag.adb, snames.adb, snames.ads, snames.h,
6263 par-prag.adb: Undo previous stream related changes.
9e81dbc7 6264
585df50b 6265 * s-rident.ads: Add new restriction No_Stream_Optimizations.
9e81dbc7 6266
585df50b
AC
6267 * s-ststop.ads, s-ststop.adb: Comment reformatting.
6268 Define enumeration type to designate different IO mechanisms.
6269 Enchance generic package Stream_Ops_Internal to include an
6270 implementation of Input and Output.
6271
6272 * exp_attr.adb (Find_Stream_Subprogram): If restriction
6273 No_Stream_Optimization is active, choose the default byte IO
6274 implementations of stream attributes for Strings.
6275 Otherwise use the corresponding block IO version.
6276
2eee5152 62772008-08-01 Olivier Hainque <hainque@adacore.com>
9e81dbc7 6278
585df50b
AC
6279 * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>: Do not
6280 turn Ada Pure into GCC const, now implicitely implying nothrow as well.
6281
62822008-08-01 Robert Dewar <dewar@adacore.com>
6283
6284 * par-ch3.adb (P_Defining_Identifier): Avoid repeated attempt to
6285 convert plain identifier into defining identifier.
2eee5152 6286
2b747305
AC
62872008-08-01 Robert Dewar <dewar@adacore.com>
6288
6289 * sem_prag.adb (Check_Form_Of_Interface_Name): Refine and improve
6290 warnings
6291
6292 * lib-xref.adb: Add error defense.
6293
62942008-08-01 Bob Duff <duff@adacore.com>
6295
6296 * ioexcept.ads, sequenio.ads, directio.ads: Correct comment.
6297
0c246603
AC
62982008-08-01 Gary Dismukes <dismukes@adacore.com>
6299
6300 * exp_ch6.adb (Expand_Call): Adjustment to previous fix for passing
6301 correct accessibility levels. In the "when others" case, retrieve the
6302 access level of the Etype of Prev rather than Prev_Orig, because the
6303 original exression has not always been analyzed.
6304
63052008-08-01 Robert Dewar <dewar@adacore.com>
6306
6307 * prj-nmsc.adb: Minor reformatting
6308
6309 * sem_ch4.adb: Minor reformatting
6310 Minor code reorganization
6311
6312 * prj.ads: Minor reformatting
6313
6314 * s-os_lib.adb: Minor reformatting
6315
6316 * par-prag.adb (Prag, case Wide_Character_Encoding): Deal with upper
6317 half encodings
6318
6319 * scans.ads: Minor reformatting.
6320
6321 * sem_prag.adb (Analyze_Pragma): Put entries in alpha order
6322 (Analyze_Pragma): Make sure all GNAT pragmas call GNAT_Pragma
6323
6324 * sem_res.adb:
6325 (Resolve_Call): Check violation of No_Specific_Termination_Handlers
6326
6327 * sem_ch12.adb: Minor comment reformatting
6328
6329 * par-ch3.adb (P_Type_Declaration): Properly handle missing type
6330 keyword
6331
1cb17b78
AC
63322008-08-01 Robert Dewar <dewar@adacore.com>
6333
6334 * sem_ch6.adb (Process_PPCs): Don't copy spec PPC to body if not
6335 generating code
6336
63372008-08-01 Ed Schonberg <schonberg@adacore.com>
6338
6339 * checks.adb (Apply_Float_Conversion_Check): If the expression to be
6340 converted is a real literal and the target type has static bounds,
6341 perform the conversion exactly to prevent floating-point anomalies on
6342 some targets.
6343
63442008-08-01 Vincent Celier <celier@adacore.com>
6345
6346 * prj-attr.adb: New attribute Compiler'Name_Syntax (<lang>)
9e81dbc7 6347
1cb17b78 6348 * prj-nmsc.adb (Process_Compiler): Recognize attribute Name_Syntax
9e81dbc7 6349
1cb17b78
AC
6350 * prj.adb (Object_Exist_For): Use Object_Generated, not
6351 Objects_Generated that is removed and was never modified anyway.
6352
6353 * prj.ads:
6354 (Path_Syntax_Kind): New enumeration type
6355 (Language_Config): New component Path_Syntax, defaulted to Host.
6356 Components PIC_Option and Objects_Generated removed, as they are not
6357 used.
6358
6359 * snames.adb: New standard name Path_Syntax
9e81dbc7 6360
1cb17b78
AC
6361 * snames.ads: New standard name Path_Syntax
6362
63632008-08-01 Vincent Celier <celier@adacore.com>
6364
6365 * mlib-utl.adb:
6366 (Adalib_Path): New variable to store the path of the adalib directory
6367 when procedure Specify_Adalib_Dir is called.
6368 (Lib_Directory): If Adalib_Path is not null, return its value
6369 (Specify_Adalib_Dir): New procedure
9e81dbc7 6370
1cb17b78
AC
6371 * mlib-utl.ads (Specify_Adalib_Dir): New procedure
6372
63732008-08-01 Ed Schonberg <schonberg@adacore.com>
6374
6375 * sem_prag.adb:
6376 (Check_Precondition_Postcondition): If not generating code, analyze the
6377 expression in a postcondition that appears in a subprogram body, so that
6378 it is properly decorated for ASIS use.
6379
63802008-08-01 Gary Dismukes <dismukes@adacore.com>
6381
6382 * exp_ch6.adb (Expand_Call): Remove ugly special-case code that resets
6383 Orig_Prev to Prev in the case where the actual is N_Function_Call or
6384 N_Identifier. This was interfering with other cases that are rewritten
6385 as N_Identifier, such as allocators, resulting in passing of the wrong
6386 accessibility level, and based on testing this code is apparently no
6387 longer needed at all.
6388
63892008-08-01 Ed Schonberg <schonberg@adacore.com>
6390
6391 * sem_ch4.adb (Analyze_One_Call): Handle complex overloading of a
6392 procedure call whose prefix
6393 is a parameterless function call that returns an access_to_procedure.
6394
d1b4f87d
AC
63952008-08-01 Jose Ruiz <ruiz@adacore.com>
6396
6397 * adaint.c (__gnat_tmp_name): Refine the generation of temporary names
6398 for RTX. Adding a suffix that is incremented at each iteration.
6399
64002008-08-01 Robert Dewar <dewar@adacore.com>
6401
6402 * sem_ch6.adb (Analyze_Subprogram_Body): Remove special casing of
6403 Raise_Exception
6404
64052008-08-01 Jerome Lambourg <lambourg@adacore.com>
6406
6407 * s-os_lib.adb (Normalize_Pathname): Take care of double-quotes in
6408 paths, which are authorized by Windows but can lead to errors when used
6409 elsewhere.
6410
cfb02ad1
AC
64112008-08-01 Ed Schonberg <schonberg@adacore.com>
6412
6413 * sem_ch12.ads (Need_Subprogram_Instance_Body): new function, to create
6414 a pending instantiation for the body of a subprogram that is to be
6415 inlined.
6416
6417 * sem_ch12.adb:
6418 (Analyze_Subprogram_Instantiation): use Need_Subprogram_Instance_Body.
6419
6420 * sem_prag.adb (Make_Inline): If the pragma applies to an instance,
6421 create a pending instance for its body, so that calls to the subprogram
6422 can be inlined by the back-end.
6423
64242008-08-01 Jose Ruiz <ruiz@adacore.com>
6425
6426 * gnat_ugn.texi: Document the RTX run times (rts-rtx-rtss and
6427 rts-rtx-w32).
6428
e1bb4e71
AC
64292008-08-01 Robert Dewar <dewar@adacore.com>
6430
6431 * scng.adb (Error_Illegal_Wide_Character): Bump scan pointer
6432
64332008-08-01 Doug Rupp <rupp@adacore.com>
6434
6435 * gnat_rm.texi: Document new mechanism Short_Descriptor.
9e81dbc7 6436
e1bb4e71
AC
6437 * types.ads (Mechanism_Type): Modify range for new Short_Descriptor
6438 mechanism values.
6439
6440 * sem_prag.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
6441 mechanism and Short_Descriptor mechanism values.
6442
6443 * snames.adb (preset_names): Add short_descriptor entry.
6444
6445 * snames.ads: Add Name_Short_Descriptor.
6446
6447 * types.h: Add new By_Short_Descriptor mechanism values.
6448
6449 * sem_mech.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
6450 mechanism and Short_Descriptor mechanism values.
6451
6452 * sem_mech.ads (Mechanism_Type): Add new By_Short_Descriptor mechanism
6453 values.
6454 (Descriptor_Codes): Modify range for new mechanism values.
6455
6456 * treepr.adb (Print_Entity_Enfo): Handle new By_Short_Descriptor
6457 mechanism values.
6458
6459 * gcc-interface/decl.c (gnat_to_gnu_entity): Handle By_Short_Descriptor.
6460 (gnat_to_gnu_param): Handle By_Short_Descriptor.
6461
6462 * gcc-interface/gigi.h (build_vms_descriptor64): Remove prototype.
6463 (build_vms_descriptor32): New prototype.
6464 (fill_vms_descriptor): Remove unneeded gnat_actual parameter.
6465
6466 * gcc-interface/trans.c (call_to_gnu): Removed unneeded gnat_actual
6467 argument in call fill_vms_descriptor.
6468
6469 * gcc-interface/utils.c (build_vms_descriptor32): Renamed from
6470 build_vms_descriptor and enhanced to hande Short_Descriptor mechanism.
9e81dbc7 6471 (build_vms_descriptor): Renamed from build_vms_descriptor64.
e1bb4e71
AC
6472 (convert_vms_descriptor32): New function.
6473 (convert_vms_descriptor64): New function.
6474 (convert_vms_descriptor): Rewrite to handle both 32bit and 64bit
6475 descriptors.
6476
6477 * gcc-interface/utils2.c (fill_vms_descriptor): Revert previous changes,
6478 no longer needed.
6479
64802008-08-01 Jose Ruiz <ruiz@adacore.com>
6481
6482 * adaint.c (__gnat_tmp_name): RTSS applications do not support tempnam
6483 nor tmpnam, so we always use c:\WINDOWS\Temp\gnat-XXXXXX as temporary
6484 name.
6485
bca3ab79
AC
64862008-08-01 Jose Ruiz <ruiz@adacore.com>
6487
6488 * cstreams.c (__gnat_full_name): RTSS applications cannot ask for the
6489 current directory so only fully qualified names are allowed.
6490
64912008-08-01 Robert Dewar <dewar@adacore.com>
6492
6493 * gnat_ugn.texi:
6494 Minor editing, remove uncomfortable use of semicolon
6495
6496 * s-ststop.adb: Add some ??? comments
6497
6498 * sem_ch10.adb: Minor reformatting
6499
6500 * snames.ads:
6501 Minor comment fixes, some pragmas were not properly
6502 categorized in the comments, documentation change only
6503
6504 * xref_lib.adb: Minor reformatting
6505
6506 * sinput.adb: Minor reformatting
6507
6508 * gnatchop.adb: Minor reformatting
6509
6510 * sem_util.ads: Minor reformatting.
6511
6512 * opt.ads: Minor documentation fix
6513
6514 * scng.adb: Minor reformatting
6515
6516 * prj-part.adb: Update comments
6517
65182008-08-01 Ed Schonberg <schonberg@adacore.com>
6519
6520 * exp_disp.adb (Expand_Interface_Conversion): If the target type is a
6521 tagged synchronized type, use corresponding record type.
6522
65232008-08-01 Doug Rupp <rupp@adacore.com>
6524
6525 * mlib-tgt-specific-vms-alpha.adb (Build_Dynamic_Library): Output a
6526 dummy transfer address for debugging.
9e81dbc7 6527
bca3ab79
AC
6528 * mlib-tgt-specific-vms-ia64.adb (Build_Dynamic_Library): Likewise.
6529
6530 * vms_data.ads: vms_data.ads: New qualfier /MACHINE_CODE_LISTING
6531
4c5a0615
EB
65322008-07-31 Eric Botcazou <ebotcazou@adacore.com>
6533
6534 * gcc-interface/decl.c (gnat_to_gnu_entity): Fix formatting.
6535 * gcc-interface/utils.c (create_field_decl): Avoid superfluous work.
6536
964771d9
AC
65372008-07-31 Pascal Obry <obry@adacore.com>
6538
6539 * prj-nmsc.adb: Keep Object and Exec directory casing.
6540
65412008-07-31 Jose Ruiz <ruiz@adacore.com>
6542
6543 * system-rtx-rtss.ads
6544 Change the default stack size. It is important to set the commit part.
9e81dbc7 6545
964771d9
AC
6546 * s-taprop-rtx.adb
6547 (Initialize): Get the clock resolution.
6548 (RT_Resolution): Return the clock resolution that is indicated by the
6549 system.
6550
6551 * s-parame-vxworks.adb
6552 Document that this body is used for RTX in RTSS (kernel) mode.
6553
6554 * gcc-interface/Makefile.in
6555 (LIBGNAT_TARGET_PAIRS for the rtx_rtss run time): Use the
6556 s-parame-vxworks.adb body in order to have reasonable stack sizes in
6557 RTX RTSS kernel mode. Virtual memory is not used in that case, so we
6558 cannot ask for too big values.
6559
65602008-07-31 Robert Dewar <dewar@adacore.com>
6561
6562 * exp_aggr.adb: Minor reformatting
6563
6564 * makeutl.adb: Minor reformatting
6565
6566 * prj-env.adb: Minor reformatting
6567
1e0f7ffb
AC
65682008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
6569
6570 * exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private
6571 tagged type is completed by a concurrent type.
6572
65732008-07-31 Gary Dismukes <dismukes@adacore.com>
6574
6575 * sem_aggr.adb:
6576 (Resolve_Record_Aggregate): Bypass error that a type without
6577 components must have a "null record" aggregate when compiling for Ada
6578 2005, since it's legal to give an aggregate of form (others => <>)
6579 for such a type.
6580
fa4bc5ab
AC
65812008-07-31 Javier Miranda <miranda@adacore.com>
6582
6583 * sem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to
6584 handle synchronized types. Required to handle well the object.operation
6585 notation applied to synchronized types.
6586
65872008-07-31 Quentin Ochem <ochem@adacore.com>
6588
6589 * s-stausa.adb (Fill_Stack): Stack_Used_When_Filling is now stored
6590 anymore - just used internally.
6591 Added handling of very small tasks - when the theoretical size is
6592 already full at the point of the call.
6593 (Report_Result): Fixed result computation, Stack_Used_When_Filling does
6594 not need to be added to the result.
6595
65962008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
6597
6598 * sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the
6599 corresponding spec is a primitive wrapper. Update comment.
6600
66012008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
6602
6603 * bindgen.adb Comment reformatting. Update the list of run-time globals.
6604 (Gen_Adainit_Ada): Add the declaration, import and value set for
6605 configuration flag Canonical_Streams.
6606 (Gen_Adainit_C): Add the declaration and initial value of external
6607 symbol __gl_canonical_streams.
9e81dbc7 6608
fa4bc5ab 6609 * init.c: Update the list of global values computed by the binder.
9e81dbc7 6610
fa4bc5ab 6611 * opt.ads: Add flag Canonical_Streams.
9e81dbc7 6612
fa4bc5ab
AC
6613 * par-prag.adb (Prag): Include Pragma_Canonical_Streams to the list of
6614 semantically handled pragmas.
9e81dbc7 6615
fa4bc5ab
AC
6616 * sem_prag.adb: Add an entry into enumeration type Sig_Flags.
6617 (Analyze_Pragma): Add case for pragma Canonical_Streams.
9e81dbc7 6618
fa4bc5ab 6619 * snames.adb: Add character value for name Canonical_Streams.
9e81dbc7 6620
fa4bc5ab
AC
6621 * snames.ads:
6622 Add Name_Canonical_Streams to the list of configuration pragmas.
6623 Add Pragma_Canonical_Streams to enumeration type Pragma_Id.
9e81dbc7 6624
fa4bc5ab 6625 * snames.h: Add a definition for Pragma_Canonical_Streams.
9e81dbc7 6626
fa4bc5ab
AC
6627 * s-ststop.adb:
6628 Add a flag and import to seize the value of external symbol
6629 __gl_canonical_streams. Update comment and initial value of constant
6630 Use_Block_IO.
9e81dbc7 6631
fa4bc5ab 6632 * gnat_rm.texi: Add section of pragma Canonical_Streams.
9e81dbc7 6633
fa4bc5ab
AC
6634 * gnat_ugn.texi:
6635 Add pragma Canonical_Streams to the list of configuration pragmas.
6636
66372008-07-31 Ed Schonberg <schonberg@adacore.com>
6638
6639 * sem_ch10.adb (Build_Unit_Name): If the unit name in a with_clause
6640 has the form A.B.C and B is a unit renaming, analyze its compilation
6641 unit and add a with_clause on A.b to the context.
6642
f32b9cd1
AC
66432008-07-31 Vincent Celier <celier@adacore.com>
6644
6645 * makeutl.adb (Executable_Prefix_Path): If Locate_Exec_On_Path fails,
6646 return the empty string, instead of raising Constraint_Error.
6647
66482008-07-31 Gary Dismukes <dismukes@adacore.com>
6649
6650 * checks.ads (Apply_Accessibility_Check): Add parameter Insert_Node.
9e81dbc7 6651
f32b9cd1
AC
6652 * checks.adb (Apply_Accessibility_Check): Insert the check on
6653 Insert_Node.
9e81dbc7 6654
f32b9cd1
AC
6655 * exp_attr.adb:
6656 (Expand_N_Attribute_Refernce, Attribute_Access): Pass attribute node
6657 to new parameter Insert_Node on call to Apply_Accessibility_Check.
6658 Necessary to distinguish the insertion node because the dereferenced
6659 formal may come from a rename, but the check must be inserted in
6660 front of the attribute.
9e81dbc7 6661
f32b9cd1
AC
6662 * exp_ch4.adb:
6663 (Expand_N_Allocator): Pass actual for new Insert_Node parameter on
6664 call to Apply_Accessibility_Check.
6665 (Expand_N_Type_Conversion): Pass actual for new Insert_Node parameter
6666 on call to Apply_Accessibility_Check.
6667 Minor reformatting
6668
66692008-07-31 Javier Miranda <miranda@adacore.com>
6670
6671 * sem_type.adb (Has_Compatible_Type): Complete support for synchronized
6672 types when the candidate type is a synchronized type.
9e81dbc7 6673
f32b9cd1
AC
6674 * sem_res.adb (Resolve_Actuals): Reorganize code handling synchronized
6675 types, and complete management of synchronized types adding missing
6676 code to handle formal that is a synchronized type.
9e81dbc7 6677
f32b9cd1
AC
6678 * sem_ch4.adb (Try_Primitive_Operation): Avoid testing attributes that
6679 are not available and cause the compiler to blowup. Found compiling
6680 test with switch -gnatc
9e81dbc7 6681
f32b9cd1
AC
6682 * sem_ch6.adb (Check_Synchronized_Overriding): Remove local subprogram
6683 Has_Correct_Formal_Mode plus code cleanup.
6684
e92c92b2
AC
66852008-07-31 Bob Duff <duff@adacore.com>
6686
6687 * sinput.adb (Skip_Line_Terminators): Fix handling of LF/CR -- it was
6688 recognized as two end-of-lines, but it should be just one.
6689
66902008-07-31 Thomas Quinot <quinot@adacore.com>
6691
6692 * exp_ch9.adb: Minor reformatting
6693
6694 * tbuild.ads: Fix several occurrences of incorrectly referring to
6695 Name_Find as Find_Name.
6696
66972008-07-31 Ed Schonberg <schonberg@adacore.com>
6698
6699 * exp_aggr.adb (Aggr_Size_OK): If the aggregate has a single component
6700 and the context is an object declaration with non-static bounds, treat
6701 the aggregate as non-static.
6702
67032008-07-31 Vincent Celier <celier@adacore.com>
6704
6705 * prj-part.adb, prj-part.ads, prj.adb, prj.ads, prj-env.adb:
6706 Move back spec of Parse_Single_Project to body, as it is not called
6707 outside of package Prj.Part.
6708 (Project_Data): Remove components Linker_Name, Linker_Path and
6709 Minimum_Linker_Options as they are no longer set.
6710 Remove function There_Are_Ada_Sources from package Prj and move code
6711 in the only place it was used, in Prj.Env.Set_Ada_Paths.
6712
ee5d7272
AC
67132008-07-31 Arnaud Charlet <charlet@adacore.com>
6714
6715 * mlib-utl.ads: Fix typo.
6716
67172008-07-31 Robert Dewar <dewar@adacore.com>
6718
6719 * sem_ch12.adb: Minor reformatting
6720
67212008-07-31 Sergey Rybin <rybin@adacore.com>
6722
6723 * gnat_ugn.texi: Change the description of the
6724 Overly_Nested_Control_Structures: now the rule always requires a
6725 positive parameter for '+R' option
6726
67272008-07-31 Thomas Quinot <quinot@adacore.com>
6728
6729 * g-pehage.adb: Minor reformatting
6730
67312008-07-31 Pascal Obry <obry@adacore.com>
6732
6733 * s-finimp.ads: Minor reformatting.
6734
67352008-07-31 Vincent Celier <celier@adacore.com>
6736
6737 * s-regexp.ads: Minor comment fix
6738
67392008-07-31 Arnaud Charlet <charlet@adacore.com>
6740
6741 * s-direio.adb (Reset): Replace pragma Unmodified by Warnings (Off),
6742 so that we can compile this file successfully with -gnatc.
6743
67442008-07-31 Hristian Kirtchev <kirtchev@adacore.com>
6745
6746 * exp_attr.adb (Find_Stream_Subprogram): Check the base type instead
6747 of the type when looking for stream subprograms for type String,
6748 Wide_String and Wide_Wide_String.
9e81dbc7 6749
ee5d7272
AC
6750 * s-ststop.adb: Change the initialization expression of constant
6751 Use_Block_IO.
6752
67532008-07-31 Geert Bosch <bosch@adacore.com>
6754
6755 * arit64.c:
6756 New file implementing __gnat_mulv64 signed integer multiplication with
6757 overflow checking
6758
6759 * fe.h (Backend_Overflow_Checks_On_Target): Define for use by Gigi
6760
6761 * gcc-interface/gigi.h:
6762 (standard_types): Add ADT_mulv64_decl
6763 (mulv64_decl): Define subprogram declaration for __gnat_mulv64
6764
6765 * gcc-interface/utils.c:
6766 (init_gigi_decls): Add initialization of mulv64_decl
6767
6768 * gcc-interface/trans.c:
6769 (build_unary_op_trapv): New function
6770 (build_binary_op_trapv): New function
6771 (gnat_to_gnu): Use the above functions instead of
6772 build_{unary,binary}_op
6773
6774 * gcc-interface/Makefile.in
6775 (LIBGNAT_SRCS): Add arit64.c
6776 (LIBGNAT_OBJS): Add arit64.o
6777
67782008-07-31 Vincent Celier <celier@adacore.com>
6779
6780 * prj-nmsc.adb (Check_Library_Attributes): Check if Linker'Switches or
6781 Linker'Default_Switches are declared. Warn if they are declared.
6782
67832008-07-31 Ed Schonberg <schonberg@adacore.com>
6784
6785 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use
6786 Insert_Actions to place the pointer declaration in the code, rather
6787 than Insert_Before_And_Analyze, so that insertions of temporaries are
6788 kept in the proper order when transient scopes are present.
6789
6790
b38c3c9e
AC
67912008-07-31 Robert Dewar <dewar@adacore.com>
6792
6793 * einfo.adb (Spec_PPC): Now defined for generic subprograms
9e81dbc7 6794
b38c3c9e 6795 * einfo.ads (Spec_PPC): Now defined for generic subprograms
9e81dbc7 6796
b38c3c9e
AC
6797 * sem_prag.adb (Check_Precondition_Postcondition): Handle generic
6798 subprogram case
6799
68002008-07-31 Vincent Celier <celier@adacore.com>
6801
6802 * s-os_lib.adb: Minor comment fix
6803
68042008-07-31 Ed Schonberg <schonberg@adacore.com>
6805
6806 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): After analysis,
6807 transfer pre/postconditions from generic copy to original tree, so that
6808 they will appear in each instance.
6809 (Process_PPCs): Do not transform postconditions into a procedure in a
6810 generic context, to prevent double expansion of check pragmas.
9e81dbc7 6811
b38c3c9e
AC
6812 * sem_attr.adb: In an instance, the prefix of the 'result attribute
6813 can be the renaming of the
6814 current instance, so check validity of the name accordingly.
6815
024238a2
AC
68162008-07-31 Robert Dewar <dewar@adacore.com>
6817
6818 * mlib-utl.ads: Minor reformatting
6819
68202008-07-31 Ed Schonberg <schonberg@adacore.com>
6821
6822 sem_attr.adb: 'Result can have an ambiguous prefix, and is resolved
6823 from context. This attribute must be usable in Ada95 mode.
6824 The attribute can appear in the body of a function marked
6825 Inline_Always, but in this case the postocondition is not enforced.
9e81dbc7 6826
024238a2
AC
6827 sem_prag.adb (Check_Precondition_Postcondition): within the expansion
6828 of an inlined call pre- and postconditions are legal
6829
68302008-07-31 Vincent Celier <celier@adacore.com>
6831
6832 * prj.adb, prj.ads, clean.adb, prj-nmsc.adb: Remove declarations that
6833 were for gprmake only
6834
68352008-07-31 Robert Dewar <dewar@adacore.com>
6836
6837 * gnat_ugn.texi: Update -gnatN documentation.
6838
6839 * gnat_rm.texi: Add note about pre/postcondition
6840 pragmas not checked in conjunction with front-end inlining.
6841
035b2a77
AC
68422008-07-31 Robert Dewar <dewar@adacore.com>
6843
6844 * g-pehage.adb, g-pehage.ads: Minor reformatting
6845
68462008-07-31 Arnaud Charlet <charlet@adacore.com>
6847
6848 * mlib-utl.ads, prj-makr.ads: Add comments.
6849
636b71b9
AL
68502008-07-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
6851
9e81dbc7 6852 * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS)
636b71b9
AL
6853 [WINDOWS]: Add s-winext.o.
6854
01ddebf2
EB
68552008-07-30 Eric Botcazou <ebotcazou@adacore.com>
6856
6857 PR ada/36554
6858 * back_end.adb (Call_Back_End): Pass Standard_Boolean to gigi.
6859 * gcc-interface/gigi.h (gigi): Take new standard_boolean parameter.
6860 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>:
6861 Set precision to 1 for subtype of BOOLEAN_TYPE.
6862 (set_rm_size): Set TYPE_RM_SIZE_NUM for BOOLEAN_TYPE.
6863 (make_type_from_size): Deal with BOOLEAN_TYPE.
6864 * gcc-interface/misc.c (gnat_print_type): Likewise.
6865 * gcc-interface/trans.c (gigi): Take new standard_boolean parameter.
6866 Set boolean_type_node as its translation in the table, as well
6867 as boolean_false_node for False and boolean_true_node for True.
6868 * gcc-interface/utils.c (gnat_init_decl_processing): Create custom
6869 8-bit boolean_type_node and set its TYPE_RM_SIZE_NUM.
6870 (create_param_decl): Deal with BOOLEAN_TYPE.
6871 (build_vms_descriptor): Likewise.
6872 (build_vms_descriptor64): Likewise.
6873 (convert): Deal with BOOLEAN_TYPE like with ENUMERAL_TYPE.
6874
2a9cc4de
AC
68752008-07-30 Robert Dewar <dewar@adacore.com>
6876
6877 * exp_ch9.adb: Minor reformatting
6878
6879 * exp_util.ads (Find_Prim_Op): Document that Program_Error is raised
6880 if no primitive operation is found.
6881
6882 * exp_util.adb: (Find_Prim_Op): Add comments for previous change
6883
6884 * sem_ch8.adb: Minor reformatting
6885
68862008-07-30 Laurent Pautet <pautet@adacore.com>
6887
6888 * g-pehage.adb:
6889 Remove a limitation on the length of the words handled by the minimal
6890 perfect hash function generator.
6891
6892 * g-pehage.ads:
6893 Detail the use of subprograms Insert, Initialize, Compute and Finalize.
6894 Fix some typos.
6895
5cc6fa41
AC
68962008-07-30 Robert Dewar <dewar@adacore.com>
6897
6898 * gnatlink.adb: Minor reformatting
6899
69002008-07-30 Thomas Quinot <quinot@adacore.com>
6901
6902 * rtsfind.adb (Check_RPC): Check version consistency even when not
6903 generating RCI stubs. Provide more detailed error message in case of
6904 mismatch.
6905
69062008-07-30 Ed Schonberg <schonberg@adacore.com>
6907
6908 * sem_ch8.adb (Analyze_Subprogram_Renaming): When renaming an attribute
6909 as a actual in an instance, check for a missing attribute to prevent
6910 program_error on an illegal program.
9e81dbc7 6911
5cc6fa41
AC
6912 * exp_util.adb (Find_Prim_Op): Rather than Assert (False), raise program
6913 error if primitive is not found, so that exception can be handled
6914 elsewhere on illegal programs.
6915
69162008-07-30 Robert Dewar <dewar@adacore.com>
6917
6918 * uintp.adb (UI_GCD): Fix potential overflow
6919
69202008-07-30 Hristian Kirtchev <kirtchev@adacore.com>
6921
6922 * einfo.adb: Flag245 is now used.
6923 (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Relax the assertion
6924 check to include functions.
6925 (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
6926 (Wrapped_Entity, Set_Wrapped_Entity): Relax the assertion check to
6927 include functions.
6928 (Write_Entity_Flags): Move flag Is_Primitive, add Is_Private_Primitive
6929 to the list of displayed flags.
6930
6931 * einfo.ads: Update comment on the usage of Is_Primitive_Wrapper and
6932 Wrapped_Entity. These two flags are now present in functions.
6933 New flag Is_Private_Primitive.
6934 (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
6935
6936 * exp_ch9.adb:
6937 (Build_Wrapper_Bodies): New subprogram.
6938 (Build_Wrapper_Body): The spec and body have been moved to in
6939 Build_Wrapper_ Bodies. Code cleanup.
6940 (Build_Wrapper_Spec): Moved to the spec of Exp_Ch9. Code cleanup.
6941 Wrappers are now generated for primitives declared between the private
6942 and full view of a concurrent type that implements an interface.
6943 (Build_Wrapper_Specs): New subprogram.
6944 (Expand_N_Protected_Body): Code reformatting. Replace the wrapper body
6945 creation mechanism with a call to Build_Wrapper_Bodies.
6946 (Expand_N_Protected_Type_Declaration): Code reformatting. Replace the
6947 wrapper spec creation mechanism with a call to Build_Wrapper_Specs.
6948 (Expand_N_Task_Body): Replace the wrapper body creation
6949 mechanism with a call to Build_Wrapper_Bodies.
6950 (Expand_N_Task_Type_Declaration): Replace the wrapper spec
6951 creation mechanism with a call to Build_Wrapper_Specs.
6952 (Is_Private_Primitive_Subprogram): New subprogram.
6953 (Overriding_Possible): Code cleanup.
6954 (Replicate_Entry_Formals): Renamed to Replicate_Formals, code cleanup.
6955
6956 * exp_ch9.ads (Build_Wrapper_Spec): Moved from the body of Exp_Ch9.
6957
6958 * sem_ch3.adb: Add with and use clause for Exp_Ch9.
6959 (Process_Full_View): Build wrapper specs for all primitives
6960 that belong to a private view completed by a concurrent type
6961 implementing an interface.
9e81dbc7 6962
5cc6fa41
AC
6963 * sem_ch6.adb (Analyze_Subprogram_Body): When the current subprogram
6964 is a primitive of a
6965 concurrent type with a private view that implements an interface, try to
6966 find the proper spec.
6967 (Analyze_Subprogram_Declaration): Mark a subprogram as a private
6968 primitive if the type of its first parameter is a non-generic tagged
6969 private type.
6970 (Analyze_Subprogram_Specification): Code reformatting.
6971 (Disambiguate_Spec): New routine.
6972 (Find_Corresponding_Spec): Add a flag to controll the output of errors.
6973 (Is_Private_Concurrent_Primitive): New routine.
6974
6975 * sem_ch6.ads:
6976 (Find_Corresponding_Spec): Add a formal to control the output of errors.
6977
6ca2b0a0
DR
69782008-07-30 Doug Rupp <rupp@adacore.com>
6979
6980 * gigi.h (build_vms_descriptor64): New function prototype.
6981 (fill_vms_descriptor): Modified function prototype.
6982
6983 * utils.c (build_vms_descriptor64): New function.
6984
6985 * utils2.c (fill_vms_descriptor): Fix handling on 32bit systems.
6986
6987 * trans.c (call_to_gnu): Call fill_vms_descriptor with new third
6988 argument.
6989
6990 * decl.c (gnat_to_gnu_tree): For By_Descriptor mech, build both a
6991 64bit and 32bit descriptor and save the 64bit version as an alternate
6992 TREE_TYPE in the parameter.
6993 (make_type_from_size) <RECORD_TYPE>: Use the appropriate mode for the
6994 thin pointer.
6995
6996 * ada-tree.h (DECL_PARM_ALT, SET_DECL_PARM_ALT): New macros.
6997
002b2ad6
AC
69982008-07-30 Robert Dewar <dewar@adacore.com>
6999
7000 * make.adb: Minor reformatting
7001
7002 * mlib-utl.adb: Minor reformatting
7003
7004 * osint.ads: Minor reformatting
7005
70062008-07-30 Jose Ruiz <ruiz@adacore.com>
7007
7008 * adaint.c
7009 (__gnat_file_exists): Do not use __gnat_stat for RTX.
7010 (__main for RTX in RTSS mode): Create this dummy procedure symbol to
7011 avoid the use of this symbol from libgcc.a in RTX kernel mode.
7012
7013 * cio.c
7014 (put_int, put_int_stderr, put_char, put_char_stderr): For RTX we call
7015 the function RtPrintf for console output.
9e81dbc7 7016
002b2ad6 7017 * argv.c Do not use the environ variable for RTX.
9e81dbc7 7018
002b2ad6
AC
7019 * gnatlink.adb (gnatlink): The part that handles the --RTS option has
7020 been moved before the call to Osint.Add_Default_Search_Dirs in order
7021 to take into account the flags in system.ads (RTX_RTSS_Kernel_Module)
7022 from the appropriate run time.
9e81dbc7 7023
002b2ad6
AC
7024 * targparm.ads
7025 (RTX_RTSS_Kernel_Module_On_Target): Add this flag that is set to True if
7026 target is a RTSS module for RTX.
9e81dbc7 7027
002b2ad6
AC
7028 * targparm.adb (Targparm_Tags, RTX_Str, Targparm_Str): Add tag RTX for
7029 RTX_RTSS_Kernel_Module
7030 (Get_Target_Parameters): Add processing of RTX_RTSS_Kernel_Module flag.
7031
7032 * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for RTX): Use gcc
7033 exception handling mechanism for Windows and RTX in Win32 mode, but
7034 not for RTX in kernel mode (RTSS).
7035 (LIBGNAT_SRCS): Remove ada.h
7036
00afcaa0
PB
70372008-07-30 Paolo Bonzini <bonzini@gnu.org>
7038
7039 * gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove X_ADAFLAGS and
7040 T_ADAFLAGS, replace ALL_ADA_CFLAGS with ADA_CFLAGS.
7041 (ALL_ADA_CFLAGS): Remove, replace throughout with ADA_CFLAGS.
7042 * gcc-interface/Makefile.in (XCFLAGS, X_CFLAGS, X_CPPFLAGS, T_CPPFLAGS,
7043 X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS, ADA_CFLAGS,
7044 ALL_ADA_CFLAGS): Remove.
7045 (ALL_ADAFLAGS, MOST_ADAFLAGS): Remove X_ADAFLAGS and T_ADAFLAGS,
7046 replace ALL_ADA_CFLAGS with ADA_CFLAGS.
7047 (GCC_CFLAGS): Remove X_CFLAGS.
7048 (LOOSE_CFLAGS): Remove X_CFLAGS and XCFLAGS.
7049 (ALL_CPPFLAGS): Remove X_CPPFLAGS and T_CPPFLAGS.
7050 (ADA_CFLAGS): Substitute.
7051
a7dafa20
LG
70522008-07-30 Laurent Guerby <laurent@guerby.net>
7053
9e81dbc7
AS
7054 PR ada/5911
7055 * gcc-interface/Makefile.in (MULTISUBDIR, RTSDIR): New variables.
7056 Pass MULTISUBDIR to recursive make. Use $(RTSDIR) instead of rts.
7057 Replace stamp-gnatlib* by stamp-gnatlib*-rts.
7058 * gcc-interface/Make-lang.in: Replace stamp-gnatlib2
7059 by stamp-gnatlib2-rts.
7060
70b1e376
RW
70612008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7062
7063 PR documentation/15479
7064 * gnat-style.texi: Remove AdaCore copyright statement and GPL
7065 statement for GNAT. Add @copying stanza, use it. Update to
7066 GFDL 1.2. Do not list GFDL as Invariant Section, do not list
7067 title as Front-Cover Text.
7068 * gnat_rm.texi: Likewise.
7069 * gnat_ugn.texi: Likewise.
7070
343eba42
JH
70712008-07-29 Jan Hubicka <jh@suse.cz>
7072
7073 * trans.c (process_inlined_subprograms): Remove tree_really_inline
7074 check.
7075
ebf5ba04
AC
70762008-07-29 Arnaud Charlet <charlet@adacore.com>
7077
7078 * gcc-interface: New directory.
7079
7080 * ada-tree.def, cuintp.c, gigi.h, Makefile.in, targtyps.c, ada.h,
7081 utils.c, ada-tree.h, decl.c, lang.opt, Make-lang.in, trans.c,
7082 config-lang.in, deftarg.c, lang-specs.h, misc.c, utils2.c: Moved
7083 to gcc-interface subdirectory.
7084
46897370
AL
70852008-07-29 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
7086
7087 * Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove extra s-win32.o.
7088
e90acd93
JH
70892008-07-28 Jan Hubicka <jh@suse.cz>
7090
7091 * misc.c (gnat_post_options): Do not set flag_no_inline.
7092
726a989a
RB
70932008-07-28 Richard Guenther <rguenther@suse.de>
7094
7095 Merge from gimple-tuples-branch.
7096
7097 2008-07-22 Olivier Hainque <hainque@adacore.com>
7098
7099 * gigi.h (end_subprog_body): New ELAB_P argument, saying if
7100 this is called for an elab proc to be discarded if empty.
7101 * utils.c (end_subprog_body): Honor ELAB_P.
7102 (build_function_stub): Adjust call to end_subprog_body.
7103 * trans.c (Subprogram_Body_to_gnu): Likewise.
7104 (gigi): Reorganize processing of elab procs to prevent
7105 gimplifying twice, using the new end_subprog_body argument.
7106
7107 2008-07-19 Richard Guenther <rguenther@suse.de>
7108
7109 * Make-lang.in (trans.o): Add tree-iterator.h dependency.
7110 (utils.o): Likewise.
7111 * trans.c: Include tree-iterator.h.
7112 (gnat_gimplify_expr): Adjust prototype. Fix typo.
7113 (gnat_gimplify_stmt): Use SET_EXPR_LOCATION.
7114 (set_expr_location_from_node): Likewise.
7115 (gigi): Tuplify.
7116 * ada-tree.h (union lang_tree_node): Use TREE_CHAIN instead
7117 of GENERIC_NEXT.
7118 * utils.c: Include tree-iterator.h.
7119 * gigi.h (gnat_gimplify_expr): Adjust prototype.
7120
7121 2008-07-18 Aldy Hernandez <aldyh@redhat.com>
7122
7123 * trans.c: Include gimple.h instead of tree-gimple.h.
7124 * utils.c: Same.
7125
7126 2008-07-14 Aldy Hernandez <aldyh@redhat.com>
7127
7128 * trans.c (gnat_gimplify_expr): Use gimplify_assign.
7129
8ae3959e 71302008-07-25 Jan Hubicka <jh@suse.cz>
7e8b322a 7131
8ae3959e
EB
7132 * utils.c (end_subprog_body): Remove inline trees check.
7133 * misc.c (gnat_post_options): Do not set flag_inline_trees.
7e8b322a 7134
4a7bb85b
RO
71352008-07-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7136
7137 * raise-gcc.c: Move tsystem.h before tm.h.
7138
ec45d105
AC
71392008-07-20 Arnaud Charlet <charlet@adacore.com>
7140
7141 * gnathtml.pl: New file.
7142
95331614 71432008-07-19 Olivier Hainque <hainque@adacore.com>
8ae3959e 7144
95331614
OH
7145 * targtyps.c (get_target_default_allocator_alignment): Use
7146 MALLOC_ABI_ALIGNMENT.
7147
dd7ac716
OH
71482008-07-17 Olivier Hainque <hainque@adacore.com>
7149
7150 * adaint.c (__MINGW32__ section): Include ctype.h and define
7151 a fallback ISALPHA if IN_RTS.
9e81dbc7 7152 (__gnat_is_absolute_path): Use ISALPHA instead of isalpha.
dd7ac716 7153
a7a46bb2
OH
71542008-07-17 Olivier Hainque <hainque@adacore.com>
7155
7156 * utils.c (create_var_decl_1): Relax expectations on the PUBLIC_FLAG
7157 argument, to apply to references in addition to definitions. Prevent
7158 setting TREE_STATIC on externals.
7159 (gnat_pushdecl): Always clear DECL_CONTEXT on public externals.
7160
66bfd481
RW
71612008-07-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7162
7163 PR documentation/15479
7164 * gnat_ugn.texi (@ovar): New macro, from autoconf.texi.
7165 Replace backets around optional parameters with @ovar
7166 where possible, use @r{[}, @r{]} otherwise.
7167 Replace some @r, @i, and @emph with @var where appropriate.
7168
7a803dd8
EB
71692008-07-02 Eric Botcazou <ebotcazou@adacore.com>
7170
7171 * decl.c (make_type_from_size) <INTEGER_TYPE>: Fix typo and tidy up.
7172
7d71283c
KG
71732008-06-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7174
7175 * ada-tree.h (SET_TYPE_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Fix
7176 -Wc++-compat warnings.
7177 * adaint.c (__gnat_locate_regular_file, __gnat_locate_exec,
7178 __gnat_locate_exec_on_path): Likewise.
7179 * decl.c (annotate_value): Likewise.
7180 * misc.c (gnat_handle_option): Likewise.
7181 * trans.c (gnat_to_gnu, extract_encoding, decode_name,
7182 post_error_ne_tree): Likewise.
7183
d9338c67
EB
71842008-06-27 Eric Botcazou <ebotcazou@adacore.com>
7185
7186 * utils.c (convert) <CONSTRUCTOR>: When converting it to a packable
7187 version of its type, attempt to first convert its elements.
7188
b4b010ad
CP
71892008-06-26 Chris Proctor <chrisp_42@bigpond.com>
7190
7191 * Makefile.in: Fix *86 kfreebsd target specific pairs.
7192
0ee61065
ST
71932008-06-25 Samuel Tardieu <sam@rfc1149.net>
7194
7195 * Makefile.in: Use mlib-tgt-specific-linux.adb for sh4 as well.
7196
324ed5a6
EB
71972008-06-24 Eric Botcazou <ebotcazou@adacore.com>
7198
7199 * utils2.c (known_alignment): Derive the alignment from pointed-to
7200 types only if it is otherwise unknown.
7201 <INTEGER_CST>: Tidy.
7202 <MULT_EXPR>: Likewise.
7203 <POINTER_PLUS_EXPR>: If the alignment of the offset is unknown, use
7204 that of the base.
7205
2d31e498
JDA
72062008-06-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7207
7208 PR ada/36573
7209 * s-osinte-hpux-dce.ads (SA_ONSTACK): Define.
7210
6ccde948
RW
72112008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7212
7213 * gnat_rm.texi (Implementation Defined Characteristics)
7214 (Standard Library Routines): Use @smallexample for indented
7215 text. Drop Indentation outside examples.
7216 * gnat_ugn.texi: Likewise.
7217
d8612af2
OH
72182008-06-13 Olivier Hainque <hainque@adacore.com>
7219
7220 * decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0
7221 if undefined.
7222 (gnat_to_gnu_entity) <case E_Function/Procedure>: Request stack
7223 realignment with force_align_arg_pointer attribute on foreign
7224 convention subprograms if FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
9e81dbc7 7225
ca789c7f
OH
72262008-06-13 Olivier Hainque <hainque@adacore.com>
7227
7228 * utils.c (rest_of_record_type_compilation): When computing
7229 encodings for the components of a variable size type, early
7230 strip conversions on the current position expression to make
7231 sure it's shape is visible. Use remove_conversions for this
7232 purpose.
7233
1dd4a3e6
EB
72342008-06-12 Eric Botcazou <ebotcazou@adacore.com>
7235
7236 * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: In the case of a
7237 constrained subtype of a discriminated type, discard the fields that
7238 are beyond its limits according to its size.
7239
12ae9b26
OH
72402008-06-10 Olivier Hainque <hainque@adacore.com>
7241
7242 * utils.c (create_subprog_decl): If this is for the 'main' entry
7243 point according to the asm name, redirect main_identifier_node.
7244
912cb442
EB
72452008-06-09 Eric Botcazou <ebotcazou@adacore.com>
7246
7247 * decl.c (components_to_record): Adjust the packedness for the
7248 qualified union as well.
7249
4a598c32
AC
72502008-06-09 Arnaud Charlet <charlet@adacore.com>
7251
7252 * Make-lang.in: Use -gnatwns instead of -gnatws to make sytyle
7253 checks non fatal.
7254
4b92fd3c
ST
72552008-06-07 Samuel Tardieu <sam@rfc1149.net>
7256
7257 * sem_res.adb (Large_Storage_Type): A type is large if it
7258 requires as many bits as Positive to store its values and its
7259 bounds are known at compile time.
7260 * sem_ch13.adb (Minimum_Size): Note that this function returns
7261 0 if the size is not known at compile time.
7262
968c8001
OH
72632008-06-06 Nicolas Setton <setton@adacore.com>
7264 Olivier Hainque <hainque@adacore.com>
7265
7266 * ada-tree.h (DECL_PARALLEL_TYPE): New language specific
7267 attribute, parallel descriptive type attached to another
7268 type for debug info generation purposes.
7269 * utils.c (add_parallel_type): New function, register
7270 parallel type to be attached to a type.
7271 (get_parallel_type): New function, fetch a registered
7272 parallel type, if any.
7273 (rest_of_record_type_compilation): Register the parallel
7274 type we make for variable size records.
7275 * gigi.h (add_parallel_type, get_parallel_type): Declare.
7276 * decl.c (gnat_to_gnu_entity, maybe_pad_type): Register the
7277 parallel debug types we make.
7278 * trans.c (extract_encoding, decode_name): New functions.
7279 (gigi): If the DWARF attribute extensions are available, setup
7280 to use them.
7281 * lang.opt: Register language specific processing request
7282 for -gdwarf+.
7283 * misc.c (gnat_dwarf_extensions): New global variable. How much
7284 do we want of our DWARF extensions. 0 by default.
7285 (gnat_handle_option) <OPT_gdwarf_>: Increment gnat_dwarf_extensions.
7286 (gnat_post_options): Map gnat_dwarf_extensions to the
7287 commonuse_gnu_debug_info_extensions for later processing.
9e81dbc7 7288
b30199b8
ST
72892008-06-04 Samuel Tardieu <sam@rfc1149.net>
7290
7291 * einfo.ads, einfo.adb: Remove unused flag Function_Returns_With_DSP.
7292
30783513
RW
72932008-06-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7294
7295 * Makefile.in (common_tools): Fix typos in $(exeext) extension.
7296 * gnat_ugn.texi (Style Checking)
7297 (Adding the Results of Compiler Checks to gnatcheck Output)
7298 (Example of Binder Output File): Fix typos.
7299 * ali.ads, einfo.ads, exp_ch4.adb, exp_ch6.adb,
7300 exp_dbug.ads, exp_dist.adb, exp_smem.adb, g-socket.ads,
7301 s-osinte-rtems.ads, s-shasto.ads, s-stausa.adb,
7302 s-stausa.ads, sem_cat.adb, sem_ch12.adb, sem_ch3.adb,
7303 sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_util.ads,
7304 sinfo.ads, utils.c: Fix typos in comments.
7305 * sem_ch6.adb, vms_data.ads: Fix typos in strings.
7306
fb8368fd
AC
73072008-05-29 Thomas Quinot <quinot@adacore.com>
7308
7309 * sem_eval.adb: Minor reformatting
7310
73112008-05-29 Ed Schonberg <schonberg@adacore.com>
7312
7313 * sem_ch6.adb (Analyze_Subprogram_Specification): if the return type
7314 is abstract, do not apply abstractness check on subprogram if this is
7315 a renaming declaration.
7316
73172008-05-29 Arnaud Charlet <charlet@adacore.com>
7318
7319 PR ada/864
7320 * osint.ads, osint.adb (Program_Name): New parameter "Prog" to
7321 allow recognition of program suffix in addition to prefix.
9e81dbc7 7322
fb8368fd 7323 * gnatchop.adb (Locate_Executable): Add support for prefix.
9e81dbc7 7324
fb8368fd
AC
7325 * make.adb, gnatcmd.adb, gnatlink.adb, prj-makr.adb,
7326 mlib-utl.adb: Adjust calls to Program_Name.
7327
fff3f472
AC
73282008-05-29 Robert Dewar <dewar@adacore.com>
7329
7330 * sem_ch3.adb: Minor reformatting
7331 * sem_prag.adb: Minor reformatting
7332 * sem_res.adb: Minor reformatting
7333 * sinput-p.ads: Minor reformatting
7334
73352008-05-29 Javier Miranda <miranda@adacore.com>
7336
7337 * sem_util.adb:
7338 (Abstract_Interface_List): Add missing support for full type-declaration
7339 associated with synchronized types.
7340
73412008-05-29 Robert Dewar <dewar@adacore.com>
7342
7343 * sem_eval.adb (Is_Same_Value): Take care of several more cases
7344
acca98c0
AC
73452008-05-28 Ed Schonberg <schonberg@adacore.com>
7346
7347 * sem_ch5.adb (Analyze_Assignment): If the name is of a local anonymous
7348 access type, wrap the expression in a conversion to force an
7349 accessibility check.
7350
7351 * sem_aggr.adb (Aggegate_Constraint_Checks): Apply conversion to force
7352 accessibility checks even when expansion is disabled in order to
7353 generate messages in the presence of previous errors or in
7354 semantics-only mode.
7355
73562008-05-28 Eric Botcazou <ebotcazou@adacore.com>
7357
7358 * system-lynxos-ppc.ads (Always_Compatible_Rep): Set to False.
7359 * system-lynxos-x86.ads (Always_Compatible_Rep): Set to False.
7360
73612008-05-28 Vincent Celier <celier@adacore.com>
7362
7363 PR ada/34446
7364 * gnat_ugn.texi: Document restriction introduced on 2007-04-20 in
7365 preprocessing expressions
7366
73672008-05-28 Vincent Celier <celier@adacore.com>
7368
7369 * sinput-p.adb (Source_File_Is_Subunit): Allow special character used
7370 for preprocessing
9e81dbc7 7371
acca98c0
AC
7372 * sinput-p.ads: Minor comment update and reformatting
7373
73742008-05-28 Ed Schonberg <schonberg@adacore.com>
7375
7376 * sem_res.adb (Valid_Conversion): An anonymous access_to_subprogram
7377 type has a deeper level than any master only when it is the type of an
7378 access parameter.
7379
8250171b
AC
73802008-05-28 Javier Miranda <miranda@adacore.com>
7381
7382 * sem_ch3.adb (Derive_Progenitor_Subprograms): Add documentation.
7383
73842008-05-28 Javier Miranda <miranda@adacore.com>
7385
7386 * sem_util.ads (Find_Overridden_Synchronized_Primitive): Removed.
7387 * sem_util.adb (Find_Overridden_Synchronized_Primitive): Removed.
7388 * sem_ch6.adb (Check_Synchronized_Overriding): Remove one formal.
7389 Add code that was previously located in
7390 Find_Overridden_Synchronized_Primitive because it is only used here.
7391
73922008-05-28 Sergey Rybin <rybin@adacore.com>
7393
7394 * sem_prag.adb (Process_Extended_Import_Export_Subprogram_Pragma): Set
7395 Entity field for formal_parameter_NAME in MECHANISM_ASSOCIATION.
7396
00ea9517
RD
73972008-05-28 Robert Dewar <dewar@adacore.com>
7398
7399 * restrict.ads:
7400 Add missing restrictions, and properly label all GNAT defined ones
9e81dbc7 7401
00ea9517
RD
7402 * rtsfind.ads:
7403 Add entry for Ada_Real_Time.Timing_Events.Timing_Event
7404 Add entry for Ada.Task_Termination.Set_Specific_Handler
7405 Add entry for Ada.Task_Termination.Specific_Handler
9e81dbc7 7406
00ea9517
RD
7407 * s-rident.ads:
7408 Add missing restrictions and properly mark all gnat defined ones
9e81dbc7 7409
00ea9517
RD
7410 * sem_ch3.adb:
7411 (Analyze_Object_Declaration): Check No_Local_Timing_Events restriction
9e81dbc7 7412
00ea9517
RD
7413 * sem_res.adb:
7414 (Resolve_Call): Check violation of No_Specific_Termination_Handlers
7415
7416 * gnat_rm.texi: Add missing restrictions, and properly label all
7417 GNAT defined ones
7418
74192008-05-28 Robert Dewar <dewar@adacore.com>
7420
7421 * restrict.adb:
7422 (Check_Restriction): violation of restriction No_Finalization is
7423 treated as a serious error to stop expansion
7424
74252008-05-28 Robert Dewar <dewar@adacore.com>
7426
7427 * exp_util.adb: Minor reformatting
7428 * exp_util.ads: Minor reformatting.
7429
0b795892
AC
74302008-05-28 Arnaud Charlet <charlet@adacore.com>
7431
7432 * Make-lang.in: Remove gprmake.
7433
7434 * gprmake.adb, makegpr.ads, makegpr.adb: Removed.
7435
5840819a
AC
74362008-05-28 Ed Schonberg <schonberg@adacore.com>
7437
7438 * sem_ch3.adb (Diagnose_Interface): Cleanup error messages involving
7439 improper progenitor names, and avoid cascaded errors.
7440
74412008-05-28 Robert Dewar <dewar@adacore.com>
7442
7443 * gnat_rm.texi: Add note on Old giving warning when applied to constant
7444
7445 * sem_attr.adb (Analyze_Attribute, case Old): Give warning if prefix is
7446 a constant
7447
74482008-05-28 Robert Dewar <dewar@adacore.com>
7449
7450 * exp_fixd.adb (Build_Multiply): Correct one-off error in computing
7451 size
7452
74532008-05-28 Robert Dewar <dewar@adacore.com>
7454
7455 * exp_ch5.adb:
7456 (Expand_Simple_Function_Return): Copy unaligned result into temporary
7457
8c3dd7a8
JM
74582008-05-28 Javier Miranda <miranda@adacore.com>
7459
7460 * sem_ch3.adb (Derive_Progenitor_Primitives): Add missing support
7461 for user-defined predefined primitives.
9e81dbc7 7462
8c3dd7a8
JM
7463 * sem_util.adb (Matches_Prefixed_View_Profile): Ditto.
7464 (Find_Overridden_Synchronized_Primitive): Ditto.
7465
7466 * sem_ch6.adb (Check_Synchronized_Overriding): Ditto.
7467
35b80405
AC
74682008-05-27 Arnaud Charlet <charlet@adacore.com>
7469
7470 * a-ststio.adb, s-direio.adb:
7471 Further code clean up of previous change.
7472 Update comments.
7473
74742008-05-27 Vincent Celier <celier@adacore.com>
7475
7476 * prj-nmsc.adb: Minor reformatting
7477
74782008-05-27 Bob Duff <duff@adacore.com>
7479
7480 * sem_ch3.adb (Build_Incomplete_Type_Declaration): In the case of an
7481 untagged private type with a tagged full type, where the full type has
7482 a self reference, create the corresponding class-wide type early, in
7483 case the self reference is "access T'Class".
7484
74852008-05-27 Ed Schonberg <schonberg@adacore.com>
7486
7487 * exp_aggr.adb (Build_Array_Aggr_Code): If component type includes
7488 tasks and context is an object declaration. create master entity before
7489 expansion.
7490
74912008-05-27 Robert Dewar <dewar@adacore.com>
7492
7493 * mlib-prj.adb: Minor reformatting
7494
7495 * prj-part.adb: Minor reformatting
7496
7497 * prj.ads: Minor reformatting
7498
7499 * exp_ch3.adb: Minor reformatting.
7500
7501 * sem_ch3.ads: Minor reformatting
7502
7503 * sem_eval.adb: Minor reformatting
7504
d5c998a9
AC
75052008-05-27 Vincent Celier <celier@adacore.com>
7506
7507 * gnatcmd.adb:
7508 <prefix>-gnat stack spawns gnatstack, not <prefix>-gnatstack
7509
75102008-05-27 Ed Schonberg <schonberg@adacore.com>
7511
7512 * exp_aggr.adb (Expand_Array_Aggregate): If the aggregate contains
7513 tasks, create an activation chain now, before the expansion into
7514 assignments and build-in-place calls that require the presence of an
7515 activation chain.
7516 (Backend_Processing_Possible): If the component type is inherently
7517 limited, the aggregate must be expanded into individual built-in-place
7518 assignments.
7519
7520 * sem_ch6.adb (Build_Extra_Formals): Use underlying type of result to
7521 determine whether an allocation extra parameter must be built, to
7522 handle case of a private type whose full type is a discriminated type
7523 with defaults.
7524
75252008-05-27 Bob Duff <duff@adacore.com>
7526
7527 * gnat_rm.texi:
7528 Document the new behavior regarding trampolines.
7529
75302008-05-27 Arnaud Charlet <charlet@adacore.com>
7531
7532 * a-direio.adb, a-sequio.adb: Replace address clause by
7533 unrestricted_access, simpler and compatible with .NET.
7534
75352008-05-27 Vincent Celier <celier@adacore.com>
7536
7537 * prj-part.adb:
7538 (Project_Path_Name_Of.Try_Path): Do not use Locate_Regular_File to find
7539 a project file, so that symbolic links are not resolved.
7540
75412008-05-27 Arnaud Charlet <charlet@adacore.com>
7542
7543 * a-ztexio.adb, a-textio.adb, a-witeio.adb, s-direio.adb:
7544 Replace heavy address clause by 'Unrestricted_Access, cleaner and more
7545 portable across GNAT targets, since this kind of address clause is not
7546 supported by VM back-ends (.NET/JGNAT).
7547
79d2a727
AC
75482008-05-27 Arnaud Charlet <charlet@adacore.com>
7549
7550 * bindgen.adb: Update comments.
9e81dbc7 7551
79d2a727
AC
7552 * s-tasinf-mingw.adb: Add "with" of System.OS_Interface
7553
75542008-05-27 Vincent Celier <celier@adacore.com>
7555
7556 * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb,
7557 prj.ads, makegpr.adb, makeutl.adb, clean.adb, prj-nmsc.adb,
7558 mlib-tgt.adb, prj-env.adb, prj-env.ads:
7559 (Path_Information): New record type
7560 Use component of type Path_Information when there are two paths, one in
7561 canonical format and one in display format.
7562 Update the project manager to these new components.
7563
0f99f391
AC
75642008-05-27 Robert Dewar <dewar@adacore.com>
7565
7566 * makeutl.adb: Minor reformatting
7567 * prj-nmsc.adb: Minor reformatting
7568 * s-stausa.adb: Minor reformatting
7569 * s-stausa.ads: Minor reformatting
7570 * sem_ch6.adb: Minor reformatting
7571
75722008-05-27 Thomas Quinot <quinot@adacore.com>
7573
7574 * sem_res.adb: Minor comment fixes
7575
d18af35f
AC
75762008-05-27 Thomas Quinot <quinot@adacore.com>
7577
7578 * makeutl.adb: Minor code reorganization
7579
7580 * exp_aggr.adb: Add ??? comment
7581 Fix typo
7582
7583 * exp_ch6.adb: Minor reformatting
7584
75852008-05-27 Quentin Ochem <ochem@adacore.com>
7586
7587 * s-stausa.adb (Initialize): Updated result initialization, and
7588 initialization of environment stack.
7589 (Fill_Stack): Improved computation of the pattern zone, taking into
7590 account already filled at the calling point.
7591 (Get_Usage_Range): Now uses Min_Measure and Max_Measure instead of
7592 Measure and Overflow_Guard.
7593 (Report_Result): Fixed computation of the result using new fields of
7594 Stack_Analyzer.
9e81dbc7 7595
d18af35f
AC
7596 * s-stausa.ads (Initialize_Analyzer): Replaced Size / Overflow_Guard
7597 params by more explicit Stack_Size / Max_Pattern_Size params.
7598 (Stack_Analyzer): Added distinct Stack_Size & Pattern_Size fields.
7599 Added Stack_Used_When_Filling field.
7600 (Task_Result): Replaced Measure / Overflow_Guard by more explicit
7601 Min_Measure and Max_Measure fields.
9e81dbc7 7602
d18af35f
AC
7603 * s-tassta.adb (Task_Wrapper): Updated call to Initialize_Analyzer.
7604
76052008-05-27 Vincent Celier <celier@adacore.com>
7606
7607 * prj-nmsc.adb:
7608 (Check_File): Make sure that a unit that replaces the same unit in a
7609 project being extended is properly processed.
7610
76112008-05-27 Ed Schonberg <schonberg@adacore.com>
7612
7613 * sem_ch3.adb:
7614 (Get_Discr_Value): Remove obsolete code that failed to find the value
7615 of a discriminant for an inherited task component appearing in a type
7616 extension.
7617
76182008-05-27 Thomas Quinot <quinot@adacore.com>
7619
7620 (System.File_IO.{Close, Delete, Reset}):
7621 Change File parameter from "in out AFCB_Ptr" to "access AFCB_Ptr".
9e81dbc7 7622
d18af35f
AC
7623 (Ada.*_IO.{Close, Delete, Reset, Set_Mode}):
7624 Pass File parameter by reference.
7625
aeff280b
AC
76262008-05-27 Vincent Celier <celier@adacore.com>
7627
7628 * prj-nmsc.adb:
7629 (Process_Sources_In_Multi_Language_Mode): Check that there are not two
7630 sources of the same project that have the same object file name.
7631 (Find_Explicit_Sources): Always remove a source exception that was not
7632 found.
7633
76342008-05-27 Thomas Quinot <quinot@adacore.com>
7635
7636 * sem_ch3.adb: Minor reformatting
7637
76382008-05-27 Ed Schonberg <schonberg@adacore.com>
7639
7640 * sem_ch6.adb:
7641 (Is_Interface_Conformant): Handle properly a primitive operation that
7642 overrides an interface function with a controlling access result.
7643 (Type_Conformance): If Skip_Controlling_Formals is true, when matching
7644 inherited and overriding operations, omit as well the conformance check
7645 on result types, to prevent spurious errors.
7646
76472008-05-27 Vincent Celier <celier@adacore.com>
7648
7649 * makeutl.ads, makeutl.adb:
7650 (Set_Location): New procedure
7651 (Get_Location): New function
7652 (Update_Main): New procedure
7653
7bf402c1
AC
76542008-05-27 Vincent Celier <celier@adacore.com>
7655
7656 * prj-nmsc.adb:
7657 (Check_Library): Allow standard project to be extended as a static
7658 library project.
7659 (Get_Mains): Do not inherit attribute Main in an extending library
7660 project.
7661
76622008-05-27 Eric Botcazou <ebotcazou@adacore.com>
7663
7664 * system-darwin-ppc.ads (Always_Compatible_Rep): Set to False.
7665 * system-darwin-x86.ads (Always_Compatible_Rep): Likewise.
7666 * system-freebsd-x86.ads (Always_Compatible_Rep): Likewise.
7667 * system-linux-ppc.ads (Always_Compatible_Rep): Likewise.
7668 * system-linux-x86_64.ads (Always_Compatible_Rep): Likewise.
7669 * system-linux-x86.ads (Always_Compatible_Rep): Likewise.
7670 * system-mingw.ads (Always_Compatible_Rep): Likewise.
7671 * system-solaris-sparc.ads (Always_Compatible_Rep): Likewise.
7672 * system-solaris-sparcv9.ads (Always_Compatible_Rep): Likewise.
7673 * system-solaris-x86.ads (Always_Compatible_Rep): Likewise.
9e81dbc7 7674
52268145
AC
76752008-05-27 Ed Schonberg <schonberg@adacore.com>
7676
7677 * sem_attr.adb: add guard to previous patch.
7678
76792008-05-27 Ed Schonberg <schonberg@adacore.com>
7680
7681 * exp_disp.adb (Build_Dispatch_Tables): For a private type completed by
7682 a synchronized tagged type, do not attempt to build dispatch table for
7683 full view. The table is built for the corresponding record type, which
7684 has its own declaration.
7685
76862008-05-27 Gary Dismukes <dismukes@adacore.com>
7687
7688 * sem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtype
7689 to the known type entity E, rather than setting it to Any_Type. Fixes
7690 possible blowup in function Base_Init_Proc, as called from Freeze_Entity
7691 for objects whose type had an illegal constraint.
7692
76932008-05-27 Vincent Celier <celier@adacore.com>
7694
7695 * gnat_ugn.texi:
7696 Add succinct documentation for attribute Excluded_Source_List_File
7697
76982008-05-27 Vincent Celier <celier@adacore.com>
7699
7700 * prj-attr.adb: Add new project level attribute Map_File_Option
9e81dbc7 7701
52268145 7702 * prj-nmsc.adb (Process_Linker): Process new attribute Map_File_Option
9e81dbc7 7703
52268145
AC
7704 * prj.ads: Minor reformatting and comment update
7705 (Project_Configuration): New component Map_File_Option
9e81dbc7 7706
52268145 7707 * snames.adb: New standard name Map_File_Option
9e81dbc7 7708
52268145
AC
7709 * snames.ads: New standard name Map_File_Option
7710
77112008-05-27 Vincent Celier <celier@adacore.com>
7712
7713 * xsnames.adb: Remove unused variable Oname
7714
77152008-05-27 Doug Rupp <rupp@adacore.com>
7716
7717 * exp_ch6.adb:
7718 (Expand_N_Function_Call): Fix comments. Minor reformatting.
7719
7720 * exp_vfpt.ads:
7721 (Expand_Vax_Foreign_Return): Fix comments.
7722
77232008-05-27 Thomas Quinot <quinot@adacore.com>
7724
7725 * exp_dist.adb: Minor reformating
7726
094d7cfa
AC
77272008-05-26 Gary Dismukes <dismukes@adacore.com>
7728
7729 * exp_ch3.adb (Expand_N_Object_Declaration): Remove checks for
7730 No_Default_Initialization, which is now delayed until the freeze point
7731 of the object. Add a comment about deferral of the check.
9e81dbc7 7732
094d7cfa
AC
7733 * freeze.adb (Freeze_Entity): The check for No_Default_Initialization
7734 on objects is moved here.
7735
77362008-05-26 Eric Botcazou <ebotcazou@adacore.com>
7737
7738 * s-casi16.adb (Uhalf): Rewrite it as integer with small alignment.
7739 (Compare_Array_S16): Adjust for above change.
7740 * s-casi32.adb (Uword): Likewise.
7741 (Compare_Array_S32): Likewise.
7742 * s-casi64.adb (Uword): Likewise.
7743 (Compare_Array_S64): Likewise.
7744 * s-caun16.adb (Uhalf): Likewise.
7745 (Compare_Array_U16): Likewise.
7746 * s-caun32.adb (Uword): Likewise.
7747 (Compare_Array_U32): Likewise.
7748 * s-caun64.adb (Uword): Likewise.
7749 (Compare_Array_U64): Likewise.
9e81dbc7 7750
094d7cfa
AC
77512008-05-26 Robert Dewar <dewar@adacore.com>
7752
7753 * exp_ch6.adb: Add ??? comment for previous change
7754
7755 * exp_vfpt.adb: Minor reformatting
7756
7757 * exp_vfpt.ads: Add ??? comment for last change
7758
7759 * sem_attr.adb: Add some ??? comments for previous change
7760
7761 * s-vaflop.ads: Add comments for previous change
7762
77632008-05-26 Doug Rupp <rupp@adacore.com>
7764
7765 * s-vaflop-vms-alpha.adb:
7766 Remove System.IO use clause, to prevent spurious ambiguities when
7767 package is access through rtsfind.
7768
77692008-05-26 Sergey Rybin <rybin@adacore.com>
7770
7771 * tree_io.ads (ASIS_Version_Number): Update because of the changes
7772 made in front-end
7773
9019f3fc
AC
77742008-05-26 Ed Schonberg <schonberg@adacore.com>
7775
7776 * sem_attr.adb:
7777 (Resolve_Attribute, case 'address): S (A .. B)' address can be safely
7778 converted to S (A)'address only if A .. B is known to be a non-null
7779 range.
7780
77812008-05-26 Doug Rupp <rupp@adacore.com>
7782
7783 * s-vaflop.adb:
7784 (Return_D, Return_F, Return_G): New functions.
7785
7786 * s-vaflop.ads:
7787 (Return_D, Return_F, Return_G): New functions.
7788
7789 * exp_vfpt.adb:
7790 (Expand_Vax_Foreign_Return): New procedure
7791
7792 * exp_vfpt.ads:
7793 (Expand_Vax_Foreign_Return): New procedure
7794
7795 * rtsfind.ads:
7796 (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Ids
7797 (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Unit_Table elements
7798
7799 * exp_ch6.adb:
7800 Import Exp_Vfpt
7801 (Expand_N_Function_Call): Call Expand_Vax_Foreign_Return.
7802
7803 * s-vaflop-vms-alpha.adb:
7804 (Return_D, Return_F, Return_G): New functions.
7805
78062008-05-26 Gary Dismukes <dismukes@adacore.com>
7807
7808 * exp_ch3.adb (Build_Array_Init_Proc): Only set Init_Proc to a dummy
7809 init proc entity when there is actual default initialization associated
7810 with the component type, to avoid spurious errors on objects of scalar
7811 array types that are marked Is_Public when No_Default_Initialization
7812 applies.
7813
d693e39d
TQ
78142008-05-26 Thomas Quinot <quinot@adacore.com>
7815
7816 * rtsfind.ads, rtsfind.adb:
7817 (RE_Get_RACW): New runtime library entity provided by PolyORB s-parint.
7818 (Check_RPC): Support per-PCS-kind API versioning.
9e81dbc7 7819
d693e39d
TQ
7820 exp_dist.ads, exp_dist.adb:
7821 (Build_Stub_Tag, Get_Stub_Elements): New utility subprograms.
7822 (PolyORB_Support.Add_RACW_From_Any): Offload common code to new runtime
7823 library function Get_RACW.
7824 (PolyORB_Support.Add_RACW_To_Any): Offload common code to new runtime
7825 library function Get_Reference.
7826 (PolyORB_Support.Add_RACW_Read_Attribute): Use Get_RACW instead of going
7827 through an intermediate Any.
7828 (PolyORB_Support.Add_RACW_Write_Attribute): Use Get_Reference instead of
7829 going through an intermediate Any.
9e81dbc7 7830
d693e39d
TQ
7831 * sem_dist.adb: Minor reformatting.
7832
ad89bc8d
AC
78332008-05-26 Javier Miranda <miranda@adacore.com>
7834
7835 * einfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias.
7836 (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
7837 (Is_Internal): Adding documentation on internal entities that have
7838 attribute Interface_Alias (old attribute Abstract_Interface_Alias)
7839
7840 * einfo.adb (Abstract_Interface_Alias): Renamed as Interface_Alias.
7841 (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
7842 Added assertion to force entities with this attribute to have
7843 attribute Is_Internal set to True.
7844 (Next_Tag_Component): Simplify assertion using attribute Is_Tag.
7845
7846 * sem_ch3.adb (Derive_Interface_Subprograms): This subprogram has been
7847 renamed as Derive_Progenitor_Subprograms. In addition, its code is
7848 a new implementation.
7849 (Add_Interface_Tag_Components): Remove special management of
7850 synchronized interfaces.
7851 (Analyze_Interface_Declaration): Minor reformating
7852 (Build_Derived_Record_Type): Minor reformating
7853 (Check_Abstract_Overriding): Avoid reporting error in case of abstract
7854 predefined primitive inherited from interface type because the body of
7855 internally generated predefined primitives of tagged types are generated
7856 later by Freeze_Type
7857 (Derive_Subprogram): Avoid generating an internal name if the parent
7858 subprogram overrides an interface primitive.
7859 (Derive_Subprograms): New implementation that keeps separate the
7860 management of tagged types not implementing interfaces, from tagged
7861 types that implement interfaces.
7862 (Is_Progenitor): New implementation.
7863 (Process_Full_View): Add documentation
7864 (Record_Type_Declaration): Replace call to Derive_Interface_Subprograms
7865 by call to Derive_Progenitor_Subprograms.
7866
7867 * sem_ch6.ads (Is_Interface_Conformant): New subprogram.
7868 (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
7869 Skip_Controlling_Formals.
7870
7871 * sem_ch6.adb (Is_Interface_Conformant): New subprogram.
7872 (Check_Conventions): New implementation. Remove local subprogram
7873 Skip_Check. Remove formal Search_From of routine Check_Convention.
7874 (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
7875 Skip_Controlling_Formals.
7876 (New_Overloaded_Entity): Enable addition of predefined dispatching
7877 operations.
7878
7879 * sem_disp.ads
7880 (Find_Primitive_Covering_Interface): New subprogram.
7881
7882 * sem_disp.adb (Check_Dispatching_Operation): Disable registering
7883 the task body procedure as a primitive of the corresponding tagged
7884 type.
7885 (Check_Operation_From_Private_Type): Avoid adding twice an entity
7886 to the list of primitives.
7887 (Find_Primitive_Covering_Interface): New subprogram.
7888 (Override_Dispatching_Operation): Add documentation.
7889
7890 * sem_type.adb (Covers): Minor reformatings
7891
7892 * sem_util.ads (Collect_Abstract_Interfaces): Renamed as
7893 Collect_Interfaces.
7894 Rename formal.
7895 (Has_Abstract_Interfaces): Renamed as Has_Interfaces.
7896 (Implements_Interface): New subprogram.
7897 (Is_Parent): Removed.
7898 (Primitive_Names_Match): New subprogram.
7899 (Remove_Homonym): Moved here from Derive_Interface_Subprograms.
7900 (Ultimate_Alias): New subprogram.
7901
7902 * sem_util.adb (Collect_Abstract_Interfaces): Renamed as
7903 Collect_Interfaces.
7904 Remove special management for synchronized types. Rename formal. Remove
7905 internal subprograms Interface_Present_In_Parent and Add_Interface.
7906 (Has_Abstract_Interfaces): Renamed as Has_Interfaces. Replace assertion
7907 on non-record types by code to return false in such case.
7908 (Implements_Interface): New subprogram.
7909 (Is_Parent): Removed. No special management is now required for
7910 synchronized types covering interfaces.
7911 (Primitive_Names_Match): New subprogram.
7912 (Remove_Homonym): Moved here from Derive_Interface_Subprograms.
7913 (Ultimate_Alias): New subprogram.
7914
7915 * exp_ch3.adb (Add_Internal_Interface_Entities): New subprogram.
7916 Add internal entities associated with secondary dispatch tables to
7917 the list of tagged type primitives that are not interfaces.
7918 (Freeze_Record_Type): Add new call to Add_Internal_Interface_Entities
7919 (Make_Predefined_Primitive_Specs): Code reorganization to improve
7920 the management of predefined equality operator. In addition, if
7921 the type has an equality function corresponding with a primitive
7922 defined in an interface type, the inherited equality is abstract
7923 as well, and no body can be created for it.
7924
7925 * exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved from
7926 exp_util to exp_disp.
7927 (Is_Predefined_Interface_Primitive): New subprogram. Returns True if
7928 an entity corresponds with one of the predefined primitives required
7929 to implement interfaces.
7930 Update copyright notice.
7931
7932 * exp_disp.adb (Set_All_DT_Position): Add assertion. Exclude from the
7933 final check on abstract subprograms all the primitives associated with
7934 interface primitives because they must be visible in the public and
7935 private part.
7936 (Write_DT): Use Find_Dispatching_Type to locate the name of the
7937 interface type. This allows the use of this routine, for debugging
7938 purposes, when the tagged type is not fully decorated.
7939 (Is_Predefined_Dispatching_Operation): Moved from exp_util to exp_disp.
7940 Factorize code calling new subprogram Is_Predefined_Interface_Primitive.
7941 (Is_Predefined_Interface_Primitive): New subprogram. Returns True if an
7942 entity corresponds with one of the predefined primitives required to
7943 implement interfaces.
7944
7945 * exp_util.adb (Find_Interface_ADT): New implementation
7946 (Find_Interface): Removed.
7947
7948 * sprint.adb (Sprint_Node_Actual): Generate missing output for the
7949 list of interfaces associated with nodes
7950 N_Formal_Derived_Type_Definition and N_Private_Extension_Declaration.
7951
79522008-05-26 Thomas Quinot <quinot@adacore.com>
7953
7954 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on
7955 condition for assignment to temporary.
7956
c878b2ef
AC
79572008-05-26 Ed Schonberg <schonberg@adacore.com>
7958
7959 * exp_ch4.adb (Expand_Concatenate_Other): Add explicit constraint
7960 checks on the upper bound if the index type is a modular type, to
7961 prevent wrap-around computations when size is close to upper bound of
7962 type.
7963
79642008-05-26 Robert Dewar <dewar@adacore.com>
7965
7966 * sem_ch3.adb: Minor reformatting
7967
39281edf
AC
79682008-05-26 Ed Schonberg <schonberg@adacore.com>
7969
7970 * sem_ch12.adb (Remove_Parent): Use specification of instance
7971 to retrieve generic parent,
7972 to handle properly the case where the instance is a child unit.
7973 Add guard to handle properly wrapper packages.
7974 Minor reformatting
7975
79762008-05-26 Thomas Quinot <quinot@adacore.com>
7977
7978 * sinfo.ads: Minor reformatting
7979
79802008-05-26 Hristian Kirtchev <kirtchev@adacore.com>
7981
7982 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code reformatting.
7983 Generate a tag check when the result subtype of a function, defined by
7984 an access definition, designates a specific tagged type.
7985 (Make_Tag_Check): New routine.
7986
d6ca724c
AC
79872008-05-26 Arnaud Charlet <charlet@adacore.com>
7988
7989 * ceinfo.adb, csinfo.adb: Remove warnings. Update headers.
7990
c654b659
EB
79912008-05-26 Eric Botcazou <ebotcazou@adacore.com>
7992
7993 * gigi.h (gigi): Remove bogus ATTRIBUTE_UNUSED marker.
7994 (builtin_decl_for): Likewise.
7995 * trans.c (gigi): Likewise.
7996 * utils.c (def_builtin_1): Fix formatting.
7997
1c331d2d
AC
79982008-05-26 Hristian Kirtchev <kirtchev@adacore.com>
7999
8000 * exp_ch3.adb (Build_Init_Statements): Alphabetize local variables.
8001 Create the statements which map a string name to protected or task
8002 entry indix.
8003
8004 * exp_ch9.adb: Add with and use clause for Stringt.
8005 Minor code reformatting.
8006 (Build_Entry_Names): New routine.
8007 (Make_Initialize_Protection, Make_Task_Create_Call): Generate a value
8008 for flag Build_Entry_Names which controls the allocation of the data
8009 structure for the string names of entries.
8010
8011 * exp_ch9.ads (Build_Entry_Names): New subprogram.
8012
8013 * exp_util.adb (Entry_Names_OK): New function.
8014
8015 * exp_util.ads (Entry_Names_OK): New function.
8016
8017 * rtsfind.ads: Add RO_PE_Set_Entry_Name and RO_TS_Set_Entry_Name to
8018 enumerations RE_Id and RE_Unit_Table.
8019
8020 * s-taskin.adb Add with and use clause for Ada.Unchecked_Deallocation.
8021 (Free_Entry_Names_Array): New routine.
8022
8023 * s-taskin.ads: Comment reformatting.
8024 Add types String_Access, Entry_Names_Array, Entry_Names_Array_Access.
8025 Add component Entry_Names to record Ada_Task_Control_Block.
8026 (Free_Entry_Names_Array): New routine.
8027
8028 * s-tassta.adb (Create_Task): If flag Build_Entry_Names is set,
8029 dynamically allocate an array
8030 of string pointers. This structure holds string entry names.
8031 (Free_Entry_Names): New routine.
8032 (Free_Task, Vulnerable_Free_Task): Deallocate the entry names array.
8033 (Set_Entry_Names): New routine.
8034
8035 * s-tassta.ads:
8036 (Create_Task): Add formal Build_Entry_Names. The flag is used to
8037 control the allocation of the data structure which stores entry names.
8038 (Set_Entry_Name): New routine.
8039
8040 * s-tpoben.adb:
8041 Add with and use clause for Ada.Unchecked_Conversion.
8042 (Finalize): Deallocate the entry names array.
8043 (Free_Entry_Names): New routine.
8044 (Initialize_Protection_Entries): When flag Build_Entry_Names is set,
8045 create an array of string pointers to hold the entry names.
8046 (Set_Entry_Name): New routine.
8047
8048 * s-tpoben.ads:
8049 Add field Entry_Names to record Protection_Entries.
8050 (Initialize_Protection_Entries): Add formal Build_Entry_Names.
8051 (Set_Entry_Name): New routine.
8052
80532008-05-26 Vincent Celier <celier@adacore.com>
8054
8055 * prj-nmsc.adb:
8056 (Process_Project_Level_Simple_Attributes): process attribute Library_GCC
8057
8058 * prj.ads:
8059 (Project_Configuration): New component Shared_Lib_Driver
8060
80612008-05-26 Ed Schonberg <schonberg@adacore.com>
8062
8063 * inline.adb:
8064 (Cleanup_Scopes): For a protected operation, transfer finalization list
8065 to protected body subprogram, to force cleanup actions when needed.
8066
80672008-05-26 Robert Dewar <dewar@adacore.com>
8068
8069 * sem_cat.adb: Minor reformatting
8070
8071 * gnatname.adb: Minor reformatting
8072
8073 * osint.ads: Minor reformatting
8074
8075 * s-carun8.ads: Minor reformatting
8076
8077 * g-heasor.ads: Minor comment fix (unit is now pure)
8078
80792008-05-26 Robert Dewar <dewar@adacore.com>
8080
8081 * exp_ch2.adb:
8082 (Expand_Current_Value): Properly type generated integer literal
8083
80842008-05-26 Sergey Rybin <rybin@adacore.com>
8085
8086 * gnat_ugn.texi: Add description for the new gnatcheck rule -
8087 Separate_Numeric_Error_Handlers.
8088
80892008-05-26 Pascal Obry <obry@adacore.com>
8090
8091 * sem_aggr.adb: Minor reformatting.
8092
80932008-05-26 Jose Ruiz <ruiz@adacore.com>
8094
8095 * s-osinte-aix.adb:
8096 (To_Target_Priority): Setting the time slice value to 0 or greater sets
8097 the scheduling policy to FIFO within priorities or round-robin
8098 respectively.
8099 Hence, the priority must be set in this case to the one selected by the
8100 user.
9e81dbc7 8101
1c331d2d
AC
81022008-05-26 Ed Schonberg <schonberg@adacore.com>
8103
8104 * sem_ch12.adb:
8105 (Remove_Parent): If the enclosing scope is an instance whose generic
8106 parent is declared within some parent scope of the just completed
8107 instance, make full views of the entities in that parent visible, when
8108 applicable.
9e81dbc7 8109
a28e8f45
KT
81102008-05-26 Kai Tietz <kai.tietz@onevision.com>
8111
8112 * mingw32.h (STD_MINGW): Set to true for target w64.
8113
3651f7ad
EB
81142008-05-25 Eric Botcazou <ebotcazou@adacore.com>
8115
8116 * trans.c (Attribute_to_gnu) <Code_Address>: Set TREE_NO_TRAMPOLINE
8117 instead of TREE_STATIC on the ADDR_EXPR.
8118
58272d79
EB
81192008-05-24 Eric Botcazou <ebotcazou@adacore.com>
8120
8121 * trans.c (gnat_to_gnu): Do not set source location info on NOP_EXPRs.
8122 (Sloc_to_locus): Do not overwrite known GCC locations when translating
8123 GNAT standard locations.
8124
4c8125f4
EB
81252008-05-23 Eric Botcazou <ebotcazou@adacore.com>
8126
8127 * gigi.h (mark_visited): Declare.
8128 * decl.c (gnat_to_gnu_entity): Use mark_visited instead of marking
8129 only the topmost node of expressions.
b86c6d94 8130 (elaborate_expression_1): Look deeper for read-only variables.
4c8125f4
EB
8131 * trans.c (add_decl_expr): Use mark_visited instead of marking by hand.
8132 (mark_visited): Move logic to mark_visited_r. Invoke walk_tree.
8133 (mark_visited_r): New function.
8134
d1ba4e42
AC
81352008-05-23 Vincent Celier <celier@adacore.com>
8136
b86c6d94 8137 * snames.adb: New standard name Excluded_Source_List_File.
d1ba4e42 8138
b86c6d94 8139 * snames.ads: New standard name Excluded_Source_List_File.
d1ba4e42 8140
b86c6d94 8141 * prj-attr.adb: New project level attribute Excluded_Source_List_File.
d1ba4e42 8142
b86c6d94 8143 * prj-nmsc.adb: (Find_Excluded_Sources): New parameter Project.
d1ba4e42
AC
8144 Get excluded sources from
8145 file indicated by attribute Excluded_Source_List_File, when present and
8146 neither Excluded_Source_Files nor Locally_Removed_Files are declared.
8147
81482008-05-23 Robert Dewar <dewar@adacore.com>
8149
8150 * exp_dist.adb: Minor reformatting
8151
81522008-05-23 Ed Schonberg <schonberg@adacore.com>
8153
8154 * sem_attr.adb (Resolve_Attribute, case 'address): If the prefix is a
8155 slice, convert it to an indexed component, which is equivalent, more
8156 efficient, and usable even if the slice itself is not addressable.
8157
81582008-05-23 Olivier Hainque <hainque@adacore.com>
8159
8160 * gnat_ugn.texi (Calling Conventions): Document that the Intrinsic
8161 convention also allows access to named compiler built-in subprograms
8162 such as the GCC __builtin family.
8163
ffd0dd6c
AC
81642008-05-23 Vincent Celier <celier@adacore.com>
8165
8166 * prj-nmsc.adb (Check_Naming_Schemes): Check a file for spec, body and
8167 sep. If there are several possibilities, choose the one with the
8168 longer prefix.
8169
81702008-05-23 Vincent Celier <celier@adacore.com>
8171
8172 * gnatlink.adb (Process_Args): Do not disable scanning of ALI file for
8173 back end switches when executable specified with --GCC= is same as
8174 default, even if there are additional options.
8175
8176 * gnat_ugn.texi:
8177 Document when the back end switches from the ALI file are taken into
8178 account when gnatlink is invoked with --GCC=
8179
81802008-05-23 Thomas Quinot <quinot@adacore.com>
8181
8182 * s-os_lib.adb:
8183 (copy_File): Do not open destination file if source file is unreadable.
8184
3fda3252
EB
81852008-05-23 Eric Botcazou <ebotcazou@adacore.com>
8186
8187 * utils.c (handle_type_generic_attribute): Adjust to accept
8188 fixed arguments before an elipsis.
8189
92c708d2
TQ
81902008-05-21 Thomas Quinot <quinot@adacore.com>
8191
8192 * g-sothco.ads, g-sothco.adb: New files.
8193
93a7c573
AC
81942008-05-20 Thomas Quinot <quinot@adacore.com>
8195
8196 * Makefile.rtl (GNAT.Sockets.Thin_Common): New unit.
8197
8198 * g-sttsne-vxworks.adb: Add missing dependency on Sockets.Constants.
8199 Add missing "with" of Ada.Unchecked_Conversion
8200
9e81dbc7
AS
8201 * g-soccon-linux-ppc.ads, g-soccon-linux-64.ads, g-soccon-lynxos.ads,
8202 g-soccon-linux-x86.ads, g-soccon-hpux-ia64.ads,
8203 g-soccon-solaris-64.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
8204 g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads,
8205 g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
8206 g-socthi-vxworks.adb, g-soccon-freebsd.ads, g-soccon.ads:
93a7c573
AC
8207 Move common code out of GNAT.Sockets.Thin implementations and into
8208 Thin_Common.
8209 New constant SIZEOF_fd_set
8210 New flag Has_Sockaddr_Len
8211 New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
8212
8213 * g-stsifd-sockets.adb
8214 (Create): Remove call to Set_Length; use Set_Family to set the family
8215 and (on appropriate platforms) length fields in struct sockaddr.
8216
9e81dbc7
AS
8217 * g-socthi.adb, g-socthi.ads, g-socthi-vms.ads, g-socthi-vms.adb,
8218 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.adb,
93a7c573
AC
8219 g-soccon-darwin.ads, g-soccon-darwin.ads: New constant SIZEOF_fd_set
8220 Move common code out of GNAT.Sockets.Thin implementations and into
8221 Thin_Common.
8222
9e81dbc7 8223 * g-socket.ads, g-socket.adb:
93a7c573
AC
8224 Move common code out of GNAT.Sockets.Thin implementations and into
8225 Thin_Common.
8226 (Connect_Socket, Accept_Socket): Provide new versions of these two
8227 routines that operate with a user specified timeout.
8228 (Bind_Socket, Connect_Socket, Send_Socket): Remove calls to Set_Length,
8229 this is now handled automatically by Set_Family on platforms that
8230 require it.
8231
9e81dbc7 8232 * gen-soccon.c:
93a7c573
AC
8233 Move common code out of GNAT.Sockets.Thin implementations and into
8234 Thin_Common.
8235 (SIZEOF_sockaddr_in6): On platforms where IPv6 is not supported, define
8236 this constant to 0 (not -1) because we use it to initialize an
8237 unsigned_char value.
8238 Align values for numeric constants only.
8239 Handle the case of systems that do not support AF_INET6.
8240 New constant SIZEOF_fd_set
8241 New flag Has_Sockaddr_Len
8242 New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
8243
8244 * gsocket.h: New flag Has_Sockaddr_Len
8245 New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
8246
82472008-05-20 Santiago Uruena <uruena@adacore.com>
8248
8249 * i-cobol.ads: Interfaces.COBOL should be preelaborate.
8250
82512008-05-20 Arnaud Charlet <charlet@adacore.com>
8252
8253 * s-linux-hppa.ads (atomic_lock_t): Put back proper alignment now that
8254 the underlying issue with malloc/free has been fixed. Remove associated
8255 comments.
8256 Minor reformatting.
8257 Related to PR ada/24533
8258
82592008-05-20 Robert Dewar <dewar@adacore.com>
8260
8261 * ali.adb: Correct casing of ASCII.NUL
8262
8263 * styleg-c.adb (Check_Identifier): Handle case of names in ASCII
8264 properly.
8265
82662008-05-20 Robert Dewar <dewar@adacore.com>
8267 Gary Dismukes <dismukes@adacore.com>
8268
8269 * checks.adb (Apply_Arithmetic_Overflow_Check): Avoid intermediate
8270 overflow if result converted to wider integer type.
8271 (Apply_Type_Conversion_Checks): Don't emit checks on conversions to
8272 discriminated types when discriminant checks are suppressed.
8273
82742008-05-20 Vincent Celier <celier@adacore.com>
8275
8276 * cstand.adb (Print_Standard): Issue the correct Size clause for type
8277 Wide_Wide_Character.
8278
82792008-05-20 Tristan Gingold <gingold@adacore.com>
8280
8281 * decl.c: Do not emit a variable for a object that has an address
8282 representation clause whose value is known at compile time.
8283 When a variable has an address clause whose value is known at compile
8284 time, refer to this variable by using directly the address instead of
8285 dereferencing a pointer.
8286
82872008-05-20 Robert Dewar <dewar@adacore.com>
8288
8289 PR ada/30740
8290 * einfo.ads, einfo.adb (Non_Binary_Modulus): Applies to all types and
8291 subtypes, always False for non-modular types.
8292 Shared_Var_Assign_Proc (node22) and Shared_Var_Read_Proc (node 15)
8293 entry nodes have been replaced by Shared_Var_Procs_Instance (node22)
8294 for Shared_Storage package.
8295 (Is_RACW_Stub_Type): New entity flag.
8296
8297 * exp_ch4.adb
8298 (Expand_N_Op_Expon): Avoid incorrect optimization of a*(2**b) in the
8299 case where we have a modular type with a non-binary modules.
8300 Comments reformattings.
8301
8302 * sem_intr.adb: Simplify code not that Non_Binary_Modulus applies to
8303 all types.
8304
83052008-05-20 Javier Miranda <miranda@adacore.com>
8306
8307 * exp_aggr.adb
8308 (Build_Record_Aggr_Code): Fix wrong tests checking progenitors. Previous
8309 tests did not covered the case in which the type of the aggregate has
8310 no progenitors but some its parents has progenitors.
8311
83122008-05-20 Gary Dismukes <dismukes@adacore.com>
8313 Hristian Kirtchev <kirtchev@adacore.com>
8314
8315 * exp_ch3.adb
8316 (Expand_N_Object_Declaration): Correct the condition which triggers the
8317 generation of a call to Displace when initializing a class-wide object.
8318 (Build_Dcheck_Functions): Build discriminant-checking for null variants
8319 when Frontend_Layout_On_Target is true to ensure that they're available
8320 for calling when a record variant size function is built in Layout.
8321
83222008-05-20 Ed Schonberg <schonberg@adacore.com>
8323
8324 * exp_ch5.adb (Expand_Assign_Record): Within an initialization
8325 procedure for a derived type retrieve the discriminant values from the
8326 parent using the corresponding discriminant.
8327 (Expand_N_Assignment_Statement): Skip generation of implicit
8328 if-statement associated with controlled types if we are
8329 compiling with restriction No_Finalization.
8330
83312008-05-20 Vincent Celier <celier@adacore.com>
8332
8333 * prj.adb (Hash (Project_Id)): New function
8334 (Project_Empty): Add new component Interfaces_Defined
8335
8336 * prj.ads (Source_Data): New component Object_Linked
8337 (Language_Config): New components Object_Generated and Objects_Linked
8338 (Hash (Project_Id)): New function
8339 (Source_Data): New Boolean components In_Interfaces and
8340 Declared_In_Interfaces.
8341 (Project_Data): New Boolean component Interfaces_Defined
8342
9e81dbc7 8343 * prj-attr.adb:
93a7c573
AC
8344 New project level attribute Object_Generated and Objects_Linked
8345 Add new project level attribute Interfaces
8346
8347 * prj-dect.adb: Use functions Present and No throughout
8348 (Parse_Variable_Declaration): If a string type is specified as a simple
8349 name and is not found in the current project, look for it also in the
8350 ancestors of the project.
8351
9e81dbc7 8352 * prj-makr.adb:
93a7c573
AC
8353 Replace procedure Make with procedures Initialize, Process and Finalize
8354 to implement H414-023: process different directories with different
8355 patterns.
8356 Use functions Present and No throughout
8357
9e81dbc7 8358 * prj-makr.ads:
93a7c573
AC
8359 Replace procedure Make with procedures Initialize, Process and Finalize
8360
8361 * prj-nmsc.adb
8362 (Add_Source): Set component Object_Exists and Object_Linked accordnig to
8363 the language configuration.
8364 (Process_Project_Level_Array_Attributes): Process new attributes
8365 Object_Generated and Object_Linked.
8366 (Report_No_Sources): New Boolean parameter Continuation, defaulted to
8367 False, to indicate that the erreor/warning is a continuation.
8368 (Check): Call Report_No_Sources with Contnuation = True after the first
8369 call.
8370 (Error_Msg): Process successively contnuation character and warning
8371 character.
8372 (Find_Explicit_Sources): Check that all declared sources have been found
8373 (Check_File): Indicate in hash table Source_Names when a declared source
8374 is found.
8375 (Check_File): Set Other_Part when found
8376 (Find_Explicit_Sources): In multi language mode, check if all exceptions
8377 to the naming scheme have been found. For Ada, report an error if an
8378 exception has not been found. Otherwise, disregard the exception.
8379 (Check_Interfaces): New procedure
8380 (Add_Source): When Other_Part is defined, set mutual pointers in spec
8381 and body.
8382 (Check): In multi-language mode, call Check_Interfaces
8383 (Process_Sources_In_Multi_Language_Mode): Set In_Interfaces to False
8384 for an excluded source.
8385 (Remove_Source): A source replacing a source in the interfaces is also
8386 in the interfaces.
8387
8388 * prj-pars.adb: Use function Present
8389
8390 * prj-part.adb: Use functions Present and No throughout
8391 (Parse_Single_Project): Set the parent project for child projects
8392 (Create_Virtual_Extending_Project): Register project with no qualifier
8393 (Parse_Single_Project): Allow an abstract project to be extend several
8394 times. Do not allow an abstract project to extend a non abstract
8395 project.
8396
8397 * prj-pp.adb: Use functions Present and No throughout
8398 (Print): Take into account the full associative array attribute
8399 declarations.
8400
8401 * prj-proc.adb: Use functions Present and No throughout
8402 (Expression): Call itself with the same From_Project_Node for the
8403 default value of an external reference.
8404
8405 * prj-strt.adb: Use functions Present and No throughout
8406 (Parse_Variable_Reference): If a variable is specified as a simple name
8407 and is not found in the current project, look for it also in the
8408 ancestors of the project.
8409
8410 * prj-tree.ads, prj-tree.adb (Present): New function
8411 (No): New function
8412 Use functions Present and No throughout
8413 (Parent_Project_Of): New function
8414 (Set_Parent_Project_Of): New procedure
8415
9e81dbc7 8416 * snames.ads, snames.adb:
93a7c573
AC
8417 Add new standard names Object_Generated and Objects_Linked
8418
84192008-05-20 Hristian Kirtchev <kirtchev@adacore.com>
8420
8421 * exp_ch6.adb (Expand_Call): Add guard to ensure that both the parent
8422 and the derived type are of the same kind.
8423 (Expand_Call): Generate type conversions for actuals of
8424 record or array types when the parent and the derived types differ in
8425 size and/or packed status.
8426
84272008-05-20 Javier Miranda <miranda@adacore.com>
8428 Ed Schonberg <schonberg@adacore.com>
8429
8430 * exp_disp.adb (Make_DT, Make_Secondary_DT, Make_Tags): Avoid
8431 generating dispatch tables of locally defined tagged types statically.
8432 Remove implicit if-statement that is no longer required.
8433 (Expand_Dispatching_Call): If this is a call to an instance of the
8434 generic dispatching constructor, the type of the first argument may be
8435 a subtype of Tag, so always use the base type to recognize this case.
8436
84372008-05-20 Thomas Quinot <quinot@adacore.com>
8438
8439 * exp_dist.adb
8440 (GARLIC_Support.Add_RACW_Read_Attribute): When a zero value is received,
8441 and the RACW is null-excluding, raise CONSTRAINT_ERROR instead of
8442 assigning NULL into the result, to avoid a spurious warning.
8443 (Add_RACW_Features, case Same_Scope): Add assertion that designated type
8444 is not frozen.
8445 (Add_Stub_Type): Set entity flag Is_RACW_Stub_Type on generated stub
8446 type.
8447 (Build_From_Any_Function, Build_To_Any_Function,
8448 Build_TypeCode_Function): For a type that has user-specified stream
8449 attributes, use an opaque sequence of octets as the representation.
8450
84512008-05-20 Kevin Pouget <pouget@adacore.com>
8452
8453 * exp_smem.ads, exp_smem.adb: Construction of access and assign
8454 routines has been replaced by an instantiation of
8455 System.Shared_Storage.Shared_Var_Procs generic package, while expanding
8456 shared variable declaration.
8457 Calls to access and assign routines have been replaced by calls to
8458 Read/Write routines of System.Shared_Storage.Shared_Var_Procs
8459 instantiated package.
9e81dbc7 8460
93a7c573
AC
8461 * rtsfind.ads: RE_Shared_Var_Procs entry has been added in RE_Unit_Table
8462 It identifies the new generic package added in s-shasto.
8463
8464 * s-shasto.adb, s-shasto.ads: A new generic package has been added, it
8465 is instantiated for each shared passive variable. It provides
8466 supporting procedures called upon each read or write access by the
8467 expanded code.
8468
8469 * sem_attr.adb:
8470 For this runtime unit (always compiled in GNAT mode), we allow
8471 stream attributes references for limited types for the case where
8472 shared passive objects are implemented using stream attributes,
8473 which is the default in GNAT's persistent storage implementation.
8474
84752008-05-20 Ed Schonberg <schonberg@adacore.com>
8476
8477 * freeze.adb
8478 (Freeze_Enumeration_Type): For a subtype that inherits a foreign
8479 convention from its base type, do not set the type to that of integer,
8480 because it may inherit a size clause.
8481 Warn on a size clause with a size different
8482 from that of Integer, if the type has convention C.
8483
84842008-05-20 Vincent Celier <celier@adacore.com>
8485
8486 * gnatname.adb
8487 (Scan_Args): Rewrite to take into account new switch --and to separate
8488 arguments into sections.
8489 (Gnatname): Call Prj.Makr.Initialize, then Prj.Makr.Process for each
8490 section, then Finalize.
8491
84922008-05-20 Tristan Gingold <gingold@adacore.com>
8493
8494 * init.c: Enable stack probing on ppc-linux.
8495
8496 * tracebak.c: Add symbolic traceback for ppc-linux.
8497
8498 * system-linux-ppc.ads: Enable stack probing on ppc-linux.
8499
85002008-05-20 Arnaud Charlet <charlet@adacore.com>
8501
8502 * Makefile.in
8503 (common-tools): New rule, to avoid parallel build failure on gnat tools.
8504 Reenable parallel builds on this Makefile.
8505
8506 * Make-lang.in: Update dependencies.
8507
85082008-05-20 Robert Dewar <dewar@adacore.com>
8509
8510 * opt.ads (Treat_Restrictions_As_Warnings): New switch
8511
8512 * sem_prag.adb, par-prag.adb, restrict.ads: Implement flag
8513 Treat_Restrictions_As_Warnings.
8514
8515 * switch-c.adb: Recognize new switch -gnatr
8516
8517 * usage.adb: Add line for -gnatr
8518
85192008-05-20 Hristian Kirtchev <kirtchev@adacore.com>
8520
8521 * par-ch3.adb
8522 (P_Access_Definition): Change the error message when parsing "access
8523 all" in Ada 95 mode. The message no longer forces the user to recompile
8524 in 05 mode only to discover that anonymous access types are not allowed
8525 to have "all".
8526
85272008-05-20 Hristian Kirtchev <kirtchev@adacore.com>
8528
8529 * par-ch9.adb
8530 (P_Protected): Update the error message on missing "-gnat05" switch when
8531 using interfaces in conjunction with protected types. Remove the
8532 incorrect error message associated with the presence of "private" after
8533 a "with".
8534
85352008-05-20 Ed Schonberg <schonberg@adacore.com>
8536
8537 * sem_aggr.adb: Update comments.
8538 Improve previous change for PR ada/17985
8539
85402008-05-20 Thomas Quinot <quinot@adacore.com>
8541
8542 * sem_cat.adb
8543 (Set_Categorization_From_Scope): Do not set In_Remote_Types unless in
8544 the visible part of the spec of a remote types unit.
8545 (Validate_Remote_Access_Object_Type_Declaration):
8546 New local subprogram Is_Valid_Remote_Object_Type, replaces
8547 Is_Recursively_Limited_Private.
8548 (Validate_RACW_Primitives): Enforce E.2.2(14) rules: the types of all
8549 non-controlling formals (and the return type, even though this is not
8550 explicit in the standard) must support external streaming.
8551 (Validate_RCI_Subprogram_Declaration): Enforce E.2.3(14) rules: same
8552 as above for of RAS types and RCI subprograms. (The return type is not
8553 checked yet).
8554 Update comments related to RACWs designating limited interfaces per
8555 ARG ruling on AI05-060.
8556
8557 * sem_util.ads, sem_util.adb
8558 (Is_Remote_Access_To_Class_Wide_Type): Only rely on Is_Remote_Types and
8559 Is_Remote_Call_Interface to identify RACW types in a stable and
8560 consistent way. We used to rely in this predicate on the privateness of
8561 the designated type and its ancestors, but depending on the currently
8562 visible private parts, this caused false negatives. We now uniformly
8563 rely on checks made at the point where the RACW type is declared.
8564 (Inspect_Deferred_Constant_Completion): Moved from Sem_Ch7.
8565
85662008-05-20 Javier Miranda <miranda@adacore.com>
8567 Ed Schonberg <schonberg@adacore.com>
8568 Hristian Kirtchev <kirtchev@adacore.com>
8569
8570 * sem_ch3.adb
8571 (Analyze_Object_Declaration): Fix over-conservative condition
8572 restricting use of predefined assignment with tagged types that have
8573 convention CPP.
8574 (Analyze_Object_Declaration): Relax the check regarding deferred
8575 constants declared in scopes other than packages since they can be
8576 completed with pragma Import.
8577 Add missing escaping of all-caps word 'CPP' in error messages.
8578 (Build_Discriminated_Subtype): Do not inherit representation clauses
8579 from parent type if subtype already carries them, because they are
8580 inherited earlier during derivation and already include those that may
8581 come from a partial view.
8582
8583 * sem_ch9.adb, sem_ch5.adb, sem_ch6.adb (Analyze_Subprogram_Body):
8584 Check the declarations of a subprogram body for proper deferred
8585 constant completion.
8586
8587 * sem_ch7.ads, sem_ch7.adb
8588 (Inspect_Deferred_Constant_Completion): Moved to sem_util.
8589
85902008-05-20 Ed Schonberg <schonberg@adacore.com>
8591 Thomas Quinot <quinot@adacore.com>
8592
8593 * sem_ch4.adb
8594 (Try_Indexed_Call): Handle properly a construct of the form F(S) where
8595 F is a parameterless function that returns an array, and S is a subtype
8596 mark.
8597 (Analyze_Call): Insert dereference when the prefix is a parameterless
8598 function that returns an access to subprogram and the call has
8599 parameters.
8600 Reject a non-overloaded call whose name resolves to denote
8601 a primitive operation of the stub type generated to support a remote
8602 access-to-class-wide type.
8603
86042008-05-20 Ed Schonberg <schonberg@adacore.com>
8605
8606 * sem_ch8.adb
8607 (Note_Redundant_Use): Diagnose a redundant use within a subprogram body
8608 when there is a use clause for the same entity in the context.
8609 (Analyze_Subprogram_Renaming): A renaming_as_body is legal if it is
8610 created for a stream attribute of an abstract type or interface type.
8611
86122008-05-20 Thomas Quinot <quinot@adacore.com>
8613
8614 * sem_dist.ads, sem_dist.adb (Is_RACW_Stub_Type_Operation): New
8615 subprogram.
8616
8617 * sem_type.adb
8618 (Add_One_Interp): Ignore any interpretation that is a primitive
8619 operation of an RACW stub type (these primitives are only executed
8620 through dispatching, never through static calls).
8621 (Collect_Interps): When only one interpretation has been found, set N's
8622 Entity and Etype to that interpretation, otherwise Entity and Etype may
8623 still refer to an interpretation that was ignored by Add_One_Interp,
8624 in which case would end up with being marked as not overloaded but with
8625 an Entity attribute not pointing to its (unique) correct interpretation.
8626
86272008-05-20 Ed Schonberg <schonberg@adacore.com>
8628
8629 * sem_eval.adb
8630 (Eval_Slice): Warn when a slice whose discrete range is a subtype name
8631 denotes the whole array of its prefix.
8632
86332008-05-20 Robert Dewar <dewar@adacore.com>
8634
8635 * sem_res.adb (Resolve_Op_Not): Warn on double negation
8636
86372008-05-20 Ed Schonberg <schonberg@adacore.com>
8638
8639 * sprint.adb
8640 (Print_Itype): Do not modify the sloc of the component type of a
8641 (packed) array itype, because it is an unrelated type whose source
8642 location is independent of the point of creation of the itype itself.
8643
86442008-05-20 Thomas Quinot <quinot@adacore.com>
8645
8646 * uintp.adb, urealp.adb: Replace calls to Increment_Last + Set with
8647 Append.
8648
86492008-05-20 Robert Dewar <dewar@adacore.com>
8650 Vincent Celier <celier@adacore.com>
8651
8652 * vms_data.ads: Add entry for -gnatr
8653 Put GNAT SYNC section in proper alpha order
8654 Add VMS qualifier /DISPLAY_PROGRESS equivalent to gnatmake switch -d
8655
8656 * gnat_ugn.texi: Add documentation for new gnatname switch --and
8657 Update the style checks section
8658 Add documentation of -gnatr
8659 Add to the "Adding the Results of Compiler Checks to gnatcheck Output"
8660 subsection the explanation how compiler checks should be disabled for
8661 gnatcheck.
8662 Update the list of Ada 95 reserved words used by in the project language
8663 Add documentation for project qualifiers.
8664 Document that abstract projects may be extended by different projects in
8665 the same project tree.
8666 Add documentation for gnatmake switch -d
8667
8668 * ug_words: Add -gnatyy VMS equivalence string.
8669 Add entry for -gnatr
8670
86712008-05-20 Bob Duff <duff@adacore.com>
8672
8673 * a-rttiev.adb
8674 (Set_Handler): Remove code from both of these that implements
8675 RM-D.15(15/2), because it causes a race condition and potential
8676 deadlock.
8677 (Process_Queued_Events): Add comment explaining "exception when others
8678 => null". Add clarifying ".all", even though implicit .all is legal
8679 here.
8680
86812008-05-20 Arnaud Charlet <charlet@adacore.com>
8682
8683 * s-winext.ads: Replace representation clause by pragma Pack. Gives
8684 equivalent representation, but has the advantage of allowing
8685 compilation of this file under 64 bits platforms.
8686
8687 * s-os_lib.adb (Normalize_Pathname): Mark Cur_Dir constant.
8688
8689 * s-osinte-irix.ads: (Alternate_Stack_Size): Add dummy declaration.
8690
9e81dbc7 8691 * adaint.c:
93a7c573
AC
8692 Don't define dummy implementation of convert_addresses on ppc-linux.
8693
86942008-05-20 Ed Schonberg <schonberg@adacore.com>
8695
8696 * exp_ch7.adb
8697 (Expand_Ctrl_Function_Call): Do not attach result to finalization list
8698 if expression is aggregate component.
8699
87002008-05-20 Robert Dewar <dewar@adacore.com>
8701
8702 * g-byorma.adb, gnatlink.adb, prepcomp.adb, sinfo.ads,
8703 sem_ch12.adb: Update comments. Minor reformatting.
8704
8705 * exp_ch2.adb: Typo
8706
8707 * s-unstyp.ads: Fixed some typos in comments.
8708
1b686dc4
AC
87092008-05-20 Arnaud Charlet <charlet@adacore.com>
8710
8711 * s-taspri-vxworks.ads (Task_Address, Task_Address_Size): New
8712 type/constant.
8713
8714 * g-socthi-vxworks.ads: Update to latest socket changes.
8715
8716 * a-caldel-vms.adb: Resync with a-caldel spec.
8717
6357e162
AC
8718 * exp_ch9.ads, sem_ch8.ads, inline.adb: Minor reformatting.
8719 Update comments.
8720
74c11a6c
EB
87212008-05-17 Eric Botcazou <ebotcazou@adacore.com>
8722
8723 * trans.c (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Account
8724 for dummy types pointed to by the converted pointer types.
8725
f730e42f
EB
87262008-05-15 Eric Botcazou <ebotcazou@adacore.com>
8727
8728 * trans.c (add_decl_expr): At toplevel, mark the TYPE_ADA_SIZE field
8729 of records and unions.
8730 (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Fix formatting.
8731
eaa2f8c7 87322008-05-14 Samuel Tardieu <sam@rfc1149.net>
9e81dbc7 8733 Robert Dewar <dewar@adacore.com>
eaa2f8c7
ST
8734
8735 * sem_attr.adb (Analyze_Attribute, Attribute_Old case): Add
8736 restrictions to the prefix of 'Old.
8737 * sem_util.ads, sem_util.adb (In_Parameter_Specification): New.
8738 * gnat_rm.texi ('Old): Note that 'Old cannot be applied to local
8739 variables.
8740
f80cddcb
EB
87412008-05-13 Eric Botcazou <ebotcazou@adacore.com>
8742
8743 PR ada/24880
8744 PR ada/26635
8745 * utils.c (convert) <INTEGER_TYPE>: When converting an additive
8746 expression to an integral type with lower precision, use NOP_EXPR
8747 directly in a couple of special cases.
8748
ea0a7f39 87492008-05-12 Samuel Tardieu <sam@rfc1149.net>
9e81dbc7 8750 Ed Schonberg <schonberg@adacore.com>
ea0a7f39
ST
8751
8752 * sem_ch3.adb (Build_Derived_Record_Type): Accept statically matching
8753 constraint expressions.
8754
751d1520
TB
87552008-05-12 Tomas Bily <tbily@suse.cz>
8756
ea0a7f39
ST
8757 * utils2.c (known_alignment, contains_save_expr_p)
8758 (gnat_mark_addressable): Use CASE_CONVERT.
8759 * decl.c (annotate_value): Likewise.
8760 * trans.c (maybe_stabilize_reference): Likewise.
8761 * utils2.c (build_binary_op): Use CONVERT_EXPR_P.
8762 * utils.c (rest_of_record_type_compilation): Likewise.
8763 * trans.c (protect_multiple_eval, Attribute_to_gnu)
8764 (protect_multiple_eval): Likewise.
751d1520 8765
a1b66071
AS
87662008-05-08 Andreas Schwab <schwab@suse.de>
8767
8768 * utils.c (handle_pure_attribute, init_gigi_decls): Rename
8769 DECL_IS_PURE to DECL_PURE_P.
8770
bba74577
EB
87712008-05-05 Eric Botcazou <ebotcazou@adacore.com>
8772
8773 * decl.c (maybe_pad_type): Add ??? comment.
8774
8f85525e
EB
87752008-05-03 Eric Botcazou <ebotcazou@adacore.com>
8776
8777 * decl.c (components_to_record): Zero the alignment of the qualified
8778 union built for the variant part upon creating it.
8779
88f36b7e
EB
87802008-05-03 Eric Botcazou <ebotcazou@adacore.com>
8781
8782 * decl.c (maybe_pad_type): Try to get a form of the type with integral
8783 mode even if the alignment is not a factor of the original size. But
8784 make sure to create the inner field with the original size. Reorder.
8785 * trans.c (addressable_p) <COMPONENT_REF>: Treat the field of a padding
8786 record as always addressable.
8787 * utils.c (convert): Deal specially with conversions between original
8788 and packable versions of a record type.
8789 * utils2.c (build_binary_op) <MODIFY_EXPR>: Be more restrictive when
8790 recognizing an assignment between padded objects.
8791
8665c7ca
EB
87922008-05-01 Eric Botcazou <ebotcazou@adacore.com>
8793
8794 * decl.c (make_packable_type): Resize the last component to its RM size
8795 only if it is of an aggregate type.
8796 * trans.c (call_to_gnu): Fix nit in comment.
8797 (gnat_to_gnu): Likewise.
8798
ea342909
ST
87992008-04-30 Samuel Tardieu <sam@rfc1149.net>
8800
8801 * Makefile.in: Adapt sh4-linux target.
8802
af4133b2
ST
88032008-04-29 Ed Schonberg <schonberg@adacore.com>
8804
8805 PR ada/35792
8806 * sem_ch3.adb (Find_Type_Name): Refuse completion of an incomplete
8807 tagged type by an untagged protected or task type.
8808
805100b5 88092008-04-28 Eric Botcazou <ebotcazou@adacore.com>
9e81dbc7 8810 Tristan Gingold <gingold@adacore.com>
805100b5
EB
8811
8812 PR ada/36007
8813 * decl.c (gnat_to_gnu_entity) <object>: Do not promote alignment
8814 of aliased objects with an unconstrained nominal subtype.
8815 Cap the promotion to the effective alignment of the word mode.
8816
99c2eec1
RW
88172008-04-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8818
8819 * Make-lang.in (ada.tags, check-acats, ada/treeprs.ads)
8820 (ada/einfo.h, ada/sinfo.h, ada/nmake.adb, ada/nmake.ads):
8821 Use '&&' instead of ';'.
8822
22a81267
OH
88232008-04-24 Olivier Hainque <hainque@adacore.com>
8824
8825 * trans.c (Attribute_to_gnu) <case Attr_Length>: Length computation
8826 doesn't require signed arithmetic anymore.
8827
51eed280
PB
88282008-04-23 Paolo Bonzini <bonzini@gnu.org>
8829
8830 * trans.c (Attribute_to_gnu): Don't set TREE_INVARIANT.
8831 (call_to_gnu): Don't set TREE_INVARIANT.
8832 * utils2.c (gnat_build_constructor): Don't set TREE_INVARIANT.
8833
d9126ef8
JS
88342008-04-22 Joel Sherrill <joel.sherrill@oarcorp.com>
8835
8836 * s-osinte-rtems.adb: Add sigalstack function.
8837 * s-osinte-rtems.ads: Add SO_ONSTACK and sigalstack
8838 function. Add Alternate_Stack and Alternate_Stack_Size.
8839 Add missing process_shared field to pthread_condattr_t
8840 and change ss_low_priority to int from timespec.
8841
0a58c87e
ST
88422008-04-22 Samuel Tardieu <sam@rfc1149.net>
8843
8844 * i-forbla.adb: Link against -llapack and -lblas by default
8845 instead of the private -lgnalasup.
8846
009890be
OH
88472008-04-21 Olivier Hainque <hainque@adacore.com>
8848
8849 Access to most C builtins from Ada
8850 * utils.c: #include "langhooks.h" and define GCC_DIAG_STYLE.
8851 (handle_pure_attribute, handle_novops_attribute,
8852 handle_nonnull_attribute, handle_sentinel_attribute,
8853 handle_noreturn_attribute, handle_malloc_attribute,
8854 handle_type_generic_attribute): New attribute handlers, from C fe.
8855 (gnat_internal_attribute_table): Map the new handlers.
8856 (gnat_init_decl_processing): Move call to gnat_install_builtins to ...
8857 (init_gigi_decls): ... here.
8858 (handle_const_attribute, handle_nothrow_attribute, builtin_decl_for):
8859 Move to a section dedicated to builtins processing.
8860 (build_void_list_node, builtin_type_for_size): New functions.
8861 (def_fn_type, get_nonnull_operand): Likewise.
8862 (install_builtin_elementary_type, install_builtin_function_types,
8863 install_builtin_attributes): Likewise.
8864 (fake_attribute_handler): Fake handler for attributes we don't
8865 support in Ada.
8866 (def_builtin_1): New function, worker for DEF_BUILTIN.
8867 (install_builtin_functions): New function.
8868 (gnat_install_builtins): Move to the builtins processing section.
8869 Now calling the newly introduced installers.
8870
e871a873
EB
88712008-04-20 Eric Botcazou <ebotcazou@adacore.com>
8872
8873 * decl.c (gnat_to_gnu_entity) <object>: Also promote the alignment of
8874 constant objects, but not exceptions.
8875 * trans.c (add_decl_expr): Use gnat_types_compatible_p for type
8876 compatibility test.
8877 * utils.c (create_var_decl_1): Likewise.
8878 * utils2.c (build_binary_op) <MODIFY_EXPR>: Also use the padded view of
8879 the type when copying to padded object and the source is a constructor.
8880
98ae7998
EB
88812008-04-18 Eric Botcazou <ebotcazou@adacore.com>
8882
8883 * decl.c (gnat_to_gnu_entity) <object>: When trying to promote the
8884 alignment, reset it to zero if it would end up not being greater
8885 than that of the type.
8886
3569056b
EB
88872008-04-18 Eric Botcazou <ebotcazou@adacore.com>
8888
8889 * decl.c (maybe_pad_type): Only generate the XVS parallel type if
8890 the padded type has a variable size.
8891
9a089d8b
EB
88922008-04-18 Eric Botcazou <ebotcazou@adacore.com>
8893
8894 * decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Use the return by
8895 target pointer mechanism as soon as the size is not constant.
8896
0cb5c2a7
EB
88972008-04-18 Eric Botcazou <ebotcazou@adacore.com>
8898
8899 * gigi.h (create_var_decl_1): Declare.
8900 (create_var_decl): Turn into a macro invoking create_var_decl_1.
8901 (create_true_var_decl): Likewise.
8902 * utils.c (create_var_decl_1): Make global and reorder parameters.
8903 (create_var_decl): Delete.
8904 (create_true_var_decl): Likewise.
8905
90d6701e
EB
89062008-04-17 Eric Botcazou <ebotcazou@adacore.com>
8907
8908 * decl.c (gnat_to_gnu_entity) <object>: Promote the alignment of
8909 objects by default.
8910 * fe.h (Debug_Flag_Dot_A): Delete.
8911 * debug.adb (-gnatd.a): Update documentation.
8912
35485e12
ST
89132008-04-17 Samuel Tardieu <sam@rfc1149.net>
8914
8915 * g-socket.ads, g-socket.adb (Get_Address): Make Stream a
8916 "not null" parameter.
8917
111c1cd9
ST
89182008-04-17 Samuel Tardieu <sam@rfc1149.net>
8919
8920 * g-socket.adb: Add a message "IPv6 not supported" to the
8921 Socket_Error exception.
8922
35c91e05
ST
89232008-04-16 Samuel Tardieu <sam@rfc1149.net>
8924
8925 PR ada/29015
8926 * sem_ch12.adb (Instantiate_Type): Check whether the full view of
8927 the type is known instead of the underlying type.
8928
b48a6531
ST
89292008-04-15 Ed Schonberg <schonberg@adacore.com>
8930
8931 PR ada/22387
8932 * exp_ch5.adb (Expand_Assign_Record): Within an initialization
8933 procedure for a derived type retrieve the discriminant values from
8934 the parent using the corresponding discriminant.
8935
462c31ef 89362008-04-15 Samuel Tardieu <sam@rfc1149.net>
9e81dbc7 8937 Gary Dismukes <dismukes@adacore.com>
462c31ef
ST
8938
8939 PR ada/28733
8940 * sem_ch8.adb (Analyze_Use_Package): Do not allow "use" of something
8941 which is not an entity (and hence not a package).
8942 (End_Use_Package): Ditto.
8943
8abe457a
ST
89442008-04-15 Ed Schonberg <schonberg@adacore.com>
8945
8946 PR ada/16086
8947 * sem_ch12.adb (Analyze_Formal_Subprogram): The default can be any
8948 protected operation that matches the signature, not only an entry, a
8949 regular subprogram or a literal.
8950
29f4754f
EB
89512008-04-15 Eric Botcazou <ebotcazou@adacore.com>
8952
8953 * ada-tree.h (DECL_BY_COMPONENT_PTR_P): Use DECL_LANG_FLAG_3.
8954 * decl.c (gnat_to_gnu_entity) <object>: Call maybe_pad_type only
8955 if a size or alignment is specified. Do not take into account
8956 alignment promotions for the computation of the object's size.
8957 <type>: Call maybe_pad_type only if a size or alignment is specified.
8958 (maybe_pad_type): Really reuse the RM_Size of the original type if
8959 requested.
8960 * trans.c (Attribute_to_gnu): Fix a couple of nits.
8961 * utils2.c (build_binary_op) <MODIFY_EXPR>: Merge related conditional
8962 statements. Use the padded view of the type when copying between
8963 padded objects of the same underlying type.
8964
f3d0f304
RW
89652008-04-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8966
8967 * vms_data.ads: Fix typo in constant.
8968 * gen-soccon.c: Fix typo in error string.
8969 * gnat_rm.texi (Pragma Optimize_Alignment, Pragma Postcondition):
8970 Fix typos.
8971 * a-calcon.ads, a-calend-vms.adb, a-calend.adb, a-crdlli.ads,
8972 bcheck.adb, checks.adb, einfo.ads, errout.adb, erroutc.adb,
8973 erroutc.ads, exp_attr.adb, exp_ch11.adb, exp_ch2.adb,
8974 exp_ch5.adb, exp_ch9.adb, exp_ch9.ads, exp_pakd.adb,
8975 exp_util.adb, fmap.adb, g-soccon-linux-mips.ads,
8976 g-soccon-rtems.ads, g-timsta.adb, g-timsta.ads, lib-writ.ads,
8977 mlib-tgt-specific-linux.adb, mlib-tgt-specific-tru64.adb,
8978 s-interr-vxworks.adb, s-interr.adb, s-osinte-lynxos.ads,
8979 s-rident.ads, s-taprop-solaris.adb, s-tassta.adb, s-win32.ads,
8980 sem_aggr.adb, sem_attr.ads, sem_ch10.adb, sem_ch13.ads,
8981 sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb,
8982 sem_prag.ads, sem_res.adb, sem_util.adb, sem_util.ads,
8983 sinfo.ads: Fix typos in comments.
8984
2efcad9f
RD
89852008-04-14 Robert Dewar <dewar@adacore.com>
8986
8987 * sem_prag.adb (Analyze_Pragma, Linker_Section case): Extend error
8988 to every non-object and change error message.
8989
8f3723e0
RD
89902008-04-14 Robert Dewar <dewar@adacore.com>
8991
8992 * sem_util.ads, sem_util.adb (In_Subprogram): Remove.
8993 * sem_attr.adb (Anayze_Attribute): Check for Current_Subprogram
8994 directly.
8995
32f7efe1
ST
89962008-04-14 Samuel Tardieu <sam@rfc1149.net>
8997
8998 PR ada/18680
8999 * sem_prag.adb (Analyze_Pragma, Linker_Section case): Refuse to
9000 apply pragma Linker_Section on type.
9001
b039b10e
ST
90022008-04-14 Samuel Tardieu <sam@rfc1149.net>
9003
9004 PR ada/16098
9005 * sem_prag.adb (Error_Pragma_Ref): New.
9006 (Process_Convention): Specialized message for non-local
9007 subprogram renaming. Detect the problem in homonyms as well.
9008
cb572b75
ST
90092008-04-14 Samuel Tardieu <sam@rfc1149.net>
9010
9011 PR ada/15915
9012 * sem_util.ads, sem_util.adb (Denotes_Variable): New function.
9013 * sem_ch12.adb (Instantiate_Object): Use it.
9014 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ensure that
9015 storage pool denotes a variable as per RM 13.11(15).
9016
17972da7
ST
90172008-04-14 Samuel Tardieu <sam@rfc1149.net>
9018
9019 * sem_util.ads, sem_util.adb (In_Subprogram): New function.
9020 * sem_attr.adb (Analyze_Attribute, Attribute_Old case): Use it.
9021
57f80aa9
RE
90222008-04-14 Rolf Ebert <rolf.ebert.gcc@gmx.de>
9023
9024 PR ada/20822
9025 * xgnatugn.adb (Put_Line): New procedure, ensuring Unix
9026 line endings even on non-Unix platforms.
9027
9ff231e2
ST
90282008-04-14 Samuel Tardieu <sam@rfc1149.net>
9029
9030 PR ada/35050
9031 * xref_lib.adb (Parse_Identifier_Info): Correctly parse and ignore the
9032 renaming information.
9033
9e81dbc7 90342008-04-13 Samuel Tardieu <sam@rfc1149.net>
92d4508a
ST
9035
9036 PR ada/17985
9037 * sem_aggr.adb (Valid_Ancestor_Type): A type is not an ancestor of
9038 itself.
9039
12a13f01
RW
90402008-04-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9041
3354f96d
RW
9042 * sfn_scan.adb, sfn_scan.ads, sinfo.ads,
9043 sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput.ads,
9044 snames.ads, sprint.adb, stand.ads, stringt.ads,
9045 styleg.adb, styleg.ads, stylesw.adb, stylesw.ads,
9046 switch.ads, sysdep.c, table.adb, table.ads,
9047 targparm.ads, tb-gcc.c, tbuild.ads, tracebak.c,
9048 trans.c, tree_io.adb, treepr.adb, types.adb, types.ads,
9049 uintp.adb, uintp.ads, utils.c, utils2.c, validsw.ads,
9050 vms_conv.adb, vms_conv.ads, vms_data.ads, widechar.adb,
9051 widechar.ads, xeinfo.adb, xgnatugn.adb, xr_tabls.adb,
9052 xr_tabls.ads, xref_lib.adb, xref_lib.ads, xsinfo.adb:
9053 Fix comment typos.
9054
f3d57416
RW
9055 * sem_ch10.adb, sem_ch10.ads,
9056 sem_ch12.adb, sem_ch12.ads, sem_ch13.adb, sem_ch13.ads,
9057 sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
9058 sem_ch6.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
9059 sem_elab.adb, sem_elab.ads, sem_elim.ads, sem_eval.adb,
9060 sem_eval.ads, sem_intr.adb, sem_mech.adb, sem_mech.ads,
9061 sem_prag.adb, sem_prag.ads, sem_res.adb, sem_res.ads,
9062 sem_type.adb, sem_util.adb, sem_util.ads, sem_warn.adb,
9063 sem_warn.ads: Fix comment typos.
9064
12a13f01
RW
9065 * s-secsta.adb, s-sequio.ads, s-shasto.ads,
9066 s-soflin.ads, s-stalib.ads, s-stausa.adb,
9067 s-stausa.ads, s-strxdr.adb, s-taenca.adb, s-taenca.ads,
9068 s-taprob.adb, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
9069 s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-posix.adb,
9070 s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
9071 s-taprop-vxworks.adb, s-taprop.ads, s-tarest.adb,
9072 s-tarest.ads, s-tasini.adb, s-tasini.ads, s-taskin.ads,
9073 s-tasque.ads, s-tassta.adb, s-tassta.ads, s-tasuti.ads,
9074 s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
9075 s-tpopsp-posix.adb, s-tpopsp-rtems.adb, s-tposen.adb,
9076 s-tposen.ads, s-traceb-hpux.adb, s-traces.ads,
9077 s-trafor-default.ads, s-unstyp.ads, s-utf_32.ads,
9078 s-vaflop.adb, s-vaflop.ads, s-valrea.adb, s-valuti.adb,
9079 s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, scans.ads,
9080 scn.adb, scng.adb, seh_init.c, sem.ads, sem_aggr.adb,
9081 sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
9082 sem_cat.adb, sem_cat.ads: Fix comment typos.
9083
2b699ab1
JS
90842008-04-12 Joel Sherrill <joel@oarcorp.com>
9085
9086 PR ada/35825
9087 * g-soccon-rtems.ads: Add IP_PKTINFO as unsupported.
9088
1e273538
AC
90892008-04-12 Arnaud Charlet <charlet@adacore.com>
9090
9091 * s-linux-hppa.ads: Fix syntax errors.
9092
276e95ca
RW
90932008-04-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9094
9095 * gnat_ugn.texi: Fix typos.
9096 * raise-gcc.c, repinfo.adb, repinfo.ads, restrict.adb,
9097 restrict.ads, rtsfind.adb, rtsfind.ads, s-arit64.ads,
9098 s-asthan-vms-alpha.adb, s-auxdec.ads, s-casuti.ads,
9099 s-fatflt.ads, s-fatgen.adb, s-fatlfl.ads,
9100 s-fatllf.ads, s-fatsfl.ads, s-filofl.ads,
9101 s-finimp.adb, s-finroo.ads, s-fishfl.ads,
9102 s-fvadfl.ads, s-fvaffl.ads, s-fvagfl.ads,
9103 s-hibaen.ads, s-htable.ads, s-imgcha.adb,
9104 s-imgenu.ads, s-imgint.adb, s-imgrea.adb,
9105 s-inmaop-dummy.adb, s-inmaop.ads, s-interr-vms.adb,
9106 s-interr-vxworks.adb, s-interr.adb, s-interr.ads,
9107 s-intman-vxworks.ads, s-intman.ads, s-mastop-irix.adb,
9108 s-os_lib.adb, s-os_lib.ads, s-osinte-aix.ads,
9109 s-osinte-darwin.ads, s-osinte-freebsd.ads,
9110 s-osinte-hpux.ads, s-osinte-lynxos-3.adb,
9111 s-osinte-lynxos-3.ads, s-osinte-lynxos.ads,
9112 s-osinte-rtems.ads, s-osinte-solaris-posix.ads,
9113 s-osprim-mingw.adb, s-osprim-vms.adb, s-parame-ae653.ads,
9114 s-parame-hpux.ads, s-parame-vms-alpha.ads,
9115 s-parame-vms-ia64.ads, s-parame-vms-restrict.ads,
9116 s-parame-vxworks.ads, s-parame.ads, s-parint.adb,
9117 s-parint.ads, s-poosiz.adb, s-proinf-irix-athread.ads,
9118 s-proinf.ads, s-regexp.adb, s-regpat.adb, s-regpat.ads,
9119 s-rident.ads: Fix comment typos.
9120
ce4e59c4
ST
91212008-04-09 Samuel Tardieu <sam@rfc1149.net>
9122
9123 PR ada/28305
9124 * sem_ch6.adb (Build_Body_To_Inline): Do not save and restore
9125 environment if generic instance is a top-level one.
9126
6d21c8af
DR
91272008-04-09 Doug Rupp <rupp@adacore.com>
9128
9129 * decl.c (validate_size): Set minimum size for fat pointers same as
9130 access types. Code clean ups.
9131
9132 * gmem.c (xstrdup32): New macro for 32bit dup on VMS, noop otherwise
9133 (__gnat_gmem_a2l_initialize): Dup exename into 32 bit memory on VMS
9134
9135 * s-auxdec-vms_64.ads, s-auxdec.ads (Short_Address_Size): New constant
9136
9137 * s-crtl.ads (malloc32) New function, alias for malloc
9138 (realloc32) New function, alias for realloc
9139
9140 * socket.c (__gnat_new_socket_set): Malloc fd_set in 32 bits on VMS
9141
9142 * utils2.c (build_call_alloc_dealloc): Return call to short malloc if
9143 allocator size is 32 and default pointer size is 64.
9144 (find_common_type): Document assumption on t1/t2 vs lhs/rhs. Force use of
9145 lhs type if smaller, whatever the modes.
9146
9147 * gigi.h (malloc32_decl): New macro definition
9148
9149 * utils.c (init_gigi_decls): New malloc32_decl
9150 Various code clean ups.
9151
9152 * s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to
9153 Task_Address vice System.Address.
9154
9155 * s-taspri-vms.ads: Import System.Aux_DEC
9156 (Task_Address): New subtype of System.Aux_DEC.Short_Address
9157 (Task_Address_Size): New constant size of System.Aux_DEC.Short_Address
9158
9159 * s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to
9160 Task_Address vice System.Address.
9161
9162 * s-inmaop-vms.adb: Import System.Task_Primitives
9163 (To_Address): Unchecked convert to Task_Address vice System.Address
9164
9165 * s-taprop-vms.adb (Timed_Delay): Always set the timer even if delay
9166 expires now.
9167 (To_Task_ID) Unchecked convert from Task_Adddress vice System.Address
9168 (To_Address) Unchecked convert to Task_Address vice System.Address
9169
9170 * s-tpopde-vms.adb: Remove unnecessary warning pragmas
9171
9172 * g-socthi-vms.ads: Add 32bit size clauses on socket access types.
9173
581edf92
EB
91742008-04-08 Eric Botcazou <ebotcazou@adacore.com>
9175
9176 * gigi.h (standard_datatypes): Add ADT_fdesc_type and ADT_null_fdesc.
9177 (fdesc_type_node): Define.
9178 (null_fdesc_node): Likewise.
9179 * decl.c (gnat_to_gnu_entity) <E_Access_Subprogram_Type>: If the target
9180 uses descriptors for vtables and the type comes from a dispatch table,
9181 return the descriptor type.
9182 * trans.c (Attribute_to_gnu) <Attr_Unrestricted_Access>: If the target
9183 uses descriptors for vtables and the type comes from a dispatch table,
9184 build a descriptor in the static case and copy the existing one in the
9185 non-static case.
9186 (gnat_to_gnu) <N_Null>: If the target uses descriptors for vtables and
9187 the type is a pointer-to-subprogram coming from a dispatch table,
9188 return the null descriptor.
9189 <N_Unchecked_Type_Conversion>: If the target uses descriptors for
9190 vtables, the source type is the descriptor type and the target type
9191 is a pointer type, first build the pointer.
9192 * utils.c (init_gigi_decls): If the target uses descriptors for vtables
9193 build the descriptor type and the null descriptor.
9194
e1da2b17
EB
91952008-04-08 Eric Botcazou <ebotcazou@adacore.com>
9196
9197 * decl.c (prepend_attributes): Fix typo.
9198 * trans.c (Pragma_to_gnu): Likewise.
9199 * utils.c (gnat_genericize): Likewise.
9200
2b3dffa6 92012008-04-08 Eric Botcazou <ebotcazou@adacore.com>
9e81dbc7 9202 Richard Kenner <kenner@adacore.com>
2b3dffa6
EB
9203
9204 * ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Only set it when bit-packed.
9205 * decl.c (gnat_to_gnu_entity): Adjust for above change.
9206 <E_Record_Type>: Try to get a better form of the component for
9207 packing, even if it has an integral mode.
9208 <E_Record_Subtype>: Likewise.
9209 * trans.c (gnat_to_gnu): Do not require BLKmode for the special
9210 exception suppressing the final conversion between record types.
9211
ba3f46d0
EB
92122008-04-08 Eric Botcazou <ebotcazou@adacore.com>
9213
9214 * decl.c (gnat_to_gnu_entity) <object>: If -gnatd.a and not optimizing
9215 alignment for space, promote the alignment of non-scalar variables with
9216 no size and alignment.
9217 * gigi.h (gnat_types_compatible_p): Declare.
9218 * misc.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Set to above predicate.
9219 * trans.c (gnat_to_gnu): Revert revision 129339 change. Minor cleanup.
9220 * utils.c (gnat_types_compatible_p) : New predicate.
9221 (convert): Use it throughout to test for cases where a mere view
9222 conversion is sufficient.
9223 * utils2.c (build_binary_op): Minor tweaks.
9224 (build_unary_op): Likewise.
9225
373140ef
EB
92262008-04-08 Eric Botcazou <ebotcazou@adacore.com>
9227
9228 * decl.c (adjust_packed): Expand comment.
9229
ea081ad7
AC
92302008-04-08 Arnaud Charlet <charlet@adacore.com>
9231
9232 * s-tasuti.ads: Use Task_Address instead of System.Address.
9233
9234 * makeutl.adb (Path_Or_File_Name): New function
9235
9236 * nlists.ads, itypes.ads: Update comments.
9237
9238 * s-crtl.ads (malloc32, realloc32): New functions.
9239
9240 * s-auxdec.ads (Short_Address_Size): New constant.
9241
9242 * a-taside.adb, s-tasdeb.adb: Use Task_Address.
9243
9244 * s-ststop.ads, s-ststop.adb: New file.
9245
9246 * exp_tss.ads, s-taprop-lynxos.adb: Update comments.
9247 Minor reformatting.
9248
d563d3f0
AC
92492008-04-08 Pascal Obry <obry@adacore.com>
9250
9251 * g-sercom.ads, g-sercom.adb (Data_Rate): Add B115200.
9252 (Stop_Bits_Number): New type.
9253 (Parity_Check): Likewise.
9254 (Set): Add parameter to set the number of stop bits and
9255 the parity. Parameter timeout is now a duration instead
9256 of a plain integer.
9257
9258 * g-sercom-linux.adb:
9259 Implement the stop bits and parity support for GNU/Linux.
9260 Fix handling of timeout, it must be given in tenth of seconds.
9e81dbc7 9261
d563d3f0
AC
9262 * g-sercom-mingw.adb:
9263 Implement the stop bits and parity support for Windows.
9264 Use new s-win32.ads unit instead of declaring Win32 services
9265 directly into this body.
9266 Update handling of timeout as now a duration.
9267
9268 * s-win32.ads, s-winext.ads: New files.
9269
92702008-04-08 Eric Botcazou <ebotcazou@adacore.com>
9271 Arnaud Charlet <charlet@adacore.com>
9272
9273 * s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads: Removed.
9274
9275 s-taspri-posix-noaltstack.ads, s-linux.ads, s-linux-alpha.ads,
9276 s-linux-hppa.ads: New files. Disable alternate stack on ia64-hpux.
9277
9278 * s-osinte-lynxos-3.ads,
9279 (Alternate_Stack): Remove when not needed. Simplify declaration
9280 otherwise.
9281 (Alternate_Stack_Size): New constant.
9282
9283 s-osinte-mingw.ads, s-taprop-mingw.adb: Code clean up: avoid use of
9284 'Unrestricted_Access.
9285
9286 * s-osinte-hpux.ads, s-osinte-solaris-posix.ads, s-osinte-aix.ads,
9287 s-osinte-lynxos.ads, s-osinte-freebsd.ads s-osinte-darwin.ads,
9288 s-osinte-tru64.ads, s-osinte-irix.ads, s-osinte-linux.ads,
9289 s-osinte-solaris.ads, s-osinte-vms.ads
9290 (SA_ONSTACK): New constant.
9291 (stack_t): New record type.
9292 (sigaltstack): New imported function.
9293 (Alternate_Stack): New imported variable.
9294 (Alternate_Stack_Size): New constant.
9295
9296 * system-linux-x86_64.ads: (Stack_Check_Probes): Set to True.
9297
9298 * s-taspri-lynxos.ads, s-taspri-solaris.ads, s-taspri-tru64.ads,
ea081ad7
AC
9299 s-taspri-hpux-dce.ads, s-taspri-dummy.ads, s-taspri-posix.ads,
9300 s-taspri-vms.ads (Task_Address): New subtype of System.Address
d563d3f0
AC
9301 (Task_Address_Size): New constant size of System.Address
9302 (Alternate_Stack_Size): New constant.
9303
9304 * s-taprop-posix.adb, s-taprop-linux.adb (Get_Stack_Attributes): Delete.
9305 (Enter_Task): Do not notify stack to System.Stack_Checking.Operations.
9306 Establish the alternate stack if the platform makes use of n alternate
9307 signal stack for stack overflows.
9308 (Create_Task): Take into account the alternate stack in the stack size.
9309 (Initialize): Save the address of the alternate stack into the ATCB for
9310 the environment task.
9311 (Create_Task): Fix assertions for NPTL library (vs old LinuxThreads).
9312
ea081ad7 9313 * s-parame.adb (Minimum_Stack_Size): Increase value to 16K
d563d3f0
AC
9314
9315 * system-linux-x86.ads: (Stack_Check_Probes): Set to True.
9316
9e81dbc7 9317 * s-intman-posix.adb:
d563d3f0
AC
9318 (Initialize): Set SA_ONSTACK for SIGSEGV if the platform makes use of an
9319 alternate signal stack for stack overflows.
9320
9321 * init.c (__gnat_adjust_context_for_raise, Linux version): On i386 and
9322 x86-64, adjust the saved value of the stack pointer if the signal was
9323 raised by a stack checking probe.
9324 (HP-UX section): Use global __gnat_alternate_stack as signal handler
9325 stack and only for SIGSEGV.
9326 (Linux section): Likewise on x86 and x86-64.
9327 [VxWorks section]
9328 (__gnat_map_signal): Now static.
9329 (__gnat_error_handler): Not static any more.
9330 (__gnat_adjust_context_for_raise): New function. Signal context
9331 adjustment for PPC && !VTHREADS && !RTP, as required by the zcx
9332 propagation circuitry.
9333 (__gnat_error_handler): Second argument of a sigaction handler is a
9334 pointer, not an int, and is unused.
9335 Adjust signal context before mapping to exception.
9336 Install signal handlers for LynxOS case.
9337
9338 * s-taskin.ads (Common_ATCB): New field Task_Alternate_Stack.
9339 (Task_Id): Set size to Task_Address_Size
9340 (To_Task_id): Unchecked convert from Task_Address vice System.Address
9341 (To_Address): Unchecked convert to Task_Address vice System.Address
9342
9343 * s-tassta.adb (Task_Wrapper): Define the alternate stack and save its
9344 address into the ATCB if the platform makes use of an alternate signal
9345 stack for stack overflows.
9346 (Free_Task): Add call to Finalize_Attributes_Link.
9347 Add argument Relative_Deadline to pass the value specified for
9348 the task. This is not yet used for any target.
9349
9350 * s-tassta.ads (Create_Task): Add argument Relative_Deadline to pass
9351 the value specified for the task.
9352
93532008-04-08 Arnaud Charlet <charlet@adacore.com>
9354
9355 (s-osinte-vxworks6.ads): Removed, merged with s-osinte-vxworks.ads/.adb
9356 (s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads,
9357 s-vxwext-rtp.adb): New files.
9358
9e81dbc7 9359 * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-osinte-vxworks.adb:
d563d3f0
AC
9360 Minor updates to accomodate changes above.
9361
93622008-04-08 Pascal Obry <obry@adacore.com>
9363
9364 * a-exetim-mingw.adb, s-gloloc-mingw.adb, s-taprop-mingw.adb,
9365 s-tasinf-mingw.ad{s,b}, s-taspri-mingw.ads:
9366 Use new s-win32.ads unit instead of declaration
9367 from s-osinte-mingw.ads.
9e81dbc7 9368
d563d3f0
AC
9369 * s-osinte-mingw.ads:
9370 Move all non tasking based interface to s-win32.ads.
9e81dbc7 9371
d563d3f0
AC
9372 * s-osprim-mingw.adb:
9373 Remove duplicated declarations and use s-win32.ads
9374 unit instead.
9375
93762008-04-08 Vincent Celier <celier@adacore.com>
9377 Arnaud Charlet <charlet@adacore.com>
9378
9379 * mlib-tgt-aix.adb, mlib-tgt-darwin.adb, mlib-tgt-hpux.adb,
9380 mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-lynxos.adb,
9381 mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
9382 mlib-tgt-vms.ads, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
9383 mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb: Renamed into...
9384
9385 * mlib-tgt-specific-aix.adb, mlib-tgt-specific-darwin.adb,
9386 mlib-tgt-specific-hpux.adb, mlib-tgt-specific-irix.adb,
9387 mlib-tgt-specific-linux.adb, mlib-tgt-specific-lynxos.adb,
9388 mlib-tgt-specific-solaris.adb, mlib-tgt-specific-tru64.adb,
9389 mlib-tgt-vms_common.adb, mlib-tgt-vms_common.ads,
9390 mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb,
9391 mlib-tgt-specific-vxworks.adb, mlib-tgt-specific-xi.adb,
9392 mlib-tgt-specific-mingw.adb: New names.
9393
9e81dbc7 9394 * Makefile.in:
d563d3f0
AC
9395 On VxWorks platforms use s-stchop-limit.ads for s-stchop.ads
9396 Get rid of gnatbl.
9397 (EXTRA_GNATRTL_NONTASKING_OBJS): Add s-win32.o
9398 Files mlib-tgt-*.adb have been renamed mlib-tgt-specific-*.adb
9399 Minor updates for VMS
9400
ea081ad7
AC
9401 * gnatbl.c: Removed.
9402
d563d3f0
AC
94032008-04-08 Thomas Quinot <quinot@adacore.com>
9404
9405 * g-expect-vms.adb, a-textio.adb, a-witeio.adb, exp_dbug.adb,
9406 g-expect.adb, g-locfil.adb, gnatchop.adb, gnatdll.adb, gnatlbr.adb,
9407 gnatmem.adb, g-regist.adb, i-vxwork.ads, mlib-utl.adb, i-vxwork-x86.ads,
9408 a-ztexio.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-ia64.adb,
9409 s-os_lib.adb, s-regpat.adb, s-regpat.ads: Fix incorrect casing of
9410 ASCII.NUL throughout.
9411
94122008-04-08 Arnaud Charlet <charlet@adacore.com>
9413 Matthew Heaney <heaney@adacore.com>
9414
9415 * a-cgcaso.adb, a-convec.adb: (Swap, Sift): Avoid use of complex
9416 renaming.
9417
9e81dbc7 9418 * a-cgaaso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads,
d563d3f0
AC
9419 a-crdlli.ads, a-coormu.ads, a-ciormu.ads: modified header to conform
9420 to convention for non-RM specs.
9421 Add descriptive header, and documented each operation
9422 document each operation
9423
94242008-04-08 Robert Dewar <dewar@adacore.com>
9425 Bob Duff <duff@adacore.com>
9426 Gary Dismukes <dismukes@adacore.com>
9427 Ed Schonberg <schonberg@adacore.com>
9428
9429 * alloc.ads: Add entries for Obsolescent_Warnings table
9430
9431 * einfo.ads, einfo.adb: Minor reformatting.
9432 (Is_Discriminal): New subprogram.
9433 (Is_Prival): New subprogram.
9434 (Is_Protected_Component): New subprogram.
9435 (Is_Protected_Private): Removed.
9436 (Object_Ref, Set_Object_Ref): Removed.
9437 (Prival, Set_Prival): Change assertion.
9438 (Privals_Chain, Set_Privals_Chain): Removed.
9439 (Prival_Link, Set_Prival_Link): New subprogram.
9440 (Protected_Operation, Set_Protected_Operation): Removed.
9441 (Protection_Object, Set_Protection_Object): New subprogram.
9442 (Write_Field17_Name): Remove case for Object_Ref.
9443 (Write_Field20_Name): Add case for Prival_Link.
9444 (Write_Field22_Name): Remove case for Protected_Operation,
9445 Privals_Chain.
9446 Add case for Protection_Object.
9447 (Can_Use_Internal_Rep): Make this into a [base type only] attribute,
9448 so clients
9449 (Overlays_Constant): New flag
9450 (Is_Constant_Object): New predicate
9451 (Is_Standard_Character_Type): New predicate
9452 (Optimize_Alignment_Space): New flag
9453 (Optimize_Alignment_Time): New flag
9454 (Has_Postconditions): New flag
9455 (Obsolescent_Warrning): Field removed
9456 (Spec_PPC_List): New field
9457 (Relative_Deadline_Variable, Set_Relative_Deadline_Variable): Add
9458 subprograms to get and set the relative deadline associated to a task.
9459
9460 * exp_attr.adb (May_Be_External_Call): Account for the case where the
9461 Access attribute is part of a named parameter association.
9462 (Expand_Access_To_Protected_Op): Test for the attribute occurring
9463 within an init proc and use that directly as the scope rather than
9464 traversing up to the protected operation's enclosing scope. Only apply
9465 assertion on Is_Open_Scopes in the case the scope traversal is done.
9466 For the init proc case use the address of the first formal (_init) as
9467 the protected object reference.
9468 Implement Invalid_Value attribute
9469 (Expand_N_Attribute_Reference): Case Attribute_Unrestricted_Access.
9470 contents of the dispatch table there is no need to duplicate the
9471 itypes associated with record types (i.e. the implicit full view
9472 of private types).
9473 Implement Enum_Val attribute
9474 (Expand_N_Attribute_Reference, case Old): Properly handle appearence
9475 within _Postconditions procedure
9476 (Expand_N_Attribute_Reference, case Result): Implement new attribute
9477
9478 * exp_ch5.adb (Expand_N_Simple_Return_Statement): Handle case in which
9479 a return statement calls a function that is not available in
9480 configurable runtime.
9481 (Analyze_If_Statement): don't optimize simple True/False cases in -O0
9482 (Expand_Non_Function_Return): Generate call to _Postconditions proc
9483 (Expand_Simple_Function_Return): Ditto
9484
9485 * frontend.adb: Add call to Sem_Aux.Initialize
9486
9487 * sem_aux.ads, sem_aux.adb: New file.
9488
9489 * par-prag.adb: Add entries for pragmas Precondition/Postcondition
9490 Add new Pragma_Relative_Deadline.
9491 Add support for pragmas Check and Check_Policy
9492
9493 * sem_attr.ads, sem_attr.adb (Check_Not_CPP_Type): New subprogram.
9494 (Check_Stream_Attribute): Add missing check (not allowed in CPP types)
9495 (Analyze_Attribute): In case of attributes 'Alignment and 'size add
9496 missing check because they are not allowed in CPP tagged types.
9497 Add Sure parameter to Note_Possible_Modification calls
9498 Add implementation of Invalid_Value attribute
9499 Implement new attribute Has_Tagged_Values
9500 Implement Enum_Val attribute
9501 (Analyze_Attribute, case Range): Set Name_Req True for prefix of
9502 generated attributes.
9503 (Analyze_Attribute, case Result): If prefix of the attribute is
9504 overloaded, it always resolves to the enclosing function.
9505 (Analyze_Attribute, case Result): Properly deal with analysis when
9506 Postconditions are not active.
9507 (Resolve_Attribute, case Result): Properly deal with appearence during
9508 preanalysis in spec.
9509 Add processing for attribute Result
9510
9511 * sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Code cleanup
9512 for operators.
9513 (Analyze_Subprogram_Body): Install private_with_clauses when the body
9514 acts as a spec.
9515 (Check_Inline_Pragma): recognize an inline pragma that appears within
9516 the subprogram body to which it applies.
9517 (Analyze_Function_Return): Check that type of the expression of a return
9518 statement in a function with a class-wide result is not declared at a
9519 deeper level than the function.
9520 (Process_PPCs): Deal with enabling/disabling, using PPC_Enabled flag
9521 (Verify_Overriding_Indicator): Handle properly subprogram bodies for
9522 user- defined operators.
9523 (Install_Formals): Moved to spec to allow use from Sem_Prag for
9524 analysis of precondition/postcondition pragmas.
9525 (Analyze_Subprogram_Body.Last_Real_Spec_Entity): New name for
9526 Last_Formal, along with lots of comments on what this is about
9527 (Analyze_Subprogram_Body): Fix case where we move entities from the
9528 spec to the body when there are no body entities (now possible with
9529 precondition and postcondition pragmas).
9530 (Process_PPCs): New procedure
9531 (Analyze_Subprogram_Body): Add call to Process_PPCs
9532
9533 * sem_ch8.adb (Use_One_Type): refine warning on a redundant use_type
9534 clause.
9535 (Pop_Scope): Restore Check_Policy_List on scope exit
9536 (Push_Scope): Save Check_Policy_List on scope entry
9537 Change name In_Default_Expression => In_Spec_Expression
9538 Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
9539 Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve
9540 (Analyze_Object_Renaming): Allow 'Reference as object
9541 (Analyze_Pragma, case Restriction_Warnings): Call GNAT_Pragma
9542 (Process_Restrictions_Or_Restriction_Warnings): Check for bad spelling
9543 of restriction identifier.
9544 Add Sure parameter to Note_Possible_Modication calls
9545
9546 * sem_prag.ads, sem_prag.adb (Analyze_Pragma, case Stream_Convert):
9547 Don't check for primitive operations when calling Rep_Item_Too_Late.
9548 (Process_Import_Or_Interface): Do not place flag on formal
9549 subprograms.
9550 (Analyze_Pragma, case Export): If the entity is a deferred constant,
9551 propagate information to full view, which is the one elaborated by the
9552 back-end.
9553 (Make_Inline): the pragma is effective if it applies to an internally
9554 generated subprogram declaration for a body that carries the pragma.
9555 (Analyze_Pragma, case Optimize_Alignment): Set new flag
9556 Optimize_Alignment_Local.
9557 (Analyze_PPC_In_Decl_Part): New procedure
9558 (Get_Pragma_Arg): Moved to outer level
9559 (Check_Precondition_Postcondition): Change to allow new visibility
9560 rules for package spec
9561 (Analyze_Pragma, case Check_Policy): Change placement rules to be
9562 same as pragma Suppress/Unsuppress.
9563 Change name In_Default_Expression => In_Spec_Expression
9564 Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
9565 Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve
9566 (Check_Precondition_Postcondition): Do proper visibility preanalysis
9567 for the case of these pragmas appearing in the spec.
9568 (Check_Enabled): New function
9569 (Initialize): New procedure
9570 (Tree_Read): New procedure
9571 (Tree_Write): New procedure
9572 (Check_Precondition_Postcondition): New procedure
9573 Implement pragmas Check and Check_Policy
9574 Merge Assert processing with Check
9575
9576 * sem_warn.adb (Warn_On_Known_Condition): Handle pragma Check
9577 New warning flag -gnatw.e
9578
9579 * sinfo.ads, sinfo.adb (Has_Relative_Deadline_Pragma): New function
9580 returning whether a task (or main procedure) has a pragma
9581 Relative_Deadline.
9582 (Set_Has_Relative_Deadline_Pragma): Procedure to indicate that a task
9583 (or main procedure) has a pragma Relative_Deadline.
9584 Add Next_Pragma field to N_Pragma node
9585 (PPC_Enabled): New flag
9586 (Next_Pragma): Now used for Pre/Postcondition processing
9587
9588 * snames.h, snames.ads, snames.adb: New standard name
9589 Inherit_Source_Path
9590 Add entry for 'Invalid_Value attribute
9591 Add entry for new attribute Has_Tagged_Values
9592 Add entry for Enum_Val attribute
9593 Add new standard names Aggregate, Configuration and Library.
9594 Add _Postconditions
9595 Add _Result
9596 Add Pragma_Precondition
9597 Add Pragma_Postcondition
9598 Add Attribute_Result
9599 New standard name Archive_Builder_Append_Option
9600 (Preset_Names): Add _relative_deadline and relative_deadline definitions
9601 There was also a missing non_preemptive_within_priorities.
9602 (Get_Pragma_Id, Is_Pragma_Name): Add support for pragma
9603 Relative_Deadline.
9604 Add support for pragmas Check and Check_Policy
9605
9606 * tree_gen.adb: Call Sem_Aux.Tree_Write
9607
9608 * tree_in.adb: Call Sem_Aux.Tree_Read
9609
9610 * exp_ch11.adb (Expand_N_Raise_Statement): New Build_Location calling
9611 sequence
9612
9613 * exp_intr.adb (Expand_Source_Info): New Build_Location calling
9614 sequence
9615
9616 * exp_prag.adb (Expand_Pragma_Relative_Deadline): New procedure.
9617 (Expand_N_Pragma): Call the appropriate procedure for expanding pragma
9618 Relative_Deadline.
9619 (Expand_Pragma_Check): New procedure
9620
9621 * sinput.ads, sinput.adb (Build_Location_String): Now appends to name
9622 buffer.
9623
9624 * sinfo.adb (PPC_Enabled): New flag
9625
96262008-04-08 Robert Dewar <dewar@adacore.com>
9627 Gary Dismukes <dismukes@adacore.com>
9628 Javier Miranda <miranda@adacore.com>
9629 Ed Schonberg <schonberg@adacore.com>
9630
9631 * fe.h: Remove global Optimize_Alignment flag, no longer used
9632
9633 * layout.adb: Test Optimize_Alignment flags rather than global switch
9634
9635 * lib.ads, lib.adb: New OA_Setting field in library record
9636
9637 * lib-load.adb: New OA_Setting field in library record
9638
9639 * lib-writ.ads, lib-writ.adb (Collect_Withs, Write_With_Lines): Place
9640 units mentioned in limited_with_ clauses in the ali file, with an
9641 'Y' marker.
9642 New Ox fields in U line
9643
9644 * opt.adb: New flag Optimize_Alignment_Local
9645 (Check_Policy_List[_Config]): New flags
9646
9647 * opt.ads (Invalid_Value_Used): New flag
9648 New switch Optimize_Alignment_Local
9649 (Warn_On_Parameter_Order): New flag
9650 (Check_Policy_List[_Config]): New flags
9651
9652 * ali.ads, ali.adb: Add indicator 'Y' to mark mark the presence of
9653 limited_with clauses.
9654 New data structures for Optimize_Alignment
9655
9656 * bcheck.adb (Check_Consistent_Restriction_No_Default_Initialization):
9657 New procedure
9658 (Check_Consistent_Optimize_Alignment): Rework for new structure
9659 (Check_Consistent_Restrictions): Fix incorrect error message
9660
9661 sem_ch10.adb (Decorate_Tagged_Type): Set the Parent field of a newly
9662 created class-wide type (to the Parent field of the specific type).
9663 (Install_Siblings): Handle properly private_with_clauses on subprogram
9664 bodies and on generic units.
9665 (Analyze_With_Clause, Install_Limited_Withed_Unit): Guard against an
9666 illegal limited_with_clause that names a non-existent package.
9667 (Check_Body_Required): Determine whether a unit named a limited_with
9668 clause needs a body.
9669 (Analyze_Context): A limited_with_clause is illegal on a unit_renaming.
9670 Capture Optimize_Alignment settings to set new OA_Setting field in
9671 library record.
9672 (Build_Limited_Views): Include task and protected type declarations.
9673
9674 * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Handle the
9675 case of a possible constant redeclaration where the current object is
9676 an entry index constant.
9677 (Analyze_Object_Declaration): Generate an error in case of CPP
9678 class-wide object initialization.
9679 (Analyze_Object_Declaration): Add extra information on warnings for
9680 declaration of unconstrained objects.
9681 (Access_Type_Declaration): Set Associated_Final_Chain to Empty, to avoid
9682 conflicts with the setting of Stored_Constraint in the case where the
9683 access type entity has already been created as an E_Incomplete_Type due
9684 to a limited with clause.
9685 Use new Is_Standard_Character_Type predicate
9686 (Analyze_Object_Declaration): Apply access_constant check only after
9687 expression has been resolved, given that it may be overloaded with
9688 several access types.
9689 (Constant_Redeclaration): Additional legality checks for deferred
9690 constant declarations tha involve anonymous access types and/or null
9691 exclusion indicators.
9692 (Analyze_Type_Declaration): Set Optimize_Alignment flags
9693 (Analyze_Subtype_Declaration): Ditto
9694 (Analyze_Object_Declaration): Ditto
9695 (Analyze_Object_Declaration): Don't count tasks in generics
9696 Change name In_Default_Expression => In_Spec_Expression
9697 Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
9698 Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve
9699 (Process_Discriminants): Additional check for illegal use of default
9700 expressions in access discriminant specifications in a type that is not
9701 explicitly limited.
9702 (Check_Abstract_Overriding): If an inherited function dispaches on an
9703 access result, it must be overridden, even if the type is a null
9704 extension.
9705 (Derive_Subprogram): The formals of the derived subprogram have the
9706 names and defaults of the parent subprogram, even if the type is
9707 obtained from the actual subprogram.
9708 (Derive_Subprogram): In the presence of interfaces, a formal of an
9709 inherited operation has the derived type not only if it descends from
9710 the type of the formal of the parent operation, but also if it
9711 implements it. This is relevant for the renamings created for the
9712 primitive operations of the actual for a formal derived type.
9713 (Is_Progenitor): New predicate, to determine whether the type of a
9714 formal in the parent operation must be replaced by the derived type.
9715
9716 * sem_util.ads, sem_util.adb (Has_Overriding_Initialize): Make
9717 predicate recursive to handle components that have a user-defined
9718 Initialize procedure. Handle controlled derived types whose ancestor
9719 has a user-defined Initialize procedured.
9720 (Note_Possible_Modification): Add Sure parameter, generate warning if
9721 sure modification of constant
9722 Use new Is_Standard_Character_Type predicate
9723 (Find_Parameter_Type): when determining whether a protected operation
9724 implements an interface operation, retrieve the type of the formal from
9725 the entity when the formal is an access parameter or an
9726 anonymous-access-to-subprogram.
9727 Move Copy_Parameter_List to sem_util, for use when building stubbed
9728 subprogram bodies.
9729 (Has_Access_Values): Tagged types now return False
9730 (Within_HSS_Or_If): New procedure
9731 (Set_Optimize_Alignment_Flags): New procedure
9732 Change name In_Default_Expression => In_Spec_Expression
9733 Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
9734 Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve
9735
97362008-04-08 Tristan Gingold <gingold@adacore.com>
9737
9738 * s-fileio.adb: Name_Error shouldn't be raised for a tempory file.
9739
97402008-04-08 Tristan Gingold <gingold@adacore.com>
9741
9742PR ada/10768
9743
9744 * cuintp.c: Fix 16 bits issue for AVR.
9745 On AVR, integer is 16 bits, so it can't be used to do math with
9746 Base (=32768).
9747 So use long_integer instead.
9748
97492008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
9750
9751 * a-calend-vms.ads, a-calend-vms.adb: Add with and use clause for
9752 System.OS_Primitives.
9753 Change type of various constants, parameters and local variables from
9754 Time to representation type OS_Time.
9755 (To_Ada_Time, To_Unix_Time): Correct sign of origin shift.
9756 Remove the declaration of constant Mili_F from several routines. New
9757 body for internal package Conversions_Operations.
9758 (Time_Of): Add default parameters for several formals.
9759
9760 * a-caldel.adb: Minor reformatting
9761
9762 * a-calend.ads, a-calend.adb: New body for internal package
9763 Conversions_Operations.
9764 (Time_Of): Add default parameters for several formals.
9765
9766 * Makefile.rtl: Add a-ststop
9767 Add Ada.Calendar.Conversions to the list of runtime files.
9768 Add g-timsta
9769
9770 * a-calcon.adb, a-calcon.ads: New files.
9771
97722008-04-08 Jose Ruiz <ruiz@adacore.com>
9773 Tristan Gingold <gingold@adacore.com>
9774
9775 * s-interr-dummy.adb, s-interr-vms.adb, s-interr-sigaction.adb
9776 (Install_Restricted_Handlers): New procedure
9777 which is a simplified version of Install_Handlers that does not store
9778 previously installed.
9779
9780 * s-interr-vxworks.adb: Fix ACATS cxc3001
9781 On VxWorks interrupts can't be detached.
9782 (Install_Restricted_Handlers): New procedure.
9783
9784 * s-interr.ads, s-interr.adb (Install_Restricted_Handlers): New
9785 procedure.
9786
97872008-04-08 Olivier Hainque <hainque@adacore.com>
9788
9789 * s-intman-vxworks.ads, s-intman-vxworks.adb
9790 (Map_And_Raise_Exception): Remove. Was an import of only part of the
9791 required services already implemented elsewhere.
9792 (Notify_Exception): Delete body, import __gnat_error_handler instead.
9793 (Initialize): Add SA_SIGINFO to the sa_flags, to get the sigcontext
9794 argument passed to the handler, which we need for ZCX propagation
9795 purposes.
9796
97972008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
9798
9799 * adaint.h, adaint.c (__gnat_current_time_string): New routine.
9800
9801 * g-timsta.adb, g-timsta.ads: New files.
9802
98032008-04-08 Robert Dewar <dewar@adacore.com>
9804
9805 * a-except-2005.ads, a-except-2005.adb, a-except.ads, a-except.adb
9806 (Raise_Exception): In accordance with AI-446, raise CE for Null_Id
9807 (Raise_Exception_Always): Fix documentation accordingly
9808
98092008-04-08 Robert Dewar <dewar@adacore.com>
9810
9811 * a-strbou.ads, a-strbou.adb (From_String): New procedure (for use by
9812 Stream_Convert)
9813
9814 * sem_ch13.ads (Rep_Item_Too_Late): Document that Stream_Convert sets
9815 FOnly
9816
98172008-04-08 Javier Miranda <miranda@adacore.com>
9818 Robert Dewar <dewar@adacore.com>
9819 Ed Schonberg <schonberg@adacore.com>
9820
9821 * a-tags.adb (Register_Interface_Offset): New subprogram.
9822 (Set_Dynamic_Offset_To_Top): New subprogram (see previous comment).
9823 (To_Predef_Prims_Table_Ptr): Removed.
9824 (Acc_Size): Removed.
9825 (To_Acc_Size): Removed.
9826 (Parent_Size): Modified to the call the subprogram returning the size of
9827 the parent by means of the new TSD component Size_Func.
9828
9829 * a-tags.ads (Offset_To_Top_Ptr): New access type declaration.
9830 (DT_Offset_To_Top_Offset): New constant value that is used to generate
9831 code referencing the Offset_To_Top component of the dispatch table's
9832 prologue.
9833 (Prim_Ptr): New declaration of access to procedure. Used to avoid the
9834 use of 'address to initialize dispatch table slots.
9835 (Size_Func): New component of the TSD. Used by the run-time to call the
9836 size primitive of the tagged type.
9837
9838 * checks.adb (Apply_Access_Check): Avoid check when accessing the
9839 Offset_To_Top component of a dispatch table.
9840 (Null_Exclusion_Static_Checks): If the non-null access type appears in a
9841 deferred constant declaration. do not add a null expression, to prevent
9842 spurious errors when full declaration is analyzed.
9843 (Apply_Discriminant_Check): If both discriminant constraints share a
9844 node which is not static but has no side effects, do not generate a
9845 check for that discriminant.
9846 (Generate_Index_Checks): Set Name_Req to true in call to duplicate
9847 subexpr, since the prefix of an attribute is a name.
9848
9849 * checks.ads: Fix nit in comment.
9850
9851 * exp_ch3.ads, exp_ch3.adb (Freeze_Record_Type): Do not add the spec
9852 and body of predefined primitives in case of CPP tagged type
9853 derivations.
9854 (Freeze_Type): Deal properly with no storage pool case
9855 (Make_Predefined_Primitive_Specs): Generate specification of abstract
9856 primitive Deep_Adjust if a nonlimited interface is derived from a
9857 limited interface.
9858 (Build_Dcheck_Functions): Create discriminant-checking functions only
9859 for variants that have some component(s).
9860 (Build_Slice_Assignment): In expanded code for slice assignment, handle
9861 properly the case where the slice bounds extend to the last value of the
9862 underlying representation.
9863 (Get_Simple_Init_Val): New calling sequence, accomodate Invalid_Value
9864 (Is_Variable_Size_Record): An array component has a static size if
9865 index bounds are enumeration literals.
9866
9867 * exp_disp.adb (Make_DT): Use the first subtype to determine whether
9868 an external tag has been specified for the type.
9869 (Building_Static_DT): Add missing support for private types.
9870 (Make_DT): Add declaration of Parent_Typ to ensure consistent access
9871 to the entity associated with the parent of Typ. This is done to
9872 avoid wrong access when the parent is a private type.
9873 (Expand_Interface_Conversion): Improve error message when the
9874 configurable runtime has no support for dynamic interface conversion.
9875 (Expand_Interface_Thunk): Add missing support to interface types in
9876 configurable runtime.
9877 (Expand_Dispatching_Call): remove obsolete code.
9878 (Make_DT): Replace occurrences of RE_Address by RE_Prim_Ptr, and
9879 ensure that all subtypes and aggregates associated with dispatch
9880 tables have the attribute Is_Dispatch_Table_Entity set to true.
9881 (Register_Primitive): Rename one variable to improve code reading.
9882 Replace occurrences of RE_Addres by RE_Prim_Ptr. Register copy o
9883 of the pointer to the 'size primitive in the TSD.
9884
9885 * rtsfind.ads (RE_DT_Offset_To_Top_Offset): New entity.
9886 (RE_Offset_To_Top_Ptr): New entity.
9887 (RE_Register_Interface_Offset): New entity.
9888 (RE_Set_Dynamic_Offset_To_Top): New entity.
9889 (RE_Set_Offset_To_Top): Removed entity.
9890 (RE_Prim_Ptr): New entity
9891 (RE_Size_Func): New entity
9892 (RE_Size_Ptr): New entity
9893 (RTU_Id): Add Ada_Dispatching and Ada_Dispatching_EDF.
9894 (Ada_Dispatching_Child): Define this new subrange.
9895 (RE_Id): Add new required run-time calls (RE_Set_Deadline, RE_Clock,
9896 RE_Time_Span, and RE_Time_Span_Zero).
9897 (RE_Unit_Table): Add new required run-time calls
9898
9899 * rtsfind.adb (Get_Unit_Name): Add processing for Ada.Dispatching
9900 children.
9901
9902 * exp_atag.ads, exp_atag.adb (Build_Offset_To_Top): New subprogram.
9903 (Build_Set_Static_Offset_To_Top): New subprogram. Generates code that
9904 initializes the Offset_To_Top component of a dispatch table.
9905 (Build_Predef_Prims): Removed.
9906 (Build_Get_Predefined_Prim_Op_Address): Replace call to Predef_Prims by
9907 its actual code.
9908 (Build_Set_Size_Function): New subprogram.
9909
9910 * exp_ch13.adb: Do not generate storage variable for storage_size zero
9911 (Expand): Handle setting/restoring flag Inside_Freezing_Actions
9912
99132008-04-08 Robert Dewar <dewar@adacore.com>
9914
9915 * a-ztdeau.adb, a-tideau.adb, a-wtdeau.adb (Puts_Dec): Fix error in
9916 computing Fore when Exp > 0
9917
99182008-04-08 Robert Dewar <dewar@adacore.com>
9919
9920 * back_end.adb: Remove Big_String_Ptr declarations (now in Types)
9921
9922 * errout.adb: Remove Big_String_Ptr declarations (now in Types)
9923 Change name Is_Style_Msg to Is_Style_Or_Info_Msg
9924
9925 * fmap.adb: Remove Big_String declarations (now in Types)
9926 (No_Mapping_File): New Boolean global variable
9927 (Initialize): When mapping file cannot be read, set No_Mapping_File to
9928 False.
9929 (Update_Mapping_File): Do nothing if No_Mapping_File is True. If the
9930 tables were empty before adding entries, open the mapping file
9931 with Truncate = True, instead of delete/re-create.
9932
9933 * fname-sf.adb: Remove Big_String declarations (now in Types)
9934
9935 * s-strcom.adb, g-dyntab.ads, g-table.ads, s-carsi8.adb,
9e81dbc7 9936 s-stalib.ads, s-carun8.adb: Add zero size Storage_Size clauses for
d563d3f0
AC
9937 big pointer types
9938
9939 * table.ads: Add for Table_Ptr'Storage_Size use 0
9940
9941 * types.ads: Add Big_String declarations
9942 Add Size_Clause of zero for big pointer types
9943
99442008-04-08 Vincent Celier <celier@adacore.com>
9945
9946 * clean.adb (Parse_Cmd_Line): Recognize switch --subdirs=
9947 (Usage): Add line for switch --subdirs=
9948 Add new switch -eL, to follow symbolic links when processing project
9949 files.
9950
9951 * gnatcmd.adb: Process switches -eL and --subdirs=
9952 (Non_VMS_Usage): Output "gnaampcmd" instead of "gnat", and call
9953 Program_Name to get proper tool names when AAMP_On_Target is set.
9954 (Gnatcmd): Call Add_Default_Search_Dirs and Get_Target_Parameters to get
9955 AAMP_On_Target set properly for use of GNAAMP tools (this is needed by
9956 Osint.Program_Name).
9957
9958 * gnatname.adb: (Scan_Args): Recognize switches -eL and --subdirs=
9959 (Usage): Add lines for switches -eL and --subdirs=
9960
9961 * makeusg.adb: Add line for switch --subdirs=
9962
9e81dbc7 9963 * prj.ads:
d563d3f0
AC
9964 (Source_Data): New Boolean component Compiled, defaulted to True
9965 (Empty_File_Name: New global variable in private part, initialized in
9966 procedure Initialize.
9967 (Subdirs_Option): New constant string
9968 (Subdirs): New String_Ptr global variable
9969 (Language_Config): New component Include_Compatible_Languages
9970 (Project_Qualifier): New type for project qualifiers
9971 (Project_Data): New component Qualifier
9972 (Project_Configuration): New component Archive_Builder_Append_Option
9973
9974 * prj-nmsc.adb (Get_Unit_Exceptions): When a unit is already in
9975 another imported project indicate the name of this imported project.
9976 (Check_File): When a unit is in two project files, indicate the project
9977 names and the paths of the source files for each project.
9978 (Add_Source): Set Compiled to False if compiler driver is empty. Only
9979 set object, dependency and switches file names if Compiled is True.
9980 (Process_Compiler): Allow the empty string for value of attribute Driver
9981 (Get_Directories): When Subdirs is not null and Object_Dir is not
9982 specified, locate and create if necessary the actual object dir.
9983 (Locate_Directory): When Subdirs is not empty and Create is not the
9984 empty string, locate and create if necessary the actual directory
9985 as a subdirectory of directory Name.
9986 (Check_Library_Attributes.Check_Library): Allow a project where the only
9987 "sources" are header files of file based languages to be imported by
9988 library projects, in multi-language mode (gprbuild).
9989 (Check_Library_Attributes.Check_Library): In multi-language mode
9990 (gprbuild), allow a library project to import a project with no
9991 sources, even when this is not declared explicitly.
9992 (Check_If_Externally_Built): A virtual project extending an externally
9993 built project is also externally built.
9994 (Check_Library_Attributes): For a virtual project extending a library
9995 project, inherit the library directory.
9996 (Process_Project_Level_Array_Attributes): Process new attribute
9997 Inherit_Source_Path.
9998 For projects with specified qualifiers "standard", "library" or
9999 "abstract", check that the project conforms to the qualifier.
10000 (Process_Project_Level_Simple_Attributes): Process new attribute
10001 Archive_Builder_Append_Option.
10002
10003 * switch-m.adb: (Scan_Make_Switches): Process switch --subdirs=
10004 (Normalize_Compiler_Switches): Only keep compiler switches that are
10005 passed to gnat1 by the gcc driver and that are stored in the ALI file
10006 by gnat1.
10007 Do not take into account switc -save-temps
10008
10009 * makegpr.adb (Compile_Link_With_Gnatmake): Transmit switch -eL if
10010 gprmake is called with -eL.
10011 (Scan_Arg): Recognize switch -eL
10012 (Usage): Add line for switch -eL
10013
10014 * prj.adb (Initialize): Initialize Empty_File_Name
10015 (Project_Empty): New component Qualifier
10016
10017 * prj-attr.ads, prj-attr.adb: New project level attribute
10018 Inherit_Source_Path.
10019 New project level attribute Archive_Builder_Append_Option
10020
10021 * prj-dect.adb: Replace System.Strings by GNAT.Strings.
10022
10023 * prj-ext.adb (Initialize_Project_Path): In Multi_Language mode, add
10024 <prefix>/lib/gnat in the project path, after <prefix>/share/gpr, for
10025 upward compatibility.
10026
10027 * prj-part.adb (Project_Path_Name_Of.Try_Path): In high verbosity, put
10028 each Trying ..." on different lines.
10029 (Parse_Single_Project): Recognize project qualifiers. Fail in qualifier
10030 is "configuration" when not in configuration. Fail when in configuration
10031 when a specified qualifier is other than "configuration".
10032
10033 * prj-proc.adb (Process_Declarative_Items): Link new elements of copied
10034 full associative array together.
10035 (Recursive_Process): Put the project qualifier in the project data
9e81dbc7 10036
d563d3f0
AC
10037 * prj-tree.ads, prj-tree.adb: (Project_Qualifier_Of): New function
10038 (Set_Project_Qualifier_Of): New procedure
10039
100402008-04-08 Robert Dewar <dewar@adacore.com>
10041
10042 * errout.ads: Update comments for new handling of info: messages
10043
10044 * erroutc.adb (Matches): New procedure
10045 (Warning_Specifically_Suppressed): Modified to handle multiple * chars
10046 (Is_Style_Or_Info_Msg): New name for Is_Style_Msg, now set for
10047 info messages as well as style messages.
10048
10049 * erroutc.ads: Remove unneeded fields from Specific_Warning_Entry
10050
10051 * sem_elab.adb (Supply_Bodies): Create actual bodies for stubbed
10052 subprograms.
10053 (Check_A_Call): Special "info: " warnings now have ? in the text
10054 (Elab_Warning): Use info message in static case
10055
100562008-04-08 Ed Schonberg <schonberg@adacore.com>
10057
10058 * exp_aggr.adb (Static_Array_Aggregate): Use Max_Aggr_Size to determine
10059 whether an array aggregate with static bounds and scalar components
10060 should be expanded into a static constant.
10061
100622008-04-08 Gary Dismukes <dismukes@adacore.com>
10063 Ed Schonberg <schonberg@adacore.com>
10064 Robert Dewar <dewar@adacore.com>
10065
10066 * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Add tests of
10067 Has_Stream_Attribute_ Definition when checking for available stream
10068 attributes on parameters of a limited type in Ada 2005. Necessary for
10069 proper recognition of visible stream attribute clauses.
10070 (Has_Stream_Attribute_Definition): If the type is derived from a
10071 private type, then use the derived type's underlying type for checking
10072 whether it has stream attributes.
10073 (Validate_Object_Declaration): The check for a user-defined Initialize
10074 procedure applies also to types with controlled components or a
10075 controlled ancestor.
10076 Reject an object declaration in a preelaborated unit if the type is a
10077 controlled type with an overriding Initialize procedure.
10078 (Validate_Remote_Access_To_Class_Wide_Type): Return without further
10079 checking when the parent of a dereference is a selected component and
10080 the name has not been analyzed.
10081
10082 * sem_ch4.adb (Analyze_Selected_Component): Add checking for selected
10083 prefixes that are invalid explicit dereferences of remote
10084 access-to-class-wide values, first checking whether the selected
10085 component is a prefixed form of call to a tagged operation.
10086 (Analyze_Call): Remove code that issues an error for limited function
10087 calls in illegal contexts, as we now support all of the contexts that
10088 were forbidden here.
10089 Allow a function call that returns a task.and appears as the
10090 prefix of a selected component.
10091 (Analyze_Reference): Give error message if we try to make a 'Reference
10092 for an object that is atomic/aliased without its type having the
10093 corresponding attribute.
10094 (Analyze_Call): Remove condition checking for attributes to allow
10095 calls to functions with inherently limited results as prefixes of
10096 attributes. Remove related comment about Class attributes.
10097 (Analyze_Selected_Component): If the prefix is a remote type, check
10098 whether this is a prefixed call before reporting an error.
10099 (Complete_Object_Operation): If the controlling formal is an access to
10100 variable reject an actual that is a constant or an access to one.
10101 (Try_Object_Operation): If prefix is a tagged protected object,retrieve
10102 primitive operations from base type.
10103
10104 * exp_ch4.adb (Expand_N_Indexed_Component): Test for prefix that is a
10105 build-in-place
10106 function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
10107 (Expand_N_Selected_Component): Test for prefix that is a build-in-place
10108 function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
10109 (Expand_N_Slice): Test for prefix that is a build-in-place function call
10110 and call Make_Build_In_Place_Call_In_Anonymous_Context.
10111 (Analyze_Call): Remove code that issues an error for limited function
10112 calls in illegal contexts, as we now support all of the contexts that
10113 were forbidden here.
10114 New calling sequence for Get_Simple_Init_Val
10115 (Expand_Boolean_Operator): Add call to Silly_Boolean_Array_Xor_Test
10116 (Expand_N_Op_Not): Add call to Silly_Boolan_Array_Not_Test
10117
101182008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
10119 Ed Schonberg <schonberg@adacore.com>
10120 Robert Dewar <dewar@adacore.com>
10121
10122 * exp_ch2.adb: Minor reformatting.
10123 (Expand_Entry_Index_Parameter): Set the type of the identifier.
10124 (Expand_Entry_Reference): Add call to Expand_Protected_Component.
10125 (Expand_Protected_Component): New routine.
10126 (Expand_Protected_Private): Removed.
10127 Add Sure parameter to Note_Possible_Modification calls
10128
10129 * sem_ch12.ads, sem_ch12.adb (Analyze_Subprogram_Instantiation): The
10130 generated subprogram declaration must inherit the overriding indicator
10131 from the instantiation node.
10132 (Validate_Access_Type_Instance): If the designated type of the actual is
10133 a limited view, use the available view in all cases, not only if the
10134 type is an incomplete type.
10135 (Instantiate_Object): Actual is illegal if the formal is null-excluding
10136 and the actual subtype does not exclude null.
10137 (Process_Default): Handle properly abstract formal subprograms.
10138 (Check_Formal_Package_Instance): Handle properly defaulted formal
10139 subprograms in a partially parameterized formal package.
10140 Add Sure parameter to Note_Possible_Modification calls
10141 (Validate_Derived_Type_Instance): if the formal is non-limited, the
10142 actual cannot be limited.
10143 (Collect_Previous_Instances): Generate instance bodies for subprograms
10144 as well.
10145
10146 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Small): Don't
10147 try to set RM_Size.
10148 Add Sure parameter to Note_Possible_Modification calls
10149 (Analyze_At_Clause): Preserve Comes_From_Source on Rewrite call
10150 (Analyze_Attribute_Definition_Clause, case Attribute_Address): Check for
10151 constant overlaid by variable and issue warning.
10152 Use new Is_Standard_Character_Type predicate
10153 (Analyze_Record_Representation_Clause): Check that the specified
10154 Last_Bit is not less than First_Bit - 1.
10155 (Analyze_Attribute_Definition_Clause, case Address): Check for
10156 self-referential address clause
10157
10158 * sem_ch5.ads, sem_ch5.adb (Diagnose_Non_Variable_Lhs): Rewrite the
10159 detection mechanism when the lhs is a prival.
10160 (Analyze_Assignment): Call Check_Unprotected_Access to detect
10161 assignment of a pointer to protected data, to an object declared
10162 outside of the protected object.
10163 (Analyze_Loop_Statement): Check for unreachable code after loop
10164 Add Sure parameter to Note_Possible_Modication calls
10165 Protect analysis from previous syntax error such as a scope mismatch
10166 or a missing begin.
10167 (Analyze_Assignment_Statement): The assignment is illegal if the
10168 left-hand is an interface.
10169
ea081ad7
AC
10170 * sem_res.ads, sem_res.adb (Resolve_Arithmetic_Op): For mod/rem check
10171 violation of restriction No_Implicit_Conditionals
d563d3f0
AC
10172 Add Sure parameter to Note_Possible_Modication calls
10173 Use new Is_Standard_Character_Type predicate
10174 (Make_Call_Into_Operator): Preserve Comes_From_Source when rewriting
10175 call as operator. Fixes problems (e.g. validity checking) which
10176 come from the result looking as though it does not come from source).
10177 (Resolve_Call): Check case of name in named parameter if style checks
10178 are enabled.
10179 (Resolve_Call): Exclude calls to Current_Task as entry formal defaults
10180 from the checking that such calls should not occur from an entry body.
10181 (Resolve_Call): If the return type of an Inline_Always function
10182 requires the secondary stack, create a transient scope for the call
10183 if the body of the function is not available for inlining.
10184 (Resolve_Actuals): Apply Ada2005 checks to view conversions of arrays
10185 that are actuals for in-out formals.
10186 (Try_Object_Operation): If prefix is a tagged protected object,retrieve
10187 primitive operations from base type.
10188 (Analyze_Selected_Component): If the context is a call to a protected
10189 operation the parent may be an indexed component prior to expansion.
10190 (Resolve_Actuals): If an actual is of a protected subtype, use its
10191 base type to determine whether a conversion to the corresponding record
10192 is needed.
10193 (Resolve_Short_Circuit): Handle pragma Check
10194
10195 * sem_eval.adb: Minor code reorganization (usea Is_Constant_Object)
10196 Use new Is_Standard_Character_Type predicate
10197 (Eval_Relational_Op): Catch more cases of string comparison
10198
101992008-04-08 Robert Dewar <dewar@adacore.com>
10200 Gary Dismukes <dismukes@adacore.com>
10201
10202 * s-rident.ads: Add No_Default_Initialization restriction
10203
9e81dbc7 10204 * exp_tss.adb:
d563d3f0
AC
10205 (Has_Non_Null_Base_Init_Proc): Handle No_Default_Initialization case
10206 (Set_TSS): Handle No_Default_Initialization case
10207
10208 * exp_ch6.adb (Expand_N_Subprogram_Body): Handle restriction
10209 No_Default_Initialization
10210 (Expand_N_Subprogram_Body): Remove redundant initialization of out
10211 parameters when Normalize_Scalars is active.
10212 (Add_Final_List_Actual_To_Build_In_Place_Call): Add formal Sel_Comp
10213 Fix casing error in formal parameter name in call
10214 (Register_Predefined_DT_Entry): Replace occurrences of RE_Address by
10215 (Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
10216 dispatching call on VM targets.
10217
102182008-04-08 Gary Dismukes <dismukes@adacore.com>
10219 Thomas Quinot <quinot@adacore.com>
10220
10221 * exp_ch7.adb (Find_Final_List): Change the test for generating a
10222 selected component from an access type's Associated_Final_Chain to
10223 check for the presence of that field, rather than assuming it exists
10224 for all named access types.
10225 (Make_Clean): New formal Chained_Cleanup_Action allowing to specify a
10226 procedure to call at the end of the generated cleanup procedure.
10227 (Expand_Cleanup_Actions): When a new cleanup procedure is generated, and
10228 and an At_End_Proc already exists in the handled sequence of statements
10229 for which cleanup actions are being expanded, the original cleanup
10230 action must be preserved.
10231
102322008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
10233 Ed Schonberg <schonberg@adacore.com>
10234 Robert Dewar <dewar@adacore.com>
10235 Gary Dismukes <dismukes@adacore.com>
10236
10237 * exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry,
10238 Build_Unprotected_Subprogram_Body): Generate debug info for
10239 declarations related to the handling of private data in task and
10240 protected types.
10241 (Debug_Private_Data_Declarations): New subprogram.
10242 (Install_Private_Data_Declarations): Remove all debug info flagging.
10243 This is now done by Debug_Private_Data_Declarations at the correct
10244 stage of expansion.
10245 (Build_Simple_Entry_Call): If the task name is a function call, expand
10246 the prefix into an object declaration, and make the surrounding block a
10247 task master.
10248 (Build_Master_Entity): An internal block is a master if it wraps a call.
10249 Code reformatting, update comments. Code clean up.
10250 (Make_Task_Create_Call): Use 'Unrestricted_Access instead of 'Address.
10251 (Replicate_Entry_Formals): If the formal is an access parameter or
10252 anonymous access to subprogram, copy the original tree to create new
10253 entities for the formals of the subprogram.
10254 (Expand_N_Task_Type_Declaration): Create a Relative_Deadline variable
10255 for tasks to store the value passed using pragma Relative_Deadline.
10256 (Make_Task_Create_Call): Add the Relative_Deadline argument to the
10257 run-time call to create a task.
10258 (Build_Wrapper_Spec): If the controlling argument of the interface
10259 operation is an access parameter with a non-null indicator, use the
10260 non-null indicator on the wrapper.
10261
10262 * sem_ch9.adb (Analyze_Protected_Type): Only retrieve the full view when
10263 present, which it may not be in the case where the type entity is an
10264 incomplete view brought in by a limited with.
10265 (Analyze_Task_Type): Only retrieve the full view when present, which it
10266 may not be in the case where the type entity is an incomplete view brought
10267 in by a limited with.
10268 (Analyze_Protected_Definition): Set Is_Frozen on all itypes generated for
10269 private components of a protected type, to prevent the generation of freeze
10270 nodes for which there is no proper scope of elaboration.
10271
10272 * exp_util.ads, exp_util.adb
10273 (Remove_Side_Effects): If the expression is a function call that returns a
10274 task, expand into a declaration to invoke the build_in_place machinery.
10275 (Find_Protection_Object): New routine.
10276 (Remove_Side_Effects): Also make a copy of the value
10277 for attributes whose result is of an elementary type.
10278 (Silly_Boolean_Array_Not_Test): New procedure
10279 (Silly_Boolean_Array_Xor_Test): New procedure
10280 (Is_Volatile_Reference): New function
10281 (Remove_Side_Effects): Use Is_Volatile_Reference
10282 (Possible_Bit_Aligned_Component): Handle slice case properly
10283
10284 * exp_pakd.adb (Expand_Packed_Not): Move silly true/true or false/false
10285 case test to Exp_Util
10286 (Expand_Packed_Xor): Move silly true/true case test to Exp_Util
10287
102882008-04-08 Thomas Quinot <quinot@adacore.com>
10289
10290 * exp_dist.ads, exp_dist.adb: Fix casing error in formal parameter name
10291 in call
10292 (Add_RACW_Features): When processing an RACW in another unit than the
10293 main unit, set Body_Decls to No_List to indicate that the bodies of
10294 the type's TSS must not be generated.
10295 (GARLIC_Support.Add_RACW_Read_Attribute,
10296 GARLIC_Support.Add_RACW_Write_Attribute): Do not generate bodies if
10297 Body_Decls is No_List.
10298 (PolyORB_Support.Add_RACW_Read_Attribute,
10299 PolyORB_Support.Add_RACW_Write_Attribute,
10300 PolyORB_Support.Add_RACW_From_Any,
10301 PolyORB_Support.Add_RACW_To_Any,
10302 PolyORB_Support.Add_RACW_TypeCode): Same.
10303 (Transmit_As_Unconstrained): New function.
10304 (Build_Ordered_Parameters_List): Use the above to order parameters.
10305 (GARLIC_Support.Build_General_Calling_Stubs):
10306 Use the above to determine which parameters to unmarshall using 'Input
10307 at the point where their temporary is declared (as opposed to later on
10308 with a 'Read call).
10309 (PolyORB_Support.Build_General_Calling_Stubs):
10310 Use the above to determine which parameters to unmarshall using From_Any
10311 at the point where their temporary is declared (as opposed to later on
10312 with an assignment).
10313
103142008-04-08 Ed Schonberg <schonberg@adacore.com>
10315
10316 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): If this is
10317 an Input function for an access type, do not perform default
10318 initialization on the local variable that receives the value, to
10319 prevent spurious warnings when the type is null-excluding.
10320
103212008-04-08 Robert Dewar <dewar@adacore.com>
10322 Ed Schonberg <schonberg@adacore.com>
10323
10324 * freeze.adb (Freeze_Entity): Improve warnings on access types in pure
10325 units.
10326 (Size_Known): Generic formal scalar types have known at compile
10327 time size, so remove check.
10328 Fix casing error in formal parameter name in call
10329 (Freeze_Subprogram): If the subprogram is a user-defined operator,
10330 recheck its overriding indication.
10331
103322008-04-08 Vincent Celier <celier@adacore.com>
10333
10334 * gnat1drv.adb: Send all messages indicating an error to standard error
10335
103362008-04-08 Robert Dewar <dewar@adacore.com>
10337
10338 * gnatbind.adb (Restriction_Could_Be_Set): New procedure
10339 (List_Applicable_Restrictions): Do not list existing restrictions
10340
103412008-04-08 Thomas Quinot <quinot@adacore.com>
10342
10343 * g-socket.ads, g-socket.adb: Improve documentation of GNAT.Sockets:
10344 add a pointer to generic sockets literature
10345 do not mention that the given example is "typical" usage.
10346 Remove obsolete comment about multicast not being supported on Windows.
10347 (Connect_Socket): Make Server mode IN rather than IN OUT
10348 since this formal is never modified.
10349
103502008-04-08 Robert Dewar <dewar@adacore.com>
10351
10352 * sprint.adb (Write_Itype): Handle Itypes whose Parent field points to
10353 the declaration for some different entity.
10354 (Sprint_Node_Actual, case N_Derived_Type_Definition): When an interface
10355 list is precent (following the parent subtype indication), display
10356 appropriate "and" keyword.
10357
10358 * itypes.adb: Remove unnecessary calls to Init_Size_Align and Init_Esize
10359 Remove unnecessary calls to Init_Size_Align and Init_Esize.
10360 Add notes on use of Parent field of an Itype
10361
103622008-04-08 Ed Schonberg <schonberg@adacore.com>
10363 Robert Dewar <dewar@adacore.com>
10364 Gary Dismukes <dismukes@adacore.com>
10365
10366 * lib-xref.adb (Is_On_LHS): Remove dead code
10367 (Output_Overriden_Op): If the overridden operation is itself inherited,
10368 list the ancestor operation, which is the one whose body or absstract
10369 specification is actually being overridden. For source navigation
10370 purposes.
10371
10372 * sem_ch7.adb (Is_Primitive_Of): use base type to determine whether
10373 operation is primitive for the type.
10374 (Declare_Inherited_Private_Subprograms): If the new operation overrides
10375 an inherited private subprogram, set properly the Overridden_Operation
10376 attribute, for better cross-reference information.
10377 (Analyze_Package_Specification): Do late analysis of spec PPCs
10378 (Install_Private_Declaration, Uninstall_Declarations): Save/restore
10379 properly the full view and underlying full views of a private type in a
10380 child unit, whose full view is derived from a private type in a parent
10381 unit, and whose own full view becomes visible in the child body.
10382
10383 * sem_disp.adb (Check_Dispatching_Operation): When a body declares a
10384 primitive operation after the type has been frozen, add an explicit
10385 reference to the type and the operation, because other primitive
10386 references have been emitted already.
10387 (Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
10388 dispatching call on VM targets.
10389
103902008-04-08 Vincent Celier <celier@adacore.com>
10391 Thomas Quinot <quinot@adacore.com>
10392
10393 * make.adb: (Gnatmake_Called): Remove, no longer necessary
10394 (Compile_Surces): Call Delete_Temp_Config_Files only if Gnatmake_Called
10395 is True and Debug_Flag_N is False. Debug_Flag_N means "keep temp files".
10396 (Insert_Project_Sources): Take into account index in multi-unit source
10397 files.
10398 After building a library project, delete all temporary files.
10399 (Initialize): Reset current output after parsing project file.
10400 (Collect_Arguments_And_Compile): Never insert in the queue the sources
10401 of library projects that are externally built.
10402 Put file name in error and inform messages if -df is used
10403 (Display): If invoked with -d7, do not display path names, but only
10404 file names.
10405
10406 * makeutl.ads (Path_Or_File_Name): New function
10407 (Path_Or_File_Name): New function
10408
104092008-04-08 Arnaud Charlet <charlet@adacore.com>
10410
10411 * Make-lang.in: Disable warnings during first stage of bootstrap
10412 Get rid of gnatbl.
10413 Update dependencies.
10414
104152008-04-08 Vincent Celier <celier@adacore.com>
10416
10417 * mlib-prj.adb (Build_Library): Compare with ALI file name in canonical
10418 case to decide if ALI object file is included in library.
10419 (Build_Library): Never attempt to build a library if the project is
10420 externally built.
10421
104222008-04-08 Thomas Quinot <quinot@adacore.com>
10423
10424 * nlists.adb (Is_Non_Empty_List): Remove redundant test. First
10425 (No_List) is defined to return Empty.
10426
104272008-04-08 Jose Ruiz <ruiz@adacore.com>
10428
10429 * osint.ads, osint.adb (Get_Libraries_From_Registry): Improve
10430 documentation.
10431 Update comments.
10432 (Read_Default_Search_Dirs): Do not consider spaces as path separators
10433 because spaces may be part of legal paths.
10434
104352008-04-08 Robert Dewar <dewar@adacore.com>
10436
10437 * par-ch11.adb (P_Exception_Handler): Check indentation level for
10438 handler
10439
104402008-04-08 Ed Schonberg <schonberg@adacore.com>
10441
10442 * par-ch3.adb (P_Type_Declaration) Reject the keyword "synchronized"
10443 in a type declaration, if this is not an interface declaration or
10444 private type extension.
10445
104462008-04-08 Vincent Celier <celier@adacore.com>
10447
10448 * prj-util.adb (Executable_Of): New String parameter Language. When
10449 Ada_Main is False and Language is not empty, attempt to remove the body
10450 suffix or the spec suffix of the language to get the base of the
10451 executable file name.
10452 (Put): New Boolean parameter Lower_Case, defauilted to False. When
10453 Lower_Case is True, put the value in lower case in the name list.
10454 (Executable_Of): If there is no executable suffix in the configuration,
10455 then do not modify Executable_Extension_On_Target.
10456
10457 * prj-util.ads (Executable_Of): New String parameter Language,
10458 defaulted to the empty string.
10459 (Put): New Boolean parameter Lower_Case, defauilted to False
10460
104612008-04-08 Robert Dewar <dewar@adacore.com>
10462
10463 * scng.adb (Scan_Identifier): Handle case of identifier starting with
10464 wide character using UTF-8 encoding.
10465
104662008-04-08 Javier Miranda <miranda@adacore.com>
10467
10468 * sem.adb (Analyze): Consider case in which we analyze an empty node
10469 that was generated by a call to a runtime function that is not
10470 available under the configurable runtime.
10471
10472 * sem.ads (Inside_Freezing_Actions): New flag.
10473 (Save_Check_Policy_List): New field in scope stack entry
10474
104752008-04-08 Ed Schonberg <schonberg@adacore.com>
10476 Robert Dewar <dewar@adacore.com>
10477
10478 * sem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks for
10479 the ancestor part of an extension aggregate for a limited type.
10480 (Resolve_Array_Aggregate): Issue warning for sliding of aggregate with
10481 enumeration index bounds.
10482 (Resolve_Array_Aggregate): Add circuit for diagnosing missing choices
10483 when array is too short.
10484 (Check_Expr_OK_In_Limited_Aggregate): Move function
10485 Check_Non_Limited_Type from Resolve_Record_Aggregate to top level (and
10486 change name).
10487 (Resolve_Array_Aggregate.Resolve_Aggr_Expr):
10488 Check_Expr_OK_In_Limited_Aggregates called to check for illegal limited
10489 component associations.
10490 (Check_Non_Limited_Type): Moved to outer level and renamed.
10491 (Resolve_Record_Aggregate): In an extension aggregate, an association
10492 with a box initialization can only designate a component of the
10493 extension, not a component inherited from the given ancestor
10494
10495 * sem_case.adb: Use new Is_Standard_Character_Type predicate
10496
104972008-04-08 Robert Dewar <dewar@adacore.com>
10498
10499 * s-imgdec.adb (Set_Decimal_Digits): Fix error when input is zero with
10500 negative scale
10501 (Set_Decimal_Digits): Properly handle Aft=0 (equivalent to Aft=1)
10502 Properly handle case where Aft > Scale and input number is less than
10503 one.
10504
105052008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
10506
10507 * s-stoele.ads, s-soflin.ads: Move the location of
10508 Dummy_Communication_Block from System.Storage_Elements to
10509 System.Soft_Links.
10510
10511 * s-tpobop.ads: Add comment on usage of Dummy_Communication_Block to
10512 emulate Communication_Block in certain scenarios.
10513
105142008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
10515
10516 * s-strxdr.adb, s-stratt.ads, s-stratt.adb (Block_IO_OK): New
10517 subprogram.
10518 Add new subtype S_WWC, unchecked conversion routines From_WWC and
10519 To_WWC.
10520 (I_WWC, O_WWC): New routines for input and output of
10521 Wide_Wide_Character.
10522
105232008-04-08 Robert Dewar <dewar@adacore.com>
10524
10525 * stringt.adb (Write_String_Table_Entry): Handle wide characters
10526 properly
10527
105282008-04-08 Robert Dewar <dewar@adacore.com>
10529
10530 * styleg.adb (Check_Comment): Allow special char after -- in
10531 non-end-of-line case
10532
105332008-04-08 Robert Dewar <dewar@adacore.com>
10534
10535 * stylesw.adb: Implement -gnaty + - y options
10536 (Set_GNAT_Style_Check_Options): Includ I in style check string
10537
10538 * stylesw.ads: Add comments for new style switch options
10539
105402008-04-08 Sergey Rybin <rybin@adacore.com>
10541
10542 * tree_io.ads: Increase ASIS_Version_Number because of adding Sem_Aux
10543 to the set of the GNAT components needed by ASIS.
10544
105452008-04-08 Bob Duff <duff@adacore.com>
10546
10547 * types.h: Change CE_Null_Exception_Id to the correct value (8, was 9).
10548
105492008-04-08 Tristan Gingold <gingold@adacore.com>
10550
10551 * vxaddr2line.adb: Use Unsigned_32 instead of Integer for address type.
10552 Improve error message generation.
10553
105542008-04-08 Vincent Celier <celier@adacore.com>
10555
10556 * a-direct.adb (Start_Search): Check for Name_Error before checking for
10557 Use_Error, as specified in the RM. Check if directory is open and raise
10558 Use_Error if it is not.
10559
105602008-04-08 Vincent Celier <celier@adacore.com>
10561 Robert Dewar <dewar@adacore.com>
10562
10563 * vms_conv.adb (Output_Version): Print "GNAAMP" instead of "GNAT when
10564 AAMP_On_Target is set.
10565
10566 * vms_data.ads: Add NOxxx to style check switch list
10567 Add entry COMPONENTS for -gnatVe
10568 Add VMS qualifiers for -eL (/FOLLOW_LINKS_FOR_FILES) and --subdirs=
10569 (/SUBDIRS=).
10570 (GCC_Switches): Add /ALL_BACK_END_WARNINGS.
10571 Add qualifiers for gnatmetric coupling options
10572 Add note that -gnata enables all checks
10573 Add entries [NO]PARAMETER_ORDER for -gnatw.p[P]
10574 Fix inconsistency for VMS qualifier for the gnatpp '-rnb' option
10575 New warning flag -gnatw.e
10576
10577 * usage.adb: Add entries for -gnaty+ -gnaty- -gnatyy
10578 Add entry for -gnatyN (forgotten before)
10579 Line for new warning switch -gnatw.p
10580 New warning flag -gnatw.e
10581
10582 * gnat_ugn.texi: Add documentation fpr project file switch -aP
10583 Document -gnaty - + y
10584 Replace occurences of "package specification" with "package spec"
10585 Define preprocessing symbols in documentation of gnatprep
10586 Clarify reason for distinguishing overflow checking
10587 Add documentation for project-aware tool switches -eL and --subdirs=
10588 Complete list of configuration pragmas
10589 Specify that, even when gnatmake switch -x is used, mains on the command
10590 line need to be sources of project files.
10591 Editing of gnatcheck/gnatmetric doc.
10592 Add documentation for -gnatw.p/-gnatw.P
10593 Add missing documentation for -fno-inline-functions.
10594 Add documentation for -gnatw.e
10595
10596 * gnat_rm.texi: Add documentation for No_Default_Initialization
10597 Replace occurences of "package specification" with "package spec"
10598 Document use of * in Warnings Off string
10599 Update documentation of alignment/component clauses.
10600 Add documentation for Invalid_Value
10601 Document new consistency rule for Optimize_Alignment
10602 Add documentation for Precondition and Postcondition pragmas
10603 Add documentation for Check and Check_Policy pragmas
10604 Document new Enum_Val attribute
10605 Remove requirement for static string in pragma Assert
10606 Add documentation on GNAT.Time_Stamp
10607
10608 * ug_words: add entry for -gnatVe
10609 Add entries for -gnat.p[P] /WARNINGS=[NO]PARAMETER_ORDER
10610 Add entry for -gnatw.e
10611
10612 * debug.adb: Add missing documentation for d.a flag
10613 Document new -gnatd.a switch.
10614 Add documentation for new gnatmake debug switch -df
10615
106162008-04-08 Thomas Quinot <quinot@adacore.com>
10617
10618 * gen-soccon.c: Bump year in copyright notices.
10619
10620 * g-soccon-vxworks.ads: Add new constant IP_PKTINFO
10621
106222008-04-08 Eric Botcazou <ebotcazou@adacore.com>
10623
10624 * ctrl_c.c: Improve handling of ctrl-c on LynxOS and Windows.
10625 Minor reformatting.
10626
106272008-04-08 Robert Dewar <dewar@adacore.com>
10628 Bob Duff <duff@adacore.com>
10629
10630 * impunit.adb: Add Interfaces.Java.JNI, System.Strings.Stream_Ops,
10631 Ada.Calendar.Conversions, Ada.Dispatching.EDF, GNAT.Time_Stamp
10632
10633 * s-intman-mingw.adb: Minor comment fix -- spell 'explicitly' correctly
10634
10635 * g-trasym.adb: Minor comment fix -- spell 'explicitly' correctly
10636
10637 * g-trasym.ads: Minor comment improvements
10638
10639 * s-stalib.adb: Minor comment fix -- spell 'explicitly' correctly
10640
10641 * a-sequio.ads, a-direio.ads: improve message for tagged type
10642
10643 * a-strunb.ads: Minor reformatting
10644
10645 * a-tifiio.adb: Minor reformatting
10646
10647 * atree.adb (Fix_Parents): Use clearer names for formals
10648 Cleanup and simplify code
10649 Use named notation in calls
10650
10651 * exp_fixd.adb (Do_Multiply_Fixed_Universal): Use named notation in
10652 confusing calls
10653
10654 * uintp.adb: Used named notation for some confusing calls
10655
10656 * bindusg.adb: Minor change in one line of output
10657
10658 * cstand.adb: Minor reformatting of src representation of Standard
10659
10660 * a-assert.ads: Add comment.
10661
10662 * g-decstr.adb: Fix bad indentation
10663
10664 * expander.ads, expander.adb: Code clean up.
10665
10666 * sem_dist.ads: Minor comment improvement
10667
10668 * sem_type.adb, g-dirope.ads, g-exctra.ads, s-valwch.adb,
10669 s-wchstw.adb, targparm.ads, widechar.adb: Minor reformatting
10670
10671 * i-cstrin.adb: Fix casing error in formal parameter name in call
10672
106732008-04-08 Ed Schonberg <schonberg@adacore.com>
10674
10675 * binde.adb (Gather_All_Links, Gather_Dependencies): units that are
10676 mentioned in limited_with_clauses to do create semantic dependencies
10677 even though they appear in the ali file.
10678
106792008-04-08 Emmanuel Briot <briot@adacore.com>
10680
10681 * g-comlin.ads, g-comlin.adb (Expansion): Remove unreachable return
10682 statement.
10683 (Get_Configuration): New subprogram.
10684
10685 * prj-pp.ads, prj-pp.adb (Pretty_Print): new parameters Id and Id_Tree
10686 These optional parameters help preserve the casing of the project's name
10687 when pretty-printing.
10688
106892008-04-08 Jerome Lambourg <lambourg@adacore.com>
10690 Arnaud Charlet <charlet@adacore.com>
10691
10692 * bindgen.adb (Gen_Adainit_Ada): If the main program is a CIL function,
10693 then use __gnat_set_exit_status to report the returned status code.
10694
10695 * comperr.adb (Compiler_Abort): Convert most bug boxes into clean error
10696 messages on .NET, since some constructs of the language are not
10697 properly supported.
10698
10699 * gnatlink.adb (Gnatlink): In case the command line is too long for the
10700 .NET linker, gnatlink now concatenate all .il files and pass this to
10701 ilasm.
10702
d8ec5bf2 107032008-04-07 Aurelien Jarno <aurelien@aurel32.net>
9e81dbc7 10704 Xavier Grave <grave@ipno.in2p3.fr>
d8ec5bf2
AJ
10705
10706 * Makefile.in: Add make ifeq define for mips/mipsel support.
9e81dbc7 10707 * g-soccon-linux-mips.ads, system-linux-mipsel.ads,
d8ec5bf2
AJ
10708 system-linux-mips.ads: New files.
10709
7437c8d4
AJ
107102008-04-07 Aurelien Jarno <aurelien@aurel32.net>
10711
9e81dbc7 10712 * sysdep.c: add __GLIBC__ to the #ifdef preprocessor macros to
7437c8d4
AJ
10713 detect systems using GNU libc.
10714 * gsocket.h: ditto.
10715 * socket.c: ditto.
10716 * adaint.c: ditto.
10717 * link.c: ditto.
10718
1dab7b35
AJ
107192008-04-07 Aurelien Jarno <aurelien@aurel32.net>
10720
9e81dbc7 10721 * s-osinte-linux-kfreebsd.ads (SC_NPROCESSORS_ONLN): New
1dab7b35
AJ
10722 constant constant for sysconf call.
10723 (bit_field): New packed boolean type used by cpu_set_t.
10724 (cpu_set_t): New type corresponding to the C type with
10725 the same name. Note that on the Ada side we use a bit
10726 field array for the affinity mask. There is not need
10727 for the C macro for setting individual bit.
10728 (pthread_setaffinity_np): New imported routine.
10729 * Makefile.in: Use s-tasinf-linux.ads and s-tasinf-linux.adb
10730 on GNU/kFreeBSD.
10731
39fcde8f
EB
107322008-04-07 Eric Botcazou <ebotcazou@adacore.com>
10733
10734 * utils2.c (build_binary_op): Fold ARRAY_REF and ARRAY_RANGE_REF too.
10735
9dd9bf80
EB
107362008-04-07 Eric Botcazou <ebotcazou@adacore.com>
10737
10738 * gigi.h (create_subprog_type): Remove returns_with_dsp parameter.
10739 * decl.c (gnat_to_gnu_entity): Adjust for above new prototype.
10740 * utils.c (create_subprog_type): Remove returns_with_dsp parameter.
10741 * trans.c (gnat_to_gnu) <N_Return_Statement>: Remove code dealing with
10742 Return by Depressed Stack Pointer.
10743
2d091b12
EB
107442008-04-06 Eric Botcazou <ebotcazou@adacore.com>
10745
10746 * decl.c (is_variable_size): Do not unconditionally return false
10747 on non-strict alignment platforms.
10748
1bde5bc4
EB
107492008-04-06 Eric Botcazou <ebotcazou@adacore.com>
10750
10751 * decl.c (rest_of_type_decl_compilation_no_defer): New local function
10752 used to process all the variants of the specified type.
10753 (gnat_to_gnu_entity): Invoke rest_of_type_decl_compilation for enumeral
10754 types too. Call rest_of_type_decl_compilation_no_defer if undeferring.
10755 (rest_of_type_decl_compilation): Likewise.
10756 * utils.c (gnat_pushdecl): Propagate the name to all variants of type.
10757
9ff420f1
PB
107582008-04-03 Paolo Bonzini <bonzini@gnu.org>
10759
1bde5bc4
EB
10760 * gigi.h (insert_block): Kill.
10761 * utils.c (insert_block): Kill.
9ff420f1 10762
bf1e48d1
EB
107632008-04-02 Eric Botcazou <ebotcazou@adacore.com>
10764
10765 * decl.c (gnat_to_gnu_entity) <object>: For a constant object whose
10766 type has self-referential size, get the size from the initializing
10767 expression directly if it is also a constant whose nominal type
10768 has self-referential size.
10769
a6a0635e
JDA
107702008-04-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10771
51e5c7b5
JDA
10772 PR ada/33688
10773 * g-soccon-darwin.ads: Define new constant IP_PKTINFO.
10774
a6a0635e
JDA
10775 PR ada/33857
10776 * env.c: Always include crt_externs.h if __APPLE__ is defined.
10777 (__gnat_setenv): Use setenv instead of putenv if __APPLE__ is defined.
10778
4d22f5b1
AJ
107792008-04-01 Andreas Jaeger <aj@suse.de>
10780
10781 * g-soccon-linux-ppc.ads: Add new constants SO_REUSEPORT and
10782 IP_PKTINFO.
10783
dec55d76
RW
107842008-03-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10785
10786 * g-table.adb, g-tasloc.adb, g-traceb.ads,
10787 g-trasym.adb, g-utf_32.adb, gen-soccon.c, gigi.h, gmem.c,
10788 gnatbind.adb, gnatchop.adb, gnatcmd.adb,
10789 gnatcmd.ads, gnatdll.adb, gnatfind.adb,
10790 gnatlink.adb, gnatmem.adb, gprep.adb,
10791 i-cstrea-vms.adb, i-cstrin.adb, i-pacdec.ads,
10792 i-vxwork.ads, impunit.adb, init.c, initialize.c, inline.adb,
10793 layout.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
10794 lib-xref.ads, lib.adb, link.c, live.ads,
10795 make.adb, makegpr.adb, makeutl.adb, math_lib.adb,
10796 mdll-utl.adb, mdll.ads, memroot.adb, memroot.ads,
10797 misc.c, mlib-prj.adb, mlib-tgt-hpux.adb,
10798 mlib-tgt-linux.adb, mlib-tgt-tru64.adb, mlib-tgt.ads,
10799 namet.adb, namet.h, nlists.adb, nlists.ads,
10800 nlists.h, opt.ads, osint-b.ads, osint-c.adb,
10801 osint-c.ads, osint.adb, osint.ads, output.ads,
10802 par-ch10.adb, par-ch12.adb, par-ch2.adb, par-ch3.adb,
10803 par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch9.adb,
10804 par-endh.adb, par-labl.adb, par-prag.adb,
10805 par-sync.adb, par-tchk.adb, par-util.adb,
10806 par.adb, prep.adb, prep.ads, prepcomp.adb, prj-attr.ads,
10807 prj-dect.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
10808 prj-nmsc.ads, prj-pp.adb, prj-proc.adb,
10809 prj-strt.ads, prj-tree.ads, prj.adb, prj.ads: Fix comment typos.
10810
5a864002
EB
108112008-03-31 Eric Botcazou <ebotcazou@adacore.com>
10812
10813 * decl.c (gnat_to_gnu_entity) <object>: Do not force a non-null
10814 size if it has overflowed.
10815
2566855a 108162008-03-31 Olivier Hainque <hainque@adacore.com>
9e81dbc7 10817 Eric Botcazou <ebotcazou@adacore.com>
2566855a
OH
10818
10819 * utils2.c (find_common_type): Document assumption on t1/t2 vs
10820 lhs/rhs. Force use of lhs type if smaller, whatever the modes.
10821
e14c931f
RW
108222008-03-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10823
10824 * a-textio.ads, a-witeio.ads, a-ztexio.ads, ali.ads,
10825 einfo.ads, erroutc.adb, erroutc.ads, exp_attr.adb,
10826 exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
10827 exp_pakd.ads, exp_prag.adb, exp_smem.adb,
10828 exp_tss.ads, exp_util.adb, exp_util.ads,
10829 exp_vfpt.adb, freeze.adb, freeze.ads,
10830 frontend.adb, g-alleve.adb, g-altcon.adb,
10831 g-altive.ads, g-alveop.ads, g-alvevi.ads,
10832 g-arrspl.adb, g-busorg.ads, g-calend.adb,
10833 g-calend.ads, g-casuti.ads, g-cgideb.adb,
10834 g-comlin.adb, g-comlin.ads, g-curexc.ads,
10835 g-debpoo.adb, g-debpoo.ads, g-decstr.adb,
10836 g-dirope.adb, g-dirope.ads, g-dynhta.ads,
10837 g-dyntab.adb, g-encstr.ads, g-excact.ads,
10838 g-except.ads, g-expect.ads, g-heasor.adb,
10839 g-hesora.adb, g-hesorg.adb, g-htable.ads,
10840 g-locfil.ads, g-md5.adb, g-md5.ads,
10841 g-memdum.ads, g-moreex.ads, g-os_lib.adb,
10842 g-pehage.adb, g-pehage.ads, g-regexp.adb,
10843 g-regexp.ads, g-regpat.adb, g-regpat.ads,
10844 g-soccon-aix.ads, g-soccon-darwin.ads,
10845 g-soccon-freebsd.ads, g-soccon-hpux-ia64.ads,
10846 g-soccon-hpux.ads, g-soccon-irix.ads,
10847 g-soccon-linux-64.ads, g-soccon-linux-ppc.ads,
10848 g-soccon-linux-x86.ads, g-soccon-lynxos.ads,
10849 g-soccon-mingw.ads, g-soccon-solaris-64.ads,
10850 g-soccon-solaris.ads, g-soccon-tru64.ads,
10851 g-soccon-vms.ads, g-soccon-vxworks.ads,
10852 g-soccon.ads, g-socket.adb, g-socket.ads,
10853 g-socthi-mingw.adb, g-socthi-vms.adb,
10854 g-socthi-vxworks.adb, g-soliop-mingw.ads,
10855 g-soliop-solaris.ads, g-soliop.ads, g-spipat.adb,
10856 g-spipat.ads, g-string.adb, g-stsifd-sockets.adb: Fix comment
10857 typos.
10858
2bc894d9
EB
108592008-03-27 Eric Botcazou <ebotcazou@adacore.com>
10860
10861 * decl.c (gnat_to_gnu_entity) <E_Procedure>: Also set the public flag
10862 if the procedure is imported.
10863
640bd0bf
AC
108642008-03-26 Arnaud Charlet <charlet@adacore.com>
10865
10866 * adaint.c: Fix warnings.
10867
0afae63b
AC
108682008-03-26 Arnaud Charlet <charlet@adacore.com>
10869
10870 * g-dirope.ads, g-dirope.adb: (Dir_Type_Value): Moved to spec.
10871
afc5f979
AC
108722008-03-26 Arnaud Charlet <charlet@adacore.com>
10873
10874 * a-witeio.adb: Fix problem with Current_Output (introduce Self).
10875 Fix problem of status check for null file
10876
c5d31169
AC
108772008-03-26 Arnaud Charlet <charlet@adacore.com>
10878
10879 * s-proinf-irix-athread.ads, s-vxwork-mips.ads,
10880 s-traces.ads, s-vxwork-arm.ads, s-vxwork-ppc.ads, s-vxwork-sparcv9.ads,
10881 s-tasinf-mingw.ads, s-tasinf-linux.ads, s-tasdeb.ads, mlib-tgt.ads,
10882 i-cstrin.ads, uintp.adb, g-catiio.adb, s-vmexta.ads,
10883 s-trafor-default.ads, s-vxwork-m68k.ads: Minor reformatting. Update
10884 comments.
10885
b501b251
AC
108862008-03-26 Thomas Quinot <quinot@adacore.com>
10887
2bc894d9 10888 PR ada/33688
b501b251
AC
10889 * g-socket.ads, g-socket.adb (Options, Set_Socket_Option,
10890 Get_Socket_Option): Add support for Receive_Packet_Info.
10891
10892 * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
10893 g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads,
10894 g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-freebsd.ads,
10895 g-soccon-hpux-ia64.ads, g-soccon-solaris-64.ads, g-soccon-darwin.ads,
10896 g-soccon-lynxos.ads, g-soccon-linux-64.ads, g-soccon-linux-x86.ads: Add
10897 new constants SO_REUSEPORT and IP_PKTINFO
10898
108992008-03-26 Robert Dewar <dewar@adacore.com>
10900
10901 * a-taster.adb, s-shasto.adb, s-soflin.adb, s-taasde.adb, s-taenca.adb,
10902 a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
10903 a-intnam-lynxos.ads, a-retide.adb, a-intnam-tru64.ads, a-intnam-aix.ads,
10904 a-intnam-irix.ads, a-intnam-hpux.ads, a-intnam-linux.ads,
10905 a-intnam-solaris.ads, a-caldel-vms.adb, a-intnam-vms.ads,
10906 a-excpol-abort.adb, a-intnam-mingw.ads, s-interr.adb, s-interr.ads,
10907 s-intman.ads, s-gloloc.adb, s-osinte-lynxos-3.ads,
10908 s-interr-sigaction.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
10909 a-intnam-freebsd.ads, s-osinte-freebsd.ads, s-osinte-lynxos.ads,
10910 s-taspri-lynxos.ads, s-osinte-tru64.ads, s-osinte-tru64.ads,
10911 s-taspri-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads,
10912 s-osinte-hpux-dce.ads, s-taprop-hpux-dce.adb, s-taspri-hpux-dce.ads,
10913 s-osinte-linux.ads, s-osinte-dummy.ads, s-taprop-dummy.adb,
10914 s-taspri-dummy.ads, s-interr-dummy.adb, s-osinte-solaris.ads,
10915 s-osinte-mingw.ads, s-taprop-solaris.adb, s-taspri-solaris.ads,
10916 s-inmaop-vms.adb, s-interr-vms.adb, s-intman-vms.ads, s-osinte-vms.ads,
10917 s-osinte-vms.ads, s-taprop-vms.adb, s-taspri-vms.ads,
10918 s-taspri-mingw.ads, s-interr-vxworks.adb, s-inmaop-posix.adb,
10919 s-intman-vxworks.ads, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
10920 s-taspri-vxworks.ads, s-taspri-posix.ads, a-caldel.adb, a-calend.adb,
10921 a-elchha.adb, a-dynpri.adb, a-except.adb, a-except.ads, a-interr.ads,
10922 a-textio.adb, a-tigeau.ads, atree.adb, s-taprob.adb, s-taprop.ads,
10923 s-tarest.adb, s-tarest.ads, s-tasini.adb, s-taskin.adb, s-taskin.ads,
10924 s-tasque.adb, s-tasren.adb, s-tasren.ads, s-tassta.adb, s-tassta.ads,
10925 s-tasuti.adb, s-tataat.adb, s-tataat.ads, s-tpoben.adb, s-tpoben.ads,
10926 s-tpobop.adb, s-tpobop.ads, s-tposen.adb, s-tposen.ads, s-valrea.adb,
10927 s-valuti.adb, a-intnam-darwin.ads, s-osinte-darwin.ads, s-solita.adb,
10928 a-ztinau.ads, s-osinte-linux-hppa.ads, a-except-2005.adb,
10929 a-except-2005.ads, a-rttiev.adb, s-osinte-vxworks6.ads, s-regexp.adb,
10930 s-tasloc.adb: Minor reformatting.
10931 Update comments.
10932 Remove "used for" sections from comments.
10933
109342008-03-26 Robert Dewar <dewar@adacore.com>
10935
10936 * s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb,
10937 s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb,
10938 s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads,
10939 s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb,
10940 s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb,
10941 a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
10942 a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
10943 a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads,
10944 a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads,
10945 a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads,
10946 a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb,
10947 i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads,
10948 a-nlrear.ads, a-nucoar.ads, a-nurear.ads, i-forlap.ads, s-gearop.adb,
10949 s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb, s-gecola.ads,
10950 s-gerebl.adb, s-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads,
10951 double spaced if it fits on one line and otherwise single spaced.
10952
109532008-03-26 Arnaud Charlet <charlet@adacore.com>
10954
9e81dbc7
AS
10955 * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-lynxos.adb,
10956 s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
b501b251
AC
10957 s-taprop-posix.adb (Create_Task): Do not attempt to set task priority
10958 or task info if the thread could not be created.
10959
109602008-03-26 Arnaud Charlet <charlet@adacore.com>
10961
10962 * gnatvsn.ads (Library_Version): Bump to 4.4.
10963 (Current_Year): Bump to 2008.
10964
109652008-03-26 Robert Dewar <dewar@adacore.com>
10966
10967 * ali.ads, ali.adb (Optimize_Alignment_Setting): New field in ALI record
10968
10969 * bcheck.adb (Check_Consistent_Optimize_Alignment): New procedure
10970
10971 * debug.adb: Add debug flags d.r and d.v
10972 Add debug flag .T (Optimize_Alignment (Time))
10973 Add debug flag .S (Optimize_Alignment (Space))
10974
10975 * freeze.adb (Freeze_Record_Type): Set OK_To_Reorder_Components
10976 depending on setting of relevant debug flags.
10977 Replace use of Warnings_Off by Has_Warnings_Off
10978 (Freeze_Entity): In circuit for warning on suspicious convention
10979 actuals, do not give warning if subprogram has same entity as formal
10980 type, or if subprogram does not come from source.
10981 (Freeze_Entity): Don't reset Is_Packed for fully rep speced record
10982 if Optimize_Alignment set to Space.
10983
10984 * frontend.adb: Add call to Sem_Warn.Initialize
10985 Add call to Sem_Warn.Output_Unused_Warnings_Off_Warnings
10986 Reset Optimize_Alignment mode from debug switches .S and .T
10987
10988 * layout.adb (Layout_Composite_Object): Rewritten for
10989 Optimize_Aligment pragma.
10990
10991 * lib-writ.ads, lib-writ.adb: New Ox parameter for Optimize_Alignment
10992 mode.
10993
10994 * opt.ads, opt.adb: (Optimize_Alignment): New global switch
10995
10996 * par-prag.adb (N_Pragma): Chars field removed, use Chars
10997 (Pragma_Identifier (.. instead, adjustments throughout to accomodate
10998 this change. Add entry for pragma Optimize_Alignment
10999
11000 * sem_prag.adb (N_Pragma): Chars field removed, use Chars
11001 (Pragma_Identifier (..
11002 instead, adjustments throughout to accomodate this change.
11003 (Process_Compile_Time_Warning_Or_Error): Use !! for generated msg
11004 (Favor_Top_Level): Use new function Is_Access_Subprogram_Type
11005 Add implementation of pragma Optimize_Alignment
11006
110072008-03-26 Vincent Celier <celier@adacore.com>
11008
11009 * a-szuzti.adb, a-swuwti.adb, a-suteio.adb (functions Get_Line):
11010 Improve memory usage to avoid use of stack.
11011
110122008-03-26 Robert Dewar <dewar@adacore.com>
11013
11014 * a-teioed.ads: Correct value of Default_Fill
11015
11016 * a-teioed.adb (Image): Use Fill_Character instead of '*' to fill
11017
110182008-03-26 Robert Dewar <dewar@adacore.com>
11019
11020 * a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb: Fix problem
11021 with Current_Output (introduce Self).
11022
110232008-03-26 Robert Dewar <dewar@adacore.com>
11024
11025 * checks.adb (Ensure_Valid): Capture valid status if possible
11026 (eliminate checks)
11027
110282008-03-26 Robert Dewar <dewar@adacore.com>
11029
11030 * stand.ads: Deal with reordering of package standard declarations
11031
11032 * cstand.adb: Put package Standard declarations in proper order
11033
110342008-03-26 Robert Dewar <dewar@adacore.com>
11035
11036 * einfo.ads, einfo.adb (N_Pragma): Chars field removed, use Chars
11037 (Pragma_Identifier (.. instead.
11038 (OK_To_Reorder_Components): New flag
11039 (Has_Entries): Code cleanup.
11040 (Warnings_Off_Used): New flag
11041 (Warnings_Off_Used_Unmodified): New flag
11042 (Warnings_Off_Used_Unreferenced): New flag
11043 (Has_Warnings_Off): New function
11044 (Has_Unmodified): New function
11045 (Has_Unreferenced): New function
11046 (Is_Trivial_Subprogram): New flag
11047 (Is_Static_Dispatch_Table_Entity): New attribute.
11048 Change name Access_Subprogram_Type_Kind to Access_Subprogram_Kind
11049 (more consistent with other similar names)
11050 (Access_Subprogram_Type): New classification function
11051
110522008-03-26 Robert Dewar <dewar@adacore.com>
11053
11054 * errout.ads: Document new !! insertion sequence
11055
11056 * errout.adb (N_Pragma): Chars field removed, use Chars
11057 (Pragma_Identifier (.. instead.
11058 Replace use of Warnings_Off by Has_Warnings_Off
11059 (Error_Msg_Internal): Don't delete warning ending in !!
11060
110612008-03-26 Robert Dewar <dewar@adacore.com>
11062
11063 * par.adb (Check_No_Right_Paren): Removed no longer used
11064
11065 * par-ch10.adb (N_Pragma): Chars field removed, use Chars
11066 (Pragma_Identifier (.. instead.
11067
11068 * par-ch10.adb (P_Subunit): Improvement in error recovery and message
11069
11070 * par-tchk.adb, par-ch5.adb, par-ch6.adb, par-ch3.adb,
11071 par-ch4.adb: Minor improvements in error recovery and messages.
11072
11073 * erroutc.adb (Test_Style_Warning_Serious_Msg): Treat style msgs as
11074 non-serious
11075
11076 * par-ch9.adb: Minor improvements in error recovery and messages
11077 (P_Protected): Better error recovery for "protected type x;"
11078
11079 * par-util.adb: Minor improvements in error recovery and messages
11080 (Check_No_Right_Paren): Removed no longer used
11081
110822008-03-26 Ed Schonberg <schonberg@adacore.com>
11083
11084 * exp_aggr.adb (Replace_Type): When checking for self-reference, verify
11085 that the prefix of an attribute is the type of the aggregate being
11086 expanded.
11087
110882008-03-26 Javier Miranda <miranda@adacore.com>
11089 Robert Dewar <dewar@adacore.com>
11090
11091 * exp_attr.adb (N_Pragma): Chars field removed.
11092 (Expand_N_Attribute_Reference): If the designated type associated with
11093 attribute 'Unrestricted_Access is a subprogram entity then replace it
11094 by an E_Subprogram_Type itype.
11095 Implement attribute Old
11096
11097 * sem_attr.ads (Attribute_Class_Array): Move to snames.ads
11098
11099 * sem_attr.adb (Build_Access_Subprogram_Itype): Add documentation.
11100 Replace call to
11101 New_Internal_Entity by call to Create_Itype to centralize calls
11102 building itypes, ad propagate the convention of the designated
11103 subprogram. In addition, disable the machinery cleaning constant
11104 indications from all entities in current scope when 'Unrestricted_Access
11105 corresponds with a node initializing a dispatch table slot.
11106 (Analyze_Attribute): Parameterless attributes returning a string or a
11107 type will not be called with improper arguments, so we can remove junk
11108 code that was dealing with this case.
11109 Implement attribute Old
11110
11111 * snames.ads, snames.h, snames.adb: Add entries for attribute Old
11112 Add entry for pragma Optimize_Alignment
11113 New standard names Sync and Synchronize
11114
111152008-03-26 Robert Dewar <dewar@adacore.com>
11116 Arnaud Charlet <charlet@adacore.com>
11117
11118 * exp_ch11.adb (Expand_At_End_Handler): Set From_At_End flag on raise
11119 stmt.
11120 (No_Exception_Propagation_Active): New function.
11121 (Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
11122 Update comments, and review all uses of No_Exception_Propagation, which
11123 are now correct and in sync with what gigi expects.
11124
11125 * restrict.ads, restrict.adb (No_Exception_Propagation_Active): New
11126 function.
11127 (Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
11128 Update comments, and review all uses of No_Exception_Propagation, which
11129 are now correct and in sync with what gigi expects.
11130
111312008-03-26 Ed Schonberg <schonberg@adacore.com>
11132
11133 * sem_ch3.adb (Access_Definition): If the access type is the return
11134 result of a protected function, create an itype reference for it
11135 because usage will be in an inner scope from the point of declaration.
11136 (Build_Derived_Record_Type): Inherit Reverse_Bit_Order and
11137 OK_To_Reorder_Components.
11138 (Make_Index): If an overloaded range includes a universal integer
11139 interpretation, resolve to Standard.Integer.
11140 (Analyze_Subtype_Indication): Copy Convention to subtype
11141 (Check_Abstract_Interfaces): Complete semantic checks on the legality of
11142 limited an synchronized progenitors in type declaration and private
11143 extension declarations.
11144
11145 * exp_ch13.adb (Expand_N_Freeze_Entity): If the scope of the entity is a
11146 protected subprogram body, determine proper scope from subprogram
11147 declaration.
11148
111492008-03-26 Robert Dewar <dewar@adacore.com>
11150
11151 * exp_ch4.adb (Expand_N_Op_Concat): Remove special tests for
11152 No_Run_Time_Mode
11153
111542008-03-26 Gary Dismukes <dismukes@adacore.com>
11155
11156 * exp_ch5.adb (Expand_N_Extended_Return_Statement): Suppress generation
11157 of a heap allocator for a limited unconstrained function return when
11158 resstriction No_Allocators is active.
11159 (Analyze_Allocator): The restriction No_Allocators is now only checked
11160 on allocators that have Comes_From_Source set, as per RM-H.4(7).
11161
11162 * sem_ch4.adb (Expand_N_Extended_Return_Statement): Suppress generation
11163 of a heap allocator for a limited unconstrained function return when
11164 resstriction No_Allocators is active.
11165 (Analyze_Allocator): The restriction No_Allocators is now only checked
11166 on allocators that have Comes_From_Source set, as per RM-H.4(7).
11167 (Has_Fixed_Op): If the name in a function call is Standard."*" and the
11168 operands are fixed-point types, the universal_fixed predefined operation
11169 is used, regardless of whether the operand type (s) have a primitive
11170 operation of the same name.
11171
111722008-03-26 Javier Miranda <miranda@adacore.com>
11173
11174 * exp_disp.adb (Make_DT, Make_Secondary_DT): Set attribute
11175 Is_Static_Dispatch_Table
11176 (Build_Dispatch_Tables): Replace calls to Exchange_Entities() by calls
11177 to Exchange_Declarations to exchange the private and full-view. Bug
11178 found working in this issue.
11179 (Expand_Dispatching_Call): Propagate the convention of the subprogram
11180 to the subprogram pointer type.
11181 (Make_Secondary_DT): Replace generation of Prim'Address by
11182 Address (Prim'Unrestricted_Access)
11183 (Make_DT): Replace generation of Prim'Address by
11184 Address (Prim'Unrestricted_Access)
11185 (Make_Disp_*_Bodies): When compiling for a restricted profile, use
11186 simple call form for single entry.
11187 (Make_DT): Handle new contents of Access_Disp_Table (access to dispatch
11188 tables of predefined primitives).
11189 (Make_Secondary_DT): Add support to handle access to dispatch tables of
11190 predefined primitives.
11191 (Make_Tags): Add entities to Access_Dispatch_Table associated with
11192 access to dispatch tables containing predefined primitives.
11193
11194 * exp_ch6.adb (N_Pragma): Chars field removed, use Chars
11195 (Pragma_Identifier (.. instead, adjustments throughout to accomodate
11196 this change.
11197 (Register_Predefined_DT_Entry): Updated to handle the new contents
11198 of attribute Access_Disp_Table (pointers to dispatch tables containing
11199 predefined primitives).
11200
11201 * exp_util.ads, exp_util.adb (Corresponding_Runtime_Package): New
11202 subprogram.
11203 (Find_Interface_ADT): Updated to skip the new contents of attribute
11204 Access_Dispatch_Table (pointers to dispatch tables containing predefined
11205 primitives).
11206
11207 * sem_util.adb (Has_Abstract_Interfaces): Add missing support for
11208 concurrent types.
11209 (Set_Convention): Use new function Is_Access_Subprogram_Type
11210 (Collect_Interfaces_Info): Updated to skip the new contents of attribute
11211 Access_Dispatch_Table (pointers to dispatch tables containing predefined
11212 primitives).
11213
11214 * exp_atag.ads, exp_atag.adb (Build_Inherit_Predefined_Prims): Improve
11215 expanded code avoiding calls to Build_Predef_Prims.
11216 (Build_Set_Predefined_Prim_Op_Address): Improve expanded code avoiding
11217 call to Build_Get_Predefined_Prim_Op_Address.
11218
112192008-03-26 Javier Miranda <miranda@adacore.com>
11220
11221 * exp_ch7.adb (Make_Clean): Code cleanup using the new centralized
11222 subprogram Corresponding_Runtime_Package to know the runtime package
11223 that will provide support to a given protected type.
11224
11225 * exp_ch9.adb (Add_Private_Declarations,
11226 Build_Protected_Subprogram_Call,
11227 Build_Protected_Entry, Build_Simple_Entry_Call,
11228 Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
11229 Expand_N_Timed_Entry_Call, Make_Initialize_Protection): Code
11230 cleanup using the new centralized subprogram Corresponding_Runtime
11231 Package to know the runtime package that provides support to
11232 a given protected type.
11233
112342008-03-26 Ed Schonberg <schonberg@adacore.com>
11235
11236 * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If the component
11237 assignment is within the initialization procedure for a packed array,
11238 and Initialize_Scalars is enabled, compile right-hand side with checks
11239 off, because the value is purposely out of range.
11240
112412008-03-26 Vincent Celier <celier@adacore.com>
11242
11243 * gnatcmd.adb: Add processing for GNAT SYNC
11244
11245 * vms_conv.ads: (Command_Type): Add command Sync
11246
11247 * vms_conv.adb (Initialize): Add Command_List data for new command Sync
11248
11249 * vms_data.ads: Add entries for -gnatw.w
11250 Add qualifier for gnatstub --header-file option
11251 Add switches for GNAT SYNC
11252
11253 * prj-attr.ads, prj-attr.adb: Add new package Synchronize for GNAT SYNC
11254 (Add_Package_Name): New procedure
11255 (Package_Name_List): New function
11256 (Initialize): Add known package names to the list
11257 (Register_New_Package): Add the new package name to the list
11258
112592008-03-26 Robert Dewar <dewar@adacore.com>
11260
11261 * g-pehage.adb, g-regist.adb, g-spipat.ads, g-spipat.adb,
11262 s-asthan.adb, s-parint.adb, s-rpc.adb, s-stchop.adb: Replace
11263 Raise_Exception by "raise with" construct.
11264
112652008-03-26 Pascal Obry <obry@adacore.com>
11266
11267 * Makefile.in: Add proper GNAT.Serial_Communications implementation on
11268 supported platforms.
9e81dbc7 11269
b501b251 11270 * Makefile.rtl: Add g-sercom.o.
9e81dbc7 11271
b501b251 11272 * impunit.adb: Add g-sercom.adb.
9e81dbc7 11273
b501b251
AC
11274 * s-crtl.ads (open): New routine.
11275 (close): Likewise.
11276 (write): Likewise.
9e81dbc7 11277
b501b251
AC
11278 * s-osinte-mingw.ads (BYTE): New type.
11279 (CHAR): Likewise.
11280 (OVERLAPPED): Likewise.
11281 (GENERIC_READ): New constant.
11282 (GENERIC_WRITE): Likewise.
11283 (OPEN_EXISTING): Likewise.
11284 (PSECURITY_ATTRIBUTES): Removed this type, use anonymous access
11285 type instead.
11286 (CreateFile): New routine.
11287 (WriteFile): Likewise.
11288 (ReadFile): Likewise.
11289 (CloseHandle): Move next to the other file oriented routines.
11290
11291 * g-sercom.ads: New unit.
11292
11293 * g-sercom.adb: Default implementation, calls to this unit will raise
11294 a program error exception.
9e81dbc7 11295
b501b251
AC
11296 * g-sercom-mingw.adb, g-sercom-linux.adb: Windows and
11297 GNU/Linux implementations.
11298
112992008-03-26 Robert Dewar <dewar@adacore.com>
11300
11301 * itypes.adb (Create_Itype): Use new name Access_Subprogram_Kind
11302
11303 * sem_ch13.adb (Validate_Unchecked_Conversion): Give warning for
11304 unchecked conversion for different conventions only for subprogram
11305 pointers or on VMS.
11306
113072008-03-26 Vincent Celier <celier@adacore.com>
11308
11309 * osint-c.adb (Set_Library_Info_Name): Use canonical case file names
11310 to check if the specified object file is correct.
11311
113122008-03-26 Thomas Quinot <quinot@adacore.com>
11313
11314 * sem_cat.adb (Validate_RACW_Primitives): Do not rely on
11315 Comes_From_Source to exclude primitives from being checked. We want to
11316 exclude predefined primitives only, so use the appropriate specific
11317 predicate. Also, flag a formal parameter of an anonymous
11318 access-to-subprogram type as illegal for a primitive operation of a
11319 remote access to class-wide type.
11320
113212008-03-26 Vincent Celier <celier@adacore.com>
11322
11323 * prj-dect.adb (Parse_Package_Declaration): When a package name is not
11324 known, check if it may be a missspelling of a known package name. In
11325 not verbose, not mode, issue warnings only if the package name is a
11326 possible misspelling.
11327 In verbose mode, always issue a warning for a not known package name,
11328 plus a warning if the name is a misspelling of a known package name.
11329
11330 * prj-part.adb (Post_Parse_Context_Clause): Modify so that only non
11331 limited withs or limited withs are parse during one call.
11332 (Parse_Single_Project): Post parse context clause in two passes: non
11333 limited withs before current project and limited withs after current
11334 project.
11335
11336 * prj-proc.adb (Imported_Or_Extended_Project_From): Returns an extended
11337 project with the name With_Name, even if it is only extended indirectly.
11338 (Recursive_Process): Process projects in order: first single withs, then
11339 current project, then limited withs.
11340
11341 * prj-tree.adb (Imported_Or_Extended_Project_Of): Returns an extended
11342 project with the name With_Name, even if it is only extended indirectly.
11343
113442008-03-26 Robert Dewar <dewar@adacore.com>
11345
11346 * scn.adb (Initialize_Scanner): Format messages belong on standard error
11347
113482008-03-26 Ed Schonberg <schonberg@adacore.com>
11349
11350 * sem_ch10.adb (Analyze_Compilation_Unit): if a unit in the context is
11351 a generic subprogram that is imported, do not attempt to compile
11352 non-existent body.
11353
11354 * sem_ch12.adb (Instantiate_Subprogram_Body): if the generic is
11355 imported, do not generate a raise_program_error for the non-existent
11356 body.
11357 (Pre_Analyze_Actuals): If an error is detected during pre-analysis,
11358 perform minimal name resolution on the generic to avoid spurious
11359 warnings.
11360 (Find_Actual_Type): the designated type of the actual in a child unit
11361 may be declared in a parent unit without being an actual.
11362
113632008-03-26 Robert Dewar <dewar@adacore.com>
11364
11365 * sem_ch11.adb: Fix No_Exception_Restriction violation for SJLJ
11366 * sinfo.ads, sinfo.adb (From_At_End): New flag
11367
113682008-03-26 Ed Schonberg <schonberg@adacore.com>
11369
11370 * sem_ch6.adb (Analyze_Subprogram_Body): Remove spurious check on
11371 operations that have an interface parameter.
11372 (Analyze_Subprogram_Body): Set Is_Trivial_Subprogram flag
11373 Don't treat No_Return call as raise.
11374
11375 * sem_disp.adb (Check_Dispatching_Operations): apply check for
11376 non-primitive interface primitives to access parameters, not to all
11377 parameters of an access type.
11378
113792008-03-26 Ed Schonberg <schonberg@adacore.com>
11380
11381 * sem_ch7.adb (Install_Parent_Private_Declarations): If the private
11382 declarations of a parent unit are made visible when compiling a child
11383 instance, the parent is not a hidden open scope, even though it may
11384 contain other pending instance.
9e81dbc7 11385
b501b251
AC
11386 * sem_ch8.adb (Restore_Scope_Stack): If an entry on the stack is a
11387 hidden open scope for some child instance, it does affect the
11388 visibility status of other stach entries.
11389 (Analyze_Object_Renaming): Check that a class-wide object cannot be
11390 renamed as an object of a specific type.
11391
113922008-03-26 Robert Dewar <dewar@adacore.com>
11393
11394 * sem_res.adb (Check_Infinite_Recursion): Diagnose definite infinite
11395 recursion and raise SE directly.
11396 (Resolve_Actuals): Reset Never_Set_In_Source if warnings off is
11397 set for formal type for IN mode parameter.
11398
113992008-03-26 Robert Dewar <dewar@adacore.com>
11400
11401 * sem_warn.ads, sem_warn.adb (Warnings_Off_Pragmas): New table
11402 (Initialize): New procedure
11403 (Output_Warnings_Off_Warnings): New procedure
11404 (Check_References): Suppress certain msgs if Is_Trivial_Subprogram
11405 (Output_Non_Modifed_In_Out_Warnings): Ditto
11406 (Warn_On_Unreferenced_Entity): Ditto
11407
114082008-03-26 Vincent Celier <celier@adacore.com>
11409
11410 * a-direct.adb (Start_Search): Raise Use_Error if the directory is not
11411 readable.
11412
114132008-03-26 Matthew Heaney <heaney@adacore.com>
11414
9e81dbc7 11415 * a-ciorse.ads, a-cidlli.ads, a-cdlili.ads, a-cihase.ads, a-cohase.ads,
b501b251
AC
11416 a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-coorse.ads:
11417 Marked with clauses as private, and controlled operations as overriding
11418
114192008-03-26 Robert Dewar <dewar@adacore.com>
11420
11421 * g-byorma.adb (Read_BOM): Reorder tests so that UTF_32 is recognized
11422
114232008-03-26 Robert Dewar <dewar@adacore.com>
11424
11425 * back_end.adb, back_end.ads: Minor reformatting
11426
11427 * bindgen.adb: Minor clarification of comments
11428
11429 * fname.ads: Minor comment fixes
11430
11431 * g-altive.ads, g-catiio.ads, g-trasym.ads, prj.ads,
11432 prj-nmsc.adb, sem_aggr.adb: Minor reformatting
11433
11434 * xeinfo.adb, xnmake.adb, xsinfo.adb, xtreeprs.adb,
11435 xsnames.adb: Remove warnings off pragma no longer needed
11436
11437 * a-catizo.ads, a-calari.ads, a-calfor.adb,
11438 a-calfor.ads: Fix header.
11439
114402008-03-26 Tristan Gingold <gingold@adacore.com>
11441
11442 * init.c: Do not adjust pc for HPARITH on alpha/vms.
11443
114442008-03-26 Robert Dewar <dewar@adacore.com>
11445
11446 * lib-xref.adb: (OK_To_Set_Reference): New function
11447 (Generate_Reference): Don't set referenced from occurrence in Warnings,
11448 Unmodified, or Unreferenced pragma
11449
114502008-03-26 Robert Dewar <dewar@adacore.com>
11451
11452 * alloc.ads: Add entries for Warnings_Off_Pragmas table
11453
114542008-03-26 GNAT Script <nobody@adacore.com>
11455
11456 * Make-lang.in: Makefile automatically updated
11457
114582008-03-26 Robert Dewar <dewar@adacore.com>
11459
11460 * tbuild.ads, tbuild.adb, trans.c, sprint.adb, exp_prag.adb, decl.c,
11461 par-ch2.adb, sem_elab.adb, sem_util.ads (N_Pragma): Chars field
11462 removed, use Chars (Pragma_Identifier (.. instead, adjustments
11463 throughout to accomodate this change.
11464
11465 * s-pooglo.ads, s-pooloc.ads: Minor comment updates
11466
11467 * exp_dbug.adb: Use Sem_Util.Set_Debug_Info_Needed (not
11468 Einfo.Set_Needs_Debug_Info)
11469
114702008-03-26 Robert Dewar <dewar@adacore.com>
11471
11472 * gnat_ugn.texi: Add documentation for -gnatw.w/-gnatw.W
11473 Add description for the new gnatstub option '--header-file'
11474 clarification of -gnatwz/-gnatwZ
11475 Add a "Irix-Specific Considerations" section to document the need to
11476 set LD_LIBRARY_PATH when using the default shared runtime library.
11477 Added documentation for both gcov and gprof.
11478
11479 * gnat_rm.texi: Document that pragma Compile_Time_Warning generates
11480 messages that are not suppressed when clients are compiled.
11481 Add documentation of s-pooglo s-pooloc
11482 Document the new GNAT.Serial_Communications API.
11483 Add documentation for 'Old attribute
11484 Add description of pragma Optimize_Alignment
11485
11486 * ug_words: Add entries for -gnatw.w -gnatw.W
11487
11488 * usage.adb: Add line for -gnatw.w (warn on warnings off)
11489
3a9634be
EB
114902008-03-25 Eric Botcazou <ebotcazou@adacore.com>
11491
11492 Revert
11493 2008-03-05 Eric Botcazou <ebotcazou@adacore.com>
11494 PR ada/35186
11495 * decl.c (maybe_pad_type): Avoid padding an integral type when
11496 bumping its alignment is sufficient.
11497
53b308f6
AC
114982008-03-25 Arnaud Charlet <charlet@adacore.com>
11499
11500 * exp_ch6.adb, exp_disp.adb: Update copyright notice.
11501 Fix wrong formatting (lines too long)
11502
8fc789c8
RW
115032008-03-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11504
11505 * 9drpc.adb, a-caldel-vms.adb, a-caldel.adb,
11506 a-calend-vms.adb, a-calend.adb, a-calend.ads,
11507 a-calfor.adb, a-chahan.ads, a-chtgke.adb,
11508 a-cihama.ads, a-ciorse.adb, a-clrefi.ads,
11509 a-cohama.ads, a-comlin.ads, a-coorse.adb,
11510 a-crbtgk.adb, a-direct.adb, a-except-2005.adb,
11511 a-except-2005.ads, a-except.adb, a-except.ads,
11512 a-exexda.adb, a-exexpr-gcc.adb, a-exexpr.adb,
11513 a-exextr.adb, a-filico.ads, a-finali.ads,
11514 a-intnam-aix.ads, a-intnam-solaris.ads, a-ngcefu.adb,
11515 a-ngelfu.adb, a-numaux-darwin.adb, a-numeri.ads,
11516 a-sequio.ads, a-strbou.ads, a-strfix.adb,
11517 checks.adb, exp_ch3.adb, exp_ch4.adb,
11518 exp_ch4.ads, exp_ch5.adb, exp_ch6.adb,
11519 exp_ch6.ads, exp_ch7.adb, exp_ch7.ads,
11520 exp_ch9.adb, exp_ch9.ads, exp_dbug.adb,
11521 exp_dbug.ads, exp_disp.adb, exp_dist.adb,
11522 exp_dist.ads, exp_fixd.adb, exp_fixd.ads: Fix comment typos.
11523
15f6d6e7
RD
115242008-03-24 Robert Dewar <dewar@adacore.com>
11525
11526 * s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb,
11527 s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb,
11528 s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads,
11529 s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb,
11530 s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb,
11531 a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
11532 a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
11533 a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads,
11534 a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads,
11535 a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads,
11536 a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb,
11537 i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads,
11538 a-nlrear.ads, a-nucoar.ads, a-nurear.ads, i-forlap.ads, s-gearop.adb,
11539 s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb, s-gecola.ads,
11540 s-gerebl.adb, s-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads,
11541 double spaced if it fits on one line and otherwise single spaced.
11542
b2e74434
RW
115432008-03-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11544
11545 PR documentation/15479
11546 * Make-lang.in (doc/gnat_ugn.texi) Renamed from ...
11547 (doc/gnat_ugn_unw.texi): ... this, and adjusted.
11548 (doc/gnat_ugn.info): Renamed from ...
11549 (doc/gnat_ugn_unw.info): ... this.
11550 (doc/gnat_ugn.dvi): Renamed from ...
11551 (doc/gnat_ugn_unw.dvi): ... this.
11552 (doc/gnat_ugn.pdf): Renamed from ...
11553 (doc/gnat_ugn_unw.pdf): ... this.
11554 (ADA_INFOFILES, ADA_PDFFILES, ada.install-info, ada.dvi):
11555 Adjusted.
11556 * gnat_ugn.texi (FILE): Hard-code gnat_ugn; set filename
11557 unconditionally to gnat_ugn.info. Fix cross references to the
11558 GNAT Reference Manual. Convert links to the GCC, GDB, Emacs,
11559 and GNU make manuals to be proper texinfo links.
11560 * gnat_rm.texi: Fix cross references to the GNAT User's Guide.
11561
f4351641
OH
115622008-03-21 Olivier Hainque <hainque@adacore.com>
11563
11564 * trans.c (Attribute_to_gnu) <'length>: Compute as (hb < lb)
11565 ? 0 : hb - lb + 1 instead of max (hb - lb + 1, 0).
11566
10c5d1a0
EB
115672008-03-21 Eric Botcazou <ebotcazou@adacore.com>
11568
11569 * trans.c (addressable_p): Add notes on addressability issues.
11570
457b629a 115712008-03-21 Olivier Hainque <hainque@adacore.com>
9e81dbc7 11572 Ed Schonberg <schonberg@adacore.com>
457b629a
OH
11573
11574 * trans.c (addressable_p): Accept COND_EXPR when both arms
11575 are addressable.
11576 (gnat_gimplify_expr): Let the gimplifier handle &COND_EXPR.
11577 (call_to_gnu): Do not use name reference in the error message
11578 for a misaligned by_reference_parameter. The actual may be a
11579 general expression.
11580
ac5dc795
PB
115812008-03-18 Paolo Bonzini <bonzini@gnu.org>
11582
e1da2b17
EB
11583 * misc.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
11584
79f34d07
RW
115852008-03-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11586
11587 * gnat_rm.texi (Implementation Defined Characteristics)
11588 (Wide_Text_IO, Wide_Wide_Text_IO): Add @var annotations where
11589 appropriate.
11590 * gnat_ugn.texi (Wide Character Encodings, Switches for gnatbind)
11591 (Switches for gnatchop, Installing a library): Likewise.
11592
e1e7141c
EB
115932008-03-10 Eric Botcazou <ebotcazou@adacore.com>
11594
11595 * trans.c (emit_range_check): Do not emit the check if the base type
11596 of the expression is the type against which its range must be checked.
11597
892f6e65
EB
115982008-03-08 Eric Botcazou <ebotcazou@adacore.com>
11599
11600 * decl.c (maybe_pad_type): Use value_factor_p.
11601
7934d781
EB
116022008-03-08 Eric Botcazou <ebotcazou@adacore.com>
11603
11604 * lang.opt (nostdlib): Move around.
11605 * misc.c (gnat_handle_option): Fix formatting.
11606 (gnat_dwarf_name): Move around.
11607 * trans.c (Case_Statement_to_gnu): Fix formatting.
11608 (gnat_to_gnu): Likewise.
11609 * utils.c (aggregate_type_contains_array_p): Likewise.
11610 (create_subprog_decl): Likewise.
11611
8f5893ab
EB
116122008-03-08 Eric Botcazou <ebotcazou@adacore.com>
11613
11614 * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Do not
11615 bother propagating the TYPE_USER_ALIGN flag when creating a JM type.
11616
ba436c3b
EB
116172008-03-08 Eric Botcazou <ebotcazou@adacore.com>
11618
11619 * decl.c (gnat_to_gnu_entity) <E_Record_Type>: Do not force
11620 BIGGEST_ALIGNMENT when capping the alignment of records with
11621 strict alignment and size clause.
11622
6ab36dac
EB
116232008-03-08 Eric Botcazou <ebotcazou@adacore.com>
11624
11625 * lang-specs.h: Pass -gnatwa if -Wall is passed.
11626 * misc.c (gnat_handle_option) <OPT_Wall>: Expand into -Wunused
11627 and -Wuninitialized.
11628 (gnat_post_options): Clear warn_unused_parameter.
11629
8853cb0b
EB
116302008-03-08 Eric Botcazou <ebotcazou@adacore.com>
11631
11632 * utils.c (finish_record_type): Clear DECL_BIT_FIELD on sufficiently
11633 aligned bit-fields, bumping the alignment of the record type if deemed
11634 profitable.
11635 (value_factor_p): Return false instead of 0.
11636
66abe22c
EB
116372008-03-08 Eric Botcazou <ebotcazou@adacore.com>
11638
11639 * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Add support
11640 for scalar types with small alignment.
11641
563569be
EB
116422008-03-08 Eric Botcazou <ebotcazou@adacore.com>
11643
11644 * trans.c (Loop_Statement_to_gnu): Set the SLOC of the loop label
11645 from that of the front-end's end label.
11646 (gnat_gimplify_stmt) <LOOP_STMT>: Set the SLOC of the backward goto
11647 from that of the loop label.
11648
b49a1a1e
EB
116492008-03-07 Eric Botcazou <ebotcazou@adacore.com>
11650
11651 * decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Add
11652 comment for the packed array type case.
11653 * utils.c (build_template): Use a loop to strip padding or
11654 containing records for justified modular types.
11655
fd5c81e9
EB
116562008-03-07 Eric Botcazou <ebotcazou@adacore.com>
11657
11658 * decl.c (gnat_to_gnu_entity): Issue a warning on suspiciously
11659 large alignments specified for types.
11660 (validate_alignment): Minor cleanup.
11661
7f42aa36
EB
116622008-03-07 Eric Botcazou <ebotcazou@adacore.com>
11663
11664 * decl.c (MAX_FIXED_MODE_SIZE): Define if not already defined.
11665 (gnat_to_gnu_entity) <E_Record_Type>: Try to get a smaller form of
11666 the component for packing, if possible, as well as if a component
11667 size clause is specified.
11668 <E_Record_Subtype>: For an array type used to implement a packed
11669 array, get the component type from the original array type.
11670 Try to get a smaller form of the component for packing, if possible,
11671 as well as if a component size clause is specified.
11672 (round_up_to_align): New function.
11673 (make_packable_type): Add in_record parameter.
11674 For a padding record, preserve the size. If not in_record and the
11675 size is too large for an integral mode, attempt to shrink the size
11676 by lowering the alignment.
11677 Ditch the padding bits of the last component.
11678 Compute sizes and mode manually, and propagate the RM size.
11679 Return a BLKmode record type if its size has shrunk.
11680 (maybe_pad_type): Use MAX_FIXED_MODE_SIZE instead of BIGGEST_ALIGNMENT.
11681 Use Original_Array_Type to retrieve the type in case of an error.
11682 Adjust call to make_packable_type.
11683 (gnat_to_gnu_field): Likewise.
11684 (concat_id_with_name): Minor tweak.
11685 * trans.c (larger_record_type_p): New predicate.
11686 (call_to_gnu): Compute the nominal type of the object only if the
11687 parameter is by-reference. Do the conversion actual type -> nominal
11688 type if the nominal type is a larger record.
11689 (gnat_to_gnu): Do not require integral modes on the source type to
11690 avoid the conversion for types with identical names.
11691 (addressable_p): Add gnu_type parameter. If it is specified, do not
11692 return true if the expression is not addressable in gnu_type.
11693 Adjust recursive calls.
11694 * utils.c (finish_record_type): Remove dead code.
11695
2f76571e
EB
116962008-03-05 Eric Botcazou <ebotcazou@adacore.com>
11697
11698 PR ada/35186
11699 * decl.c (maybe_pad_type): Avoid padding an integral type when
11700 bumping its alignment is sufficient.
11701
4d0e4612
RW
117022008-03-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11703
ad6b5b00
RW
11704 * gnatfind.adb, gnatxref.adb: Fix argument parsing typos.
11705 * s-auxdec-empty.adb, s-auxdec.adb: Fix typos in copyright
11706 statement.
11707 * a-ngcoar.adb, a-ngrear.adb, g-awk.adb, g-debpoo.adb,
11708 gprep.adb, make.adb, makegpr.adb, par-ch6.adb, prj-nmsc.adb,
11709 sem_attr.adb, sem_ch4.adb, sem_ch8.adb: Fix typos in ada source
11710 code output strings.
11711 * sem_type.adb, system-vms-ia64.ads, system-vms.ads,
11712 system-vms_64.ads: Fix typos in ada source code comments.
11713 * sinfo-cn.adb: Remove incomplete sentence.
11714
4d0e4612
RW
11715 PR documentation/15479
11716 * gnat_rm.texi, gnat_ugn.texi: Avoid standalone `non' word.
11717
acf6b7ab
ST
117182008-02-27 Samuel Tardieu <sam@rfc1149.net>
11719
11720 PR ada/22255
11721 * s-fileio.adb (Reset): Do not raise Use_Error if mode isn't changed.
11722
f5c064ab
ST
117232008-02-27 Samuel Tardieu <sam@rfc1149.net>
11724
11725 PR ada/34799
11726 * sem_ch13.adb (Analyze_Record_Representation_Clause): Check
11727 that underlying type is present.
11728
2d593c86
TT
117292008-02-26 Tom Tromey <tromey@redhat.com>
11730
11731 * misc.c (internal_error_function): Remove test of
11732 USE_MAPPED_LOCATION.
11733 * trans.c (gigi): Remove test of USE_MAPPED_LOCATION.
11734 (Sloc_to_locus): Remove old location code.
11735
443b3472
RW
117362008-02-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11737
8dd07840
RW
11738 * gnat_rm.texi, gnat_ugn.texi: Fix spacing after `e.g.' and
11739 `i.e.' by adding comma or `@:' as appropriate.
11740 * gnat_rm.texi (Pragma Wide_Character_Encoding): Instead of
11741 plain characters `C', use `@samp{C}'.
11742 * gnat_ugn.texi (File Naming Rules, About gnatkr)
11743 (Krunching Method): Likewise.
11744
443b3472
RW
11745 * gnat_ugn.texi (Conventions): List environment variables and
11746 metasyntactic variables.
11747 (Compiling Programs): Fix notation of metasyntactic variables.
11748 Add @file where appropriate. Use @file for file extensions,
11749 @samp for strings.
11750 * gnat_rm.texi, gnat_ugn.texi: Where appropriate, use @samp
11751 instead of @file, @env instead of @code.
11752
9538dfb9
RW
117532008-02-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11754
d488f6ea
RW
11755 PR documentation/15479
11756 * gnat_rm.texi, gnat_ugn.texi: Where appropriate, replace `..'
11757 and `...' with `@dots{}' or `@enddots{}'.
11758
1992bbd9
RW
11759 PR documentation/15479
11760 * gnat_rm.texi, gnat_ugn.texi: Where appropriate, add @command,
11761 use @command instead of @code, @option instead of @samp or @code,
11762 @code instead of @var, @samp instead of @file.
11763
9538dfb9
RW
11764 PR documentation/15479
11765 * gnat_ugn.texi (Using gnatmake in a Makefile): Do not ignore errors
11766 in Makefile rules, by using `&&' rather than `;'.
11767
e69044cb
RW
117682008-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11769
11770 PR documentation/15479
11771 * gnat_ugn.texi: In non-code, avoid space before colon.
11772 (Regular Expressions in gnatfind and gnatxref): Fix indentation.
11773 (Examples of gnatxref Usage): Use @command{vi} instead of
11774 @file{vi}.
11775 (Character Set Control): Do not use @code for UTF-8.
11776 (Validity Checking): Fix typo "NaNs" instead of "NaN's". Do not
11777 use @code for IEEE.
11778 * gnat_rm.texi (Aggregates with static bounds): Fix typo in code
11779 sample.
11780 * gnat_rm.texi, gnat_ugn.texi: Fix typos. Bump copyright years.
11781
9e94c78f 117822008-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
6a333ca0
JS
11783
11784 PR ada/35143
11785 * env.c: Add __rtems__ to if defined.
11786 * s-osinte-rtems.adb: Add To_Target_Priority. Fix formatting.
11787 * s-osinte-rtems.ads: Add To_Target_Priority prototype and
11788 PTHREAD_SCOPE_PROCESS/PTHREAD_SCOPE_SYSTEM constants. Add
11789 pragma Convention as required.
11790 * gsocket.h: Make compile in and out of RTS.
11791 * Makefile.in: Add system-rtems.ads. Build DEC extensions.
11792 Use g-soccon-rtems.ads.
11793 * g-soccon-rtems.ads, system-rtems.ads: New files.
11794
72fb133f
KG
117952008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11796
11797 PR other/35107
11798 * Make-lang.in (gnat1): Add $(GMPLIBS).
11799
8fa07a56
EB
118002008-01-26 Eric Botcazou <ebotcazou@adacore.com>
11801
11802 * decl.c (components_to_record): Improve comment.
11803
0bf38239
EB
118042008-01-22 Eric Botcazou <ebotcazou@adacore.com>
11805
11806 * decl.c (components_to_record): Do not reuse the empty union type
11807 if there is a representation clause on the record.
11808 * trans.c (addressable_p): Return true for INTEGER_CST.
11809
461d6eb3
EB
118102008-01-21 Eric Botcazou <ebotcazou@adacore.com>
11811
11812 * trans.c (gnat_to_gnu) <N_Free_Statement>: Use POINTER_PLUS_EXPR
11813 in pointer arithmetics.
11814 * utils2.c (build_allocator): Likewise.
11815
9328dd57
EB
118162008-01-17 Eric Botcazou <ebotcazou@adacore.com>
11817
11818 * utils.c (build_function_stub): Properly build the call expression.
11819
052cec9b
EB
118202008-01-14 Eric Botcazou <ebotcazou@adacore.com>
11821
11822 * decl.c (gnat_to_gnu_entity) <object>: Process renamings
11823 before converting the expression to the type of the object.
11824 * trans.c (maybe_stabilize_reference) <CONSTRUCTOR>: New case.
11825 Stabilize constructors for special wrapping types.
11826
08ffbdad
EB
118272008-01-13 Eric Botcazou <ebotcazou@adacore.com>
11828
9e94c78f 11829 * trans.c (call_to_gnu): Invoke the addressable_p predicate only
6bf4cbe8 11830 when necessary. Merge some conditional statements. Update comments.
08ffbdad
EB
11831 Rename unchecked_convert_p local variable to suppress_type_conversion.
11832 Do not suppress conversions in the In case.
11833 (addressable_p) <VIEW_CONVERT_EXPR>: Do not take alignment issues
11834 into account on non strict-alignment platforms.
11835
7219c2c7
EB
118362008-01-12 Eric Botcazou <ebotcazou@adacore.com>
11837
11838 * utils.c (aggregate_type_contains_array_p): New predicate.
11839 (create_field_decl): In a packed record, force byte alignment
11840 for fields without specified position that contain an array.
11841
52ef2874
EB
118422008-01-12 Eric Botcazou <ebotcazou@adacore.com>
11843
11844 * utils.c (unchecked_convert): Fold the VIEW_CONVERT_EXPR expression.
11845
3fa87ef8
JDA
118462008-01-10 John David Anglin <dave.anglin.@nrc-cnrc.gc.ca>
11847
11848 PR ada/34466
11849 * s-osinte-linux-hppa.ads (SC_NPROCESSORS_ONLN): New constant for
11850 sysconf call.
11851 (bit_field): New packed boolean type used by cpu_set_t.
11852 (cpu_set_t): New type corresponding to the C type with
11853 the same name. Note that on the Ada side we use a bit
11854 field array for the affinity mask. There is not need
11855 for the C macro for setting individual bit.
11856 (pthread_setaffinity_np): New imported routine.
11857
9e94c78f 118582008-01-03 Tero Koskinen <tero.koskinen@iki.fi>
e0658eda
TK
11859
11860 PR ada/34647
11861 * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp()
11862 on OpenBSD as is done on other BSD systems.
11863
11864 PR ada/34645
11865 * sysdep.c (__gnat_ttyname, getc_immediate_nowait,
11866 getc_immediate_common): Treat OpenBSD as FreeBSD regarding immediate
11867 I/O.
11868
11869 PR ada/34644
11870 * env.c (__gnat_clearenv): Treat OpenBSD as other BSD systems missing
11871 clearenv().
11872
11873 PR ada/34646
11874 * init.c (__gnat_error_handler, __gnat_install_handler,
11875 __gnat_init_float): Define for OpenBSD.
11876
11877 * initialize.c (__gnat_initialize): Define for OpenBSD.
11878
18bc9cca
ST
118792007-12-27 Samuel Tardieu <sam@rfc1149.net>
11880
11881 PR ada/34553
11882 * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp()
11883 instead of mktemp() or tmpnam() on NetBSD.
11884
f0bf503e
EB
118852007-12-23 Eric Botcazou <ebotcazou@adacore.com>
11886
11887 * trans.c (call_to_gnu): Make the temporary for non-addressable
11888 In parameters passed by reference.
11889 (addressable_p): Return true for STRING_CST and CALL_EXPR.
11890
7469b7bc
AC
118912007-12-19 Robert Dewar <dewar@adacore.com>
11892
9e81dbc7 11893 * g-expect-vms.adb, g-expect.adb, s-poosiz.adb:
7469b7bc
AC
11894 Add pragma Warnings (Off) for unassigned IN OUT arguments
11895
11896 * sem_warn.adb (Output_Reference): Suppress messages for internal names
11897 (Check_References): Extensive changes to tune up warnings
11898 (Output_Non_Modifed_In_Out_Warnings): Changes to tune up warnings
11899 (Has_Pragma_Unmodifed_Check_Spec): New function
11900 (Check_References): Implement pragma Unmodified
11901 (Warn_On_Unassigned_Out_Parameter): Implement pragma Unmodified
11902
11903 * par-prag.adb: Dummy entry for pragma Unmodified
11904
11905 * sem_prag.adb: Implement pragma Unmodified
11906
11907 * einfo.ads, einfo.adb: (Has_Pragma_Unmodified): New flag
11908 (Proc_Next_Component_Or_Discriminant): Fix typo.
11909 Update comments.
11910
11911 * sem_util.adb (Note_Possible_Modification): Add processinng for pragma
11912 Unmodified.
11913 (Reset_Analyzed_Flags): Use Traverse_Proc instead of Traverse_Func,
11914 because the former already takes care of discarding the result.
11915 (Mark_Coextensions): Remove ununused initial value from Is_Dynamic.
11916 Add comment.
11917
11918 * snames.h, snames.ads, snames.adb: Add entry for pragma Unmodified
11919
119202007-12-19 Eric Botcazou <ebotcazou@adacore.com>
11921
11922 * targparm.adb, targparm.ads, system.ads, system-darwin-ppc.ads,
11923 system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
11924 system-hpux-ia64.ads, system-vxworks-arm.ads, system-darwin-x86.ads,
11925 system-vms_64.ads, system-vms-ia64.ads, system-linux-ia64.ads,
11926 system-freebsd-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
11927 system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads,
11928 system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
11929 system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
11930 system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
11931 system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads
11932 (Dynamic_Trampolines_Used): Delete.
11933
11934 * system-lynxos-x86.ads, system-lynxos-ppc.ads: Ditto.
11935 Turn on stack probing mechanism on LynxOS.
11936
119372007-12-19 Bob Duff <duff@adacore.com>
11938
11939 * atree.ads, atree.adb (Traverse_Func): Walk Field2 last, and eliminate
11940 the resulting tail recursion by hand. This prevents running out of
11941 memory on deeply nested concatenations, since Field2 is where the left
11942 operand of concatenations is stored.
11943 Fix bug (was returning OK_Orig in some cases). Fix return subtype to
11944 clarify that it can only return OK or Abandon.
11945
11946 * sem_res.adb (Resolve_Op_Concat): Replace the recursion on the left
11947 operand by iteration, in order to avoid running out of memory on
11948 deeply-nested concatenations. Use the Parent pointer to get back up the
11949 tree.
11950 (Resolve_Op_Concat_Arg, Resolve_Op_Concat_First,
11951 Resolve_Op_Concat_Rest): New procedures split out of
11952 Resolve_Op_Concat, so the iterative algorithm in Resolve_Op_Concat is
11953 clearer.
11954
11955 * checks.adb (Remove_Checks): Use Traverse_Proc instead of
11956 Traverse_Func, because the former already takes care of discarding the
11957 result.
11958
11959 * errout.adb (First_Node): Use Traverse_Proc instead of Traverse_Func,
11960 because the former already takes care of discarding the result.
11961 (Remove_Warning_Messages): Use appropriate subtype for Status and
9e81dbc7 11962 Discard
7469b7bc
AC
11963
119642007-12-19 Ed Schonberg <schonberg@adacore.com>
11965
11966 * exp_aggr.adb (Not_OK_For_Backend): A component of a private type with
11967 discriminants forces expansion of the aggregate into assignments.
11968 (Init_Record_Controller): If the type of the aggregate is untagged and
11969 is not inherently limited, the record controller is not limited either.
11970
119712007-12-19 Robert Dewar <dewar@adacore.com>
11972
11973 * exp_attr.adb (Expand_N_Attribute_Reference, case Size): Fix error in
11974 handling compile time known size of record or array (case of front end
11975 layout active, e.g. in GNAAMP).
11976
119772007-12-19 Javier Miranda <miranda@adacore.com>
11978
11979 * exp_ch3.adb (Expand_N_Object_Declaration): Complete the circuitry
11980 that forces the construction of static dispatch tables in case of
11981 record subtypes.
11982
119832007-12-19 Robert Dewar <dewar@adacore.com>
11984
11985 * exp_ch9.adb (Null_Statements): Moved to library level
11986 (Trivial_Accept_OK): New function
11987 (Expand_Accept_Declaration): Use Trivial_Accept_OK
11988 (Expand_N_Accept_Statement): Use Trivial_Accept_OK
11989
119902007-12-19 Robert Dewar <dewar@adacore.com>
11991
11992 * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Fix packed array type
11993 in complex case where array is Volatile.
11994
119952007-12-19 Ed Schonberg <schonberg@adacore.com>
11996
11997 * freeze.adb (Freeze_Record_Type, Check_Current_Instance): Implement
11998 properly the Ada2005 rules concerning when the current instance of a
11999 record type is aliased.
12000
120012007-12-19 Ed Schonberg <schonberg@adacore.com>
12002
12003 * par-ch3.adb (P_Record_Declaration): Guard against cascaded errors in
12004 mangled declaration
12005 (P_Type_Declaration): Diagnose misuse of "abstract" in untagged record
12006 declarations.
12007 (P_Variant_Part): Cleaner patch for parenthesized discriminant
12008
120092007-12-19 Vincent Celier <celier@adacore.com>
12010
12011 * prj-attr.adb (Package_Node_Id_Of): Returns Unknown_Package when
12012 package is not known
12013
12014 * prj-attr.ads (Unknown_Package): New constant
12015 Do not crash when an unknown package is in several projects
12016
12017 * prj-dect.adb (Parse_Package_Declaration): Mark an unknown package as
12018 ignored
12019
12020 * prj-nmsc.adb (Check): Remove obsolete code related to no longer
12021 existing package Language_Processing.
12022
120232007-12-19 Ed Schonberg <schonberg@adacore.com>
12024 Gary Dismukes <dismukes@adacore.com>
44914a04 12025 Samuel Tardieu <sam@rfc1149.net>
7469b7bc
AC
12026
12027 PR ada/15803, ada/15805
12028 * sem_ch6.adb, sem_ch3.adb (Constrain_Access): In Ada2005, diagnose
12029 illegal access subtypes when there is a constrained partial view.
12030 (Check_For_Premature_Usage): New procedure inside
12031 Access_Subprogram_Declaration for checking that an access-to-subprogram
12032 type doesn't reference its own name within any formal parameters or
12033 result type (including within nested anonymous access types).
12034 (Access_Subprogram_Declaration): Add call to Check_For_Premature_Usage.
12035 (Sem_Ch3.Analyze_Object_Declaration, Sem_ch6.Process_Formals): if the
12036 context is an access_to_variable, the expression cannot be an
12037 access_to_constant.
12038
120392007-12-19 Bob Duff <duff@adacore.com>
12040
12041 * sem_ch4.adb (Analyze_Concatenation_Rest): New procedure.
12042 (Analyze_Concatenation): Use iteration instead of recursion in order
12043 to avoid running out of stack space for deeply nested concatenations.
12044
120452007-12-19 Ed Schonberg <schonberg@adacore.com>
12046 Gary Dismukes <dismukes@adacore.com>
12047
12048 * sem_ch8.adb (Analyze_Subprogram_Renaming): Diagnose illegal renamings
12049 whose renamed entity is a subprogram that requires overriding.
12050 (Premature_Usage): Test for the case of N_Full_Type_Declaration when
12051 issuing an error for premature usage and issue a message that says
12052 'type' rather than 'object'.
12053
120542007-12-19 Gary Dismukes <dismukes@adacore.com>
12055
12056 PR ada/34149
12057 * sem_disp.adb (Check_Dispatching_Call): Augment existing test for
12058 presence of a statically tagged operand (Present (Static_Tag)) with
12059 test for Indeterm_Ancestor_Call when determining whether to propagate
12060 the static tag to tag-indeterminate operands (which forces dispatching
12061 on such calls).
12062 (Check_Controlling_Formals): Ada2005, access parameters can have
12063 defaults.
12064 (Add_Dispatching_Operation, Check_Operation_From_Private_View): do
12065 not insert subprogram in list of primitive operations if already there.
12066
120672007-12-19 Tristan Gingold <gingold@adacore.com>
12068
12069 * utils.c (create_var_decl_1): call rest_of_decl_compilation only for
12070 global variable.
12071
120722007-12-19 Thomas Quinot <quinot@adacore.com>
12073
12074 Part of PR ada/33688
12075 * gen-soccon.c: Add constant IP_PKTINFO to allow getting ancillary
12076 datagram info on Linux.
12077
120782007-12-19 Vincent Celier <celier@adacore.com>
12079
12080 * makegpr.adb (Check_Compilation_Needed): Normalize C_Source_Path so
12081 that the source path name is always found in the dependencies.
12082
120832007-12-19 Robert Dewar <dewar@adacore.com>
12084
12085 * gnat_rm.texi, gnat_ugn.texi: Update documentation of -gnatw.o
12086 Fix name of Wide_Wide_Latin_1/9 file names
12087 Add documentation for Ada.Exceptions.Last_Chance_Handler (a-elchha.ads)
12088 Add missing documentation for Ada.Wide_[Wide_]Characters.Unicode
12089 Add missing documentation for Ada.Command_Line.Response_File
12090 Update list of warning letters for Warnings pragma
12091 Add documentation for pragma Unmodified
12092
43779dea
ST
120932007-12-19 Samuel Tardieu <sam@rfc1149.net>
12094
12095 * Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target.
12096
5287c2bc
AC
120972007-12-17 Arnaud Charlet <charlet@adacore.com>
12098
12099 * s-vxwork-alpha.ads: Removed, no longer used.
12100
6343804d
JJ
121012007-12-15 Jakub Jelinek <jakub@redhat.com>
12102
12103 * Make-lang.in (gnat1, gnatbind): Pass ALL_CFLAGS on the link line.
12104
3958c9c8
ST
121052007-12-13 Samuel Tardieu <sam@rfc1149.net>
12106
12107 PR ada/34360
12108 * Makefile.in: Change two occurrences of mlib-tgt.adb by correct name
12109 mlib-tgt-specific.adb.
12110
78185974
BD
121112007-12-13 Bob Duff <duff@adacore.com>
12112
12113 * trans.c (Attribute_to_gnu): Check for violations of the
12114 No_Implicit_Dynamic_Code restriction. This checking used to be done in
12115 the front end, but is moved here so we can make it more accurate.
12116
e9b54d64
AC
121172007-12-13 Pascal Obry <obry@adacore.com>
12118
12119 * adaint.c (__gnat_pthread_setaffinity_np): New routine. A dummy
12120 version is provided for older GNU/Linux distribution not
12121 supporting thread affinity sets.
9e81dbc7 12122
e9b54d64
AC
12123 * s-osinte-linux.ads (SC_NPROCESSORS_ONLN): New constant for sysconf
12124 call.
12125 (bit_field): New packed boolean type used by cpu_set_t.
12126 (cpu_set_t): New type corresponding to the C type with
12127 the same name. Note that on the Ada side we use a bit
12128 field array for the affinity mask. There is not need
12129 for the C macro for setting individual bit.
12130 (pthread_setaffinity_np): New imported routine.
9e81dbc7 12131
e9b54d64
AC
12132 * s-taprop-linux.adb (Enter_Task): Check that the CPU affinity mask is
12133 no null.
12134 (Create_Task): Set the processor affinity mask if information
12135 is present.
9e81dbc7 12136
e9b54d64 12137 * s-tasinf-linux.ads, s-tasinf-linux.adb: New files.
9e81dbc7 12138
e9b54d64
AC
121392007-12-13 Robert Dewar <dewar@adacore.com>
12140
9e81dbc7
AS
12141 * s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
12142 s-osinte-freebsd.ads, s-osinte-lynxos.ads, s-osinte-tru64.ads,
12143 s-osinte-mingw.ads, s-osinte-aix.ads, s-osinte-hpux-dce.ads,
e9b54d64
AC
12144 s-osinte-irix.ads, s-osinte-solaris.ads, s-intman-vms.adb,
12145 s-osinte-vms.ads, s-osinte-vxworks6.ads, s-osinte-vxworks.ads,
9e81dbc7
AS
12146 s-auxdec.ads, s-auxdec-vms_64.ads, s-osinte-darwin.ads,
12147 s-taprop-vms.adb, s-interr-sigaction.adb, s-osinte-linux-hppa.ads,
e9b54d64
AC
12148 i-vxwork-x86.ads, s-tpopde-vms.ads: Add missing pragma Convention C
12149 for subprogram pointers.
12150
12151 * g-ctrl_c.adb: New file.
12152
12153 * g-ctrl_c.ads (Install_Handler): New body.
12154
12155 * freeze.adb (Freeze_Subprogram): Use new flag Has_Pragma_Inline_Always
12156 instead of obsolete function Is_Always_Inlined.
12157 (Freeze_Entity): check for tagged type in imported C subprogram
12158 (Freeze_Entity): check for 8-bit boolean in imported C subprogram
12159 (Freeze_Entity): check for convention Ada subprogram pointer in
12160 imported C subprogram.
12161 (Freeze_Fixed_Point_Type): In the case of a base type where the low
12162 bound would be chopped off and go from negative to zero, force
12163 Loval_Excl_EP to be the same as Loval_Incl_EP (the included lower
12164 bound) so that the size computation for the base type will take
12165 negative values into account.
12166
121672007-12-13 Eric Botcazou <ebotcazou@adacore.com>
12168 Bob Duff <duff@adacore.com>
12169 Tristan Gingold <gingold@adacore.com>
12170
9e81dbc7
AS
12171 * system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
12172 system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
12173 system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads,
12174 system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
12175 system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
12176 system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
12177 system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
e9b54d64 12178 system-vxworks-arm.ads, system-darwin-x86.ads, system.ads,
9e81dbc7 12179 system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
e9b54d64
AC
12180 system-linux-ppc.ads, system-linux-hppa.ads, system-hpux-ia64.ads,
12181 system-vms-ia64.ads (Stack_Check_Limits): New target parameter.
12182 (Always_Compatible_Rep): New flag to control trampolines globally.
12183 (Dynamic_Trampolines_Used): New flag for implementing the
12184 No_Implicit_Dynamic_Code restriction more correctly (not yet used,
12185 and not yet set correctly for some targets).
12186
12187 * s-taprop-vxworks.adb: Use stack limit method of stack checking.
12188 Simply indirectly call s-stchop when a task is created.
12189
9e81dbc7 12190 * ali.ads:
e9b54d64
AC
12191 New flag added: Stack_Check_Switch_Set which is set when '-fstack-check'
12192 appears as an argument (entries A) in an ALI file.
12193
12194 * fe.h (Stack_Check_Limits): Declare new target parameter.
12195 (Check_Implicit_Dynamic_Code_Allowed): New procedure.
12196
12197 * init.c: Declare __gnat_set_stack_limit_hook for VxWorks kernel RTS.
12198 This variable is declared in C to be sure not subject to elaboration
12199 code.
12200 (__gnat_map_signal, VxWorks): In kernel mode, map SIGILL to
12201 Storage_Error.
12202
12203 * targparm.ads, targparm.adb (Stack_Check_Limits): New parameter.
12204 (Always_Compatible_Rep, Dynamic_Trampolines_Used): New parameters.
12205
12206 * s-stchop.ads: Add comments.
12207
12208 * s-stchop-vxworks.adb: Package almost fully rewritten to use stack
12209 limit method of stack checking.
12210
12211 * s-stchop-limit.ads: New file.
12212
122132007-12-13 Robert Dewar <dewar@adacore.com>
12214
9e81dbc7
AS
12215 * sem_ch5.adb, s-taskin.adb, a-ciorma.adb, a-coorma.adb, a-cohama.adb,
12216 a-cihama.adb, g-awk.adb,
e9b54d64
AC
12217 s-inmaop-posix.adb: Update handling of assigned value/unreferenced
12218 warnings
12219
12220 * exp_smem.adb: Update handling of assigned value/unreferenced warnings
12221
12222 * sem.adb: Update handling of assigned value/unreferenced warnings
12223
12224 * a-exexpr-gcc.adb: Add a pragma warnings off for boolean return
12225
12226 * lib-xref.ads: Improve documentation for k xref type
12227
9e81dbc7 12228 * lib-xref.adb:
e9b54d64
AC
12229 Update handling of assigned value/unreferenced warnings
12230 (Generate_Reference): Warning for reference to entity for which a
12231 pragma Unreferenced has been given should be unconditional.
12232 If the entity is a discriminal, mark the original
12233 discriminant as referenced.
12234
12235 * sem_warn.ads, sem_warn.adb
12236 (Check_One_Unit): Test Renamed_In_Spec to control giving warning for
12237 no entities referenced in package
12238 (Check_One_Unit): Don't give message about no entities referenced in
12239 a package if a pragma Unreferenced has appeared.
12240 Handle new warning flag -gnatw.a/-gnatw.A
12241 Update handling of assigned value/unreferenced warnings
12242
12243 * atree.h: Add flags up to Flag247
12244 (Flag231): New macro.
12245
122462007-12-13 Jose Ruiz <ruiz@adacore.com>
12247
12248 * adaint.h: (__gnat_plist_init): Not defined for RTX.
12249
12250 * initialize.c (__gnat_initialize): Do not call __gnat_plist_init for
12251 RTX systems.
12252
12253 * Makefile.in: Add new files s-tasinf-linux.ads and s-tasinf-linux.adb.
12254 (LIBGNAT_TARGET_PAIRS, MISCLIB, THREADSLIB,
12255 EXTRA_GNATRTL_NONTASKING_OBJS, EXTRA_GNATRTL_TASKING_OBJS,
12256 GNATLIB_SHARED for RTX run time): Use the versions required by RTX.
12257
9e81dbc7 12258 * mingw32.h:
e9b54d64
AC
12259 Do not define GNAT_UNICODE_SUPPORT for RTX since it is not supported.
12260
12261 * sysdep.c (winflush_function for RTX): Procedure that does nothing
12262 since we only have problems with Windows 95/98, which are not
12263 supported by RTX.
12264 (__gnat_ttyname): Return the empty string on Nucleus, just as
12265 done on vxworks.
12266
122672007-12-13 Robert Dewar <dewar@adacore.com>
12268
9e81dbc7 12269 * a-textio.adb, a-textio.ads:
e9b54d64
AC
12270 Extensive changes to private part for wide character encoding
12271
12272 * a-witeio.adb, a-witeio.ads, a-ztexio.ads, a-ztexio.adb
12273 (Look_Ahead): Fix mishandling of encoded sequences
12274 Move declaration of Wch_Con to private part (should not be visible)
12275
12276 * ali.adb (Scan_ALI): Set default encoding method to brackets instead of
12277 UTF-8. Probably this is never used, but if it is, brackets is
12278 clearly correct.
12279
12280 * bindgen.adb (Get_WC_Encoding): New procedure to properly handle
12281 setting wide character encoding for no main program case and when
12282 encoding is specified using -W?
12283 Initialize stack limit of environment task if stack limit method of
12284 stack checking is enabled.
12285 (Gen_Adainit_Ada): Use Get_WC_Encoding to output encoding method
12286 (Gen_Adainit_C): Use Get_WC_Encoding to output encoding method
12287 (Get_Main_Unit_Name): New function.
12288 (Gen_Adainit_Ada): Add call to main program for .NET when needed.
12289 (Gen_Output_File): Set Bind_Main_Program to True for .NET
12290
12291 * bindusg.adb: Add line for -Wx switch
12292
12293 * s-wchcon.adb, s-wchcon.ads: (Is_Start_Of_Encoding): New function
12294 Add comments
12295 Add new useful constant WC_Longest_Sequences
12296
12297 * switch-b.adb: Clean up handling of -Wx switch
12298 For -gnatWx, set Wide_Character_Encoding_Method_Specified
12299
12300 * switch-c.adb: -gnatg activates warning on assertion errors
12301 For -gnatWx, set Wide_Character_Encoding_Method_Specified
12302
12303 * s-wchcon.adb: (Is_Start_Of_Encoding): New function
12304
123052007-12-13 Robert Dewar <dewar@adacore.com>
12306 Ed Schonberg <schonberg@adacore.com>
12307
12308 * a-ngcoty.adb: New pragma Fast_Math
12309
12310 * opt.adb: New pragma Fast_Math
12311
9e81dbc7 12312 * par-prag.adb:
e9b54d64
AC
12313 Add Implemented_By_Entry to the list of pragmas which do not require any
12314 special processing.
12315 (Favor_Top_Level): New pragma.
12316 New pragma Fast_Math
12317
12318 * exp_attr.adb: Move Wide_[Wide_]Image routines to Exp_Imgv
12319 (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
12320 Expand_Allocator_Expression): Take into account VM_Target
12321 (Expand_Attribute, case 'Identity): Handle properly the case where
12322 the prefix is a task interface.
12323 New pragma Fast_Math
12324
12325 * par.adb (Next_Token_Is): New function
12326 (P_Pragma): Add Skipping parameter
12327 (U_Left_Paren): New procedure
12328 (U_Right_Paren): New procedure
12329 New pragma Fast_Math
12330
12331 * par-ch10.adb (P_Subunit): Unconditional msg for missing ) after
12332 subunit
12333 New pragma Fast_Math
12334
12335 * sem_prag.adb: Add significance value to table Sig_Flag for pragma
12336 Implemented_By_Entry.
12337 (Analyze_Pragma): Add case for Ada 2005 pragma Implemented_By_Entry.
12338 (Set_Inline_Flags): Do not try to link pragma Inline onto chain of rep
12339 items, since it can apply to more than one overloadable entity. Set
12340 new flag Has_Pragma_Inline_Always for Inline_Always case.
12341 (Analyze_Pragma, case Complex_Representation): Improve error message.
12342 (Analyze_Pragma, case Assert): When assertions are disabled build the
12343 rewritten code with Sloc of expression rather than pragma, so new
12344 warning about failing is not deleted.
12345 (Analyze_Pragma): Allow pragma Preelaborable_Initialization to apply to
12346 protected types and update error message to reflect that. Test whether
12347 the protected type is allowed for the pragma (an error is issued if the
12348 type has any entries, or components that do not have preelaborable
12349 initialization).
12350 New pragma Fast_Math
12351 (Analyze_Pragma, case No_Return): Handle generic instance
12352
9e81dbc7 12353 * snames.h, snames.ads, snames.adb:
e9b54d64
AC
12354 Add new predefined name for interface primitive _Disp_Requeue.
12355 New pragma Fast_Math
12356
12357 * a-tags.ads, a-tags.adb: New calling sequence for
12358 String_To_Wide_[Wide_]String
12359 (Secondary_Tag): New subprogram.
12360
12361 * exp_imgv.ads, exp_imgv.adb: Move Wide_[Wide_]Image routines here
12362 from Exp_Attr
12363 New calling sequence for String_To_Wide_[Wide_]String
12364 (Expand_Image_Attribute): Major rewrite. New calling sequence avoids
12365 the use of the secondary stack for image routines.
12366
12367 * a-except-2005.adb, s-wchstw.ads, s-wchstw.adb, s-wwdenu.adb: New
12368 calling sequence for String_To_Wide_[Wide_]String
12369
12370 * par-ch3.adb (P_Declarative_Items): Recognize use of Overriding in
12371 Ada 95 mode
12372 (P_Unknown_Discriminant_Part_Opt): Handle missing parens gracefully
12373 Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
12374
12375 * par-ch6.adb (P_Subprogram): Recognize use of Overriding in Ada 95 mode
12376 (P_Formal_Part): Use Skipping parameter in P_Pragma call
12377 to improve error recovery
12378
12379 * par-util.adb (Next_Token_Is): New function
12380 (Signal_Bad_Attribute): Use new Namet.Is_Bad_Spelling_Of function
12381
12382 * par-ch2.adb (Skip_Pragma_Semicolon): Do not resynchronize to
12383 semicolon if missing
12384 (P_Pragma): Implement new Skipping parameter
12385 Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
12386 Fix location of flag for unrecognized pragma message
12387
12388 * par-tchk.adb (U_Left_Paren): New procedure
12389 (U_Right_Paren): New procedure
12390
123912007-12-13 Geert Bosch <bosch@adacore.com>
12392
9e81dbc7 12393 * a-tifiio.adb:
e9b54d64
AC
12394 (Put_Int64): Use Put_Digit to advance Pos. This fixes a case where
12395 the second or later Scaled_Divide would omit leading zeroes,
12396 resulting in too few digits produced and a Layout_Error as result.
12397 (Put): Initialize Pos.
12398
123992007-12-13 Robert Dewar <dewar@adacore.com>
12400
12401 atree.ads, atree.adb (Flag231..Flag247): New functions
12402 (Set_Flag231..Set_Flag247): New procedures
12403 (Basic_Set_Convention): Rename Set_Convention to be
12404 Basic_Set_Convention
12405 (Nkind_In): New functions
12406 Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
12407
12408 * exp_ch6.adb (Expand_Call): Use new flag Has_Pragma_Inline_Always
12409 instead
12410 of obsolete function Is_Always_Inlined
12411 (Register_Predefined_DT_Entry): Initialize slots of the second
12412 secondary dispatch table.
12413 Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
12414 (Expand_N_Function_Call): Remove special provision for stack checking.
12415
12416 * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
12417 Include _Disp_Requeue in the list of predefined operations.
12418 (Find_Interface_ADT): Modified to fulfill the new specification.
12419 Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
12420
9e81dbc7 12421 * par-ch4.adb, nlists.ads, nlists.adb:
e9b54d64
AC
12422 Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
12423
12424 * sinfo.ads, sinfo.adb: (Nkind_In): New functions
12425 Fix location of flag for unrecognized pragma message
12426
12427 * sem_ch7.adb: Use Nkind_In
12428
124292007-12-13 Vincent Celier <celier@adacore.com>
12430
9e81dbc7 12431 * opt.ads:
e9b54d64
AC
12432 Indicate what flags are used by the Project Manager, gprbuild and
12433 gprclean.
12434 (Opt.Follow_Links_For_Dirs): New flag
12435 (Warn_On_Assertion_Failure): New flag
12436 (Wide_Character_Encoding_Method_Specified): New flag
12437 (Suppress_All_Inlining): New switch set by -fno-inline
12438 (Real_VMS_Target): New flag
12439 New pragma Fast_Math
12440
124412007-12-13 Robert Dewar <dewar@adacore.com>
12442
12443 * back_end.adb: Recognize -fno-inline
12444
124452007-12-13 Robert Dewar <dewar@adacore.com>
12446
12447 * checks.adb: Fix optimization problem with short-circuited form
12448
124492007-12-13 Bob Duff <duff@adacore.com>
12450
12451 * clean.adb (Usage): Add line for -aP
12452 (Check_Version_And_Help): Change Check_Version_And_Help to be generic,
12453 with a parameter "procedure Usage", instead of passing a pointer to a
12454 procedure. This is to eliminate trampolines (since the Usage procedure
12455 is often nested in a main procedure, and it would be inconvenient to
12456 unnest it).
12457
12458 * g-comlin.adb (For_Each_Simple_Switch): Change For_Each_Simple_Switch
12459 to be generic, with a parameter "procedure Callback (...)", instead of
12460 passing a pointer to a procedure. This is to eliminate trampolines
12461 (since the Callback procedure is usually nested).
12462
9e81dbc7 12463 * gnatfind.adb, switch.adb, switch.ads, gnatlink.adb, gnatls.adb,
e9b54d64
AC
12464 gnatname.adb, gnatxref.adb, gnatchop.adb, gprep.adb, gnatbind.adb
12465 (Check_Version_And_Help): Change Check_Version_And_Help to be generic.
12466
12467 * g-pehage.adb (Compute_Edges_And_Vertices, Build_Identical_Key_Sets):
12468 Use the generic Heap_Sort_G instead of Heap_Sort_A.
12469
124702007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
12471
12472 * einfo.ads, einfo.adb: Flag 232 is now Implemented_By_Entry.
12473 (Implemented_By_Entry, Set_Implemented_By_Entry): New routines.
12474 (Write_Entry_Flags): Add an entry for Implemented_By_Entry.
12475 (Renamed_In_Spec): New flag
12476 (Has_Pragma_Inline_Always): New flag
12477 Add missing doc for pragma Obsolescent_Warning
12478 Add missing doc for 17 additional unused flags (230-247)
12479 (Is_Derived_Type): Remove condition "not Is_Generic_Type".
12480 Alphabetize with clauses.
12481 Separate Is_Thunk and Has_Thunks flags
12482 (Write_Entity_Flags): Add forgotten entry for Has_Thunks
12483 (Related_Interface): Renamed to Related_Type.
12484 (Has_Thunks/Set_Has_Thunks): Subprograms of new attribute.
12485 (Set_Is_Flag): Restrict the assertion.
12486
124872007-12-13 Vincent Celier <celier@adacore.com>
12488
12489 * errout.adb (Output_Source_Line): Do not keep a trailing space after
12490 the source line number if the source line is empty.
12491
124922007-12-13 Geert Bosch <bosch@adacore.com>
12493
12494 * eval_fat.adb (Decompose_Int): Handle argument of zero.
12495 (Compose): Remove special casing of zero.
12496 (Exponent): Likewise.
12497 (Fraction): Likewise.
12498 (Machine): Likewise.
12499 (Decompose): Update comment.
12500
125012007-12-13 Ed Schonberg <schonberg@adacore.com>
12502
12503 * exp_aggr.adb (Build_Record_Aggr_Code): If there is an aggregate for a
12504 limited ancestor part, initialize controllers of enclosing record
12505 before expanding ancestor aggregate.
12506 (Gen_Assign): If a component of the aggregate is box-initialized, add
12507 code to call Initialize if the component is controlled, and explicit
12508 assignment of null if the component is an access type.
12509
12510 Handle properly aggregates for limited types that appear in object
12511 declarations when the aggregate contains controlled values such as
12512 protected types.
12513 When expanding limited aggregates into individual components, do not
12514 call Adjust on controlled components that are limited.
12515
125162007-12-13 Ed Schonberg <schonberg@adacore.com>
12517
12518 * expander.adb: Take into account N_Subprogram_Renaming_Declaration
12519
125202007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
12521
12522 * exp_ch3.adb (Predefined_Primitive_Bodies): Generate the body of
12523 predefined primitive _Disp_Requeue.
12524 (Make_Predefined_Primitive_Specs): Create the spec for predefined
12525 primitive _Disp_Requeue.
12526 (Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): Set the
12527 type of formal Renamed_Eq to Entity_Id (instead of Node_Id).
12528 (Make_Predefined_Primitive_Specs): Spec of "=" needed if the parent is
12529 an interface type. In case of limited interfaces we now declare all the
12530 predefined primitives associated with synchronized interfaces as
12531 abstract.
12532 (Predef_Spec_Or_Body): For interface types generate abstract subprogram
12533 declarations.
12534 (Predefined_Primitive_Bodies): Add body of "=" if the parent of the
12535 tagged type is an interface type and there is no user-defined equality
12536 function.
12537 Add also bodies of predefined primitives associated with synchronized
12538 interfaces.
12539 (Freeze_Record_Type): Do not build bodies of predefined primitives of
12540 interface types because they are now defined abstract.
12541 Add missing documentation.
12542 (Expand_Record_Controller): Update occurrence of Related_Interface
12543 to Related_Type.
12544 (Build_Offset_To_Top_Functions): Do nothing in case of VM.
12545 (Expand_N_Object_Declaration): Take into account VM_Target when handling
12546 class wide interface object declaration.
12547 (Expand_Previous_Access_Type): Do not create a duplicate master entity
12548 if the access type already has one.
12549 (Expand_N_Object_Declaration): Defend against attempt to validity check
12550 generic types. Noticed for -gnatVcf specified with previous errors.
12551
125522007-12-13 Arnaud Charlet <charlet@adacore.com>
12553
12554 * exp_ch4.adb (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
12555 Expand_Allocator_Expression): Take into account VM_Target
12556
12557 * exp_ch5.adb (Expand_N_Extended_Return_Statement): Do not use
12558 secondary stack when VM_Target /= No_VM
12559
125602007-12-13 Javier Miranda <miranda@adacore.com>
12561 Ed Schonberg <schonberg@adacore.com>
12562
12563 * exp_ch7.adb (Expand_N_Package_Body): Replace occurrence of attribute
12564 Is_Complation_Unit by Is_Library_Level_Entity in the code
12565 that decides if the static dispatch tables need to be built.
12566 (Wrap_Transient_Declaration): Do not generate a finalization call if
12567 this is a renaming declaration and the renamed object is a component
12568 of a controlled type.
12569
125702007-12-13 Gary Dismukes <dismukes@adacore.com>
12571
12572 * exp_ch8.ads, exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration):
12573 In the case where the renamed subprogram is a dereference, call
12574 Force_Evaluation on the prefix.
12575
125762007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
12577 Ed Schonberg <schonberg@adacore.com>
12578
12579 * exp_ch9.adb (Expand_N_Asynchronous_Select,
12580 Expand_N_Conditional_Entry_Call, Expand_N_Timed_Entry_Call): Code and
12581 comment reformatting.
12582 (Set_Privals): Inherit aliased flag from formal. From code reading.
12583 (Build_Simple_Entry_Call): Out parameters of an access type are passed
12584 by copy and initialized from the actual. This includes entry parameters.
12585 (Expand_N_Requeue_Statement): Reimplement in order to handle both Ada 95
12586 and Ada 2005 models of requeue.
12587 (Null_Statements): Still connsider do-end block null if it contains
12588 Unreferenced and Warnings pragmas.
12589 (Expand_N_Accept_Statement): Do not optimize away null do end if
12590 dispatching policy is other than defaulted.
12591 (Expand_N_Timed_Entry_Call): When the triggering statement is a
12592 dispatching call, manually analyze the delay statement.
12593 (Find_Parameter_Type): Move subprogram to Sem_Util.
12594
125952007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
12596 Javier Miranda <miranda@adacore.com>
12597
12598 * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Primitive
12599 _Disp_Requeue occupies dispatch table slot number 15. Move
12600 _Disp_Timed_Select to slot 16.
12601 (Make_Disp_Requeue_Body, Make_Disp_Requeue_Spec): New routines which
12602 generate the spec and body of _Disp_Reqeueue.
12603 (Make_DT): Build and initialize the second dispatch table.
12604 Handle initialization of RC_Offset when the parent
12605 is a private type with variable size components.
12606 (Make_Secondary_DT): Complete documentation. Add support to
12607 initialize the second dispatch table.
12608 (Make_Tags): Generate the tag of the second dispatch table.
12609 (Register_Primitive): Add support to register primitives in the
12610 second dispatch table.
12611
126122007-12-13 Pascal Obry <obry@adacore.com>
12613
12614 * expect.c (__gnat_kill) [WIN32]: Implement the SIGINT signal on
12615 Windows. This signal is used by gnatmake to kill child processes for
12616 example.
12617
126182007-12-13 Javier Miranda <miranda@adacore.com>
12619
12620 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing
12621 support for generic dispatching constructor calls in which we need to
12622 locate the tag of a secondary dispatch table associated with an
12623 interface type to properly dispatch the call.
12624 (Expand_N_Attribute_Reference [case Address],
12625 Expand_Dispatching_Constructor_Call, Expand_Unc_Deallocation): Fix
12626 handling of VM targets.
12627
126282007-12-13 Robert Dewar <dewar@adacore.com>
12629 Ed Schonberg <schonberg@adacore.com>
12630
12631 * exp_prag.adb (Expand_Pragma_Assert): Recognize new warning flag for
12632 assert fail
12633
12634 * ug_words: Add entries for -gnatw.a -gnatw.A
12635
12636 * sem_res.adb (Set_String_Literal_Subtype): If the context of the
12637 literal is a subtype with non-static constraints, use the base type of
12638 the context as the base of the string subtype, to prevent type
12639 mismatches in gigi.
12640 (Resolve_Actuals): If the actual is an entity name, generate a
12641 reference before the actual is resolved and expanded, to prevent
12642 spurious warnings on formals of enclosing protected operations.
12643 (Analyze_Overloaded_Selected_Component): If type of prefix if
12644 class-wide, use visible components of base type.
12645 (Resolve_Selected_Component): Ditto.
12646 (Resolve_Short_Circuit): Detect case of pragma Assert argument
12647 evaluating to False, and issue warning message.
12648
12649 * usage.adb: Add lines for -gnatw.a and -gnatw.A
12650
126512007-12-13 Emmanuel Briot <briot@adacore.com>
12652
12653 * g-calend.ads (No_Time): New constant, to represent an uninitialized
12654 time value
12655
12656 * g-catiio.ads, g-catiio.adb (Value): Added support for more date
12657 formats.
12658 (Month_Name_To_Number): New subprogram
12659
12660 * g-dirope.adb (Get_Current_Dir): On windows, normalize the drive
12661 letter to upper-case.
12662
126632007-12-13 Robert Dewar <dewar@adacore.com>
12664 Ed Schonberg <schonberg@adacore.com>
12665
12666 * gnat1drv.adb (Gnat1drv): Properly set new flag Opt.Real_VMS_Target
12667
12668 * layout.adb (Resolve_Attribute, case 'Access): If designated type of
12669 context is a limited view, use non-limited view when available. If the
12670 non-limited view is an unconstrained array, this enforces consistency
12671 requirements in 3.10.2 (27).
12672 (Layout_Type): For an access type whose designated type is a limited
12673 view, examine its declaration to determine if it is an unconstrained
12674 array, and size the access type accordingly.
12675 (Layout_Type): Do not force 32-bits for convention c subprogram
12676 pointers in -gnatdm mode, only if real vms target.
12677
12678 * sem_attr.adb (Analyze_Access_Attribute): Use new flag
12679 Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
12680 (Analyze_Access_Attribute,Attribute_Address): Remove checks for
12681 violations of the No_Implicit_Dynamic_Code restriction.
12682 (Resolve_Attribute, case 'Access): If designated type of context is a
12683 limited view, use non-limited view when available. If the non-limited
12684 view is an unconstrained array, this enforces consistency requirements
12685 in 3.10.2 (27).
12686 (Layout_Type): For an access type whose designated type is a limited
12687 view, examine its declaration to determine if it is an unconstrained
12688 array, and size the access type accordingly.
12689
126902007-12-13 Vincent Celier <celier@adacore.com>
12691
12692 * gnatcmd.adb (GNATCmd): Do not issue -d= switch to gnatmetric when
12693 object directory of main project does not exist.
12694 On VMS, correctly set then environment variable for the source
12695 directories.
12696
126972007-12-13 Vasiliy Fofanov <fofanov@adacore.com>
12698
12699 * g-regist.ads, g-regist.adb (Set_Value): new parameter Expand; when
12700 set to True this procedure will create the value of type REG_EXPAND_SZ.
12701 It was only possible to create REG_SZ values before.
12702
127032007-12-13 Robert Dewar <dewar@adacore.com>
12704
12705 * g-spchge.ads, g-spchge.adb, g-u3spch.adb, g-u3spch.ads,
12706 g-wispch.adb, g-wispch.ads, g-zspche.adb, g-zspche.ads,
12707 namet-sp.adb, namet-sp.ads: New files.
12708
12709 * g-speche.adb: Use generic routine in g-spchge
12710
9e81dbc7 12711 * s-wchcnv.ads, s-wchcnv.adb:
e9b54d64
AC
12712 Minor code cleanup (make formal type consistent with spec)
12713
12714 * namet.adb: Update comments.
12715
12716 * par-endh.adb (Evaluate_End_Entry): Use new
12717 Namet.Sp.Is_Bad_Spelling_Of function
12718
12719 * par-load.adb (Load): Use new Namet.Sp.Is_Bad_Spelling_Of function
12720
12721 * sem_aggr.adb (Resolve_Record_Aggregate): If a component of an
12722 ancestor is an access type initialized with a box, set its type
12723 explicitly, for use in subsequent expansion.
12724 (Check_Misspelled_Component): Use new Namet.Sp.Is_Bad_Spelling_Of
12725 function
12726
127272007-12-13 Robert Dewar <dewar@adacore.com>
12728
12729 * g-spipat.adb (Break): Fix accessibility error (vsn taking not null
12730 access Vstring)
12731
127322007-12-13 Robert Dewar <dewar@adacore.com>
12733
12734 * inline.adb (Back_End_Cannot_Inline): Use new flag
12735 Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
12736
12737 * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Use new flag
12738 Has_Pragma_Inline_Always instead.
12739 of obsolete function Is_Always_Inlined
12740 (Build_Body_To_Inline): Same change
12741 (Cannot_Inline): Same change
12742 Do not give warning on exception raise in No_Return function
12743
12744 * sem_ch13.adb (Analyze_Record_Representation_Clause): If an inherited
12745 component has two inconsistent component clauses in the same record
12746 representation clause, favor the message that complains about
12747 duplication rather than inconsistency.
12748 Update comments.
12749 (Record_Representation_Clause): Do not warn on missing component
12750 clauses for inherited components of a type extension.
12751 (Rep_Item_Too_Late): Do not attempt to link pragma into rep chain for
12752 an overloadable item if it is a pragma that can apply to multiple
12753 overloadable entities (e.g. Inline) because a pragma cannot be on
12754 more than one chain at a time.
12755 (Validate_Unchecked_Conversion): Add code to warn on unchecked
12756 conversion where one of the operands is Ada.Calendar.Time.
12757 (Analyze_Attribute_Definition_Clause): Fix typo in error message.
12758 For now, ignore Component_Size clause on VM targets, as done for
12759 pragma Pack.
12760
127612007-12-13 Emmanuel Briot <briot@adacore.com>
12762 Vincent Celier <celier@adacore.com>
12763
12764 * prj.ads, prj.adb (Is_A_Language): Now takes a Name_Id instead of a
12765 string
12766 (Must_Check_Configuration, Default_Language_Is_Ada): new flags in
12767 prj.ads
12768 (Hash): Move instantiation of System.HTable.Hash from spec to body
12769 (prj-nmsc.adb): Optimize calls to Name_Find when on case sensitive
12770 systems, since we do not need to recompute the Name_Id for the canonical
12771 file name.
12772 (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
12773 as a parameter. This parameter is in fact always "ada" in all calls, and
12774 we were doing 160560 extra calls to Name_Find to convert it to Name_Ada
12775 while loading a project with 40000 files
12776
12777 * prj-attr.adb: Fix name of attribute Dependency_Driver
12778 Change the kind of indexing for attribute Root
12779
12780 * prj-dect.adb (Parse_Declarative_Items): Allow redeclarations of
12781 variables already declared, in case constructions.
12782
12783 * prj-env.adb (Initialize): Reset Current_Source_Path_File and
12784 Current_Object_Path_File to No_Path.
12785
12786 * prj-ext.adb (Initialize_Project_Path): In multi language mode, use
12787 ADA_PROJECT_PATH if value of GPR_PROJECT_PATH is empty.
12788
12789 * prj-makr.adb: new parameter Current_Dir
12790
12791 * prj-nmsc.ads, prj-nmsc.adb (Find_Explicit_Sources): Do not look for
12792 Ada sources when language is not Ada.
12793 Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
12794 (Find_Excluded_Sources, Find_Explicit_Sources): new subprograms
12795 (Must_Check_Configuration, Default_Language_Is_Ada): new flags.
12796 (Locate_Directory): Always resolve links when computing Canonical_Path
12797 (Look_For_Sources): Make sure that Name_Buffer contains the file name
12798 in Source_Files before checking for the presence of a directory
12799 separator.
12800 Optimize calls to Name_Find when on case sensitive systems.
12801 (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
12802 as a parameter.
12803 (Prj.Nmsc.Check): new parameter Current_Dir
12804 (Check_Ada_Naming_Schemes): Restrictions on suffixes are relaxed. They
12805 cannot be empty and the spec suffix cannot be the same as the body or
12806 separate suffix.
12807 (Get_Unit): When a file name can be of several unit kinds (spec, body or
12808 subunit), always consider the longest suffix.
12809 (Check_Configuration): Do not issue an error if there is no compiler
12810 for a language. Just issue a warning and ignore the sources for the
12811 language.
12812 (Check_Library_Attributes): Only check Library_Dir if Library_Name is
12813 not empty.
12814 (Check_Naming_Schemes.Maked_Unit): Only output message if high verbosity
12815 (Unit_Exceptions): New hash table
12816 (Check_Naming_Schemes): Check if a file that could be a unit because of
12817 the naming scheme is not in fact a source because there is an exception
12818 for the unit.
12819 (Look_For_Sources): Put the unit exceptions in hash table
12820 Unit_Exceptions
12821 (Get_Unit_Exceptions): Give initial value No_Source to local variable
12822 Other_Part to avoid exception when code is compiled with validity
12823 checking.
12824 (Get_Sources_From_File): Check that there is no directory information
12825 in the file names.
12826 (Look_For_Sources): Check that there is no directory information in the
12827 list of file names in Source_Files.
12828 (Look_For_Sources): In multi-language mode, do not allow exception file
12829 names that are excluded.
12830 (Excluded_Sources_Htable): New hash table
12831 (Search_Directories.Check_File): New procedure to simplify
12832 Search_Directories.
12833 (Search_Directories): Do not consider excluded sources
12834 (Look_For_Sources): Populate Excluded_Sources_Htable before calling
12835 Search_Directories.
12836 (Get_Exceptions): Set component Lang_Kind of Source_Data
12837 (Get_Unit_Exceptions): Ditto
12838 (Search_Directories): Ditto
12839
12840 * prj-pars.adb: new parameter Current_Dir
12841
9e81dbc7 12842 * prj-part.ads, prj-part.adb:
e9b54d64
AC
12843 Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
12844 (Opt.Follow_Links_For_Dirs): New flag
12845 (Project_Path_Name_Of): Cache information returned by this routine as
12846 Locate_Regular_File is a costly routine. The code to output a log
12847 information and the effective call to Locate_Regular_File is now
12848 factorized into a routine (code clean-up).
12849 (Parse, Parse_Single_Project): new parameter Current_Dir
12850 When main project file cannot be found, indicate in the error
12851 message the project path that was used to do the search.
12852
12853 * prj-proc.ads, prj-proc.adb (Opt.Follow_Links_For_Dirs): New flag
12854 (Prj.Proc.Process*): new parameter Current_Dir
12855
12856 * switch-m.adb: Change Opt.Follow_Links to Opt.Follow_Links_For_Files
12857
128582007-12-13 Bob Duff <duff@adacore.com>
12859
12860 * restrict.ads, restrict.adb (Check_Implicit_Dynamic_Code_Allowed): New
12861 procedure to be called from the back end to check the
12862 No_Implicit_Dynamic_Code restriction.
12863
128642007-12-13 Arnaud Charlet <charlet@adacore.com>
12865
12866 * rtsfind.adb (Check_CRT): Take into account RTE_Available_Call
12867 Fixes another case where RTE_Available_Call was ignored instead of being
12868 taken into account.
12869 (Load_Fail): Ditto.
12870
12871 * rtsfind.ads: Add new entries.
12872
128732007-12-13 Robert Dewar <dewar@adacore.com>
12874
12875 * g-byorma.adb, g-byorma.ads, g-decstr.adb, g-decstr.ads,
12876 g-deutst.ads, g-encstr.adb, g-encstr.ads, g-enutst.ads: New files.
12877
12878 * scn.adb: Implement BOM recognition
12879
128802007-12-13 Thomas Quinot <quinot@adacore.com>
12881 Ed Schonberg <schonberg@adacore.com>
12882
12883 * sem_ch10.adb (Check_Private_Child_Unit): A non-private library level
12884 subprogram body that acts as its own spec may not have a non-private
12885 WITH clause on a private sibling.
12886 (Build_Unit_Name): If the parent unit in the name in a with_clause on a
12887 child unit is a renaming, create an implicit with_clause on that
12888 parent, and not on the unit it renames, to prevent visibility errors
12889 in the current unit.
12890
128912007-12-13 Ed Schonberg <schonberg@adacore.com>
12892
12893 * sem_ch12.adb (Instantiate_Formal_Subprogram): In the subprogram
12894 renaming declaration, use the Slocs of the formal parameters from the
12895 declaration of the formal subprogram when creating the formal parameter
12896 entities in the renaming declaration.
12897 (Analyze_Formal_Type_Declaration): Change the placement of the error
12898 message concerning illegal known discriminants. It is now posted on the
12899 type rather than on the first discriminant. This change ensures early
12900 error report.
12901 (Freeze_Subprogram_Body): If the generic subprogram is nested within
12902 the package body that contains the instance, do not generate an
12903 out-of-place freeze node for the enclosing package.
12904 (Collect_Previous_Instantiations): Ignore internal instantiations
12905 generated for formal packages.
12906 (Validate_Derived_Type_Instance): Add a check that when a formal
12907 derived type is Known_To_Have_Preelab_Init then the actual type must
12908 have preelaborable initialization, and issue an error when this
12909 condition is violated.
12910
129112007-12-13 Robert Dewar <dewar@adacore.com>
12912
12913 * s-imenne.adb, s-imenne.ads: New files.
12914
9e81dbc7
AS
12915 * s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
12916 s-imgdec.ads, s-imgenu.ads, s-imgint.adb, s-imgint.ads, s-imglld.adb,
12917 s-imglld.ads, s-imglli.adb, s-imglli.ads, s-imgllu.adb, s-imgllu.ads,
12918 s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwch.adb,
e9b54d64
AC
12919 s-imgwch.ads: New calling sequence for Image routines to avoid sec
12920 stack usage.
12921
129222007-12-13 Javier Miranda <miranda@adacore.com>
12923 Ed Schonberg <schonberg@adacore.com>
12924
12925 * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Avoid
12926 generation of spurious error if parent is an interface type; caused
12927 because predefined primitive bodies will be generated later by
12928 Freeze_Record_Type.
12929 (Process_Subtype): The subtype inherits the Known_To_Have_Preelab_Init
12930 flag.
12931 (Derive_Subprograms): Handle derivations of predefined primitives
12932 after all the user-defined primitives to ensure that they are
12933 found in proper order in instantiations.
12934 (Add_Interface_Tag_Components, Inherit_Components): Update occurrences
12935 of Related_Interface to Related_Type.
12936 (Record_Type_Declaration): Minor reordering of calls to decorate the
12937 Tag component because the entity must have set its Ekind attribute
12938 before setting its Is_Tag attribute.
12939 (Analyze_Subtype_Declaration): In the case of subtypes with
12940 Private_Kind, inherit Known_To_Have_Preelab_Init from the parent.
12941
129422007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
12943 Ed Schonberg <schonberg@adacore.com>
12944
12945 * sem_ch4.adb (Analyze_Selected_Component): Include the requeue
12946 statement to the list of contexts where a selected component with a
12947 concurrent tagged type prefix should yield a primitive operation.
12948 (Find_Primitive_Operation): Handle case of class-wide types.
12949 (Analyze_Overloaded_Selected_Component): If type of prefix is
12950 class-wide, use visible components of base type.
12951 (Resolve_Selected_Component): Ditto.
12952 (Try_Primitive_Operation, Collect_Generic_Type_Ops): If the type is a
12953 formal of a generic subprogram. find candidate interpretations by
12954 scanning the list of generic formal declarations.:
12955 (Process_Implicit_Dereference_Prefix): If the prefix has an incomplete
12956 type from a limited_with_clause, and the full view is available, use it
12957 for subsequent semantic checks.
12958 (Check_Misspelled_Selector): Use Namet.Sp.Is_Bad_Spelling_Of function
12959 (Find_Primitive_Operation): New function.
12960 (Analyze_Overloaded_Selected_Component): insert explicit dereference
12961 only once if several interpretations of the prefix yield an access type.
12962 (Try_Object_Operation): Code and comment cleanup.
12963 (Analyze_Selected_Component): Reorder local variables. Minot comment and
12964 code reformatting. When the type of the prefix is tagged concurrent, a
12965 correct interpretation might be available in the primitive and
12966 class-wide operations of the type.
12967
129682007-12-13 Robert Dewar <dewar@adacore.com>
12969 Ed Schonberg <schonberg@adacore.com>
12970
12971 * sem_ch8.adb (Analyze_Subprogram_Renaming): Special error message for
12972 renaming entry as subprogram using rename-as-body if subprogram spec
12973 frozen.
12974 (Use_One_Type): The clause is legal on an access type whose designated
12975 type has a limited view.
12976 (Find_Direct_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
12977 (Find_Expanded_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
12978 (Analyze_Renamed_Primitive_Operation): new procedure to determine the
12979 operation denoted by a selected component.
12980 (Analyze_Renamed_Entry): Resolve the prefix of the entry name, because
12981 it can be an expression, possibly overloaded, that returns a task or
12982 an access to one.
12983
129842007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
12985 Gary Dismukes <dismukes@adacore.com>
12986
12987 * sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a
12988 requeue statement is dispatching. Do not emit an error when the name is
12989 not an entry and the context is a dispatching select. Add code to
12990 perform subtype conformance between the formals of the current entry
12991 and those of the target interface primitive.
12992 (Analyze_Asynchronous_Select, Analyze_Conditional_Entry_Call, Analyze_
12993 Timed_Entry_Call): Analyze the triggering statement as the first step of
12994 the processing. If this is a dispatching select, postpone the analysis
12995 of all select statements until the Expander transforms the select. This
12996 approach avoids generating duplicate identifiers after the Expander has
12997 replicated some of the select statements. In case the Expander is
12998 disabled, perform regular analysis.
12999 (Check_Triggering_Statement): New routine.
13000 (Analyze_Requeue): Exclude any interpretations that are not entries when
13001 checking overloaded names in a requeue. Also test type conformance for
13002 matching interpretations rather than requiring subtype conformance at
13003 that point to conform with the RM's resolution rule for requeues.
13004
130052007-12-13 Ed Schonberg <schonberg@adacore.com>
13006
13007 * sem_disp.adb (Check_Dispatching_Call): If an actual in a call to an
13008 inherited operation is a defaulted tag-indeterminate call, and there is
13009 a statically tagged actual, use the static tag as a controlling actual
13010 for the defaulted actual.
13011
130122007-12-13 Geert Bosch <bosch@adacore.com>
13013
13014 * sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static
13015 context, so do not call Check_Non_Static_Context.
13016
130172007-12-13 Hristian Kirtchev <kirtchev@adacore.com>
13018
13019 * sem_type.adb (Function_Interp_Has_Abstract_Op): Add guard to check
13020 whether formal E is an entity which may have parameters.
13021
130222007-12-13 Bob Duff <duff@adacore.com>
13023 Javier Miranda <miranda@adacore.com>
13024 Robert Dewar <dewar@adacore.com>
13025
13026 * sem_util.ads, sem_util.adb (Is_Concurrent_Interface): New routine.
13027 (Set_Convention): New procedure to set the Convention flag, and in
13028 addition make sure the Favor_Top_Level flag is kept in sync (all
13029 foreign-language conventions require Favor_Top_Level = True).
13030 (Collect_Abstract_Interfaces): Update occurrences of Related_Interface
13031 to Related_Type.
13032 (Collect_Interfaces_Info): Minor update to handle the two secondary
13033 dispatch tables. Update occurrence of Related_Interface to Related_Type.
13034 (Generate_Parent_Ref): Add parameter to specify entity to check
13035 (Is_Preelaborable_Expression): Allow the name of a discriminant to
13036 initialize a component of a type with preelaborable initialization.
13037 This includes the case of a discriminal used in such a context.
13038 (Is_Dependent_Component_Of_Mutable_Object): Take into account the
13039 latest Ada 2005 rules about renaming and 'Access of
13040 discriminant-dependent components.
13041 (Check_Nested_Access): Add handling when there are no enclosing
13042 subprograms (e.g. case of a package body).
13043 (Find_Parameter_Type): Factor routine from several other compiler files.
13044 Remove routine from Find_Overridden_Synchronized_Primitive.
13045
130462007-12-13 Thomas Quinot <quinot@adacore.com>
13047
13048 * sinput.adb (Get_Source_File_Index): Add assertion to guard against
13049 an invalid access to an uninitialized slot in the
13050 Source_File_Index_Table.
13051
130522007-12-13 Thomas Quinot <quinot@adacore.com>
13053
13054 * sinput-l.adb (Load_File): Disable style checks when preprocessing.
13055
130562007-12-13 Bob Duff <duff@adacore.com>
13057
13058 * s-soflin.ads: Apply new pragma Favor_Top_Level to all
13059 access-to-subprogram types in this package.
13060
130612007-12-13 Olivier Hainque <hainque@adacore.com>
13062
13063 * s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant
13064 with Stack_Grows_Down in System.Parameters. Rename Array_Address into
13065 Stack_Overlay_Address and document that we are using an internal
13066 abstraction.
13067 (Byte_Size, Unsigned_32_Size): Remove, now useless.
13068 (Pattern_Type, Bytes_Per_Pattern): New subtype and constant, to be used
13069 consistently throughout the various implementation pieces.
13070
13071 * s-stausa.adb (Stack_Slots): New type, abstraction for the stack
13072 overlay we are using to fill the stack area with patterns.
13073 (Top_Slot_Index_In, Bottom_Slot_Index_In): Operations on Stack_Slots.
13074 (Push_Index_Step_For, Pop_Index_Step_For): Likewise.
13075 (Fill_Stack, Compute_Result): Use the Stack_Slots abstraction.
13076
130772007-12-13 Robert Dewar <dewar@adacore.com>
13078
13079 * s-stoele.adb ("mod"): mod negative value raises Constraint_Error
13080
130812007-12-13 Arnaud Charlet <charlet@adacore.com>
13082
9e81dbc7 13083 * s-tassta.adb:
e9b54d64
AC
13084 (Create_Task): Take into account tasks created by foreign threads.
13085 Code clean up: use constants instead of hard coded values.
13086
130872007-12-13 Robert Dewar <dewar@adacore.com>
13088
13089 * styleg.adb (Check_Comment): More liberal rules for comment placement
13090
130912007-12-13 Olivier Hainque <hainque@adacore.com>
13092
13093 * tb-alvms.c (struct tb_entry_t, __gnat_backtrace): Revert back to use
13094 of Procedure Value instead of Frame Pointer as the invocation
13095 identifier associated with the instruction pointer in each traceback
13096 entry.
13097
13098 * g-trasym-vms-alpha.adb (Traceback_Entry, PV_For, FP_For,
13099 TB_Entry_For): Revert back to use of Procedure Value instead of Frame
13100 Pointer as the invocation identifier passed to tbk$symbolize.
13101
13102 * s-traent-vms.ads, s-traent-vms.adb
13103 (Traceback_Entry, PV_For, FP_For, TB_Entry_For): Revert back to use of
13104 Procedure Value instead of Frame Pointer as the invocation identifier
13105 passed to tbk$symbolize.
13106
131072007-12-13 Robert Dewar <dewar@adacore.com>
13108
9e81dbc7 13109 * tbuild.ads, tbuild.adb:
e9b54d64
AC
13110 Fix location of flag for unrecognized pragma message
13111
131122007-12-13 Robert Dewar <dewar@adacore.com>
13113
13114 * treepr.ads, treepr.adb: (pl): implement use of positive value
13115 shorthands
13116
131172007-12-13 Robert Dewar <dewar@adacore.com>
13118
13119 * xeinfo.adb: Remove warnings
13120 * xnmake.adb: Remove warnings
13121 * xsinfo.adb: Remove warnings
13122 * xtreeprs.adb: Remove warnings
13123 * xsnames.adb: Remove warnings
13124
13125 * a-ngcoar.adb: Fix typo.
13126 * s-interr.adb: Minor reformatting
13127 * env.c: Minor reformatting.
13128 * g-bytswa.adb: Minor reformatting.
13129 * g-rannum.ads: Minor documentation improvements
13130 * s-tasinf-mingw.adb: Minor header fix
13131 * a-clrefi.adb: Minor reformatting
13132 * g-sttsne.ads: Minor documentation improvement
13133 * g-sttsne-locking.ads: Minor documentation improvement
13134 * g-soliop-solaris.ads: Minor documentation improvement
13135 * g-soliop-mingw.ads: Minor documentation improvement
13136 * g-soliop.ads: Minor documentation improvement
13137 * exp_aggr.ads: Minor reformatting
13138 * debug.adb: Add documentation for the gprbuild debug flags
13139 * exp_ch2.adb: Use Nkind_In to simplify code throughout
13140 * exp_pakd.adb: Minor reformatting
13141
13142 * g-altive.ads, g-alleve.adb: Remove assertions.
13143 Add comment about minor differences between targets regarding
13144 floating-point operations.
13145
13146 * g-thread.adb: Remove pragma unreferenced.
13147 * lib.ads: Minor reformatting
13148 * par-ch9.adb: Minor reformatting of error messages
13149 * sem_case.adb: Minor reformatting
13150 * s-fileio.adb: Minor reformattinng
13151 * s-vmexta.ads: Minor typo
9e81dbc7 13152 * vxaddr2line.adb:
e9b54d64
AC
13153 Take into account 'Success' value as per new GNAT warning.
13154
131552007-12-13 Vincent Celier <celier@adacore.com>
13156
13157 * a-direct.adb (Create_Path): Always take '/' as a directory separator,
13158 even on Windows
13159
131602007-12-13 Robert Dewar <dewar@adacore.com>
13161 Bob Duff <duff@adacore.com>
13162
13163 * gnat_ugn.texi: Dcoument new rules for style check comment alignment
13164 Document that suffixes may be terminations of each others
13165 Add doc for -gnatw.a and -gnatw.A
13166 Document gnatbind -Wx switch
13167 Document BOM recognition
13168 Document pragma Implemented_By_Entry.
13169 Document new units.
13170
13171 * gnat_rm.texi: (Favor_Top_Level): Document new pragma.
13172 Add doc for pragma Unreferenced suppressing no entities referenced msg
13173 Add documentation of GNAT.Directory_Operations.Iteration
13174 Add documentation of GNAT.Random_Numbers
13175 Add documentation for pragma Shared.
13176 Correct documentation for Bit_Order
13177 Add documentation for the Pool_Address attribute.
13178 Fix and improve documentation of pragma machine_attribute.
13179 New pragma Fast_Math
13180 Document BOM recognition
13181
13182 * vms_data.ads: Add entries for -gnatw.a -gnatw.A
13183 Add /Wide_Character_Encoding for binder
13184 Add qualifier for the new gnatpp option --no-separate-loop-then
13185
131862007-12-13 Matthew Heaney <heaney@adacore.com>
13187
13188 * a-cohase.ads, a-cihama.ads, a-cihase.ads, a-cohama.ads: Document
13189 which generic formal operations are called for each operation.
13190
131912007-12-13 Olivier Hainque <hainque@adacore.com>
13192
13193 * tb-gcc.c (uw_data_t, trace_callback): Only define if not GCC-SJLJ eh.
13194 (__gnat_backtrace): Early return 0 if using GCC-SJLJ eh.
13195
131962007-12-13 Emmanuel Briot <briot@adacore.com>
13197
13198 * s-os_lib.ads, s-os_lib.adb (Normalize_Pathname): Do not compute
13199 Reference_Dir unless we actually need it.
13200
132012007-12-13 Vasiliy Fofanov <fofanov@adacore.com>
13202 Tristan Gingold <gingold@adacore.com>
13203
13204 * g-socthi-vms.ads (Fd_Set_Access): make it 32-bit.
13205
13206 * s-osprim-vms.adb,
13207 a-calend-vms.adb: Remove pragma warning off and add pragma
13208 unreferenced.
13209
132102007-12-13 Robert Dewar <dewar@adacore.com>
13211
13212 * impunit.adb: Add entries for missing units
13213
13214 * Makefile.rtl: Add new run-time units.
13215
13216 * Make-lang.in: Update dependencies.
13217
132182007-12-13 Bob Duff <duff@adacore.com>
13219
13220 * itypes.ads, itypes.adb (Create_Itype): For access-to-subprogram
13221 types, set Can_Use_Internal_Rep appropriately, based on
13222 Always_Compatible_Rep_On_Target.
13223
132242007-12-13 Gary Dismukes <dismukes@adacore.com>
13225 Arnaud Charlet <charlet@adacore.com>
13226
13227 * make.adb (Scan_Make_Arg): Add test for -aamp_target switch, passing
13228 it to the front end and setting the aamp_target environment variable
13229 to the switch's argument to ensure that gnaampbind and gnaamplink will
13230 take the specified library into account.
13231 (Make): Only set Check_Object_Consistency to False for JVM, not for CIL
13232 target, since the CIL compiler supports an "object" file (.il files).
13233
132342007-12-13 Vincent Celier <celier@adacore.com>
13235
13236 * symbols-processing-vms-ia64.adb (Process.Skip_Half): New procedure
13237 (Process.H): Remove variable. Replace Read_Half (H) with Skip_Half.
13238
132392007-12-13 Geert Bosch <bosch@adacore.com>
13240
9e81dbc7 13241 * s-parame-vxworks.adb:
e9b54d64
AC
13242 Update comments to reflect usage of this package by Nucleus.
13243
132442007-12-13 Arnaud Charlet <charlet@adacore.com>
13245
13246 * i-vxwork.ads: Kill new warning on Convention C, since changing the
13247 spec would break code.
13248
13249 * i-forbla-unimplemented.ads, vx_stack_info.c: New files.
13250
13251 * system-vxworks-alpha.ads: Removed.
13252
e74a122e
EB
132532007-12-10 Eric Botcazou <ebotcazou@adacore.com>
13254
13255 * ada-tree.h (TYPE_RETURNS_BY_TARGET_PTR_P): Move around.
13256
5320014a
ST
132572007-12-09 Samuel Tardieu <sam@rfc1149.net>
13258
13259 PR ada/34366
13260 * sem_ch3.adb (Designates_T): New function.
13261 (Mentions_T): Factor reusable part of the logic into Designates_T.
13262 Consider non-access parameters and access and non-access result.
13263 (Check_Anonymous_Access_Components): Set ekind of anonymous access to
13264 E_Subprogram_Type to E_Anonymous_Access_Subprogram_Type.
13265
13266 * einfo.ads: Update comment for E_Anonymous_Access_Subprogram_Type.
13267
da746f77
LB
132682007-12-07 Ludovic Brenta <ludovic@ludovic-brenta.org>
13269
9d651736 13270 PR ada/34361
da746f77
LB
13271 * mlib-tgt.adb, mlib-tgt.ads: Fix comments at the top to reflect
13272 the new implementation of target-specific calls.
13273
ebe0660b
OH
132742007-12-07 Olivier Hainque <hainque@adacore.com>
13275
13276 * decl.c (gnat_to_gnu_entity) <case E_Access_Type>: When computing
13277 the designated full view, only follow a second level Full_View link
13278 for Non_Limited_Views of from_limited_with references.
9e81dbc7 13279
2eb160f2
ST
132802007-12-07 Samuel Tardieu <sam@rfc1149.net>
13281
13282 PR ada/15805
13283 * sem_ch6.adb (Process_Formals): Prevent an access type formal
13284 to be initialized with an access to constant object.
13285
9cc11b58
ST
13286 * sem_ch3.adb (Analyze_Object_Declaration): Signal an error
13287 when an access to constant is used to initialize an access
13288 value.
13289
72f69ddf
ST
13290 PR ada/21346
13291 * a-direct.adb (Compose): Containing_Directory can be an empty string.
13292
5a2fe31a
OH
132932007-12-07 Olivier Hainque <hainque@adacore.com>
13294
13295 PR ada/34173
13296 * decl.c (gnat_to_gnu_entity) <case E_Array_Type>: When setting
13297 the alignment on the GCC XUA array type, set TYPE_USER_ALIGN if
13298 this is from an alignment clause on the GNAT entity.
13299 * utils.c (create_field_decl): Rewrite the computation of DECL_ALIGN
13300 to distinguish the case where we set it from the type's alignment.
13301 When so, propagate TYPE_USER_ALIGN into DECL_USER_ALIGN to indicate
13302 whether this alignment was set from an explicit alignment clause.
13303
4039fb35
EB
133042007-12-06 Eric Botcazou <ebotcazou@adacore.com>
13305
13306 * decl.c (make_packable_type): Revert last change.
13307 (gnat_to_gnu_field): Avoid setting size and position multiple times.
13308 * utils.c (finish_record_type): Retrieve the real name of the type.
13309
0ec479dc
EB
133102007-12-05 Eric Botcazou <ebotcazou@adacore.com>
13311
13312 * trans.c (lvalue_required_p): Take base node directly instead
13313 of its parent. Rename second parameter to 'gnu_type'.
13314 <N_Indexed_Component>: Return 0 if the node isn't the prefix.
13315 <N_Slice>: Likewise.
13316 (Identifier_to_gnu): Rename parent_requires_lvalue to require_lvalue.
13317 Adjust calls to lvalue_required_p.
13318
07c7262e
ST
133192007-12-05 Samuel Tardieu <sam@rfc1149.net>
13320
13321 PR ada/21489
13322 * exp_ch9.adb (Build_Simple_Entry_Call): Initialize OUT access type
13323 parameters of an entry call.
13324
9e94c78f 133252007-12-03 Robert Dewar <dewar@adacore.com>
9e81dbc7 13326 Samuel Tardieu <sam@rfc1149.net>
403fd939
RD
13327
13328 PR ada/34287
13329 * sem_util.adb (Safe_To_Capture_Value): Do not capture values
13330 of variables declared in a library-level package.
9e81dbc7 13331
0bcb4d2a
ST
133322007-12-02 Samuel Tardieu <sam@rfc1149.net>
13333
13334 * clean.adb (Clean_Library_Directory): Use Empty_String'Access intead
13335 of Empty_String'Unchecked_Access.
13336
dd9c642a
ST
13337 * Makefile.in: Add support for sh4-linux.
13338
13339 * system-linux-sh4.ads: New file.
13340
35330114
KB
133412007-12-01 Kostik Belousov <kostikbel@ukr.net>
13342
13343 PR ada/33722
13344 * env.c (__gnat_setenv): FreeBSD 7 has a POSIX conformant putenv()
13345 and its argument must not be free()ed.
13346
a6dcb051
EB
133472007-11-29 Eric Botcazou <ebotcazou@adacore.com>
13348
13349 * decl.c (make_packable_type): Retrieve the real name of the type.
13350 (maybe_pad_type): Simplify similar code.
13351
39a97416
ST
133522007-11-28 Samuel Tardieu <sam@rfc1149.net>
13353
a6968b8b 13354 PR ada/15804
39a97416
ST
13355 * par-ch3.adb (P_Variant_Part): Signal an error when anything other
13356 than an identifier is used after "case" in a variant_part.
13357
b99dfeb3 13358 PR ada/17318
9c5a3a8d
ST
13359 * par-ch4.adb (Is_Parameterless_Attribute): New map.
13360 (P_Name, Scan_Apostrophe block): Parse left parenthesis following
13361 attribute name or not depending on the new map.
13362
13363 * sem-attr.adb (Analyze_Attribute): Parameterless attributes
13364 returning a string or a type will not be called with improper
13365 arguments.
13366
13367 * sem-attr.ads (Attribute_Class_Array): Move to snames.ads.
13368
13369 * snames.ads (Attribute_Class_Array): Moved from sem-attr.ads.
13370
5a218498
ST
13371 PR ada/32792
13372 * sem_attr.adb (Analyze_Attribute, Attribute_Integer_Value clause):
13373 Signal an error when attribute argument is a fixed-point value of
13374 an unknown type.
13375
7bde4677
ST
13376 PR ada/22559
13377 * sem_ch3.adb (Build_Derived_Numeric_Type): Do not set RM_Size on
13378 a derived ordinary fixed point type.
13379
13380 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Recompute
13381 RM_Size when a Small clause is found.
13382
182e0d71
AK
133832007-11-26 Andreas Krebbel <krebbel1@de.ibm.com>
13384
9e81dbc7
AS
13385 PR 34081/C++
13386 * trans.c (Subprogram_Body_to_gnu, Compilation_Unit_to_gnu):
13387 Pass 'false' for the new allocate_struct_function parameter.
13388 * utils.c (build_function_stub): Likewise.
182e0d71 13389
87caf699
RG
133902007-11-25 Richard Guenther <rguenther@suse.de>
13391
4039fb35 13392 * utils.c (gnat_pushlevel): Use BLOCK_CHAIN.
87caf699
RG
13393 (gnat_poplevel): Likewise.
13394
f1c8c7ee
EB
133952007-11-25 Eric Botcazou <ebotcazou@adacore.com>
13396
13397 * decl.c (gnat_to_gnu_entity) <E_Record_Type>: If the type has
13398 strict alignment, no alignment clause and a known static size, cap
13399 the type alignment to the greatest power of 2 factor of the size.
13400 (gnat_to_gnu_field): If the field has a component clause, is aliased
13401 or of a type with strict alignment, require that its size be equal to
13402 that of the type.
13403 (validate_size): Use the type size as the minimum size for a type with
13404 strict alignment.
13405
bb1f5840
ST
134062007-11-23 Samuel Tardieu <sam@rfc1149.net>
13407
13408 * s-inmaop-posix.adb, s-intman-vxworks.adb, s-taprop-hpux-dce.adb,
13409 s-taprop-irix.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
13410 s-taprop-posix.adb, s-taprop-tru64.adb, s-taprop-vxworks.adb:
13411 Use 'Access instead of 'Unchecked_Access in second and third
13412 arguments of pthread_sigmask.
13413
5102fac5
EB
134142007-11-23 Eric Botcazou <ebotcazou@adacore.com>
13415
13416 * decl.c (ceil_alignment): New function.
13417 (gnat_to_gnu_entity): Use it to set the alignment on atomic types.
13418 (make_packable_type): Likewise.
13419
1fa4dfc6
OH
134202007-11-22 Olivier Hainque <hainque@adacore.com>
13421
13422 * trans.c (gnat_to_gnu) <case N_Free_Statement>: Reformat lines
13423 to fit in 80 columns.
13424
9e94c78f 134252007-11-21 Aurelien Jarno <aurelien@aurel32.net>
5f45b299
AJ
13426
13427 * s-osinte-kfreebsd-gnu.ads (To_Target_Priority): New function.
13428 * Makefile.in: Add EH_MECHANISM=-gcc to kfreebsd-gnu. Remove SYMLIB.
13429
7634135a
EB
134302007-11-19 Eric Botcazou <ebotcazou@adacore.com>
13431
13432 PR ada/34098
13433 * misc.c (gnat_adjust_rli): Delete.
13434 (gnat_init): Do not initialize the translation code here.
13435 Do not call set_lang_adjust_rli.
13436 * trans.c (init_code_table): Make static.
13437 (gnat_init_stmt_group): Delete.
13438 (gigi): Initialize the translation code entirely here.
13439 Emit debug info for the common types here instead of...
13440 * utils.c (gnat_init_decl_processing): ...here.
13441 * gigi.h (init_code_table): Delete.
13442 (gnat_init_stmt_group): Likewise.
13443
b2c3bcf4
OH
134442007-11-16 Olivier Hainque <hainque@adacore.com>
13445
13446 * utils2.c (build_call_alloc_dealloc) <if gnu_obj>: Move the code
13447 retrieving an allocator return value from a super-aligned address from
13448 here to ...
13449 * trans.c (gnat_to_gnu) <case N_Free_Statement>: ... here, and don't
13450 expect a super-aligned address for a fat or thin pointer.
9e81dbc7 13451
a01e283f
EB
134522007-11-14 Eric Botcazou <ebotcazou@adacore.com>
13453
13454 * trans.c (call_to_gnu): Always set the source location on the call
13455 expression. If the function returns-by-target, also set it on the
13456 address expression.
13457
713c3145
ST
134582007-11-14 Samuel Tardieu <sam@rfc1149.net>
13459
356d8961 13460 * adaint.c, init.c, initialize.c, link.c: Remove system-specific
713c3145
ST
13461 sections of non-supported Interix target.
13462
13463 * s-osinte-interix.ads: Removed.
13464
1e992e16
ST
13465 * i-cstrin.ads (chars_ptr): Make it a C convention type.
13466
0e506c4b
ST
134672007-11-13 Samuel Tardieu <sam@rfc1149.net>
13468
13469 * a-tasatt.adb: Add a comment at the beginning of the package
13470 explaining why in general 'Unchecked_Access must be used instead
13471 of 'Access.
13472
66beb09b
ST
13473 * sem_prag.adb (Process_Convention): Move the test for the
13474 entity on which the Convention pragma applies down to also
13475 forbid pragma Convention on enumeration literals reached
13476 through renamings.
13477
14678e46
ST
134782007-11-10 Samuel Tardieu <sam@rfc1149.net>
13479
13480 * a-tasatt.adb: Revert previous change for this file as it will
13481 generate an error when this package is instantiated from a
13482 local context.
13483
f9d806de
ST
134842007-11-07 Samuel Tardieu <sam@rfc1149.net>
13485
13486 * a-tasatt.adb: Type Wrapper should be declared in comment instead
13487 of already declared type Node_Access.
dcbd752d
ST
13488 Use 'Access instead of 'Unchecked_Access when applicable. Local
13489 lifetime is the one of the package.
13490 (Set_Value): W is allocated on the heap.
13491
13492 * g-socket.adb: Use 'Access instead of 'Unchecked_Access when
13493 applicable.
13494 (Get_Socket_Option): Optlen formal of C_Getsockopt is of an anonymous
13495 access type.
13496 (Receive_Socket): Fromlen formal of C_Recvfrom is of an anonymous
13497 access type.
13498
13499 * s-taasde.adb: Use 'Access instead of 'Unchecked_Access when
13500 applicable.
13501 (elaboration code): Timer_Queue lifetime is the one of the
13502 package.
f9d806de 13503
bc01690e
ST
13504 * tracebak.c (i386 alternative): Remove useless comparaison
13505 which is always false; LOWEST_ADDRESS is 0 and is never greater
13506 than an unsigned integer.
13507
d9c1dc68
ST
13508 * sem_attr.adb (Analyze_Attribute): Remove duplicate identical
13509 embedded check for "Ada_Version >= Ada_05".
13510
cb88a3ea
OH
135112007-11-07 Olivier Hainque <hainque@adacore.com>
13512
13513 * decl.c (make_aligning_type): Set the mode of the RECORD_TYPE we
13514 craft and expand comment.
13515
233a722b
EB
135162007-11-01 Eric Botcazou <ebotcazou@adacore.com>
13517
13518 * lang-specs.h: Move translation of -fRTS= after -gnatez switch.
13519
6d1e8bff
EB
135202007-10-23 Eric Botcazou <ebotcazou@adacore.com>
13521
13522 * misc.c (gnat_handle_option): Replace call to abort with
13523 call to gcc_unreachable.
13524 (gnat_init): Likewise.
13525 (gnat_expand_expr): Likewise.
13526 (fp_prec_to_size): Likewise.
13527 (fp_size_to_prec): Likewise.
13528
262e7125
RG
135292007-10-23 Richard Guenther <rguenther@suse.de>
13530
13531 PR bootstrap/33608
13532 * tracebak.c: #undef abort after including system.h.
13533
9e94c78f 135342007-10-20 Danny Smith <dannysmith@users.sourceforge.net>
c8f499a9
DS
13535
13536 * Makefile.in (LIBGNAT_TARGET_PAIRS) Add s-tasinf-mingw.adb,
13537 s-tasinf-mingw.ads, a-exetim-mingw.adb, a-exetim-mingw.ads
13538 for win32 targets.
13539 (EXTRA_GNATRTL_TASKING_OBJS): Add a-exetim.o for win32 targets.
13540
f0e1e807
AC
135412007-10-15 Eric Botcazou <ebotcazou@adacore.com>
13542
13543 * s-osinte-tru64.adb: (Hide_Yellow_Zone): Add On parameter.
13544 Set the protection status of the guard page based on the value of On.
13545
13546 * s-osinte-tru64.ads: (Hide_Yellow_Zone): Add On parameter.
13547
13548 * s-taprop-tru64.adb: (Enter_Task): Pass True to Hide_Yellow_Zone.
13549 (Exit_Task): Pass False to Hide_Yellow_Zone.
13550
135512007-10-15 Robert Dewar <dewar@adacore.com>
13552
9e81dbc7 13553 * s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
f0e1e807 13554 s-taprop-vxworks.adb, s-taprop-posix.adb, a-calend-vms.adb,
9e81dbc7
AS
13555 a-calend.adb, a-nuflra.adb, a-tigeau.adb, a-wtgeau.adb,
13556 checks.adb, bindgen.adb, eval_fat.adb, exp_fixd.adb, fmap.adb,
13557 freeze.adb, g-awk.adb, g-calend.adb, g-diopit.adb, g-expect.adb,
13558 gnatchop.adb, gnatlink.adb, g-spipat.adb, g-thread.adb, make.adb,
13559 mdll.adb, mlib.adb, mlib-prj.adb, osint.adb, par-ch3.adb, prj.adb,
13560 prj-makr.adb, sem_prag.adb, sem_type.adb, s-fatgen.adb, s-fileio.adb,
13561 sinfo.ads, sinput-d.adb, s-taasde.adb, s-tasdeb.ads, s-tasren.adb,
f0e1e807 13562 s-tassta.adb, s-tpobop.adb, s-tposen.adb, stylesw.adb, types.ads,
9e81dbc7
AS
13563 uintp.adb, validsw.adb, makegpr.adb, a-rbtgso.adb, a-crbtgo.adb,
13564 a-coorse.adb, a-convec.adb, a-coinve.adb, a-cohama.adb, a-ciorse.adb,
13565 a-cihama.adb, a-cidlli.adb, a-chtgop.adb, a-cdlili.adb, a-cdlili.adb,
13566 a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb, a-ciorma.adb,
13567 a-coorma.adb, a-ztgeau.adb, symbols-vms.adb, a-crdlli.adb,
f0e1e807
AC
13568 a-calari.adb, a-calfor.adb, s-os_lib.adb, s-regpat.adb, a-ngrear.adb:
13569 Minor reformatting.
13570 Add Unreferenced and Warnings (Off) pragmas for cases of
13571 variables modified calls where they are IN OUT or OUT parameters and
13572 the resulting values are not subsequently referenced. In a few cases,
13573 we also remove redundant code found by the new warnings.
13574
9e81dbc7 13575 * ug_words, vms_data.ads, usage.adb, sem_util.adb, sem_util.ads,
f0e1e807
AC
13576 sem_warn.adb, sem_warn.ads, sem_res.adb, sem_ch7.adb, sem_ch8.adb,
13577 sem_ch5.adb, opt.ads, lib-xref.adb, lib-xref.ads, exp_smem.adb,
13578 sem_ch11.adb, exp_ch6.adb, einfo.ads, einfo.adb: implement a new
13579 warning controlled by -gnatw.o that warns on cases of out parameter
13580 values being ignored.
13581
135822007-10-15 Geert Bosch <bosch@adacore.com>
13583
13584 * adaint.c, socket.c, cal.c: Initial port to arm-mentor-nucleus.
13585
13586 * expect.c: Initial port to arm-mentor-nucleus.
13587 Use kill for __gnat_kill() on VMS.
13588
135892007-10-15 Emmanuel Briot <briot@adacore.com>
13590
13591 * ali.ads, ali.adb (Scan_ALI): Initialize XE.Tref to a known default
13592 value.
13593 (Xref_Record): Change type for Line, since in the case of a reference to
13594 a predefined entity (as happens for array index types), the line is set
13595 to 0.
13596 Add support for parsing multiple array index types info, or
13597 multiple inherited interfaces info. This information cannot be stored
13598 in Xref_Entity_Record, which only supports a single instance of Tref_*,
13599 and is therefore stored in the list of references instead. It has a
13600 special treatement later on in tools that use this information.
13601
136022007-10-15 Tristan Gingold <gingold@adacore.com>
13603
13604 * debug.adb: Document use of -gnatd.a and -gnatd.I
13605
13606 * layout.adb: On OpenVMS -gnatd.a disables alignment optimization.
13607
136082007-10-15 Javier Miranda <miranda@adacore.com>
13609
13610 * exp_attr.adb (Expand_N_Attribute_Reference): Case Access,
13611 Unchecked_Access, and Unrestricted_Access. Cleanup code that takes
13612 care of access to class-wide interface types plus removal of bizarre
13613 conversion of tagged object to access type (reported by Gary
13614 Dismukes). After this patch there is no need to perform any
13615 additional management on these nodes in Expand_Interface_Actuals.
13616
13617 * exp_disp.adb (Expand_Interface_Actuals): Code cleanup. Remove code
13618 that handles use of 'Access and 'Unchecked_Access applied to
13619 actuals covering interface types. Such code is now
13620 centralized in Expand_N_Attribute_Reference.
13621
136222007-10-15 Ed Schonberg <schonberg@adacore.com>
13623
13624 * exp_ch3.adb (Build_Init_Procedure): Keep separate the initialization
13625 of tagged types whose ultimate ancestor is a CPP type.
13626 (Freeze_Array_Type): For a packed array type, generate an initialization
13627 procedure if the type is public, to handle properly a client that
13628 specifies Normalize_Scalars.
13629
136302007-10-15 Hristian Kirtchev <kirtchev@adacore.com>
13631
13632 * exp_ch9.adb (Actual_Index_Expression): When the expansion occurs
13633 inside a generic body, retrieve the full view of the entry family
13634 discrete subtype if available.
13635
136362007-10-15 Thomas Quinot <quinot@adacore.com>
13637
13638 * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Do not
13639 attempt to generate stubs for hidden primitive operations.
13640
136412007-10-15 Vincent Celier <celier@adacore.com>
13642
13643 * mlib-tgt-specific.adb (Support_For_Libraries): New function,
13644 returning None, used when there is no platform specific body for
13645 MLib.Tgt.Specific.
13646
136472007-10-15 Bob Duff <duff@adacore.com>
13648
13649 * sem_case.adb, sem_ch13.adb, lib-sort.adb: Replace use of Heap_Sort_A
13650 (passing'Unrestricted_Access of nested subprograms to Sort) with use of
13651 the generic Heap_Sort_G, in order to avoid trampolines.
13652
136532007-10-15 Vasiliy Fofanov <fofanov@adacore.com>
13654 Jose Ruiz <ruiz@adacore.com>
13655
13656 * vx_stack_info.c: New file.
13657
13658 * i-forbla-unimplemented.ads: New file.
13659
13660 * Makefile.in: i-forbla-unimplemented.ads: a variant of i-forbla.ads
13661 for unsupported configurations; use it on VMS targets instead of the
13662 real one.
13663 (EXTRA_LIBGNAT_SRCS,EXTRA_LIBGNAT_OBJS for VxWorks): Include
13664 vx_stack_info.{c,o} that contains the routine __gnat_get_stack_info
13665 used by VxWorks targets to have access to task-specific data and be
13666 able to extract the stack boundaries for stack checking.
13667 Use system-vms-ia64.ads on ivms.
13668
13669 * Make-lang.in: Update dependencies.
13670
13671 * sysdep.c (__gnat_get_stack_info): Move to a standalone file
13672 (vx_stack_info.c).
13673
136742007-10-15 Vincent Celier <celier@adacore.com>
13675
13676 * snames.adb, snames.ads: Add new standard name runtime_library_dir
13677
13678 * prj.ads (Language_Config): Add new component Runtime_Library_Dir
13679
13680 * prj-attr.adb: Add project level attribute Runtime_Library_Dir
13681
13682 * prj-env.adb (Create_Mapping_File): Do not put an entry if the path of
13683 the source is unknown.
13684
13685 * prj-ext.adb: Spelling error fix
13686
13687 * prj-nmsc.adb (Check_Ada_Name): Reject any unit that includes an Ada
13688 95 reserved word in its name.
13689 (Process_Project_Level_Array_Attributes): Process new attribute
13690 Runtime_Library_Dir.
13691
13692 * prj-part.adb (Parse_Single_Project): Do not check the name of the
13693 config project against the user project names.
13694
13695 * prj-proc.adb (Expression): In multi-language mode, indexes that do
13696 not include a dot are always case insensitive.
13697 (Process_Declarative_Items): Ditto
13698 (Process_Project_Tree_Phase_1): Set Success to False in case an error is
13699 detected.
13700
13701 * prj-util.adb (Value_Of (In_Array)): When Force_Lower_Case_Index is
13702 True, compare both indexes in lower case.
13703
137042007-10-15 Robert Dewar <dewar@adacore.com>
13705
13706 * rtsfind.adb: (Load_RTU): Turn off style checks for Load call
13707
137082007-10-15 Gary Dismukes <dismukes@adacore.com>
13709
13710 * sem_aggr.adb (Resolve_Record_Aggregate): In the case of a box
13711 association for an access component, add an association with null as
13712 the expression. Remove testing for array subtypes and the setting in
13713 that case of Ctyp to the array component type, which prevented proper
13714 inclusion of an association for null-initialized arrays. Collapse
13715 condition that tests for array subtypes into just a test of
13716 Is_Partially_Initialized_Type (which already covers arrays anyway).
13717
137182007-10-15 Hristian Kirtchev <kirtchev@adacore.com>
13719
13720 * sem_ch12.adb: Minor code reformatting.
13721 (Check_Generic_Child_Unit): Iterate over the homonym chain in order to
13722 find the parent package which may have been hidden by local
13723 declarations.
13724
137252007-10-15 Gary Dismukes <dismukes@adacore.com>
13726
13727 * sem_ch3.adb (Build_Derived_Concurrent_Type): Set the Is_Constrained
13728 flag of derived concurrent types, taking into account the flag setting
13729 on the parent subtype and any new set of discriminants.
13730
137312007-10-15 Hristian Kirtchev <kirtchev@adacore.com>
13732
13733 * sem_ch4.adb: Minor code and comment reformatting.
13734 (Analyze_Allocator): When the designated type of an unconstrained
13735 allocator is a record with unknown discriminants or an array with
13736 unknown range bounds, emit a detailed error message depending on the
13737 compilation mode and whether the designated type is limited.
13738
137392007-10-15 Tristan Gingold <gingold@adacore.com>
13740
13741 * system-vms-ia64.ads: New file.
13742
13743 * system-vms_64.ads: Minor comment fix.
13744
137452007-10-15 Ed Schonberg <schonberg@adacore.com>
13746
13747 * sem_ch6.adb (Find_Corresponding_Spec): If the previous entity is a
13748 body generated for a function with a controlling result that is a null
13749 extension, discard the generated body in favor of the current explicit
13750 one.
13751
137522007-10-15 Ed Schonberg <schonberg@adacore.com>
13753
13754 * sem_disp.adb (Find_Controlling_Arg): Examine the call node before
13755 examining its original form, to handle properly operator calls that
13756 have been rewritten.
13757
137582007-10-15 Olivier Hainque <hainque@adacore.com>
13759
13760 * tb-alvms.c (tb_entry_t, __gnat_backtrace): Store a frame pointer
13761 instead of a procedure value in each traceback entry.
13762
13763 * g-trasym-vms-alpha.adb (Symbolic_Traceback): Pass frame pointer
13764 instead of procedure value to TBK$SYMBOLIZE.
13765
13766 * s-traent-vms.adb (PV_For): Rename as FP_For and access the proper
13767 field.
13768 (TB_Entry_For): Account for the PV/FP renaming.
13769
13770 * s-traent-vms.ads (Traceback_Entry): Rename PV component into FP and
13771 add comment.
13772 (Null_TB_Entry): Account for change of component name.
13773 (PV_For): Rename as FP_For.
13774
137752007-10-15 Tristan Gingold <gingold@adacore.com>
13776
13777 * trans.c (gnat_to_gnu): Remove the padding structure more often.
13778 This optimize assignment to over-aligned record.
13779
137802007-10-15 Emmanuel Briot <briot@adacore.com>
13781
13782 * xref_lib.adb (Get_Full_Type): Add support for the 'h' entity type, ie
13783 interfaces.
13784
13785 * xr_tabls.adb (Add_Reference): Add support for the new 'R' reference
13786 type, for dispatching calls.
13787
137882007-10-15 Vincent Celier <celier@adacore.com>
13789 Robert Dewar <dewar@adacore.com>
13790
13791 * gnat_ugn.texi: Add documentation for switches --version and --help
13792 for the GNAT tools gnatbind, gnatlink, gnatmake, gnatchop, gnatname,
13793 gnatxref, gnatfind, gnatls, and gnatclean.
13794 Document -gnatw.o.
13795 Mention attribute Excluded_Source_Dirs
13796 Replace obsolescent attribute Locally_Removed_Files with attribute
13797 Excluded_Source_Files.
13798 Improve documentation of -u (gnatbind)
13799 Document how to do reliable stack checking for the environmental task
13800 on iVMS.
13801
13802 * gnat_rm.texi: Rewrite section about No_Implicit_Dynamic_Code.
13803 Document attribute Excluded_Source_Files and indicate that attribute
13804 Locally_Removed_Files is obsolescent.
13805
138062007-10-15 Thomas Quinot <quinot@adacore.com>
13807
13808 * g-soccon-vms.ads: Fix value of MSG_WAITALL.
13809
9e81dbc7 13810 * gen-soccon.c:
f0e1e807
AC
13811 Update documentation to note that OpenVMS 8.3 or later must be used
13812 to generate g-soccon-vms.ads.
13813
13814 * atree.adb: Add ??? comment
13815
13816 * exp_util.adb: Minor reformatting.
13817 Add ??? comment in Kill_Dead_Code.
13818
138192007-10-15 Robert Dewar <dewar@adacore.com>
13820
13821 * errout.ads: Comment clarification
13822
13823 * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
13824 (Expand_N_Op_Eq): Improve handling of array equality with -gnatVa
13825
13826 * lib.ads: Comment update
13827
13828 * init.c: Minor reformatting.
13829
13830 * sem_attr.adb: Minor formatting
13831
13832 * osint-b.ads: Minor reformatting
13833
13834 * sem_ch9.adb: Implement -gnatd.I switch
13835
13836 * g-comlin.adb: (Start): Fix handling of empty command line.
13837
13838 * gnatcmd.adb (GNATCmd): Do not put the -rules in the -cargs section,
13839 even when -rules follows the -cargs section.
13840
6524147c
OW
138412007-10-08 Ollie Wild <aaw@google.com>
13842
13843 * misc.c (LANG_HOOKS_PUSHDECL): Replaced lhd_return_tree with
13844 gnat_return_tree.
13845 (gnat_init_gcc_eh): Replaced gnat_eh_runtime_type with
13846 gnat_return_tree.
13847 (gnat_eh_runtime_type): Removed.
13848 (gnat_return_tree): New function.
13849
dff6abb2
BE
138502007-10-08 Ben Elliston <bje@au.ibm.com>
13851
13852 PR ada/33454
13853 Revert:
13854 2007-08-31 Ben Elliston <bje@au.ibm.com>
13855
13856 * Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads
13857 when compiling for powerpc64-*-linux.
13858 * system-linux-ppc64.ads: New file.
13859
c3048783
EB
138602007-09-27 Eric Botcazou <ebotcazou@adacore.com>
13861
13862 Mapped location support
13863 * back_end.adb (Call_Back_End): Pass information about source
13864 files instead of units to gigi.
13865 * gigi.h (struct File_Info_Type): New.
13866 (gigi): Rename and change type of number_units parameter, change
13867 type of file_info_ptr parameter.
13868 * trans.c (number_files): New global variable.
13869 (gigi): Rename and change type of number_units parameter, change
13870 type of file_info_ptr parameter.
13871 If mapped location support is enabled, create the isomorphic mapping
13872 between source files and line maps.
13873 (Sloc_to_locus): If mapped location support is enabled, translate
13874 source location into mapped location.
13875 (annotate_with_node): Rename into set_expr_location_from_node.
13876 Call set_expr_location instead of annotate_with_locus.
13877 (Pragma_to_gnu): Adjust for above change.
13878 (Loop_Statement_to_gnu): Likewise.
13879 (call_to_gnu): Likewise.
13880 (Handled_Sequence_Of_Statements_to_gnu): Likewise.
13881 (gnat_to_gnu): Likewise.
13882 (add_stmt_with_node): Likewise.
13883 (add_cleanup): Likewise.
13884 * utils.c (gnat_init_decl_processing): Do not set input_line.
13885
68b72a44
AC
138862007-09-26 Hristian Kirtchev <kirtchev@adacore.com>
13887
13888 * sem_ch8.adb (Analyze_Use_Type): Code cleanup.
13889 (Applicable_Use): Emit a warning when a package tries to use itself.
13890 (Use_One_Type): Add variable Is_Known_Used. Emit a warning when a type
13891 is already in use or the package where it is declared is in use or is
13892 declared in the current package.
13893 (Spec_Reloaded_For_Body): New subsidiary routine for Use_One_Type.
13894
13895 * a-tasatt.adb, s-osprim-vxworks.adb, g-socthi-mingw.adb,
13896 s-intman-vms.adb, g-socket.adb, g-thread.adb, s-tarest.adb,
13897 s-tassta.adb, s-tporft.adb: Remove redundant 'use type' clause.
13898
138992007-09-26 Hristian Kirtchev <kirtchev@adacore.com>
13900
9e81dbc7 13901 * a-calend-vms.adb, a-calend.adb:
68b72a44
AC
13902 Add a section on leap seconds control along with two entities used to
13903 enable and disable leap seconds support. The array Leap_Second_Times is
13904 now constant and contains hard time values pre-generated. Remove
13905 all elaboration code used to populate the table of leap seconds.
13906
9e81dbc7 13907 * bindgen.adb:
68b72a44
AC
13908 Add entity Leap_Seconds_Support to the list of global run-time variables
13909 along with a comment on its usage and values.
13910 (Gen_Adainit_Ada): Add code to generate the declaration and import of
13911 Integer variable Leap_Seconds_Support. Set its value to zero (disabled)
13912 or one (enabled) depending on the presence of binder switch "-y".
13913 (Gen_Adainit_C): Add code to generate the declaration of external int
13914 __gl_leap_seconds_support. Set is value to zero (disabled) or one
13915 (enabled) depending on the presence of binder switch "-y".
13916
13917 * init.c: Add __gl_leap_seconds_support to the list of global values
13918 computed by the binder.
13919
139202007-09-26 Jerome Guitton <guitton@adacore.com>
13921
13922 * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
13923 s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-dummy.adb,
13924 s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
13925 s-taprop-posix.adb (Stop_Task): New function, dummy implementation.
13926
13927 * s-taprop.ads, s-taprop-vxworks.adb (Stop_Task): New function.
13928
13929 * s-tasdeb.adb (Stop_All_Tasks): New function, implementing a run-time
13930 function which can be called by the debugger to interrupt the tasks of
13931 an Ada application asynchronously, as needed on VxWorks.
13932 (Stop_All_Tasks_Handler): Renamed from Stop_All_Tasks.
13933
13934 * s-tasdeb.ads (Stop_All_Tasks_Handler): New function declaration,
13935 renamed from Stop_All_Tasks. Update comments.
13936 (Stop_All_tasks): New function declaration.
13937
139382007-09-26 Olivier Hainque <hainque@adacore.com>
13939
13940 * adaint.c (if defined (__Lynx__)): Wrap #def/#undef VMOS_DEV around
13941 #include <utime.h> and #define GCC_RESOURCE_H before
13942 #include <sys/wait.h>.
13943 Add more protections in __gnat_translate_vms.
13944
13945 * expect.c (if defined (__Lynx__)): #define GCC_RESOURCE_H before
13946 #include <sys/wait.h>.
13947
139482007-09-26 Thomas Quinot <quinot@adacore.com>
13949 Sergey Rybin <rybin@adacore.com>
13950
13951 * gnatvsn.ads (PCS_Version_Number, ASIS_Version_Number): Removed.
13952
13953 * exp_dist.ads (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
13954 where it belongs.
13955
13956 * opt.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
13957
13958 * rtsfind.adb (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
13959 where it belongs.
13960
13961 * sem_dist.ads: Minor comment fix
13962
13963 * tree_io.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
13964
139652007-09-26 Javier Miranda <miranda@adacore.com>
13966 Eric Botcazou <ebotcazou@adacore.com>
13967
9e81dbc7 13968 * a-tags.adb:
68b72a44
AC
13969 (Get_HT_Link/Set_HT_Link): Updated to handle the additional level of
13970 indirection added to the HT_Link component of the TSD. This is required
13971 to statically allocate the TSD.
13972
9e81dbc7 13973 * a-tags.ads:
68b72a44
AC
13974 Minor reordering of the declarations in the private part. Required to
13975 add a level of indirection to the contents of the TSD component HT_Link.
13976 This is required to statically allocate the TSD.
13977
13978 * decl.c (gnat_to_gnu_entity) <object>: Do not exclude objects with
13979 Is_Statically_Allocated set from constant objects.
13980 Do not make exported constants created by the compiler volatile.
13981 (gnat_to_gnu_param): Do not treat an IN parameter whose address is taken
13982 as read-only.
13983
13984 * trans.c (Identifier_to_gnu): For constants, unshare initializers
13985 before returning them.
13986
13987 * exp_disp.ads, exp_disp.adb (Building_Static_DT): Spec moved to the
13988 public part of the package.
13989 (Make_DT): Move HT_Link component out of the TSD record. For this
13990 purpose Make_DT now declares a separate object that stores the
13991 HT_Link value, and initializes the TSD component with the address
13992 of this new object. The addition of this level of indirection is
13993 required to statically allocate the TSD because the TSD cannot
13994 have variable components.
13995 (Expand_Interface_Conversion): Improve the expanded code.
13996 (Expand_Interface_Thunk): Set Is_Thunk in the thunk entity.
13997
13998 * sem_disp.adb (Check_Dispatching_Operation): In case of a body
13999 declaring a primitive operation ---allowed by RM 3.9.2 (13.e/2)---,
14000 if we are building static dispatch tables then we must not generate
14001 extra code to register the primitive because the dispatch table will
14002 be built at the end of the library package; otherwise we notify that
14003 we cannot build the static dispatch table.
14004
140052007-09-26 Robert Dewar <dewar@adacore.com>
14006
14007 * checks.adb, gnat1drv.adb, sem_util.ads: Improve warnings for address
14008 overlays.
14009
14010 * sem_ch13.ads, sem_ch13.adb: Improve warnings for address overlays
14011 (Analyze_Record_Representation_Clause): Suppress junk warning for
14012 missing component clause.
14013 (Analyze_Attribute_Definition_Clause, case Address): Apply the special
14014 tests for controlled type overlay to composites with controlled
14015 components.
14016 (Analyze_Record_Representation_Clause): Add reference for component name
14017
140182007-09-26 Javier Miranda <miranda@adacore.com>
14019 Gary Dismukes <dismukes@adacore.com>
14020
14021 * einfo.adb (Is_Thunk): New attribute applicable to subprograms. True
14022 for thunks associated with interface types.
14023
14024 * einfo.ads: Improve documentatation of Is_Internal
14025 (Is_Thunk): New attribute applicable to subprograms. True for thunks
14026 associated with interface types.
14027 Extensive comment fixes regarding flags that appear in all entities. The
14028 documentation is now consistent for all such flags (there were a number
14029 of errors in the documentation in this regard).
14030
14031 * exp_attr.adb (Expand_N_Attribute_Reference): Minor code cleanup.
14032
14033 * exp_ch6.adb (Make_Build_In_Place_Call_*): Return immediately if any
14034 of these procedures are passed a function call that already has
14035 build-in-place actuals (testing new flag
14036 Is_Expanded_Build_In_Place_Call). Set the flag on the function call in
14037 the case where processing continues.
14038 (Expand_Call): If the call is generated from a thunk body then we
14039 propagate the extra actuals associated with the accessibility
14040 level of the access type actuals.
14041
14042 * sem_ch6.adb (Analyze_Subprogram_Body): Set the Protected_Formal field
14043 of each extra formal of a protected operation to reference the
14044 corresponding extra formal of the subprogram denoted by the
14045 operation's Protected_Body_Subprogram.
9e81dbc7 14046
68b72a44
AC
14047 * sinfo.ads, sinfo.adb (Is_Expanded_Build_In_Place_Call): New flag on
14048 N_Function_Call nodes.
14049
140502007-09-26 Robert Dewar <dewar@adacore.com>
14051
14052 * exp_ch5.adb: Activate memmove type processing if debug flag d.s is set
14053
14054 * debug.adb: Add d.s flag.
14055
140562007-09-26 Gary Dismukes <dismukes@adacore.com>
14057
14058 * exp_dbug.adb (Debug_Renaming_Declaration): Set Is_Internal on the
14059 debug variable so that it won't be initialized when pragma
14060 Initialize_Scalars is in effect.
14061
140622007-09-26 Gary Dismukes <dismukes@adacore.com>
14063
14064 * freeze.adb (Freeze_Entity): Remove check for preelaborable
14065 initialization of a full view. This is moved to
14066 Analyze_Package_Specification.
14067
14068 * sem_ch7.adb (Analyze_Package_Specification): Add check for
14069 preelaborable initialization of a full view in entity loop.
14070 (Uninstall_Declarations): If entity is a use-visible compilation unit,
14071 its child units are use-visible only if they are visible child units.
14072
14073 * sem_util.adb (Is_Preelaborable_Expression): New function to determine
14074 whether an expression can be used within a type declaration that
14075 requires preelaborable init.
14076 (Check_Components): Replace inline code that does partial checking for
14077 preelaborable default expressions with call to
14078 Is_Preelaborable_Expression.
14079 (Has_Preelaborable_Initialization): In the case of a generic actual
14080 subtype, (that is, Is_Generic_Actual is True), return the result of
14081 applying Has_Preelaborable_Initialization to the generic actual's base
14082 type.
14083
140842007-09-26 Hristian Kirtchev <kirtchev@adacore.com>
14085
14086 * g-calend.adb (Has_53_Weeks): Rename to Last_Year_Has_53_Weeks. Add a
14087 call to Jan_1_Day _Of_Week to optimize its performance.
14088 (Is_Leap): Move the routine to the scope of Week_In_Year.
14089 (Jan_1_Day_Of_Week): New routine in Week_In_Year which calculates the
14090 weekday on which January 1 falls of Year - 1 and Year + 1. This function
14091 avoids calling Time_Of and Split, thus making it more efficent.
14092 (Week_In_Year): Reimplemented in oder to follow ISO 8601.
14093
14094 * g-calend.ads (Week_In_Year): Change comment to reflect new
14095 implementation.
14096
140972007-09-26 Emmanuel Briot <briot@adacore.com>
14098
14099 * g-comlin.ads, g-comlin.adb (Command_Line_Configuration,
14100 Command_Line): New types
14101 (Define_Alias, Define_Prefix, Free): New subprograms. These provide
14102 support for defining how switches can be grouped on a command line (as
14103 is the case for -gnatw... for GNAT), and how simple switches can be
14104 used as aliases for more complex switches (-gnatwa is same as
14105 -gnatwbcef...)
14106 (Set_Command_Line, Add_Switch, Remove_Switch): New subprogram
14107 (Start, Current_*): New subprograms
14108 Added support for parsing an array of strings in addition to the real
14109 command line.
14110 (Opt_Parser, Opt_Parser_Data): New type. As a result, some types had to
14111 be moved from the body to the private part of the spec.
14112 (*): All subprograms now have an extra parameter with default value to
14113 specify which parser should be used. For backward compatibility, it
14114 defaults to parsing the command line of the application. They were also
14115 modified to properly handle cases where each of the argument does not
14116 start at index 1 (which is always true for Ada.Command_Line, but not
14117 when processing any Argument_List).
14118 (Free): New subprogram
14119 (Internal_Initialize_Option_Scan, Find_Longuest_Matching_Switch,
14120 Argument): New subprograms
14121 (Switch_Parameter_Type): New enum, which clarifies the code. The extra
14122 special characters like ':', '=',... are now handled in a single place,
14123 which makes the code more extensible eventually.
14124 (Getopt, Full_Switch): When the switch was returned as part of the
14125 special character '*', make sure it is prepended by the switch character
14126 ('-' in general), so that the application knows whether "foo" or "-foo"
14127 was specified on the command line.
14128
141292007-09-26 Florian Villoing <villoing@adacore.com>
14130
14131 * g-dirope.adb (Remove_Dir): In case we are removing directories
14132 recursively, make sure that if an exception is raised during the
14133 processing, the current working directory is reset to its initial
14134 value before propagating the exception.
14135
141362007-09-26 Vincent Celier <celier@adacore.com>
14137
14138 * gnatbind.adb: If there are several ALI files specified and there is
14139 a main program to bind, the first ALI is expected to contain the main
14140 subprogram and the names of the binder generated files will be derived
14141 from the first ALI file name.
14142 (Gnatbind): Fix insertion character in invocation of Error_Msg
14143
141442007-09-26 Vincent Celier <celier@adacore.com>
14145
14146 * gnatcmd.adb (Check_Files): Do not include sources that have been
14147 removed by attributes Exclude_Source_Files or Locally_Removed_Files.
14148
141492007-09-26 Ed Schonberg <schonberg@adacore.com>
14150
14151 * lib-xref.ads, lib-xref.adb: The entry for array types now carries
14152 information about each of its index types, following the type
14153 reference for its component type.
14154
141552007-09-26 Vincent Celier <celier@adacore.com>
14156
14157 * make.adb: (Kill): New procedure (__gnat_kill imported)
14158 (Running_Compile, Outstanding_Compiles): Global variables that
14159 were previously local to procedure Compile_Sources.
14160 (Sigint_Intercepted): Send signal SIGINT to all outstanding
14161 compilation processes.
14162
14163 (Gnatmake): If project files are used, create the mapping of all the
14164 sources, so that the correct paths will be found.
14165
14166 * prj-env.ads, prj-env.adb (Create_Mapping): New procedure
14167
141682007-09-26 Vincent Celier <celier@adacore.com>
14169
14170 * makeutl.ads (Main_Config_Project): Moved to gpr_util.ads
14171
14172 * prj.ads, prj.adb (Default_Language): Remove function, no longer used
14173 Replace components Compiler_Min_Options and Binder_Min_Options with
14174 Compiler_Required_Switches and Binder_Required_Switches in record
14175 Language_Config.
14176 Remove components Default_Language and Config in Project_Tree_Data,
14177 no longer used.
14178
14179 * prj-attr.adb: New attributes Required_Switches (<language>) in
14180 packages Compiler and Binder.
14181
14182 * prj-nmsc.adb: Major rewrite of the processing of configuration
14183 attributes for gprbuild. No impact on GNAT tools.
14184
14185 * prj-proc.ads, prj-proc.adb (Process_Project_Tree_Phase_2): No longer
14186 process configuration attributes: this is done in Prj.Nmsc.Check.
14187 (Recursive_Process): Make a full copy of packages inherited from project
14188 being extended, instead of a shallow copy.
14189 (Process_Project_Tree_Phase_1): New procedure
14190 (Process_Project_Tree_Phase_1): New procedure
14191 (Process): Implementation now uses the two new procedures
14192
14193 * prj-util.adb (Executable_Of): Get the suffix and the default suffix
14194 from the project config, not the tree config that no longer exists.
14195
141962007-09-26 Vincent Celier <celier@adacore.com>
14197
14198 * Make-lang.in: Update dependencies..
14199
142002007-09-26 Vincent Celier <celier@adacore.com>
14201
14202 * osint.adb, osint.ads: Minor reformatting
14203
14204 * osint-b.adb, osint-b.ads (Set_Current_File_Name_Index): New procedure
14205
142062007-09-26 Gary Dismukes <dismukes@adacore.com>
14207
14208 * par-ch4.adb (P_Record_Or_Array_Component_Association): Change Ada 95
14209 message to cite use of <> in aggregate component associations rather
14210 than wrongly indicating use of limited aggregates.
14211
142122007-09-26 Robert Dewar <dewar@adacore.com>
14213
14214 * sem_attr.adb (Analyze_Access_Attribute): Fix missing set of
14215 Address_Taken.
14216
142172007-09-26 Ed Schonberg <schonberg@adacore.com>
14218
14219 * sem_ch3.adb (Derive_Subprograms): If the interface parent is a direct
14220 ancestor of the derived type, the operations are inherited from the
14221 primary dispatch table of the parent.
14222 (OK_For_Limited_Init_In_05): Remove old comment. Reject in-place calls
14223 when the context is an explicit type conversion.
14224
142252007-09-26 Ed Schonberg <schonberg@adacore.com>
14226
14227 * sem_ch4.adb (Analyze_Qualified_Expression): Apply name resolution
14228 rule for qualified expressions properly, to detect improper conversions
14229 and resolve some cases of overloading.
14230
142312007-09-26 Ed Schonberg <schonberg@adacore.com>
14232
14233 * sem_res.adb (Resolve_Call): If the call is dispatching, generate the
14234 proper kind of reference to the primitive operation, for better source
14235 navigation.
14236 (Valid_Conversion): A tagged conversion is legal if both operands are
14237 tagged.
14238
142392007-09-26 Robert Dewar <dewar@adacore.com>
14240
14241 * sem_warn.adb (Check_References): Catch more cases of unreferenced
14242 packages.
14243
142442007-09-26 Vincent Celier <celier@adacore.com>
14245
14246 * snames.adb, snames.ads: Change Include_Option to Include_Switches
14247
142482007-09-26 Robert Dewar <dewar@adacore.com>
14249
14250 * s-wchstw.adb: provide messages for run time unit exceptions
14251
14252 * a-witeio.adb: Minor reformatting
14253
14254 * exp_ch13.adb: Minor reformatting
14255
142562007-09-26 Sergey Rybin <rybin@adacore.com>
14257
14258 * vms_data.ads: Revise gnatmetric qualifiers.
14259 Add qualified for the new gnatbind option '-y'
14260
14261 * gnat_ugn.texi: Revise the gnatmetric section.
14262 Add entry for new gnatbind option '-y'.
14263
14264 * gnat_rm.texi: Minor spelling correction.
14265 Document restriction on overlaying controlled types
14266
142672007-09-26 Vincent Celier <celier@adacore.com>
14268
14269 * makegpr.adb (Link_Executables): Do not fail when the root project has
14270 no sources, but is an extending project.
14271
0a86bcc9
EB
142722007-09-25 Eric Botcazou <ebotcazou@adacore.com>
14273
14274 * trans.c: Fix misplaced #define.
14275
b235734c
EB
142762007-09-22 Eric Botcazou <ebotcazou@adacore.com>
14277
14278 * utils2.c (build_unary_op) <ADDR_EXPR> [INDIRECT_REF]: Propagate
14279 the TYPE_REF_CAN_ALIAS_ALL flag to the result.
14280
97237784
OH
142812007-09-21 Olivier Hainque <hainque@adacore.com>
14282
14283 * utils.c (type_for_nonaliased_component_p): Return false for
14284 all AGGREGATE_TYPEs.
14285
2adde4ff
EB
142862007-09-17 Eric Botcazou <ebotcazou@adacore.com>
14287
14288 * decl.c (gnat_to_gnu_entity) <object>: Make again the type of an
14289 object covered by 13.3(19) volatile.
14290
b693daa7
EB
142912007-09-12 Eric Botcazou <ebotcazou@adacore.com>
14292
14293 PR ada/26797
14294 PR ada/32407
14295 * utils.c (unchecked_convert): Use a subtype as the intermediate type
14296 in the special VIEW_CONVERT_EXPR case.
14297
82da9a90
AC
142982007-09-12 Robert Dewar <dewar@adacore.com>
14299
14300 * types.ads, a-charac.ads, freeze.adb: Minor reformatting.
14301
14302 * a-except.adb, g-hesora.adb, g-speche.adb, lib.adb, lib.ads,
14303 lib-load.adb, lib-writ.adb, s-assert.adb, s-carun8.adb,
14304 s-casuti.adb, s-crc32.adb, s-exctab.adb, s-htable.adb, s-imgenu.adb,
14305 s-mastop.adb, s-memory.adb, s-memory.ads, s-secsta.adb, s-soflin.adb,
14306 s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-stache.adb, s-stalib.adb,
14307 s-stoele.adb, s-strcom.adb, s-strops.adb, s-traceb.adb, s-traent.adb,
14308 s-wchcnv.adb, s-wchcon.adb, s-wchjis.adb, s-addope.adb, s-except.adb,
160c5065 14309 s-os_lib.adb, s-string.adb, s-utf_32.adb, a-elchha.adb,
9e81dbc7
AS
14310 a-chlat1.ads, a-elchha.ads, a-except.ads, g-hesora.ads, g-htable.ads,
14311 g-speche.ads, par-prag.adb, restrict.adb, restrict.ads, s-assert.ads,
14312 s-carun8.ads, s-casuti.ads, s-crc32.ads, sem_ch11.adb, sem_prag.adb,
14313 s-exctab.ads, s-htable.ads, s-imgenu.ads, s-mastop.ads, snames.adb,
14314 snames.ads, snames.h, s-purexc.ads, s-secsta.ads, s-soflin.ads,
14315 s-sopco3.ads, s-sopco4.ads, s-sopco5.ads, s-stache.ads, s-stalib.ads,
14316 s-stoele.ads, s-strcom.ads, s-strops.ads, s-traceb.ads, s-traent.ads,
14317 s-unstyp.ads, s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-addope.ads,
82da9a90
AC
14318 s-except.ads, s-os_lib.ads, s-string.ads, s-utf_32.ads: Implement
14319 pragma Compiler_Unit and adds it to relevant library units.
14320
143212007-09-12 Ed Schonberg <schonberg@adacore.com>
14322
14323 * sem_aggr.adb (Resolve_Record_Aggregate): An others association with
14324 a box need not correspond to any component.
14325
143262007-09-12 Robert Dewar <dewar@adacore.com>
14327
14328 * g-thread.ads: Document use of "with GNAT.Threads" to ensure loading
14329 the tasking version of the Ada run time when foreign threads are
14330 present and there are no explicit Ada tasks or tasking constructs.
14331
14332 * gnat_rm.texi: Clarify documentation of GNAT.Threads.
14333
143342007-09-12 Hristian Kirtchev <kirtchev@adacore.com>
14335
14336 * bindusg.adb (Display): Correct comment for switch -X. Add a line for
14337 the usage of switch -y.
14338
14339 * switch-b.adb (Scan_Binder_Switches): Set flag Leap_Seconds_Support
14340 when switch -y is present.
14341
14342 * opt.ads: Add binder flag Leap_Seconds_Support used to enable/disable
14343 leap seconds in Ada.Calendar and its children.
14344
143452007-09-12 Jose Ruiz <ruiz@adacore.com>
14346
14347 * a-extiti.ads (Timer): The discriminant is a "not null access
14348 constant" in the Reference Manual.
14349 (Cancel_Handler): Cancelled is an out parameter in the Reference Manual.
14350
143512007-09-12 Robert Dewar <dewar@adacore.com>
14352
14353 * a-swuwha.adb: Remove junk RM header
14354
143552007-09-12 Vincent Celier <celier@adacore.com>
14356
14357 * g-bytswa-x86.adb (Swap2, Swap4, Swap8): Remove explicit "in" mode
14358 indicator
14359
14360 * g-bytswa.ads: Minor reformatting
14361
143622007-09-12 Thomas Quinot <quinot@adacore.com>
14363
9e81dbc7 14364 * g-soccon-solaris-64.ads, g-soccon-hpux-ia64.ads:
82da9a90
AC
14365 Add new constant Thread_Blocking_IO, always True by default, set False
14366 on a per-runtime basis.
14367 (Need_Netdb_Buffer): New constant.
14368
143692007-09-12 Arnaud Charlet <charlet@adacore.com>
14370
14371 * s-dsaser.ads (Get_Local_Partition_Id, Get_Passive_Partition_Id):
14372 Added renames for corresponding functions in System.Partition_Interface.
14373
143742007-09-12 Doug Rupp <rupp@adacore.com>
14375
14376 * Makefile.in: Remove VMS specific System.CRTL packages which are no
14377 longer needed.
14378
14379 * s-crtl-vms64.ads: Removed.
14380
09528ed9
OH
143812007-09-12 Olivier Hainque <hainque@adacore.com>
14382
14383 * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: For a subtype
14384 with discriminant constraints, generalize the code for BIT_FIELDs
14385 to PACKED fields of constant size and propagate DECL_PACKED.
14386
fa89b6ec
EB
143872007-09-11 Eric Botcazou <ebotcazou@adacore.com>
14388
14389 * decl.c (array_type_has_nonaliased_component): New predicate.
14390 (gnat_to_gnu_field) <E_Array_Type>: Invoke the above predicate to
14391 set the TYPE_NONALIASED_COMPONENT flag on the type.
14392 <E_Array_Subtype>: Likewise.
14393 * gigi.h (type_for_nonaliased_component_p): Declare.
14394 * utils.c (type_for_nonaliased_component_p): New predicate.
14395 (create_field_decl): Invoke the above predicate to set the
14396 DECL_NONADDRESSABLE_P flag on the field.
14397
e18d6a15
JM
143982007-09-11 Javier Miranda <miranda@adacore.com>
14399
14400 * einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute. Present
14401 in library level record type entities if we are generating statically
14402 allocated dispatch tables.
14403
14404 * exp_disp.adb (Make_Tags/Make_DT): Replace previous code
14405 importing/exporting the _tag declaration by new code
14406 importing/exporting the dispatch table wrapper. This change allows us
14407 to statically allocate of the TSD.
14408 (Make_DT.Export_DT): New procedure.
14409 (Build_Static_DT): New function.
14410 (Has_DT): New function.
14411
14412 * freeze.adb (Freeze_Static_Object): Code cleanup: Do not reset flags
14413 True_Constant and Current_Value. Required to statically
14414 allocate the dispatch tables.
14415 (Check_Allocator): Make function iterative instead of recursive.
14416 Also return inner allocator node, when present, so that we do not have
14417 to look for that node again in the caller.
14418
9e94c78f 144192007-09-11 Jan Hubicka <jh@suse.cz>
e89d6010
JH
14420
14421 * misc.c (gnat_expand_body): Kill.
14422 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
14423
281b604e
AC
144242007-09-10 Robert Dewar <dewar@adacore.com>
14425
14426 * exp_atag.ads, exp_atag.adb, mlib-tgt-tru64.adb, mlib-tgt-aix.adb,
14427 mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
14428 mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
14429 mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads,
14430 ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads,
14431 bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads,
14432 bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb,
14433 butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb,
14434 comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads,
14435 elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads,
14436 err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb,
14437 exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads,
14438 exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb,
14439 exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb,
14440 exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
14441 exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb,
14442 exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads,
14443 exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
14444 exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb,
14445 exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb,
14446 exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
14447 exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb,
14448 fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads,
14449 get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb,
14450 gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb,
14451 gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
14452 gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads,
14453 gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads,
14454 gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb,
14455 gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads,
14456 inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads,
14457 lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb,
14458 lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads,
14459 make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads,
14460 mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
14461 mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads,
14462 mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
14463 mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt,
14464 osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb,
14465 osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads,
14466 par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb,
14467 par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
14468 par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
14469 par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb,
14470 par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
14471 prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads,
14472 prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb,
14473 prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
14474 prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
14475 prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
14476 prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
14477 prj-util.adb, prj-util.ads, restrict.adb, restrict.ads,
14478 rtsfind.adb, rtsfind.ads, scn.adb, scn.ads,
14479 scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb,
14480 sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
14481 sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb,
14482 sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads,
14483 sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
14484 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
14485 sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads,
14486 sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb,
14487 sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
14488 sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb,
14489 sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads,
14490 sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb,
14491 sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb,
14492 sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads,
14493 sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads,
14494 stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb,
14495 styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads,
14496 switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
14497 switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb,
14498 tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads,
14499 treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads,
14500 types.h, uintp.h, urealp.h, usage.adb, usage.ads,
14501 validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb,
14502 xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb,
14503 xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb,
14504 gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb,
14505 mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb,
14506 symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb,
14507 mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb,
14508 mlib-tgt-vms.ads: Replace headers with GPL v3 headers.
14509
145102007-09-10 Emmanuel Briot <briot@adacore.com>
14511
14512 * s-regpat.adb (Parse_Character_Class): Fix handling of empty character
14513 classes ("[]").
14514
145152007-09-10 Vasiliy Fofanov <fofanov@adacore.com>
14516
14517 * adaint.c (__gnat_translate_vms): new function.
14518
145192007-09-10 Gary Dismukes <dismukes@adacore.com>
14520 Thomas Quinot <quinot@adacore.com>
14521
14522 * exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only
14523 create an abstract subprogram in the case of 'Input. For 'Output we now
14524 create a real spec/body when the type is abstract, since it can
14525 potentially be called.
14526 (Predefined_Primitive_Bodies): Now allow the creation of a predefined
14527 body for 'Output when the type is abstract (only the creation of the
14528 body for 'Input is excluded when the type is abstract).
14529 (Stream_Operation_OK): Add an additional condition in the return
14530 statement, so that False will be returned for TTS_Stream_Input if the
14531 associated tagged type is an abstract extension. Add comments for
14532 return statement.
14533 (Expand_N_Object_Declaration): For the case of a shared passive
14534 variable, insert init proc call only after the shared variable
14535 procedures have been processed, because the IP call needs to undergo
14536 shared passive variable reference expansion, which requires these
14537 procedures to be available (and elaborated).
14538
145392007-09-10 Vincent Celier <celier@adacore.com>
14540
14541 * prj-env.ads, prj-env.adb (Create_Mapping_File (Language)): Remove
14542 parameter Runtime_Project.
14543
145442007-09-10 Ed Schonberg <schonberg@adacore.com>
14545
14546 * sem_aggr.adb (Build_Record_Aggr_Code): If an aggregate component is
14547 given a box association, the type of the component is discriminated,
14548 and the value of the discriminant is the discriminant of the enclosing
14549 type, retrieve its value from the aggregate itself, where it must have
14550 been supplied.
14551
14552 * sem_ch4.adb (Analyze_One_Call): Further refinement to previous fix,
14553 to remove other spurious ambiguities on arithmetic operations involving
14554 literals and addresses, on systems where Address is a visible integer
14555 type, when the operator is called in functional notation.
14556 (Try_Primitive_Operation): Within an instance, a call in prefixed form
14557 is legal when the types match, even if the operation is currently
14558 hidden.
14559
145602007-09-10 Ed Schonberg <schonberg@adacore.com>
14561
14562 * sem_ch12.adb (Build_Local_Package): A formal package with no
14563 associations is legal if all formals have defaults. It is not
14564 equivalent to a formal declared with a box.
14565
145662007-09-10 Sergey Rybin <rybin@adacore.com>
14567
14568 * vms_data.ads: Add qualifier for the new gnatmetric '-lratio' option
14569
145702007-09-10 Sergey Rybin <rybin@adacore.com>
14571
14572 * gnat_ugn.texi: Add description of the new '-lratio' option
14573 Update 7.3.1 section about availability of the feature.
14574
145752007-09-10 Thomas Quinot <quinot@adacore.com>
14576
14577 * exp_smem.ads, exp_smem.adb (Make_Shared_Var_Procs): Return last
14578 inserted node.
14579
145802007-09-10 Olivier Hainque <hainque@adacore.com>
14581
14582 * Makefile.in: (mips-irix section): Activate build of libgmem.
14583
a56955b1
EB
145842007-09-10 Eric Botcazou <ebotcazou@adacore.com>
14585
14586 * a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber
14587 x87 registers.
14588
c03550f6
EB
145892007-09-10 Eric Botcazou <ebotcazou@adacore.com>
14590
14591 * decl.c (gnat_to_gnu_entity) <object>: Deal with variable built for
14592 a debug renaming declaration specially.
14593
79646678
EB
145942007-09-08 Eric Botcazou <ebotcazou@adacore.com>
14595
14596 * decl.c (gnat_to_gnu_entity) <Object>: Simplify the condition under
14597 which a constant renaming is treated as a normal object declaration.
14598 * trans.c (lvalue_required_p) <N_Slice>: New case, extracted from
14599 the N_Indexed_Component case.
14600 <N_Indexed_Component>: Fall through to above case.
14601 <N_Object_Renaming_Declaration>: Return true for all composite types.
14602
d9e161ce
EB
146032007-09-08 Eric Botcazou <ebotcazou@adacore.com>
14604
14605 * decl.c (make_packable_type): If the new type has been given BLKmode,
14606 try again to get an integral mode for it.
14607
0ab29e91 146082007-09-07 Eric Botcazou <ebotcazou@adacore.com>
6ef9a246 14609
0ab29e91 14610 Re-apply accidentally reverted change:
6ef9a246 14611
0ab29e91 14612 2007-02-07 Andreas Krebbel <krebbel1@de.ibm.com>
6ef9a246 14613
0ab29e91 14614 * raise-gcc.c (get_region_description_for, get_call_site_action_for,
9e81dbc7 14615 get_action_description_for): Replace _Unwind_Word with _uleb128_t
0ab29e91 14616 and _Unwind_SWord with _sleb128_t.
4b459ae4 14617
38f1f8cb
EB
146182007-09-06 Eric Botcazou <ebotcazou@adacore.com>
14619
14620 * trans.c (convert_with_check): Update call to real_2expN.
14621
db2960f4
SL
146222007-09-05 Sandra Loosemore <sandra@codesourcery.com>
14623
14624 * trans.c (Compilation_unit_to_gnu): Use set_cfun.
14625 * utils.c (end_subprog_body): Likewise.
14626
d70c0bd6
NC
146272007-09-03 Nick Clifton <nickc@redhat.com>
14628
14629 * Make-lang.in: Change copyright header to refer to version 3 of
14630 the GNU General Public License and to point readers at the
14631 COPYING3 file and the FSF's license web page.
14632 * ada-tree.def, nmake.adt, nlists.h, snames.h, utils.c,
14633 Makefile.rtl, Makefile.in, config-lang.in, uintp.h, urealp.h,
14634 namet.h, decl.c, utils2.c, lang.opt, elists.h, atree.h, types.h,
14635 treeprs.adt, lang-specs.h, cuintp.c, stringt.h, gnatbl.c:
14636 Likewise.
14637
8a26ebb6
AC
146382007-08-31 Vincent Celier <celier@adacore.com>
14639
14640 PR ada/4720
14641
9e81dbc7 14642 * gnatchop.adb, gnatfind.adb, gnatlink.adb, gnatls.adb,
8a26ebb6
AC
14643 gnatname.adb, gnatxref.adb, gprep.adb, clean.adb gnatbind.adb
14644 (Check_Version_And_Help): New procedure in package Switch to process
14645 switches --version and --help.
14646 Use Check_Version_And_Help in GNAT tools
14647
14648 * make.adb: Ditto.
14649 (Compile_Sources): Make sure that sources that are "excluded" are not
14650 compiled.
14651 (Gnatmake): Do not issue -aO. to gnatbind and only issue -I- if a
14652 project file is used.
14653 (Version_Switch): Remove, moved to Switch
14654 (Help_Switch): Remove, moved to Switch
14655 (Display_Version): Remove, moved to Switch
14656
14657 * switch.ads, switch.adb (Check_Version_And_Help): New procedure in
14658 package Switch to process switches --version and --help.
14659 (Display_Version): New procedure
14660
14661 * gnatvsn.ads, gnatvsn.adb (Copyright_Holder): New function.
14662
146632007-08-31 Javier Miranda <miranda@adacore.com>
14664
14665 * a-tags.adb (Internal_Tag): Protect the run-time against wrong
14666 internal tags.
14667
146682007-08-31 Hristian Kirtchev <kirtchev@adacore.com>
14669
14670 * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New routine.
14671 (Mark_Non_Null): If the node for which we just generated an access check
14672 is a reference to an *in* parameter and the reference appears in the
14673 declarative part of a subprogram body, mark the node as known non null.
14674
146752007-08-31 Hristian Kirtchev <kirtchev@adacore.com>
14676
14677 * einfo.ads, einfo.adb: New flag Is_Raised (Flag224). Update the
14678 structure of E_Exception to reflect the new flag.
14679 (Is_Raised, Set_Is_Raised): New inlined routines.
14680 Update the usage of available flag to reflect the addition of Is_Raised.
14681 (Is_Raised, Set_Is_Raised): Bodies of new routines.
14682 (Write_Entity_Flags): Write the status of flag Is_Raised.
14683 (Is_Descendent_Of_Address): New entity flag, to simplify handling of
14684 spurious ambiguities when integer literals appear in the context of an
14685 address type that is a visible integer type.
14686
14687 * sem_ch11.adb (Analyze_Exception_Handler): Add code to warn on local
14688 exceptions never being raised.
14689 (Analyze_Raise_Statement): When analyzing an exception, mark it as being
14690 explicitly raised.
14691
146922007-08-31 Javier Miranda <miranda@adacore.com>
14693
14694 * exp_ch11.adb (Expand_At_End_Handler): Avoid generation of raise
14695 statement when compiling under restriction No_Exceptions_Proparation.
14696
146972007-08-31 Ed Schonberg <schonberg@adacore.com>
14698
14699 * exp_ch3.adb (Build_Record_Init_Proc): If there is a static
14700 initialization aggregate for the type, generate itype references for
14701 thetypes of its (sub)components, to prevent out-of-scope errors in gigi.
14702
147032007-08-31 Gary Dismukes <dismukes@adacore.com>
14704
14705 * exp_ch8.adb (Expand_N_Package_Renaming_Declaration): In the case of a
14706 library-level package renaming, pass the declaration associated with
14707 the renaming's special debug variable to Qualify_Entity_Names to ensure
14708 that its encoded name is properly qualified.
14709
14710 * exp_dbug.adb (Qualify_All_Entity_Names): Check for a variable entity
14711 occurring in the list of entities to qualify, and do not attempt to
14712 traverse an entity list in that case. Variables associated with
14713` library-level package renamings can now occur in the table.
14714
14715 * exp_dbug.ads: Revise documentation of the encoding for renaming
14716 declarations.
14717
147182007-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14719
14720 * layout.adb (Layout_Type): Use Underlying_Type to determine whether an
14721 access type points to an unconstrained array.
14722
147232007-08-31 Hristian Kirtchev <kirtchev@adacore.com>
14724
9e81dbc7 14725 * restrict.adb, namet.adb, par-util.adb: Remove redundant type
8a26ebb6
AC
14726 conversion.
14727
14728 * sem_res.adb (Resolve_Qualified_Expression): Add machinery to detect
14729 simple redundant qualifications. The check is performed whenever the
14730 expression is a non-overloaded identifier.
14731 (Resolve_Type_Conversion): Enchance the redundant type conversion check
14732 to include loop parameters.
14733 (Valid_Conversion): Avoid generation of spurious error message.
14734
147352007-08-31 Bob Duff <duff@adacore.com>
14736
14737 * par-ch4.adb (P_Simple_Expression): Fold long sequences of
14738 concatenations of string literals into a single literal, in order to
14739 avoid very deep recursion in the front end, which was causing stack
14740 overflow.
14741
14742 * sem_eval.adb (Eval_Concatenation): If the left operand is the empty
14743 string, and the right operand is a string literal (the case of "" &
14744 "..."), optimize by avoiding copying the right operand -- just use the
14745 value of the right operand directly.
14746
14747 * stringt.adb (Store_String_Chars): Optimize by growing the
14748 String_Chars table all at once, rather than appending characters one by
14749 one.
14750 (Write_String_Table_Entry): If the string to be printed is very long,
14751 just print the first few characters, followed by the length. Otherwise,
14752 doing "pn(n)" in the debugger can take an extremely long time.
14753
14754 * sem_prag.adb (Process_Interface_Name): Replace loop doing
14755 Store_String_Char with Store_String_Chars.
14756
147572007-08-31 Vincent Celier <celier@adacore.com>
14758
14759 * prj-attr.adb: Add new attribute Excluded_Source_Files
14760
14761 * prj-nmsc.adb: Use attribute Excluded_Source_Files before
14762 Locally_Removed_Files.
14763
14764 * snames.ads, snames.adb: New standard name Excluded_Source_Files
14765
147662007-08-31 Ed Schonberg <schonberg@adacore.com>
14767
14768 * sem_ch10.adb (Analyze_Subunit_Context): When analyzing context
14769 clauses of subunits, ignore limited_with_clauses that are illegal and
14770 have not been fully analyzed.
14771
147722007-08-31 Ed Schonberg <schonberg@adacore.com>
14773
14774 * sem_ch3.adb: The predicate Is_Descendent_Of_Address is now an entity
14775 flag, for effiency. It is called when analyzing arithmetic operators
14776 and also for actuals in calls that are universal_integers. The flag is
14777 set for the predefined type address, and for any type or subtype
14778 derived from it.
14779
14780 * sem_ch4.adb (Analyze_One_Call): Reject an actual that is a
14781 Universal_Integer, when the formal is a descendent of address and the
14782 call appears in user code.
14783 (Analyze_Selected_Component): if the prefix is a private extension, the
14784 tag component is visible.
14785
14786 * sem_util.ads, sem_util.adb: Remove Is_Descendent_Of_Address, now an
14787 entity flag.
14788
147892007-08-31 Robert Dewar <dewar@adacore.com>
14790
14791 * s-fileio.adb (Open): Normalize file name to lower case in non-case
14792 sensitive file name systems to avoid unexpected mismatch in Vista.
14793
147942007-08-31 Vincent Celier <celier@adacore.com>
14795
14796 * tempdir.adb: On VMS, take into account GNUTMPDIR before TMPDIR
14797
147982007-08-31 Vincent Celier <celier@adacore.com>
14799
14800 * symbols-vms.adb (Initialize): Read symbol files with continuation
14801 lines
14802 (Finalize): If symbol is long, split the line
14803
148042007-08-31 Vincent Celier <celier@adacore.com>
14805
14806 * fmap.ads: Minor comment updates
14807
148082007-08-31 GNAT Script <nobody@adacore.com>
14809
14810 * Make-lang.in: Makefile automatically updated
14811
148122007-08-31 Bob Duff <duff@adacore.com>
14813
14814 * sinfo.ads: Minor comment fix.
14815
148162007-08-31 Thomas Quinot <quinot@adacore.com>
14817
14818 * stand.ads: (Standard_Debug_Renaming_Type): Make comment consistent
14819 with implementation.
14820 Documentation cleanup only.
14821
148222007-08-31 Sergey Rybin <rybin@adacore.com>
14823
14824 * vms_data.ads: Add new qualifier /STMT_NAME_ON_NEW_LINE for the new
14825 gnatpp '--separate-stmt-name' option.
14826 Add new qualifier /USE_ON_NEW_LIN for the new gnatpp '--use-on-new-line'
14827 option.
14828
14829 * gnat_ugn.texi: Add description for the new gnatpp
14830 '--separate-stmt-name' and '--use-on-new-line' options.
14831
22d2aa96
BE
148322007-08-31 Ben Elliston <bje@au.ibm.com>
14833
14834 * Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads
14835 when compiling for powerpc64-*-linux.
14836 * system-linux-ppc64.ads: New file.
14837
51743df8
KW
148382007-08-22 Krister Walfridsson <cato@df.lth.se>
14839
14840 * env.c ( __gnat_clearenv): Use the __gnat_unsetenv mechanism for
14841 NetBSD.
14842
ac7d7749
KG
148432007-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14844
14845 * misc.c (gnat_type_max_size): Constify.
14846
833eddff
AC
148472007-08-16 Gary Dismukes <dismukes@adacore.com>
14848
14849 * cstand.adb (Create_Standard): Create an entity for a zero-sized type
14850 associated with Standard_Debug_Renaming_Type, to be used as the type of
14851 the special variables whose names provide debugger encodings for
14852 renaming declarations.
14853
14854 * einfo.ads, einfo.adb (Debug_Renaming_Link): Change to return Node25.
14855 (Set_Debug_Renaming_Link): Change to set Node25.
14856 (Write_Field13_Name): Remove case for E_Enumeration_Literal.
14857 (Write_Field25_Name): Add case for E_Variable to output
14858 "Debug_Renaming_Link".
14859 (Write_Field23_Name): Correct the output string for "Limited_View".
14860
14861 * exp_dbug.adb: Add with and use of Tbuild.
14862 (Debug_Renaming_Declaration): Replace creation of an enumeration type
14863 and literal with creation of a variable of type
14864 Standard_Debug_Renaming_Type whose name encodes both the renamed object
14865 and the entity of the renaming declaration.
14866 (Qualify_Entity_Name): Add the delayed qualification of the entity name
14867 part of the name of a variable that has a Debug_Renaming_Link.
14868
14869 * stand.ads (Standard_Debug_Renaming_Type): New Entity_Id denoting a
14870 special type to be associated with variables that provide debugger
14871 encodings for renaming declarations.
14872
148732007-08-16 Gary Dismukes <dismukes@adacore.com>
14874 Ed Schonberg <schonberg@adacore.com>
14875 Javier Miranda <miranda@adacore.com>
14876
14877 * exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an
14878 ancestor part given by an aggregate to test for an unchecked conversion,
14879 since this can occur in some cases when the ancestor part is a function
14880 call, and we don't want to fall into the recursive call to this
14881 procedure in that case.
14882
14883 * exp_ch3.adb (Stream_Operation_OK): Revise tests for availability of
14884 stream attributes on limited types to account for user-specified
14885 attributes as well as whether Input (resp. Output) becomes available
14886 due to Read (resp. Write) being available for the type. Change Boolean
14887 variable to the more accurate name
14888 Has_Predefined_Or_Specified_Stream_Attribute. Change convoluted
14889 double-"not" predicate at beginning of return statement to more
14890 understandable form.
14891
14892 * exp_ch5.adb (Expand_N_Extended_Return_Statement): If the extended
14893 return has an associated N_Handled_Sequence_Of_Statements, then wrap it
14894 in a block statement and use that as the first statement of the
14895 expanded return rather than incorrectly using the handled sequence as
14896 the first statement.
14897
14898 * exp_ch6.adb (Expand_N_Subprogram_Declaration): If this is a protected
14899 operation, generate an explicit freeze node for it rather than
14900 generating extra formals, to ensure that gigi has the proper order of
14901 elaboration for anonymous subtypes in the signature of the subprograms.
14902 (Build_In_Place_Formal): Move assertion to beginning of loop.
14903 (Is_Build_In_Place_Function_Call): Allow for an unchecked conversion
14904 applied to a function call (occurs for some cases of 'Input).
14905 (Make_Build_In_Place_Call_In_*): Allow for an unchecked conversion
14906 applied to a function call (occurs for some cases of 'Input).
14907
14908 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For Ada
14909 2005, generate an extended return statement enclosing the result object
14910 and 'Read call.
14911
14912 * freeze.adb (Freeze_Record_Type): Extend the current management of
14913 components that are access type with an allocator as default value: add
14914 missing support to the use of qualified expressions of the
14915 allocator (which also cause freezing of the designated type!)
14916 (Freeze_Entity): Call Freeze_Subprogram in the case of a predefined
14917 dispatching operation, since extra formals may be needed by calls to
14918 build-in-place functions (such as stream 'Input).
14919
14920 * sem_ch6.adb (Create_Extra_Formals): Skip creation of the extra
14921 formals for 'Constrained and accessibility level in the case of a
14922 predefined dispatching operation.
14923
14924 * exp_util.adb (Insert_Actions): A protected body is a valid insertion
14925 point, no need to find the parent node.
14926
149272007-08-16 Javier Miranda <miranda@adacore.com>
14928
14929 * exp_attr.adb (Attribute_Priority): Add missing support for entries
14930 and entry barriers.
14931
149322007-08-16 Javier Miranda <miranda@adacore.com>
14933
14934 * exp_ch9.adb (Build_Protected_Entry): Undo previous change because it
14935 is not really required and can introduce regression with the debugger.
14936 The original problem is fixed with the patch written for checks.adb.
14937
149382007-08-16 Thomas Quinot <quinot@adacore.com>
14939
14940 * g-dyntab.adb, g-table.adb, table.adb: (Set_Item): Suppress
14941 Range_Check on Allocated_Table.
14942
149432007-08-16 Vincent Celier <celier@adacore.com>
14944
14945 * make.adb (Collect_Arguments): Call Test_If_Relative_Path with
14946 Including_Non_Switch set to False.
14947 (Gnatmake): For the compiler, call Test_If_Relative_Path with
14948 Including_Non_Switch set to False.
14949
14950 * makeutl.adb, makeutl.ads (Test_If_Relative_Path): New Boolean
14951 parameter Including_Non_Switch, defaulted to True. When
14952 Including_Non_Switch is False, options that are not switches and
14953 appear as relative path are not converted to absolute paths.
14954
149552007-08-16 Nicolas Roche <roche@adacore.com>
14956
14957 * Makefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub
14958 makefiles
14959
14960 * Make-lang.in: Update dependencies
14961
149622007-08-16 Hristian Kirtchev <kirtchev@adacore.com>
14963
14964 * sem_ch10.adb (Has_With_Clause): If the name of the with clause
14965 currently inspected is a selected component, retrieve the entity of
14966 its selector.
14967 (Install_Limited_Withed_Unit): Call Has_Limited_With_Clause starting
14968 from the immediate ancestor of Main_Unit_Entity.
14969 (Install_Limited_Withed_Unit): Do not install the limited view of
14970 package P if P is reachable through an ancestor chain from package C
14971 and C also has a with clause for P in its body.
14972 (Has_Limited_With_Clause): New routine.
14973 (Has_With_Clause): New routine.
14974
149752007-08-16 Ed Schonberg <schonberg@adacore.com>
14976
14977 * sem_ch12.adb (Copy_Generic_Node): A reference to a child unit of the
14978 generic for an enclosing instance is a global reference, even though
14979 its scope is the enclosing instance.
14980
149812007-08-16 Gary Dismukes <dismukes@adacore.com>
14982 Javier Miranda <miranda@adacore.com>
14983
14984 * sem_ch3.adb (OK_For_Limited_Init_In_05): Allow calls to 'Input to
14985 initialize a limited object.
14986 (Build_Derived_Record_Type): Add missing check of rules ARM 3.9.4
14987 13/2 and 14/2.
14988 Make sure Has_Complex_Representation is inherited by derived type.
14989
149902007-08-16 Robert Dewar <dewar@adacore.com>
14991
14992 * sem_ch5.adb (Analyze_Assignment): Make sure we still note update in
14993 exception case
14994
149952007-08-16 Ed Schonberg <schonberg@adacore.com>
14996
14997 * sem_disp.adb (Check_Dispatching_Operation): If the operation
14998 implements an operation inherited from a progenitor interface, verify
14999 that they are subtype-conformant.
15000
150012007-08-16 Hristian Kirtchev <kirtchev@adacore.com>
15002 Bob Duff <duff@adacore.com>
15003 Nicolas Setton <setton@adacore.com>
15004
15005 * sem_res.adb (Comes_From_Predefined_Lib_Unit): New.
15006 (Resolve): Alphabetize local variables. Add new variable From_Lib. When
15007 the statement which is being resolved comes from a predefined library
15008 unit, all non-predefined library interpretations are skipped.
15009 (Resolve_Op_Concat): If string concatenation was folded in the parser,
15010 but the "&" is user defined, give an error, because the folding would
15011 be wrong.
15012
15013 * sinfo.ads, sinfo.adb (Is_Folded_In_Parser): New flag to indicate that
15014 the parser has folded a long sequence of concatenations of string
15015 literals.
15016
15017 * trans.c (Handled_Sequence_Of_Statements_to_gnu): Mark "JMPBUF_SAVE"
15018 and "JMP_BUF" variables as artificial.
15019 (N_String_Literal): Do not use alloca for very long string literals. Use
15020 xmalloc/free instead. Otherwise the stack might overflow.
15021
15022 * utils.c (init_gigi_decls): Mark "JMPBUF_T" type as created by the
15023 compiler.
15024
150252007-08-16 Vincent Celier <celier@adacore.com>
15026
15027 * vms_conv.adb (Process_Argument): Ensure that project related options
15028 are not put in the -cargs section when using GNAT COMPILE.
15029
150302007-08-16 Robert Dewar <dewar@adacore.com>
15031
15032 * gnat_ugn.texi: Add note on preprocessing (output file not written)
15033
150342007-08-16 Thomas Quinot <quinot@adacore.com>
15035
15036 * a-tags.adb: Minor reformatting.
15037
150382007-08-16 Bob Duff <duff@adacore.com>
15039
15040 * sem_type.ads, sem_ch4.adb: Minor reformatting.
15041
ab6328d0
AC
150422007-08-14 Thomas Quinot <quinot@adacore.com>
15043
9e81dbc7 15044 * g-soccon-interix.ads, a-excpol-interix.adb, a-intnam-interix.ads,
ab6328d0
AC
15045 s-osinte-interix.ads, system-interix.ads: Removed.
15046
150472007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
15048
15049 * a-calend-vms.adb, a-calend.adb ("+", "-", Add, Subtract): Remove
15050 calls to Check_Within_Time_Bounds.
15051 ("+", "-", Add, Subtract): Remove calls to Check_Within_Time_Bounds.
15052 (Difference): Account for possible rounding of the resulting difference
15053
150542007-08-14 Robert Dewar <dewar@adacore.com>
15055
15056 * uintp.adb, a-ztedit.adb, s-wchcon.adb, xnmake.adb, s-wchcon.adb,
15057 par-ch5.adb, par-ch10.adb, get_targ.adb, a-wtedit.adb, a-teioed.adb,
15058 s-osinte-solaris.adb, s-osinte-solaris.ads,
15059 s-osinte-freebsd.ads, s-osinte-freebsd.adb: Minor reformatting.
15060
15061 * styleg.adb, styleg.ads, stylesw.adb, stylesw.ads: implement style
15062 switch -gnatyS. Enable -gnatyS in GNAT style check mode
15063
150642007-08-14 Robert Dewar <dewar@adacore.com>
15065 Ed Schonberg <schonberg@adacore.com>
15066
9e81dbc7 15067 * inline.adb, types.ads, inline.ads, frontend.adb, alloc.ads:
ab6328d0
AC
15068 Suppress unmodified in-out parameter warning in some cases
15069 This patch is a also fairly significant change to the way suppressible
15070 checks are handled.
15071
15072 * checks.ads, checks.adb (Install_Null_Excluding_Check): No check
15073 needed for access to concurrent record types generated by the expander.
15074 (Generate_Range_Check): When generating a temporary to capture the
15075 value of a conversion that requires a range check, set the type of the
15076 temporary before rewriting the node, so that the type is always
15077 properly placed for back-end use.
15078 (Apply_Float_Conversion_Check): Handle case where the conversion is
15079 truncating.
15080 (Get_Discriminal): Code reformatting. Climb the scope stack looking
15081 for a protected type in order to examine its discriminants.
15082
150832007-08-14 Robert Dewar <dewar@adacore.com>
15084 Gary Dismukes <dismukes@adacore.com>
15085 Ed Schonberg <schonberg@adacore.com>
15086 Thomas Quinot <quinot@adacore.com>
15087
9e81dbc7 15088 * a-stzsup.adb, nlists.adb, lib-util.adb, treepr.adb,
ab6328d0
AC
15089 a-stwisu.adb, a-strsup.adb: Fix warnings for range
15090 tests optimized out.
15091
15092 * exp_ch4.adb (Expand_N_In): Add warnings for range tests optimized out.
15093 (Get_Allocator_Final_List): For the case of an anonymous access type
15094 that has a specified Associated_Final_Chain, do not go up to the
15095 enclosing scope.
15096 (Expand_N_Type_Conversion): Test for the case of renamings of access
15097 parameters when deciding whether to apply a run-time accessibility
15098 check.
15099 (Convert_Aggr_In_Allocator): Use Insert_Actions to place expanded
15100 aggregate code before allocator, and ahead of declaration for
15101 temporary, to prevent access before elaboration when the allocator is
15102 an actual for an access parameter.
15103 (Expand_N_Type_Conversion): On an access type conversion involving an
15104 access parameter, do not apply an accessibility check when the
15105 operand's original node was an attribute other than 'Access. We now
15106 create access conversions for the expansion of 'Unchecked_Access and
15107 'Unrestricted_Access in certain cases and clearly accessibility should
15108 not be checked for those.
15109
15110 * exp_ch6.ads, exp_ch6.adb (Add_Call_By_Copy_Code): For an actual that
15111 includes a type conversion of a packed component that has been expanded,
15112 recover the original expression for the object, and use this expression
15113 in the post-call assignment statement, so that the assignment is made
15114 to the object and not to a back-end temporary.
15115 (Freeze_Subprogram): In case of primitives of tagged types not defined
15116 at the library level force generation of code to register the primitive
15117 in the dispatch table. In addition some code reorganization has been
15118 done to leave the implementation clear.
15119 (Expand_Call): When expanding an inherited implicit conversion,
15120 preserve the type of the inherited function after the intrinsic
15121 operation has been expanded.
15122
15123 * exp_ch2.ads, exp_ch2.adb
15124 (Expand_Entry_Parameter.In_Assignment_Context): An implicit dereference
15125 of an entry formal appearing in an assignment statement does not assign
15126 to the formal.
15127 (Expand_Current_Value): Instead of calling a routine to determine
15128 whether the prefix of an attribute reference should be optimized or
15129 not, prevent the optimization of such prefixes all together.
15130
15131 * lib-xref.adb (Generate_Reference.Is_On_LHS): An indexed or selected
15132 component whose prefix is known to be of an access type is an implicit
15133 dereference and does not assign to the prefix.
15134
151352007-08-14 Ed Schonberg <schonberg@adacore.com>
15136 Robert Dewar <dewar@adacore.com>
15137
15138 * atree.ads, atree.adb (New_Copy_Tree): If hash table is being used and
15139 itype is visited, make an entry into table to link associated node and
15140 new itype.
15141 Add comments and correct harmless error in Build_NCT_Hash_Tables
15142 (Array_Aggr_Subtype): Associate each itype created for an index type to
15143 the corresponding range construct, and not to the aggregate itself. to
15144 maintain a one-to-one correspondence between itype and its associated
15145 node, to prevent errors when complex expression is copied.
15146 Fix mishandling of multiple levels of parens
15147
15148 * sem_aggr.adb: Create a limited view of an incomplete type, to make
15149 treatment of limited views uniform for all visible declarations in a
15150 limited_withed package.
15151 (New_Copy_Tree): If hash table is being used and itype is visited,
15152 make an entry into table to link associated node and new itype.
15153 (Resolve_Record_Aggregate): Do not add an others box association for a
15154 discriminated record component that has only discriminants, when there
15155 is a box association for the component itself.
15156
15157 * par-ch4.adb: Fix mishandling of multiple levels of parens
15158
151592007-08-14 Robert Dewar <dewar@adacore.com>
15160
15161 * comperr.adb: Fix problem with suppressing warning messages from gigi
15162
9e81dbc7 15163 * erroutc.ads, erroutc.adb, errout.ads,
ab6328d0
AC
15164 errout.adb (Write_Eol): Remove trailing spaces before writing the line
15165 (Write_Eol_Keep_Blanks): New procedure to write a line, including
15166 possible trailing spaces.
15167 (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
15168 Fix problem with suppressing warning messages from back end
15169 Improve handling of deleted warnings
15170
9e81dbc7 15171 * gnat1drv.adb:
ab6328d0
AC
15172 Fix problem with suppressing warning messages from back end
15173 Handle setting of Static_Dispatch_Tables flag.
15174
9e81dbc7 15175 * prepcomp.adb:
ab6328d0
AC
15176 Fix problem with suppressing warning messages from back end
15177
15178 * exp_intr.adb: Improve handling of deleted warnings
15179
151802007-08-14 Robert Dewar <dewar@adacore.com>
15181
15182 * debug.adb: Improve -gnatdI to cover all cases of serialization
15183 Add documentation of dZ, d.t
15184
15185 * sprint.ads, sprint.adb: Improve -gnatdI to cover all cases of
15186 serialization.
15187 (Sprint_Node_Actual): Generate new output associated with implicit
15188 importation and implicit exportation of object declarations.
15189
151902007-08-14 Ed Schonberg <schonberg@adacore.com>
15191 Robert Dewar <dewar@adacore.com>
15192 Javier Miranda <miranda@adacore.com>
15193 Gary Dismukes <dismukes@adacore.com>
15194
15195 * einfo.ads, einfo.adb: Create a limited view of an incomplete type,
15196 to make treatment of limited views uniform for all visible declarations
15197 in a limited_withed package.
15198 Improve warnings for in out parameters
15199 (Set_Related_Interaface/Related_Interface): Allow the use of this
15200 attribute with constants.
15201 (Write_Field26_Name): Handle attribute Related_Interface in constants.
15202 Warn on duplicate pragma Preelaborable_Initialialization
15203
15204 * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Force the
15205 generation of a freezing node to ensure proper management of null
15206 excluding access types in the backend.
15207 (Create_Extra_Formals): Test base type of the formal when checking for
15208 the need to add an extra accessibility-level formal. Pass the entity E
15209 on all calls to Add_Extra_Formal (rather than Scope (Formal) as was
15210 originally being done in a couple of cases), to ensure that the
15211 Extra_Formals list gets set on the entity E when the first entity is
15212 added.
15213 (Conforming_Types): Add missing calls to Base_Type to the code that
15214 handles anonymous access types. This is required to handle the
15215 general case because Process_Formals builds internal subtype entities
15216 to handle null-excluding access types.
15217 (Make_Controlling_Function_Wrappers): Create wrappers for constructor
15218 functions that need it, even when not marked Requires_Overriding.
15219 Improve warnings for in out parameters
15220 (Analyze_Function_Return): Warn for disallowed null return
15221 Warn on return from procedure with unset out parameter
15222 Ensure consistent use of # in error messages
15223 (Check_Overriding_Indicator): Add in parameter Is_Primitive.
15224 (Analyze_Function_Return): Move call to Apply_Constraint_Check before
15225 the implicit conversion of the expression done for anonymous access
15226 types. This is required to generate the code of the null excluding
15227 check (if required).
15228
15229 * sem_warn.ads, sem_warn.adb (Check_References.Publicly_Referenceable):
15230 A formal parameter is never publicly referenceable outside of its body.
15231 (Check_References): For an unreferenced formal parameter in an accept
15232 statement, use the same warning circuitry as for subprogram formal
15233 parameters.
15234 (Warn_On_Unreferenced_Entity): New subprogram, taken from
15235 Output_Unreferenced_Messages, containing the part of that routine that
15236 is now reused for entry formals as described above.
15237 (Goto_Spec_Entity): New function
15238 (Check_References): Do not give IN OUT warning for dispatching operation
15239 Improve warnings for in out parameters
15240 (Test_Ref): Check that the entity is not undefinite before calling
15241 Scope_Within, in order to avoid infinite loops.
15242 Warn on return from procedure with unset out parameter
15243 Improved warnings for unused variables
15244
152452007-08-14 Robert Dewar <dewar@adacore.com>
15246 Javier Miranda <miranda@adacore.com>
15247 Gary Dismukes <dismukes@adacore.com>
15248
15249 * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of child unit
15250 (Expand_N_Attribute_Reference): Further unify the handling of the
15251 three forms of access attributes, using common code now for all three
15252 cases. Add a test for the case of applying an access attribute to
15253 an explicit dereference when the context is an access-to-interface
15254 type. In that case we need to apply the conversion to the prefix
15255 of the explicit dereference rather than the prefix of the attribute.
15256 (Attribute_Version, UET_Address): Set entity as internal to ensure
15257 proper dg output of implicit importation.
15258 (Expand_Access_To_Type): Removed.
15259 (Expand_N_Attribute_Reference): Merge the code from the three cases
15260 of access attributes, since the processing is largely identical for
15261 these cases. The substantive fix here is to process the case of a
15262 type name prefix (current instance case) before handling the case
15263 of interface prefixes.
15264
152652007-08-14 Thomas Quinot <quinot@adacore.com>
15266 Ed Schonberg <schonberg@adacore.com>
15267 Javier Miranda <miranda@adacore.com>
15268 Robert Dewar <dewar@adacore.com>
15269
15270 * exp_ch3.ads, exp_ch3.adb (Add_Final_Chain): New subprogram.
15271 (Freeze_Array_Type, Freeze_Record_Type): For the case of a component
15272 type that is an anonymous access to controlled object, establish
15273 an associated finalization chain to avoid corrupting the global
15274 finalization list when a dynamically allocated object designated
15275 by such a component is deallocated.
15276 (Make_Controlling_Function_Wrappers): Create wrappers for constructor
15277 functions that need it, even when not marked Requires_Overriding.
15278 (Initialize_Tag): Replace call to has_discriminants by call to
15279 Is_Variable_Size_Record in the circuitry that handles the
15280 initialization of secondary tags.
15281 (Is_Variable_Size_Record): New implementation.
15282 (Expand_N_Object_Declaration): Suppress call to init proc if there is a
15283 Suppress_Initialization pragma for a derived type.
15284 (Is_Variable_Size_Record): New subprogram.
15285 (Build_Offset_To_Top_Functions): New implementation that simplifies the
15286 initial version of this routine and also fixes problems causing
15287 incomplete initialization of the table of interfaces.
15288 (Build_Init_Procedure): Improve the generation of code to initialize the
15289 the tag components of secondary dispatch tables.
15290 (Init_Secondary_Tags): New implementation that simplifies the previous
15291 version of this routine.
15292 (Make_DT): Add parameter to indicate when type has been frozen by an
15293 object declaration, for diagnostic purposes.
15294 (Check_Premature_Freezing): New subsidiary procedure of Make_DT, to
15295 diagnose attemps to freeze a subprogram when some untagged type of its
15296 profile is a private type whose full view has not been analyzed yet.
15297 (Freeze_Array_Type): Generate init proc for packed array if either
15298 Initialize or Normalize_Scalars is set.
15299 (Make_Controlling_Function_Wrappers, Make_Null_Procedure_Specs): when
15300 constructing the new profile, copy the null_exclusion indicator for each
15301 parameter, to ensure full conformance of the new body with the spec.
15302
15303 * sem_type.ads, sem_type.adb (Make_Controlling_Function_Wrappers):
15304 Create wrappers for constructor functions that need it, even when not
15305 marked Requires_Overriding.
15306 (Covers): Handle properly designated types of anonymous access types,
15307 whose non-limited views are themselves incomplete types.
15308 (Add_Entry): Use an entity to store the abstract operation which hides
15309 an interpretation.
15310 (Binary_Op_May_Be_Hidden): Rename to Binary_Op_Interp_Has_Abstract_Op.
15311 (Collect_Interps): Use Empty as an actual for Abstract_Op in the
15312 initialization aggregate.
15313 (Function_Interp_May_Be_Hidden): Rename to
15314 Function_Interp_Has_Abstract_Op.
15315 (Has_Compatible_Type): Remove machinery that skips interpretations if
15316 they are labeled as potentially hidden by an abstract operator.
15317 (Has_Hidden_Interp): Rename to Has_Abstract_Op.
15318 (Set_May_Be_Hidden): Rename to Set_Abstract_Op.
15319 (Write_Overloads): Output the abstract operator if present.
15320 (Add_Entry): Before inserting a new entry into the interpretation table
15321 for a node, determine whether the entry will be disabled by an abstract
15322 operator.
15323 (Binary_Op_Interp_May_Be_Hidden): New routine.
15324 (Collect_Interps): Add value for flag May_Be_Hidden in initialization
15325 aggregate.
15326 (Function_Interp_May_Be_Hidden): New routine.
15327 (Has_Compatible_Type): Do not consider interpretations hidden by
15328 abstract operators when trying to determine whether two types are
15329 compatible.
15330 (Has_Hidden_Interp): New routine.
15331 (Set_May_Be_Hidden_Interp): New routine.
15332 (Write_Overloads): Write the status of flag May_Be_Hidden.
15333
153342007-08-14 Ed Schonberg <schonberg@adacore.com>
15335 Javier Miranda <miranda@adacore.com>
15336
15337 * exp_disp.ads, exp_disp.adb (Build_Dispatch_Tables): Handle tagged
15338 types declared in the declarative part of a nested package body or in
15339 the proper body of a stub.
15340 (Set_All_DT_Position): Add missing check to avoid wrong assignation
15341 of the same dispatch table slot to renamed primitives.
15342 (Make_Select_Specific_Data_Table): Handle private types.
15343 (Tagged_Kind): Handle private types.
15344 (Make_Tags, Make_DT): Set tag entity as internal to ensure proper dg
15345 output of implicit importation and exportation.
15346 (Expand_Interface_Thunk): Fix bug in the expansion assuming that the
15347 first formal of the thunk is always associated with the controlling
15348 type. In addition perform the following code cleanup: remove formal
15349 Thunk_Alias which is no longer required, cleanup evaluation of the
15350 the controlling type, and update the documentation.
15351 Replace occurrence of Default_Prim_Op_Count by
15352 Max_Predef_Prims. Addition of compile-time check to verify
15353 that the value of Max_Predef_Prims is correct.
15354 (Check_Premature_Freezing): Apply check in Ada95 mode as well.
15355 (Make_DT): Add parameter to indicate when type has been frozen by an
15356 object declaration, for diagnostic purposes.
15357 (Build_Static_Dispatch_Tables): New subprogram that takes care of the
15358 construction of statically allocated dispatch tables.
15359 (Make_DT): In case of library-level tagged types export the declaration
15360 of the primary tag. Remove generation of tags (now done by Make_Tags).
15361 Additional modifications to handle non-static generation of dispatch
15362 tables. Take care of building tables for asynchronous interface types
15363 (Make_Tags): New subprogram that generates the entities associated with
15364 the primary and secondary tags of Typ and fills the contents of Access_
15365 Disp_Table. In case of library-level tagged types imports the forward
15366 declaration of the primary tag that will be declared later by Make_DT.
15367 (Expand_Interface_Conversion): In case of access types to interfaces
15368 replace an itype declaration by an explicit type declaration to avoid
15369 problems associated with the scope of such itype in transient blocks.
15370
153712007-08-14 Robert Dewar <dewar@adacore.com>
15372 Ed Schonberg <schonberg@adacore.com>
15373 Javier Miranda <miranda@adacore.com>
15374
9e81dbc7 15375 * exp_util.ads, exp_util.adb:
ab6328d0
AC
15376 This patch replaces a number of occurrences of explicit tests for N_Null
15377 with calls to Known_Null. This improves tracking of null values, since
15378 Known_Null also catches null constants, and variables currently known to
15379 be null, so we get better tracking.
15380 (Ensure_Defined): create an itype reference only in the scope of the
15381 itype.
15382 (Side_Effect_Free): A selected component of an access type that
15383 denotes a component with a rep clause must be treated as not
15384 side-effect free, because if it is part of a linked structure its
15385 value may be affected by a renaming.
15386 (Expand_Subtype_From_Expr): For limited objects initialized with build
15387 in place function calls, do nothing; otherwise we prematurely introduce
15388 an N_Reference node in the expression initializing the object, which
15389 breaks the circuitry that detects and adds the additional arguments to
15390 the called function. Bug found working in the new patch for statically
15391 allocated dispatch tables.
15392 (Is_Library_Level_Tagged_Type): New subprogram.
15393 (Remove_Side_Effects): If the expression of an elementary type is an
15394 operator treat as a function call.
15395 (Make_Literal_Range): If the index type of the array is not integer, use
15396 attributes properly to compute the constraint on the resulting aggregate
15397 which is a string.
15398
15399 * freeze.ads, freeze.adb (Freeze_Entity): If the entity is a
15400 class-wide type whose base type is an incomplete private type, leave
15401 class-wide type unfrozen so that freeze nodes can be generated
15402 properly at a later point.
15403 (Freeze_Entity, array case): Handle case of pragma Pack and component
15404 size attributre clause for same array.
15405
154062007-08-14 Vincent Celier <celier@adacore.com>
15407
15408 * prj.ads, prj.adb: Update Project Manager to new attribute names for
15409 gprbuild.
15410 Allow all valid declarations in configuration project files
15411 (Reset): Initialize all tables and hash tables in the project tree data
15412 Major update of the Project Manager and of the project aware tools,
15413 including gprmake, so that the same sources in the GNAT repository
15414 can be used by gprbuild.
15415 (Slash_Id): Change type to be Path_Name_Type
15416 (Slash): Return a Path_Name_Type instead of a File_Name_Type
15417
15418 * prj-attr.ads, prj-attr.adb: Remove attributes no longer used by
15419 gprbuild.
15420 Update Project Manager to new attribute names for ghprbuild
15421 Allow all valid declarations in configuration project files
15422 Major update of the Project Manager and of the project aware tools,
15423 including gprmake, so that the same sources in the GNAT repository
15424 can be used by gprbuild.
15425
9e81dbc7 15426 * prj-com.ads:
ab6328d0
AC
15427 Major update of the Project Manager and of the project aware tools,
15428 including gprmake, so that the same sources in the GNAT repository
15429 can be used by gprbuild.
15430
15431 * prj-dect.adb (Prj.Strt.Attribute_Reference): Set correctly the case
15432 insensitive flag for attributes with optional index.
15433 (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
15434 array attribute, put the index in lower case.
15435 Update Project Manager to new attribute names for ghprbuild
15436 Allow all valid declarations in configuration project files
15437 Major update of the Project Manager and of the project aware tools,
15438 including gprmake, so that the same sources in the GNAT repository
15439 can be used by gprbuild.
15440
9e81dbc7 15441 * prj-env.ads, prj-env.adb:
ab6328d0
AC
15442 Major update of the Project Manager and of the project aware tools,
15443 including gprmake, so that the same sources in the GNAT repository
15444 can be used by gprbuild.
15445 (Get_Reference): Change type of parameter Path to Path_Name_Type
15446
15447 * prj-ext.ads, prj-ext.adb (Initialize_Project_Path): Make sure, after
15448 removing '-' from the path to start with the first character of the
15449 next directory.
15450 Major update of the Project Manager and of the project aware tools,
15451 including gprmake, so that the same sources in the GNAT repository
15452 can be used by gprbuild.
15453 Major update of the Project Manager and of the project aware tools,
15454 including gprmake, so that the same sources in the GNAT repository
15455 can be used by gprbuild.
15456
9e81dbc7 15457 * prj-nmsc.ads, prj-nmsc.adb:
ab6328d0
AC
15458 Update Project Manager to new attribute names for ghprbuild
15459 Allow all valid declarations in configuration project files
15460 (Search_Directories): Detect subunits that are specified with an
15461 attribute Body in package Naming. Do not replace a source/unit in the
15462 same project when the order of the source dirs are known. Detect
15463 duplicate sources/units in the same project when the order of the
15464 source dirs are not known.
15465 (Check_Ada_Name): Allow all identifiers that are not reserved words
15466 in Ada 95.
15467 Major update of the Project Manager and of the project aware tools,
15468 including gprmake, so that the same sources in the GNAT repository
15469 can be used by gprbuild.
15470 (Look_For_Sources): If the list of sources is empty, set the object
15471 directory of non extending project to nil.
15472 Change type of path name variables to be Path_Name_Type
15473 (Locate_Directory): Make sure that on Windows '/' is converted to '\',
15474 otherwise creating missing directories will fail.
15475
9e81dbc7 15476 * prj-attr-pm.adb, prj-tree.ads, prj-proc.ads, prj-proc.adb,
ab6328d0
AC
15477 prj-part.ads, prj-part.adb:
15478 Major update of the Project Manager and of the project aware tools,
15479 including gprmake, so that the same sources in the GNAT repository
15480 can be used by gprbuild.
15481
15482 * prj-strt.adb (Prj.Strt.Attribute_Reference): Set correctly the case
15483 insensitive flag for attributes with optional index.
15484 (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
15485 array attribute, put the index in lower case.
15486 (Parse_Variable_Reference): Allow the current project name to be used in
15487 the prefix of an attribute reference.
15488
15489 * prj-util.ads, prj-util.adb
15490 (Value_Of (for arrays)): New Boolean parameter Force_Lower_Case_Index,
15491 defaulted to False. When True, always check against indexes in lower
15492 case.
15493
9e81dbc7 15494 * snames.ads, snames.h, snames.adb:
ab6328d0
AC
15495 Update Project Manager to new attribute names for gprbuild
15496 Allow all valid declarations in configuration project files
15497
154982007-08-14 Robert Dewar <dewar@adacore.com>
15499 Ed Schonberg <schonberg@adacore.com>
15500
15501 * opt.ads: Warning for non-local exception propagation now off by
15502 default
15503 New switch -gnatI to disable representation clauses
15504 Implement new pragma Implicit_Packing
15505
9e81dbc7 15506 * usage.adb:
ab6328d0
AC
15507 Warning for non-local exception propagation now off by default
15508 Add warning for unchecked conversion of pointers wi different
15509 conventions.
15510 New switch -gnatI to disable representation clauses
15511
15512 * usage.adb: new switch -gnatyS
15513
15514 * gnat_ugn.texi: For the gnatcheck Non_Qualified_Aggregates rule add a
15515 note that aggregates of anonymous array types are not flagged.
15516 -gnatwc now includes membership tests optimized away
15517 -gnatw.x warnings are now off by default
15518 Added conditional compilation Appendix
15519 Add documentation of -gnatI
15520 Add documentation for new -gnatyS style check
15521 Update documentation about SAL and auto-init on Windows.
15522
9e81dbc7 15523 * gnat_rm.texi:
ab6328d0
AC
15524 Add documentation for pragma Check_Name and 'Enabled attribute
15525 Document that Eliminate on dispatching operation is ignored
15526 Document IDE attributes VCS_Repository_Root and VCS_Patch_Root.
15527 Document pragma Main
15528 Document pragma Implicit_Packing
15529
15530 * sem_ch13.adb: Add warning for unchecked conversion of pointers wi
15531 different conventions
15532 New switch -gnatI to disable representation clauses
15533
15534 * switch-c.adb (Scan_Front_End_Switches): When a -gnat switch is not
15535 recognized, report the invalid characters including "-gnat" instead of
15536 just the first character in the switch.
15537 New switch -gnatI to disable representation clauses
15538 Set Warn_On_Object_Renames_Function true for -gnatg
15539
15540 * vms_data.ads: Add doc for /IGNORE_REP_CLAUSES
15541 Add STATEMENTS_AFTER_THEN_ELSE as synonym for -gnatyS
15542 Add qualifier /ADD_PROJECT_SEARCH_DIR= for different tools, equivalent
15543 to switch -aP (add directory to project search dir).
15544
15545 * par-prag.adb: Implement new pragma Implicit_Packing
15546
15547 * sem_prag.adb (Analyze_Pragma, case Complex_Representation): Mark the
15548 type as having a non-standard representation, to force expansion on
15549 conversion to related types.
15550 (Analyze_Pragma): Warn on misspelled pragma
15551 (Analyze_Pragma, case Convention_Identifier): Fix checking of second arg
15552 Ensure consistent use of # in error messages
15553 Implement pragma Implicit_Packing
15554
155552007-08-14 Olivier Hainque <hainque@adacore.com>
15556 Eric Botcazou <ebotcazou@adacore.com>
15557
15558 * targtyps.c (get_target_maximum_default_alignment): New function.
15559 Maximum alignment
15560 that the compiler might choose by default for a type or object.
15561 (get_target_default_allocator_alignment): New function. Alignment known
15562 to be honored by the target default allocator.
15563 (get_target_maximum_allowed_alignment): New function. Maximum alignment
15564 we might accept for any type or object on the target.
15565 (get_target_maximum_alignment): Now synonym of maximum_default_alignment
15566
15567 * gigi.h (get_target_maximum_default_alignment): Declare new function.
15568 (get_target_default_allocator_alignment): Likewise.
15569 (get_target_maximum_allowed_alignment): Likewise.
15570
15571 PR ada/19037
15572 * decl.c (gnat_to_gnu_entity) <object>: Except for the renaming of the
15573 result of a function call, first try to use a stabilized reference for
15574 a constant renaming too.
15575 (validate_alignment): Use target_maximum_allowed_alignment instead of
15576 MAX_OFILE_ALIGNMENT as the upper bound to what we accept.
15577 (gnat_to_gnu_entity): Use common nodes directly.
15578 (gnat_to_gnu_entity) <object>: Pick the values of the type to annotate
15579 alignment and size for the object.
15580 (lvalue_required_p): Handle N_Parameter_Association like N_Function_Call
15581 and N_Procedure_Call_Statement.
15582 (takes_address): Rename to lvalue_required_p, add third parameter
15583 'aliased' and adjust recursive calls.
15584 <N_Indexed_Component>: Update 'aliased' from the array type.
15585 <N_Selected_Component>: New case.
15586 <N_Object_Renaming_Declaration>: New Likewise.
15587 (Identifier_to_gnu): Adjust for above changes.
15588 (maybe_stabilize_reference) <CONST_DECL>: New case.
15589
15590 * utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Look through conversion
15591 between type variants.
15592 (build_simple_component_ref): Likewise.
15593 (build_call_alloc_dealloc): Use target_default_allocator_alignment
15594 instead of BIGGEST_ALIGNMENT as the threshold to trigger the super
15595 aligning type circuitry for allocations from the default storage pool.
15596 (build_allocator): Likewise.
15597 (build_simple_component_ref): Manually fold the reference for a
15598 constructor if the record type contains a template.
15599
15600 * utils.c (value_zerop): Delete.
15601 (gnat_init_decl_processing): Emit debug info for common types.
15602 (rest_of_record_type_compilation): If a union contains a field
15603 with a non-constant qualifier, treat it as variable-sized.
15604 (finish_record_type): Give the stub TYPE_DECL a name.
15605 (rest_of_record_type_compilation): Likewise.
15606 (convert) <CONSTRUCTOR>: New case. Build a new constructor if
15607 types are equivalent array types.
15608 (create_field_decl): Claim fields of any ARRAY_TYPE are addressable,
15609 even if the type is not passed by reference.
15610 (static_ctors, static_dtors): Delete.
15611 (end_subprog_body): Do not record constructors and destructors.
15612 (build_global_cdtor): Delete.
15613 (gnat_write_global_declarations): Do not call build_global_cdtor.
15614
0ab29e91 15615 * lang-spARGET_VXWORKS_RTP is defined, append -mrtp when
ab6328d0
AC
15616 -fRTS=rtp is specified.
15617 If CONFIG_DUAL_EXCEPTIONS is 1, append -fsjlj when -fRTS=sjlj is
15618 specified.
15619
15620 * misc.c (gnat_init_gcc_eh): Use __gnat_eh_personality_sj for the name
15621 of the personality function with SJLJ exceptions.
15622
9e81dbc7 15623 * raise-gcc.c (PERSONALITY_FUNCTION): Use __gnat_eh_personality_sj for
ab6328d0
AC
15624 the name of the personality function with SJLJ exceptions.
15625
156262007-08-14 Robert Dewar <dewar@adacore.com>
15627 Ed Schonberg <schonberg@adacore.com>
15628
15629 * par.ads, par.adb: Improve handling of extra right parens.
15630 (Par): Remove flag From_Limited_With_Clause.
15631
15632 * par-util.adb, par-ch3.adb: Improve error recovery for bad constraint
15633 Improve handling of extra right parens.
15634
156352007-08-14 Robert Dewar <dewar@adacore.com>
15636
15637 * par-tchk.adb (TF_Semicolon): Improve error recovery
15638
156392007-08-14 Robert Dewar <dewar@adacore.com>
15640 Ed Schonberg <schonberg@adacore.com>
15641
15642 * sem_attr.ads, sem_attr.adb (Analyze_Attribute, case Value): For
15643 enumeration type, mark all literals as referenced.
15644 (Eval_Attribute, case 'Image): If the argument is an enumeration
15645 literal and names are available, constant-fold but mark nevertheless as
15646 non-static.
15647 Clean up function names.
15648 (Name_Modifies_Prefix): Rename to Name_Implies_Lvalue_Prefix. Clarify
15649 comment.
15650 (Requires_Simple_Name_Prefix): Removed.
15651
156522007-08-14 Robert Dewar <dewar@adacore.com>
15653 Ed Schonberg <schonberg@adacore.com>
15654
15655 * sem_ch11.adb: Improved warnings for unused variables
15656
15657 * sem_ch3.ads, sem_ch3.adb (Build_Derived_Record_Type): If the ancestor
15658 is a synchronized interface, the derived type is limited.
15659 (Analyze_Object_Declaration): Mark the potential coextensions in the
15660 definition and expression of an object declaration node.
15661 (Build_Derived_Type): For the completion of a private type declaration
15662 with a derived type declaration, chain the parent type's representation
15663 items to the last representation item of the derived type (not the
15664 first one) if they are not present already.
15665 (Analyze_Object_Declaration, Constant_Redeclaration): Allow incomplete
15666 object declaration of forward references to tags.
15667 (Access_Subprogram_Declaration): In Ada2005, anonymous access to
15668 subprogram types can appear as access discriminants of synchronized
15669 types.
15670 (OK_For_Limited_Init_In_05): The initialization is legal is it is a call
15671 given in prefixed form as a selected component.
15672 (Process_Discriminants): If not all discriminants have defaults, place
15673 error message on a default that is present.
15674 (Analyze_Private_Extension_Declaration): Diagnose properly an attempt to
15675 extend a synchronized tagged type.
15676 Improved warnings for unused variables
15677 (Is_Visible_Component): Fix a visibility hole on a component inherited
15678 by a private extension when parent is itself declared as a private
15679 extension, and the derivation is in a child unit.
15680 (Find_Hidden_Interface): Move spec from the package body.
15681
156822007-08-14 Robert Dewar <dewar@adacore.com>
15683 Ed Schonberg <schonberg@adacore.com>
15684
15685 * sem_ch5.adb: Improve warnings on redundant assignments
15686
15687 * sem_util.ads, sem_util.adb: (Is_Variable): Add defense against junk
15688 parameter
15689 (Is_Synchronized_Tagged_Type): New subprogram that returns true
15690 in case of synchronized tagged types (AARM 3.9.4 (6/2)).
15691 (Safe_To_Capture_Value): Can now return True for constants, even if Cond
15692 is set to False. Improves handling of Known_[Not_]Null.
15693 (Wrong_Type): Special case address arithmetic attempt
15694 (Collect_Abstract_Interfaces): Add new formal to allow collecting
15695 abstract interfaces just using the partial view of private types.
15696 (Has_Abstract_Interfaces): Add new formal to allow checking types
15697 covering interfaces using the partial view of private types.
15698 (Is_Fully_Initialized_Type): Special VM case for uTag component. This
15699 component still needs to be defined in this case, but is never
15700 initialized as VMs are using other dispatching mechanisms.
15701 (Abstract_Interface_List): For a protected type, use base type to get
15702 proper declaration.
15703 Improve warnings on redundant assignments
15704 (Is_Variable): Handle properly an implicit dereference of a prefixed
15705 function call.
15706 (Build_Actual_Subtype): If this is an actual subtype for an
15707 unconstrained formal parameter, use the sloc of the body for the new
15708 declaration, to prevent anomalises in the debugger.
15709
157102007-08-14 Robert Dewar <dewar@adacore.com>
15711
15712 * sem_elim.adb (Set_Eliminated): Ignore pragma Eliminate for
15713 dispatching operation
15714
157152007-08-14 Ed Schonberg <schonberg@adacore.com>
15716 Gary Dismukes <dismukes@adacore.com>
15717
9e81dbc7 15718 * exp_aggr.ads,
ab6328d0
AC
15719 exp_aggr.adb (Convert_Aggr_In_Allocator): Use Insert_Actions to place
15720 expanded aggregate code before allocator, and ahead of declaration for
15721 temporary, to prevent access before elaboration when the allocator is
15722 an actual for an access parameter.
15723 (Is_Static_Dispatch_Table_Aggregate): Handle aggregates initializing
15724 the TSD and the table of interfaces.
15725 (Convert_To_Assignments): Augment the test for delaying aggregate
15726 expansion for limited return statements to include the case of extended
15727 returns, to prevent creation of an unwanted transient scope.
15728 (Is_Static_Dispatch_Table_Aggregate): New subprogram.
15729 (Expand_Array_Aggregate): Handle aggregates associated with
15730 statically allocated dispatch tables.
15731 (Expand_Record_Aggregate): Handle aggregates associated with
15732 statically allocated dispatch tables.
15733 (Gen_Ctrl_Actions_For_Aggr): Generate a finalization list for allocators
15734 of anonymous access type.
15735
157362007-08-14 Ed Schonberg <schonberg@adacore.com>
15737
15738 * exp_ch5.adb (Expand_Assign_Array): If source or target of assignment
15739 is a variable that renames a slice, use the variable itself in the
15740 expannsion when the renamed expression itself may be modified between
15741 the declaration of the renaming and the array assignment.
15742
157432007-08-14 Jerome Guitton <guitton@adacore.com>
15744
9e81dbc7
AS
15745 * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
15746 s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
ab6328d0
AC
15747 s-taprop-vms.adb, s-taprop-posix.adb (Continue_Task, Stop_All_Tasks):
15748 New functions; dummy implementations.
15749
15750 * s-osinte-vxworks.ads (Task_Stop, Task_Cont, Int_Lock, Int_Unlock): New
15751 functions, used to implement the multi-tasks mode routines on VxWorks.
15752
15753 * s-osinte-vxworks.adb, s-osinte-vxworks6.adb (Task_Cont, Task_Stop):
15754 New functions, thin
15755 binding to the VxWorks routines which have changed between VxWorks 5
15756 and 6.
15757 (Int_Lock, Int_Unlock): New function, thin binding to kernel routines
15758 which are not callable from a RTP.
15759
15760 * s-taprop-vxworks.adb (Stop_All_Tasks, Continue_Task): New functions,
15761 implemented for the multi-tasks mode on VxWorks 5 and 6.
15762
15763 * s-taprop.ads (Stop_All_Tasks, Continue_Task): New functions.
15764
15765 * s-tasdeb.ads, s-tasdeb.adb (Continue_All_Tasks, Stop_All_Tasks): New
15766 functions.
15767
157682007-08-14 Vincent Celier <celier@adacore.com>
15769
9e81dbc7 15770 * clean.adb, fmap.adb, sinput-p.adb, sinput-p.ads, gnatcmd.adb,
ab6328d0 15771 gnatname.adb, makeutl.ads, makeutl.adb, makegpr.adb, mlib-tgt-vms.adb
9e81dbc7
AS
15772 mlib-tgt-darwin.adb, mlib-tgt-lynxos.adb, mlib-prj.adb, mlib-tgt.adb,
15773 mlib-tgt.ads, mlib-tgt-irix.adb mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
15774 mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
ab6328d0
AC
15775 mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, mlib-tgt-aix.adb,
15776 mlib-tgt-tru64.adb, mlib.ads, mlib.adb (Create_Sym_Links): New
15777 procedure.
15778 (Major_Id_Name): New function.
15779 mlib-tgt.ads/mlib.tgt.adb:
15780 (Library_Major_Minor_Id_Supported): New function, default returns True
15781 Most mlib-tgt-*.adb that support shared libraries and symbolic links:
15782 (Build_Dynamic_Library): Add support for major/minor ids for shared libs
15783 Other mlib-tgt-*.adb (aix, mingw, vms, vxworks, xi):
15784 Implementation of Library_Major_Minor_Id_Supported returns False
15785 clean.adb:
15786 (Clean_Library_Directory): If major/minor ids are supported, clean all
15787 library files.
15788 Major update of the Project Manager and of the project aware tools,
15789 including gprmake, so that the same sources in the GNAT repository
15790 can be used by gprbuild.
15791
157922007-08-14 Olivier Hainque <hainque@adacore.com>
15793
15794 * system-solaris-x86.ads (ZCX_By_Default): Switch to True.
15795 (GCC_ZCX_Support): Switch to True.
9e81dbc7 15796
ab6328d0
AC
15797 * s-intman-solaris.adb (Notify_Exception): Call
15798 Adjust_Context_For_Raise before raising, as expected for signal
15799 handlers in general.
9e81dbc7 15800
ab6328d0
AC
15801 * s-intman-posix.adb (Notify_Exception): Remove declaration of
15802 Adjust_Context_For_Raise, moved to the spec of this unit to be visible
15803 to other implementation bodies.
9e81dbc7 15804
ab6328d0
AC
15805 * s-intman.ads (Adjust_Context_For_Raise): Declare and import here, to
15806 be visible by multiple implementation bodies.
9e81dbc7 15807
ab6328d0
AC
15808 * init.c [VMS section] (__gnat_handle_vms_condition): Adjust context
15809 only for conditions coming from hardware.
15810 [alpha-tru64 section] (__gnat_adjust_context_for_raise): Implement,
15811 adjustments to signal context prior to exception raise from signal
15812 handler.
15813 (__gnat_map_signal for VxWorks): Map SIGSEGV to Storage_Error in RTP
15814 mode.
15815 Solaris section: (__gnat_adjust_context_for_raise): New function.
15816 Implementation of the machine context adjustments to perform prior to
15817 raise from a signal handler. Version for both sparc and x86.
15818 (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Define.
15819 (__gnat_error_handler): Expect a third argument, ucontext_t *. Adjust it
15820 prior to raising as expected for any handler, before possible nested
15821 faults to make sure all the contexts in a chain have been adjusted by
15822 the time we propagate.
15823
158242007-08-14 Pascal Obry <obry@adacore.com>
15825
15826 * s-osinte-mingw.ads: Add support for Ada.Execution_Time on Windows.
15827 (SYSTEM_INFO): New record.
15828 (SetThreadIdealProcessor): New imported routine needed for supporting
15829 task_info pragma on Windows.
15830
15831 * s-taprop-mingw.adb (Enter_Task): Check if CPU number given in task
15832 info can be applied to the current host.
15833 (Create_Task): Set the ideal processor if information is present.
15834
15835 * s-tasinf-mingw.adb, s-tasinf-mingw.ads,
15836 a-exetim-mingw.adb, a-exetim-mingw.ads: New files.
15837
158382007-08-14 Olivier Hainque <hainque@adacore.com>
15839
15840 * s-taprop-linux.adb (Get_Stack_Attributes): New subprogram. Fetch the
15841 stack size and initial stack pointer value for a given task.
15842 (Enter_Task): Get the stack attributes of the task we are entering and
15843 let the stack checking engine know about them.
15844
15845 * s-stchop.adb, s-stchop.ads (Notify_Stack_Attributes): New subprogram.
15846 Let the stack-checking engine know about the initial sp value and stack
15847 size associated with the current task.
15848 (Set_Stack_Info): If a stack base has been notified for the current
15849 task, honor it. Fallback to the previous less accurate method otherwise.
15850
15851 * s-stchop-vxworks.adb (Notify_Stack_Attributes): Dummy body.
15852
158532007-08-14 Ed Schonberg <schonberg@adacore.com>
15854
15855 * sem_ch10.adb: Create a limited view of an incomplete type, to make
15856 treatment of limited views uniform for all visible declarations in a
15857 limited_withed package.
15858 Set flag indicating that a subprogram body for a child unit has a
15859 generated spec.
15860 (Analyze_Compilation_Unit): If unit is a subprogram body that has no
15861 separate declaration, remove the unit name from visibility after
15862 compilation, so that environment is clean for subsequent compilations.
15863 (Install_Limited_Context_Clauses): Do not install a
15864 limited_private_with_clause unless the current unit is a body or a
15865 private child unit.
15866 (Analyze_Subunit, Install_Parents): Treat generic and non-generic units
15867 in the same fashion.
15868 (Install_Limited_Withed_Unit): Do not install a limited with clause if
15869 it applies to the declaration of the current package body.
15870 (Remove_Private_With_Clauses): If there is a regular with_clause for
15871 the unit, delete Private_With_Clause from context, to prevent improper
15872 hiding when processing subsequent nested packages and instantiations.
15873
158742007-08-14 Jose Ruiz <ruiz@adacore.com>
15875
15876 * adaint.c (__gnat_is_absolute_path): For VxWorks systems we accept
15877 dir/file, device:/dir/file, and device:drive_letter:/dir/file as
15878 representing absolute path names.
15879 __gnat_set_file_time_name [VMS]: Fix some 64/32 bit issues.
15880
15881 * cstreams.c (__gnat_full_name for VxWorks): Use
15882 __gnat_is_absolute_path to detect whether we need to add the current
15883 directory to normalize the path.
15884
158852007-08-14 Javier Miranda <miranda@adacore.com>
15886
9e81dbc7 15887 * a-tags.ads,
ab6328d0
AC
15888 a-tags.adb (Displace): Associate a message with the raised CE
15889 exception.
15890 (To_Addr_Ptr, To_Address, To_Dispatch_Table_Ptr,
15891 To_Object_Specific_Data_Ptr To_Predef_Prims_Ptr,
15892 To_Tag_Ptr, To_Type_Specific_Data_Ptr): Moved here from the package
15893 spec.
15894 (Default_Prim_Op_Count): Removed.
15895 (IW_Membership, Get_Entry_Index, Get_Offset_Index, Get_Prim_Op_Kind,
15896 Register_Tag, Set_Entry_Index, Set_Offset_To_Top, Set_Prim_Op_Kind):
15897 Remove pragma Inline_Always.
15898
15899 * rtsfind.ads (Default_Prim_Op_Count): Removed
15900 (Max_Predef_Prims): New entity
15901 (RE_Expanded_Name): Removed
15902 (RE_HT_Link): Removed
15903 (RE_Iface_Tag): Remmoved
15904 (RE_Ifaces_Table): Removed
15905 (RE_Interfaces_Array): Removed
15906 (RE_Interface_Data_Element): Removed
15907 (RE_Nb_Ifaces): Removed
15908 (RE_RC_Offset): Removed
15909 (RE_Static_Offset_To_Top): Removed
15910
15911 * exp_atag.ads, exp_atag.adb (Build_Inherit_Prims): Addition of a new
15912 formal.
15913 (Build_Inherit_Predefined_Prims): Replace occurrences of Default_
15914 Prim_Op_Count by Max_Predef_Prims.
15915
159162007-08-14 Thomas Quinot <quinot@adacore.com>
15917 Vincent Celier <celier@adacore.com>
15918
15919 * binde.adb (Elab_All_Links): Remove unnecessary call to
15920 Generic_Separately_Compiled (if a unit satisfies this predicate, there
15921 won't be an associated Afile).
15922 (Elab_All_Links): Fail if a referenced unit cannot be found
15923
9e81dbc7 15924 * bindgen.adb:
ab6328d0
AC
15925 Fix comments in bindgen regarding consistency checks done in Bcheck:
15926 the checks are made across units within a partition, not across several
15927 partitions.
15928 Fix generation of C binder file for VxWorks.
15929
15930 * lib.ads, lib.adb (Generic_Separately_Compiled): Rename to
15931 Generic_May_Lack_ALI, more descriptive of the current use of the
15932 predicate, and update documentation.
15933
15934 * lib-writ.ads, lib-writ.adb (Write_With_Lines): Minor code
15935 reorganization and documentation update for the case of predefined
15936 library generics (for which we do not reference an Afile).
15937
159382007-08-14 Robert Dewar <dewar@adacore.com>
15939
15940 * s-intman-irix.adb, s-osinte-irix.adb, s-osinte-irix.ads,
15941 s-proinf-irix-athread.ads, s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads,
15942 s-parame-hpux.ads, s-intman-dummy.adb, s-tasinf-solaris.adb,
15943 s-tasinf-solaris.ads, s-asthan-vms-alpha.adb, s-inmaop-vms.adb,
15944 s-intman-vms.adb, s-intman-vms.ads, s-osprim-mingw.adb,
15945 s-parame-vms-restrict.ads, s-parame-ae653.ads, s-intman-vxworks.ads,
15946 s-intman-vxworks.ads, s-intman-vxworks.adb, s-parame-vxworks.ads,
15947 s-tfsetr-vxworks.adb, s-interr.adb, s-interr.ads, a-tasatt.adb,
15948 exp_ch13.adb, s-htable.ads, s-imgboo.ads, s-imglli.ads, s-imgllu.ads,
15949 s-imguns.ads, g-eacodu.adb, par-ch12.adb, s-stache.ads, s-stausa.adb,
15950 s-poosiz.adb, s-parame.ads, s-mastop.ads, s-osinte-darwin.ads,
15951 a-chtgke.adb, s-asthan-vms-alpha.adb, s-parame-vms-alpha.ads,
15952 s-parame-vms-ia64.ads, s-parame-vxworks.adb, s-except.ads,
15953 g-altcon.adb: Minor reformatting
15954
15955 ada-tree.h: Delete empty line.
15956
15957 ali.ads: Minor reformatting
15958 Clarification of comments.
15959 Minor spelling correction
15960
15961 * exp_dbug.adb: Add Warnings Off to suppress new warning
15962
15963 * a-witeio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
15964 formal
15965
15966 * a-strunb.adb (Set_Unbounded_String): Avoid memory leak by freeing old
15967 value
15968
15969 * a-textio.adb (Write): Remove an unnecessary IN OUT mode from
15970
15971 * a-textio.ads: Reorder the standard input/output/error declarations
15972 for consistency.
15973
15974 * g-dirope.adb, g-dirope.ads: Change Dir to mode IN for Open call
15975
15976 * par-ch2.adb: Recognize RM specially in errout
15977 Change 'R'M to RM in all error messages
15978
15979 * scng.adb: Recognize RM specially in errout
15980
15981 * sem.ads, sem.adb, exp_strm.adb, exp_ch5.ads, expander.adb: Rename
15982 N_Return node to be N_Simple_Return, to reflect Ada 2005 terminology.
15983
15984 * s-direio.adb: Add missing routine header box.
15985
15986 * sem_attr.ads: Add ??? comments
15987
15988 * sem_eval.adb: Recognize RM specially in errout
15989 Change 'R'M to RM in all error messages
15990
15991 * sem_maps.adb, sem_maps.ads: Remove some unnecessary IN OUT modes
15992
15993 * s-tasinf.ads: Fix minor comment typo.
15994
15995 * a-cihama.adb: Minor comment addition
15996
15997 * a-ztexio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
15998 formal
15999
16000 * s-tasinf-tru64.ads: Fix minor comment typo.
16001
16002 * itypes.ads: Comment update.
16003
16004 * ali-util.adb: Remove Generic_Separately_Compiled guard, not needed
16005 anymore.
16006
16007 * argv.c: Added protection against null gnat_argv and gnat_envp.
16008
16009 * bcheck.adb (Check_Consistency): Use correct markup character ({) in
16010 warning message when Tolerate_Consistency_Errors is True.
16011
16012 * cstand.adb (Create_Standard): Do not call Init_Size_Alignment for
16013 Any_Id, as this subprogram is only applicable to *type* entities (it
16014 sets RM_Size). Instead initialize just Esize and Alignment.
16015
160162007-08-14 Bob Duff <duff@adacore.com>
16017
9e81dbc7
AS
16018 * a-cihama.ads, a-cidlli.ads, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
16019 a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
16020 a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorse.ads, a-cohama.ads,
ab6328d0
AC
16021 a-cohata.ads, a-convec.adb, a-coinve.ads, a-coinve.adb, a-convec.ads,
16022 a-coorse.ads (Next): Applied pragma Inline.
16023 Make all Containers packages Remote_Types (unless they are already
16024 Pure).
16025 (Previous): applied pragma Inline
16026 (Elements_Type): is now a record instead of an array
16027
160282007-08-14 Thomas Quinot <quinot@adacore.com>
16029
16030 * table.adb, g-table.adb, g-dyntab.adb (Append): Reimplement in terms
16031 of Set_Item.
16032 (Set_Item): When the new item is an element of the currently allocated
16033 table passed by reference, save a copy on the stack if we're going
16034 to reallocate. Also, in Table.Set_Item, make sure we test the proper
16035 variable to determine whether to call Set_Last.
16036
16037 * sinput-d.adb, sinput-l.adb, stringt.adb, switch-m.adb,
16038 symbols-vms.adb, symbols-processing-vms-alpha.adb,
16039 symbols-processing-vms-ia64.adb, sem_elab.adb, repinfo.adb: Replace
16040 some occurrences of the pattern
16041 T.Increment_Last;
16042 T.Table (T.Last) := Value;
16043 with a cleaner call to
16044 T.Append (Value);
16045
160462007-08-14 Ed Schonberg <schonberg@adacore.com>
16047 Gary Dismukes <dismukes@adacore.com>
16048 Thomas Quinot <quinot@adacore.com>
16049
16050 * sem_ch12.ads, sem_ch12.adb (Instantiate_Type): If the formal is a
16051 derived type with interface progenitors use the analyzed formal as the
16052 parent of the actual, to create renamings for all the inherited
16053 operations in Derive_Subprograms.
16054 (Collect_Previous_Instances): new procedure within of
16055 Load_Parent_Of_Generic, to instantiate all bodies in the compilation
16056 unit being loaded, to ensure that the generation of global symbols is
16057 consistent in different compilation modes.
16058 (Is_Tagged_Ancestor): New function testing the ancestor relation that
16059 takes progenitor types into account.
16060 (Validate_Derived_Type_Instance): Enforce the rule of 3.9.3(9) by
16061 traversing over the primitives of the formal and actual types to locate
16062 any abstract subprograms of the actual type that correspond to a
16063 nonabstract subprogram of the formal type's ancestor type(s), and issue
16064 an error if such is found.
16065 (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation,
16066 Instantiate_Package_Body, Instantiate_Subprogram_Body):
16067 Remove bogus guard around calls to Inherit_Context.
16068 (Reset_Entity): If the entity is the selector of a selected component
16069 that denotes a named number, propagate constant-folding to the generic
16070 template only if the named number is global to the generic unit.
16071 (Set_Instance_Env): Only reset the compilation switches when compiling
16072 a predefined or internal unit.
16073
160742007-08-14 Ed Schonberg <schonberg@adacore.com>
16075
16076 * sem_ch4.adb (Try_Class_Wide_Operation): use base type of first
16077 parameter to determine whether operation applies to the prefix.
16078 (Complete_Object_Operation): If actual has an access type and
16079 controlling formal is not an in_parameter, reject the actual if it is
16080 an access_to_constant type.
16081 (Try_Primitive_Operation): If the type of the prefix is a formal tagged
16082 type, the candidate operations are found in the scope of declaration of
16083 the type, because the type has no primitive subprograms.
16084 (Analyze_Selected_Component): If prefix is class-wide, and root type is
16085 a private extension, only examine visible components before trying to
16086 analyze as a prefixed call.
16087 Change Entity_List to Type_To_Use, for better readability.
16088 (Has_Fixed_Op): Use base type when checking whether the type of an
16089 operator has a user-defined multiplication/division
16090 (Check_Arithmetic_Pair): Use Ada 2005 rules to remove ambiguities when
16091 user-defined operators are available for fixed-point types.
16092
160932007-08-14 Thomas Quinot <quinot@adacore.com>
16094 Ed Schonberg <schonberg@adacore.com>
16095
16096 * sem_cat.ads, sem_cat.adb (Has_Stream_Attribute_Definition): New
16097 formal At_Any_Place indicating, when True, that we want to test for
16098 availability of the stream attribute at any place (as opposed to the
16099 current visibility context only).
16100 (Missing_Read_Write_Attributes): A stream attribute is missing for the
16101 purpose of enforcing E.2.2(8) only if it is not available at any place.
16102 Take into account the Ada2005 pragma Has_Preelaborable_Initialization
16103 when checking the legality of an extension aggregate in a preelaborable
16104 package. Treat the literal null as a valid default expression in a
16105 component declaration for a type with preelaborable initialization.
16106 A limited interface is a legal progenitor for the designated type of a
16107 remote access to class-wide type.
16108
161092007-08-14 Thomas Quinot <quinot@adacore.com>
16110 Ed Schonberg <schonberg@adacore.com>
16111
16112 * sem_ch8.ads, sem_ch8.adb (Find_Type, case of a 'Base attribute
16113 reference): Use correct entity as denoted entity for the selector of
16114 the rewritten node.
16115 (Find_Direct_Name): Add comment about Generate_Reference incorrectly
16116 setting the Referenced_As_LHS flag for entities that are implicitly
16117 dereferenced.
16118 (Find_Type): If the type is an internally generated incomplete type,
16119 mark the full view as referenced, to prevent spurious warnings.
16120 (Find_Selected_Component, Has_Components): Handle properly non-limited
16121 views that are themselves incomplete types.
16122 Handle interfaces visible through limited-with clauses.
16123 (Analyze_Subprogram_Renaming): Disambiguate and set the entity of a
16124 subprogram generic actual for which we have generated a renaming.
16125 Warn when the renaming introduces a homonym of
16126 the renamed entity, and the renamed entity is directly visible.
16127
161282007-08-14 Ed Schonberg <schonberg@adacore.com>
16129 Hristian Kirtchev <kirtchev@adacore.com>
16130
16131 * sem_res.adb (Resolve_Allocator): Propagate any coextensions that
16132 appear in the subtree to the current allocator if it is not a static
16133 coextension.
16134 (Resolve_Allocator): Perform cleanup if resolution has determined that
16135 the allocator is not a coextension.
16136 (Resolve): Skip an interpretation hidden by an abstract operator only
16137 when the type of the interpretation matches that of the context.
16138 (Resolve): When looping through all possible interpretations of a node,
16139 do not consider those that are hidden by abstract operators.
16140 (Resolve_Actuals): When verifying that an access to class-wide object
16141 is an actual for a controlling formal, ignore anonymous access to
16142 subprograms whose return type is an access to class_wide type.
16143 (Resolve_Slice): If the prefix of the slice is a selected component
16144 whose type depends on discriminants, build its actual subtype before
16145 applying range checks on the bounds of the slice.
16146 (Valid_Conversion): In an instance or inlined body, compare root types,
16147 to prevent anomalies between private and public views.
16148 (Resolve): Improve error message for ambiguous fixed multiplication
16149 expressions that involve universal_fixed multiplying operations.
16150
161512007-08-14 Javier Miranda <miranda@adacore.com>
16152 Hristian Kirtchev <kirtchev@adacore.com>
16153
16154 * exp_ch9.adb (Build_Protected_Entry): Propagate the original source
16155 location to allow the correct generation of errors in case of
16156 restrictions applied to the expanded code.
16157 (Expand_Entry_Barrier): Remove all generated renamings for a barrier
16158 function if the condition does not reference them.
16159 (Expand_Entry_Body_Declarations): Mark the index constant as having a
16160 valid value.
16161
161622007-08-14 Thomas Quinot <quinot@adacore.com>
8a57e48f 16163 Pablo Oliveira <oliveira@adacore.com>
ab6328d0
AC
16164
16165 * exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating
16166 typecode parameters for a union (in a variant record), remove
16167 extraneous layer of Any wrapping for member label.
16168 (Expand_Receiving_Stubs_Bodies): For an RCI package body that has
16169 elabration statements, register the package with the name server
16170 at the beginning, not at the end, of the elaboration statements so
16171 that they can create remote access to subprogram values that designate
16172 remote subprograms from the package.
16173
161742007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
16175
16176 * g-catiio.adb (Image): For the case of %s, use Ada.Calendar.Time
16177 values to compute the number of seconds since the Unix Epoc in order to
16178 account for Daylight Savings Time. Perform special processing for dates
16179 that are earlier than the Unix Epoc to obtain a negative number.
16180
161812007-08-14 Emmanuel Briot <briot@adacore.com>
16182
16183 * g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing
16184 switches.
16185
161862007-08-14 Eric Botcazou <ebotcazou@adacore.com>
16187
16188 * gnatlink.adb (Gnatlink): Pass switches to the linker even if the
16189 binder-generated file is not in Ada.
16190 Pass -mrtp to the linker if it is GCC and --RTS=rtp has been
16191 recorded in the ALI file.
16192 Pass -fsjlj to the linker if it is GCC and --RTS=sjlj has been recorded.
16193
161942007-08-14 Vincent Celier <celier@adacore.com>
16195
16196 * gnatls.adb: (Corresponding_Sdep_Entry): Always return a value
16197 (Output_Source): Do nothing if parameter is No_Sdep_Id
16198
16199 * make.adb (Gnatmake): Do not rebuild an archive simply because a
16200 shared library it imports has a later time stamp.
16201 (Check): Resolve the symbolic links in the path name of the object
16202 directory.
16203 Check that the ALI file is in the correct object directory
16204 Check if a file name does not correspond to the mapping of units
16205 to file names.
16206 (Display_Version): New procedure
16207 (Initialize): Process switches --version and --help
16208 Use type Path_Name_Type for path name
16209
162102007-08-14 Paul Hilfinger <hilfinger@adacore.com>
16211
16212 * impunit.adb: Re-organize System.Random_Numbers and
16213 GNAT.Random_Numbers and add to builds.
16214
16215 * Makefile.rtl: Add s-rannum.ad* and g-rannum.ad*, a-assert*
16216
16217 * s-rannum.ads, s-rannum.adb, g-rannum.ads, g-rannum.adb: New files.
16218
16219 * a-assert.ads, a-assert.adb: New files.
16220
162212007-08-14 Gary Dismukes <dismukes@adacore.com>
16222
16223 * layout.adb (Layout_Type): In the case of access-to-subprogram types,
16224 if AAMP_On_Target is True, then the size of the type encompasses two
16225 addresses (a static link and a subprogram address), except in the case
16226 of library-level access types.
16227
162282007-08-14 Vincent Celier <celier@adacore.com>
16229
16230 * output.ads, output.adb (Write_Eol): Remove trailing spaces before
16231 writing the line.
16232 (Write_Eol_Keep_Blanks): New procedure to write a line, including
16233 possible trailing spaces.
16234 (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
16235
162362007-08-14 Javier Miranda <miranda@adacore.com>
16237
16238 * par-ch6.adb (P_Formal_Part): Fix wrong error message associated with
16239 null-excluding access types.
16240
162412007-08-14 Javier Miranda <miranda@adacore.com>
16242
16243 * sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code
16244 that is common to Analyze_Protected_Type and Analyze_Task_Type. In case
16245 of private types add missing check on matching interfaces in the
16246 partial and full declarations.
16247 (Analyze_Protected_Type): Code cleanup.
16248 (Analyze_Task_Type): Code cleanup.
16249
162502007-08-14 Javier Miranda <miranda@adacore.com>
16251
16252 * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a
16253 generated interface thunk.
16254
162552007-08-14 Ed Schonberg <schonberg@adacore.com>
16256
16257 * s-ficobl.ads: Declare AFCB as a tagged incomplete type, to prevent
16258 obsolescent warning on application of 'Class to an incomplete type.
16259
16260 * s-finroo.ads: Declare Root_Controlled as a tagged incomplete type, to
16261 prevent obsolescent warning on application of 'Class to an incomplete
16262 type.
16263
162642007-08-14 Pascal Obry <obry@adacore.com>
16265
16266 * s-fileio.adb (Is_Open): Add check for usability of the underlying
16267 file stream.
16268
162692007-08-14 Cyrille Comar <comar@adacore.com>
16270
16271 * s-finimp.adb (Detach_From_Final_List): make this procedure idempotent
16272 since it is potentially used in cases implying double finalization of
16273 the same object.
16274
162752007-08-14 Jose Ruiz <ruiz@adacore.com>
16276
16277 * s-tasini.adb (Get_Stack_Info): Move this function to
16278 System.Soft_Links.Tasking because it is common to the full and the
16279 restricted run times.
16280 (Init_RTS): Do not set the Get_Stack_Info soft link because it is done
16281 in SSL.Tasking.Init_Tasking_Soft_Links.
16282
16283 * s-solita.adb (Get_Stack_Info): Function moved from
16284 System.Tasking.Initialization because it is common to the full and the
16285 restricted run times.
16286 (Init_Tasking_Soft_Links): Set the tasking soft link for Get_Stack_Info.
16287
162882007-08-14 Arnaud Charlet <charlet@adacore.com>
16289
16290 * s-tpobop.ads, s-tpobop.adb, s-tasren.ads, s-tasren.adb,
16291 s-taskin.ads (Requeue_With_Abort): Rename field With_Abort.
16292 (PO_Do_Or_Queue, Task_Do_Or_Queue, Requeue_Call): Remove With_Abort
16293 parameter.
16294
16295 * s-tassta.adb (Task_Wrapper): Increased value of the small overflow
16296 guard to 12K.
16297
162982007-08-14 Gary Dismukes <dismukes@adacore.com>
16299
16300 * s-veboop.adb (SU): New named number initialized to
16301 System.Storage_Unit.
16302 (True_Val): The initialization expression is revised to use SU (=
16303 Storage_Unit) rather than assuming 8 for the component size of an
16304 unpacked Boolean array.
16305
163062007-08-14 Tristan Gingold <gingold@adacore.com>
16307
16308 * tracebak.c: Use tb-ivms.c on OpenVMS Itanium.
16309
16310 * tb-ivms.c: New file.
16311
16312 * g-trasym-vms-ia64.adb: Fixed for OpenVMS version 8.2
16313
163142007-08-14 Geert Bosch <bosch@adacore.com>
16315
16316 * i-forbla.ads, i-forbla.adb, a-ngcoar.adb, a-ngcoar.ads, i-forlap.ads,
16317 s-gearop.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads:
16318 Add required linker pragmas for automatically linking with the gnalasup
16319 linear algebra support library, and the systems math library.
16320 Rename cdot to cdotu and zdot to zdotu.
16321 Update header comment to describe purpose of package.
16322
163232007-08-14 Thomas Quinot <quinot@adacore.com>
16324
16325 * exp_ch7.adb (Find_Final_List): For an anonymous access type that has
16326 an explicitly specified Associated_Final_Chain, use that list.
16327 (Expand_N_Package_Body): Build dispatch tables of library level tagged
16328 types.
16329 (Expand_N_Package_Declaration): Build dispatch tables of library level
16330 tagged types. Minor code cleanup.
16331
163322007-08-14 Vincent Celier <celier@adacore.com>
16333
16334 * gnatchop.adb (Terminate_Program): Remove exception and use
16335 Types.Terminate_Program instead.
16336
16337 * osint.ads, osint.adb (Current_Exit_Status): New global variable
16338 (Find_Program_Name): Added protection against empty name.
16339 (OS_Exit_Through_Exception): New procedure
16340
16341 * s-os_lib.ads, s-os_lib.adb (OS_Exit): New procedure body
16342 (OS_Exit_Default): New procedure that contains the previous
16343 implementation of procedure OS_Exit.
16344 (Final_Value): Remove obsolete Interix stuff.
16345
163462007-08-14 Thomas Quinot <quinot@adacore.com>
16347
16348 * g-socket.ads: Reorganize example code so that it also works on
16349 Windows XP.
16350
163512007-08-14 Tristan Gingold <gingold@adacore.com>
16352
16353 * g-trasym.ads: AIX now supports symbolic backtraces.
16354
163552007-08-14 Ed Schonberg <schonberg@adacore.com>
16356
16357 * lib-load.adb (From_Limited_With_Chain): Always scan the stack of
16358 units being loaded to detect circularities. A circularity may be
16359 present even if the current chain of pending units to load starts from
16360 a limited_with_clause.
16361
16362 * lib-load.ads: Change profile of Load_Unit to use a with_clause
16363 rather than a boolean flag, in order to detect circularities in
16364 with_clauses.
16365
16366 * par-load.adb: Use current with_clause in calls to Load_Unit, rather
16367 than propagating the From_Limited_With flag, in order to handle
16368 properly circularities involving with_clauses.
16369
163702007-08-14 Nicolas Setton <setton@adacore.com>
16371
16372 * link.c (FreeBSD): Add "const" keyword where needed, to eliminate
16373 warnings.
16374
163752007-08-14 Arnaud Charlet <charlet@adacore.com>
16376
16377 * Makefile.in: GNATRTL_LINEARALGEBRA_OBJS: New variable holding objects
16378 to build for libgnala.
16379 libgnat: Add rules to build libgnala.a
16380 (LIBGNAT_TARGET_PAIRS for VxWorks): Remove s-osinte-vxworks.adb from
16381 target pairs of the VxWorks 6 kernel runtime, use it only for VxWorks 5.
16382 Add s-osinte-vxworks-kernel.adb to the target pairs of the
16383 kernel run-time lib for VxWorks 6, which would provide a different
16384 implementation for Task_Cont and Task_Stop than the VxWorks 5 version.
16385 x86-solaris section (EH_MECHANISM): Set to -gcc, as this port is now
16386 running ZCX by default.
16387 Add g-sttsne-locking to LynxOS version.
16388 Remove g-sttsne-vxworks.ads; use g-sttsne-locking.ads instead.
16389 On x86/darwin, use a-numaux-x86.ad? and system-darwin-x86.ads.
16390
16391 * system-darwin-x86.ads: New file.
16392
16393 * Make-lang.in: Delete files before copying onto them, so if they are
16394 read-only, the copy won't fail.
16395 Update dependencies
16396
163972007-08-14 Pascal Obry <obry@adacore.com>
16398
16399 * mdll-fil.adb, * mdll.adb: Implement a more consistent libraries
16400 naming scheme.
16401
164022007-08-14 Vincent Celier <celier@adacore.com>
16403
16404 * mlib-utl.adb (Gcc_Name): Change from constant String to String_Access
16405 (Gcc): Initialize Gcc_Name at the first call
16406
164072007-08-14 Ed Schonberg <schonberg@adacore.com>
16408
16409 * sem_ch7.adb (Analyze_Package_Specification): Do not install private
16410 with_clauses of the enclosing unit when analyzing the package
16411 specification of a nested instance.
16412
164132007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
16414
16415 * sinfo.ads, sinfo.adb (Is_Coextension, Set_Is_Coextension): Removed.
16416 (Is_Dynamic_Coextension, Set_Is_Dynamic_Coextension): New routines.
16417 Remove flag Is_Coextension. Add flag Is_Dynamic_Coextension. Update the
16418 layout of N_Allocator.
16419
164202007-08-14 Thomas Quinot <quinot@adacore.com>
16421
16422 * rtsfind.adb (Check_RPC): Add PCS version check.
16423
16424 * gnatvsn.ads, gnatvsn.adb: Add PCS version.
16425 (Gnat_Free_Software): New function.
16426
16427 * sem_dist.ads, sem_dist.adb (Get_PCS_Version): New subprogram. Returns
16428 the PCS_Version value from s-parint, used to check that it is consistent
16429 with what exp_dist expects.
16430
16431 * s-parint.ads (PCS_Version): New entity for checking consistency
16432 between exp_dist and PCS.
16433
16434 * gen-soccon.c: (SO_REUSEPORT): New constant.
16435
164362007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
16437
16438 * a-calfor.adb (Image (Duration; Boolean)): Change type of local
16439 variable Sub_Second to Duration in order to accomodate a larger range
16440 of arithmetic operations.
16441
164422007-08-14 Bob Duff <duff@adacore.com>
16443
16444 * g-sttsne-locking.ads: Move comments from spec to body.
16445 * g-sttsne-locking.adb: Move comments from spec to body.
16446 * g-sttsne-vxworks.ads: Removed.
16447 * g-sttsne-vxworks.adb: Removed.
16448
4862826d
ILT
164492007-08-11 Ian Lance Taylor <iant@google.com>
16450
16451 * misc.c (gnat_get_alias_set): Change return type to
16452 alias_set_type.
16453
4d8a9bfe
KG
164542007-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16455
16456 * decl.c, utils2.c: Fix whitespace in last change.
16457
39595763
KG
164582007-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16459
16460 * decl.c (compare_field_bitpos): Constify.
16461 * utils2.c (compare_elmt_bitpos): Likewise.
16462
08e7e8cb
AJ
164632007-07-27 Aurelien Jarno <aurelien@aurel32.net>
16464
9e81dbc7 16465 * s-osinte-kfreebsd-gnu.ads ((sigset_t_ptr): Removed, replaced by
08e7e8cb
AJ
16466 anonymous access type.
16467 (pthread_sigmask): Now take an access sigset_t.
16468
9e94c78f 164692007-07-05 Joel Sherrill <joel.sherrill@oarcorp.com>
83983455 16470
9e81dbc7
AS
16471 * s-osinte-rtems.ads: Correct prototype of pthread_sigmask.
16472
a8257e58
EB
164732007-06-21 Eric Botcazou <ebotcazou@adacore.com>
16474
16475 PR tree-optimization/25737
16476 * misc.c (gnat_post_options): Do not force flag_tree_salias to 0.
16477
5be014d5
AP
164782007-06-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
16479
16480 * trans.c (Attribute_to_gnu): When subtracting an
16481 offset from a pointer, use POINTER_PLUS_EXPR with
16482 NEGATE_EXPR instead of MINUS_EXPR.
16483 (gnat_to_gnu): Likewise.
16484 * utils.c (convert): When converting between
16485 thin pointers, use POINTER_PLUS_EXPR and sizetype
16486 for the offset.
16487 * utils2.c (known_alignment): POINTER_PLUS_EXPR
16488 have the same semantics as PLUS_EXPR for alignment.
16489 (build_binary_op): Add support for the semantics of
16490 POINTER_PLUS_EXPR's operands.
16491 When adding an offset to a pointer, use POINTER_PLUS_EXPR.
16492
719bb4e3 164932007-06-11 Rafael Ávila de Espíndola <espindola@google.com>
b0464c88 16494
a472f546
EB
16495 * trans.c (Attribute_to_gnu): Use signed_or_unsigned_type_for instead
16496 of get_signed_or_unsigned_type.
b0464c88
RE
16497 * misc.c (LANG_HOOKS_SIGNED_TYPE): Remove.
16498
93e17a25 164992007-06-11 Bob Duff <duff@adacore.com>
9e81dbc7 16500 Thomas Quinot <quinot@adacore.com>
93e17a25
BD
16501
16502 * g-stsifd-sockets.adb (Create): Work around strange behavior of
16503 'bind' on windows that causes 'connect' to fail intermittently, by
16504 retrying the 'bind'.
16505 (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
16506
1bbf8502
DS
165072007-06-10 Duncan Sands <baldrick@free.fr>
16508
16509 * decl.c (gnat_to_gnu_entity): Use pointers to dummy nodes, rather
16510 than to void, for the fields when making a new fat pointer type.
16511 (gnat_substitute_in_type): Now substitute_in_type.
a472f546 16512 * gigi.h (gnat_substitute_in_type): Likewise. Adjust recursive calls.
1bbf8502
DS
16513 * trans.c (gnat_gimplify_expr): Remove COMPONENT_REF kludge.
16514 * utils.c (update_pointer_to): Update fat pointers by updating the
16515 dummy node pointers used for the fields.
16516
ec11296f
AC
165172007-06-06 Thomas Quinot <quinot@adacore.com>
16518 Bob Duff <duff@adacore.com>
16519
9e81dbc7
AS
16520 * g-soccon-freebsd.ads, g-soccon-vxworks.ads:,
16521 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
ec11296f
AC
16522 g-soccon-solaris.ads, g-soccon-vms.ads, g-soccon-tru64.ads: Add new
16523 constant Thread_Blocking_IO, always True by default, set False
16524 on a per-runtime basis.
16525 (Need_Netdb_Buffer): New constant.
16526
16527 * g-stheme.adb, g-sttsne.ads, g-sttsne-locking.ads,
16528 g-sttsne-locking.adb, g-sttsne-vxworks.ads, g-sttsne-vxworks.adb: New
16529 files.
16530
16531 * g-socthi-vxworks.ads, g-socthi-vxworks.adb,
16532 g-socthi-vms.ads, g-socthi-vms.adb (Safe_Gethostbyname,
16533 Safe_Gethostbyaddr, Safe_Getservbyname, Safe_Getservbyport): Use new
16534 child package Task_Safe_NetDB
16535 (Host_Error_Messages): Add stub body.
16536 (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
16537
16538 * g-soccon-mingw.ads: Add Windows-specific constants.
16539 (Need_Netdb_Buffer): New constant.
16540 (GNAT.Sockets.Thin.C_Inet_Addr, Windows version): Remove useless Ada
16541 wrapper and import inet_addr(3) from the standard sockets library
16542 directly instead.
16543 (In_Addr): Add alignment clause.
16544 (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
16545
165462007-06-06 Robert Dewar <dewar@adacore.com>
16547
16548 * a-taster.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
16549 s-osinte-irix.ads, s-interr-sigaction.adb, s-mastop-irix.adb,
16550 s-osinte-hpux-dce.ads, s-osinte-interix.ads, s-osinte-solaris.ads,
16551 s-taspri-solaris.ads, s-inmaop-vms.adb, s-interr-vms.adb,
16552 s-mastop-vms.adb, s-osinte-vms.ads, s-tpopde-vms.adb,
16553 s-osinte-mingw.ads, s-interr-vxworks.adb, i-cstrea-vms.adb,
16554 a-diocst.adb, a-direio.adb, a-interr.adb, a-sequio.adb, a-siocst.adb,
16555 a-ssicst.adb, a-storio.adb, a-ststio.adb, a-stwima.adb, a-tasatt.adb,
16556 a-taside.adb, a-tiocst.adb, a-witeio.adb, a-wtcstr.adb, g-crc32.adb,
16557 g-dirope.adb, g-dyntab.adb, g-memdum.adb, g-regexp.adb, g-spipat.adb,
16558 g-spitbo.adb, g-string.adb, g-string.ads, g-table.adb, g-thread.adb,
16559 i-cobol.adb, i-cpoint.adb, i-cstrea.adb, i-cstrin.adb, i-pacdec.adb,
16560 s-addima.adb, s-arit64.adb, s-auxdec.adb, s-auxdec.ads,
16561 s-auxdec-vms_64.ads, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
16562 s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
16563 s-direio.adb, s-fileio.adb, s-finimp.ads, s-geveop.adb, s-imgenu.adb,
16564 s-pack03.adb, s-pack05.adb, s-pack06.adb, s-pack07.adb, s-pack09.adb,
16565 s-pack10.adb, s-pack11.adb, s-pack12.adb, s-pack13.adb, s-pack14.adb,
16566 s-pack15.adb, s-pack17.adb, s-pack18.adb, s-pack19.adb, s-pack20.adb,
16567 s-pack21.adb, s-pack22.adb, s-pack23.adb, s-pack24.adb, s-pack25.adb,
16568 s-pack26.adb, s-pack27.adb, s-pack28.adb, s-pack29.adb, s-pack30.adb,
16569 s-pack31.adb, s-pack33.adb, s-pack34.adb, s-pack35.adb, s-pack36.adb,
16570 s-pack37.adb, s-pack38.adb, s-pack39.adb, s-pack40.adb, s-pack41.adb,
16571 s-pack42.adb, s-pack43.adb, s-pack44.adb, s-pack45.adb, s-pack46.adb,
16572 s-pack47.adb, s-pack48.adb, s-pack49.adb, s-pack50.adb, s-pack51.adb,
16573 s-pack52.adb, s-pack53.adb, s-pack54.adb, s-pack55.adb, s-pack56.adb,
16574 s-pack57.adb, s-pack58.adb, s-pack59.adb, s-pack60.adb, s-pack61.adb,
16575 s-pack62.adb, s-pack63.adb, s-pooloc.adb, s-poosiz.adb, s-scaval.adb,
16576 s-sequio.adb, s-shasto.adb, s-stalib.ads, s-stratt.adb, s-strcom.adb,
16577 s-taasde.adb, s-tasdeb.adb, s-tasuti.ads, s-tataat.ads, s-tpoben.ads,
16578 s-valenu.adb, s-widenu.adb, s-wwdenu.adb, s-addope.adb, a-stzmap.adb,
16579 a-ztcstr.adb, a-ztexio.adb, s-osinte-linux-hppa.ads: Replace
16580 Unchecked_* by Ada.Unchecked_*
16581
165822007-06-06 Robert Dewar <dewar@adacore.com>
16583
16584 * g-string.adb, s-proinf-irix-athread.adb, s-gloloc-mingw.adb,
16585 s-tfsetr-default.adb, gnatfind.adb, gnatxref.adb, gprep.adb,
16586 g-regexp.adb, g-regexp.ads, g-regpat.ads, g-tasloc.adb, g-tasloc.ads,
16587 output.adb, switch-m.ads, tree_in.ads, tree_io.ads, indepsw.ads,
16588 g-utf_32.adb, g-utf_32.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
16589 a-zchuni.ads: Replace GNAT.xxx by System.xxx when appropriate.
16590
16591 * s-utf_32.adb, s-utf_32.ads, s-os_lib.adb, s-os_lib.ads, s-regexp.adb,
16592 s-regexp.ads, s-regpat.adb, s-regpat.ads, s-string.adb, s-string.ads,
16593 s-tasloc.adb, s-tasloc.ads: New files.
16594
165952007-06-06 Bob Duff <duff@adacore.com>
16596
9e81dbc7 16597 * g-expect-vms.adb:
ec11296f
AC
16598 (Send_Signal, Close): Raise Invalid_Process if the process id is invalid.
16599 * g-expect.ads, g-expect.adb (Send): Avoid useless copy of the string.
16600 (Send_Signal, Close): Raise Invalid_Process if the process id is
16601 invalid.
16602 (Pattern_Matcher_Access): Is now a general access type to be able to
16603 use aliased string.
16604
166052007-06-06 Thomas Quinot <quinot@adacore.com>
16606 Arnaud Charlet <charlet@adacore.com>
16607
a472f546
EB
16608 * a-intnam-aix.ads: Adjust comment to account for SIGADAABORT change
16609 (SIGEMT is now used instead of SIGTERM on AIX).
ec11296f
AC
16610
16611 * s-osinte-aix.ads (Linker_Options): Use -pthread instead of -lpthreads.
16612 (Time_Slice_Supported): Set to True.
a472f546 16613 Use SIGEMT instead of SIGTERM as SIGADAABORT.
ec11296f
AC
16614
166152007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
16616
16617 * a-calend.ads, a-calend.adb, a-calend-vms.ads, a-calend-vms.adb ("-"
16618 (Time, Time)): Use To_Relative_Time rather than manual calculation to
16619 express the bounds of Duration as Time. Raise Time_Error when the
16620 result is greater or equal to the higher bound of Duration (on the
16621 margin case).
16622 ("+" (Time, Duration)): Reorder code. Remove the declaration of constant
16623 Ada_High_And_Leaps.
16624 ("-" (Time, Duration)): Reorder code. Remove the declaration of constant
16625 Ada_High_And_Leaps.
16626 ("-" (Time, Time)): Reorder code.
16627 (All_Leap_Seconds): Removed.
16628 (Arithmetic_Operations.Add): Remove sign related kludge.
16629 (Arithmetic_Operations.Difference): Control the leaps seconds processing
16630 with flag Leap_Support.
16631 (Arithmetic_Operations.Subtract): Remove sign related kludge.
16632 (Check_Within_Time_Bounds): New procedure.
16633 (Clock): Control the leap seconds processing with flag Leap_Support.
16634 (Cumulative_Leap_Seconds): Assert that the target supports leap seconds.
16635 (Formatting_Operations.Split): Control the leap seconds processing with
16636 flag Leap_Support.
16637 (Formatting_Operations.Time_Of): Control the leaps seconds processing
16638 with flag Leap_Support. Adjust the year, month and day (if applicable)
16639 when the value of day seconds designates a new day.
16640 (Split): Use parameter associations for better readability. Integrate
16641 flag Is_Ada_05.
16642 (Time_Of): Use parameter associations for better readability. Integrate
16643 flag Is_Ada_05.
16644
16645 * a-calfor.adb (Split): Use parameter associations for better
16646 readability. Integrate flag Is_Ada_05.
16647 (Time_Of): Remove flag Leap_Checks. Use parameter associations for
16648 better readability. Integrate flag Is_Ada_05.
16649
166502007-06-06 Arnaud Charlet <charlet@adacore.com>
16651
9e81dbc7
AS
16652 * s-taprop-vms.adb, s-taprop-hpux-dce.adb, s-taprop-vxworks.adb,
16653 s-osprim-posix.adb, s-taprop-posix.adb, s-osprim-vxworks.adb,
16654 s-taprop-solaris.adb, s-osprim-solaris.adb, s-taprop-dummy.adb,
16655 s-osprim-unix.adb, s-osinte-freebsd.adb, s-osinte-freebsd.ads,
16656 s-osinte-lynxos.adb, s-osinte-lynxos.ads, s-taprop-tru64.adb,
16657 s-taprop-lynxos.adb, s-taprop-irix.adb, s-osinte-tru64.adb,
16658 s-osinte-tru64.ads, s-taprop-linux.adb, s-parame.ads,
16659 s-parame-vms-alpha.ads, s-parame-vms-ia64.ads, s-parame-hpux.ads,
16660 s-parame-vms-restrict.ads, s-parame-ae653.ads, s-parame-vxworks.ads,
ec11296f 16661 s-taprop-mingw.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos-3.adb,
9e81dbc7 16662 s-osprim-mingw.adb (Timed_Delay, Timed_Sleep): Register the base
ec11296f
AC
16663 time when entering this routine to detect a backward clock setting
16664 (manual setting or DST adjustment), to avoid waiting for a longer delay
16665 than needed.
16666 (Time_Duration, To_Timeval, struct_timeval): Removed when not relevant.
16667 Remove handling of deferred priority change, and replace by setting the
16668 task priority directly, as required by AI-188.
16669 Update comments.
16670 (Max_Task_Image_Length): New constant.
16671 Replace Warnings (Off) by Unreferenced pragma, cleaner.
16672 (Dynamic_Priority_Support): Removed, no longer needed.
16673 (Poll_Base_Priority_Change): Ditto.
16674 (Set_Ceiling): Add this procedure to change the ceiling priority
16675 associated to a lock. This is a dummy implementation because dynamic
16676 priority ceilings are not supported by the underlying system.
16677
16678 * a-dynpri.adb (Set_Priority): Take into account case where Target is
16679 accepting a RV with its priority boosted.
16680 Remove handling of deferred priority change, and replace by setting the
16681 task priority directly, as required by AI-188.
16682
16683 * s-taenca.adb (Try_To_Cancel_Entry_Call): Remove special case for
16684 Succeeded = True.
16685 Remove handling of deferred priority change, and replace by setting the
16686 task priority directly, as required by AI-188.
16687 (Wait_For_Completion, Wait_For_Call, Timed_Selective_Wait): Change state
16688 of Self_Id earlier.
16689
16690 * s-tasini.ads, s-tasini.adb (Wakeup_Entry_Caller): Relax assertion.
16691 (Poll_Base_Priority_Change): Removed.
16692 Code clean up: use SSL.Current_Target_Exception.
16693
16694 * s-tasren.adb (Task_Count): Call Yield to let a chance to other tasks
16695 to run as this is a potentially dispatching point.
16696 (Call_Synchronous): Use Local_Defer_Abort.
16697 (Callable): Relax assertion.
16698 (Selective_Wait): Relax assertion in case abort is not allowed.
16699 Remove handling of deferred priority change, and replace by setting the
16700 task priority directly, as required by AI-188.
16701
16702 * s-tasuti.adb (Make_Passive): Adjust assertions.
16703 Remove handling of deferred priority change, and replace by setting the
16704 task priority directly, as required by AI-188.
16705
167062007-06-06 Arnaud Charlet <charlet@adacore.com>
16707
9e81dbc7
AS
16708 * system-vxworks-sparcv9.ads, system-solaris-x86.ads,
16709 system-irix-o32.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
16710 system-lynxos-x86.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
16711 system-vxworks-mips.ads, system-vxworks-alpha.ads,
16712 system-vxworks-x86.ads, system-linux-ppc.ads, system-mingw.ads,
16713 system-vms-zcx.ads, system-darwin-ppc.ads, system-vxworks-ppc.ads,
16714 system-interix.ads, system-linux-hppa.ads, system-tru64.ads,
16715 system-hpux.ads, system-irix-n32.ads, system-solaris-sparc.ads,
ec11296f
AC
16716 system-solaris-sparcv9.ads, system-vms.ads, system.ads,
16717 system-vms_64.ads, system-hpux-ia64.ads, system-linux-x86_64.ads,
16718 system-linux-ia64.ads: Document mapping between Ada and OS priorities.
16719 This patch changes the largest non-binary modulus from 2**31-1 to
16720 2**32-1.
16721 (Compiler_System_Version): Removed, no longer used.
16722 Clean up system files by removing flags only used on a single target.
16723 Also remove obsolete flags, only used during bootstrap from system.ads
16724 (Address): Add a pragma Preelaborable_Initialization.
16725
16726 * system-aix.ads: Ditto.
16727 (GCC_ZCX_Support): Set to true.
16728 Update priority range on AIX and map Ada priorities to target
16729 priorities appropriately for different scheduling policies.
16730
16731 * ttypes.ads: set largest non-binary modulus from 2**31-1 to 2**32-1
16732
167332007-06-06 Vincent Celier <celier@adacore.com>
16734
16735 * mlib-tgt-specific.adb, mlib-tgt-specific.ads,
16736 mlib-tgt-vms.adb, mlib-tgt-vms.ads: New files.
16737
9e81dbc7
AS
16738 * mlib-tgt.adb, mlib-tgt.ads, mlib-tgt-darwin.adb,
16739 mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb, mlib-tgt-lynxos.adb,
16740 mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb,
16741 mlib-tgt-vms-ia64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
ec11296f 16742 mlib-tgt-hpux.adb, mlib-tgt-tru64.adb: Make a common body for package
a472f546
EB
16743 MLib.Tgt, containing the default versions of the exported subprograms.
16744 For each platform, create a specific version of the body of new child
16745 package MLib.Tgt.Specific that contains only the body of subprograms
16746 that are different from the default.
16747 (Archive_Builder_Append_Options): New function.
ec11296f
AC
16748
167492007-06-06 Matthew Gingell <gingell@adacore.com>
16750
a472f546
EB
16751 * s-osinte-aix.adb: Map Ada priorities to target priorities
16752 appropriately for different scheduling policies.
ec11296f
AC
16753
167542007-06-06 Arnaud Charlet <charlet@adacore.com>
16755
16756 * s-osinte-linux.ads (sigset_t): Bump alignment to match more closely
16757 its C counterpart.
16758 Remove references to Unchecked_Conversion, and use Ada.xxx instead.
9e81dbc7 16759 Replace Unchecked_Conversion by Ada.Unchecked_Conversion.
ec11296f
AC
16760
167612007-06-06 Vasiliy Fofanov <fofanov@adacore.com>
16762
a472f546
EB
16763 * s-osprim-vms.ads, s-osprim-vms.adb (Initialize): New procedure.
16764 Noop on VMS, added for interface commonality.
ec11296f
AC
16765
167662007-06-06 Eric Botcazou <ebotcazou@adacore.com>
16767 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16768 Olivier Hainque <hainque@adacore.com>
16769
16770 * decl.c (gnat_to_gnu_entity) <object>: Manually mark the top of the
16771 renamed expression of a full renaming at toplevel.
16772 (gnat_to_gnu_entity, case object): If not defining, do not look inside
16773 the values the constant is initialized to if it is an N_Allocator.
16774 (gnat_to_gnu_entity) <E_Array_Subtype>: Manually mark the top of the
16775 TYPE_SIZE_UNIT of inner types after the stride is elaborated.
16776 (make_aligning_type): Accept an extra ROOM argument for storage to be
16777 made available before the aligned field, and an extra BASE_ALIGN
16778 argument for callers to pass the alignment guaranteed to be honored for
16779 the whole aligning object. Avoid call to finish_record_type, which only
16780 interferes with the sizes we want to set.
16781 (gnat_to_gnu_entity) <E_Variable>: Pass the required extra arguments to
16782 make_aligning_type for super-aligned objects on stack.
16783 (components_to_record): Pass the adjusted size of the type when creating
16784 fields in the qualified union for the variant part.
16785 (gnat_substitute_in_type): Copy TYPE_USER_ALIGN.
16786 (gnat_to_gnu_entity, case E_Signed_Integer_Subtype): Likewise for
16787 packed array type.
16788 (maybe_pad_type): Set TYPE_USER_ALIGN.
16789 (make_aligning_type): Likewise.
16790 ALIGN argument is unsigned int.
16791 (gnat_to_gnu_entity, case E_Function): Back annotate return mechanism.
16792 (gnat_to_gnu_param): Likewise, for parameters.
16793 (gnat_to_gnu_entity) <object>: Always instantiate the renaming object
16794 if it is constant and stems from a function call.
16795 (gnat_to_gnu_entity) <E_Record_Type>: Set packed to -2 if the alignment
16796 of the record is specified. Adjust accordingly.
16797 (adjust_packed): New static function.
16798 (gnat_to_gnu_field): Use it to adjust the packedness setting.
16799 (components_to_record): Likewise.
16800 (gnat_to_gnu_entity) <object>: Do not test the renamed expression for
16801 side-effects if the object is deemed constant.
16802 (gnat_to_gnu_entity) <E_Array_Type>: Create a name for the fat pointer
16803 type instead of merely finalizing it. Tidy.
16804 <E_Access_Subprogram_Type>: Retrieve the type from the TYPE_DECL.
16805 <E_Access_Type>: Likewise.
16806 (defer_debug_incomplete_list): Rename to defer_finalize_list.
16807 (defer_debug_level): Delete.
16808 (gnat_to_gnu_entity) <debug_deferred>: Likewise
16809 <E_Array_Type>: Call rest_of_record_type_compilation on the fat pointer
16810 type.
16811 <E_Record_Type>: Do not explicitly defer finalizing the type.
16812 Adjust for write_record_type_debug_info renaming.
16813 <E_Subprogram_Type>: Likewise.
16814 Finalize deferred types right after deferred incomplete types are
16815 expanded.
16816 (rest_of_type_decl_compilation): New global function.
16817 (components_to_record): Rename defer_debug parameter to do_not_finalize.
16818 (components_to_record): Propagate the packedness to the fields of the
16819 qualified union type if there is a variant part.
16820 (gnat_to_gnu_entity) <E_Array_Type>: Use new function
16821 instead of inline code to adjust the XUT field offsets.
16822 (gnat_to_gnu_entity): Adjust for new prototype of finish_record_type.
16823 <E_Record_Subtype>: Do not let finish_record_type compute the sizes
16824 and write the debug info if the type derives from a discriminated one.
16825 (gnat_to_gnu_entity) <E_Array_Type>: Adjust call to create_index_type.
16826 <E_Array_Subtype>: Likewise.
16827 <E_String_Literal_Subtype>: Likewise.
16828 (gnat_to_gnu_entity): Set TYPE_USER_ALIGN on types only if they have
16829 an alignment clause.
16830 (maybe_pad_type): Update ORIG_SIZE to the minimum required to meet ALIGN
16831 before giving warning.
16832 (prepend_one_attribute_to): New function, helper to prepend an attribute
16833 to an attribute list.
16834 (gnat_to_gnu_entity) <E_Procedure>: Use it.
16835 (prepend_attributes): Likewise.
16836 (gnat_to_gnu_entity) <E_Variable>: Use constants of the proper type.
16837 <E_Array_Type>: Declare the padding type for the element type, if any.
16838 <E_Array_Subtype>: Likewise.
16839 (defer_limited_with): New variable.
16840 (Gigi_Equivalent_Type): New function.
16841 (gnat_to_gnu_entity): Use it at start and use result throughout.
16842 (gnat_to_gnu_entity, case E_Access_Type): Rework to use
16843 Gigi_Equivalent_Type, support Limited_With, allow two levels of
16844 indirection, precompute if unconstrained array to simplify logic, and
16845 use defer_limited_with to defer elaboration of some types from limited
16846 with.
16847 (finalize_from_with_types): New function.
16848
168492007-06-06 Gary Dismukes <dismukes@adacore.com>
16850 Eric Botcazou <ebotcazou@adacore.com>
16851 Tristan Gingold <gingold@adacore.com>
16852 Olivier Hainque <hainque@adacore.com>
16853
a472f546
EB
16854 * trans.c (Identifier_to_gnu): Change test for deferred constant by
16855 adding guard that the entity is an E_Constant before testing presence
16856 of Full_view (and remove unnecessary test that entity is not a type).
ec11296f
AC
16857 For a CONST_DECL used by reference, manually retrieve
16858 the DECL_INITIAL. Do not invoke fold in the other DECL_P cases either.
16859 (struct language_function): Move from utils.c to here.
16860 (struct parm_attr): New structure.
16861 (parm_attr, parm_attr vector, parm_attr GC vector): New types.
16862 (f_parm_attr_cache): New macro.
16863 (Attribute_to_gnu) <Attr_Length>: When not optimizing, cache the
16864 expressions for the 'First, 'Last and 'Length attributes of the
16865 unconstrained array IN parameters.
16866 (Subprogram_Body_to_gnu): Use gnu_subprog_decl throughout.
16867 Allocate the information structure for the function earlier, as well
16868 as the language-specific part.
16869 If the parameter attributes cache has been populated, evaluate the
16870 cached expressions on entry.
16871 (takes_address): Add OPERAND_TYPE parameter. Handle N_Function_Call,
16872 N_Procedure_Call_Statement and N_Indexed_Component.
16873 (Pragma_to_gnu): Translate inspection_point to an asm statement
16874 containaing a comment and a reference to the object (either its address
16875 for BLKmode or its value).
16876 (Identifier_to_gnu): Use TREE_CONSTANT instead of CONST_DECL to decide
16877 to go to DECL_INITIAL. Together with the size constraint relaxation
16878 in create_var_decl, enlarges the set of situations in which an
16879 identifier may be used as an initializer without implying elaboration
16880 code.
16881 (Subprogram_Body_to_gnu): Do not fiddle with the debug interface but set
16882 DECL_IGNORED_P on the function if Needs_Debug_Info is not set on the
16883 node.
16884 (maybe_stabilize_reference): Remove lvalues_only parameter.
16885 (gnat_stabilize_reference): Adjust for above change.
16886 (gnat_to_gnu): Do not set location information on the result
16887 if it is a reference.
16888 (add_cleanup): Add gnat_node parameter and set the location of the
16889 cleanup to it.
16890 (Handled_Sequence_Of_Statements_to_gnu): Adjust calls to add_cleanup.
16891 (Exception_Handler_to_gnu_zcx): Likewise.
16892 (gigi): Remove the cgraph node if the elaboration procedure is empty.
16893 (Subprogram_Body_to_gnu): If a stub is attached to the subprogram, emit
16894 the former right after the latter.
16895 (start_stmt_group): Make global.
16896 (end_stmt_group): Likewise.
16897 (gnu_constraint_error_label_stack, gnu_storage_error_label_stack): New
16898 vars.
16899 (gnu_program_error_label_stack): Likewise.
16900 (gigi): Initialize them.
16901 (call_to_gnu, gnat_to_gnu, emit_check): Add new arg to build_call_raise.
16902 (gnat_to_gnu, N_{Push,Pop}_{Constraint,Storage,Program}_Error_Label):
16903 New cases.
16904 (push_exception_label_stack): New function.
16905 (takes_address): New function.
16906
16907 * utils.c (struct language_function): Move to trans.c from here.
16908 (unchecked_convert): Do not wrap up integer constants in
16909 VIEW_CONVERT_EXPRs.
16910 (create_var_decl_1): Decouple TREE_CONSTANT from CONST_DECL. Prevent
16911 the latter for aggregate types, unexpected by later passes, and relax an
16912 arbitrary size constraint on the former.
16913 (create_field_decl): Use tree_int_cst_equal instead of operand_equal_p
16914 to compare the sizes.
16915 (convert_vms_descriptor): When converting to a fat pointer type, be
16916 prepared for a S descriptor at runtime in spite of a SB specification.
16917 (shift_unc_components_for_thin_pointers): New function.
16918 (write_record_type_debug_info): For variable-sized fields, cap the
16919 alignment of the pointer to the computed alignment.
16920 (finish_record_type): Change HAS_REP parameter into REP_LEVEL.
16921 If REP_LEVEL is 2, do not compute the sizes.
16922 (build_vms_descriptor): Adjust for new prototype of finish_record_type.
16923 (build_unc_object_type): Likewise.
16924 (declare_debug_type): New function.
16925
9e81dbc7 16926 * ada-tree.def: USE_STMT: removed (not emitted anymore).
ec11296f 16927
9e81dbc7
AS
16928 * misc.c (gnat_expand_expr): Call to gnat_expand_stmt removed because
16929 no statement is expandable anymore.
16930 (gnat_init_gcc_eh): Do not initialize the DWARF-2 CFI machinery twice.
16931 (gnat_handle_option): Only allow flag_eliminate_debug_types to be set
16932 when the user requested it explicitely.
16933 (gnat_post_options): By default, set flag_eliminate_unused_debug_types
16934 to 0 for Ada.
16935 (get_alias_set): Return alias set 0 for a type if
16936 TYPE_UNIVERSAL_ALIASING_P is set on its main variant.
ec11296f 16937
9e81dbc7
AS
16938 * ada-tree.h: (TYPE_UNIVERSAL_ALIASING_P): New macro.
16939 (DECL_FUNCTION_STUB): New accessor macro.
16940 (SET_DECL_FUNCTION_STUB): New setter macro.
ec11296f 16941
9e81dbc7 16942 * lang.opt (feliminate-unused-debug-types): Intercept this flag for Ada.
ec11296f
AC
16943
16944 * fe.h (Get_Local_Raise_Call_Entity, Get_RT_Exception_Entity): New
16945 declarations.
16946
169472007-06-06 Jose Ruiz <ruiz@adacore.com>
16948
16949 * s-intman-vxworks.ads, s-intman-vxworks.adb (Abort_Task_Signal):
16950 Rename to Abort_Task_Interrupt to be able to keep the same interface
16951 as the rest of the targets.
16952
16953 * s-osinte-vxworks.ads s-osinte-vxworks.adb
16954 (To_VxWorks_Priority): Remove explicit "in" mode indicator
16955
16956 * s-osinte-vxworks6.ads, s-vxwork-arm.ads, system-vxworks-arm.ads:
16957 New files.
16958
169592007-06-06 Robert Dewar <dewar@adacore.com>
16960
16961 * a-chahan.ads: Remove obsolescent pragmas
16962
16963 * a-chlat1.ads: Minor reformatting
16964
169652007-06-06 Robert Dewar <dewar@adacore.com>
16966
16967 * comperr.adb (Compiler_Abort): New Finalize/Output_Messages interface
16968 for Errout
16969
16970 * errout.adb: New Finalize/Compilation_Errors/Output_Messages
16971 implementation
16972
16973 * errout.ads (Finalize): Changed interface
16974 (Output_Messages): New procedure
16975 (Compilation_Errors): New Interface
16976
16977 * prepcomp.ads, prepcomp.adb (Parse_Preprocessing_Data_File): New
16978 Finalize/Output_Messages interface for Errout
16979 (Prepare_To_Preprocess): New Finalize/Output_Messages interface for
16980 Errout.
16981
169822007-06-06 Thomas Quinot <quinot@adacore.com>
16983 Olivier Hainque <hainque@adacore.com>
16984 Robert Dewar <dewar@adacore.com>
16985
16986 * a-except.ads, a-except.adb: (Rmsg_28): Fix description for E.4(18)
16987 check.
16988 (Raise_Current_Excep): Call Debug_Raise_Exception just before
16989 propagation starts, to let debuggers know about the event in a reliable
16990 fashion.
16991 (Local_Raise): Moved to System.Exceptions
16992 More convenient to have this as a separate unit
16993
16994 * s-except.adb, s-except.ads: New files.
16995
16996 * a-exextr.adb (Unhandled_Exception): Delete - replaced by
16997 Debug_Unhandled_Exception in System.Exceptions where it belongs
16998 together with a couple of other debug helpers.
16999 (Notify_Unhandled_Exception): Use Debug_Unhandled_Exception instead of
17000 the former Unhandled_Exception.
17001
17002 * exp_ch11.ads, exp_ch11.adb: (Possible_Local_Raise): New procedure
17003 (Warn_No_Exception_Propagation): New procedure
17004 (Warn_If_No_Propagation): Rewritten for new warning generation
17005 (Expand_Exception_Handlers): New warning generation
17006 (Expand_N_Raise_xxx_Error): Rewritten for new warnings
17007 (Add_Exception_Label): Use Special_Exception_Package_Used for test
17008 instead of Most_Recent_Exception_Used (accomodates Exception_Traces)
17009 (Expand_Local_Exception_Handlers): Unconditionally add extra block wrap
17010 even if restriction is set (makes life easier in Check_Returns)
17011 (Expand_Local_Exception_Handlers): Follow renamed entity chain when
17012 checking exception identities.
17013 (Expand_Local_Exception_Handlers): Do not optimize when all others case
17014 (Expand_Local_Exception_Handlers): Set Exception_Junk flag on generated
17015 block for handler (used by Check_Returns)
17016 (Expand_Local_Exception_Handlers): Local_Raise now takes an address
17017 (Expand_N_Handled_Sequence_Of_Statements): Properly handle -gnatd.x to
17018 remove all exception handlers when optimizing local raise statements.
17019 (Find_Local_Handler): Use Get_Renamed_Entity
17020 (Expand_N_Handled_Sequence_Of_Statements): If the handled sequence is
17021 marked analyzed after expanding exception handlers, do not generate
17022 redundant cleanup actions, because they have been constructed already.
17023
170242007-06-06 Thomas Quinot <quinot@adacore.com>
17025
17026 * a-finali.ads (Ada.Finalization): Add missing pragma Remote_Types. The
17027 presence of this categorization pragma is mandated by the language.
17028 (Limited_Controlled): Add missing pragma Preelaborable_Initialization
17029 for this type.
17030
170312007-06-06 Vincent Celier <celier@adacore.com>
17032 Robert Dewar <dewar@adacore.com>
17033
9e81dbc7
AS
17034 * bcheck.adb, binde.adb, binderr.adb, binderr.ads, butil.adb,
17035 butil.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
17036 err_vars.ads, exp_tss.adb, exp_tss.ads, fmap.adb, fmap.ads,
17037 fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
17038 lib-sort.adb, lib-util.adb, lib-util.ads, lib-xref.adb, makeutl.ads,
17039 makeutl.adb, nmake.adt, osint.adb, osint.ads, osint-b.adb,
17040 par-load.adb, prj-attr.adb, prj-dect.adb, prj-err.adb, prj-makr.adb,
17041 prj-part.adb, prj-pp.adb, prj-proc.adb, prj-tree.adb, prj-tree.ads,
17042 prj-util.adb, prj-util.ads, scans.adb, scans.ads, sem_ch2.adb,
17043 sinput-c.adb, styleg-c.adb, tempdir.adb, tempdir.ads, uname.adb,
ec11296f 17044 uname.ads, atree.h, atree.ads, atree.adb, ali-util.ads, ali-util.adb,
9e81dbc7 17045 ali.ads, ali.adb:
ec11296f
AC
17046 Move Name_Id, File_Name_Type and Unit_Name_Type from package Types to
17047 package Namet. Make File_Name_Type and Unit_Name_Type types derived from
17048 Mame_Id. Add new type Path_Name_Type, also derived from Name_Id.
17049 Use variables of types File_Name_Type and Unit_Name_Type in error
17050 messages.
17051 (Get_Name): Add parameter Ignore_Special, and set it reading file name
17052 (New_Copy): When debugging the compiler, call New_Node_Debugging_Output
17053 here.
17054 Define flags Flag217-Flag230 with associated subprograms
17055 (Flag_Word5): New record type.
17056 (Flag_Word5_Ptr): New access type.
17057 (To_Flag_Word5): New unchecked conversion.
17058 (To_Flag_Word5_Ptr): Likewise.
17059 (Flag216): New function.
17060 (Set_Flag216): New procedure.
17061
170622007-06-06 Arnaud Charlet <charlet@adacore.com>
17063
17064 * a-stzunb.adb, a-stwiun.adb, a-strunb.adb: (Insert): Use 'Length
17065 instead of 'Size.
17066
17067 * a-stwifi.ads, a-stzfix.ads: Minor reformatting
17068
170692007-06-06 Javier Miranda <miranda@adacore.com>
17070
17071 * a-tags.ads, a-tags.adb (Tag_Size): This constant is now internal to
17072 the package.
17073 (Object_Specific_Data_Array): This is now internal to the package.
17074 (Object_Specific_Data): This is now internal to the package.
17075 (Select_Specific_Data_Element): This is now internal to the package.
17076 (Select_Specific_Data_Array): This is now internal to the package.
17077 (Select_Specific_Data): This is now internal to the package.
17078 (Offset_To_Top_Function_Ptr): This is now public.
17079 (To_Offset_To_Top_Function_Ptr): Removed.
17080 (Storage_Offset_Ptr,To_Storage_Offset_Ptr): These declarations are now
17081 local to subprogram Offset_To_Top.
17082 (Predefined_DT): Removed.
17083 (Typeinfo_Ptr): Removed.
17084 (OSD): This function is now internal to this package.
17085 (SSD): This function is now internal to this package.
17086 (DT): New function that displaces the pointer to the table of primitives
17087 to get access to the enclosing wrapper record.
17088 (IW_Membership): Code cleanup.
17089 (Offset_To_Top): Code cleanup.
17090 (Predefined_DT): Removed.
17091 (Register_Interface_Tag): Removed.
17092 (Set_Interface_Table): Removed.
17093 (Set_Offset_Index): Removed.
17094 (Set_Offset_To_Top): Code cleanup.
17095 (Set_OSD): Removed.
17096 (Set_Signature): Removed.
17097 (Set_SSD): Removed.
17098 (Set_Tagged_Kind): Removed.
17099 (Typeinfo_Ptr): Removed.
17100 (TSD): Removed.
17101 (Displace): Add missing check on null actual.
17102
17103 * exp_disp.ads, exp_disp.adb
17104 (Select_Expansion_Utilities): Removed.
17105 (Build_Common_Dispatching_Select_Statements): Moved to exp_atags.
17106 (Expand_Dispatching_Call): Update calls to Get_Prim_Op_Address because
17107 the interface requires a new parameter.
17108 (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
17109 Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Replace
17110 calls to subprograms Build_T, Build_S, etc. by the corresponding code.
17111 Done to remove package Select_Expansion_Utilities.
17112 (Make_DT): New implementation for statically allocated dispatch tables.
17113 (Make_Secondary_DT): Moved to the scope of Make_DT.
17114 (Register_Primitive): Code cleanup plus incoporate the use of the new
17115 function DT_Address_Attribute.
17116 (Expand_Interface_Thunk): The profile of this subprogram has been
17117 changed to return the Thunk_Id and the corresponding code.
17118 (Fill_DT_Entry): Removed. Its functionality is now provided by
17119 subprogram Register_Primitive.
17120 (Fill_Secondary_DT_Entry): Removed. Its functionality is now provided by
17121 subprogram Register_Primitive.
17122 (Register_Primitive): New subprogram that incorporates the previous
17123 functionalities of Fill_DT_Entry and Fill_Secondary_DT_Entry.
17124 (Build_Common_Dispatching_Select_Statements): Remove formal Typ. This
17125 was only required to call Make_DT_Access_Action, which is now removed.
17126 (Ada_Actions): Removed
17127 (Action_Is_Proc): Removed
17128 (Action_Nb_Arg): Removed
17129 Replace all the calls to Make_DT_Access_Action by direct calls to
17130 Make_Procedure_Call_Statement or Make_Function_Call.
17131 (Set_DTC_Entity_Value): New subprogram.
17132 (Set_All_DT_Position): Add call to new subprogram Set_DTC_Entity_Value.
17133 (Expand_Interface_Thunk): Add missing support for primitives that are
17134 functions with a controlling result (case in which there is no need
17135 to generate the thunk).
17136
17137 * exp_atag.ads, exp_atag.adb
17138 (Build_DT): New subprogram that displaces the pointer to reference the
17139 base of the wrapper record.
17140 (Build_Typeinfo_Offset): Removed.
17141 (RTE_Tag_Node): Removed.
17142 (Build_Common_Dispatching_Select_Statements): Moved here from exp_disp
17143 (Build_Get_RC_Offset): Removed.
17144 (Build_Inherit_Predefined_Prims): Removed.
17145 (Build_Inherit_TSD: Removed.
17146 (Build_New_TSD): Removed.
17147 (Build_Set_External_Tag): Removed.
17148 (Build_Set_Predefined_Prim_Op_Address): Add documentation.
17149 (Build_Set_Prim_Op_Address): Add documentation.
17150 (Build_Set_TSD): Removed.
17151
17152 * rtsfind.ads, rtsfind.adb
17153 (Load_Fail): If load fails and we are not in configurable run-time
17154 mode, then raise Unrecoverable_Error.
17155 (Text_IO_Kludge): Generate an error message if a run-time library is
17156 not available in a given run-time (ie. zfp run-time).
17157 (RTE_Record_Component): Add code to check that the component we search
17158 for is not found in two records in the given run-time package.
17159 (RE_DT_Offset_To_Top_Size, RE_DT_Predef_Prims_Size): Removed
17160 (RE_DT_Predef_Prims_Offset): New entity
17161 (RE_Static_Offset_To_Top): New entity
17162 (RE_HT_Link): New entity.
17163 (System_Address_Image): Addition of this run-time package.
17164 (RE_Address_Image): New entity.
17165 (RE_Abstract_Interface): Removed.
17166 (RE_Default_Prim_Op_Count): Removed.
17167 (RE_DT_Entry_Size): Removed.
17168 (RE_DT_Min_Prologue_Size): Removed.
17169 (RE_DT_Prologue_Size): Removed.
17170 (RE_Ifaces_Table_Ptr): Removed.
17171 (RE_Interface_Data_Ptr): Removed.
17172 (RE_Type_Specific_Data): Removed.
17173 (RE_Primary_DT): Removed.
17174 (RE_Register_Interface_Tag): Removed.
17175 (RE_Set_Offset_Index): Removed.
17176 (RE_Set_OSD): Removed.
17177 (RE_Set_SSD): Removed.
17178 (RE_Set_Signature): Removed.
17179 (RE_Set_Tagged_Kind): Removed.
17180 (RE_Address_Array): New entity.
17181 (RE_DT): New entity.
17182 (RE_Iface_Tag): New entity.
17183 (RE_Interfaces_Table): New entity.
17184 (RE_No_Dispatch_Table): New entity.
17185 (RE_NDT_Prims_Ptr): New entity.
17186 (RE_NDT_TSD): New entity.
17187 (RE_Num_Prims): New entity.
17188 (RE_Offset_To_Top_Function_Ptr): New entity.
17189 (RE_OSD_Table): New entity.
17190 (RE_OSD_Num_Prims): New entity.
17191 (RE_Predef_Prims): New entity
17192 (RE_Predef_Prims_Table_Ptr): New entity.
17193 (RE_Primary_DT): New entity.
17194 (RE_Signature): New entity.
17195 (RE_SSD): New entity.
17196 (RE_TSD): New entity.
17197 (RE_Type_Specific_Data): New entity.
17198 (RE_Tag_Kind): New entity.
17199
172002007-06-06 Thomas Quinot <quinot@adacore.com>
17201
17202 * a-textio.ads, a-textio.adb (Write): Add explicit size clause for the
17203 C imported variable.
17204 (Skip_Line): Do not reset Before_LM_PM immediately when Before_LM is set
17205 on entry.
17206
172072007-06-06 Robert Dewar <dewar@adacore.com>
17208
17209 * a-tienio.adb (Get): Adjust buffer size to accomodate one extra
17210 character
17211
172122007-06-06 Vincent Celier <celier@adacore.com>
17213
17214 * a-tifiio.adb (Put, internal): For negative numbers, check that there
17215 is room for at least one digit and the minus sign.
17216 (Put.Put_Character): Never put a character outside of the range of
17217 string To.
17218
172192007-06-06 Olivier Hainque <hainque@adacore.com>
17220 Eric Botcazou <ebotcazou@adacore.com>
17221
17222 * utils2.c (build_allocator): Provide the extra arguments to
17223 make_aligning_type for super-aligned objects allocated from the default
17224 pool. Leave enough room for a pointer before the aligning field, and
17225 store the system's allocator return value there.
17226 (build_call_alloc_dealloc): When releasing a super-aligned object,
17227 retrieve the system's allocator return value from where build_allocator
17228 has stored it, just ahead of the adjusted address we are passed.
17229 (build_call_raise): Handle properly the generation of line numbers when
17230 the node is marked No_Location.
17231 (compare_elmt_bitpos): Use tree_int_cst_compare. Stabilize the sort
17232 by using DECL_UID on ties.
17233 (build_binary_op) <EQ_EXPR>: Accept fat pointer types with the same
17234 main variant.
17235 (build_call_raise): Handle converting exception into goto; support new
17236 argument KIND.
17237 (build_component_ref): Add new arg to build_call_raise.
17238
172392007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
17240
17241 * a-ztflau.adb, a-wtflau.adb, a-tiflau.adb (Load_Real): Do not parse
17242 "." in the case of nnn.xxx when nnn terminates with an underscore.
17243 Parse the remaining "#" or ":" in the case of nnn#.xxx#
17244
172452007-06-06 Robert Dewar <dewar@adacore.com>
17246
17247 * a-tigeau.ads, a-tigeau.adb: (Store_Char): Change Buf to IN OUT
17248
172492007-06-06 Arnaud Charlet <charlet@adacore.com>
17250 Vincent Celier <celier@adacore.com>
17251 Robert Dewar <dewar@adacore.com>
17252
17253 * bindgen.adb (Gen_Output_File_Ada): Generate pragma No_Run_Time when
17254 needed.
17255 (Gen_Output_File_Ada, Gen_Output_File_C): Never use __attribute
17256 ((destructor)) for adafinal, even when switch -a is used.
17257 Do not issue pragma Linker_Destructor for adafinal when switch -a is
17258 used.
17259 (Gen_Object_Files_Options): Add formatting of Linker Options, when
17260 Output_Linker_Option_List is set. Suppress this formatting when
17261 Zero_Formatting is set.
17262 Add case for CLI_Target.
17263 (System_Restrictions_Used): New flag, used to avoid generating with of
17264 System_Restrictions and initialization of the data unless there is
17265 some use of System.Restrictions in the partition.
17266 (Check_System_Restrictions_Used): New procedure
17267
9e81dbc7 17268 * s-stalib.adb: Remove with of System.Restrictions. No longer needed
ec11296f
AC
17269 since we only with this unit in the binder file if it is used elsewhere
17270 in the partition.
17271
172722007-06-06 Vincent Celier <celier@adacore.com>
17273
17274 * bindusg.adb: Add line for @<response file>
17275 Add lines for new switches -R and -Z
17276
17277 * gnatbind.adb (Gnatbind): Do not include sources from the GNAT
17278 hierarchy in the list of files of the closure when -R is used
17279 (Gnatbind): Accept arguments starting with '@' to indicate response
17280 files and take the arguments from the response files.
17281 If List_Closure is set, display the referenced files
17282
172832007-06-06 Javier Miranda <miranda@adacore.com>
17284 Robert Dewar <dewar@adacore.com>
17285 Ed Schonberg <schonberg@adacore.com>
17286
17287 * checks.ads, checks.adb (Apply_Address_Clause_Check): Handle case in
17288 which the address-clause is applied to in-mode actuals (allowed by
17289 13.1(22)).
17290 (Apply_Discriminant_Check): Do not generate a check if the type is
17291 constrained by a current instance.
17292 (Activate_Division_Check): New procedure
17293 (Activate_Overflow_Check): New procedure
17294 (Activate_Range_Check): New procedure
17295 Call these new Activate procedures instead of setting flags directly
17296 (Apply_Array_Size_Check): Removed, no longer needed.
17297 Code clean up: remove obsolete code related to GCC 2.
17298 (Get_E_Length): Protect against bomb in case scope is standard
17299 (Selected_Range_Checks): If the node to be checked is a conversion to
17300 an unconstrained array type, and the expression is a slice, use the
17301 bounds of the slice to construct the required constraint checks.
17302 Improve NOT NULL error messages
17303 (Apply_Constraint_Check): If the context is a null-excluding access
17304 type, diagnose properly the literal null.
17305
173062007-06-06 Pascal Obry <obry@adacore.com>
17307
17308 * clean.adb (Clean_Archive): Use untouched casing for the archive name
17309 and the corresponding .deps file.
17310 (Clean_Interface_Copy_Directory): Use untouched casing for the library
17311 src directory. Minor code-clean-up. Use untouched casing for files
17312 read into the library src dir.
17313 (Clean_Library_Directory): Idem.
17314 (Parse_Cmd_Line): Accept new switch -aP
17315
173162007-06-06 Javier Miranda <miranda@adacore.com>
17317 Ed Schonberg <schonberg@adacore.com>
17318 Robert Dewar <dewar@adacore.com>
17319 Eric Botcazou <ebotcazou@adacore.com>
17320 Arnaud Charlet <charlet@adacore.com>
17321
17322 * einfo.ads, einfo.adb (Available_View): New synthesized attribute
17323 applicable to types that have the With_Type flag set. Returns the
17324 non-limited view of the type, if available, otherwise the type itself.
17325 For class-wide types, there is no direct link in the tree, so we have
17326 to retrieve the class-wide type of the non-limited view of the Etype.
17327 New attributes Static_Initialization and Static_Elaboration_Desired.
17328 Remove the pragma Thread_Body, and the associated flag
17329 Is_Thread_Body in entities, and all related code.
17330 (Suppress_Value_Tracking_On_Call): New flag
17331 E_Exception has Esize and Alignment fields
17332 (Universal_Aliasing): New function.
17333 (Set_Universal_Aliasing): New procedure.
17334 (Write_Entity_Flags): Deal with Universal_Aliasing flag.
17335 (Check_Nested_Access): New procedure.
17336 (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
17337 (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
17338 (Related_Interface): New attribute. Present in dispatch table pointer
17339 components of records. Set to point to the entity of the corresponding
17340 interface type.
17341 (Is_By_Reference_Type): Recurse on the full view of an incomplete type.
17342 (Original_Access_Type): Remove, not needed.
17343 (Root_Type): Handle properly subtypes of class-wide-types.
17344 Update comments.
17345
17346 * sem_ch4.adb (Analyze_Explicit_Dereference): Add support for
17347 class-wide types visible through limited-with clauses.
17348 (Try_Primitive_Operation): When examining all primitive operations of a
17349 tagged type, do not consider subprograms labeled as hidden unless they
17350 belong to a private generic type with a tagged parent.
17351 (Try_Object_Operation): Extensive rewriting, to handle properly various
17352 overloading cases, when several ancestors may have class-wide operations
17353 that are possible candidates, and when the overloaded functions return
17354 array types and have defaulted parameters so that the call may be
17355 interpreted as an indexing.
17356 (Analyze_Allocator): Remove Mark_Allocator and its invocation.
17357 (Process_Function_Call): use Next, rather than Next_Actual, to analyze
17358 successive actuals before analyzing the call itself.
17359 (Try_Primitive_Operation): A primitive operation is compatible with the
17360 prefix if the prefix has a synchronized type and the type of the formal
17361 is its corresponding record, as can be the case when the primitive
17362 operation is declared outside of the body of the type.
17363 (Traverse_Homonyms): New subprocedure of Try_Class_Wide_Operation, to
17364 perform homonym traversal, looking for class-wide operation matches
17365 (formerly done in statements of Try_Class_Wide_Operation). Matches on
17366 access parameters are now restricted to anonymous access types.
17367 (Mark_Allocator): An allocator with a discriminant association parent is
17368 a coextension.
17369 (Try_One_Prefix_Interpretation): If the type of the object is
17370 incomplete, as can be happen when it is a limited view obtained through
17371 a limited_with_clause, the selected component is not part of a prefixed
17372 call.
17373 (Complete_Object_Operation): Diagnose properly an object that is not
17374 aliased when the corresponding controlling formal is an access
17375 parameter.
17376 (Try_Primitive_Operation, Try_Class_Wide_Operation): Diagnose properly
17377 ambiguous calls in prefixed notation, where two primitives differ only
17378 in that the controlling argument of one is an access parameter.
17379
17380 * sem_ch6.adb (Has_Single_Return): Add guard in code that determines
17381 whether a function that returns an unconstrained type can be inlined.
17382 (Process_Formals): Diagnose properly the illegal use of an incomplete
17383 type in the profile of an access_to_subprogram declaration.
17384 (Check_Synchronized_Overriding): Nothing check for concurrent types, the
17385 operations are attached to the corresponding record.
17386 (Analyze_Subprogram_Specification): Add variables Formal and Formal_Typ.
17387 When processing a primitive of a concurrent type which implements an
17388 interface change the type of all controlling formals to that of the
17389 corresponding record type.
17390 (Check_Synchronized_Overriding): Relax the conditional logic when trying
17391 to determine the tagged type to which a primitive belongs.
17392 (Check_Conventions): Capture condition to ignore a primitive operation
17393 (which is shared between the loop in Check_Conventions and the one in
17394 Check_Convention) in a new local function Skip_Check.
17395 (Check_Convention): Rename Prim_Op to Second_Prim_Op to avoid possible
17396 confusion with Check_Conventions' own Prim_Op local variable.
17397 (Create_Extra_Formals): Test for a tagged result type rather than a
17398 controlling result when determining whether to add a BIP_Alloc_Form
17399 formal and a BIP_Final_List formal to the function.
17400 (Check_Conformance); For parameters that are anonymous access types,
17401 subtype conformance requires that the not null and the constant
17402 indicators must match
17403 (Check_Synchronized_Overriding): New parameter Formal_Typ. Add machinery
17404 to retrieve the appropriate type when processing a concurrent type
17405 declared within a generic. Minor comment reformatting. Change invocation
17406 of Overrides_Synchronized_Primitive to Find_Overridden_Synchronized_Pri-
17407 mitive.
17408 (Analyze_Subprogram_Body): If the return type of a function is an
17409 anonymous access to the limited view of a class-wide type, and the
17410 non-limited view of the type is available, update the type of the
17411 function so that code can be generated.
17412 (Process_Formals): In case of access-subtype itype whose designated
17413 type is also an itype (situation that happens now with access to
17414 subprograms) we mark the access-type itype with the Has_Delayed_Freeze
17415 attribute to avoid backend problems.
17416 (Check_Return_Subtype_Indication): Replace R_Type with R_Stm_Type in
17417 init of R_Stm_Type_Is_Anon_Access. Also check that base types of the
17418 anonymous types' designated types are same before testing
17419 Subtypes_Statically_Match.
17420 (Create_Extra_Formals): Test for a named access parameter that is a
17421 controlling formal as an additional condition for adding an
17422 accessibility level formal. This can occur in the subp type created for
17423 dispatching calls in Expand_Dispatching_Call, and allows calling
17424 Create_Extra_Formals from that procedure rather than special-casing the
17425 extra formals there.
17426 (Create_Extra_Formals): Add BIP_Alloc_Form and BIP_Final_List formals
17427 when the function has a controlling result.
17428 (Check_Returns): Add much more knowledge of the optimization of local
17429 raise statements to gotos, to retain proper warnings in this case.
17430 (Check_Statement_Sequence): Ignore N_Push_xxx_Label and N_Pop_xxx_Label
17431 nodes when looking for last statement.
17432
17433 * sem_type.ads, sem_type.adb (Specific_Type): Add support for
17434 class-wide types visible through limited with clauses.
17435 (Add_One_Interp): If the operands are anonymous access types, the
17436 predefined operator on universal_access is immediately visibles
17437 (Find_Unique_Type): Handle anonymous access to subprogram types just as
17438 other anonymous access types.
17439 (Disambiguate): Take into account CIL convention.
17440 (Interface_Present_In_Ancestor): Add support for class-wide interfaces.
17441
174422007-06-06 Robert Dewar <dewar@adacore.com>
17443
17444 * sinput.ads, sinput.adb, uintp.ads, urealp.adb, stringt.adb,
17445 sem_elim.adb, prj-strt.adb, repinfo.ads, repinfo.adb, namet.ads,
17446 elists.ads, elists.adb, lib.ads, lib.adb (Unlock): New procedure.
17447 Fix lower bound of tables.
17448 Add rep clauses.
17449
17450 * nlists.adb: Ditto.
17451 (Prev_Node, Next_Node): Change index type to Int so that it properly
17452 covers the range First_Node_Id - 1 up.
17453
174542007-06-06 Javier Miranda <miranda@adacore.com>
17455 Ed Schonberg <schonberg@adacore.com>
17456 Bob Duff <duff@adacore.com>
17457 Hristian Kirtchev <kirtchev@adacore.com>
17458
9e81dbc7 17459 * exp_aggr.ads, exp_aggr.adb:
ec11296f
AC
17460 (Build_Record_Aggr_Code): Add missing initialization of secondary tags
17461 in extension aggregates.
17462 (Flatten): Other conditions being met, an aggregate is static if the
17463 low bound given by component associations is different from the low
17464 bound of the base index type.
17465 (Packed_Array_Aggregate_Handled): If the component type is itself a
17466 packed array or record, the front-end must expand into assignments.
17467 (Gen_Ctrl_Actions_For_Aggr): In call to Init_Controller, pass False to
17468 Init_Pr, instead of Ancestor_Is_Expression.
17469 (Gen_Ctrl_Actions_For_Aggr): When processing an aggregate of a
17470 coextension chain root, either generate a list controller or use the
17471 already existing one.
17472 (Static_Array_Aggregate): New procedure to construct a positional
17473 aggregate that can be handled by the backend, when all bounds and
17474 components are compile-time known constants.
17475 (Expand_Record_Aggregate): Force conversion of aggregates of tagged
17476 types covering interface types into assignments.
17477 (Replace_Type): move to Build_Record_Aggr_Code.
17478 (Expand_Record_Aggr_Code): if the target of the aggregate is an
17479 interface type, convert to the definite type of the aggregate itself,
17480 so that needed components are visible.
17481 (Convert_Aggr_In_Object_Decl): If the aggregate has controlled
17482 components and the context is an extended return statement do not
17483 create a transient block for it, to prevent premature finalization
17484 before the return is executed.
17485 (Gen_Assign): Do not generate a call to deep adjust routine if the
17486 component type is itself an array of controlled (sub)-components
17487 initialized with an inner aggregate.
17488 (Component_Check): New name for Static_Check. This name is now more
17489 appropriate, and documentation is added which was missing.
17490 (Component_Check): Add test for bit aligned component value
17491 (Component_Not_OK_For_Backend): Renames Has_Delayed_Nested_Aggregate_Or_
17492 Tagged_Comps, name is more appropriate given added function below.
17493 (Component_Not_OK_For_Backend): Check for bit aligned component ref.
17494
174952007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
17496 Javier Miranda <miranda@adacore.com>
17497 Robert Dewar <dewar@adacore.com>
17498
17499 * exp_attr.adb (Expand_N_Attribute_Reference): Case Callable and
17500 Terminated: Add unchecked type conversion from System.Address to
17501 System.Tasking.Task_Id when calling the predefined primitive
17502 _disp_get_task_id.
17503 Disable new Ada 05 accessibility check for JVM.NET targets, which
17504 cannot be implemented in a practical way.
17505 (Expand_N_Attribute_Reference: case Attribute_Tag): The use of 'Tag in
17506 the sources always references the tag of the actual object. Therefore,
17507 if 'Tag is applied in the sources to class-wide interface objects we
17508 generate code that displaces "this" to reference the base of the object.
17509 (Expand_N_Attribute_Reference, case Size): Return specified size if
17510 known to front end.
17511 (Expand_N_Attribute_Reference): The expansion of the 'Address attribute
17512 has code that displaces the pointer of the object to manage interface
17513 types. However this code must not be executed when the prefix is a
17514 subprogram. This bug caused the wrong expansion of the internally
17515 generated assignment that fills the dispatch table when the primitive
17516 is a function returning a class-wide interface type.
17517 (Expand_N_Attribute_Reference:Attribute_Valid): Remove incorrect call to
17518 Set_Attribute_Name for Name_Unaligned_Valid.
17519
175202007-06-06 Ed Schonberg <schonberg@adacore.com>
17521 Gary Dismukes <dismukes@adacore.com>
17522
17523 * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 'Address):
17524 If the initialization is the equivalent aggregate of the initialization
17525 procedure of the type, do not remove it.
17526 (Expand_N_Attribute_Definition_Clause): Exclude access variables
17527 initialized to null from having their expression reset to empty and
17528 note this exception in the comment.
17529
175302007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
17531 Robert Dewar <dewar@adacore.com>
17532 Ed Schonberg <schonberg@adacore.com>
17533 Gary Dismukes <dismukes@adacore.com>
17534
17535 * exp_ch2.adb: Remove "with" and "use" clauses for Namet and Snames.
17536 Add "with" and "use" clauses for Sem_Attr.
17537 (Expand_Current_Value): Do not replace occurences of attribute
17538 references where the prefix must be a simple name.
17539
17540 * sem_attr.ads, sem_attr.adb: Remove "with" and "use" clauses for
17541 Namet. Add new arrays Attribute_Name_Modifies_Prefix and
17542 Attribute_Requires_Simple_Name_Prefix.
17543 (Name_Modifies_Prefix): Body of new function.
17544 (Requires_Simple_Name_Prefix): Body of new function.
17545 (Resolve_Attribute, case Access): Improve error message for case of
17546 mismatched conventions.
17547 (Analyze_Attribute, case 'Tag): The prefix the attribute cannot be of an
17548 incomplete type.
17549 (Analyze_Attribute, case 'Access): If the type of the prefix is a
17550 constrained subtype for a nominal unconstrained type, use its base type
17551 to check for conformance with the context.
17552 (Resolve_Attribute): Remove test of the access type being associated
17553 with a return statement from condition for performing accessibility
17554 checks on access attributes, since this case is now captured by
17555 Is_Local_Anonymous_Access.
17556 (Analyze_Access_Attribute): Set Address_Taken on entity
17557 (Analyze_Attribute, case Address): Set Address_Taken on entity
17558 (OK_Self_Reference): Traverse tree to locate enclosing aggregate when
17559 validating an access attribute whose prefix is a current instance.
17560 (Resolve_Attribute): In case of attributes 'Code_Address and 'Address
17561 applied to dispatching operations, if freezing is required then we set
17562 the attribute Has_Delayed_Freeze in the prefix's entity.
17563 (Check_Local_Access): Set flag Suppress_Value_Tracking_On_Call in
17564 current scope if access of local subprogram taken
17565 (Analyze_Access_Attribute): Check legality of self-reference even if the
17566 expression comes from source, as when a single component association in
17567 an aggregate has a box association.
17568 (Resolve_Attribute, case 'Access): Do not apply accessibility checks to
17569 the prefix if it is a protected operation and the attribute is
17570 Unrestricted_Access.
17571 (Resolve_Attribute, case 'Access): Set the Etype of the attribute
17572 reference to the base type of the context, to force a constraint check
17573 when the context is an access subtype with an explicit constraint.
17574 (Analyze_Attribute, case 'Class): If the prefix is an interface and the
17575 node is rewritten as an interface conversion. leave unanalyzed after
17576 resolution, to ensure that type checking against the context will take
17577 place.
17578
175792007-06-06 Ed Schonberg <schonberg@adacore.com>
17580 Javier Miranda <miranda@adacore.com>
17581 Robert Dewar <dewar@adacore.com>
17582
17583 * exp_ch3.adb (Make_Controlling_Function_Wrappers): generate wrapper a
17584 wrapper when the full view of the controlling type of an inherited
17585 function that dispatches on result implements interfaces.
17586 (Expand_N_Object_Declaration): In cases where the type of the
17587 declaration is anonymous access, create finalization list for it.
17588 (Expand_N_Object_Declaration): Generate a persistent_bss directive only
17589 if the object has no explicit initialization, to match description of
17590 functionality of pragam Persistent_BSS.
17591 (Build_Equivalent_Array_Aggregate, Build_Equivalent_Record_Aggregate):
17592 new function to build static aggregates, to replace initialization call
17593 when static initialization is desired.
17594 (Freeze_Type): Generate a list controller for an access type whenever
17595 its designated type has controlled anonymous access discriminants.
17596 (Build_Equivalent_Aggregate): New procedure to compute a static
17597 aggregate to be used as default initialization for composite types,
17598 instead of a generating a call to the initialization procedure for the
17599 type.
17600 (Build_Initialization_Call): When available, replace a call to the
17601 initialization procedure with a copy of the equivalent static aggregate
17602 for the type.
17603 (Expand_N_Object_Declaration): Use New_Occurrence_Of in generated
17604 declarations for objects of a class-wide interface type, rather than
17605 just identifiers, to prevent visibility problems.
17606 (Expand_N_Object_Declaration): When expanding the declaration for an
17607 object of a class-wide interface type, preserve the homonym chain of
17608 the original entity before exchanging it with that of the generated
17609 renaming declaration.
17610 (Freeze_Enumeration_Type): Don't raise CE if No_Exception_Propagation
17611 active, because there is no way to handle the exception.
17612 (Freeze_Record_Type): In case of CPP_Class types add a call to Make_DT
17613 to do a minimum decoration of the Access_Disp_Table list.
17614 (Expand_Record_Controller): Avoid the addition of the controller between
17615 the component containing the tag of a secondary dispatch table and its
17616 adjacent component that stores the offset to the base of the object.
17617 This latter component is only generated when the parent type has
17618 discriminants ---documented in Add_Interface_Tag_Components).
17619 (Apply_Array_Size_Check): Removed, no longer needed.
17620 (Expand_N_Full_Type_Declaration): If the type has anonymous access
17621 components, create a Master_Entity for it only if it contains tasks.
17622 (Build_Init_Procedure): Suppress the tag assignment compiling under
17623 no run-time mode.
17624 (Freeze_Record_Type): Remove code associated with creation of dispatch
17625 table.
17626 (Init_Secondary_Tags): Update type of actuals when generating calls to
17627 Ada.Tags.Set_Offset_To_Top
17628 (Stream_Operation_OK): Disable use of streams compiling under no
17629 run-time mode
17630 (Expand_N_Object_Declaration): Don't do Initialize_Scalars initalization
17631 if Has_Init_Expression set.
17632 (Build_Init_Procedure): Replace call to Fill_DT_Entry by call to
17633 Register_Primitive, which provides the same functionality.
17634 (Requires_Init_Proc): Return false in case of interface types.
17635 (Add_Secondary_Tables): Use the new attribute Related_Interface to
17636 cleanup the code.
17637 (Predefined_Primitive_Freeze): Do not assume that an internal entity
17638 is always associated with a predefined primitive because the internal
17639 entities associated with interface types are not predefined primitives.
17640 Therefore, the call to Is_Internal is replaced by a call to the
17641 function Is_Predefined_Dispatching_Operation.
17642 (Make_Eq_If): When generating the list of comparisons for the
17643 components of a given variant, omit the controller component that is
17644 present if the variant has controlled components.
17645
176462007-06-06 Javier Miranda <miranda@adacore.com>
17647 Hristian Kirtchev <kirtchev@adacore.com>
17648 Bob Duff <duff@adacore.com>
17649
17650 * exp_ch4.adb (Complete_Coextension_Finalization): Add machinery to
17651 handle the creation of finalization lists and calls for nested
17652 coextensions when the root of the chains is part of a return statement.
17653 (Inside_A_Return_Statement): New function inside Complete_Coextension_
17654 Finalization.
17655 (Expand_Record_Equality): Skip components that are interface types.
17656 (Displace_Allocator_Pointer): Add missing support for interface subtypes
17657 (Expand_N_Allocator): Replace invocation of Is_Local_Access_Discriminant
17658 with Rewrite_Coextension. Change the condition for detecting coextension
17659 root nodes.
17660 (Is_Local_Access_Discriminant): Removed.
17661 (Rewrite_Coextension): New routine which rewrites a static coextension
17662 as a temporary and uses its unrestricted access in the construction of
17663 the outer object.
17664 (Complete_Coextension_Finalization): New routine. Generate finalization
17665 attachment calls to all delayed coextensions.
17666 (Expand_N_Allocator): Call Complete_Coextension_Finalization whenever
17667 the allocator is not a coextension itself and has delayed coextensions.
17668 If the current allocator is controlled, but also a coextension, delay
17669 the generation of the finalization attachment call.
17670 Rename local variable "Node" to "Nod" in order to avoid confusion with
17671 "Elists.Node".
17672 (Expand_Allocator_Expression): Call Adjust for initialized allocators of
17673 limited types that are not inherently limited. Such an allocator is
17674 illegal, but is generated by the expander for a return statement, to
17675 copy the result onto the secondary stack. This is the only case where a
17676 limited object can be copied. Generate code to displace the pointer
17677 to the object if the qualified expression is a class-wide interface
17678 object. Such displacement was missing and hence the copy of the object
17679 was wrong.
17680 (Apply_Accessibility_Check): Handle allocated objects initialized in
17681 place.
17682 (Displace_Allocator_Pointer): Subsidiary procedure to Expand_N_Allocator
17683 and Expand_Allocator_Expression. Allocating class-wide interface objects
17684 this routine displaces the pointer to the allocated object to reference
17685 the component referencing the corresponding secondary dispatch table.
17686 Expand_Allocator_Expression): Add missing support to allocate class-wide
17687 interface objects initialized with a qualified expression.
17688 (Get_Allocator_Final_List): Test for an anonymous access type that is a
17689 function result type, and use the finalization list associated with the
17690 function scope in that case (such an anonymous type should not be
17691 treated like an access parameter's type).
17692
176932007-06-06 Ed Schonberg <schonberg@adacore.com>
17694 Gary Dismukes <dismukes@adacore.com>
17695 Javier Miranda <miranda@adacore.com>
17696
17697 * exp_ch5.adb (Expand_N_Assignment_Statement): For the assignment of a
17698 controlled type, use Make_Handler_For_Ctrl_Operation to construct the
17699 required exception handler.
17700 (Expand_Simple_Function_Return, Expand_N_Return_Statement): Handle
17701 properly the case of a function whose return type is a limited
17702 class-wide interface type. Modify the code of the accessibility
17703 check to handle class-wide interface objects. In this case we need to
17704 displace "this" to reference the primary dispatch table to get access
17705 to the TSD of the object (to evaluate its accessibility level).
17706 (Expand_N_Extended_Return_Statement): Test for a tagged result type
17707 rather than a controlling result as one of the conditions for
17708 generating tests of the implicit BIP_Alloc_Form formal. The
17709 initialization assignment is also handled according to whether the
17710 result is tagged instead of controlling.
17711 In the case where the init assignment is inserted in the "then" part of
17712 the allocation conditional, rewrite the target to be a dereference of
17713 the implicit BIP_Object_Access formal.
17714 If the returned value is unconstrained and created on the secondary
17715 stack, mark the enclosing block and function so that the secondary
17716 stack is not reclaimed on return.
17717 Treat returns from functions with controlling results similarly to
17718 returns from functions with unconstrained result subtypes.
17719 If the object returned is unconstrained, and an allocator must be
17720 created for it, analyze the allocator once the block for the extended
17721 return is installed, to ensure that finalizable components
17722 of the expression use the proper finalization list. Guard the call to
17723 Move_Final_List with a check that there is something to finalize.
17724 (Make_Tag_Ctrl_Assignment): Use "old" handling
17725 of controlled type assignment for virtual machines, since new code uses
17726 unsupported features (such as direct access to bytes in memory).
17727
177282007-06-06 Gary Dismukes <dismukes@adacore.com>
17729 Ed Schonberg <schonberg@adacore.com>
17730
17731 * exp_ch6.ads, exp_ch6.adb (Expand_Call): When adding an extra
17732 accessibility actual, check for the case of an aliased object that has
17733 been rewritten as an Access attribute, and assign Prev to Prev_Orig so
17734 we fall into processing for the attribute rather than the name of the
17735 object.
17736 (Expand_Inline_Call): If an actual is a literal, and the corresponding
17737 formal has its address taken in the body, create a temporary to capture
17738 value. If the return type is a limited interface, do not treat the
17739 return value as Controlled.
17740 (Is_In_Place_Function): If the return type is a limited interface,
17741 treat as returning in place. The actual returned object may not always
17742 be limited, but the caller has to assume that it is returned in place.
17743 (Add_Final_List_Actual_To_Build_In_Place_Call): If the call is the
17744 context of an allocator, use the correct finalization chain (that is,
17745 the chain belonging to the access type, rather than the chain belonging
17746 to the current scope).
17747 (Add_Alloc_Form_Actual_To_Build_In_Place_Call): Test for a tagged
17748 result type rather than a controlling result as a precondition for
17749 adding an allocation form actual to a build-in-place call.
17750 (Add_Final_List_Actual_To_Build_In_Place_Call): Ditto.
17751 (Freeze_Subprogram): Code cleanup. Remove all the code that register the
17752 primitive in the dispatch tables. This work is now done by Make_DT when
17753 the type is frozen.
17754 (Register_Predefined_DT_Entry): Removed.
17755 (Add_Return): If end label is not present, use sloc of last statement
17756 for generated return statement in procedure, for better gdb behavior
17757 on expanded code.
17758 (Add_Access_Actual_To_Build_In_Place_Call): Set parent fields of the
17759 object address nodes to ensure proper processing by routines like
17760 Insert_After*.
17761 (Expand_Call): Fix generation of validity check for parameter
17762 (Add_Alloc_Form_Actual_To_Build_In_Place_Call): Return without passing
17763 the allocation form parameter if the result subtype is constrained,
17764 except when the function has a controlling result.
17765 (Add_Final_List_Actual_To_Build_In_Place_Call): Test Controlled_Type
17766 rather than Is_Controlled and Has_Controlled_Component, since we want to
17767 include class-wide result types in this treatment. Also test for a
17768 controlling result, since that also requires passing a finalization
17769 list.
17770 (Make_Build_In_Place_Call_In_Allocator): Call Add_Alloc_Form_Actual_*
17771 even when the result subtype is constrained, to handle calls involving
17772 controlling results.
17773 (Make_Build_In_Place_Call_In_Anonymous_Context): Add_Alloc_Form_Actual_*
17774 is now called even when the result subtype is constrained, to handle
17775 calls involving controlling results.
17776 (Make_Build_In_Place_Call_In_Assignment): Remove test for Is_Constrained
17777 on call to Add_Alloc_Form_Actual_To_Build_In_Place_Call (that procedure
17778 now performs the test).
17779 (Make_Build_In_Place_Call_In_Object_Declaration):
17780 Add_Alloc_Form_Actual_* is now called even when the result subtype is
17781 constrained, to handle calls involving controlling results.
17782 (Add_Return): Accomodate rewritten pattern from local raise to goto
17783 transformation, so that we still recognize an transfer statement
17784 and do the right thing here in that case.
17785 (Expand_N_Subprogram_Body): Add dummy Push/Pop_xxx_Label nodes at start
17786 and end of subprogram code.
17787 (Register_Interface_DT_Entry, Register_Predefined_DT_Entry): Add missing
17788 support for primitives that are functions (without formals) with a
17789 controlling result.
17790 (Inherited_From_Formal): If the actual subtype has not generic parent
17791 type, it is not an actual for a formal derived type, and there is no
17792 operation to inherit from the formal.
17793
177942007-06-06 Ed Schonberg <schonberg@adacore.com>
17795 Thomas Quinot <quinot@adacore.com>
17796
17797 * exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): Set Sloc of
17798 inserted cleanup code appropriately for GDB use.
17799 (Make_Deep_Proc): Use Make_Handler_For_Ctrl_Operation to create
17800 exception handler for Deep_Adjust or Deep_Finalize.
17801 (Make_Handler_For_Ctrl_Operation): New subprogram. When runtime entity
17802 Raise_From_Controlled_Operation is available, use a call to that
17803 subprogram instead of a plain "raise Program_Error" node to raise
17804 Program_Error if an exception is propagated from an Adjust or Finalize
17805 operation.
17806 (Insert_Actions_In_Scope_Around): If the statement to be wrapped
17807 appears in the optional statement list of a triggering alternative, the
17808 scope actions can be inserted directly there, and not in the list that
17809 includes the asynchronous select itself.
17810
178112007-06-06 Ed Schonberg <schonberg@adacore.com>
17812 Robert Dewar <dewar@adacore.com>
17813 Hristian Kirtchev <kirtchev@adacore.com>
17814
17815 * exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry): Set sloc of
17816 generated exception handler appropriately when debugging generated code.
17817 Deal properly with No_Exception_Propagation restriction mode.
17818 (Expand_N_Abort_Statement): Add an unchecked type conversion from
17819 System.Address to System.Tasking.Task_Id when processing the result of
17820 the predefined primitive _disp_get_task_id.
17821 (Expand_N_Asynchronous_Select): Clarify comment.
17822 (Expand_N_Protected_Type_Declaration): Minor code cleanup.
17823 (Find_Parameter_Type): New routine inside Type_Conformant_Parameters.
17824 (Type_Conformant_Parameters): New parameter Prim_Op_Typ. Code cleanup.
17825 (Add_Private_Declarations, Build_Protected_Body): Use proper slocs for
17826 privals and for generated call to Complete_Entry_Body, for better gdb
17827 behavior.
17828 (Copy_Result_Type): Utility to construct a parameter and result profile
17829 for protected functions whose return type is an anonymous access to
17830 subprogram.
17831 (Build_Protected_Sub_Spec and Expand_Access_Protected_Subprogram_Type):
17832 call the above.
17833 (Build_Task_Activation_Call): Insert Activate_Tasks call at proper
17834 point when the local-raise-to-goto transformation has taken place.
17835
178362007-06-06 Javier Miranda <miranda@adacore.com>
17837 Nicolas Setton <setton@adacore.com>
17838
17839 * exp_dbug.adb (Get_Encoded_Name): Modified to continue providing its
17840 functionality when the backend is generating code.
17841 Otherwise any serious error
17842 reported by the backend calling the frontend routine Error_Msg
17843 changes the Compilation_Mode to Check_Semantics, disables the
17844 functionality of this routine and causes the generation of
17845 spureous additional errors.
17846
17847 * exp_dbug.ads (Pointers to Unconstrained Arrays): Document the
17848 debugging information now generated by the compiler for fat-pointer
17849 types.
17850 Document the contents of DW_AT_producer in the GNAT Vendor extensions to
17851 DWARF2/3.
17852 Document GNAT Vendor extensions to DWARF 2/3 and the "-gdwarf+" switch.
17853
178542007-06-06 Thomas Quinot <quinot@adacore.com>
17855
17856 * exp_dist.ads, exp_dist.adb (Make_Transportable_Check): New subprogram
17857 (GARLIC_Support.Build_Subprogram_Receiving_Stubs,
17858 PolyORB_Support.Build_Subprogram_Receiving_Stubs):
17859 For a remote call to a function with a classwide return type, apply an
17860 E.4(18) check to the returned value.
17861 (Add_RACW_Primitive_Declarations_And_Bodies): Do not generate stubs for
17862 stream attributes of the designated type of an RACW, as they are not
17863 dispatching primitive operations.
17864
178652007-06-06 Geert Bosch <bosch@adacore.com>
17866
17867 * exp_fixd.adb (Integer_Literal): Add optional argument to construct a
17868 negative literal
17869 (Do_Divide_Fixed_Fixed): Add comments to indicate Frac is always
17870 positive
17871 (Do_Divide_Fixed_Universal): Handle case of negative Frac.
17872 (Do_Multiply_Fixed_Fixed): Add coments to indicate Frac is always
17873 positive
17874 (Do_Multiply_Fixed_Universal): Handle case of negative Frac.
17875
178762007-06-06 Javier Miranda <miranda@adacore.com>
17877
17878 * exp_imgv.adb (Expand_Value_Attribute): Disable compilation of this
17879 attribute compiling package Ada.Tags under No_Run_Time_Mode.
17880
178812007-06-06 Javier Miranda <miranda@adacore.com>
17882
17883 * exp_intr.adb (Expand_Unc_Deallocation): Add missing support for
17884 deallocation of class-wide interface objects.
17885 (Expand_Dispatching_Constructor_Call): Take into account that if the
17886 result of the dispatching constructor is an interface type, the
17887 function returns a class-wide interface type; otherwise the returned
17888 object would be actual. The frontend previously accepted returning
17889 interface types because Expand_Interface_Actuals silently performed
17890 the management of the returned type "as if" it were a class-wide
17891 interface type.
17892 (Expand_Dispatching_Constructor_Call): Replace call to
17893 Make_DT_Access_Action by direct call to Make_Function_Call.
17894
178952007-06-06 Robert Dewar <dewar@adacore.com>
17896 Ed Schonberg <schonberg@adacore.com>
17897
17898 * exp_pakd.adb (Expand_Packed_Not): Use RM_Size rather than ESize to
17899 compute masking constant, since we now set Esize properly to the
17900 underlying size.
17901 (Create_Packed_Array_Type): Set proper Esize value adjusted as required
17902 to match the alignment.
17903 (Create_Packed_Array_Type): Use Short_Short_Unsigned as base type for
17904 packed arrays of 8 bits or less.
17905
17906 * freeze.adb (Freeze_Entity): When freezing the formals of a
17907 subprogram, freeze the designated type of a parameter of an access type
17908 only if it is an access parameter.
17909 Increase size of C convention enumeration object
17910 (Freeze_Entity, array type case): Make sure Esize value is properly
17911 adjusted for the alignment if it is known.
17912 (Freeze_Entity, array type case): When checking bit packed arrays for
17913 the size being incorrect, check RM_Size, not Esize.
17914 (Freeze_Record_Type): Check for bad discriminated record convention
17915 (In_Exp_Body): Return true if the body is generated for a subprogram
17916 renaming, either an attribute renaming or a renaming as body.
17917 (Check_Itype): If the designated type of an anonymous access component
17918 is a non-protected subprogram type, indicate that it is frozen, to
17919 prevent out-of-scope freeze node at some subsequent call.
17920 (Freeze_Subprogram): On OpenVMS, reject descriptor passing mechanism
17921 only if the subprogram is neither imported nor exported, as well as the
17922 NCA descriptor class if the subprogram is exported.
17923
179242007-06-06 Ed Schonberg <schonberg@adacore.com>
17925 Arnaud Charlet <charlet@adacore.com>
17926 Robert Dewar <dewar@adacore.com>
17927 Gary Dismukes <dismukes@adacore.com>
17928
17929 * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Remove properly a
17930 default initialization on an imported object, when there is no
17931 initialization call generated for it.
17932 (Expand_Pragma_Assert): Add handling of No_Exception_Propagation
17933 restriction
17934
17935 * snames.h, snames.ads, snames.adb, par-prag.adb: New pragma
17936 Static_Elaboration_Desired.
17937 Remove pragma Thread_Body.
17938 Implement a new pragma No_Body
17939 Removes the Explicit_Overriding pragma
17940 Remove Optional_Overriding pragma
17941 (Prag): Deal with Universal_Aliasing.
17942 (Name_CIL, Name_CIL_Constructor, Convention_CIL,
17943 Pragma_CIL_Constructor): New names.
17944
17945 * sem_cat.adb (Validate_Object_Declaration): An initialization that
17946 uses the equivalent aggregate of a type must be treated as an implicit
17947 initialization.
17948 (Get_Categorization): Check a unit for pragma Preelaborate only if it
17949 has none of the other categories.
17950 (Process_Import_Or_Interface_Pragma): Report an error for an attempt
17951 to apply Import to an object renaming declaration.
17952
17953 * sem_prag.adb (Process_Import_Or_Interface): Warn that a type imported
17954 from a C++ class should be declared as limited and that it will be
17955 considererd limited.
17956 (Analyze_Pragma): Warn that a type specified with pragma CPP_Class
17957 should be declared as limited and that it will be considererd limited.
17958 (Ada_2005_Pragma): New procedure, used to deal with Ada 2005 pragmas
17959 (Analyze_Pragma, case Export): Diagnose export of enumeration literal
17960 (Analyze_Pragma): Deal with Universal_Aliasing.
17961 (Sig_Flags): Likewise.
17962 (Set_Encoded_Interface_Name): Suppress encoding when compiling for AAMP.
17963 (Overflow_Checks_Unsuppressed): New flag.
17964 (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed.
17965 (Analyze_Pragma [case Pack]): Ignore pragma Pack and post warning in
17966 case of JVM or .NET targets, and compiling user code.
17967 Add debugging convenience routine rv
17968
179692007-06-06 Robert Dewar <dewar@adacore.com>
17970
17971 * exp_strm.adb (Make_Field_Attributes): Avoid _Parent components that
17972 are interface type.
17973 (Build_Elementary_Input_Call): For floating-point use right type in the
17974 absence of strange size or stream size clauses.
17975 (Build_Elementary_Write_Call): Same fix
17976 (Has_Stream_Standard_Rep): Returns False if Stream_Size attribute
17977 set to value that does not match base type size.
17978
179792007-06-06 Ed Schonberg <schonberg@adacore.com>
17980
17981 * exp_util.ads, exp_util.adb (Expand_Subtype_From_Expr): In Ada2005, an
17982 object of a limited type can be initialized with a call to a function
17983 that returns in place. If the limited type has unknown discriminants,
17984 and the underlying type is a constrained composite type, build an actual
17985 subtype from the function call, as is done for private types.
17986 (Side_Effect_Free): An expression that is the renaming of an object or
17987 whose prefix is the renaming of a object, is not side-effect free
17988 because it may be assigned through the renaming and its value must be
17989 captured in a temporary.
17990 (Has_Controlled_Coextensions): New routine.
17991 (Expand_Subtype_From_Expr): Do nothing if type is a limited interface,
17992 as is done for other limited types.
17993 (Non_Limited_Designated_Type): new predicate.
17994 (Make_CW_Equivalent_Type): Modified to handle class-wide interface
17995 objects.
17996 Remove all handling of with_type clauses.
17997
9e81dbc7 17998 * par-ch10.adb: Remove all handling of with_type clauses.
ec11296f
AC
17999
18000 * lib-load.ads, lib-load.adb (Load_Main_Source): Do not get the
18001 checksum if the main source could not be parsed.
18002 (Loat_Unit): When processing a child unit, determine properly whether
18003 the parent unit is a renaming when the parent is itself a child unit.
18004 Remove handling of with_type clauses.
18005
18006 * sinfo.ads, sinfo.adb (Is_Static_Coextension): New function.
18007 (Set_Is_Static_Coextension): New procedure.
18008 (Has_Local_Raise): New function
18009 (Set_Has_Local_Raise): New procedure
18010 (Renaming_Exception): New field
18011 (Has_Init_Expression): New flag
18012 (Delay_Finalize_Attach): Remove because flag is obsolete.
18013 (Set_Delay_Finalize_Attach): Remove because flag is obsolete.
18014 Remove all handling of with_type clauses.
18015 (Exception_Junk): Can now be set in N_Block_Statement
18016
180172007-06-06 Vincent Celier <celier@adacore.com>
18018 Robert Dewar <dewar@adacore.com>
18019
18020 * frontend.adb (Frontend): Return immediately if the main source could
18021 not be parsed, because of preprocessing errors.
18022
18023 * gnat1drv.adb (gnat1drv): Handle RE_Not_Available gracefully.
18024 (Gnat1drv): Exit with errors if the main source could not be parsed,
18025 because of preprocessing errors.
18026 (Check_Rep_Info): New procedure
18027
180282007-06-06 Robert Dewar <dewar@adacore.com>
18029
18030 * g-hesorg.ads, g-heasor.ads,
18031 g-busorg.ads, g-bubsor.ads: Update documentation
18032 GNAT.Heap/Bubble_Sort_G is now pure
18033
180342007-06-06 Robert Dewar <dewar@adacore.com>
18035
18036 * g-catiio.ads, g-catiio.adb (Image): Check for null picture string
18037
180382007-06-06 Robert Dewar <dewar@adacore.com>
18039 Ed Schonberg <schonberg@adacore.com>
18040
9e81dbc7 18041 * g-comlin.ads, g-comlin.adb:
ec11296f
AC
18042 Add new warning for renaming of function return objects
18043
18044 * opt.adb (Tree_Write, Tree_Read): Use proper expressions for size
18045 (Tree_Read): Use size of object instead of type'object_size, since the
18046 latter is incorrect for packed array types.
18047 (Tree_Write): Same fix
18048
18049 * opt.ads: Add new warning for renaming of function return objects
18050 (Generating_Code): New boolean variable used to indicate that the
18051 frontend as finished its work and has called the backend to process
18052 the tree and generate the object file.
18053 (GCC_Version): Is now private
18054 (Static_Dispatch_Tables): New constant declaration.
18055 (Overflow_Checks_Unsuppressed): New flag.
18056 (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed.
18057 (List_Closure): New flag for gnatbind (-R)
18058 Zero_Formatting: New flag for gnatbind (-Z)
18059 (Special_Exception_Package_Used): New flag.
18060 (Warn_On_Unrepped_Components): New flag.
18061
18062 * sem_ch8.adb (Check_Library_Unit_Renaming): Check that the renamed
18063 unit is a compilation unit, rather than relying on its scope, so that
18064 Standard can be renamed.
18065 (Analyze_Object_Renaming): Add new warning for renaming of function
18066 return objects.
18067 Also reject attempt to rename function return object in Ada 83 mode.
18068 (Attribute_Renaming): In case of tagged types, add the body of the
18069 generated function to the freezing actions of the type.
18070 (Find_Type): A protected type is visible right after the reserved word
18071 "is" is encountered in its type declaration. Set the entity and type
18072 rather than emitting an error message.
18073 (New_Scope): Properly propagate Discard_Names to inner scopes
18074 (Check_Nested_Access): New procedure.
18075 (Has_Nested_Access, Set_Has_Nested_Access): New procedures.
18076 (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
18077
18078 * sem_warn.ads, sem_warn.adb: Improvements to infinite loop warning
18079 Add new warning for renaming of function return objects
18080 (Check_References): Suppress warnings for objects whose type or
18081 base type has Warnings suppressed.
18082 (Set_Dot_Warning_Switch): Add processing for -gnatw.c/C
18083 (Set_Warning_Switch): Include new -gnatwc in -gnatwa
18084
180852007-06-06 Vincent Celier <celier@adacore.com>
18086 Emmanuel Briot <briot@adacore.com>
18087 Olivier Hainque <hainque@adacore.com>
18088
18089 * g-debpoo.ads, g-debpoo.adb (Free_Physically.Free_Blocks): Use the
18090 absolute value of Header.Block_Size when displaying the freed physical
18091 memory in traces.
18092 (Allocate): Compute Storage_Address using Integer_Address, not
18093 Storage_Offset, because the range of Storage_Offset may not be large
18094 enough.
18095 (Configure): New parameter Low_Level_Traces
18096 (Allocate, Deallocation, Free_Physically): Added low-level traces
18097 (Configure): new parameter Errors_To_Stdout.
18098 (Output_File): new subprogram
18099 (Deallocate, Dereference): Send error messages to the proper stream
18100 (Print_Pool, Print_Info_Stdout): Make sure the output goes to stdout, as
18101 documented. Previous code would send it to the current output file
18102 defined in GNAT.IO, which might not be stdout
18103 (Is_Valid): Adjust comment to mention that a positive reply means that
18104 Header_Of may be used to retrieve the allocation header associated with
18105 the subprogram Storage address argument. Return False early if this
18106 address argument is misaligned.
18107
181082007-06-06 Vincent Celier <celier@adacore.com>
18109
18110 * gnatcmd.adb (GNATCmd): Accept switch -aP for commands that accept
18111 switch -P
18112 (ASIS_Main): New global variable
18113 (Get_Closure): New procedure
18114 (GNATCmd): Set ASIS_Main when -P and -U with a main is used for gnat
18115 check, metric or pretty. Call Get_Closure in this case.
18116 (Check_Files): For GNAT LIST, check all sources of all projects when
18117 All_Projects is True.
18118 (GNATCmd): Accept -U for GNAT LIST
18119
181202007-06-06 Vincent Celier <celier@adacore.com>
18121
18122 * gnatlink.adb (Gnatlink): Do not specify -static-libgcc when --LINK=
18123 has been specified
18124 Correct error message when invocation of the linker fails
18125 Add explicit size clause for the C imported variables
18126 Object_List_File_Supported and Using_GNU_Linker to emphasize that
18127 we expect char size.
18128 Read target parameters earlier, since this is needed to set
18129 Target_VM properly. Also do not use -static/shared-libgcc for non GCC
18130 targets.
18131
181322007-06-06 Vincent Celier <celier@adacore.com>
18133
9e81dbc7 18134 * gnatls.adb:
ec11296f
AC
18135 Add 3 spaces before the default project directory when displaying
18136 the project search path.
18137 Add new command line switch '-l' to display license information.
18138
181392007-06-06 Vasiliy Fofanov <fofanov@adacore.com>
18140
18141 * gmem.c: Add support for timestamps on memory operations.
18142
18143 * memtrack.adb, gnatmem.adb: Add support for timestamps on memory
18144 operations (not used currently, just foundation for future
18145 enhancements). Add possibility to perform full dump of gmem.out file.
18146 (Print_Back_Traces): Declare accesses to root arrays constants since
18147 they aren't modified.
18148 (Print_Back_Traces): allocate root arrays on the heap rather than stack.
18149
181502007-06-06 Vincent Celier <celier@adacore.com>
18151
18152 * gnatsym.adb: Update Copyright notice
18153 (Parse_Cmd_Line): Accept new switch -D
18154 (Gnatsym): In Direct policy (switch -D) copy reference file to symbol
18155 file.
18156
18157 * prj.ads (Policy): New policy Direct
18158 (Yes_No_Unknown): New enumeration type
18159 (Project_Data): New component Libgnarl_Needed
18160
18161 * prj-nmsc.adb (Check_For_Source): When recording a source file make
18162 use the untouched pathname casing.
18163 (Get_Directories): Ensure that the Display_Exec_Directory is using the
18164 proper casing on non case-sensitive platforms like Windows.
18165 (Get_Unit): Accept file names x__... and x~... (where x = a, g, i or s)
18166 on all platforms, as it is not possible to know which one is allowed
18167 before processing the project files.
18168 (Check_Stand_Alone_Library): Check that Library_Reference_Symbol_File is
18169 specified when symbol policy is Direct. Check that when there is a
18170 symbol file defined (either by default or with attribute
18171 Library_Symbol_File) it is not the same as the reference symbol file.
18172 (Check_Stand_Alone_Library): Recognize new symbol policy Direct.
18173 (Look_For_Sources): Allow Locally_Removed_Files to be declare in non
18174 extending projects.
18175 (Record_Ada_Source): Record a source that has been locally removed in an
18176 imported project.
18177
18178 * symbols.ads (Policy): New policy Direct
18179
18180 * symbols-vms.adb (Initialize): Take new policy Direct in case
18181 statement
18182
181832007-06-06 Vincent Celier <celier@adacore.com>
18184
18185 * g-os_lib.ads, g-os_lib.adb (Normalize_Pathname.Get_Directory):
18186 Correct obvious bug (return Dir; instead of return Directory;).
18187 (Normalize_Pathname): Use Reference_Dir'Length, not Reference_Dir'Last
18188
181892007-06-06 Thomas Quinot <quinot@adacore.com>
18190
18191 * g-pehage.adb (Produce): Open output files in Binary mode, so that
18192 they have UNIX line endings (LF only) even on Windows, and thus pass
18193 all GNAT style checks.
18194
181952007-06-06 Emmanuel Briot <briot@adacore.com>
18196
18197 * g-regpat.adb (Quote): Fix improper quoting of '.'
18198
181992007-06-06 Thomas Quinot <quinot@adacore.com>
18200
18201 * g-soccon.ads: Add new constant Thread_Blocking_IO, always True by
18202 default, set False on a per-runtime basis.
18203 (Need_Netdb_Buffer): New constant.
18204
18205 * g-socket.ads, g-socket.adb: Import new package
18206 GNAT.Sockets.Thin.Task_Safe_NetDB.
18207 (Raise_Host_Error): Use Host_Error_Message from platform-specific thin
18208 binding to obtain proper message.
18209 (Close_Selector): Use GNAT.Sockets.Thin.Signalling_Fds.Close.
18210 Replace various occurrences of Arry (Arry'First)'Address with the
18211 equivalent Arry'Address (GNAT always follows implementation advice from
18212 13.3(14)).
18213 (Get_Host_By_Address, Get_Host_By_Name,
18214 Get_Service_By_Name, Get_Service_By_Port): Do not use GNAT.Task_Lock;
18215 instead, rely on platform-specific task safe netdb operations provided
18216 by g-socthi.
18217
18218 * g-socthi.ads, g-socthi.adb (Initialize): Remove obsolete formal
18219 parameter Process_Blocking_IO.
18220 (Host_Error_Messages): Add stub body.
18221 (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
18222 (Safe_Gethostbyname, Safe_Gethostbyaddr, Safe_Getservbyname,
18223 Safe_Getservbyport): Move functions into new child package
18224 Task_Safe_NetDB.
18225 (Nonreentrant_Gethostbyname, Nonreentrant_Gethostbyaddr,
18226 Nonreentrant_Getservbyname, Nonreentrant_Getservbyport): New routines.
18227 (In_Addr): Add alignment clause.
18228
182292007-06-06 Robert Dewar <dewar@adacore.com>
18230
18231 * g-trasym.ads, g-traceb.ads: Update list of supported targets
18232 Add note about symbolic traceback
18233
182342007-06-06 Pascal Obry <obry@adacore.com>
18235
18236 * hostparm.ads (Normalized_CWD): Use the host directory separator
18237 instead of the hardcoded forward slash which is not the proper
18238 character on Windows for example.
18239 (Java_VM): Removed.
18240
182412007-06-06 Vincent Celier <celier@adacore.com>
18242 Arnaud Charlet <charlet@adacore.com>
18243
18244 * a-clrefi.adb, a-clrefi.ads: New files
18245
18246 * impunit.adb: Add s-os_lib in the list of user visible units.
18247 (Non_Imp_File_Names_95): Add a-clrefi to this list
18248 Remove obsolete run-time entries.
18249 (Non_Imp_File_Names_05): Add Ada 2005 entries for:
18250 "a-exetim" -- Ada.Execution_Time
18251 "a-extiti" -- Ada.Execution_Time.Timers
18252
18253 * mlib-prj.ads, mlib-prj.adb
18254 (Build_Library): Use untouched object dir and library dir. At the
18255 same time makes sure that the checks are done using the canonical
18256 form. Removes hard-coded directory separator and use the proper host
18257 one instead.
18258 (Process_Project): Do not look in object directory to check if libgnarl
18259 is needed for a library, if there is no object directory.
18260 (Build_Library): Scan the ALI files to decide if libgnarl is needed for
18261 linking.
18262 (Build_Library): When invoking gnatbind, use a response file if the
18263 total size of the arguments is too large.
18264
18265 * Makefile.rtl: (g-sttsne): New object file.
18266 Add entry for a-clrefi, s-utf_32, System.Exceptions
18267
18268 * Make-lang.in: Remove bogus dependency of s-memory.o on memtrack.o.
18269 (GNAT_ADA_OBJS, GNATBIND_OBJS): Add s-except.o.
18270 (GNATBIND_OBJS): Add new objects a-clrefi.o and a-comlin.o
18271 Change g-string to s-string, g-os_lib to s-os_lib
18272 Change all g-utf_32 references to s-utf_32
18273
182742007-06-06 Tristan Gingold <gingold@adacore.com>
18275 Olivier Hainque <hainque@adacore.com>
18276
18277 * init.c: Do not adjust IP of an imported VMS exception of ia64.
18278 LIB$STOP is called to raise an exception and the IP of the exception
18279 is the instruction right after the call.
18280 (__gnat_adjust_context_for_raise, AIX): Implement.
18281 (__gnat_error_handler, AIX): Accept SIGINFO related arguments and call
18282 adjust_context_for_raise before Raise_From_Signal_Hanler.
18283 (__gnat_install_handler, AIX): Add SA_SIGINFO to the sa_flags, to ensure
18284 siginfo is passed to the handler, necessary to let the zcx propagation
18285 engine unwind past it.
18286
182872007-06-06 Olivier Hainque <hainque@adacore.com>
18288
18289 * initialize.c (__gnat_initialize for vxworks): Update documentation
18290 on the ZCX support, using different sets of crtstuff objects than with
18291 GCC 3.4.
18292
182932007-06-06 Robert Dewar <dewar@adacore.com>
18294
18295 * layout.ads, layout.adb (Adjust_Esize_Alignment): Move spec to package
18296 spec from body
18297 (Layout_Type): Fix recomputation of size from alignment.
18298
182992007-06-06 Ed Schonberg <schonberg@adacore.com>
18300 Javier Miranda <miranda@adacore.com>
18301
18302 * sem_ch12.adb (Analyze_Associations): Diagnose use of an others
18303 association in an instance.
18304 (Copy_Generic_Node): If the node is a string literal, no need to copy
18305 its descendants.
18306 (Is_Generic_Formal): For a formal subprogram, the declaration is the
18307 grandparent of the entity.
18308 (Analyze_Formal_Interface_Type): Transform into a full type declaration,
18309 to simplify handling of formal interfaces that derive from other formal
18310 interfaces.
18311 (Instantiate_Subprogram_Body): The defining unit name of the body of
18312 the instance should be a defining identifier.
18313 (Install_Formal_Packages): make global to the package, for use in
18314 instantiations of child units.
18315 (Analyze_Package_Instantiation): Do not attempt to set information on an
18316 enclosing master of an entry when expansion is disabled.
18317 (Instantiate_Type): If the actual is a tagged synchronized type and the
18318 generic ancestor is an interface, create a generic actual for the
18319 corresponding record.
18320 (Analyze_Formal_Derived_Interface_Type): Rewrite as a derived type
18321 declaration, to ensure that the interface list is processed correctly.
18322 (Inline_Instance_Body): If enclosing scope is an instance body, remove
18323 its entities from visibiility as well.
18324 (Pre_Analyze_Actuals): if the actual is an allocator with constraints
18325 given with a named association, analyze the expression only, not the
18326 discriminant association itself.
18327 (Reset_Entity): If the analysis of a selected component is transformed
18328 into an expanded name in the prefix of a call with parameters, do not
18329 transform the original node into an expanded name, to prevent visibility
18330 errors in the case of nested generics.
18331 (Check_Private_View): For an array type, check whether the index types
18332 may need exchanging.
18333
183342007-06-06 Arnaud Charlet <charlet@adacore.com>
18335 Vincent Celier <celier@adacore.com>
18336
18337 * lib-writ.adb: Handle Convention_CIL in addition to Convention_Java,
18338 since both are separated.
18339 Add support for imported CIL packages.
18340 Add further special handling of "value_type" for CIL.
18341 Add special handling of pragma Import for CIL.
18342
18343 * make.ads, make.adb: When switch -eS is used, direct all outputs to
18344 standard output instead of standard error, except errors.
18345 (Absolute_Path): Use untouched casing for the parent directory.
18346 (Add_Library_Search_Dir): Use the untouched directory name.
18347 (Add_Source_Search_Dir): Idem.
18348 (Change_To_Object_Directory): Update output to use proper casing.
18349 (Create_Binder_Mapping_File): Use the untouched filename to set
18350 ALI_Name.
18351 (Gnatmake): Use untouched library and executable directory names.
18352 (Insert_Project_Sources): Use untouched filename for spec and body.
18353 (Is_In_Object_Directory): Use untouched object directory.
18354 (Mark_Directory): Idem.
18355 (Collect_Arguments_And_Compile): Ensure that Full_Source_File always
18356 contains the non-canonical filename in all cases.
18357 (Change_To_Object_Directory): In verbose mode, display the name of the
18358 object directory we're changing to.
18359 (Compile_Sources): Make sure, when a project file is used, to compile
18360 the body of the unit, when there is one, even when only the spec is
18361 recorded in an ALI file.
18362 (Gcc_Switches, Binder_Switches, Linker_Switches): Tables moved from the
18363 spec to the body.
18364 (Report_Compilation_Failed): New procedure
18365 (Bind, Display_Commands, Compile_Sources, Initialize, Scan_Make_Arg):
18366 procedures moved from the spec to the body.
18367 (Extract_Failure): Removed, not used
18368 Replace explicit raises of exception Bind_Failed and Link_Failed with
18369 calls to Make_Failed with the proper message.
18370 Replace explicit raises of exception Compilation_Failed with calls to
18371 procedure Report_Compilation_Failed.
18372 (Initialize): Create mapping files unconditionally when using project
18373 files.
18374
18375 * sem_mech.adb: (Name_CIL, Name_CIL_Constructor, Convention_CIL,
18376 Pragma_CIL_Constructor): New names.
18377
18378 * targparm.ads, targparm.adb
18379 (Compiler_System_Version): Removed, no longer used.
18380 (Get_Target_Parameters): Relax checks on system.ads validity. Add
18381 handling of two new system flags: JVM and CLI.
18382
183832007-06-06 Jose Ruiz <ruiz@adacore.com>
18384 Arnaud Charlet <charlet@adacore.com>
18385
18386 * Makefile.in (LIBGNAT_TARGET_PAIRS for VxWorks 6): For the RTP run
18387 time, use the default s-interr body that provides interrupt support
18388 based on signals.
18389 (LIBGNAT_TARGET_PAIRS for x86-linux): Use specialized versions of
18390 a-exetim.ad{s,b}, a-extiti.ad{s,b}, a-rttiev.ad{s,b}, s-osinte.ad{s,b},
18391 g-soccon.ads, and s-taprop.adb for the marte run time.
18392 (EXTRA_GNATRTL_TASKING_OBJS for x86-linux): Execution time clocks and
18393 timers are supported on marte.
18394 (EH_MECHANISM for marte): Do not use ZCX.
18395 (THREADSLIB for marte): Use -lmarte.
18396 Add mlib-tgt-vms.o to the list of objects for gnatmake for VMS
18397 Add mlib-tgt-specific.o to gnatmake objects
18398 mlib-tgt-<platforms>.adb is now the body of MLib.Tgt.Specific, no
18399 longer of MLib.Tgt.
18400 (LIBGNAT_TARGET_PAIRS for vxworks): When building a run time for VxWorks
18401 6, either kernel or rtp, use a specialized version of s-osinte.ads.
18402
184032007-06-06 Pascal Obry <obry@adacore.com>
18404
18405 * mkdir.c (__gnat_mkdir): Add support for UTF-8.
18406
184072007-06-06 Vincent Celier <celier@adacore.com>
18408
18409 * mlib.ads, mlib.adb (Build_Library): Do not use hard-coded directory
18410 separator, use instead the proper host directory separator.
18411 (Copy_ALI_Files): Make sure that an already existing ALI file in the
18412 ALI copy dir is writable, before doing the copy.
18413
9e81dbc7 18414 * mlib-utl.ads, mlib-utl.adb:
ec11296f
AC
18415 (Gcc): If length of command line is too long, put the list of object
18416 files in a response file, if this is supported by the platform.
18417 (Ar): If invocation of the archive builder is allowed to be done in
18418 chunks and building it in one shot would go above an OS dependent
18419 limit on the number of characters on the command line, build the archive
18420 in chunks.
18421
184222007-06-06 Vincent Celier <celier@adacore.com>
18423
18424 * osinte-c.ads, osint-c.adb (Set_Library_Info_Name): Fail if base name
18425 of specified object file is not equal to base name of source.
18426
184272007-06-06 Javier Miranda <miranda@adacore.com>
18428 Hristian Kirtchev <kirtchev@adacore.com>
18429 Ed Schonberg <schonberg@adacore.com>
18430
18431 * sem_ch3.adb (Process_Full_View): Propagate the CPP_Class attribute to
18432 the full type declaration.
18433 (Analyze_Component_Declaration): Add local variable E to capture the
18434 initialization expression of the declaration. Replace the occurences of
18435 Expression (N) with E.
18436 (OK_For_Limited_Init_In_05): Allow initialization of class-wide
18437 limited interface object with a function call.
18438 (Array_Type_Declaration): If the declaration lacks subtype marks for
18439 indices, create a simple index list to prevent cascaded errors.
18440 (Is_Null_Extension): Ignore internal components created for secondary
18441 tags when checking whether a record extension is a null extension.
18442 (Check_Abstract_Interfaces): Add missing support for interface subtypes
18443 and generic formals.
18444 (Derived_Type_Declaration): Add missing support for interface subtypes
18445 and generic formals.
18446 (Analyze_Object_Declaration): If an initialization expression is
18447 present, traverse its subtree and mark all allocators as static
18448 coextensions.
18449 (Add_Interface_Tag_Component): When looking for components that may be
18450 secondary tags, ignore pragmas that can appear within a record
18451 declaration.
18452 (Check_Abstract_Overriding): an inherited function that dispatches on
18453 result does not need to be overriden if the controlling type is a null
18454 extension.
18455 (Mentions_T): Handle properly a 'class attribute in an anonymous access
18456 component declaration, when the prefix is an expanded name.
18457 (Inherit_Component): If the derivation is for a private extension,
18458 inherited components remain visible and their ekind should not be set
18459 to Void.
18460 (Find_Type_Of_Object): In the case of an access definition, always set
18461 Is_Local_Anonymous_Access. We were previously not marking the anonymous
18462 access type of a return object as a local anonymous type.
18463 (Make_Index): Use Ambiguous_Character to report ambiguity on a discrete
18464 range with character literal bounds.
18465 (Constrain_Array): Initialize the Packed_Array_Type field to Empty.
18466 (Access_Subprogram_Declaration): Indicate that the type declaration
18467 depends on an incomplete type only if the incomplete type is declared
18468 in an open scope.
18469 (Analyze_Subtype_Declaration): Handle properly subtypes of
18470 synchronized types that are tagged, and that may appear as generic
18471 actuals.
18472 (Access_Subprogram_Declaration): An anonymous access to subprogram can
18473 appear as an access discriminant in a private type declaration.
18474 (Add_Interface_Tag_Components): Complete decoration of the component
18475 containing the tag of a secondary dispatch table and the component
18476 containing the offset to the base of the object (this latter component
18477 is only generated when the parent type has discriminants --as documented
18478 in this routine).
18479 (Inherit_Components): Use the new decoration of the tag components to
18480 improve the condition that avoids inheriting the components associated
18481 with secondary tags of the parent.
18482 (Build_Discriminanted_Subtype): Indicate to the backend that the
18483 size of record types associated with dispatch tables is known at
18484 compile time.
18485 (Analyze_Subtype_Declaration): Propagate Is_Interface flag when needed.
18486 (Analyze_Interface_Declaration): Change setting of Is_Limited_Interface
18487 to include task, protected, and synchronized interfaces as limited
18488 interfaces.
18489 (Process_Discriminants): Remove the setting of
18490 Is_Local_Anonymous_Access on the type of (anonymous) access
18491 discriminants of nonlimited types.
18492 (Analyze_Interface_Type_Declaration): Complete the decoration of the
18493 class-wide entity it is is already present. This situation occurs if
18494 the limited-view has been previously built.
18495 (Enumeration_Type_Declaration): Initialize properly the Enum_Pos_To_Rep
18496 field.
18497 (Add_Interface_Tag_Components.Add_Tag): Set the value of the attribute
18498 Related_Interface.
18499
185002007-06-06 Ed Schonberg <schonberg@adacore.com>
18501
18502 * sem_aggr.adb (Resolve_Record_Aggregate): Ignore internal components
18503 of the type that specify the position of interface tags when the type
18504 inherits discriminated array components from the parent type.
18505 If a component is initialized with a box, check for the presence of a
18506 default expression in its declaration before using its default
18507 initialization procedure.
18508 (Resolve_Record_Aggregate): If a component is box-initialized, and the
18509 component type has a discriminants, create a partial aggregate for it
18510 by copying the discriminants of the component subtype.
18511 Reject attempt to initialize a discriminant with a box.
18512 (Array_Aggr_Subtype): Indicate to the backend that the size of arrays
18513 associated with dispatch tables is known at compile time.
18514 (Get_Value): If an association in a record aggregate has a box
18515 association, and the corresponding record component has a default
18516 expression, always copy the default expression, even when the
18517 association has a single choice, in order to create a proper
18518 association for the expanded aggregate.
18519
185202007-06-06 Ed Schonberg <schonberg@adacore.com>
18521 Robert Dewar <dewar@adacore.com>
18522
18523 * par-ch12.adb (P_Generic_Associations): The source position of an
18524 Others association is that of the others keyword, not that of the token
18525 that follows the box.
18526 (P_Formal_Type_Definition): Handle formal access types that carry a
18527 not null indicator.
18528
18529 * par-ch3.adb (P_Known_Discriminant_Part_Opt, P_Component_Items): If
18530 multiple identifier are present, save Scan_State before scanning the
18531 colon, to ensure that separate trees are constructed for each
18532 declaration.
18533 (P_Identifier_Declarations): For object declaration, set new flag
18534 Has_Init_Expression if initialization expression present.
18535 (P_Null_Exclusion): Properly diagnose NOT NULL coming before NULL
18536 Improve NOT NULL error messages
18537
185382007-06-06 Robert Dewar <dewar@adacore.com>
18539
18540 * par-ch4.adb: (P_Name): Recover from literal used as name
18541
185422007-06-06 Vincent Celier <celier@adacore.com>
18543
18544 * prep.ads, prep.adb (Expression): New Boolean parameter Complemented,
18545 defaulted to False.
18546 In the "not" case, recursive call with Complemented set to True.
18547 Do not allow "or" or "and" operators when Complemented is True.
18548
185492007-06-06 Vincent Celier <celier@adacore.com>
18550
18551 * prj.adb (Project_Empty): Gives default value for new component
18552 Libgnarl_Needed
18553
18554 * prj-attr.ads: Minor reformatting
18555
18556 * prj-env.ads, prj-env.adb (For_All_Object_Dirs): Register object
18557 directory using the untouched casing.
18558 (For_All_Source_Dirs): Idem.
18559
18560 * prj-ext.ads, prj-ext.adb (Search_Directories): New table to record
18561 directories specified with switches -aP.
18562 (Add_Search_Project_Directory): New procedure
18563 (Initialize_Project_Path): Put the directories in table
18564 Search_Directories in the project search path.
18565 (Initialize_Project_Path): For VMS, transform into canonical form the
18566 project path.
18567
185682007-06-06 Arnaud Charlet <charlet@adacore.com>
18569
18570 * restrict.ads, restrict.adb (No_Exception_Handlers_Set): Only return
18571 true if configurable run-time or No_Run_Time is set.
18572 (Set_Restriction): Avoid setting restriction No_Elaboration_Code when
18573 processing an unit which is not the one being compiled.
18574
185752007-06-06 Arnaud Charlet <charlet@adacore.com>
18576
18577 * s-arit64.adb: Replace System.Pure_Exceptions by Ada 05 syntax.
18578 Replace UC by Ada.UC
18579
18580 * s-bitops.adb: Get rid of System.Pure_Exceptions.
18581 Replace UC by Ada.UC
18582
185832007-06-06 Robert Dewar <dewar@adacore.com>
18584
18585 * scng.adb: (Check_End_Of_Line): Deal with very long lines
18586
185872007-06-06 Robert Dewar <dewar@adacore.com>
18588
18589 * sem.ads, sem.adb (Semantics): Save and restore Global_Discard_Names
18590 Remove no longer used nodes.
18591
185922007-06-06 Javier Miranda <miranda@adacore.com>
18593 Ed Schonberg <schonberg@adacore.com>
18594 Robert Dewar <dewar@adacore.com>
18595
18596 * sem_ch10.ads, sem_ch10.adb (Analyze_Compilation_Unit): Disable check
18597 on obsolescent withed unit in case of limited-withed units.
18598 (Analyze_Compilation_Unit): Add guard to code that removed an
18599 instantiation from visibility, to prevent compiler aborts when
18600 instantiation is abandoned early on.
18601 (Install_Limited_Withed_Unit): Recognize a limited-with clause on the
18602 current unit being analyzed, and Distinguish local incomplete types
18603 from limited views of types declared elsewhere.
18604 (Build_Limited_Views.Decorate_Tagged_Type): Add documentation
18605 to state that the class-wide entity is shared by the limited-view
18606 and the full-view.
18607 (Analyze_With_Clause): Improve placement of flag for case of
18608 unimplemented unit.
18609 (Analyze_With_Clause): Recognize use of GNAT.Exception_Traces in a
18610 manner similar to GNAT.Current_Exception. This is a violation of
18611 restriction (No_Exception_Propagation), and also inhibits the
18612 optimization of local raise to goto.
18613 (Analyze_With_Clause): Check for Most_Recent_Exception being with'ed,
18614 and if so set Most_Recent_Exception_Used flag in Opt, and also check
18615 for violation of restriction No_Exception_Propagation.
18616
186172007-06-06 Javier Miranda <miranda@adacore.com>
18618 Hristian Kirtchev <kirtchev@adacore.com>
18619 Gary Dismukes <dismukes@adacore.com>
18620
18621 * sem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the
18622 use of entity Exception_Occurrence if it is not available in the
18623 target run-time.
18624
18625 * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): When
18626 concurrent types are declared within an Ada 2005 generic, build their
18627 corresponding record types since they are needed for overriding-related
18628 semantic checks.
18629 (Analyze_Protected_Type): Rearrange and simplify code for testing that a
18630 protected type does not implement a task interface or a nonlimited
18631 interface.
18632 (Analyze_Task_Type): Rearrange and simplify code for testing that a task
18633 type does not implement a protected interface or a nonlimited interface.
18634 (Single_Task_Declaration, Single_Protected_Declaration): use original
18635 entity for variable declaration, to ensure that debugging information
18636 is correcty generated.
18637 (Analyze_Protected_Type, Analyze_Task_Type): Do not call expander
18638 routines if the expander is not active.
18639 (Analyze_Task_Body): Mark all handlers to stop optimization of local
18640 raise, since special things happen for task exception handlers.
18641
18642 * sem_disp.adb (Check_Controlling_Formals): Add type retrieval for
18643 concurrent types declared within a generic.
18644 (Check_Dispatching_Operation): Do not emit warning about late interface
18645 operations in the context of an instance.
18646 (Check_Dispatching_Call): Remove restriction against calling a
18647 dispatching operation with a limited controlling result.
18648 (Check_Dispatching_Operation): Replace calls to Fill_DT_Entry and
18649 Register_Interface_DT_Entry by calls to Register_Primitive.
18650 (Check_Dispatching_Formals): Handle properly a function with a
18651 controlling access result.
18652
186532007-06-06 Robert Dewar <dewar@adacore.com>
18654 Arnaud Charlet <charlet@adacore.com>
18655
18656 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Stream_Size):
18657 Check for restriction No_Implementation_Attributes if in Ada 95 mode.
18658 (Storage_Pool): Do not crash when RE_Stack_Bounded_Pool is not available
18659 (Analyze_Attribute_Definition_Clause [External_Tag]): Generate error
18660 message when using a VM, since this attribute is not supported.
18661 (Analyze_Record_Representation_Clause): Give unrepped component warnings
18662
18663 * usage.adb: Add new warning for renaming of function return objects
18664 Indicate that -gnatwp and -gnatwP concern front-end inlining
18665 Add line for -gnatyg
18666 Add usage information for -gnatw.c/C
18667
186682007-06-06 Robert Dewar <dewar@adacore.com>
18669 Ed Schonberg <schonberg@adacore.com>
18670
18671 * sem_ch5.adb
18672 (Find_Var): Do not consider function call in test for infinite loop
18673 warning if warnings set off for function entity.
18674 (One_Bound): Do not create a temporary for a loop bound if it is a
18675 character literal.
18676 (Analyze_Assignment): Traverse the right hand side of an assignment and
18677 mark all allocators as static coextensions.
18678 (Analyze_Assignment): Exempt assignments involving a dispatching call
18679 to a function with a controlling access result from the check requiring
18680 the target to be class-wide.
18681
186822007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
18683 Ed Schonberg <schonberg@adacore.com>
18684 Robert Dewar <dewar@adacore.com>
18685 Javier Miranda <miranda@adacore.com>
18686
18687 * sem_res.ads, sem_res.adb (Process_Allocator): Do not propagate the
18688 chain of coextensions when an allocator serves as the root of such a
18689 chain.
18690 (Propagate_Coextensions): Remove the test for the root being an
18691 allocator.
18692 (Resolve_Allocator): Add condition to ensure that all future decoration
18693 occurs on an allocator node. Add processing and cleanup for static
18694 coextensions.
18695 (Valid_Conversion): If the operand type is the limited view of a
18696 class-wide type, use the non-limited view is available to determine
18697 legality of operation.
18698 (Ambiguous_Character): move to spec, for use elsewhere.
18699 (Ambiguous_Character): Handle Wide_Wide_Character in Ada 2005 mode
18700 (Resolve_Range): Diagnose properly an ambiguous range whose bounds are
18701 character literals.
18702 (Resolve_Arithmetic_Op): Call Activate_Division_Check instead of setting
18703 Do_Division_Check flag explicitly.
18704 (Resolve_Actuals): If the actual is of a synchronized type, and the
18705 formal is of the corresponding record type, this is a call to a
18706 primitive operation of the type, that is declared outside of the type;
18707 the actual must be unchecked-converted to the type of the actual
18708 (Resolve_Call): Kill all current values for any subprogram call if
18709 flag Suppress_Value_Tracking_On_Call is set.
18710 (Resolve_Type_Conversion): Generate error message the the operand
18711 or target of interface conversions come from a limited view.
18712 (Check_Infinite_Recursion): Ignore generated calls
18713 (Check_Allocator_Discrim_Accessibility): New procedure for checking
18714 that an expression that constrains an access discriminant in an
18715 allocator does not denote an object with a deeper level than the
18716 allocator's access type.
18717 (Resolve_Allocator): In the case of an allocator initialized by an
18718 aggregate of a discriminated type, check that associations for any
18719 access discriminants satisfy accessibility requirements by calling
18720 Check_Allocator_Discrim_Accessibility.
18721 (Resolve_Equality_Op): Handle comparisons of anonymous access to
18722 subprogram types in the same fashion as other anonymous access types.
18723 (Resolve_Concatenation_Arg): Remove initial character '\' in an error
18724 message that is not a continuation message.
18725 (Resolve_Type_Conversion): Add missing support for conversion to
18726 interface type.
18727 (Resolve_Actuals): Introduce a transient scope around the call if an
18728 actual is a call to a function returning a limited type, because the
18729 resulting value must be finalized after the call.
18730 (Resolve_Actuals): If the call was given in prefix notations, check
18731 whether an implicit 'Access reference or implicit dereference must be
18732 added to make the actual conform to the controlling formal.
18733
187342007-06-06 Robert Dewar <dewar@adacore.com>
18735 Javier Miranda <miranda@adacore.com>
18736
18737 * sem_ch7.adb (Check_Anonymous_Access_Types): Fix error for null body
18738 (Derive_Inherited_Private_Subprogram): Code cleanup. In case of explicit
18739 overriding of an inherited private subprogram now there is no need to
18740 inherit its dispatching slot and reduce the size of the dispatch table.
18741 Set_All_DT_Position now ensures that the same slot is now assigned to
18742 both entities. This is required to statically build the dispatch table.
18743 (Declare_Inherited_Private_Subprograms): Rewriten to avoid the need
18744 of calling Set_All_DT_Position to re-evaluate the position of the
18745 entries in the dispatch table. Such reevaluation is not desired if
18746 the tagged type is already frozen.
18747
187482007-06-06 Hristian Kirtchev <kirtchev@adacore.com>
18749 Gary Dismukes <dismukes@adacore.com>
18750 Robert Dewar <dewar@adacore.com>
18751 Javier Miranda <miranda@adacore.com>
18752
18753 * sem_util.ads, sem_util.adb (May_Be_Lvalue): A prefix of an attribute
18754 reference acts as an lvalue when the attribute name modifies the prefix
18755 (Is_Coextension_Root): New routine.
18756 (Mark_Static_Coextensions): New routine.
18757 (Type_Access_Level): Revise code for checking the level of the
18758 anonymous access type of a return object.
18759 (Safe_To_Capture_Value): Not safe to capture if Address_Taken
18760 (Matches_Prefixed_View_Profile): Remove the no longer necessary
18761 retrieval of the corresponding controlling record type.
18762 (Find_Overridden_Synchronized_Primitive): Code cleanup. Add handling of
18763 concurrent types declared within a generic as well as class wide types.
18764 Emit a mode incompatibility error whenever a protected entry or routine
18765 override an interface routine whose first parameter is not of mode
18766 "out", "in out" or access to variable.
18767 (Overrides_Synchronized_Primitive): Rename to
18768 Find_Overridden_Synchronized_Primitive.
18769 (Collect_Interface_Components): New subprogram that collects all the
18770 components of a tagged record containing tags of secondary dispatch
18771 tables.
18772 (Add_Global_Declaration): New procedure
18773 (Abstract_Interface_List): Handle properly the case of a subtype of a
18774 private extension.
18775 (Type_Access_Level): In the case of a type whose parent scope is a
18776 return statement, call Type_Access_Level recursively on the enclosing
18777 function's result type to determine the level of the return object's
18778 type.
18779 (Build_Elaboration_Entity): Build name of elaboration entity from the
18780 scope chain of the entity, rather than the unit name of the file name.
18781 (Check_Nested_Access): New procedure.
18782 (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
18783 (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
18784 (Get_Renamed_Entity): Utility routine for performing common operation
18785 of chasing the Renamed_Entity field of an entity.
18786
187872007-06-06 Robert Dewar <dewar@adacore.com>
18788
18789 * sem_elab.adb (Check_A_Call): Specialize elaboration warnings on
18790 elaboration model
18791 (Check_A_Call): Add check for entry call which was causing blowup
18792
187932007-06-06 Olivier Hainque <hainque@adacore.com>
18794
18795 * raise-gcc.c (__gnat_eh_personality): Tweak the signature and add
18796 special code on ia64-vms to handle major incompatibilities between the
18797 GCC unwinding ABI and the VMS Condition Handling Facility, both calling
18798 this routine with a very different set of arguments and expectations on
18799 the return value.
18800
188012007-06-06 Thomas Quinot <quinot@adacore.com>
18802
18803 * socket.c (__gnat_close_signalling_fd): New function.
18804 (__gnat_safe_gethostbyaddr, __gnat_safe_gethostbyname,
18805 __gnat_safe_getservbyname, __gnat_safe_getservbyport):
18806 New supporting functions for task safe Netdb operations.
18807
188082007-06-06 Thomas Quinot <quinot@adacore.com>
18809 Olivier Hainque <hainque@adacore.com>
18810
18811 * a-except-2005.ads, a-except-2005.adb
18812 (Raise_From_Controlled_Operation): New procedure in
18813 (private part of) Ada.Exceptions (standard runtime version). Used to
18814 provide informational exception message when Program_Error is raised as
18815 a result of an Adjust or Finalize operation propagating an exception.
18816 (Rmsg_28): Fix description for E.4(18) check.
18817 (Raise_Current_Excep): Call Debug_Raise_Exception just before
18818 propagation starts, to let debuggers know about the event in a reliable
18819 fashion.
18820 Take the address of E and dereference to make sure it is homed on stack
18821 and prevent the stores from being deleted, necessary for proper
18822 debugger behavior on "break exception" hits.
18823 (Local_Raise): Moved to System.Exceptions
18824
18825 * s-finimp.adb (Raise_From_Finalize): Code to construct an appropriate
18826 exception message from the current occurrence and raise Program_Error
18827 has been moved to Ada.Exceptions.Raise_From_Controlled_Operation.
18828
188292007-06-06 Jose Ruiz <ruiz@adacore.com>
18830 Arnaud Charlet <charlet@adacore.com>
18831
18832 * s-taprob.adb (Unlock): Change the ceiling priority of the underlying
18833 lock, if needed.
18834
18835 * s-taprop.ads (Set_Ceiling): Add this procedure to change the ceiling
18836 priority associated to a lock.
18837
18838 * s-tpoben.adb ([Vulnerable_]Complete_Task, Lock_Entries): Relax
18839 assertion to take into account case of no abort restriction.
18840 (Initialize_Protection_Entries): Add initialization for the field
18841 New_Ceiling associated to the protected object.
18842 (Unlock_Entries): Change the ceiling priority of the underlying lock, if
18843 needed.
18844
18845 * s-solita.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
18846 since this function needs to be set consistently with Update_Exception.
18847
18848 * s-tarest.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
18849 since this function needs to be set consistently with Update_Exception.
18850
18851 * s-taskin.ads: Update comments on
18852 Interrupt_Server_Blocked_On_Event_Flag.
18853 (Unbind_Handler): Fix handling of server_task wakeup
18854 (Server_Task): Set self's state so that Unbind_Handler can take
18855 appropriate actions.
18856 (Common_ATCB): Now use a constant from System.Parameters to determine
18857 the max size of the Task_Image field.
18858
18859 * s-tassta.adb (Task_Wrapper): Now pass the overflow guard to the
18860 Initialize_Analyzer function.
18861 ([Vulnerable_]Complete_Task, Lock_Entries): Relax assertion to
18862 take into account case of no abort restriction.
18863 ([Vulnerable_]Complete_Master): Modify assertion.
18864
18865 * s-tataat.adb (Finalize): Use the nestable versions of
18866 Defer/Undefer_Abort.
18867
18868 * s-tpobop.adb (Protected_Entry_Call): Relax assertion.
18869
18870 * s-tpobop.ads: Update comments.
18871
18872 * s-tposen.adb (Protected_Single_Entry_Call): Call Lock_Entry instead
18873 of locking the object manually, to avoid inconsistencies between
18874 Lock/Unlock_Entry assertions.
18875
18876 * s-interr.ads, s-interr.adb (Server_Task): Fix race condition when
18877 terminating
18878 application and System.Parameters.No_Abort is True.
18879 Update comments on Interrupt_Server_Blocked_On_Event_Flag.
18880 (Unbind_Handler): Fix handling of server_task wakeup
18881 (Server_Task): Set self's state so that Unbind_Handler can take
18882 appropriate actions.
18883
188842007-06-06 Thomas Quinot <quinot@adacore.com>
18885
18886 * s-finroo.ads, s-finroo.adb (Read, Write): Use null procedure
18887 declarations instead of an explicit null body, for conciseness.
18888
188892007-06-06 Robert Dewar <dewar@adacore.com>
18890
18891 * sem_eval.adb (Eval_Relational_Op): nothing to do if an operand is an
18892 illegal aggregate and the type is still Any_Composite.
18893 (Subtypes_Statically_Match): Fix problem of empty discriminant list
18894
188952007-06-06 Ed Schonberg <schonberg@adacore.com>
18896
18897 * sem_smem.adb (Check_Shared_Var): Check explicitly for as task object,
18898 to prevent subsequent expansion.
18899
189002007-06-06 Robert Dewar <dewar@adacore.com>
18901
18902 * sinput-l.ads, sinput-l.adb: implement a new pragma No_Body
18903
189042007-06-06 Ed Schonberg <schonberg@adacore.com>
18905 Robert Dewar <dewar@adacore.com>
18906
18907 * sprint.ads, sprint.adb (Sprint_Node_Actual): Output aggregate for
18908 exceptions.
18909 (Write_Itype): Handle case of string literal subtype, which
18910 comes up in this context.
18911 (Update_Itype): when debugging expanded code, update sloc of itypes
18912 associated with defining_identifiers and ranges, for gdb use.
18913 (Sprint_Node_Actual): Add static keyword to object or exception
18914 declaration output if Is_Statically_Allocated is True.
18915 (Sprint_End_Label): Set entity of end marker for a subprogram, package,
18916 or task body, so that the tree carries the proper Sloc information for
18917 debugging use.
18918 (Write_Indent): In Dump_Source_Text mode, ignore implicit label nodes
18919
189202007-06-06 Arnaud Charlet <charlet@adacore.com>
18921
18922 * s-secsta.adb (Chunk): Ensure this object has a static size known at
18923 compile time, to avoid dynamic memory allocation
18924 (Elaboration code): Only use dynamic memory allocation when needed.
18925
189262007-06-06 Quentin Ochem <ochem@adacore.com>
18927
18928 * s-stausa.ads, s-stausa.adb (Initialize_Analyzer): Added parameter
18929 "Overflow_Guard".
18930 (Stack_Analyzer): Added field "Overflow_Guard"
18931 (Task_Result): Added field "Overflow_Guard".
18932 (Index_Str): New constant.
18933 (Task_Name_Str): New constant.
18934 (Actual_Size_Str): New constant.
18935 (Pattern_Array_Element_Size): New constant.
18936 (Get_Usage_Range): New subprogram.
18937 (Output_Result): Added parameter Max_Size_Len and Max_Actual_Use_Len.
18938 Now align the output.
18939 Added comments.
18940 (Initialize): Added value for Overflow_Guard.
18941 (Fill_Stack): Use constant Pattern_Array_Elem_Size when relevant.
18942 Update the value of the overflow guard according to the actual
18943 beginning of the pattern array.
18944 (Initialize_Analyzer): Added parameter Overflow_Guard.
18945 Take this parameter into accound when computing the max size.
18946 (Compute_Result): Use constant Pattern_Array_Elem_Size when relevant.
18947 (Report_Result): Removed extra useless procedure.
18948 Updated call to Output_Result.
18949 Moved full computation of the Task_Result here.
18950
189512007-06-06 Thomas Quinot <quinot@adacore.com>
18952
18953 * g-soccon-darwin.ads, gen-soccon.c: Add new constant
18954 Thread_Blocking_IO, always True by default, set False on a per-runtime
18955 basis.
18956 Add Windows-specific constants
18957 Add new constant Need_Netdb_Buffer.
18958 Add new macros to indicate whether getXXXbyYYY is thread safe and, if
18959 not, whether to use getXXXbyYYY_r.
18960
18961 * gsocket.h: Add new constant Need_Netdb_Buffer.
18962 Add new macros to indicate whether getXXXbyYYY is thread safe and, if
18963 not, whether to use getXXXbyYYY_r.
18964
189652007-06-06 Eric Botcazou <ebotcazou@adacore.com>
18966
18967 * s-stoele.ads, s-stoele.adb: Move inline_always subprograms earlier
18968 than their first call.
18969 Add type Dummy_Communication_Block used in the generation of the pre-
18970 defined dispatching primitive _disp_asynchronous_select.
18971 (Storage_Element): Put Pragma Universal_Aliasing on it.
18972
189732007-06-06 Vincent Celier <celier@adacore.com>
18974
18975 * a-dirval-vms.adb, a-dirval.ads, a-dirval.adb (Windows): New Boolean
18976 function.
18977
18978 * a-dirval-mingw.adb (Is_Valid_Path_Name): Forbid a path with a drive
18979 letter if it is not followed by a '/' or a '\'.
18980 (Windows): New Boolean function
18981
18982 * a-direct.ads, a-direct.adb: Remove unnecessary and misplaced pragma
18983 Ada 2005.
18984 (Containing_Directory): On Windows, keep at least one '/' or '\' after a
18985 drive letter.
18986 (Containing_Directory): Raise Use_Error when the directory is a root
18987 directory.
18988 (Extension): When returning the result, use a conversion to Result_Type,
18989 not a qualification.
18990
189912007-06-06 Robert Dewar <dewar@adacore.com>
18992
18993 * stylesw.ads, stylesw.adb (Set_GNAT_Style_Check): New procedure
18994 (Set_Style_Check_Options): Recognize new -gnatyg style switch
18995
18996 * switch-c.adb (Scan_Front_End_Switches, case -gnatg): Set
18997 Warn_On_Non_Local_Exception to False, to turn off warnings for
18998 No_Exception_Propagation in ZFP runtime.
18999 (Scan_Front_End_Switches): Fix handling of --RTS switch for non GCC
19000 back-ends.
19001 (Scan_Front_End_Switches): For 'g', call Set_GNAT_Style_Checks
19002
190032007-06-06 Vincent Celier <celier@adacore.com>
19004
19005 * switch-b.adb (Scan_Binder_Switches): Add processing for new
19006 switches -R and -Z
19007
19008 * switch-m.adb (Normalize_Compiler_Switches): Do not record switch -E
19009 (Scan_Make_Switches): Recognize new switch -aP
19010
190112007-06-06 Matthew Gingell <gingell@adacore.com>
19012 Jose Ruiz <ruiz@adacore.com>
19013
19014 * s-stchop-vxworks.adb (Set_Stack_Info): Instead of trying to map the
19015 VxWorks task descriptor in the Ada run time, call a C subprogram
19016 (__gnat_get_stack_info) that extracts the required information.
19017
19018 * sysdep.c: Back out temporary lynxos workaround.
19019 (__gnat_get_stack_info): Add this procedure that passes to the Ada run
19020 time the stack information associated to the currently executing task.
19021 Only VxWorks systems require this function.
19022
190232007-06-06 Eric Botcazou <ebotcazou@adacore.com>
19024
19025 * tracebak.c (FRAME_OFFSET): Add parameter FP. On SPARC/Solaris, do not
19026 add the stack bias if the offset is computed from a frame address.
19027 (__gnat_backtrace): Adjust for above change.
19028
190292007-06-06 Thomas Quinot <quinot@adacore.com>
19030
19031 * types.h, types.ads: Rename PE_Illegal_CW_Actual_E_4_18 to
19032 PE_Non_Transportable_Actual.
19033 (By_Descriptor_Last): New constant.
19034 (By_Copy_Return): Likewise.
19035
190362007-06-06 Vincent Celier <celier@adacore.com>
19037
19038 * vms_conv.adb (Process_Argument): Keep arguments starting with '+' as
19039 is.
19040
19041 * vms_data.ads: Add entries for -gnatw.x and -gnatw.X
19042 /STYLE_CHECKS=GNAT: Change meaning to -gnatyg
19043 /GNAT_INTERNAL: New compiler qualifier corresponding to -gnatg
19044 Add missing comment for /OPTIMIZE=SPACE
19045 Add entry for OPTIMIZE=SPACE
19046 Add new qualifier /ALL_PROJECTS (= -U) for GNAT LIST
19047 Add documentation for new qualifiers corresponding to -gnatw.c/.C
19048
190492007-06-06 Vincent Celier <celier@adacore.com>
19050 Robert Dewar <dewar@adacore.com>
19051
19052 * xgnatugn.adb: Allow dots to be used in ug_words (-gnatw.c and
19053 -gnatw.C)
19054
19055 * gnat_ugn.texi: Fix ordering of -g switch for gnatmake
19056 Document gnatbind switch -a
19057 (case Constructions): Document that variables declarations are allowed
19058 for previously declared variables.
19059 Fix external lib project example
19060 -gnatg: Indicate new VMS qualifier /GNAT_INTERNAL
19061 Indicate that "#if not X or Y then" is not allowed in input files to
19062 gnatprep.
19063 Document gnatw.x and gnatw.X warning flags
19064 Mention -Winline switch to activate warnings when back-end inlining is
19065 ineffective.
19066 Add gnatcheck rule descriptions
19067 Describe how to use the GNAT driver to call a tool on a closure.
19068 Describe how to run project-wide checks or metrics.
19069 Document gnatbind's -R option
19070 Updated to account for Ada 2005 support
19071
19072 * gnat_rm.texi (Case Construction): Allow variable declarations for
19073 previously declared variables.
19074 (Representation Clauses and Pragmas): Lift restriction on alignment
19075 clauses for record types.
19076 (Ada.Characters.*): Fix typo in reference to A.3.3(27).
19077 Document No_Exception_Propagation restriction
19078 Document No_Body pragma
19079 Updated to account for Ada 2005 support; corrected some typos
19080 (Implementation Defined Pragmas): Document pragma Universal_Aliasing.
19081
19082 * gnat-style.texi: Make it clear that we never use mode IN for
19083 procedures or functions
19084
19085 * ug_words: Add entries for -gnatw.x and -gnatw.X
19086 Add entries for -gnatw.c/.C
19087
190882007-06-06 Pascal Obry <obry@adacore.com>
19089 Vincent Celier <celier@adacore.com>
19090
19091 * makegpr.adb (Add_Archive_Path): Use untouched object and library
19092 dirs and library name.
19093 (Build_Global_Archive): Idem. Minor code clean-up. Removes duplicate
19094 comments.
19095 (Build_Library): Idem.
19096 (Compile_Individual_Sources): Idem.
19097 (Compile_Link_With_Gnatmake): Idem.
19098 (Compile_Sources): Idem.
19099 (Get_Imported_Directories): Idem.
19100 (Link_Executables): Idem. Same change for the executable dir.
19101 (Check_Compilation_Needed): C_Source_Path new variable containing
19102 the canonical form of Source_Path to check against the source names
19103 in the dependency file.
19104 (Build_Global_Archive, Compile_Individual_Sources, Compile_Sources): In
19105 verbose mode, display the name of the object directory we're changing
19106 to.
19107 (Saved_Switches): New name of table X_Switches
19108 (Scan_Arg): Recognize new switch -aP and save in table Saved_Switches
19109 (Usage): New line for switch -aP
19110 (Get_Imported_Directories.Add): Make sure that Add_Arg is True before
19111 testing if a directory should be added to the search path.
19112
191132007-06-06 Javier Miranda <miranda@adacore.com>
19114
9e81dbc7 19115 * a-cidlli.ads, a-cdlili.ads, a-cohama.ads, a-coinve.ads,
ec11296f
AC
19116 a-convec.ads (Empty_Vector, Empty_Map, Empty_List): Move this object
19117 declaration after freezing point of all its associated tagged types;
19118 otherwise such types are frozen too early.
19119
191202007-06-06 Robert Dewar <dewar@adacore.com>
19121
19122 * a-reatim.adb: Documentation addition
19123
19124 * g-cgideb.adb: Minor code reorganization
19125
19126 * tree_io.adb, treepr.adb, cstand.adb, krunch.adb, par.adb,
19127 mdll-utl.adb, par-ch5.adb, par-tchk.adb, s-exctab.ads, s-memory.ads,
19128 s-osprim.ads, s-restri.ads, s-soflin.ads: Minor reformatting.
19129
19130 * debug.ads, debug.adb (Get_Debug_Flag_K): Remove unused obsolete
19131 function. Change name New_Scope to Push_Scope
19132 (Get_Debug_Flag_K): Remove unused obsolete function.
19133
19134 * exp_ch8.adb, inline.adb, sem_ch8.ads: Change name New_Scope to
19135 Push_Scope.
19136
19137 * makeusg.adb: Update Copyright notice
19138 Add line for switch -aP
19139
19140 * makeusg.adb: Fix wording of some usage messages
19141
19142 * s-assert.adb (Raise_Assert_Failure): Add call to
19143 Debug_Raise_Assert_Failure.
19144
19145 * s-unstyp.ads (type Packed_Bytes2): Change alignment to use 'Min
19146 (2, Standard'Alignment) for compatibility with AAMP (where alignment
19147 is restricted to 1).
19148
19149 * s-wchjis.adb: Remove use of System.Pure_Exceptions
19150
19151 * tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): Set the
19152 node location to No_Location when we're not debugging the expanded
19153 code.
19154
dbc30a96
AO
191552007-05-22 Alexandre Oliva <aoliva@redhat.com>
19156
19157 * misc.c (enumerate_modes): Consider log2_b to always be one.
19158
719bb4e3 191592007-05-14 Rafael Ávila de Espíndola <espindola@google.com>
ca5ba2a3
RAE
19160
19161 * misc.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
19162
d7598e11
PO
191632007-05-02 Pascal Obry <obry@adacore.com>
19164
19165 * gnatchop.adb (Write_Source_Reference_Pragma): Change implementation
19166 to use Stream_IO.File_Type. This is needed to make use of the UTF-8
19167 encoding support of Stream_IO.
19168 (Write_Unit): Idem.
19169
19170 * adaint.h, adaint.c (__gnat_os_filename): New routine. Returns the
19171 filename and corresponding encoding to match the OS requirement.
19172 (__gnat_file_exists): Do not call __gnat_stat() on Windows as this
19173 routine will fail on specific devices like CON: AUX: ...
19174
19175 PR ada/29856: Add missing braces
19176
1be52f61
AP
191772007-04-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
19178
19179 PR ada/31660
19180 * ada-tree.h (lang_tree_node): Fix typo in chain_next.
19181
395a40e0
JH
191822007-04-21 Jan Hubicka <jh@suse.cz>
19183
19184 * misc.c (gnat_expand_body): Don't call target for destructors,
19185 avoid redundant check on syntax errors.
19186
3d95caa4
AP
191872007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
19188
19189 * ada-tree.h (lang_tree_node): Use GENERIC_NEXT
19190 instead of checking GIMPLE_STMT_P in chain_next.
19191
ea30850a
AK
191922007-04-17 Andreas Krebbel <krebbel1@de.ibm.com>
19193
19194 PR ada/31576
19195 * system-linux-alpha.ads: Disable constant condition warning for the
19196 Default_Bit_Order variable.
19197 * system-linux-s390.ads: Likewise.
19198 * system-linux-s390x.ads: Likewise.
19199 * system-linux-sparc.ads: Likewise.
19200
4b437c6b
AC
192012007-04-06 Javier Miranda <miranda@adacore.com>
19202 Matt Heaney <heaney@adacore.com>
19203 Robert Dewar <dewar@adacore.com>
19204
19205 a-coprnu.ads, a-cohata.ads, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
19206 a-cgarso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads, a-chtgke.ads,
19207 a-chtgke.ads, a-coprnu.ads, a-contai.ads, a-chtgke.ads, a-chtgke.adb,
19208 a-stwiha.ads, a-strhas.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
19209 a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads, a-stzfix.ads,
19210 a-stzhas.ads, a-szuzha.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoio.ads,
19211 a-ztinio.ads, a-zttest.ads, a-zzunio.ads, a-astaco.ads, a-charac.ads,
19212 a-chlat1.ads, ada.ads, a-dynpri.ads, a-flteio.ads, a-fwteio.ads,
19213 a-inteio.ads, a-intnam.ads, a-ioexce.ads, a-iwteio.ads, a-lfteio.ads,
19214 a-lfwtio.ads, a-liteio.ads, a-liwtio.ads, a-llftio.ads, a-llfwti.ads,
19215 a-llitio.ads, a-lliwti.ads, a-ncelfu.ads, a-ngcefu.ads, a-ngelfu.ads,
19216 a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads, a-nllcty.ads,
19217 a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads, a-nucoty.ads,
19218 a-nuelfu.ads, a-numeri.ads, a-sfteio.ads, a-sfwtio.ads, a-siteio.ads,
19219 a-siwtio.ads, a-ssitio.ads, a-ssiwti.ads, a-storio.ads, a-strfix.ads,
19220 a-string.ads, a-stwifi.ads, a-titest.ads, a-unccon.ads, a-uncdea.ads,
19221 a-wtcoio.ads, a-wtinio.ads, a-wttest.ads, calendar.ads, directio.ads,
19222 i-c.ads, ioexcept.ads, machcode.ads, sequenio.ads, text_io.ads,
19223 unchconv.ads, unchdeal.ads, a-widcha.ads, a-zchara.ads, a-stboha.ads,
19224 a-stfiha.ads, a-coteio.ads, a-envvar.ads, a-lcteio.ads, a-llctio.ads,
19225 a-scteio.ads, a-swbwha.ads, a-swfwha.ads, a-szbzha.ads, a-szfzha.ads,
19226 a-tiboio.ads, a-wwboio.ads, a-zzboio.ads, a-dispat.ads, a-tgdico.ads,
19227 expander.adb, g-socket.ads, par-labl.adb, sinput-c.adb, s-tarest.ads,
19228 s-stchop.ads, g-expect-vms.adb, s-taprop-lynxos.adb,
19229 s-taprop-tru64.adb, s-taprop-irix.adb,
19230 s-taprop-hpux-dce.adb, s-traceb-hpux.adb,
19231 s-taprop-linux.adb, s-taprop-dummy.adb, s-osprim-unix.adb,
19232 s-osprim-solaris.adb, s-taprop-solaris.adb, s-taprop-vms.adb,
9e81dbc7
AS
19233 s-osprim-mingw.adb, s-taprop-mingw.adb, s-osprim-posix.adb,
19234 s-taprop-posix.adb, a-exexpr-gcc.adb, a-ststio.adb, a-ststio.ads,
19235 a-textio.adb, a-textio.ads, a-tideau.adb, a-tideau.ads, a-witeio.adb,
19236 a-witeio.ads, a-wtdeau.adb, a-wtdeau.ads, g-calend.adb, g-calend.ads,
19237 g-dirope.adb, g-expect.ads, gnatchop.adb, g-spipat.adb, g-spipat.ads,
19238 s-direio.adb, s-direio.ads, s-fatgen.adb, s-fatgen.ads, s-parint.adb,
19239 s-sequio.adb, s-sequio.ads, s-taprop.ads, s-valdec.adb, s-valdec.ads,
19240 s-valint.adb, s-valint.ads, s-vallld.adb, s-vallld.ads, s-vallli.adb,
19241 s-vallli.ads, s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
19242 s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads, xref_lib.adb,
19243 s-stchop.adb, i-vxwork-x86.ads, a-crbtgo.ads, a-crbtgo.adb,
19244 a-coorse.ads, a-coorse.adb, a-cohama.ads, a-cohama.adb, a-ciorse.ads,
19245 a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-chtgop.ads, a-chtgop.ads,
19246 a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cihase.ads, a-cohase.adb,
4b437c6b 19247 a-cohase.ads, a-swuwha.ads, a-ciormu.ads, a-coormu.ads, a-rbtgso.ads,
9e81dbc7 19248 a-stunha.ads, a-ciorma.adb, a-coorma.adb, a-ztdeau.adb, a-ztdeau.ads,
4b437c6b
AC
19249 a-ztexio.adb, a-ztexio.ads: Addition of null-exclusion to anonymous
19250 access types.
19251 Update documentation.
19252 Minor rewording.
19253
192542007-04-06 Robert Dewar <dewar@adacore.com>
19255
19256 * system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads,
19257 system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
19258 system-vxworks-sparcv9.ads, system-solaris-x86.ads, system-irix-o32.ads,
19259 system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
19260 system-linux-x86.ads, system-vxworks-mips.ads, system-interix.ads,
19261 system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
19262 system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
19263 system-vxworks-alpha.ads, system-vms_64.ads, system-darwin-ppc.ads,
19264 system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
9e81dbc7 19265 system-hpux-ia64.ads, targparm.adb,
4b437c6b
AC
19266 targparm.ads (Functions_Return_By_DSP_On_Target): Removed
19267
19268 * system.ads: Move Functions_Return_By_DSP to obsolete section,
19269 kept for bootstrap purposes only.
19270
192712007-04-06 Arnaud Charlet <charlet@adacore.com>
19272
19273 * s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
19274 s-osinte-freebsd.ads, s-osinte-aix.ads, s-osinte-darwin.ads,
19275 s-taprop-posix.adb (Create_Task): Fix handling of Task_Info.
19276 (PTHREAD_SCOPE_PROCESS, PTHREAD_SCOPE_SYSTEM): New constants.
19277
192782007-04-06 Robert Dewar <dewar@adacore.com>
19279
19280 * a-except.adb, a-except.ads, a-except-2005.ads, a-except-2005.adb
19281 (Local_Raise): New dummy procedure called when a raise is converted
19282 to a local goto. Used for debugger to detect that the exception
19283 is raised.
19284
19285 * debug.adb: Document new d.g flag (expand local raise statements to
19286 gotos even if pragma Restriction (No_Exception_Propagation) is not set)
19287
19288 * exp_sel.adb: Use Make_Implicit_Exception_Handler
19289
19290 * exp_ch11.adb (Expand_Exception_Handlers): Use new flag -gnatw.x to
19291 suppress warnings for unused handlers.
19292 (Warn_If_No_Propagation): Use new flag -gnatw.x to suppress
19293 warnings for raise statements not handled locally.
19294 (Get_RT_Exception_Entity): New function
19295 (Get_Local_Call_Entity): New function
19296 (Find_Local_Handler): New function
19297 (Warn_If_No_Propagation): New procedure
19298 (Expand_At_End_Handler): Call Make_Implicit_Handler
19299 (Expand_Exception_Handlers): Major additions to deal with local handlers
19300 (Expand_N_Raise_Constraint_Error, Expand_N_Raise_Program_Error,
19301 Expand_N_Raise_Storage_Error, (Expand_N_Raise_Statement): Add handling
19302 for local raise
19303
19304 * exp_ch11.ads (Get_RT_Exception_Entity): New function
19305 (Get_Local_Call_Entity): New function
19306
19307 * gnatbind.adb (Restriction_List): Add No_Exception_Propagation to list
19308 of restrictions that the binder will never suggest adding.
19309
19310 * par-ch11.adb (P_Exception_Handler): Set Local_Raise_Statements field
19311 to No_Elist.
19312
19313 * restrict.adb (Check_Restricted_Unit): GNAT.Current_Exception may not
19314 be with'ed in the presence of pragma Restriction
19315 (No_Exception_Propagation).
19316
19317 * sem.adb (Analyze): Add entries for N_Push and N_Pop nodes
19318
19319 * sem_ch11.adb (Analyze_Exception_Handler): If there is a choice
19320 parameter, then the handler is not a suitable target for a local raise,
19321 and this is a violation of restriction No_Exception_Propagation.
19322 (Analyze_Handled_Statements): Analyze choice parameters in exception
19323 handlers before analyzing statement sequence (needed for proper
19324 detection of local raise statements).
19325 (Analyze_Raise_Statement): Reraise statement is a violation of the
19326 No_Exception_Propagation restriction.
19327
19328 * s-rident.ads: Add new restriction No_Exception_Propagation
19329
19330 * tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): New
19331 function, like Make_Exception_Handler but sets Local_Raise_Statements
19332 to No_List.
19333 (Add_Unique_Serial_Number): Deal with case where this is called during
19334 processing of configuration pragmas.
19335
193362007-04-06 Thomas Quinot <quinot@adacore.com>
19337 Pat Rogers <rogers@adacore.com>
19338 Pascal Obry <obry@adacore.com>
19339
19340 * g-stsifd-sockets.adb: New file.
19341
19342 * g-socthi.ads, g-socket.adb, g-socthi-vxworks.adb,
19343 g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi-vms.ads,
19344 g-socthi-vms.adb: Move signalling
19345 fd management to a nested package, so that they can conveniently be
19346 moved to a subunit that is shared across Windows, VMS, and VxWorks
19347 (Ada implementation) or completed with imported bodies from socket.c
19348 (UNIX case).
19349 (Read_Signalling_Fd, Write_Signalling_Fd, Create_Signalling_Fds): New
19350 subprograms.
19351 (Check_Selector): Use Read_Signalling_Fd to read and discard data from
19352 the signalling file descriptor.
19353 (Abort_Selector): Use Write_Signalling_Fd to write dummy data to the
19354 signalling file descriptor.
19355 (Create_Selector): Use new C-imported subprogram Create_Signalling_Fds
19356 instead of creating a pair of sockets for signalling here.
19357
19358 * g-socthi.adb: Ditto.
19359 Set the runtime process to ignore SIGPIPEs on platforms that support
19360 neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
19361
19362 * g-socthi-mingw.adb: Ditto.
19363 (WS_Version): Use Windows 2.2.
19364 Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
19365
19366 * g-soliop-mingw.ads: Link with ws2_32 for Windows 2.x support.
19367 Use Winsock 2.2 (instead of 1.1) for the GNAT.Socket API.
19368
19369 * Makefile.in: New libgnat pair g-stsifd.adb<g-stsifd-sockets.adb.
19370 added GNAT byte swapping facility
19371 Update FreeBSD THREADSLIB from -lc_r to -lpthread, for FreeBSD 6.
19372
19373 * g-bytswa.adb, g-bytswa-x86.adb, g-bytswa.ads: New files.
19374
19375 * socket.c (__gnat_read_signalling_fd, __gnat_write_controlling_fd):
19376 New subprograms.
19377 (__gnat_create_signalling_fds): New subprogram.
19378 Set the runtime process to ignore SIGPIPEs on platforms that support
19379 neither SO_NOSIGPIPE nor MSG_NOSIGNAL functionality.
19380
193812007-04-06 Hristian Kirtchev <kirtchev@adacore.com>
19382 Vincent Celier <celier@adacore.com>
19383
19384 * a-calend-vms.ads, a-calend.ads, a-calend.adb, a-calend-vms.adb:
19385 New version of Ada.Calendar which supports the new upper bound of Ada
19386 time (2399-12-31 86_399.999999999).
19387 The following modifications have been made to the package:
19388 - New representation of time as count of nanoseconds since the start of
19389 Ada time (1901-1-1 0.0).
19390 - Target independent Split and Time_Of routines which service both
19391 Ada 95 and Ada 2005 code.
19392 - Target independent interface to the Ada 2005 children of Calendar.
19393 - Integrated leap seconds into Ada 95 and Ada 2005 mode.
19394 - Handling of non-leap centenial years.
19395 - Updated clock function.
19396 - Updated arithmetic and comparison operators.
19397
19398 * a-caldel.adb (To_Duration): Add call to target independent routine in
19399 Ada.Calendar to handle the conversion of time to duration.
19400
19401 * sysdep.c (__gnat_localtime_tzoff): Test timezone before setting off
19402 (UTC Offset).
19403 If timezone is obviously incorrect (outside of -14 hours .. 14 hours),
19404 set off to 0.
19405 (__gnat_localtime_tzoff for Lynx and VxWorks): Even though these
19406 targets do not have a natural time zone, GMT is used as a default.
19407 (__gnat_get_task_options): New.
19408
19409 * a-direct.adb (Modification_Time): Add with and use clauses for
19410 Ada.Calendar and Ada.
19411 Calendar.Formatting. Remove with clause for Ada.Unchecked_Conversion
19412 since it is no longer needed.
19413 (Duration_To_Time): Removed.
19414 (OS_Time_To_Long_Integer): Removed.
19415 (Modification_Time): Rewritten to use Ada.Calendar and Ada.Calendar.
19416 Formatting Time_Of routines which automatically handle time zones,
19417 buffer periods and leap seconds.
19418
19419 * a-calari.ads, a-calari.adb ("+", "-", Difference): Add calls to
19420 target independent routines in Ada.Calendar.
19421
9e81dbc7 19422 * a-calfor.ads, a-calfor.adb:
4b437c6b
AC
19423 Code cleanup and addition of validity checks in various routines.
19424 (Day_Of_Week, Split, Time_Of): Add call to target independent routine in
19425 Ada.Calendar.
19426
19427 * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): Add call to target
19428 independent routine in Ada.Calendar.
19429
194302007-04-06 Olivier Hainque <hainque@adacore.com>
19431
9e81dbc7 19432 * adaint.c:
4b437c6b
AC
19433 (convert_addresses): Adjust prototype and dummy definition to expect an
19434 extra file_name argument.
19435
19436 * gmem.c (__gnat_convert_addresses): Wrapper to convert_addresses,
19437 filling the now expected file_name argument with the appropriate
19438 argv[0] expansion.
19439 (__gnat_gmem_a2l_initialize, __gnat_gmem_read_next_frame): Use it.
19440 (tracebk): Array of void * instead of char *, corresponding to what
19441 convert_addresses expects.
19442 (exename): New static global, to hold the executable file name to be
19443 used in all convert_addresses invocations.
19444 (gmem_read_backtrace, __gnat_gmem_symbolic): Account for tracebk type
19445 change.
19446 (__gnat_gmem_a2l_initialize): Resolve exename.
19447 (__gnat_convert_addresses): Use exename as the convert_addresses
19448 file_name argument.
19449
19450 * g-trasym.adb (Symbolic_Traceback): Adjust signature of imported
19451 "convert_addresses", now expecting a filename argument. Import the
19452 necessary entities to compute the filename to use and pass it to
19453 convert_addresses.
19454
194552007-04-06 Matt Gingell <gingell@adacore.com>
19456
19457 * system-aix.ads: Back out previous change.
19458 (Functions_Return_By_DSP): Removed
19459
194602007-04-06 Pascal Obry <obry@adacore.com>
19461
19462 * s-osprim-mingw.adb (Timed_Delay): Use the right clock (standard one
19463 or the monotonic used by Ada.Real_Time) to compute the sleep duration
19464 on Windows.
19465
194662007-04-06 Jose Ruiz <ruiz@adacore.com>
19467
19468 * s-osinte-vxworks.ads, s-osinte-vxworks.adb (VX_FP_TASK): Remove this
19469 function. Its value changes in different VxWorks versions, and it is
19470 now handled by the function __gnat_get_task_options.
19471
19472 * s-taprop-vxworks.adb (Create_Task): Call the function
19473 __gnat_get_task_options to get the required options for creating a task.
19474
194752007-04-06 Pascal Obry <obry@adacore.com>
19476 Thomas Quinot <quinot@adacore.com>
19477
19478 * adaint.c: Replace all occurences of S2WS to S2WSU (Unicode) when
19479 dealing with filename.
19480 (__gnat_fopen): Call the proper macro (8bits or UTF8) to convert the
19481 filename from a standard string to a wide-string depending on the
19482 encoding value.
19483 (__gnat_freopen): Idem.
19484 (__gnat_current_time): New function (wrapper for time(3) standard C
19485 function).
19486
19487 * g-os_lib.ads (Current_Time): New function. Returns the current
19488 system time as an OS_Time value.
19489
19490 * s-osprim.ads (Clock): Add more precise definition of UNIX epoch.
19491 (Monotonic_Clock): Same.
19492
194932007-04-06 Quentin Ochem <ochem@adacore.com>
19494
19495 * ali.ads, ali.adb (Get_Nat): Raise an exception if the file cursor is
19496 not on a natural.
19497 (Scan_ALI): Cancel the xref line if there has been a reading ALI error.
19498
194992007-04-06 Jose Ruiz <ruiz@adacore.com>
19500
19501 * a-retide.adb: Add elaboration code to ensure that the tasking run
19502 time is initialized when using delay operations even when no task is
19503 created.
19504
195052007-04-06 Javier Miranda <miranda@adacore.com>
19506
19507 * a-tags.ads, a-tags.adb (Object_Specific_Data): Remove
19508 component Num_Prim_Ops.
19509 (Set_Num_Prim_Ops): Removed.
19510 Remove all the assertions because all the routines of this
19511 package are inline always.
19512 (Get_Offset_Index): Add support to primary dispatch tables.
19513 Move the documentation about the dispatch table to a-tags.ads
19514 (Set_External_Tag): Removed
19515 (Inherit_TSD): Removed.
19516 (Interface_Data_Element, Interfaces_Array, Interface_Data): Declarations
19517 moved to a-tags.ads
19518 (Displace, IW_Membership, Inherit_TSD, Interface_Ancestor_Tags,
19519 Register_Interface_Tag, Set_Offset_To_Top): Update all the occurrences
19520 of the TSD field "Table" because this field has been renamed to
19521 "Ifaces_Table".
19522 (Inherit_CPP_DT): Removed.
19523 (K_Typeinfo, K_Offset_To_Top, K_Tagged_Kind, K_Signature,
19524 Cstring, Tag_Table, Type_Specific_Data, Dispatch_Table): These
19525 declarations have been moved to a-tags.ads
19526 (Check_Size): Removed.
19527 (Expanded_Name): Updated to get access to the new field of TSD
19528 containing the address of the expanded name.
19529 (Get_Access_Level/Set_Access_Level): Removed.
19530 (Get_Predefined_Prim_Op_Address): Removed.
19531 (Set_Predefined_Prim_Op_Address): Removed.
19532 (Get_Prim_Op_Address/Set_Prim_Op_Address): Removed.
19533 (Get_Remotely_Callable/Set_Remotely_Callable): Removed.
19534 (Set_Expanded_Name): Removed.
19535 (Inherit_DT): Removed.
19536 (Inherit_CPP_DT): Removed.
19537 (Set_RC_Offset): Removed.
19538 (Set_TSD): Removed.
19539 (Base_Address): New function that displaces "this" to point to the base
19540 of the object (that is, to point to the primary tag of the object).
19541
195422007-04-06 Ed Schonberg <schonberg@adacore.com>
19543 Javier Miranda <miranda@adacore.com>
19544
19545 * exp_ch3.ads, exp_ch3.adb (Analyze_N_Full_Type_Declaration): For an
19546 anonymous access component, do not create a master_id if type already
19547 has one, as may happen if the type is a subcomponent of a packed array
19548 type.
19549 (Build_Init_Procedure, Component_Needs_Simple_Initialization,
19550 Initialize_Tag): Remove code associated with the old CPP pragmas.
19551 CPP_Virtual and CPP_Vtable are no longer supported.
19552 (Build_Offset_To_Top_Internal): Add support for concurrent record types
19553 (Build_Offset_To_Top_Functions): Add support for concurrent record types
19554 (Freeze_Record_Type): Remove call to
19555 Init_Predefined_Interface_Primitives.
19556 (Init_Secondary_Tags.Initialize_Tag): New subprogram containing all the
19557 code required to initialize the tags of the secondary dispatch tables.
19558 This leaves the algoritm more clear.
19559 (Init_Secondary_Tags): Add support for concurrent record types
19560 (Make_Predefined_Primitive_Specs): Code cleanup.
19561 (Predefined_Primitive_Bodies): Code cleanup.
19562 (Build_Master_Renaming): New local subprogram.
19563 (Expand_N_Full_Type_Declaration): Build the master_id associated with
19564 anonymous access to task type components.
19565 (Expand_N_Subtype_Indication): The bounds of a range constraint in a
19566 subtype indication are resolved during analysis, and must not be done
19567 here.
19568 (Stream_Operation_OK): Check Restriction_Active before RTE_Available.
19569
195702007-04-06 Geert Bosch <bosch@adacore.com>
19571 Ed Schonberg <schonberg@adacore.com>
19572 Javier Miranda <miranda@adacore.com>
19573 Bob Duff <duff@adacore.com>
19574
19575 * exp_ch4.adb (Expand_N_Type_Conversion): Remove special processing
19576 for conversion of a Float_Type'Truncation to integer.
19577
19578 * exp_attr.adb (Is_Inline_Floating_Point_Attribute): New function to
19579 check if a node is an attribute that can be handled directly by the
19580 back end.
19581 (Expand_N_Attribute_Reference): Suppress expansion of floating-point
19582 attributes that can be handled directly by the back end.
19583 (Expand_N_Attribute_Reference, case 'Access and 'Unchecked_Access):
19584 use new predicate Is_Access_Protected_Subprogram_Type.
19585 (Expand_N_Attribute_Reference, case 'Write): The reference is legal for
19586 and Unchecked_Union if it is generated as part of the default Output
19587 procedure for a type with default discriminants.
19588 (Expand_N_Attribute_Reference): Avoid the expansion of dispatching calls
19589 if we are compiling under restriction No_Dispatching_Calls.
19590 (Constrained): Use Underlying_Type, in case the type is private without
19591 discriminants, but the full type has discriminants.
19592 (Expand_N_Attribute_Reference): Replace call to Get_Access_Level by
19593 call to Build_Get_Access_Level.
19594 (Expand_N_Attribute_Reference): The use of 'Address with class-wide
19595 interface objects requires a call to the run-time subprogram that
19596 returns the base address of the object.
19597 (Valid_Conversion): Improve error message on illegal attempt to store
19598 an anonymous access to subprogram value into a record component.
19599
19600 * sem_res.adb (Resolve_Equality_Op): Detect ambiguity for "X'Access =
19601 null".
19602 (Simplify_Type_Conversion): New procedure that performs simplification
19603 of Int_Type (Float_Type'Truncation (X)).
19604 (Resolve_Type_Conversion): Call above procedure after resolving operand
19605 and before performing checks. This replaces the existing ineffective
19606 code in Exp_Ch4.
19607 (Set_String_Literal_Subtype): When creating the internal static lower
19608 bound subtype for a string literal, use a newly created copy of the
19609 subtree representing the lower bound.
19610 (Resolve_Call): Exclude build-in-place function calls from transient
19611 scope treatment. Update comments to describe this exception.
19612 (Resolve_Equality_Op): In case of dispatching call check violation of
19613 restriction No_Dispatching_Calls.
19614 (Resolve_Call): If the call returns an array, the context imposes the
19615 component type of the array, and the function has one non-defaulted
19616 parameter, rewrite the call as the indexing of a call with a single
19617 parameter, to handle an Ada 2005 syntactic ambiguity for calls written
19618 in prefix form.
19619 (Resolve_Actuals): If an actual is an allocator for an access parameter,
19620 the master of the created object is the innermost enclosing statement.
19621 (Remove_Conversions): For a binary operator, check if type of second
19622 formal is numeric, to check if an abstract interpretation is present
19623 in the case of exponentiation as well.
19624
196252007-04-06 Ed Schonberg <schonberg@adacore.com>
19626 Bob Duff <duff@adacore.com>
19627
19628 * atree.h, atree.ads, atree.adb (Copy_Node_With_Replacement): When
19629 copying a parameter list in a call, set properly the First_Named_Formal
19630 and Next_Named_Formal fields in the new list and in the enclosing call.
19631 (Watch_Node,New_Node_Breakpoint,New_Node_Debugging_Output): Shorten
19632 names, to ease typing in the debugger. Improve comments.
19633 (Watch_Node): New variable, intended to be set in the debugger.
19634 (New_Node_Breakpoint): New do-nothing procedure to set a breakpoint on,
19635 called when the watched node is created.
19636 (New_Node_Debugging_Output): Combined version of local procedures
19637 New_Node_Debugging_Output and New_Entity_Debugging_Output, now global,
19638 with a parameter so that conditional breakpoints like "if Node = 12345"
19639 work.
19640 (New_Node, New_Entity): Call the global New_Node_Debugging_Output.
19641 Add Elist1 function
19642
196432007-04-06 Thomas Quinot <quinot@adacore.com>
19644 Ed Schonberg <schonberg@adacore.com>
19645 Gary Dismukes <dismukes@adacore.com>
19646
19647 * checks.ads, checks.adb (Selected_Range_Checks): No range check is
19648 required for a conversion between two access-to-unconstrained-array
19649 types.
19650 (Expr_Known_Valid): Validity checks do not apply to discriminants, but
19651 to discriminant constraints on discriminant objects. This rule must
19652 apply as well to discriminants of protected types in private components.
19653 (Null_Exclusion_Static_Checks): If No_Initialization is set on an
19654 object of a null-excluding access type then don't require the
19655 the object declaration to have an expression and don't emit a
19656 run-time check.
19657
196582007-04-06 Arnaud Charlet <charlet@adacore.com>
9e94c78f 19659 Eric Botcazou <botcazou@adacore.com>
4b437c6b
AC
19660
19661 * gnatvsn.ads, comperr.adb (Get_Gnat_build_Type): Renamed Build_Type
19662 and made constant.
19663
19664 * comperr.ads, comperr.adb (Compiler_Abort): Add third parameter
19665 Fallback_Loc. Use it as the sloc info when Current_Error_Node doesn't
19666 carry any.
19667
19668 * fe.h (Compiler_Abort): Add third parameter.
19669
19670 * misc.c (internal_error_function): Build third argument from current
19671 input location and pass it to Compiler_Abort.
19672
196732007-04-06 Gary Dismukes <dismukes@adacore.com>
19674
19675 * cstand.adb (Create_Standard): When the target's storage unit size is
19676 greater than a byte, set Has_Non_Standard_Rep and Has_Pragma_Pack on
19677 Standard_String.
19678
196792007-04-06 Nicolas Roche <roche@adacore.com>
19680
19681 * cstreams.c (__gnat_full_name): Fix issues on VxWorks 6.x for which
19682 absolute path can have the following form: device:/a/b. In this case
19683 '/' should be inserted between the path and the filename.
19684
196852007-04-06 Olivier Hainque <hainque@adacore.com>
9e94c78f 19686 Eric Botcazou <botcazou@adacore.com>
4b437c6b
AC
19687
19688 * decl.c (gnat_to_gnu_entity) <E_Constant>: Associate an external
19689 VAR_DECL to a CONST_DECL we make for a public constant when we know the
19690 corresponding definition has created the so made visible variable.
19691 Handle anonymous access to protected subprogram.
19692 (gnat_to_gnu_entity) <E_Variable>: Do not make the underlying type of an
19693 object with an address clause volatile. Re-enable original fix.
19694 <E_Subprogram_Type>: Set TYPE_REF_CAN_ALIAS_ALL on the reference type
19695 too.
19696 (gnat_to_gnu_entity) <E_Class_Wide_Type>: Retrieve the TYPE_DECL
19697 associated with either the Equivalent or Root type, instead of the
19698 naked type node.
19699 (gnat_to_gnu_entity): Manually mark the top of the DECL_FIELD_OFFSET
19700 subtree for every field of a global record type.
19701 (gnat_to_gnu_entity) <E_Record_Subtype>: If the subtype has
19702 discriminants, invoke again variable_size on its newly computed sizes.
19703
197042007-04-06 Robert Dewar <dewar@adacore.com>
19705 Thomas Quinot <quinot@adacore.com>
19706 Ed Schonberg <schonberg@adacore.com>
19707 Bob Duff <duff@adacore.com>
19708
19709 * einfo.ads, einfo.adb: (First_Component_Or_Discriminant): New function
19710 (Next_Component_Or_Discriminant): New function and procedure
19711 (First_Index, First_Literal, Master_Id,
19712 Set_First_Index, Set_First_Literal, Set_Master_Id):
19713 Add missing Ekind assertions.
19714 (Is_Access_Protected_Subprogram_Type): New predicate.
19715 (Has_RACW): New entity flag, set on package entities to indicate that
19716 the package contains the declaration of a remote accecss-to-classwide
19717 type.
19718 (E_Return_Statement): This node type has the Finalization_Chain_Entity
19719 attribute, in case the result type has controlled parts.
19720 (Requires_Overriding): Add this new flag, because "requires
19721 overriding" is subtly different from "is abstract" (see AI-228).
19722 (Is_Abstract): Split Is_Abstract flag into Is_Abstract_Subprogram and
19723 Is_Abstract_Type. Make sure these are called only when appropriate.
19724 (Has_Pragma_Unreferenced_Objects): New flag
19725
19726 * exp_ch5.adb (Expand_N_Assignment_Statement): If the left-hand side is
19727 class-wide, the tag of the right-hand side must be an exact match, not
19728 an ancestor of that of the object on left-hand side.
19729 (Move_Activation_Chain): New procedure to create the call to
19730 System.Tasking.Stages.Move_Activation_Chain.
19731 (Expand_N_Extended_Return_Statement): Generate code to call
19732 System.Finalization_Implementation.Move_Final_List at the end of a
19733 return statement if the function's result type has controlled parts.
19734 Move asserts to Build_In_Place_Formal.
19735 (Move_Final_List): New function to create the call statement.
19736 (Expand_N_Assignment_Statement): In case of assignment to a class-wide
19737 tagged type, replace generation of call to the run-time subprogram
19738 CW_Membership by call to Build_CW_Membership.
19739 (Expand_N_Return_Statement): Replace generation of call to the run-time
19740 subprogram Get_Access_Level by call to Build_Get_Access_Level.
19741 (Expand_N_Simple_Function_Return): Replace generation of call to the
19742 run-time subprogram Get_Access_Level by call to Build_Get_Access_Level.
19743
19744 * exp_ch6.ads, exp_ch6.adb (Expand_Call): Use new predicate
19745 Is_Access_Protected_Subprogram_Type, to handle both named and anonymous
19746 access to protected operations.
19747 (Add_Task_Actuals_To_Build_In_Place_Call): New procedure to add the
19748 master and chain actual parameters to a build-in-place function call
19749 involving tasks.
19750 (BIP_Formal_Suffix): Add new enumeration literals to complete the case
19751 statement.
19752 (Make_Build_In_Place_Call_In_Allocator,
19753 Make_Build_In_Place_Call_In_Anonymous_Context,
19754 Make_Build_In_Place_Call_In_Assignment,
19755 Make_Build_In_Place_Call_In_Object_Declaration): Call
19756 Add_Task_Actuals_To_Build_In_Place_Call with the appropriate master.
19757 (Expand_Inlined_Call): If the subprogram is a null procedure, or a
19758 stubbed procedure with a null body, replace the call with a null
19759 statement without using the full inlining machinery, for efficiency
19760 and to avoid invalid values in source file table entries.
19761
19762 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Add support for
19763 renamings of calls to build-in-place functions.
19764
19765 * rtsfind.adb (RTE_Record_Component_Available): New subprogram that
19766 provides the functionality of RTE_Available to record components.
19767 (RTU_Entity): The function Entity has been renamed to RTU_Entity
19768 to avoid undesired overloading.
19769 (Entity): New subprogram that returns the entity for the referened
19770 unit. If this unit has not been loaded, it returns Empty.
19771 (RE_Activation_Chain_Access, RE_Move_Activation_Chain): New entities.
19772 Remove no longer used entities.
19773 (RE_Finalizable_Ptr_Ptr, RE_Move_Final_List): New entities.
19774 (RE_Type_Specific_Data): New entity.
19775 (RE_Move_Any_Value): New entity.
19776 (RE_TA_A, RE_Get_Any_Type): New entities.
19777 (RE_Access_Level, RE_Dispatch_Table, E_Default_Prim_Op_Count,
19778 RE_Prims_Ptr, RE_RC_Offset, RE_Remotely_Callable,
19779 RE_DT_Typeinfo_Ptr_Size, RE_Cstring_Ptr, RE_DT_Expanded_Name): Added.
19780 (Entity): New subprogram that returns the entity for the referened
19781 unit. If this unit has not been loaded, it returns Empty.
19782 (RTE): Addition of a new formal that extends the search to the scopes
19783 of the record types found in the chain of the package.
19784
19785 * sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Print
19786 "abstract subprograms must be visible" message, whether or not the type
19787 is an interface; that is, remove the special case for interface types.
19788 (Analyze_Function_Return): Remove error message "return of task objects
19789 is not yet implemented" because this is now implemented.
19790 (Create_Extra_Formals): Add the extra master and activation chain
19791 formals in case the result type has tasks.
19792 Remove error message "return of limited controlled objects is not yet
19793 implemented".
19794 (Create_Extra_Formals): Add the extra caller's finalization list formal
19795 in case the result type has controlled parts.
19796 (Process_Formals): In case of access formal types there is no need
19797 to continue with the analysis of the formals if we already notified
19798 errors.
19799 (Check_Overriding_Indicator): Add code to check overriding of predefined
19800 operators.
19801 (Create_Extra_Formals): Prevent creation of useless Extra_Constrained
19802 flags for formals that do not require them,.
19803 (Enter_Overloaded_Entity): Do not give -gnatwh warning message unless
19804 hidden entity is use visible or directly visible.
19805 (Analyze_Abstract_Subprogram_Declaration,Analyze_Subprogram_Body,
19806 Analyze_Subprogram_Declaration,Analyze_Subprogram_Specification,
19807 Check_Conventions,Check_Delayed_Subprogram,Make_Inequality_Operator,
19808 New_Overloaded_Entity): Split Is_Abstract flag into
19809 Is_Abstract_Subprogram and Is_Abstract_Type.
19810
19811 * s-finimp.ads, s-finimp.adb (Move_Final_List): New procedure to move
19812 a return statement's finalization list to the caller's list, used for
19813 build-in-place functions with result type with controlled parts.
19814 Remove no longer used entities.
19815
19816 * s-taskin.ads (Activation_Chain): Remove pragma Volatile. It is no
19817 longer needed, because the full type is now limited, and therefore a
19818 pass-by-reference type.
19819 (Foreign_Task_Level): New constant.
19820
19821 * s-tassta.ads, s-tassta.adb (Move_Activation_Chain): New procedure to
19822 move tasks from the activation chain belonging to a return statement to
19823 the one passed in by the caller, and update the master to the one
19824 passed in by the caller.
19825 (Vulnerable_Complete_Master, Check_Unactivated_Tasks): Check the master
19826 of unactivated tasks, so we don't kill the ones that are being returned
19827 by a build-in-place function.
19828 (Create_Task): Ignore AI-280 for foreign threads.
19829
198302007-04-06 Ed Schonberg <schonberg@adacore.com>
19831 Robert Dewar <dewar@adacore.com>
19832 Bob Duff <duff@adacore.com>
19833 Gary Dismukes <dismukes@adacore.com>
19834
19835 * errout.adb (Unwind_Internal_Type): Use predicate
19836 Is_Access__Protected_Subprogram_Type.
19837
19838 * freeze.adb (Size_Known): Use First/Next_Component_Or_Discriminant
19839 (Freeze_Entity, packed array case): Do not override explicitly set
19840 alignment and size clauses.
19841 (Freeze_Entity): An entity declared in an outer scope can be frozen if
19842 the enclosing subprogram is a child unit body that acts as a spec.
19843 (Freeze_Entity): Use new predicate Is_Access_Protected_Subprogram_Type.
19844 (Freeze_Record_Type): New Ada 2005 processing for reverse bit order
19845 Remove all code for DSP option
19846
19847 * layout.adb (Layout_Record_Type): Use First/
19848 Next_Component_Or_Discriminant
19849 (Layout_Type): Use new predicate Is_Access_Protected_Subprogram_Type,
19850 to handle properly the anonymous access case.
19851
19852 * sem_attr.adb (Build_Access_Object_Type): Use E_Access_Attribute_Type
19853 for all access attributes, because overload resolution should work the
19854 same for 'Access, 'Unchecked_Access, and 'Unrestricted_Access. This
19855 causes the error message for the ambiguous "X'Access = Y'Access" and
19856 "X'Unrestricted_Access = Y'Access" and so forth to match.
19857 (Resolve_Attribute, case 'Access): Remove use of Original_Access_Type,
19858 now that anonymous access to protected operations have their own kind.
19859 (Resolve_Attribute): In case of dispatching call check the violation of
19860 restriction No_Dispatching_Calls.
19861 (Check_Array_Type): Check new -gnatyA array index style option
19862
19863 * sem_ch3.ads, sem_ch3.adb (Derived_Type_Declaration): Reject an
19864 attempt to derive from a synchronized tagged type.
19865 (Analyze_Type_Declaration): If there is a incomplete tagged view of the
19866 type, inherit the class-wide type already created, because it may
19867 already have been used in a self-referential anonymous access component.
19868 (Mentions_T): Recognize self-referential anonymous access components
19869 that use (a subtype of) the class-wide type of the enclosing type.
19870 (Build_Derived_Record_Type): Add earlier setting of Is_Tagged_Type. Pass
19871 Derived_Type for Prev formal on call to
19872 Check_Anonymous_Access_Components rather than Empty.
19873 (Make_Incomplete_Type_Declaration): Add test for case where the type has
19874 a record extension in deciding whether to create a class-wide type,
19875 rather than just checking Tagged_Present.
19876 (Replace_Anonymous_Access_To_Protected_Subprogram): Procedure applies
19877 to stand-alone object declarations as well as component declarations.
19878 (Array_Type_Declaration): Initialize Packed_Array_Type to Empty, to
19879 prevent accidental overwriting when enclosing package appears in
19880 a limited_with_clause.
19881 (Array_Type_Declaration): If the component type is an anonymous access,
19882 the associated_node for the itype is the type declaration itself.
19883 (Add_Interface_Tag_Components): Modified to support concurrent
19884 types with abstract interfaces.
19885 (Check_Abstract_Interfaces): New subprogram that verifies the ARM
19886 rules 3.9.4 (15/2), 9.1 (9.d/2) and 9.4 (11.d/2).
19887 (Build_Derived_Record_Type): Add call to Analyze_Interface_Declaration
19888 to complete the decoration of synchronized interface types. Add also
19889 a call to Check_Abstract_Interfaces to verify the ARM rules.
19890 (Derive_Interface_Subprograms): Modified to support concurrent types
19891 with abstract interfaces.
19892 (Analyze_Subtype_Indication): Resolve the range with the given subtype
19893 mark, rather than delaying the full resolution depending on context.
19894 (Analyze_Component_Declaration,Analyze_Interface_Declaration,
19895 Analyze_Object_Declaration,Analyze_Subtype_Declaration,
19896 Array_Type_Declaration,Build_Derived_Record_Type,
19897 Build_Discriminated_Subtype,Check_Abstract_Overriding,Check_Completion,
19898 Derive_Interface_Subprograms,Derive_Subprogram,Make_Class_Wide_Type,
19899 Process_Full_View,Record_Type_Declaration): Split Is_Abstract flag into
19900 Is_Abstract_Subprogram and Is_Abstract_Type. Make sure these are
19901 called only when appropriate.
19902 (Copy_And_Swap): Copy Has_Unreferenced_Objects flag from full type
19903 to private type.
19904 (Analyze_Subtype_Declaration): For an access subtype declaration, create
19905 an itype reference for the anonymous designated subtype, to prevent
19906 scope anonmalies in gigi.
19907 (Build_Itype_Reference): New utility, to simplify construction of such
19908 references.
19909
199102007-04-06 Vincent Celier <celier@adacore.com>
19911
19912 * errutil.adb (Initialize): Initialize warnings table, if all warnings
19913 are suppressed, supply an initial dummy entry covering all possible
19914 source locations.
19915
19916 * make.adb (Scan_Make_Arg): Reject options that should start with "--"
19917 and start with only one, such as "-RTS=none".
19918 (Collect_Arguments): Do not check for sources outside of projects.
19919 Do not collect arguments if project is externally built.
19920 (Compile_Sources): Do nothing, not even check if the source is up to
19921 date, if its project is externally built.
19922 (Compile): When compiling a predefined source, add -gnatpg
19923 as the second switch, after -c.
19924 (Compile_Sources): Allow compilation of Annex J renames without -a
19925 (Is_In_Object_Directory): Check if the ALI file is in the object
19926 even if there is no project extension.
19927 (Create_Binder_Mapping_File): Only put a unit in the mapping file for
19928 gnatbind if the ALI file effectively exists.
19929 (Initialize): Add the directory where gnatmake is invoked in front of
19930 the path if it is invoked from a bin directory, even without directory
19931 information, so that the correct GNAT tools will be used when spawned
19932 without directory information.
19933
19934 * makeusg.adb: Change switch -S to -eS
19935 Add lines for new switches -we, -wn and -ws
19936 Add line for new switch -p
19937
19938 * prj-proc.adb (Process): Set Success to False when Warning_Mode is
19939 Treat_As_Error and there are warnings.
19940
19941 * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Do not skip
19942 -gnatww Change gnatmake switch -S to -eS
19943 (Scan_Make_Switches): Code reorganisation. Process separately multi
19944 character switches and single character switches.
19945 (Scan_Make_Switches): New Boolean out parameter Success. Set Success to
19946 False when switch is not recognized by gnatmake.
19947 (Scan_Make_Switches): Set Setup_Projects True when -p or
19948 --create-missing-dirs is specified.
19949
19950 * fname.adb (Is_Predefined_File_Name): Return True for annex J
19951 renamings Calendar, Machine_Code, Unchecked_Conversion and
19952 Unchecked_Deallocation only when Renamings_Included is True.
19953
19954 * par.adb: Allow library units Calendar, Machine_Code,
19955 Unchecked_Conversion and Unchecked_Deallocation to be recompiled even
19956 when -gnatg is not specified.
19957 (P_Interface_Type_Definition): Remove the formal Is_Synchronized because
19958 there is no need to generate always a record_definition_node in case
19959 of synchronized interface types.
19960 (SIS_Entry_Active): Initialize global variable to False
19961 (P_Null_Exclusion): For AI-447: Add parameter Allow_Anonymous_In_95 to
19962 indicate cases where AI-447 says "not null" is legal.
19963
19964 * makeutl.ads, makeutil.adb (Executable_Prefix_Path): New function
19965
19966 * makegpr.adb (Check_Compilation_Needed): Take into account dependency
19967 files with with several lines starting with the object fileb name.
19968 (Scan_Arg): Set Setup_Projects True when -p or --create-missing-dirs
19969 is specified.
19970 (Initialize): Add the directory where gprmake is invoked in front of the
19971 path, if it is invoked from a bin directory or with directory
19972 information, so that the correct GNAT tools will be used when invoked
19973 directly.
19974 (Check_Compilation_Needed): Process correctly backslashes on Windows.
19975
19976 * vms_data.ads: Update switches/qualifiers
19977
199782007-04-06 Ed Schonberg <schonberg@adacore.com>
19979 Thomas Quinot <quinot@adacore.com>
19980
19981 * exp_aggr.adb:
19982 If the array component is a discriminated record, the array aggregate
19983 is non-static even if the component is given by an aggregate with
19984 static components.
19985 (Expand_Record_Aggregate): Use First/Next_Component_Or_Discriminant
19986 (Convert_Aggr_In_Allocator): If the allocator is for an access
19987 discriminant and the type is controlled. do not place on a finalization
19988 list at this point. The proper list will be determined from the
19989 enclosing object.
19990 (Build_Record_Aggr_Code): If aggregate has box-initialized components,
19991 initialize record controller if needed, before the components, to ensure
19992 that they are properly finalized.
19993 (Build_Record_Aggr_Code): For the case of an array component that has a
19994 corresponding array aggregate in the record aggregate, perform sliding
19995 if required.
19996
199972007-04-06 Javier Miranda <miranda@adacore.com>
19998 Gary Dismukes <dismukes@adacore.com>
19999 Ed Schonberg <schonberg@adacore.com>
20000
20001 * exp_ch13.adb (Expand_External_Tag_Definition): Replace call to the
20002 run-time subprogram Set_External_Tag by call to Build_Set_External_Tag.
20003
20004 * exp_ch4.adb (Expand_Allocator_Expression): Don't perform a run-time
20005 accessibility on class-wide allocators if the allocator occurs at the
20006 same scope level as the allocator's type. The check is guaranteed to
20007 succeed in that case, even when the expression originates from a
20008 parameter of the containing subprogram.
20009 (Expand_N_Op_Eq): Do nothing in case of dispatching call if compiling
20010 under No_Dispatching_Calls restriction. During the semantic analysis
20011 we already notified such violation.
20012 (Tagged_Membership): Constant folding. There is no need to check
20013 the tag at run-time if the type of the right operand is non
20014 class-wide abstract.
20015 Replace call to Is_Ancestor by call to Is_Parent
20016 to support concurrent types with interface types.
20017 (Expand_N_Allocator): Add an assertion associated with the generation
20018 of the master_id.
20019 (Expand_N_Slice): Do not enable range check to nodes associated
20020 with the frontend expansion of the dispatch table.
20021 (Is_Local_Access_Discriminant): Subsidiary function to
20022 Expand_N_Allocator.
20023 (Tagged_Membership): Replace generation of call to the run-time
20024 subprogram CW_Membership by call to Build_CW_Membership.
20025 (Expand_Allocator_Expression): Replace generation of call to the
20026 run-time subprogram Get_Access_Level by call to Build_Get_Access_Level.
20027
20028 * exp_disp.ads, exp_disp.adb (Make_DT): Code reorganization to
20029 initialize most the TSD components by means of an aggregate.
20030 Modify the declaration of the object containing the TSD
20031 because we now expand code that has a higher level of abstraction.
20032 The TSD has a discriminant containing the Inheritance Depth Level,
20033 value that is used in the membership test but also to fix the size
20034 of the table of ancestors.
20035 (Expand_Interface_Conversion): Insert function body at the closest place
20036 to the conversion expression, to prevent access-before-elaboration
20037 errors in the backend.
20038 Code improved to reduce the size of the dispatch table if
20039 compiling under restriction No_Dispatching_Calls plus code cleanup.
20040 Code reorganization plus removal of calls to Set_Num_Prim_Ops
20041 (Make_Secondary_DT): Remove call to Set_Num_Prim_Ops.
20042 (Expand_Dispatching_Call): Minor code reorganization plus addition of
20043 code to return immediately if compiling under No_Dispatching_Calls
20044 restriction.
20045 (Set_All_DT_Position): Remove code associated with the old CPP pragmas.
20046 CPP_Virtual and CPP_Vtable are no longer supported.
20047 (Expand_Interface_Conversion): Add missing support for interface type
20048 derivations.
20049 (Expand_Interface_Actuals): Replace calls to Is_Ancestor by calls to
20050 Is_Parent to support concurrent types with interfaces.
20051 (Init_Predefined_Interface_Primitives): Removed.
20052 (Make_Secondary_DT): Modified to support concurrent record types.
20053 (Set_All_DT_Position): Modified to support concurrent record types.
20054 (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entries associated
20055 with Get_External_Tag, Inherit_TSD, Set_External_Tag.
20056 (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entry associated
20057 with CW_Membership.
20058 (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Remove entries associated
20059 with Get_Access_Level, Get_Predefined_Prim_Op_Address,
20060 Get_Prim_Op_Address Get_RC_Offset, Get_Remotely_Callable, Inherit_DT,
20061 Set_Access_Level, Set_Expanded_Name, Set_Predefined_Prim_Op_Address,
20062 Set_Prim_Op_Address, Set_RC_Offset, Set_Remotely_Callable, Set_TSD.
20063 (Expand_Dispatching_Call): Replace generation of call to the run-time
20064 subprograms Get_Predefined_Prim_Op_Address and Get_Prim_Op_Address by
20065 calls to Build_Get_Predefined_Prim_Op_Address, and Build_Get_Prim_Op_
20066 Address.
20067 (Fill_DT_Entry, Fill_Secondary_DT_Entry): Replace generation of call to
20068 the run-time subprograms Set_Predefined_Prim_Op_Address and Set_Prim_
20069 Op_Address by calls to Build_Set_Predefined_Prim_Op_Address, and
20070 Build_Set_Prim_Op_Address.
20071 (Get_Remotely_Callable): Subprogram removed.
20072 (Init_Predefined_Interface_Primitives): Replace generation of call to
20073 the run-time subprograms Inherit_DT by call to Build_Inherit_Predefined_
20074 Prims.
20075
20076 * sem_elab.adb (Set_Elaboration_Constraint): Replace the call to
20077 First (Parameter_Associations ()) with the call to First_Actual that
20078 returns an actual parameter expression for both named and positional
20079 associations.
20080
20081 * sem_disp.adb (Check_Dispatching_Call): In case of dispatching call
20082 check violation of restriction No_Dispatching_Calls.
20083 (Check_Controlling_Type): A formal of a tagged incomplete type is a
20084 controlling argument.
20085
20086 * exp_util.ads, exp_util.adb (Type_May_Have_Bit_Aligned_Components): Use
20087 First/Next_Component_Or_Discriminant
20088 (Insert_Actions): Add entries for new N_Push and N_Pop nodes
20089 (Find_Implemented_Interface): Removed. All the calls to this subprogram
20090 specify Any_Limited_Interface, and this functionality is already
20091 provided by the function Has_Abstract_Interfaces.
20092 (Find_Interface, Find_Interface_Tag, Find_Interface_ADT): Modified to
20093 support concurrent types implementing interfaces.
20094 (Find_Implemented_Interface): Removed. All the calls to this subprogram
20095 specify kind Any_Limited_Interface, and this functionality is already
20096 provided by the function Has_Abstract_Interfaces.
20097 (Remove_Side_Effects): replace Controlled_Type by
20098 CW_Or_Controlled_Type whenever the issue is related to
20099 using or not the secondary stack.
20100
20101 * par-ch12.adb (P_Formal_Type_Definition): Update calls to
20102 P_Interface_Type_Definition to fulfill the new interface (the formal
20103 Is_Synchronized is no longer required).
20104
20105 * Make-lang.in (GNAT_ADA_OBJS): Addition of exp_atag.o
20106 Update dependencies.
20107
20108 * exp_atag.ads, exp_atag.adb: New file
20109
201102007-04-06 Ed Schonberg <schonberg@adacore.com>
20111 Bob Duff <duff@adacore.com>
20112 Cyrille Comar <comar@adacore.com>
20113
20114 * exp_ch7.ads, exp_ch7.adb (Find_Final_List): If the access type is
20115 anonymous, use finalization list of enclosing dynamic scope.
20116 (Expand_N_Package_Declaration): For a library package declaration
20117 without a corresponding body, generate RACW subprogram bodies in the
20118 spec (just as we do for the task activation call).
20119 (Convert_View): Split Is_Abstract flag into Is_Abstract_Subprogram and
20120 Is_Abstract_Type. Make sure these are called only when appropriate.
20121 Remove all code for DSP option
20122 (CW_Or_Controlled_Type): new subprogram.
20123
9e94c78f 201242007-04-06 Eric Botcazou <botcazou@adacore.com>
4b437c6b
AC
20125 Ed Schonberg <schonberg@adacore.com>
20126 Gary Dismukes <dismukes@adacore.com>
20127
20128 * exp_ch9.ads, exp_ch9.adb (Family_Offset): Add new 'Cap' boolean
20129 parameter. If it is set to true, return a result capped according to
20130 the global upper bound for the index of an entry family.
20131 (Family_Size): Add new 'Cap' boolean parameter. Pass it to Family_Offset
20132 (Build_Find_Body_Index): Adjust for above change.
20133 (Entry_Index_Expression): Likewise.
20134 (Is_Potentially_Large_Family): New function extracted from...
20135 (Collect_Entry_Families): ...here. Call it to detect whether the family
20136 is potentially large.
20137 (Build_Entry_Count_Expression): If the family is potentially large, call
20138 Family_Size with 'Cap' set to true.
20139 (Expand_N_Protected_Type_Declaration, Expand_N_Protected_Body): Generate
20140 a protected version of an operation declared in the private part of
20141 a protected object, because they may be invoked through a callback.
20142 (Set_Privals): If the type of a private component is an anonymous access
20143 type, do not create a new itype for each protected body.
20144 If the body of a protected operation creates
20145 controlled types (including allocators for class-widetypes), the
20146 body of the corresponding protected subprogram must include a
20147 finalization list.
20148 (Build_Activation_Chain_Entity): Build the chain entity for extended
20149 return statements.
20150 (Type_Conformant_Parameters): Use common predicate Conforming_Types
20151 to determine whether operation overrides an inherited primitive.
20152 (Build_Wrapper_Spec): Add code to examine the parents while looking
20153 for a possible overriding candidate.
20154 (Build_Simple_Entry_Call): Set No_Initialization on the object used to
20155 hold an actual parameter value since its initialization is separated
20156 from the the declaration. Prevents errors on null-excluding access
20157 formals.
20158
201592007-04-06 Thomas Quinot <quinot@adacore.com>
8a57e48f 20160 Pablo Oliveira <oliveira@adacore.com>
4b437c6b
AC
20161
20162 * exp_dist.ads, exp_dist.adb (Build_To_Any_Call, Build_From_Any_Call):
20163 Do an Unchecked_Conversion to handle the passage from the Underlying
20164 Type to the Base Type when calling Build_To_Any_Call and
20165 Build_From_Any_Call.
20166 (Build_Actual_Object_Declaration): Set Object's Ekind to E_Variable or
20167 E_Constant, depending upon Variable formal.
20168 (GARLIC_Support.Build_Subprogram_Receiving_Stubs,
20169 PolyORB_Support.Build_Subprogram_Receiving_Stubs): For a formal
20170 parameter that requires an extra constrained parameter, declare
20171 temporary for actual as a variable, not a constant.
20172 (Add_RACW_Primitive_Declarations_And_Bodies): Generate bodies only when
20173 the unit being compiled is the one that contains the stub type.
20174 Change primitive operation name for the RACW associated with a RAS
20175 from Call to _Call so it cannot clash with any legal identifier.
20176 (PolyORB_Support.Add_RACW_Write_Attribute): Remove unused constant
20177 Is_RAS.
20178 (Append_RACW_Bodies): New subprogram.
20179 (Expand_Receiving_Stubs_Bodies): Pass a 'Stmts' list to
20180 Add_Receiving_Stubs_To_Declarations functions.
20181 When expanding a package body, this list correspond to the
20182 statements in the HSS at the end of the pacakge.
20183 When expanding a package spec, this list correspond to the
20184 spec declarations.
20185 (Add_Receiving_Stubs_To_Declarations): Append the function
20186 registering the receiving stubs at the end of the 'Stmts' list.
20187 (RCI_Package_Locator): Pass the new Version generic formal when
20188 instantiating a RCI_Locator package.
20189 (Build_From_Any_Function): To compute the High bound for an
20190 unconstrained array actual, we add the Low bound with the length.
20191 Thus we must convert the low bound and the length to an appropriate
20192 type before doing the sum.
20193 (Build_Subprogram_Receiving_Stubs, PolyORB):
20194 * Retrieve the extra formals parameters at the
20195 end of the parameter stream.
20196 * Use Move_Any_Value to write back out parameters
20197 after executing the request as it is more efficient
20198 than Copy_Any_Value.
20199 * Build the any containing Extra Formals with the
20200 appropriate typecode.
20201 (PolyORB_Support.Helpers.Append_Record_Traversal): Nothing to do for an
20202 empty Component_List.
20203 (Build_Actual_Object_Declaration): New subprogram. Build and insert into
20204 the tree the declaration for an object that serves as actual parameter
20205 in server-side stubs.
20206 (GARLIC_Support.Build_Subprogram_Receiving_Stubs,
20207 PolyORB_Support.Build_Subprogram_Receiving_Stubs):
20208 Use Build_Actual_Object_Declaration to prepare the actuals.
20209 (Add_Parameter_To_NVList): Set the parameter mode to In for
20210 Extra Constrained Parameters.
20211 (Build_General_Calling_Stubs): Set the parameter type to boolean for
20212 Extra Constrained parameters.
20213 (Build_To_Any_Function, Build_From_Any_Function,
20214 Built_TypeCode_Function): When Typ is implicit, call the correct
20215 function with the first not implicit parent type.
20216 (TC_Rec_Add_Process_Element, FA_Rec_Add_Process_Element,
20217 (FA_Ary_Add_Process_Element): When Datum is an Any, we cannot infer the
20218 typecode from the Etype. Therefore we retrieve the correct typecode
20219 with a call to Get_Any_Type.
20220 (Copy_Specification): Do controlling formal type substitution based on
20221 Is_Controlling_Formal flag, instead of caller-provided object type.
20222 (Build_Subprogram_Calling_Stubs): When retrieveing the original spec for
20223 a RACW primitive operation, we might get a subprogram declaration for an
20224 ancestor of the RACW designated type (not for the designated type
20225 itself), in the case where this operation is inherited. In this case we
20226 have no easy means of determining the original tagged type for which
20227 the primitive was declared, so instead we now rely on
20228 Copy_Specification to use the Is_Controlling_Formal flag to determine
20229 which formals require type substitution.
20230
202312007-04-06 Robert Dewar <dewar@adacore.com>
20232 Ed Schonberg <schonberg@adacore.com>
20233
20234 * exp_intr.adb (Expand_Exception_Call): Calls to subprograms in
20235 GNAT.Current_Exception are not allowed if pragma Restrictions
20236 (No_Exception_Propagation) is set and in any case make the associated
20237 handler unsuitable as a target for a local raise statement.
20238 (Expand_Dispatching_Constructor_Call): Replace generation of call to the
20239 run-time subprogram CW_Membership by call to Build_CW_Membership.
20240 (Expand_Dispatching_Constructor_Call): If the dispatching tag is given
20241 by a function call, a temporary must be created before expanding the
20242 Constructor_Call itself, to prevent out-of-order elaboration in the
20243 back-end when stack checking is enabled..
20244
202452007-04-06 Ed Schonberg <schonberg@adacore.com>
20246
20247 * exp_pakd.adb (Expand_Packed_Boolean_Operator): The bounds of the
20248 result are the bounds of the left operand, not the right.
20249
202502007-04-06 Ed Schonberg <schonberg@adacore.com>
20251
20252 * exp_strm.adb
20253 (Build_Mutable_Record_Write_Procedure): For an Unchecked_Union type, use
20254 discriminant defaults.
20255 (Build_Record_Or_Elementary_Output_Procedure): Ditto.
20256 (Make_Component_List_Attributes): Ditto.
20257
202582007-04-06 Ed Schonberg <schonberg@adacore.com>
20259 Bob Duff <duff@adacore.com>
20260
20261 * sem_aggr.adb (Resolve_Record_Aggregate): In semantics-only mode treat
20262 an association with a box as providing a value even though the
20263 initialization procedure for the type is not available.
20264 (Resolve_Record_Aggregate): Check that a choice of an association with a
20265 box corresponds to a component of the type.
20266 (Resolve_Record_Aggregate): Split Is_Abstract flag into
20267 Is_Abstract_Subprogram and Is_Abstract_Type.
20268
20269 * exp_tss.adb (Base_Init_Proc): Use Is_Type instead of Type_Kind for
20270 assert.
20271
20272 * inline.adb (Add_Inlined_Body): Split Is_Abstract flag into
20273 Is_Abstract_Subprogram and Is_Abstract_Type. Make sure these are
20274 called only when appropriate.
20275
202762007-04-06 Olivier Hainque <hainque@adacore.com>
20277
20278 * g-alleve.ads (Low Level Vector type definitions): Map each to the
20279 associated vector view instead of all to the unsigned char view.
20280
20281 * g-altcon.adb (Generic_Conversions): New internal generic package,
20282 offering facilities for all the Vector/View conversion routines
20283 implemented by this unit.
20284 (To_View/To_Vector - all versions): Reimplemented in a systematic
20285 manner, using the internal Generic_Conversions facilities.
20286
202872007-04-06 Pascal Obry <obry@adacore.com>
20288
20289 * g-arrspl.adb (Free) [Element_Access]: New routine to free the source
20290 string.
20291 (Create): Free the source string before storing the new one.
20292
202932007-04-06 Vincent Celier <celier@adacore.com>
20294
20295 * g-debpoo.adb (Validity): New package with a complete new
20296 implementation of subprograms Is_Valid and Set_Valid.
20297 (Is_Valid): Move to local package Validity
20298 (Set_Valid): Move to local package Validity
20299
203002007-04-06 Arnaud Charlet <charlet@adacore.com>
8a57e48f 20301 Pablo Oliveira <oliveira@adacore.com>
4b437c6b
AC
20302
20303 * g-expect.adb (Get_Command_Output): When expanding the output buffer
20304 we must ensure that there is enough place for the new data we are going
20305 to copy in.
20306
203072007-04-06 Thomas Quinot <quinot@adacore.com>
20308
20309 * g-md5.ads, g-md5.adb (Digest): Fix off-by-one error in padding
20310 computation.
20311
203122007-04-06 Jose Ruiz <ruiz@adacore.com>
20313 Vincent Celier <celier@adacore.com>
20314
20315 * gnatcmd.adb (B_Start): Add prefix of binder generated file.
20316 (Stack_String): Add this String that contains the name of the Stack
20317 package in the project file.
20318 (Packages_To_Check_By_Stack): Add this list that contains the packages
20319 to be checked by gnatstack, which are the naming and the stack packages.
20320 (Check_Files): If no .ci files were specified for gnatstack we add all
20321 the .ci files belonging to the projects, including binder generated
20322 files.
20323 (Non_VMS_Usage): Document that gnatstack accept project file switches.
20324 (GNATCmd): Update the B_Start variable if we are in a VMS environment.
20325 Add gnatstack to the list of commands that use project file related
20326 switches, and get the single attribute Switches from the stack package
20327 in a project file when calling gnatstack. Parse the -U flag for
20328 processing files belonging to all projects in the project tree.
20329 Remove all processing for command Setup
20330
20331 * prj-attr.adb: Add new package Stack with single attribute Switches
20332
20333 * vms_conv.ads (Command_Type): Add command Stack.
20334 Move to body declarations that are only used in the body: types Item_Id,
20335 Translation_Type, Item_Ptr, Item and its subtypes.
20336
20337 * vms_conv.adb: (Initialize): Add data for new command Stack.
20338 Add declarations moved from the spec: types Item_Id, Translation_Type,
20339 Item_Ptr, Item and its subtypes.
20340 (Cargs_Buffer): New table
20341 (Cargs): New Boolean global variable
20342 (Process_Buffer): New procedure to create arguments
20343 (Place): Put character in table Buffer or Cargs_Buffer depending on the
20344 value of Cargs.
20345 (Process_Argument): Set Cargs when processing qualifiers for GNAT
20346 COMPILE
20347 (VMS_Conversion): Call Process_Buffer for table Buffer and, if it is not
20348 empty, for table Cargs_Buffer.
20349 (Initialize): Remove component Setup in Command_List
20350
203512007-04-06 Vincent Celier <celier@adacore.com>
20352
20353 * gprep.adb (Process_Files.Process_One_File): Use full file name when
20354 issuing pragma Source_Reference.
20355
203562007-04-06 Emmanuel Briot <briot@adacore.com>
20357
20358 * g-regpat.adb (Parse_Posix_Character_Class): Fix handling of
20359 [[:xdigit:]] character class.
20360 Also raise an exception when an invalid character class is used.
20361
203622007-04-06 Pascal Obry <obry@adacore.com>
20363
20364 * i-cstrea.ads: (fopen): Add encoding parameter.
20365 (freopen): Idem.
20366 Change reference from a-sysdep.c to sysdep.c in comment.
20367 Update copyright notice.
20368 This set of patch add support for the encoding form parameter.
20369
20370 * mingw32.h (S2WSU): New macro to convert from a string to a
20371 wide-string using the UTF-8 encoding. The S2WS macro supports now only
20372 standard 8bits encoding.
20373 (WS2SU): As above but converting from wide-sring to string.
20374 This is needed as it is necessary to have access to both versions in the
20375 runtime for the form parameter encoding support.
20376 This set of patch add support for the encoding form parameter.
20377 (S2WS): Improve implementation to handle cases where the filename is not
20378 UTF-8 encoded. In this case we default to using the current code page
20379 for the conversion.
20380
20381 * s-crtl-vms64.ads, s-crtl.ads (Filename_Encoding): New enumeration
20382 type (UTF8, ASCII_8bits). This enumeration has a rep clause to match
20383 the constants defined in adaint.h.
20384 (fopen): Add encoding parameter.
20385 (freopen): Idem.
20386
20387 * s-ficobl.ads (AFCB): Add Encoding field to record the filename
20388 encoding. This is needed for the Reset routine (freopen low level-call).
20389
20390 * s-fileio.adb (Open): Decode encoding form parameter and set the
20391 corresponding encoding value into AFCB structure.
20392 (Reset): Pass the encoding value to freopen.
20393 (Close): Move the call to Lock_Task to the beginning of the procedure.
20394
203952007-04-06 Geert Bosch <bosch@adacore.com>
20396 Robert Dewar <dewar@adacore.com>
20397
20398 * i-fortra.ads: Add Double_Complex type.
20399
20400 * impunit.adb: (Is_Known_Unit): New function
20401 Add Gnat.Byte_Swapping
20402 Add GNAT.SHA1
20403 Add new Ada 2005 units
20404 Ada.Numerics.Generic_Complex_Arrays, Ada.Numerics.Generic_Real_Arrays,
20405 Ada.Numerics.Complex_Arrays, Ada.Numerics.Real_Arrays,
20406 Ada.Numerics.Long_Complex_Arrays, Ada.Numerics.Long_Long_Complex_Arrays,
20407 Ada.Numerics.Long_Long_Real_Arrays and Ada.Numerics.Long_Real_Arrays
20408
20409 * impunit.ads (Is_Known_Unit): New function
20410
20411 * a-ngcoar.adb, a-ngcoar.ads, a-ngrear.adb,
20412 a-ngrear.ads, a-nlcoar.ads, a-nllcar.ads, a-nllrar.ads, a-nlrear.ads,
20413 a-nucoar.ads, a-nurear.ads, g-bytswa.adb, g-bytswa-x86.adb,
20414 g-bytswa.ads, g-sha1.adb, g-sha1.ads, i-forbla.ads, i-forlap.ads,
20415 s-gearop.adb, s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb,
20416 s-gecola.ads, s-gerebl.adb, s-gerebl.ads, s-gerela.adb, s-gerela.ads:
20417 New files.
20418
20419 * Makefile.rtl: Add g-bytswa, g-sha1, a-fzteio and a-izteio
20420
20421 * a-fzteio.ads, a-izteio.ads: New Ada 2005 run-time units.
20422
9e94c78f 204232007-04-06 Eric Botcazou <botcazou@adacore.com>
4b437c6b
AC
20424 Arnaud Charlet <charlet@adacore.com>
20425
20426 * init.c: Reuse PA/HP-UX code for IA-64/HP-UX, except
20427 __gnat_adjust_context_for_raise.
20428 (__gnat_init_float): on x86 vxworks 5.x and 6.x, we use the same
20429 implementation of floating point operations as native x86 targets.
20430 So the FPU should be initialized in the same way using finit. Fix
20431 floating point operations accuracy issues.
20432 (__gnat_install_handler, case FreeBSD): Use proper type for sa_sigaction
20433 member in struct sigaction, so as to avoid warning for incompatible
20434 pointer types.
20435
9e94c78f 204362007-04-06 Serguei Rybin <rybin@adacore.com>
4b437c6b
AC
20437
20438 * lib.ads, lib.adb (Tree_Read): Release the memory occupied by the
20439 switches from previously loaded tree
20440
204412007-04-06 Thomas Quinot <quinot@adacore.com>
20442
20443 * lib-writ.adb (Write_With_Lines): Factor duplicated code between the
20444 cases where a given dependency has a body or not.
20445 (Write_With_File_Names): New subprogram, common code for the two cases
20446 above.
20447
204482007-04-06 Ed Schonberg <schonberg@adacore.com>
20449 Javier Miranda <miranda@adacore.com>
20450
9e81dbc7 20451 * lib-xref.ads, lib-xref.adb:
4b437c6b
AC
20452 Modify the loop that collects type references, to include interface
20453 types that the type implements. List each of these interfaces when
20454 building the entry for the type.
20455 (Generate_Definition): Initialize component Def and Typ of new entry
20456 in table Xrefs, to avoid to have these components unitialized.
20457 (Output_References): Split Is_Abstract flag into
20458 Is_Abstract_Subprogram and Is_Abstract_Type.
20459 (Generate_Reference): Add barrier to do not generate the warning
20460 associated with Ada 2005 entities with entities generated by the
20461 expander.
20462
204632007-04-06 Robert Dewar <dewar@adacore.com>
20464 Arnaud Charlet <charlet@adacore.com>
20465 Vincent Celier <celier@adacore.com>
20466
20467 * gnat_rm.texi, gnat_ugn.texi: Add -gnatyl documentation
20468 Update 'Exception Handling Control' chapter which was outdated.
20469 Minor fix to documentation of -gnatwq
20470 Remove section "Adapting the Run Time to a New C++ Compiler" because
20471 it is now obsolete.
20472 Add passage on need of -nostart-files in some non-ada-main cases.
20473 Document new switch -eS (/STANDARD_OUTPUT_FOR_COMMANDS) for gnatmake
20474 Update documentation about Interfacing with C++
20475 Add documentation for new gnatmake switch -p
20476 Add missing protocol part in URLs.
20477 Document -gnatyA
20478 Document pragma Compile_Time_Error
20479 Add documentation for Object_Size indicating that stand alone
20480 objects can have a larger size in some cases.
20481 Add node for GNAT.Byte_Swapping, GNAT.SHA1
20482 Update reference to the Ravenscar profile.
20483 Document pragma Unreferenced_Objects
20484
20485 * gnat-style.texi: Fix typo
20486
204872007-04-06 Vincent Celier <celier@adacore.com>
20488
20489 * mlib.adb (Building_Library): Only output "building a library..." in
20490 verbose mode
20491
20492 * mlib-prj.adb (Build_Library): Only output lists of object and ALI
20493 files in verbose mode.
20494
20495 * mlib-utl.adb (Ar): Only output the first object files when not in
20496 verbose mode.
20497 (Gcc): Do not display all the object files if not in verbose mode, only
20498 the first one.
20499
205002007-04-06 Robert Dewar <dewar@adacore.com>
20501
20502 * namet.ads, namet.adb (wn): Improve this debugging routine. Calling
20503 it no longer destroys the contents of Name_Buffer or Name_Len and
20504 non-standard and invalid names are handled better.
20505 (Get_Decoded_Name_String): Improve performance by using
20506 Name_Has_No_Encodings flag in the name table.
20507 (Is_Valid_Name): New function to determine whether a Name_Id is valid.
20508 Used for debugging printouts.
20509
205102007-04-06 Robert Dewar <dewar@adacore.com>
20511 Javier Miranda <miranda@adacore.com>
20512 Bob Duff <duff@adacore.com>
20513
20514 * par-ch3.adb: (P_Type_Declaration): Set Type_Token_Location
20515 (P_Interface_Type_Definition): Remove the formal Is_Synchronized because
20516 there is no need to generate always a record_definition_node in case
20517 of synchronized interface types.
20518 (P_Type_Declaration): Update calls to P_Interface_Type_Definition.
20519 (P_Null_Exclusion): For AI-447: Remove warnings about "not null" being
20520 illegal in Ada 95, in cases where it is legal. Change the warnings to
20521 errors in other cases. Don't give the error unless the "not null"
20522 parses properly. Correct the source position at which the error occurs.
20523 (P_Known_Discriminant_Part_Opt): Pass Allow_Anonymous_In_95 => True to
20524 P_Null_Exclusion, to suppress "not null" warnings.
20525 (P_Identifier_Declarations): Code cleanup. Removed unrequired label and
20526 associated goto statements.
20527
20528 * par-endh.adb (Pop_End_Context): Allow more flexibility in placement
20529 of END RECORD
20530
20531 * scans.ads (Type_Token_Location): New flag
20532
20533 * par-ch6.adb (P_Mode): Check specifically for case of IN ACCESS
20534 (P_Formal_Part): Pass Allow_Anonymous_In_95 => True to
20535 P_Null_Exclusion, to suppress "not null" warnings.
20536
205372007-04-06 Robert Dewar <dewar@adacore.com>
20538 Javier Miranda <miranda@adacore.com>
20539 Bob Duff <duff@adacore.com>
20540 Vincent Celier <celier@adacore.com>
20541
20542 * par-prag.adb (Prag): Add dummy entry for pragma Compile_Time_Error
20543 (Extensions_Allowed): No longer sets Ada_Version
20544 Entry for pragma Unreferenced_Objects
20545
20546 * sem_prag.adb (Analyze_Pragma, case Priority): Force with of
20547 system.tasking if pragma priority used in a procedure
20548 (Analyze_Pragma, case Warning): Handle dot warning switches
20549 (Process_Compile_Time_Warning_Or_Error): New procedure
20550 (Analyze_Pragma): Add processing for Compile_Time_Error
20551 Add support for extra arguments External_Name and Link_Name.
20552 Remove code associated with pragmas CPP_Virtual and CPP_Vtable.
20553 (Process_Import_Or_Interface): Add support for the use of pragma Import
20554 with tagged types.
20555 (Extensions_Allowed): No longer affects Ada_Version
20556 (Analyze_Pragma): Split Is_Abstract flag into Is_Abstract_Subprogram and
20557 Is_Abstract_Type. Make sure these are called only when appropriate.
20558 Add processing for pragma Unreferenced_Objects
20559
20560 * snames.h, snames.ads, snames.adb: Add entry for pragma
20561 Compile_Time_Error
20562 Add new standard name Minimum_Binder_Options for new gprmake
20563 Add new standard names for gprmake: Archive_Suffix,
20564 Library_Auto_Init_Supported, Library_Major_Minor_Id_Supported,
20565 Library_Support, Library_Version_Options,
20566 Shared_Library_Minimum_Options,
20567 Shared_Library_Prefix, Shared_Library_Suffix, Symbolic_Link_Supported.
20568 Change Name_Call to Name_uCall so that it cannot clash with a legal
20569 subprogram name.
20570 Add new standard names Mapping_Spec_Suffix and Mapping_Body_Suffix
20571 Append C_Plus_Plus to convention identifiers as synonym for CPP
20572 Add new standard names Stack and Builder_Switches
20573 Add new standard names: Compiler_Minimum_Options, Global_Config_File,
20574 Library_Builder, Local_Config_File, Objects_Path, Objects_Path_File,
20575 Run_Path_Option, Toolchain_Version.
20576 Entry for pragma Unreferenced_Objects
20577
20578 * switch-c.adb (Scan_Front_End_Switches): Store correct -gnateD
20579 switches, without repetition of "eD". Make sure that last character of
20580 -gnatep= switch is not taken as -gnat switch character.
20581 Complete rewrite of circuit for handling saving compilation options
20582 Occasioned by need to support dot switchs for -gnatw, but cleans up
20583 things in general.
20584 -gnatX does not affect Ada_Version
20585 Include -gnatyA in -gnatg style switches
20586
20587 * sem_warn.ads, sem_warn.adb (Output_Unreferenced_Messages): Exclude
20588 warnings on return objects.
20589 (Warn_On_Useless_Assignment): Exclude warnings on return objects
20590 (Set_Dot_Warning_Switch): New procedure
20591 (Check_References): Add missing case of test for
20592 Has_Pragma_Unreferenced_Objects
20593 (Output_Unreferenced_Messages): Implement effect of new pragma
20594 Unreferenced_Objects, remove special casing of limited controlled
20595 variables.
20596
205972007-04-06 Vincent Celier <celier@adacore.com>
20598
20599 * prj-ext.adb (Initialize_Project_Path): New procedure that initialize
20600 the default project path, initially done during elaboration of the
20601 package.
20602 If the prefix returned by Sdefault is null, get the prefix from a call
20603 to Executable_Prefix_Path.
20604 (Project_Path): Call Initialize_Project_Path if Current_Project_Path is
20605 null.
20606
20607 * prj-nmsc.adb (Get_Path_Names_And_Record_Sources): Use the non
20608 canonical directory name to open the directory from which files are
20609 retrieved.
20610 (Record_Other_Sources): Idem.
20611 (Locate_Directory): Add the possibility to create automatically missing
20612 directories when Setup_Projects is True.
20613 Call Locate_Directory so that the directory will be created when
20614 Setup_Projects is True, for object dir, library dir, library ALI dir,
20615 library source copy dir and exec dir.
20616
20617 * prj-pp.adb (Max_Line_Length): Set to 255 for compatibility with older
20618 versions of GNAT.
20619
206202007-04-06 Robert Dewar <dewar@adacore.com>
20621
20622 * sem_ch13.ads, sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order):
20623 Use First/Next_Component_Or_Discriminant
20624 (Analyze_Record_Representation_Clause):
20625 Use First/Next_Component_Or_Discriminant
20626 (Check_Component_Overlap): Use First/Next_Component_Or_Discriminant
20627 (Analyze_Attribute_Definition_Clause, case Value_Size): Reject
20628 definition if type is unconstrained.
20629 (Adjust_Record_For_Reverse_Bit_Order): New procedure
20630 (Analyze_Attribute_Definition_Clause): Split Is_Abstract flag into
20631 Is_Abstract_Subprogram and Is_Abstract_Type.
20632 (Adjust_Record_For_Reverse_Bit_Order): New procedure
20633
20634 * repinfo.adb (List_Record_Info): Use First/
20635 Next_Component_Or_Discriminant.
20636
20637 * style.ads, styleg-c.adb, styleg-c.ads (Check_Array_Attribute_Index):
20638 New procedure.
20639
20640 * stylesw.ads, stylesw.adb: Recognize new -gnatyA style switch
20641 Include -gnatyA in default switches
20642
20643 * opt.ads: (Warn_On_Non_Local_Exception): New flag
20644 (Warn_On_Reverse_Bit_Order): New flag
20645 (Extensions_Allowed): Update the documentation.
20646 (Warn_On_Questionable_Missing_Parens): Now on by default
20647
20648 * usage.adb: Add documentation of -gnatw.x/X switches
20649 Document new -gnatyA style switch
20650 -gnatq warnings are on by default
20651
206522007-04-06 Ed Falis <falis@adacore.com>
20653
20654 * s-carun8.adb, s-carsi8.adb (Compare_Array_?8): modify so that last
20655 full word is no longer compared twice.
20656
206572007-04-06 Ed Schonberg <schonberg@adacore.com>
20658
20659 * sem_ch10.adb (Install_Limited_Context_Clauses.
20660 Expand_Limited_With_Clause): Use a new copy of selector name in the
20661 call to Make_With_Clause. This fixes the tree structure for ASIS
20662 purposes. Nothing is changed in the compiler behaviour.
20663 (Process_Body_Clauses): Handle properly use clauses whose prefix is
20664 a package renaming.
20665 (Install_Limited_With_Clauses): Do not install non-limited view when it
20666 is still incomplete.
20667
206682007-04-06 Ed Schonberg <schonberg@adacore.com>
20669 Gary Dismukes <dismukes@adacore.com>
20670
20671 * sem_ch12.adb (Check_Generic_Actuals): Use first subtype of actual
20672 when capturing size information, instead of base type, which for a
20673 formal array type will be the unconstrained type.
20674 (Analyze_Formal_Object_Declaration): Add check for illegal default
20675 expressions for a formal in object of a limited type.
20676 (Instantiate_Object): Ditto.
20677 (Check_Formal_Package_Instance): Skip entities that are formal objects,
20678 because they were defaulted in the formal package and no check applies
20679 to them.
20680 (Check_Formal_Package_Instance): Extend conformance check to other
20681 discrete types beyond Integer.
20682 (Process_Default): Copy directly the unmatched formal. A generic copy
20683 has already been performed in Analyze_Formal_Package.
20684 (Analyze_Associations): If a formal subprogram has no match, check for
20685 partial parametrization before looking for a default, to prevent
20686 spurious errors.
20687 (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation): Do
20688 not set the instantiation environment before analyzing the actuals.
20689 Fixes regression on 8515-003 with implementation of AI-133.
20690 Set_Instance_Env checks whether the generic unit is a predefined
20691 unit, in which case the instance must be analyzed with the latest Ada
20692 mode. This setting must take place after analysis of the actuals,
20693 because the actuals must be analyzed and frozen in the Ada mode extant
20694 outside of the current instantiation.
20695 (Save_Env, Restore_Env): Preserve and restore the configuration
20696 parameters so that predefined units can be compiled in the proper Ada
20697 mode.
20698 (Analyze_Formal_Object_Declaration,Analyze_Formal_Subprogram,
20699 Instantiate_Type): Split Is_Abstract flag into Is_Abstract_Subprogram
20700 and Is_Abstract_Type.
20701 (Analyze_Formal_Package): For better error recovery, Add exception
20702 handler to catch Instantion_Error, which can be raised in
20703 Analyze_Associations
20704
207052007-04-06 Ed Schonberg <schonberg@adacore.com>
20706 Bob Duff <duff@adacore.com>
20707 Gary Dismukes <dismukes@adacore.com>
20708
20709 * sem_ch4.adb (Try_Primitive_Operation): The call is legal if the
20710 prefix type is a discriminated subtype of the type of the formal.
20711 (Analyze_Allocator): Collect all coextensions regardless of the context.
20712 Whether they can be allocated statically is determined in exp_ch4.
20713 (Analyze_Selected_Component): If the prefix is a limited view and the
20714 non-limited view is available, use the non-limited one.
20715 (Operator_Check): For "X'Access = Y'Access" (which is ambiguous, and
20716 therefore illegal), suggest a qualified expression rather than a type
20717 conversion, because a type conversion would be illegal in this context.
20718 (Anayze_Allocator): Trace recursively all nested allocators so that all
20719 coextensions are on the corresponding list for the root. Do no mark
20720 coextensions if the root allocator is within a declaration for a stack-
20721 allocated object, because the access discriminants will be allocated on
20722 the stack as well.
20723 (Analyze_Call): Remove restriction on calls to limited functions for the
20724 cases of generic actuals for formal objects, defaults for formal objects
20725 and defaults for record components.
20726 (Analyze_Allocator): Before analysis, chain coextensions on the proper
20727 element list. Their expansion is delayed until the enclosing allocator
20728 is processed and its finalization list constructed.
20729 (Try_Primitive_Operation): If the prefix is a concurrent type, looks
20730 for an operation with the given name among the primitive operations of
20731 the corresponding record type.
20732 (Analyze_Selected_Component): If the prefix is a task type that
20733 implements an interface, and there is no entry with the given name,
20734 check whether there is another primitive operation (e.g. a function)
20735 with that name.
20736 (Try_Object_Operation, Analyze_One_Call, Try_Indexed_Call): Handle
20737 properly the indexing of a function call written in prefix form, where
20738 the function returns an array type, and all parameters of the function
20739 except the first have defaults.
20740 (Analyze_Equality_Op): If this is a call to an implicit inequality, keep
20741 the original operands, rather than relocating them, for efficiency and
20742 to work properly when an operand is overloaded.
20743 (Analyze_Allocator,Operator_Check,Remove_Abstract_Operations): Split
20744 Is_Abstract flag into Is_Abstract_Subprogram and Is_Abstract_Type.
20745 (Analyze_Selected_Component): If the prefix is a private extension, only
20746 scan the visible components, not those of the full view.
20747 (Try_Primitive_Operation): If the operation is a procedure, collect all
20748 possible interpretations, as for a function, because in the presence of
20749 classwide parameters several primitive operations of the type can match
20750 the given arguments.
20751
207522007-04-06 Ed Schonberg <schonberg@adacore.com>
20753 Robert Dewar <dewar@adacore.com>
20754
20755 * sem_ch5.adb (Analyze_Assignment): Reject a right-hand side that is a
20756 tag-indeterminate call to an abstract function, when the left-hand side
20757 is not classwide.
20758 (Analyze_Loop_Statement): Improve detection of infinite loops
20759
207602007-04-06 Ed Schonberg <schonberg@adacore.com>
20761 Thomas Quinot <quinot@adacore.com>
20762
20763 * sem_ch7.ads, sem_ch7.adb (Inspect_Deferred_Constant_Completion): Move
20764 out of Analyze_Package_Declaration, because processing must be applied
20765 to package bodies as well, for deferred constants completed by pragmas.
20766 (Analyze_Package_Declaration): When the package declaration being
20767 analyzed does not require an explicit body, call Check_Completion.
20768 (May_Need_Implicit_Body): An implicit body is required when a package
20769 spec contains the declaration of a remote access-to-classwide type.
20770 (Analyze_Package_Body): If the package contains RACWs, append the
20771 pending subprogram bodies generated by exp_dist at the end of the body.
20772 (New_Private_Type,Unit_Requires_Body): Split Is_Abstract flag into
20773 Is_Abstract_Subprogram and Is_Abstract_Type.
20774 (Preserve_Full_Attributes): The full entity list is not an attribute
20775 that must be preserved from full to partial view.
20776
9e81dbc7
AS
20777 * sem_dist.adb (Add_RAS_Dereference_TSS):
20778 Change primitive name to _Call so it cannot clash with any legal
20779 identifier, and be special-cased in Check_Completion.
20780 Mark the full view of the designated type for the RACW associated with
20781 a RAS as Comes_From_Source to get proper view switching when installing
20782 private declarations.
20783 Provite a placeholder nested package body along with the nested spec
20784 to have a place for Append_RACW_Bodies to generate the calling stubs
20785 and stream attributes.
4b437c6b
AC
20786
207872007-04-06 Ed Schonberg <schonberg@adacore.com>
20788 Robert Dewar <dewar@adacore.com>
20789
20790 * sem_ch8.adb (Has_Components): If the argument is an incomplete type
20791 that is a limited view, check the non-limited view if available.
20792 (Undefined): Refine error message for missing with of Text_IO
20793 (Find_Expanded_Name): Use Is_Known_Unit for more accurate error message
20794 to distinguish real missing with cases.
20795 Fix format of all missing with messages
20796 (Analyze_Subprogram_Renaming): Emit proper error message on illegal
20797 renaming as body when renamed entity is abstract.
20798
207992007-04-06 Ed Schonberg <schonberg@adacore.com>
20800 Javier Miranda <miranda@adacore.com>
20801
20802 * sem_type.ads, sem_type.adb (Has_Abstract_Interpretation): Make
20803 predicate recursive, to handle complex expressions on literals whose
20804 spurious ambiguity comes from the abstract interpretation of some
20805 subexpression.
20806 (Interface_Present_In_Ancestor): Add support to concurrent record
20807 types.
20808 (Add_One_Interp,Disambiguate): Split Is_Abstract flag into
20809 Is_Abstract_Subprogram and Is_Abstract_Type.
20810
208112007-04-06 Ed Schonberg <schonberg@adacore.com>
20812 Javier Miranda <miranda@adacore.com>
20813
20814 * sem_util.ads, sem_util.adb (Object_Access_Level): If the object is a
20815 dereference of a local object R created as a reference to another
20816 object O, use the access level of O.
20817 (Matches_Prefixed_View_Profile): Use common predicate Conforming_Types,
20818 rather than local Same_Formal_Type, to check whether protected operation
20819 overrides an inherited one.
20820 (Same_Formal_Type): New predicate, used when matching signatures of
20821 overriding synchronized operations, to handle the case when a formal
20822 has a type that is a generic actual.
20823 (Is_Aliased_View): Replace check on E_Task_Type and E_Protected_Type by
20824 predicate Is_Concurrent_Type. This ensures supportin case of subtypes.
20825 (Needs_One_Actual): New predicate, for Ada 2005 use, to resolve
20826 syntactic ambiguities involving indexing of function calls that return
20827 arrays.
20828 (Abstract_Interface_List): New subprogram that returns the list of
20829 abstract interfaces associated with a concurrent type or a
20830 concurrent record type.
20831 (Interface_Present_In_Parent): New subprogram used to check if a
20832 given type or some of its parents implement a given interface.
20833 (Collect_Abstract_Interfaces): Add support for concurrent types
20834 with interface types.
20835 (Has_Abstract_Interfaces): Add support for concurrent types with
20836 interface types.
20837 (Is_Parent): New subprogram that determines whether E1 is a parent
20838 of E2. For a concurrent type its parent is the first element of its
20839 list of interface types; for other types this function provides the
20840 same result than Is_Ancestor.
20841 (Enclosing_Subprogram): Add test for N_Extended_Return_Statement.
20842 (Collect_Synchronized_Interfaces): Removed because the subprogram
20843 Collect_Abstract_Interfaces provides this functionality.
20844 (Collect_Abstract_Interfaces): Minor update to give support to
20845 concurrent types and thus avoid undesired code duplication.
20846 (Get_Subprogram_Entity): Handle entry calls.
20847 (May_Be_Lvalue): Include actuals that appear as in-out parameters in
20848 entry calls.
20849 (Enter_Name): Do not give -gnatwh hiding warning for record component
20850 entities, they never result in hiding.
20851
208522007-04-06 Ed Schonberg <schonberg@adacore.com>
20853 Robert Dewar <dewar@adacore.com>
20854
20855 * sinfo.ads, sinfo.adb (Coextensions): New element list for allocators,
20856 to chain nested components that are allocators for access discriminants
20857 of the enclosing object.
20858 Add N_Push and N_Pop nodes
20859 New field Exception_Label added
20860 (Local_Raise_Statements): New field in N_Exception_Handler_Node
20861 (Local_Raise_Not_OK): New flag in N_Exception_Handler_Node
20862 (Is_Coextension): New flag for allocators, to mark allocators that
20863 correspond to access discriminants of dynamically allocated objects.
20864 (N_Block_Statement): Document the fact that the corresponding entity
20865 can be an E_Return_Statement.
20866 (Is_Coextension): New flag for allocators.
20867 Remove all code for DSP option
20868
20869 * sprint.ads, sprint.adb: Display basic information for class_wide
20870 subtypes. Add handling of N_Push and N_Pop nodes
20871
208722007-04-06 Arnaud Charlet <charlet@adacore.com>
20873
20874 * s-tpobop.adb (Exceptional_Complete_Entry_Body): Undefer abortion
20875 before propagating exception.
20876
208772007-04-06 Olivier Hainque <hainque@adacore.com>
20878
20879 * tracebak.c (PC_ADJUST - ia64): -4 instead of -16, expected to yield
20880 an address always within the call instruction from a return address.
20881
208822007-04-06 Olivier Hainque <hainque@adacore.com>
9e94c78f 20883 Eric Botcazou <botcazou@adacore.com>
4b437c6b
AC
20884
20885 * trans.c (call_to_gnu) <TYPE_RETURNS_BY_TARGET_PTR_P>: Return an
20886 expression with a COMPOUND_EXPR including the call instead of emitting
20887 the call directly here.
20888 (gnat_to_gnu) <N_Slice>: Do not return a non-constant low bound if the
20889 high bound is constant and the slice is empty. Tidy.
20890 (tree_transform, case N_Op_Not): Handle properly the case where the
20891 operation applies to a private type whose full view is a modular type.
20892 (Case_Statement_To_gnu): If an alternative is an E_Constant with an
20893 Address_Clause, use the associated Expression as the GNAT tree
20894 representing the choice value to ensure the corresponding GCC tree is
20895 of the proper kind.
20896 (maybe_stabilize_reference): Stabilize COMPOUND_EXPRs as a whole
20897 instead of just the operands, as the base GCC stabilize_reference does.
20898 <CALL_EXPR>: New case. Directly stabilize the call if an lvalue is not
20899 requested; otherwise fail.
20900 (addressable_p) <COMPONENT_REF>: Do not test DECL_NONADDRESSABLE_P.
20901
209022007-04-06 Thomas Quinot <quinot@adacore.com>
20903
20904 * uintp.ads, uintp.adb (UI_Div_Rem): New subprogram, extending previous
20905 implementation of UI_Div.
20906 (UI_Div): Reimplement as a call to UI_Div_Rem.
20907 (UI_Rem): Take advantage of the fact that UI_Div_Rem provides the
20908 remainder, avoiding the cost of a multiplication and a subtraction.
20909 (UI_Modular_Inverse): Take advantage of the fact that UI_Div_Rem
20910 provides both quotient and remainder in a single computation.
20911 (UI_Modular_Exponentiation, UI_Modular_Inverse): New modular arithmetic
20912 functions for uint.
20913 (UI_Modular_Inverse): Add a note that the behaviour of this subprogram
20914 is undefined if the given n is not inversible.
20915
209162007-04-06 Olivier Hainque <hainque@adacore.com>
20917
20918 * utils2.c (known_alignment): Handle COMPOUND_EXPR, COND_EXPR and
20919 BIT_AND_EXPR. Handle also VIEW_CONVERT_EXPR, as the other conversion
20920 opcodes.
20921
9e94c78f 209222007-04-06 Eric Botcazou <botcazou@adacore.com>
4b437c6b
AC
20923 Olivier Hainque <hainque@adacore.com>
20924
20925 * utils.c (update_pointer_to): Make a copy of the couple of FIELD_DECLs
20926 when updating the contents of the old pointer to an unconstrained array.
20927 (end_subprog_body): Set error_gnat_node to Empty.
20928 (write_record_type_debug_info): Do not be unduly sparing with our bytes.
20929 (unchecked_convert): For subtype to base type conversions, require that
20930 the source be a subtype if it is an integer type.
20931 (builtin_decls): New global, vector of available builtin functions.
20932 (gnat_pushdecl): Add global builtin function declaration nodes to the
20933 builtin_decls list.
20934 (gnat_install_builtins): Adjust comments.
20935 (builtin_function): Set DECL_BUILTIN_CLASS and DECL_FUNCTION_CODE before
20936 calling gnat_pushdecl, so that it knows when it handed a builtin
20937 function declaration node.
20938 (builtin_decl_for): Search the builtin_decls list.
20939
9e94c78f 209402007-04-06 Eric Botcazou <botcazou@adacore.com>
4b437c6b 20941
9e81dbc7 20942 * s-stchop-vxworks.adb:
4b437c6b
AC
20943 (Stack_Check): Raise Storage_Error if the argument has wrapped around.
20944
209452007-04-06 Robert Dewar <dewar@adacore.com>
20946 Arnaud Charlet <charlet@adacore.com>
20947
20948 * a-diroro.ads: Inserted the pragma Unimplemented_Unit
20949
20950 * bindgen.adb (Gen_Output_File_Ada): Generate pragma Ada_95 at start
20951 of files
20952 Add mention of -Sev (set initialize_scalars option from environment
20953 variable at run time) in gnatbind usage message.
20954
20955 * elists.ads, elists.adb: (Append_Unique_Elmt): New procedure
20956
20957 * fname-uf.ads: Minor comment fix
20958
20959 * osint.ads: Change pragma Elaborate to Elaborate_All
20960
20961 * par-load.adb: Add documentation.
20962
20963 * sem_cat.ads, sem_cat.adb: Minor code reorganization
20964
20965 * s-parint.ads (RCI_Locator) : Add 'Version' generic formal
20966
20967 * s-secsta.ads: Extra comments
20968
20969 * s-soflin.ads: Minor comment fixes
20970
20971 * s-stratt.ads (Block_Stream_Ops_OK): Removed.
20972
20973 * s-wchcon.ads: Minor comment addition
20974
20975 * treepr.adb: Minor change in message
20976 (Print_Name,Print_Node): Make these debug printouts more robust: print
20977 "no such..." instead of crashing on bad input.
20978
719bb4e3 209792007-03-30 Rafael Ávila de Espíndola <espindola@google.com>
47ecd38d
RAE
20980
20981 * trans.c (Attribute_to_gnu): Use get_signed_or_unsigned_type
20982 instead of gnat_signed_or_unsigned_type.
20983 * utils.c (gnat_signed_or_unsigned_type): Remove.
20984 * misc.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove
20985 * gigi.h (gnat_signed_or_unsigned_type): Remove
20986
9645c3c5
RS
209872007-03-09 Roger Sayle <roger@eyesopen.com>
20988
20989 * cuintp.c (UI_To_gnu): Use fold_buildN calls instead of calling
20990 fold with the result of buildN.
20991 * decl.c (gnat_to_gnu_entity): Likewise.
20992 * trans.c (Attribute_to_gnu, gnat_to_gnu, emit_check): Likewise.
20993 * utils.c (finish_record_type, merge_sizes, max_size, convert):
20994 Likewise.
20995 * utils2.c (gnat_truthvalue_conversion, compare_arrays,
20996 nonbinary_modular_operation, build_binary_op, build_unary_op,
20997 build_cond_expr): Likewise.
20998
20999 * utils.c (convert): Use fold_build1 when casting values to void.
21000 * utils2.c (gnat_truthvalue_conversion): Use build_int_cst and
21001 fold_convert instead of convert when appropriate.
21002
c279aa90
BM
210032007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
21004
21005 * Make-lang.in: Add install-pdf target as copied from
21006 automake v1.10 rules.
21007
c2615f30
AS
210082007-02-28 Andreas Schwab <schwab@suse.de>
21009
21010 * Make-lang.in (doc/gnat_ugn_unw.texi): Depend on
21011 $(gcc_docdir)/include/gcc-common.texi and gcc-vers.texi.
21012 (doc/gnat-style.info): Likewise.
21013
7771bb62
BM
210142007-02-26 Brooks Moses <brooks.moses@codesourcery.com>
21015
21016 * gnat-style.texi: Standardize title page.
21017 * gnat_rm.texi: Likewise.
21018 * gnat_ugn.texi: Likewise.
21019
ae19c041
MM
210202007-02-25 Mark Mitchell <mark@codesourcery.com>
21021
21022 * decl.c (annotate_value): Adjust for refactoring of tree_map
21023 hierarchy.
21024
fc8600f9
MM
210252007-02-24 Mark Mitchell <mark@codesourcery.com>
21026
21027 * decl.c (annotate_value): Adjust for refactoring of tree_map
21028 hierarchy.
21029
c0bca7e1
EB
210302007-02-21 Ed Schonberg <schonberg@adacore.com>
21031
21032 PR ada/18819
21033 * sem_ch3.adb (Create_Constrained_Components): for a subtype of an
21034 untagged derived type, add hidden components to keep discriminant
21035 layout consistent, when a given discriminant of the derived type
21036 constraints several discriminants of the parent type.
21037
9f3432b8 210382007-02-16 Eric Botcazou <ebotcazou@adacore.com>
6f7f72f9 21039 Sandra Loosemore <sandra@codesourcery.com>
9f3432b8
EB
21040
21041 * trans.c (call_to_gnu): Use build_call_list instead of build3 to
21042 build the call expression.
21043 (gnat_stabilize_reference_1): Handle tcc_vl_exp.
21044 * utils.c (max_size) <tcc_exceptional>: Delete.
21045 <tcc_vl_exp>: New case.
21046 <tcc_expression>: Delete CALL_EXPR subcase.
21047 (build_global_cdtor): Use build_call_nary instead of build3.
21048 * utils2.c (build_call_1_expr): Likewise.
21049 (build_call_2_expr): Likewise.
21050 (build_call_0_expr): Likewise.
21051 (build_call_alloc_dealloc): Likewise.
21052
8438091f
AK
210532007-02-07 Andreas Krebbel <krebbel1@de.ibm.com>
21054
21055 * raise-gcc.c (get_region_description_for, get_call_site_action_for,
9e81dbc7 21056 get_action_description_for): Replace _Unwind_Word with _uleb128_t
8438091f
AK
21057 and _Unwind_SWord with _sleb128_t.
21058
0802f6a2
PB
210592007-02-06 Paolo Bonzini <bonzini@gnu.org>
21060
21061 * Make-lang.in (ada/decl.o): Add gt-ada-decl.h dependency.
21062 * decl.c: Include gt-ada-decl.h.
21063 (annotate_value_cache): New.
21064 (annotate_value): Use it instead of TREE_COMPLEXITY.
21065
326f9a75
KH
210662007-02-03 Kazu Hirata <kazu@codesourcery.com>
21067
21068 * misc.c, utils2.c: Fix comment typos.
21069
cd259a98
RS
210702007-01-24 Roger Sayle <roger@eyesopen.com>
21071
21072 * decl.c (gnat_to_gnu_entity): Use TREE_OVERFLOW instead of
21073 TREE_CONSTANT_OVERFLOW.
21074 (allocatable_size_p, annotate_value): Likewise.
21075 * trans.c (gnat_to_gnu): Likewise.
21076 * utils.c (unchecked_convert): Likewise.
21077 * utils2.c (build_simple_component_ref): Likewise.
21078
5305be7e
RG
210792007-01-23 Richard Guenther <rguenther@suse.de>
21080
21081 PR bootstrap/30541
21082 * Make-lang.in: Replace invocations of gnatmake with $(GNATMAKE).
21083 (gnatboot2): Pass staged GNATMAKE instead of STAGE_PREFIX.
21084 (gnatboot3): Likewise.
21085 (GNATBIND): Do not define.
21086 * Makefile.in (GNATBIND): Do not define.
21087
2ac7cbb5
RG
210882007-01-08 Richard Guenther <rguenther@suse.de>
21089
21090 * cuintp.c (build_cst_from_int): Use built_int_cst_type.
21091 * trans.c (gnat_to_gnu): Likewise.
21092
2989d30c
GK
210932006-12-07 Geoffrey Keating <geoffk@apple.com>
21094
21095 * Makefile.in: Replace CROSS_COMPILE with CROSS_DIRECTORY_STRUCTURE.
21096 * adaint.c: Likewise.
21097
5848e34a
EB
210982006-12-05 Aldy Hernandez <aldyh@redhat.com>
21099
6f7f72f9 21100 Merge from gimple-tuples-branch:
5848e34a 21101 2006-11-02 Aldy Hernandez <aldyh@redhat.com>
6f7f72f9 21102
5848e34a
EB
21103 * ada-tree.h (lang_tree_node): Handle gimple tuples.
21104 * trans.c (gnat_gimplify_expr): Replace MODIFY_EXPR with
21105 GIMPLE_MODIFY_STMT.
21106
d3c56bc8
KH
211072006-12-02 Kazu Hirata <kazu@codesourcery.com>
21108
21109 * Makefile.in, mingw32.h, trans.c: Fix comment typos.
21110 * gnat_rm.texi, gnat_ugn.texi: Follow spelling conventions.
21111 Fix typos.
21112
9fa25ead
EB
211132006-11-17 Eric Botcazou <ebotcazou@adacore.com>
21114
21115 PR ada/27936
21116 * trans.c (add_decl_expr): Do not dynamically elaborate padded objects
21117 if the initializer takes into account the padding.
21118
f9f770a8
RG
211192006-11-11 Richard Guenther <rguenther@suse.de>
21120
21121 * trans.c (maybe_stabilize_reference): Remove handling of
21122 FIX_CEIL_EXPR, FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
21123
75c0ed05
AC
211242006-11-05 Arnaud Charlet <charlet@adacore.com>
21125
ed41063a 21126 PR ada/29707
75c0ed05
AC
21127 * s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads
21128 (To_Target_Priority): New function.
75c0ed05 21129
70198b9f
AC
211302006-10-31 Robert Dewar <dewar@adacore.com>
21131
21132 * a-taster.adb, s-traent-vms.adb, a-elchha.ads, a-elchha.adb,
21133 a-exctra.adb, ali-util.adb, exp_disp.ads, s-stalib.ads, s-traent.adb,
21134 s-addope.ads, s-addope.adb, a-rbtgso.adb, a-crbltr.ads, a-coprnu.adb,
21135 a-cgcaso.adb, a-cgarso.adb, a-cgaaso.adb, a-coormu.adb, a-ciormu.adb,
21136 a-rbtgso.ads, a-stunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb,
21137 a-secain.adb, a-slcain.adb, a-shcain.adb, a-stwiha.adb, a-stwiha.adb,
21138 a-strhas.adb, a-strhas.adb, a-stzhas.adb, a-stzhas.adb, a-szuzha.adb,
21139 a-chacon.adb, a-chacon.adb, a-chacon.ads, a-stboha.adb, a-swbwha.adb,
21140 a-szbzha.adb: Minor reformatting. Fix header.
21141
21142 * a-numaux-x86.adb: Add parentheses for use of unary minus
21143 * a-ngcefu.adb: Supply missing parentheses for unary minus
21144 * a-ngcoty.adb: Add parens for use of unary minus
21145 * a-ngelfu.adb: Add missing parens for unary minus
21146 * a-tifiio.adb: Add parentheses for uses of unary minus
21147
211482006-10-31 Robert Dewar <dewar@adacore.com>
21149 Bob Duff <duff@adacore.com>
21150 Ed Schonberg <schonberg@adacore.com>
21151
6f7f72f9 21152 * sem_res.adb (Resolve_Unary_Op): Add warning for use of unary minus
70198b9f
AC
21153 with multiplying operator.
21154 (Expected_Type_Is_Any_Real): New function to determine from the Parent
21155 pointer whether the context expects "any real type".
21156 (Resolve_Arithmetic_Op): Do not give an error on calls to the
21157 universal_fixed "*" and "/" operators when they are used in a context
21158 that expects any real type. Also set the type of the node to
21159 Universal_Real in this case, because downstream processing requires it
21160 (mainly static expression evaluation).
21161 Reword some continuation messages
21162 Add some \\ sequences to continuation messages
21163 (Resolve_Call): Refine infinite recursion case. The test has been
21164 sharpened to eliminate some false positives.
21165 Check for Current_Task usage now includes entry barrier, and is now a
21166 warning, not an error.
21167 (Resolve): If the call is ambiguous, indicate whether an interpretation
21168 is an inherited operation.
21169 (Check_Aggr): When resolving aggregates, skip associations with a box,
21170 which are priori correct, and will be replaced by an actual default
21171 expression in the course of expansion.
21172 (Resolve_Type_Conversion): Add missing support for conversion from
21173 a class-wide interface to a tagged type. Minor code cleanup.
21174 (Valid_Tagged_Converion): Add support for abstact interface type
21175 conversions.
21176 (Resolve_Selected_Component): Call Generate_Reference here rather than
21177 during analysis, and use May_Be_Lvalue to distinguish read/write.
21178 (Valid_Array_Conversion): New procedure, abstracted from
21179 Valid_Conversion, to incorporate accessibility checks for arrays of
21180 anonymous access types.
21181 (Valid_Conversion): For a conversion to a numeric type occurring in an
21182 instance or inlined body, no need to check that the operand type is
21183 numeric, since this has been checked during analysis of the template.
21184 Remove legacy test for scope name Unchecked_Conversion.
21185
21186 * sem_res.ads: Minor reformatting
21187
21188 * a-except.adb, a-except-2005.adb: Turn off subprogram ordering
21189 (PE_Current_Task_In_Entry_Body): New exception code
21190 (SE_Restriction_Violation): Removed, not used
21191
21192 * a-except.ads: Update comments.
21193
21194 * types.h, types.ads: Add definition for Validity_Check
21195 (PE_Current_Task_In_Entry_Body): New exception code
21196 (SE_Restriction_Violation): Removed, not used
21197
211982006-10-31 Thomas Quinot <quinot@adacore.com>
21199
21200 * g-socthi-vxworks.adb (C_Gethostbyname): Fix wrong test for returned
21201 error status.
21202
212032006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
21204 Jose Ruiz <ruiz@adacore.com>
21205
21206 * a-calend-vms.adb (Leap_Sec_Ops): Temp body for package in private
21207 part of Ada.Calendar: all subprogram raise Unimplemented.
21208 (Split_W_Offset): Temp function body, raising Unimplemented
21209
9e81dbc7 21210 * a-calend.ads, a-calend-vms.ads:
70198b9f
AC
21211 Add imported variable Invalid_TZ_Offset used to designate targets unable
21212 to support time zones.
21213 (Unimplemented): Temporary function raised by the body of new
21214 subprograms below.
21215 (Leap_Sec_Ops): New package in the private part of Ada.Calendar. This
21216 unit provides handling of leap seconds and is used by the new Ada 2005
21217 packages Ada.Calendar.Arithmetic and Ada.Calendar.Formatting.
21218 (Split_W_Offset): Identical spec to that of Ada.Calendar.Split. This
21219 version returns an extra value which is the offset to UTC.
21220
21221 * a-calend.adb (Split_W_Offset): Add call to localtime_tzoff.
21222 (Leap_Sec_Ops): New body for package in private part of Ada.Calendar.
21223 (Split_W_Offset): New function body.
21224 (Time_Of): When a date is close to UNIX epoch, compute the time for
21225 that date plus one day (that amount is later substracted after
21226 executing mktime) so there are no problems with time zone adjustments.
21227
21228 * a-calend-mingw.adb: Remove Windows specific version no longer needed.
21229
21230 * a-calari.ads, a-calari.adb, a-calfor.ads, a-calfor.adb,
21231 a-catizo.ads, a-catizo.adb: New files.
21232
6f7f72f9 21233 * impunit.adb: Add new Ada 2005 entries
70198b9f
AC
21234
21235 * sysdep.c: Add external variable __gnat_invalid_tz_offset.
21236 Rename all occurences of "__gnat_localtime_r" to
21237 "__gnat_localtime_tzoff".
21238 (__gnat_localtime_tzoff for Windows): Add logic to retrieve the time
21239 zone data and calculate the GMT offset.
21240 (__gnat_localtime_tzoff for Darwin, Free BSD, Linux, Lynx and Tru64):
21241 Use the field "tm_gmtoff" to extract the GMT offset.
21242 (__gnat_localtime_tzoff for AIX, HPUX, SGI Irix and Sun Solaris): Use
21243 the external variable "timezone" to calculate the GMT offset.
21244
212452006-10-31 Arnaud Charlet <charlet@adacore.com>
21246 Jose Ruiz <ruiz@adacore.com>
21247
9e81dbc7
AS
21248 * s-osinte-posix.adb, s-osinte-linux.ads, s-osinte-freebsd.adb,
21249 s-osinte-freebsd.ads, s-osinte-solaris-posix.ads, s-osinte-hpux.ads,
70198b9f
AC
21250 s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-lynxos-3.ads,
21251 s-osinte-lynxos-3.adb (To_Target_Priority): New function maps from
21252 System.Any_Priority to a POSIX priority on the target.
21253
9e81dbc7 21254 * system-linux-ia64.ads:
70198b9f
AC
21255 Extend range of Priority types on Linux to use the whole range made
21256 available by the system.
21257
21258 * s-osinte-aix.adb, s-osinte-aix.ads (To_Target_Priority): New
21259 function maps from System.Any_Priority to a POSIX priority on the
21260 target.
21261 (PTHREAD_PRIO_PROTECT): Set real value.
21262 (PTHREAD_PRIO_INHERIT): Now a function.
21263 (SIGCPUFAIL): New signal.
21264 (Reserved): Add SIGALRM1, SIGWAITING, SIGCPUFAIL, since these signals
21265 are documented as reserved by the OS.
21266
21267 * system-aix.ads: Use the full range of priorities provided by the
21268 system on AIX.
21269
21270 * s-taprop-posix.adb: Call new function To_Target_Priority.
21271 (Set_Priority): Take into account Task_Dispatching_Policy and
21272 Priority_Specific_Dispatching pragmas when determining if Round Robin
21273 must be used for scheduling the task.
21274
9e81dbc7 21275 * system-linux-x86_64.ads, system-linux-x86.ads,
70198b9f
AC
21276 system-linux-ppc.ads: Extend range of Priority types on Linux to use
21277 the whole range made available by the system.
21278
9e81dbc7
AS
21279 * s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-irix.adb,
21280 s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-hpux-dce.adb,
70198b9f
AC
21281 s-taprop-lynxos.adb (Finalize_TCB): invalidate the stack-check cache
21282 when deallocating the TCB in order to avoid potential references to
21283 deallocated data.
21284 (Set_Priority): Take into account Task_Dispatching_Policy and
21285 Priority_Specific_Dispatching pragmas when determining if Round Robin
21286 or FIFO within priorities must be used for scheduling the task.
21287
21288 * s-taprop-vxworks.adb (Enter_Task): Store the user-level task id in
21289 the Thread field (to be used internally by the run-time system) and the
21290 kernel-level task id in the LWP field (to be used by the debugger).
21291 (Create_Task): Reorganize to unify the calls to taskSpawn into a single
21292 instance, and propagate the current task options to the spawned task.
21293 (Set_Priority): Take into account Priority_Specific_Dispatching pragmas.
21294 (Initialize): Set Round Robin dispatching when the corresponding pragma
21295 is in effect.
21296
212972006-10-31 Robert Dewar <dewar@adacore.com>
21298
9e81dbc7
AS
21299 * system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
21300 system-linux-hppa.ads, system-hpux-ia64.ads,
21301 system-lynxos-ppc.ads, system-lynxos-x86.ads, system-tru64.ads,
21302 system-vxworks-sparcv9.ads, system-solaris-x86.ads,
21303 system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
21304 system-vxworks-m68k.ads, system-vxworks-mips.ads, system-interix.ads,
21305 system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
21306 system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
70198b9f
AC
21307 system-vxworks-alpha.ads, system.ads: Add pragma Warnings(Off,
21308 Default_Bit_Order) to kill constant condition warnings for references
21309 to this switch.
21310
213112006-10-31 Vincent Celier <celier@adacore.com>
21312 Eric Botcazou <ebotcazou@adacore.com>
21313
21314 * mlib-tgt-lynxos.adb, mlib-tgt-mingw.adb, mlib-tgt-tru64.adb,
21315 mlib-tgt-aix.adb, mlib-tgt-irix.adb, mlib-tgt-hpux.adb,
21316 mlib-tgt-linux.adb, mlib-tgt-solaris.adb: Use Append_To, instead of
21317 Ext_To, when building the library file name
21318
21319 * mlib-tgt-vxworks.adb: ditto.
21320 (Get_Target_Suffix): Add support for x86 targets.
21321
21322 * mlib-fil.ads, mlib-fil.adb: (Append_To): New function
21323
9e81dbc7 21324 * mlib-tgt-darwin.adb:
70198b9f
AC
21325 Use Append_To, instead of Ext_To, when building the library file name
21326 (Flat_Namespace): New global variable.
21327 (No_Shared_Libgcc_Switch): Rename to No_Shared_Libgcc_Options.
21328 (Shared_Libgcc_Switch): Rename to With_Shared_Libgcc_Options.
21329 (Link_Shared_Libgcc): Delete.
21330 (Build_Dynamic_Library): Adjust for above changes.
21331 Use Opt package.
21332 (Build_Dynamic_Library): Pass -shared-libgcc if GCC 4 or later.
21333
213342006-10-31 Eric Botcazou <ebotcazou@adacore.com>
21335
21336 * s-taprop-solaris.adb: (Time_Slice_Val): Change type to Integer.
21337 (Initialize): Add type conversions required by above change.
21338
213392006-10-31 Jose Ruiz <ruiz@adacore.com>
21340
9e81dbc7 21341 * s-osinte-vxworks.ads, s-osinte-vxworks.adb:
70198b9f
AC
21342 (getpid): New body for this function that uses the underlying taskIdSelf
21343 function for VxWorks 5 and VxWorks 6 in kernel mode.
21344 (unsigned_int): New type, modular to allow logical bit operations.
21345 (taskOptionsGet): New imported function.
21346
21347 * s-taspri-vxworks.ads (Private_Data): Change the type for the LWP
21348 field to be compliant with the type used by the corresponding operating
21349 system primitive.
21350
213512006-10-31 Pascal Obry <obry@adacore.com>
21352 Eric Botcazou <ebotcazou@adacore.com>
21353 Vincent Celier <celier@adacore.com>
21354
21355 * adaint.c (__gnat_get_libraries_from_registry): Call explicitly the
21356 ASCII version of the registry API. This is needed as the GNAT runtime
21357 is now UNICODE by default.
21358 Include version.h.
21359 (get_gcc_version): Do not hardcode the return value.
21360 (__gnat_file_time_name): On Windows properly set the default returned
21361 value to -1 which corresponds to Invalid_Time.
21362 (__gnat_fopen): New routine. A simple wrapper on all plateforms
21363 except on Windows where it does conversion for unicode support.
21364 (__gnat_freopen): Idem.
21365 (__gnat_locate_exec_on_path): If environment variable PATH does not
21366 exist, return a NULL pointer
21367
21368 * adaint.h: (__gnat_fopen): Declare.
21369 (__gnat_freopen): Likewise.
21370
21371 * mingw32.h (_tfreopen): Define this macro here for older MingW
21372 version.
21373 Activate the unicode support on platforms using a MingW runtime
21374 version 3.9 or newer.
21375
21376 * s-crtl.ads (fopen): Is now an import to the wrapper __gnat_freopen.
21377 This is needed for proper unicode support on Windows.
21378 (freopen): Idem.
21379
213802006-10-31 Eric Botcazou <ebotcazou@adacore.com>
21381 Nicolas Setton <setton@adacore.com>
21382 Olivier Hainque <hainque@adacore.com>
21383 Gary Dismukes <dismukes@adacore.com>
21384
21385 * gigi.h: (tree_code_for_record_type): Declare.
21386 (add_global_renaming_pointer): Rename to record_global_renaming_pointer.
21387 (get_global_renaming_pointers): Rename to
21388 invalidate_global_renaming_pointers.
21389 (static_ctors): Delete.
21390 (static_dtors): Likewise.
21391 (gnat_write_global_declarations): Declare.
21392 (create_var_decl): Adjust descriptive comment to indicate that the
21393 subprogram may return a CONST_DECL node.
21394 (create_true_var_decl): Declare new function, similar to
21395 create_var_decl but forcing the creation of a VAR_DECL node.
21396 (get_global_renaming_pointers): Declare.
21397 (add_global_renaming_pointer): Likewise.
21398
21399 * ada-tree.h (DECL_READONLY_ONCE_ELAB): New macro.
21400
21401 * decl.c (gnat_to_gnu_entity) <case E_Function>: Don't copy the type
21402 tree before setting TREE_ADDRESSABLE for by-reference return mechanism
21403 processing.
21404 (gnat_to_gnu_entity): Remove From_With_Type from computation for
21405 imported_p.
21406 <E_Access_Type>: Use the Non_Limited_View as the full view of the
21407 designated type if the pointer comes from a limited_with clause. Make
21408 incomplete designated type if it is in the main unit and has a freeze
21409 node.
21410 <E_Incomplete_Type>: Rework to treat Non_Limited_View, Full_View, and
21411 Underlying_Full_View similarly. Return earlier if the full view already
21412 has an associated tree.
21413 (gnat_to_gnu_entity) <E_Record_Type>: Restore comment.
21414 (gnat_to_gnu_entity) <E_Record_Type>: Do not use a dummy type.
21415 (gnat_to_gnu_entity) <E_Variable>: Set TYPE_REF_CAN_ALIAS_ALL on the
21416 reference type built for objects with an address clause.
21417 Use create_true_var_decl with const_flag set for
21418 DECL_CONST_CORRESPONDING_VARs, ensuring a VAR_DECL is created with
21419 TREE_READONLY set.
21420 (gnat_to_gnu_entity, case E_Enumeration_Type): Set TYPE_NAME
21421 for Character and Wide_Character types. This info is read by the
21422 dwarf-2 writer, and is needed to be able to use the command "ptype
21423 character" in the debugger.
21424 (gnat_to_gnu_entity): When generating a type representing
21425 a Character or Wide_Character type, set the flag TYPE_STRING_FLAG,
21426 so that debug writers can distinguish it from ordinary integers.
21427 (elaborate_expression_1): Test the DECL_READONLY_ONCE_ELAB flag in
21428 addition to TREE_READONLY to assert the constantness of variables for
21429 elaboration purposes.
21430 (gnat_to_gnu_entity, subprogram cases): Change loops on formal
21431 parameters to call new Einfo function First_Formal_With_Extras.
21432 (gnat_to_gnu_entity): In type_annotate mode, replace a discriminant of a
21433 protected type with its corresponding discriminant, to obtain a usable
21434 declaration
21435 (gnat_to_gnu_entity) <E_Access_Protected_Subprogram_Type>: Be prepared
21436 for a multiple elaboration of the "equivalent" type.
21437 (gnat_to_gnu_entity): Adjust for renaming of add_global_renaming_pointer
21438 into record_global_renaming_pointer.
21439 (gnat_to_gnu_entity) <E_Array_Type>: Do not force
21440 TYPE_NONALIASED_COMPONENT to 0 if the element type is an aggregate.
21441 <E_Array_Subtype>: Likewise.
21442 (gnat_to_gnu_entity) <E_Incomplete_Subtype>: Add support for regular
21443 incomplete subtypes and incomplete subtypes of incomplete types visible
21444 through a limited with clause.
21445 (gnat_to_gnu_entity) <E_Array_Subtype>: Take into account the bounds of
21446 the base index type for the maximum size of the array only if they are
21447 constant.
21448 (gnat_to_gnu_entity, renaming object case): Do not wrap up the
21449 expression into a SAVE_EXPR if stabilization failed.
21450
21451 * utils.c (create_subprog_decl): Turn TREE_ADDRESSABLE on the type of
21452 a result decl into DECL_BY_REFERENCE on this decl, now what is expected
21453 by lower level compilation passes.
21454 (gnat_genericize): New function, lowering a function body to GENERIC.
21455 Turn the type of RESULT_DECL into a real reference type if the decl
21456 has been marked DECL_BY_REFERENCE, and adjust references to the latter
21457 accordingly.
21458 (gnat_genericize_r): New function. Tree walking callback for
21459 gnat_genericize.
21460 (convert_from_reference, is_byref_result): New functions. Helpers for
21461 gnat_genericize_r.
21462 (create_type_decl): Call gnat_pushdecl before calling
21463 rest_of_decl_compilation, to make sure that field TYPE_NAME of
21464 type_decl is properly set before calling the debug information writers.
21465 (write_record_type_debug_info): The heuristics which compute the
21466 alignment of a field in a variant record might not be accurate. Add a
21467 safety test to make sure no alignment is set to a smaller value than
21468 the alignment of the field type.
21469 (make_dummy_type): Use the Non_Limited_View as the underlying type if
21470 the type comes from a limited_with clause. Do not loop on the full view.
21471 (GET_GNU_TREE, SET_GNU_TREE, PRESENT_GNU_TREE): New macros.
21472 (dummy_node_table): New global variable, moved from decl.c.
21473 (GET_DUMMY_NODE, SET_DUMMY_NODE, PRESENT_DUMMY_NODE): New macros.
21474 (save_gnu_tree): Use above macros.
21475 (get_gnu_tree): Likewise.
21476 (present_gnu_tree): Likewise.
21477 (init_dummy_type): New function, moved from decl.c. Use above macros.
21478 (make_dummy_type): Likewise.
21479 (tree_code_for_record_type): New function extracted from make_dummy_type
21480 (init_gigi_decls): Set DECL_IS_MALLOC on gnat_malloc.
21481 (static_ctors): Change it to a vector, make static.
21482 (static_dtors): Likewise.
21483 (end_subprog_body): Adjust for above change.
21484 (build_global_cdtor): Moved from trans.c.
21485 (gnat_write_global_declarations): Emit global constructor and
21486 destructor, and call cgraph_optimize before emitting debug info for
21487 global declarations.
21488 (global_decls): New global variable.
21489 (gnat_pushdecl): Store the global declarations in global_decls, for
21490 later use.
21491 (gnat_write_global_declarations): Emit debug information for global
21492 declarations.
21493 (create_var_decl_1): Former create_var_decl, with an extra argument to
21494 state whether the creation of a CONST_DECL is allowed.
21495 (create_var_decl): Behavior unchanged. Now a wrapper around
21496 create_var_decl_1 allowing CONST_DECL creation.
21497 (create_true_var_decl): New function, similar to create_var_decl but
21498 forcing the creation of a VAR_DECL node (CONST_DECL not allowed).
21499 (create_field_decl): Do not always mark the field as addressable
21500 if its type is an aggregate.
21501 (global_renaming_pointers): New static variable.
21502 (add_global_renaming_pointer): New function.
21503 (get_global_renaming_pointers): Likewise.
21504
21505 * misc.c (gnat_dwarf_name): New function.
21506 (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
21507 (gnat_post_options): Add comment about structural alias analysis.
21508 (gnat_parse_file): Do not call cgraph_optimize here.
21509 (LANG_HOOKS_WRITE_GLOBALS): Define to gnat_write_global_declarations.
21510
21511 * trans.c (process_freeze_entity): Don't abort if we already have a
21512 non dummy GCC tree for a Concurrent_Record_Type, as it might
21513 legitimately have been elaborated while processing the associated
21514 Concurrent_Type prior to this explicit freeze node.
21515 (Identifier_to_gnu): Do not make a variable referenced in a SJLJ
21516 exception handler volatile if it is of variable size.
21517 (process_type): Remove bypass for types coming from a limited_with
21518 clause.
21519 (call_to_gnu): When processing the copy-out of a N_Type_Conversion GNAT
21520 actual, convert the corresponding gnu_actual to the real destination
21521 type when necessary.
21522 (add_decl_expr): Set the DECL_READONLY_ONCE_ELAB flag on variables
21523 originally TREE_READONLY but whose elaboration cannot be performed
21524 statically.
21525 Part of fix for F504-021.
21526 (tree_transform, subprogram cases): Change loops on formal parameters to
21527 call new Einfo function First_Formal_With_Extras.
21528 (gnat_to_gnu) <N_Op_Shift_Right_Arithmetic>: Ignore constant overflow
21529 stemming from type conversion for the lhs.
21530 (Attribute_to_gnu) <Attr_Alignment>: Also divide the alignment by the
21531 number of bits per unit for components of records.
21532 (gnat_to_gnu) <N_Code_Statement>: Mark operands addressable if needed.
21533 (Handled_Sequence_Of_Statements_to_gnu): Register the cleanup associated
21534 with At_End_Proc after the SJLJ EH cleanup.
21535 (Compilation_Unit_to_gnu): Call elaborate_all_entities only on the main
21536 compilation unit.
21537 (elaborate_all_entities): Do not retest type_annotate_only.
21538 (tree_transform) <N_Abstract_Subprogram_Declaration>: Process the
21539 result type of an abstract subprogram, which may be an itype associated
21540 with an anonymous access result (related to AI-318-02).
21541 (build_global_cdtor): Move to utils.c.
21542 (Case_Statement_to_gnu): Avoid adding the choice of a when statement if
21543 this choice is not a null tree nor an integer constant.
21544 (gigi): Run unshare_save_expr via walk_tree_without_duplicates
21545 on the body of elaboration routines instead of mark_unvisited.
21546 (add_stmt): Do not mark the tree.
21547 (add_decl_expr): Tweak comment.
21548 (mark_unvisited): Delete.
21549 (unshare_save_expr): New static function.
21550 (call_to_gnu): Issue an error when making a temporary around a
21551 procedure call because of non-addressable actual parameter if the
21552 type of the formal is by_reference.
21553 (Compilation_Unit_to_gnu): Invalidate the global renaming pointers
21554 after building the elaboration routine.
21555
215562006-10-31 Bob Duff <duff@adacore.com>
21557
21558 * a-filico.adb (Finalize(List_Controller)): Mark the finalization list
21559 as finalization-started, so we can raise Program_Error on 'new'.
21560
21561 * s-finimp.adb: Raise Program_Error on 'new' if finalization of the
21562 collection has already started.
21563
21564 * s-finimp.ads (Collection_Finalization_Started): Added new special
21565 flag value for indicating that a collection's finalization has started.
21566
21567 * s-tassta.adb (Create_Task): Raise Program_Error on an attempt to
21568 create a task whose master has already waited for dependent tasks.
21569
215702006-10-31 Robert Dewar <dewar@adacore.com>
21571
21572 * lib.adb, lib.ads: (In_Predefined_Unit): New functions
21573
9e81dbc7
AS
21574 * a-finali.ads, a-ngcoty.ads, a-strbou.ads, a-stream.ads, a-strmap.ads,
21575 a-strunb.ads, a-stwibo.ads, a-stwima.ads, a-stwiun.ads, a-taside.ads,
21576 a-coorse.ads, a-convec.ads, a-coinve.ads, a-cohama.ads, a-ciorse.ads,
21577 a-cihama.ads, a-cihase.ads, a-cohase.ads, a-ciorma.ads, a-coorma.ads,
21578 a-ciormu.ads, a-coormu.ads, a-stzbou.ads, a-stzmap.ads, a-stzunb.ads,
70198b9f
AC
21579 a-except-2005.ads: Add pragma Preelaborable_Warning
21580
215812006-10-31 Robert Dewar <dewar@adacore.com>
21582 Jose Ruiz <ruiz@adacore.com>
21583
21584 * a-dispat.ads, a-dispat.adb, a-diroro.ads, a-diroro.adb: New files.
21585
21586 * ali.adb (Get_Name): Properly handle scanning of wide character names
21587 encoded with brackets notation.
21588 (Known_ALI_Lines): Add S lines to this list.
21589 (Scan_ALI): Acquire S (priority specific dispatching) lines.
21590 New flag Elaborate_All_Desirable in unit table
21591
21592 * ali.ads (Priority_Specific_Dispatching): Add this range of
21593 identifiers to be used for Priority_Specific_Dispatching table entries.
21594 (ALIs_Record): Add First_Specific_Dispatching and
21595 Last_Specific_Dispatching that point to the first and last entries
21596 respectively in the priority specific dispatching table for this unit.
21597 (Specific_Dispatching): Add this table for storing each S (priority
21598 specific dispatching) line encountered in the input ALI file.
21599 New flag Elaborate_All_Desirable in unit table
21600
21601 * bcheck.adb: (Check_Configuration_Consistency): Add call to
21602 Check_Consistent_Dispatching_Policy.
21603 (Check_Consistent_Dispatching_Policy): Add this procedure in charge of
21604 verifying that the use of Priority_Specific_Dispatching,
21605 Task_Dispatching_Policy, and Locking_Policy is consistent across the
21606 partition.
21607
21608 * bindgen.adb: (Public_Version_Warning): function removed.
21609 (Set_PSD_Pragma_Table): Add this procedure in charge of getting the
21610 required information from ALI files in order to initialize the table
21611 containing the specific dispatching policy.
21612 (Gen_Adainit_Ada): Generate the variables required for priority specific
21613 dispatching entries (__gl_priority_specific_dispatching and
21614 __gl_num_specific_dispatching).
21615 (Gen_Adainit_C): Generate the variables required for priority specific
21616 dispatching entries (__gl_priority_specific_dispatching and
21617 __gl_num_specific_dispatching).
21618 (Gen_Output_File): Acquire settings for Priority_Specific_Dispatching
21619 pragma entries.
21620 (Gen_Restrictions_String_1, Gen_Restrictions_String_2): Removed.
21621 (Gen_Restrictions_Ada, Gen_Restrictions_C, Set_Boolean): New procedures.
21622 (Tab_To): Removed.
21623 (Gen_Output_File_Ada/_C): Set directly __gl_xxx variables instead of
21624 a call to gnat_set_globals.
21625 Generate a string containing settings from
21626 Priority_Specific_Dispatching pragma entries.
21627 (Gen_Object_Files_Options): Do not include the runtime libraries when
21628 pragma No_Run_Time is specified.
21629
21630 * init.c (__gnat_install_handler, case FreeBSD): Use SA_SIGINFO, for
21631 consistency with s-intman-posix.adb.
21632 (__gnat_error_handler, case FreeBSD): Account for the fact that the
21633 handler is installed with SA_SIGINFO.
21634 (__gnat_adjust_context_for_raise, FreeBSD case): New function for
21635 FreeBSD ZCX support, copied from Linux version.
21636 Add MaRTE-specific definitions for the linux target. Redefine sigaction,
21637 sigfillset, and sigemptyset so the routines defined by MaRTE.
21638 (__gl_priority_specific_dispatching): Add this variable that stores the
21639 string containing priority specific dispatching policies in the
21640 partition.
21641 (__gl_num_specific_dispatching): Add this variable that indicates the
21642 highest priority for which a priority specific dispatching pragma
21643 applies.
21644 (__gnat_get_specific_dispatching): Add this routine that returns the
21645 priority specific dispatching policy, as set by a
21646 Priority_Specific_Dispatching pragma appearing anywhere in the current
21647 partition. The input argument is the priority number, and the result
21648 is the upper case first character of the policy name.
21649 (__gnat_set_globals): Now a dummy function.
21650 (__gnat_handle_vms_condition): Feed adjust_context_for_raise with
21651 mechargs instead of sigargs, as the latter can be retrieved from the
21652 former and sigargs is not what we want on ia64.
21653 (__gnat_adjust_context_for_raise, alpha-vms): Fetch sigargs from the
21654 mechargs argument.
21655 (__gnat_adjust_context_for_raise, ia64-vms): New function.
21656 (tasking_error): Remove unused symbol.
21657 (_abort_signal): Move this symbol to the IRIX specific part since this
21658 is the only target that uses this definition.
21659 (Check_Abort_Status): Move this symbol to the IRIX specific part since
21660 this is the only target that uses this definition.
21661 (Lock_Task): Remove unused symbol.
21662 (Unlock_Task): Remove unused symbol.
21663
21664 * lib-writ.adb (Write_ALI): Output new S lines for
21665 Priority_Specific_Dispatching pragmas.
21666 Implement new flag BD for elaborate body desirable
21667
21668 * lib-writ.ads: Document S lines for Priority Specific Dispatching.
21669 (Specific_Dispatching): Add this table for storing the entries
21670 corresponding to Priority_Specific_Dispatching pragmas.
21671 Document new BD flag for elaborate body desirable
21672
21673 * par-prag.adb (Prag): Add Priority_Specific_Dispatching to the list
21674 of known pragmas.
21675
216762006-10-31 Javier Miranda <miranda@adacore.com>
21677
9e81dbc7 21678 * a-tags.ads, a-tags.adb:
70198b9f
AC
21679 (Predefined_DT): New function that improves readability of the code.
21680 (Get_Predefined_Prim_Op_Address, Set_Predefined_Prim_Op_Address,
21681 Inherit_DT): Use the new function Predefined_DT to improve code
21682 readability.
21683 (Register_Interface_Tag): Update assertion.
21684 (Set_Interface_Table): Update assertion.
21685 (Interface_Ancestor_Tags): New subprogram required to implement AI-405:
21686 determining progenitor interfaces in Tags.
21687 (Inherit_CPP_DT): New subprogram.
21688
6f7f72f9 21689 * exp_disp.adb (Expand_Interface_Thunk): Suppress checks during the
70198b9f 21690 analysis of the thunk code.
6f7f72f9
EB
21691 (Expand_Interface_Conversion): Handle run-time conversion of
21692 access to class wide types.
70198b9f
AC
21693 (Expand_Dispatching_Call): When generating the profile for the
21694 subprogram itype for a dispatching operation, properly terminate the
21695 formal parameters chaind list (set the Next_Entity of the last formal
21696 to Empty).
21697 (Collect_All_Interfaces): Removed. This routine has been moved to
21698 sem_util and renamed as Collect_All_Abstract_Interfaces.
21699 (Set_All_DT_Position): Hidden entities associated with abstract
21700 interface primitives are not taken into account in the check for
21701 3.9.3(10); this check is done with the aliased entity.
21702 (Make_DT, Set_All_DT_Position): Enable full ABI compatibility for
21703 interfacing with CPP by default.
21704 (Expand_Interface_Conversion): Add missing support for static conversion
21705 from an interface to a tagged type.
21706 (Collect_All_Interfaces): Add new out formal containing the list of
21707 abstract interface types to cleanup the subprogram Make_DT.
21708 (Make_DT): Update the code to generate the table of interfaces in case
21709 of abstract interface types.
21710 (Is_Predefined_Dispatching_Alias): New function that returns true if
21711 a primitive is not a predefined dispatching primitive but it is an
21712 alias of a predefined dispatching primitive.
21713 (Make_DT): If the ancestor of the type is a CPP_Class and we are
21714 compiling under full ABI compatibility mode we avoid the generation of
21715 calls to run-time services that fill the dispatch tables because under
21716 this mode we currently inherit the dispatch tables in the IP subprogram.
21717 (Write_DT): Emit an "is null" indication for a null procedure primitive.
21718 (Expand_Interface_Conversion): Use an address as the type of the formal
21719 of the internally built function that handles the case in which the
21720 target type is an access type.
21721
217222006-10-31 Robert Dewar <dewar@adacore.com>
21723
21724 * binde.adb (Better_Choice, Worse_Choice): Implement new preferences.
21725
217262006-10-31 Robert Dewar <dewar@adacore.com>
21727
21728 * bindusg.ads, bindusg.adb:
21729 Change to package and rename procedure as Display, which
21730 now ensures that it only outputs usage information once.
21731
217322006-10-31 Jose Ruiz <ruiz@adacore.com>
21733
21734 * cal.c: Use the header sys/time.h for VxWorks 6.2 or greater when
21735 using RTPs.
21736
21737 * mkdir.c: Use a different version of mkdir for VxWorks 6.2 or greater
21738 when using RTPs.
21739
217402006-10-31 Robert Dewar <dewar@adacore.com>
21741 Ed Schonberg <schonberg@adacore.com>
21742
21743 * treepr.adb: Use new subtype N_Membership_Test
21744
6f7f72f9
EB
21745 * checks.ads, checks.adb: Add definition for Validity_Check
21746 (Range_Or_Validity_Checks_Suppressed): New function
21747 (Ensure_Valid): Test Validity_Check suppressed
21748 (Insert_Valid_Check): Test Validity_Check suppressed
21749 (Insert_Valid_Check): Preserve Do_Range_Check flag
70198b9f
AC
21750 (Validity_Check_Range): New procedure
21751 (Expr_Known_Valid): Result of membership test is always valid
21752 (Selected_Range_Checks): Range checks cannot be applied to discriminants
21753 by themselves. Disabling those checks must also be done for task types,
21754 where discriminants may be used for the bounds of entry families.
21755 (Apply_Address_Clause_Check): Remove side-effects if address expression
21756 is non-static and is not the name of a declared constant.
21757 (Null_Exclusion_Static_Checks): Extend to handle Function_Specification.
21758 Code cleanup and new error messages.
21759 (Enable_Range_Check): Test for some cases of suppressed checks
21760 (Generate_Index_Checks): Suppress index checks if index checks are
21761 suppressed for array object or array type.
21762 (Apply_Selected_Length_Checks): Give warning for compile-time detected
21763 length check failure, even if checks are off.
21764 (Ensure_Valid): Do not generate a check on an indexed component whose
21765 prefix is a packed boolean array.
21766 * checks.adb: (Alignment_Checks_Suppressed): New function
21767 (Apply_Address_Clause_Check): New procedure, this is a completely
21768 rewritten replacement for Apply_Alignment_Check
21769 (Get_E_Length/Get_E_First_Or_Last): Add missing barrier to ensure that
21770 we request a discriminal value only in case of discriminants.
21771 (Apply_Discriminant_Check): For Ada_05, only call Get_Actual_Subtype for
21772 assignments where the target subtype is unconstrained and the target
21773 object is a parameter or dereference (other aliased cases are known
21774 to be unconstrained).
21775
217762006-10-31 Robert Dewar <dewar@adacore.com>
21777
21778 * clean.adb, gnatname.adb, gnatsym.adb, prep.adb, prep.ads,
21779 prepcomp.adb, prj.ads, prj-strt.adb, sem_maps.ads,
21780 vms_conv.adb: Fix bad table increment values (much too small)
21781
21782 * table.adb (Realloc): Make sure we get at least some new elements
21783 Defends against silly small values for table increment
21784
217852006-10-31 Robert Dewar <dewar@adacore.com>
21786 Ed Schonberg <schonberg@adacore.com>
21787 Bob Duff <duff@adacore.com>
21788
21789 * einfo.ads, einfo.adb (Obsolescent_Warning): Now defined on all
21790 entities. Move other fields around to make this possible
21791 (Is_Derived_Type): Add missing call to Is_Type.
21792 (Extra_Formals): New function for subprograms, entries, subprogram
21793 types.
21794 (Set_Extra_Formals): New procedure for subprograms, entries, subp types.
21795 (First_Formal_With_Extras): New function for subprogs, entries, subp
21796 types.
21797 (Write_Field28_Name): New procedure for node display of "Extra_Formals".
21798 Add node information for E_Return_Statement.
21799 (Elaborate_Body_Desirable): New flag
21800 (Is_Return_By_Reference_Type): Rename Is_Return_By_Reference_Type
21801 to be Is_Inherently_Limited_Type, because return-by-reference has
21802 no meaning in Ada 2005.
21803 (E_Return_Statement): New entity kind.
21804 (Return_Applies_To): Field of E_Return_Statement.
21805 (Is_Return_Object): New flag in object entities.
21806 (Is_Dynamic_Scope): Make it True for E_Return_Statement.
21807 (Must_Have_Preelab_Init): New flag
21808 (Known_To_Have_Preelab_Init): New flag
21809 (Is_Formal_Object): Move from Sem_Ch8 body to Einfo
21810 (Is_Visible_Formal): New flag on entities in formal packages.
21811 (Low_Bound_Known): New flag
21812 (Non_Limited_View, Set_Non_Limited_View): Add membership test agains
21813 Incomplete_Kind.
21814 (Write_Field17_Name): Correct spelling of Non_Limited_View. Add name
21815 output when Id is an incomplete subtype.
21816
218172006-10-31 Robert Dewar <dewar@adacore.com>
21818
21819 * errout.ads, errout.adb (Finalize): Implement switch -gnatd.m
21820 Avoid abbreviation Creat
21821 (Finalize): List all sources in extended mail source if -gnatl
21822 switch is active.
21823 Suppress copyright notice to file in -gnatl=f mode if -gnatd7 set
21824 (Finalize): Implement new -gnatl=xxx switch to output listing to file
21825 (Set_Specific_Warning_On): New procedure
21826 (Set_Specific_Warning_Off): New procedure
21827 Add implementation of new insertion \\
21828 (Error_Msg_Internal): Add handling for Error_Msg_Line_Length
21829 (Unwind_Internal_Type): Improve report on anonymous access_to_subprogram
21830 types.
21831 (Error_Msg_Internal): Make sure that we set Last_Killed to
21832 True when a message from another package is suppressed.
21833 Implement insertion character ~ (insert string)
21834 (First_Node): Minor adjustments to get better placement.
21835
9e81dbc7 21836 * frontend.adb:
70198b9f
AC
21837 Implement new -gnatl=xxx switch to output listing to file
21838
9e81dbc7 21839 * gnat1drv.adb:
70198b9f
AC
21840 Implement new -gnatl=xxx switch to output listing to file
21841
6f7f72f9 21842 * opt.ads: (Warn_On_Questionable_Missing_Paren): New switch
70198b9f
AC
21843 (Commands_To_Stdout): New flag
21844 Implement new -gnatl=xxx switch to output listing to file
21845 New switch Dump_Source_Text
21846 (Warn_On_Deleted_Code): New warning flag for -gnatwt
21847 Define Error_Msg_Line_Length
21848 (Warn_On_Assumed_Low_Bound): New switch
21849
21850 * osint.ads, osint.adb
21851 (Normalize_Directory_Name): Fix bug.
21852 Implement new -gnatl=xxx switch to output listing to file
21853 (Concat): Removed, replaced by real concatenation
21854 Make use of concatenation now allowed in compiler
21855 (Executable_Prefix.Get_Install_Dir): First get the full path, so that
21856 we find the 'lib' or 'bin' directory even when the tool has been
21857 invoked with a relative path.
21858 (Executable_Name): New function taking string parameters.
21859
9e81dbc7 21860 * osint-c.ads, osint-c.adb:
70198b9f
AC
21861 Implement new -gnatl=xxx switch to output listing to file
21862
21863 * sinput-d.adb: Change name Creat_Debug_File to Create_Debug_File
21864
9e81dbc7 21865 * switch-c.adb:
70198b9f
AC
21866 Implement new -gnatl=xxx switch to output listing to file
21867 Recognize new -gnatL switch
21868 (no longer keep in old warning about old style usage)
21869 Use concatenation to simplify code
21870 Recognize -gnatjnn switch
21871 (Scan_Front_End_Switches): Clean up handling of -gnatW
21872 (Scan_Front_End_Switches): Include Warn_On_Assumed_Low_Bound for -gnatg
21873
218742006-10-31 Robert Dewar <dewar@adacore.com>
21875
21876 * erroutc.ads, erroutc.adb (Set_Specific_Warning_On): New procedure
21877 (Set_Specific_Warning_Off): New procedure
21878 (Warning_Specifically_Suppressed): New function
21879 (Validate_Specific_Warnings): New procedure
21880 (Output_Msg_Text): Complete rewrite to support -gnatjnn
21881
21882 * err_vars.ads: Implement insertion character ~ (insert string)
21883
218842006-10-31 Bob Duff <duff@adacore.com>
21885 Ed Schonberg <schonberg@adacore.com>
21886
21887 * exp_aggr.adb (Build_Record_Aggr_Code): For extension aggregates, if
21888 the parent part is a build-in-place function call, generate assignments.
21889 (Expand_Record_Aggregate): Call Convert_To_Assignments if any components
21890 are build-in-place function calls.
21891 (Replace_Self_Reference): New subsidiary of
21892 Make_OK_Assignment_Statement, to replace an access attribute that is a
21893 self-reference into an access to the appropriate component of the
21894 target object. Generalizes previous mechanism to handle self-references
21895 nested at any level.
21896 (Is_Self_Referential_Init): Remove, not needed.
21897 (Is_Self_Referential_Init): New predicate to simplify handling of self
21898 referential components in record aggregates.
21899 (Has_Default_Init_Comps, Make_OK_Assignment_Statement): Add guard to
21900 check for presence of entity before checking for self-reference.
21901 (Has_Default_Init_Comps): Return True if a component association is a
21902 self-reference to the enclosing type, which can only come from a
21903 default initialization.
21904 (Make_OK_Assignment_Statement): If the expression is of the form
21905 Typ'Acc, where Acc is an access attribute, the expression comes from a
21906 default initialized self-referential component.
21907 (Build_Record_Aggr_Code): If the type of the aggregate is a tagged type
21908 that has been derived from several abstract interfaces we must also
21909 initialize the tags of the secondary dispatch tables.
21910
219112006-10-31 Ed Schonberg <schonberg@adacore.com>
21912 Thomas Quinot <quinot@adacore.com>
21913 Javier Miranda <miranda@adacore.com>
21914 Robert Dewar <dewar@adacore.com>
6f7f72f9 21915
9e81dbc7 21916 * exp_attr.adb:
6f7f72f9
EB
21917 (Expand_Access_To_Protected_Op): If the context indicates that an access
21918 to a local operation may be transfered outside of the object, create an
21919 access to the wrapper operation that must be used in an external call.
70198b9f
AC
21920 (Expand_N_Attribute_Reference, case Attribute_Valid): For the AAMP
21921 target, pass the Valid attribute applied to a floating-point prefix on
21922 to the back end without expansion.
21923 (Storage_Size): Use the new run-time function Storage_Size to retrieve
21924 the allocated storage when it is specified by a per-object expression.
21925 (Expand_N_Attribute_Reference): Add case for Attribute_Stub_Type.
21926 Nothing to do here, the attribute has been rewritten during semantic
21927 analysis.
21928 (Expand_Attribute_Reference): Handle expansion of the new Priority
21929 attribute
21930 (Find_Fat_Info): Handle case of universal real
21931 (Expand_Access_To_Protected_Op): Fix use of access to protected
21932 subprogram from inside the body of a protected entry.
21933 (Expand_Access_To_Protected_Op): Common procedure for the expansion of
21934 'Access and 'Unrestricted_Access, to transform the attribute reference
21935 into a fat pointer.
21936 (Is_Constrained_Aliased_View): New predicate to help determine whether a
21937 subcomponent's enclosing variable is aliased with a constrained subtype.
21938 (Expand_N_Attribute_Reference, case Attribute_Constrained): For Ada_05,
21939 test Is_Constrained_Aliased_View rather than Is_Aliased_View, because
21940 an aliased prefix must be known to be constrained in order to use True
21941 for the attribute value, and now it's possible for some aliased views
21942 to be unconstrained.
21943
219442006-10-31 Robert Dewar <dewar@adacore.com>
21945
21946 * exp_ch2.adb: Change Is_Lvalue to May_Be_Lvalue
21947 (Expand_Entity_Reference): Correct error of not handling subprogram
21948 formals in current_value processing.
21949
219502006-10-31 Javier Miranda <miranda@adacore.com>
21951 Robert Dewar <dewar@adacore.com>
21952 Ed Schonberg <schonberg@adacore.com>
21953 Gary Dismukes <dismukes@adacore.com>
21954
6f7f72f9 21955 * exp_ch3.ads, exp_ch3.adb (Expand_N_Object_Declaration): Do not
70198b9f
AC
21956 register in the final list objects containing class-wide interfaces;
21957 otherwise we incorrectly register the tag of the interface in the final
21958 list.
6f7f72f9
EB
21959 (Make_Controlling_Function_Wrappers): Add missing barrier to do not
21960 generate the wrapper if the parent primitive is abstract. This is
21961 required to report the correct error message.
21962 (Expand_N_Subtype_Indication): Do validity checks on range
70198b9f
AC
21963 (Clean_Task_Names): If an initialization procedure includes a call to
21964 initialize a task (sub)component, indicate that the procedure will use
21965 the secondary stack.
21966 (Build_Init_Procedure, Init_Secondary_Tags): Enable full ABI
21967 compatibility for interfacing with CPP by default.
21968 (Expand_N_Object_Declaration): Only build an Adjust call when the
21969 object's type is a nonlimited controlled type.
21970 * exp_ch3.adb: Add with and use of Exp_Ch6.
21971 (Expand_N_Object_Declaration): Check for object initialization that is a
21972 call to build-in-place function and apply Make_Build_In_Place_Call_In_
21973 Object_Declaration to the call.
21974 (Freeze_Type): When the designated type of an RACW was not frozen at the
21975 point where the RACW was declared, validate the primitive operations
21976 with respect to E.2.2(14) when it finally is frozen.
21977 (Build_Initialization_Call,Expand_Record_Controller): Rename
21978 Is_Return_By_Reference_Type to be Is_Inherently_Limited_Type, because
21979 return-by-reference has no meaning in Ada 2005.
21980 (Init_Secondary_Tags): Add missing call to Set_Offset_To_Top
21981 to register tag of the immediate ancestor interfaces in the
21982 run-time structure.
21983 (Init_Secondary_Tags): Moved to the specification to allow the
21984 initialization of extension aggregates with abstract interfaces.
21985 (Build_Master_Renaming): Make public, for use by function declarations
21986 whose return type is an anonymous access type.
21987 (Freeze_Record_Type): Replace call to Insert_List_Before by call to
21988 Insert_List_Before_And_Analyze after the generation of the specs
21989 associated with null procedures.
21990 (Expand_Tagged_Root): Update documentation in its specification.
21991 (Init_Secondary_Tags): Update documentation.
21992 (Build_Init_Procedure): If we are compiling under CPP full ABI compa-
21993 tibility mode and the immediate ancestor is a CPP_Pragma tagged type
21994 then generate code to inherit the contents of the dispatch table
21995 directly from the ancestor.
21996 (Expand_Record_Controller): Insert controller component after tags of
21997 implemented interfaces.
21998 (Freeze_Record_Type): Call new procedure Make_Null_Procedure_Specs to
21999 create null procedure overridings when null procedures are inherited
22000 from interfaces.
22001 (Make_Null_Procedure_Specs): New procedure to generate null procedure
22002 declarations for overriding null primitives inherited from interfaces.
22003 (Is_Null_Interface_Procedure): New function in
22004 Make_Null_Procedure_Specs.
22005 (Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): If the
22006 immediate ancestor of a tagged type is an abstract interface type we
22007 must generate the specification of the predefined primitives associated
22008 with controlled types (because the dispatch table of the ancestor is
22009 null and hence these entries cannot be inherited). This is required to
22010 elaborate well the dispatch table.
22011
220122006-10-31 Javier Miranda <miranda@adacore.com>
22013 Ed Schonberg <schonberg@adacore.com>
22014 Bob Duff <duff@adacore.com>
22015 Gary Dismukes <dismukes@adacore.com>
22016 Robert Dewar <dewar@adacore.com>
6f7f72f9
EB
22017
22018 * exp_ch4.adb (Expand_N_Type_Conversion): Handle missing interface type
70198b9f 22019 conversion.
6f7f72f9 22020 (Expand_N_In): Do validity checks on range
70198b9f
AC
22021 (Expand_Selected_Component): Use updated for of Denotes_Discriminant.
22022 (Expand_N_Allocator): For "new T", if the object is constrained by
22023 discriminant defaults, allocate the right amount of memory, rather than
22024 the maximum for type T.
22025 (Expand_Allocator_Expression): Suppress the call to Remove_Side_Effects
22026 when the allocator is initialized by a build-in-place call, since the
22027 allocator is already rewritten as a reference to the function result,
22028 and this prevents an unwanted duplication of the function call.
22029 Add with and use of Exp_Ch6.
22030 (Expand_Allocator_Expresssion): Check for an allocator whose expression
22031 is a call to build-in-place function and apply
22032 Make_Build_In_Place_Call_In_Allocator to the call (for both tagged and
22033 untagged designated types).
22034 (Expand_N_Unchecked_Type_Conversion): Do not do integer literal
22035 optimization if source or target is biased.
22036 (Expand_N_Allocator): Add comments for case of an allocator within a
22037 function that returns an anonymous access type designating tasks.
22038 (Expand_N_Allocator): apply discriminant checks for access
22039 discriminants of anonymous access types (AI-402, AI-416)
22040
220412006-10-31 Bob Duff <duff@adacore.com>
22042 Robert Dewar <dewar@adacore.com>
22043 Gary Dismukes <dismukes@adacore.com>
22044 Ed Schonberg <schonberg@adacore.com>
22045
22046 * exp_ch5.ads (Expand_N_Extended_Return_Statement): New procedure.
22047
6f7f72f9 22048 * exp_ch5.adb (Expand_N_Loop_Statement): Do validity checks on range
70198b9f
AC
22049 (Expand_N_Assignment_Statement): Call
22050 Make_Build_In_Place_Call_In_Assignment if the right-hand side is a
22051 build-in-place function call. Currently, this can happen only for
22052 assignments that come from aggregates.
22053 Add -gnatd.l --Use Ada 95 semantics for limited function returns,
22054 in order to alleviate the upward compatibility introduced by AI-318.
22055 (Expand_N_Extended_Return_Statement): Add support for handling the
22056 return object as a build-in-place result.
22057 (Expand_Non_Function_Return): Implement simple return statements nested
22058 within an extended return.
22059 (Enable_New_Return_Processing): Turn on the new processing of return
22060 statements.
22061 (Expand_Non_Function_Return): For a return within an extended return,
22062 don't raise Program_Error, because Sem_Ch6 now gives a warning.
22063 (Expand_N_Extended_Return_Statement): Implement AI-318
22064 (Expand_Simple_Function_Return): Ditto.
22065 (Expand_N_If_Statement): Handle new -gnatwt warning
22066 (Expand_N_Case_Statement): Handle new -gnatwt warning
22067 (Expand_N_Assignment): Handle assignment to the Priority attribute of
22068 a protected object.
22069 (Expand_N_Assignment_Statement): Implement -gnatVe/E to control
22070 validity checking of assignments to elementary record components.
22071 (Expand_N_Return_Statement): return Class Wide types on the secondary
22072 stack independantly of their controlled status since with HIE runtimes,
22073 class wide types are not potentially controlled anymore.
22074
22075 * expander.adb (Expand): Add case for new N_Extended_Return_Statement
22076 node kind.
22077
22078 * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Avoid
22079 Expand_Cleanup_Actions in case of N_Extended_Return_Statement, because
22080 it expects a block, procedure, or task. The return statement will get
22081 turned into a block, and Expand_Cleanup_Actions will happen then.
22082
220832006-10-31 Robert Dewar <dewar@adacore.com>
22084 Ed Schonberg <schonberg@adacore.com>
22085 Bob Duff <duff@adacore.com>
22086 Gary Dismukes <dismukes@adacore.com>
22087
22088 * exp_ch6.ads, exp_ch6.adb: Use new Validity_Check suppression
22089 capability.
22090 (Expand_Inlined_Call): Tagged types are by-reference types, and
22091 therefore should be replaced by a renaming declaration in the expanded
22092 body, as is done for limited types.
22093 (Expand_Call): If this is a call to a function with dispatching access
22094 result, propagate tag from context.
22095 (Freeze_Subprogram): Enable full ABI compatibility for interfacing with
22096 CPP by default.
22097 (Make_Build_In_Place_Call_In_Assignment): New procedure to do
22098 build-in-place when the right-hand side of an assignment is a
22099 build-in-place function call.
22100 (Make_Build_In_Place_Call_In_Allocator): Apply an unchecked conversion
22101 of the explicit dereference of the allocator to the result subtype of
22102 the build-in-place function. This is needed to satisfy type checking
22103 in cases where the caller's return object is created by an allocator for
22104 a class-wide access type and the type named in the allocator is a
22105 specific type.
22106 (Make_Build_In_Place_Call_In_Object_Declaration): Apply an unchecked
22107 conversion of the reference to the declared object to the result subtype
22108 of the build-in-place function. This is needed to satisfy type checking
22109 in cases where the declared object has a class-wide type. Also, in the
22110 class-wide case, change the type of the object entity to the specific
22111 result subtype of the function, to avoid passing a class-wide object
22112 without explicit initialization to the back end.
22113 (Register_Interface_DT_Entry): Moved outside the body of
22114 Freeze_Subprogram because this routine is now public; it is called from
22115 Check_Dispatching_Overriding to handle late overriding of abstract
22116 interface primitives.
22117 (Add_Access_Actual_To_Build_In_Place_Call): New utility procedure for
22118 adding an implicit access actual on a call to a build-in-place function.
22119 (Expand_Actuals): Test for an actual parameter that is a call to a
22120 build-in-place function and apply
22121 Make_Build_In_Place_Call_In_Anonymous_Context to the call.
22122 (Is_Build_In_Place_Function): New function to determine whether an
22123 entity is a function whose calls should be handled as build-in-place.
22124 (Is_Build_In_Place_Function_Call): New function to determine whether an
22125 expression is a function call that should handled as build-in-place.
22126 (Make_Build_In_Place_Call_In_Allocator): New procedure for handling
22127 calls to build-in-place functions as the initialization of an allocator.
22128 (Make_Build_In_Place_Call_In_Anonymous_Context): New procedure for
22129 handling calls to build-in-place functions in contexts that do not
22130 involve init of a separate object (for example, actuals of subprogram
22131 calls).
22132 (Make_Build_In_Place_Call_In_Object_Declaration): New procedure for
22133 handling calls to build-in-place functions as the initialization of an
22134 object declaration.
22135 (Detect_Infinite_Recursion): Add explicit parameter Process to
22136 instantiation of Traverse_Body to avoid unreferenced warning.
22137 (Check_Overriding_Inherited_Interfaces): Removed.
22138 (Register_Interface_DT_Entry): Code cleanup.
22139 (Register_Predefined_DT_Entry): Code cleanup.
22140 (Expand_Inlined_Call.Rewrite_Procedure_Call): Do not omit block around
22141 inlined statements if within a transient scope.
22142 (Expand_Inlined_Call.Process_Formals): When replacing occurrences of
22143 formal parameters with occurrences of actuals in inlined body, establish
22144 visibility on the proper view of the actual's subtype for the body's
22145 context.
22146 (Freeze_Subprogram): Do nothing if we are compiling under full ABI
22147 compatibility mode and we have an imported CPP subprogram because
22148 for now we assume that imported CPP primitives correspond with
22149 objects whose constructor is in the CPP side (and therefore we
22150 don't need to generate code to register them in the dispatch table).
22151 (Expand_Actuals): Introduce copy of actual, only if it might be a bit-
22152 aligned selected component.
22153 (Add_Call_By_Copy_Node): Add missing code to handle the case in which
22154 the actual of an in-mode parameter is a type conversion.
22155 (Expand_Actuals): If the call does not come from source and the actual
22156 is potentially misaligned, let gigi handle it rather than rejecting the
22157 (Expand_N_Subprogram_Body, Freeze_Subprogram): set subprograms returning
22158 Class Wide types as returning by reference independantly of their
22159 controlled status since with HIE runtimes class wide types are not
22160 potentially controlled anymore.
22161
6f7f72f9 221622006-10-31 Ed Schonberg <schonberg@adacore.com>
70198b9f 22163
6f7f72f9 22164 * exp_ch9.adb (Update_Prival_Types): Simplify code for entity
70198b9f
AC
22165 references that are private components of the protected object.
22166 (Build_Barrier_Function): Set flag Is_Entry_Barrier_Function
22167 (Update_Prival_Subtypes): Add explicit Process argument to Traverse_Proc
22168 instantiation to deal with warnings.
22169 (Initialize_Protection): If expression for priority is non-static, use
22170 System_Priority as its expected type, in case the expression has not
22171 been analyzed yet.
22172
221732006-10-31 Robert Dewar <dewar@adacore.com>
22174
22175 * exp_dbug.ads, exp_dbug.adb (Get_External_Name): Add missing
22176 initialization of Homonym_Len.
22177 (Fully_Qualify_Name): Remove kludge to eliminate anonymous block
22178 names from fully qualified name. Fixes problem of duplicate
22179 external names differing only in the presence of such a block name.
22180
221812006-10-31 Thomas Quinot <quinot@adacore.com>
22182 Pablo Oliveira <oliveira@adacore.com>
6f7f72f9
EB
22183
22184 * exp_dist.adb (Get_Subprogram_Ids): This function will no more assign
70198b9f
AC
22185 subprogram Ids, even if they are not yet assigned.
22186 (Build_Subprogram_Id): It is now this function that will take care of
22187 calling Assign_Subprogram_Ids if necessary.
22188 (Add_Receiving_Stubs_To_Declarations): Checking the subprograms ids
22189 should be done only once they are assigned.
22190 (Build_From_Any_Function, case of tagged types): Add missing call to
22191 Allocate_Buffer.
22192 (Corresponding_Stub_Type): New subprogram. Returns the associated stub
22193 type for an RACW type.
22194 (Add_RACW_Features): When processing an RACW declaration for which the
22195 designated type is already frozen, enforce E.2.2(14) rules immediately.
22196 (GARLIC_Support.Build_Subprogram_Receiving_Stubs): Do not perform any
22197 special reordering of controlling formals.
22198
22199 * exp_dist.ads (Corresponding_Stub_Type): New subprogram. Returns the
22200 associated stub type for an RACW type.
22201
222022006-10-31 Ed Schonberg <schonberg@adacore.com>
22203
22204 * exp_fixd.adb (Rounded_Result_Set): For multiplication and division of
22205 fixed-point operations in an integer context, i.e. as operands of a
22206 conversion to an integer type, indicate that result must be rounded.
22207
222082006-10-31 Robert Dewar <dewar@adacore.com>
22209
22210 * exp_imgv.adb (Expand_Image_Attribute): For Wide_[Wide_]Character
22211 cases, pass the encoding method, since it is now required by the run
22212 time.
22213
22214 * s-valwch.ads, s-valwch.adb (Value_Wide_Wide_Character): Avoid
22215 assumption that Str'First = 1.
22216 (Value_Wide_Character): Takes EM (encoding method) parameter and passes
22217 it on to the Value_Wide_Wide_Character call.
22218 (Value_Wide_Wide_Character): Takes EM (encoding method) parameter and
22219 properly handles a string of the form quote-encoded_wide_char-quote.
22220
22221 * s-wchcnv.adb: Minor reformatting
22222
222232006-10-31 Javier Miranda <miranda@adacore.com>
6f7f72f9 22224
70198b9f
AC
22225 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing
22226 run-time membership test to ensure that the constructed object
22227 implements the target abstract interface.
22228
222292006-10-31 Robert Dewar <dewar@adacore.com>
22230
22231 * exp_prag.adb (Expand_Pragma_Common_Object): Use a single
22232 Machine_Attribute pragma internally to implement the user pragma.
22233 Add processing for pragma Interface so that it is now completely
22234 equivalent to pragma Import.
22235
22236 * sem_prag.adb (Analyze_Pragma, case Obsolescent): Extend this pragma
22237 so that it can be applied to all entities, including record components
22238 and enumeration literals.
22239 (Analyze_Pragma, case Priority_Specific_Dispatching): Check whether
22240 priority ranges are correct, verify compatibility against task
22241 dispatching and locking policies, and if everything is correct an entry
22242 is added to the table containing priority specific dispatching entries
22243 for this compilation unit.
22244 (Delay_Config_Pragma_Analyze): Delay processing
22245 Priority_Specific_Dispatching pragmas because when processing the
22246 pragma we need to access run-time data, such as the range of
22247 System.Any_Priority.
22248 (Sig_Flags): Add Pragma_Priority_Specific_Dispatching.
22249 Allow pragma Unreferenced as a context item
22250 Add pragma Preelaborable_Initialization
22251 (Analyze_Pragma, case Interface): Interface is extended so that it is
22252 now syntactically and semantically equivalent to Import.
22253 (Analyze_Pragma, case Compile_Time_Warning): Fix error of blowups on
22254 insertion characters.
22255 Add handling for Pragma_Wide_Character_Encoding
22256 (Process_Restrictions_Restriction_Warnings): Ensure that a warning
22257 never supercedes a real restriction, and that a real restriction
22258 always supercedes a warning.
22259 (Analyze_Pragma, case Assert): Set Low_Bound_Known if assert is of
22260 appropriate form.
22261
222622006-10-31 Bob Duff <duff@adacore.com>
22263 Ed Schonberg <schonberg@adacore.com>
22264 Robert Dewar <dewar@adacore.com>
22265
22266 * exp_ch7.adb (Build_Array_Deep_Procs, Build_Record_Deep_Procs,
22267 Make_Deep_Record_Body): Rename Is_Return_By_Reference_Type to be
22268 Is_Inherently_Limited_Type, because return-by-reference has no meaning
22269 in Ada 2005.
22270 (Find_Node_To_Be_Wrapped): Use new method of determining the result
22271 type of the function containing a return statement, because the
22272 Return_Type field was removed. We now use the Return_Applies_To field.
22273
6f7f72f9 22274 * exp_util.ads, exp_util.adb: Use new subtype N_Membership_Test
70198b9f
AC
22275 (Build_Task_Image_Decl): If procedure is not called from an
22276 initialization procedure, indicate that function that builds task name
22277 uses the sec. stack. Otherwise the enclosing initialization procedure
22278 will carry the indication.
22279 (Insert_Actions): Remove N_Return_Object_Declaration. We now use
22280 N_Object_Declaration instead.
22281 (Kill_Dead_Code): New interface to implement -gnatwt warning for
22282 conditional dead code killed, and change implementation accordingly.
22283 (Insert_Actions): Add N_Return_Object_Declaration case.
22284 Correct comment to mention N_Extension_Aggregate node.
22285 (Set_Current_Value_Condition): Call Safe_To_Capture_Value to avoid bad
22286 attempts to save information for global variables which cannot be
22287 safely tracked.
22288 (Get_Current_Value_Condition): Handle conditions the other way round
22289 (constant on left). Also handle right operand of AND and AND THEN
22290 (Set_Current_Value_Condition): Corresponding changes
22291 (Append_Freeze_Action): Remove unnecessary initialization of Fnode.
22292 (Get_Current_Value_Condition): Handle simple boolean operands
22293 (Get_Current_Value_Condition): Handle left operand of AND or AND THEN
22294 (Get_Current_Value_Condition): If the variable reference is within an
22295 if-statement, does not appear in the list of then_statments, and does
22296 not come from source, treat it as being at unknown location.
22297 (Get_Current_Value_Condition): Enhance to allow while statements to be
22298 processed as well as if statements.
22299 (New_Class_Wide_Subtype): The entity for a class-wide subtype does not
22300 come from source.
22301 (OK_To_Do_Constant_Replacement): Allow constant replacement within body
22302 of loop. This is safe now that we fixed Kill_Current_Values.
22303 (OK_To_Do_Constant_Replacement): Check whether current scope is
22304 Standard, before examining outer scopes.
22305
223062006-10-31 Vincent Celier <celier@adacore.com>
22307
22308 * krunch.ads, krunch.adb (Krunch): New Boolean parameter VMS_On_Target.
22309 When True, apply VMS treatment to children of packages A, G, I and S.
22310 For F320-016
22311
22312 * fname-uf.adb (Get_File_Name): Call Krunch with OpenVMS_On_Target
22313
223142006-10-31 Robert Dewar <dewar@adacore.com>
22315 Ed Schonberg <schonberg@adacore.com>
22316
22317 * freeze.adb: Add handling of Last_Assignment field
22318 (Warn_Overlay): Supply missing continuation marks in error msgs
22319 (Freeze_Entity): Add check for Preelaborable_Initialization
22320
22321 * g-comlin.adb: Add Warnings (Off) to prevent new warning
22322
22323 * g-expect.adb: Add Warnings (Off) to prevent new warning
22324
22325 * lib-xref.adb: Add handling of Last_Assignment field
22326 (Generate_Reference): Centralize handling of pragma Obsolescent here
22327 (Generate_Reference): Accept an implicit reference generated for a
22328 default in an instance.
22329 (Generate_Reference): Accept a reference for a node that is not in the
22330 main unit, if it is the generic body corresponding to an subprogram
22331 instantiation.
22332
22333 * xref_lib.adb: Add pragma Warnings (Off) to avoid new warnings
22334
6f7f72f9 22335 * sem_warn.ads, sem_warn.adb (Set_Warning_Switch): Add processing for
70198b9f
AC
22336 -gnatwq/Q.
22337 (Warn_On_Useless_Assignment): Suppress warning if enclosing inner
22338 exception handler.
22339 (Output_Obsolescent_Entity_Warnings): Rewrite to avoid any messages on
22340 use clauses, to avoid messages on packages used to qualify, and also
22341 to avoid messages from obsolescent units.
22342 (Warn_On_Useless_Assignments): Don't generate messages for imported
22343 and exported variables.
22344 (Warn_On_Useless_Assignments): New procedure
22345 (Output_Obsolescent_Entity_Warnings): New procedure
22346 (Check_Code_Statement): New procedure
22347
6f7f72f9 22348 * einfo.ads, einfo.adb (Has_Static_Discriminants): New flag
70198b9f
AC
22349 Change name Is_Ada_2005 to Is_Ada_2005_Only
22350 (Last_Assignment): New field for useless assignment warning
22351
223522006-10-31 Olivier Hainque <hainque@adacore.com>
22353
22354 * g-alleve.adb (lvx, stvx): Ceil-Round the Effective Address to the
22355 closest multiple of VECTOR_ALIGNMENT and not the closest multiple of 16.
22356
223572006-10-31 Bob Duff <duff@adacore.com>
22358 Robert Dewar <dewar@adacore.com>
22359 Ed Schonberg <schonberg@adacore.com>
22360
22361 * g-awk.adb (Default_Session, Current_Session): Compile this file in
22362 Ada 95 mode, because it violates the new rules for AI-318.
22363
22364 * g-awk.ads: Use overloaded subprograms in every case where we used to
22365 have a default of Current_Session. This makes the code closer to be
22366 correct for both Ada 95 and 2005.
22367
22368 * g-moreex.adb (Occurrence): Turn off warnings for illegal-in-Ada-2005
22369 code, relying on the fact that the compiler generates a warning
22370 instead of an error in -gnatg mode.
22371
22372 * lib-xref.ads (Xref_Entity_Letters): Add entry for new
22373 E_Return_Statement entity kind.
22374 Add an entry for E_Incomplete_Subtype in Xref_Entity_Letters.
22375
22376 * par.adb (P_Interface_Type_Definition): Addition of one formal to
22377 report an error if the reserved word abstract has been previously found.
22378 (SS_End_Type): Add E_Return for new extended_return_statement syntax.
6f7f72f9
EB
22379
22380 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve message for
70198b9f
AC
22381 parenthesized range attribute usage
22382 (P_Expression_No_Right_Paren): Add missing comment about error recovery.
22383
22384 * par-ch6.adb (P_Return_Object_Declaration): AI-318: Allow "constant"
22385 in the syntax for extended_return_statement. This is not in the latest
22386 RM, but the ARG is expected to issue an AI allowing this.
22387 (P_Return_Subtype_Indication,P_Return_Subtype_Indication): Remove
22388 N_Return_Object_Declaration. We now use N_Object_Declaration instead.
22389 (P_Return_Object_Declaration, P_Return_Subtype_Indication,
22390 P_Return_Statement): Parse the new syntax for extended_return_statement.
22391
22392 * par-endh.adb (Check_End, Output_End_Deleted, Output_End_Expected,
22393 Output_End_Missing): Add error-recovery code for the new
22394 extended_return_statement syntax; that is, the new E_Return entry on
22395 the scope stack.
22396
22397 * s-auxdec-vms_64.ads, s-auxdec.ads (AST_Handler): Change type from
22398 limited to nonlimited, because otherwise we violate the new Ada 2005
22399 rules about returning limited types in function Create_AST_Handler in
22400 s-asthan.adb.
22401
22402 * sem.adb (Analyze): Add cases for new node kinds
22403 N_Extended_Return_Statement and N_Return_Object_Declaration.
22404
22405 * sem_aggr.adb (Aggregate_Constraint_Checks): Verify that component
22406 type is in the same category as type of context before applying check,
22407 to prevent anomalies in instantiations.
22408 (Resolve_Aggregate): Remove test for limited components in aggregates.
22409 It's unnecessary in Ada 95, because if it has limited components, then
22410 it must be limited. It's wrong in Ada 2005, because limited aggregates
22411 are now allowed.
22412 (Resolve_Record_Aggregate): Move check for limited types later, because
22413 OK_For_Limited_Init requires its argument to have been resolved.
22414 (Get_Value): When copying the component default expression for a
22415 defaulted association in an aggregate, use the sloc of the aggregate
22416 and not that of the original expression, to prevent spurious
22417 elaboration errors, when the expression includes function calls.
22418 (Check_Non_Limited_Type): Correct code for AI-287, extension aggregates
22419 were missing. We also didn't handle qualified expressions. Now also
22420 allow function calls. Use new common routine OK_For_Limited_Init.
22421 (Resolve_Extension_Aggregate): Minor fix to bad error message (started
22422 with space can upper case letter).
22423
6f7f72f9 22424 * sem_ch3.ads, sem_ch3.adb (Create_Constrained_Components): Set
70198b9f 22425 Has_Static_Discriminants flag
6f7f72f9
EB
22426 (Record_Type_Declaration): Diagnose an attempt to declare an interface
22427 type with discriminants.
22428 (Process_Range_Expr_In_Decl): Do validity checks on range
70198b9f
AC
22429 (Build_Discriminant_Constraints): Use updated form of
22430 Denotes_Discriminant.
22431 (Process_Subtype): If the subtype is a private subtype whose full view
22432 is a concurrent subtype, introduce an itype reference to prevent scope
22433 anomalies in gigi.
22434 (Build_Derived_Record_Type, Collect_Interface_Primitives,
22435 Record_Type_Declaration): The functionality of the subprograms
22436 Collect_Abstract_Interfaces and Collect_All_Abstract_Interfaces
22437 is now performed by a single routine.
22438 (Build_Derived_Record_Type): If the type definition includes an explicit
22439 indication of limitedness, then the type must be marked as limited here
22440 to ensure that any access discriminants will not be treated as having
22441 a local anonymous access type.
22442 (Check_Abstract_Overriding): Issue a detailed error message when an
22443 abstract subprogram was not overridden due to incorrect mode of its
22444 first parameter.
22445 (Analyze_Private_Extension_Declaration): Add support for the analysis of
22446 synchronized private extension declarations. Verify that the ancestor is
22447 a limited or synchronized interface or in the generic case, the ancestor
22448 is a tagged limited type or synchronized interface and all progenitors
22449 are either limited or synchronized interfaces.
22450 Derived_Type_Declaration): Check for presence of private extension when
22451 dealing with synchronized formal derived types.
22452 Process_Full_View): Enchance the check done on the usage of "limited" by
22453 testing whether the private view is synchronized.
22454 Verify that a synchronized private view is completed by a protected or
22455 task type.
22456 (OK_For_Limited_Init_In_05): New function.
22457 (Analyze_Object_Declaration): Move check for limited types later,
22458 because OK_For_Limited_Init requires its argument to have been resolved.
22459 Add -gnatd.l --Use Ada 95 semantics for limited function returns,
22460 in order to alleviate the upward compatibility introduced by AI-318.
22461 (Constrain_Corresponding_Record): If the constraint is for a component
22462 subtype, mark the itype as frozen, to avoid out-of-scope references to
22463 discriminants in the back-end.
22464 (Collect_Implemented_Interfaces): Protect the recursive algorithm of
22465 this subprogram against wrong sources.
22466 (Get_Discr_Value, Is_Discriminant): Handle properly references to a
22467 discriminant of limited type completed with a protected type, when the
22468 discriminant is used to constrain a private component of the type, and
22469 expansion is disabled.
22470 (Find_Type_Of_Object): Do not treat a return subtype that is an
22471 anonymous subtype as a local_anonymous_type, because its accessibility
22472 level is the return type of the enclosing function.
22473 (Check_Initialization): In -gnatg mode, turn the error "cannot
22474 initialize entities of limited type" into a warning.
22475 (OK_For_Limited_Init): Return true for generated nodes, since it
22476 sometimes violates the legality rules.
22477 (Make_Incomplete_Declaration): If the type for which an incomplete
22478 declaration is created happens to be the currently visible entity,
22479 preserve the homonym chain when removing it from visibility.
22480 (Check_Conventions): Add support for Ada 2005 (AI-430): Conventions of
22481 inherited subprograms.
22482 (Access_Definition): If this is an access to function that is the return
22483 type of an access_to_function definition, context is a type declaration
22484 and the scope of the anonymous type is the current one.
22485 (Analyze_Subtype_Declaration): Add the defining identifier of a regular
22486 incomplete subtype to the set of private dependents of the original
22487 incomplete type.
22488 (Constrain_Discriminated_Type): Emit an error message whenever an
22489 incomplete subtype is being constrained.
22490 (Process_Incomplete_Dependents): Transform an incomplete subtype into a
22491 corresponding subtype of the full view of the original incomplete type.
22492 (Check_Incomplete): Properly detect invalid usage of incomplete types
22493 and subtypes.
22494
224952006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
22496
22497 * g-catiio.ads, g-catiio.adb (Value): New function.
22498 Given an input String, try and parse a valid Time value.
22499
225002006-10-31 Vincent Celier <celier@adacore.com>
22501
22502 * g-debpoo.adb (Is_Valid): Correctly compute Offset using
22503 Integer_Address arithmetic, as in Set_Valid.
22504
225052006-10-31 Arnaud Charlet <charlet@adacore.com>
22506 Robert Dewar <dewar@adacore.com>
22507
22508 * gnatcmd.adb (Process_Link): Use Osint.Executable_Name instead of
22509 handling executable extension manually and duplicating code.
22510
22511 * make.adb: Implement new -S switch
22512 (Gnatmake): Use new function Osint.Executable_Name instead
22513 of handling executable extension manually.
22514
22515 * prj-util.adb (Executable_Of): Make sure that if an Executable_Suffix
22516 is specified, the executable name ends with this suffix.
22517 Take advantage of Osint.Executable_Name instead of duplicating code.
22518
22519 * switch-m.adb: Recognize new gnatmake -S switch
22520
22521 * targparm.ads, targparm.adb (Executable_Extension_On_Target): New
22522 variable.
22523 (Get_Target_Parameters): Set Executable_Extension_On_Target if
22524 available.
22525
22526 * makeusg.adb: Add line for gnatmake -S switch
22527
225282006-10-31 Vincent Celier <celier@adacore.com>
22529
22530 * gnatlink.adb (Gnatlink): If gcc is not called with -shared-libgcc,
22531 call it with -static-libgcc, as there are some platforms, such as
22532 Darwin, where one of these two switches is compulsory to link.
22533
225342006-10-31 Vincent Celier <celier@adacore.com>
6f7f72f9 22535
70198b9f
AC
22536 * gnatls.adb: Take into account GPR_PROJECT_PATH, when it is defined,
22537 instead of ADA_PROJECT_PATH, for the project path.
22538 (Gnatls): When displaying the project path directories, use host dir
22539 specs.
22540
22541 * prj-ext.adb (Prj.Ext elaboration): On VMS, only expand relative path
22542 names in the project path, as absolute paths may correspond to
22543 multi-valued VMS logical names.
22544
225452006-10-31 Vincent Celier <celier@adacore.com>
22546
22547 * g-os_lib.ads, g-os_lib.adb (Locate_Exec_On_Path): Always return an
22548 absolute path name.
22549 (Locate_Regular_File): Ditto
22550 (Change_Dir): Remove, no longer used
22551 (Normalize_Pathname): Do not use Change_Dir to get the drive letter
22552 on Windows. Get it calling Get_Current_Dir.
22553 (OpenVMS): Remove imported boolean, no longer needed.
22554 (Normalize_Pathname)[VMS]: Do not resolve directory names.
22555 (Pid_To_Integer): New function to convert a Process_Id to Integer
22556
225572006-10-31 Thomas Quinot <quinot@adacore.com>
22558
22559 * g-socket.ads, g-socket.adb (Close_Selector): Once the signalling
22560 sockets are closed, reset the R_Sig_Socket and W_Sig_Socket components
22561 to No_Socket.
22562 (Selector_Type): Add default value of No_Socket for R_Sig_Socket and
22563 W_Sig_Socket.
22564
225652006-10-31 Robert Dewar <dewar@adacore.com>
22566
22567 * g-speche.ads, g-speche.adb: Add special case to recognize misspelling
22568 initial letter o as a zero.
22569
225702006-10-31 Robert Dewar <dewar@adacore.com>
22571
22572 * g-spipat.adb (S_To_PE): Remove incorrect use of 0 instead of Str'First
22573
225742006-10-31 Robert Dewar <dewar@adacore.com>
22575
6f7f72f9
EB
22576 * layout.adb (Layout_Record_Type): Deal with non-static subtypes of
22577 variant records
22578 (Layout_Variant_Record): Retrieve the discriminants from the entity
70198b9f
AC
22579 rather than from the type definition, because in the case of a full
22580 type for a private type we need to take the discriminants from the
22581 partial view.
6f7f72f9
EB
22582 (Layout_Component_List): When applying the Max operator to variants with
22583 a nonstatic size, check whether either operand is static and scale that
22584 operand from bits to storage units before applying Max.
70198b9f
AC
22585 (Layout_Type): In VMS, if a C-convention access type has no explicit
22586 size clause (and does not inherit one in the case of a derived type),
22587 then the size is reset to 32 from 64.
22588
225892006-10-31 Vincent Celier <celier@adacore.com>
22590
22591 * lib-load.adb (Load_Unit): Skip the test for a unit not found when
22592 its file has already been loaded, according to the unit being loaded,
22593 not to the current value of Multiple_Unit_Index.
22594
225952006-10-31 Thomas Quinot <quinot@adacore.com>
22596 Eric Botcazou <ebotcazou@adacore.com>
22597 Arnaud Charlet <charlet@adacore.com>
22598
22599 * Makefile.in: Set EH mechanism to ZCX for FreeBSD.
22600 (NO_REORDER_ADAFLAGS): New var defined to -fno-toplevel-reorder if
22601 possible.
22602 (a-except.o): Pass it to the compiler.
22603 (gnatlib-shared-vms): Removed -nostartfiles switch in link step.
22604 (LIBGNAT_TARGET_PAIRS for Windows): Avoid the use of the specific
22605 a-calend-mingw.adb version.
22606
6f7f72f9 22607 * Makefile.rtl: Added s-dsaser.
70198b9f
AC
22608 Add object entries for Ada.Calendar.[Arithmetic/Formatting/Time_Zones]
22609 (GNATRTL_TASKING_OBJS): Add Ada.Dispatching and
22610 Ada.Dispatching.Round_Robin.
22611 Added new unit Ada.Containers.Restricted_Bounded_Doubly_Linked_Lists
22612
22613 * Make-lang.in: Remove all references to gt-ada-decl.h.
22614 Add concatenation (s-strops/s-sopco3/s-sopco4/s-sopco5) to compiler
22615 sources.
22616 Add dependency on ada/s-restri.o for GNAT1 and GNATBIND objects.
22617 Update dependencies.
22618
22619 * system-freebsd-x86.ads: Make ZCX the default EH mechanism for FreeBSD
22620
226212006-10-31 Vincent Celier <celier@adacore.com>
22622
22623 * mlib-utl.adb (Initialized): Remove, no longer used
22624 (Initialize): Remove, no longer used
22625 (Ar): If Ar_Exec is null, get the location of the archive builder and,
22626 if there is one, the archive indexer. Fail if the archive builder cannot
22627 be found.
22628 (Gcc): If the driver path is unknown, get it. Fail if the driver cannot
22629 be found.
22630
226312006-10-31 Ed Schonberg <schonberg@adacore.com>
22632
22633 * sem_ch10.ads, sem_ch10.adb (Check_Redundant_Withs,
22634 Process_Body_Clauses): If the context of a body includes a use clause
22635 for P.Q then a with_clause for P in the same body is not redundant,
22636 even if the spec also has a with_clause on P.
22637 Add missing continuation mark to error msg
22638 (Build_Limited_Views): A limited view of a type is tagged if its
22639 declaration includes a record extension.
22640 (Analyze_Proper_Body): Set Corresponding_Stub field in N_Subunit
22641 node, even if the subunit has errors. This avoids malfunction by
22642 Lib.Check_Same_Extended_Unit in the presence of syntax errors.
22643 (Analyze_Compilation_Unit): Add circuit to make sure we get proper
22644 generation of obsolescent messages for with statements (cannot do
22645 this too early, or we cannot implement avoiding the messages in the
22646 case of obsolescent units withing obsolescent units).
22647 (Install_Siblings): If the with_clause is on a remote descendant of
22648 an ancestor of the current compilation unit, find whether there is
22649 a sibling child unit that is immediately visible.
22650 (Remove_Private_With_Clauses): New procedure, invoked after completing
22651 the analysis of the private part of a nested package, to remove from
22652 visibility the private with_clauses of the enclosing package
22653 declaration.
22654 (Analyze_With_Clause): Remove Check_Obsolescent call, this checking is
22655 now centralized in Generate_Reference.
22656 (Install_Limited_Context_Clauses): Remove superfluous error
22657 message associated with unlimited view visible through use
22658 and renamings. In addition, at the point in which the error
22659 is reported, we add the backslash to the text of the error
22660 to ensure that it is reported as a single error message.
22661 Use new // insertion for some continuation messages
22662 (Expand_Limited_With_Clause): Use copy of name rather than name itself,
22663 to create implicit with_clause for parent unit mentioned in original
22664 limited_with_clause.
22665 (Install_Limited_With_Unit): Set entity of parent identifiers if the
22666 unit is a child unit. For ASIS queries.
22667 (Analyze_Subunit): If the subunit appears within a child unit, make all
22668 ancestor child units directly visible again.
22669
226702006-10-31 Robert Dewar <dewar@adacore.com>
22671
22672 * par-ch10.adb (P_Context_Clause): Minor error message fix
22673
226742006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
22675 Javier Miranda <miranda@adacore.com>
22676
22677 * par-ch12.adb: Grammar update and cleanup.
22678 (P_Formal_Type_Definition, P_Formal_Derived_Type_Definition): Add
22679 support for synchronized derived type definitions.
22680 Add the new actual Abstract_Present to every call to
22681 P_Interface_Type_Definition.
22682 (P_Formal_Object_Declarations): Update grammar rules. Handle parsing of
22683 a formal object declaration with an access definition or a subtype mark
22684 with a null exclusion.
22685 (P_Generic_Association): Handle association with box, and others_choice
22686 with box, to support Ada 2005 partially parametrized formal packages.
22687
226882006-10-31 Robert Dewar <dewar@adacore.com>
22689 Javier Miranda <miranda@adacore.com>
6f7f72f9 22690
70198b9f
AC
22691 * par-ch3.adb (P_Range_Or_Subtype_Mark): Check for bad parentheses
22692 (P_Type_Declaration): Remove barrier against the reserved word "limited"
22693 after "abstract" to give support to the new syntax of AARM 3.4 (2/2).
22694 (P_Type_Declaration): Minor code cleanup. Add support for synchronized
22695 private extensions.
22696 (P_Type_Declaration): Add the new actual Abstract_Present to every call
22697 to P_Interface_Type_Definition.
22698 (P_Interface_Type_Definition): Addition of one formal to report an error
22699 if the reserved word abstract has been previously found.
22700 (P_Identifier_Declarations): Update grammar rules. Handle parsing of an
22701 object renaming declaration with an access definition or subtype mark
22702 with a possible null exclusion.
22703
22704 * par-ch9.adb: Minor error msg fix
22705
22706 * par-load.adb: Add missing continuation mark to error msg
22707
22708 * par-tchk.adb: (Wrong_Token): Code cleanup, use concatenation
22709
227102006-10-31 Vincent Celier <celier@adacore.com>
22711
22712 * prj-dect.adb (Parse_Attribute_Declaration): Do not issue warning for
22713 unknown attribute in unknown package or in package that does not need
22714 to be checked.
22715 (Parse_Package_Declaration): Do not issue warning for unknown package in
22716 quiet output.
22717
227182006-10-31 Vincent Celier <celier@adacore.com>
22719
22720 * prj-makr.adb (Packages_To_Check_By_Gnatname): New global constant
22721 (Make): Call Parse with Packages_To_Check_By_Gnatname for parameter
22722 Packages_To_Check.
22723
227242006-10-31 Vincent Celier <celier@adacore.com>
22725
22726 * prj-nmsc.adb (Check_Ada_Name): For children of package A, G, I and S
22727 on VMS, change "__" to '.' before checking the name.
22728 (Record_Ada_Source): Always add the source file name in the list of
22729 of sources, even if it is not the first time, as it is for another
22730 source index.
22731 (Get_Unit): Replace both '_' (after 'a', 'g', 'i' or 's') with a single
22732 dot, instead of replacing only the first '_'.
22733
22734 * prj-part.adb (Parse): Convert project file path to canonical form
22735
22736 * prj-proc.adb (Recursive_Process): Make sure that, when a project is
22737 extended, the project id of the project extending it is recorded in its
22738 data, even when it has already been processed as an imported project.
22739
227402006-10-31 Robert Dewar <dewar@adacore.com>
22741
22742 * repinfo.adb (List_Entities): Don't list entities from renaming
22743 declarations.
22744
227452006-10-31 Arnaud Charlet <charlet@adacore.com>
22746 Robert Dewar <dewar@adacore.com>
22747
22748 * restrict.ads, restrict.adb (Restriction_Active): Now returns False if
22749 only a restriction warning is active for the given restriction. This is
22750 desirable because we do not want to modify code in the case where only
22751 a warning is set.
22752 (Set_Profile_Restrictions): Make sure that a Profile_Warnings never
22753 causes overriding of real restrictions.
22754 Take advantage of new No_Restrictions constant.
22755
22756 * raise.h: (__gnat_set_globals): Change profile.
22757
227582006-10-31 Arnaud Charlet <charlet@adacore.com>
70198b9f 22759
6f7f72f9
EB
22760 * rtsfind.adb: Remove s-polint from comment as it exists no more.
22761
9e81dbc7 22762 * rtsfind.ads:
6f7f72f9
EB
22763 Move entity RE_Get_Active_Partition_Id to package System.DSA_Services.
22764 Move all the entities in obsolete package System.PolyORB_Interface to
22765 System.Partition_Interface.
70198b9f
AC
22766 (RE_Storage_Size): New function in System.Tasking.
22767 (RE_Get_Ceiling): New entity.
22768 (RE_Set_Ceiling): New entity.
22769 (RO_PE_Get_Ceiling): New entity.
22770 (RO_RE_Set_Ceiling): New entity.
22771 (Inherit_CPP_DT): New entity
22772
227732006-10-31 Robert Dewar <dewar@adacore.com>
22774
22775 * scng.adb (Scan, case of numeric literal): Better msg for identifier
22776 starting with a digit.
22777
227782006-10-31 Ed Schonberg <schonberg@adacore.com>
22779 Thomas Quinot <quinot@adacore.com>
22780 Javier Miranda <miranda@adacore.com>
22781 Gary Dismukes <dismukes@adacore.com>
22782
22783 * sem_attr.ads, sem_attr.adb (Analyze_Access_Attribute): Diagnose
22784 properly an attempt to apply Unchecked_Access to a protected operation.
22785 (OK_Self_Reference): New subprogram to check the legality of an access
22786 attribute whose prefix is the type of an enclosing aggregate.
22787 Generalizes previous mechanism to handle attribute references nested
22788 arbitrarily deep within the aggregate.
22789 (Analyze_Access_Attribute): An access attribute whose prefix is a type
22790 can appear in an aggregate if this is a default-initialized aggregate
22791 for a self-referential type.
22792 (Resolve_Attribute, case Access): Ditto.
22793 Add support for new implementation defined attribute Stub_Type.
22794 (Eval_Attribute, case Attribute_Stub_Type): New case.
22795 (Analyze_Attribute, case Attribute_Stub_Type): New case.
22796 (Stream_Attribute_Available): Implement using new subprogram from
22797 sem_cat, Has_Stream_Attribute_Definition, instead of incorrect
22798 Has_Specified_Stream_Attribute flag.
22799 Disallow Storage_Size and Storage_Pool for access to subprogram
22800 (Resolve_Attribute, case 'Access et al): Take into account anonymous
22801 access types of return subtypes in extended return statements. Remove
22802 accessibility checks on anonymous access types when Unchecked_Access is
22803 used.
22804 (Analyze_Attribute): Add support for the use of 'Class to convert
22805 a class-wide interface to a tagged type.
22806 Add support for the attribute Priority.
22807 (Resolve_Attribute, case Attribute_Access): For Ada_05, add test for
22808 whether the designated type is discriminated with a constrained partial
22809 view and require static matching in that case.
22810 Add local variable Des_Btyp. The Designated_Type
22811 of an access to incomplete subtype is either its non-limited view if
22812 coming from a limited with or its etype if regular incomplete subtype.
22813
22814 * sem_cat.ads, sem_cat.adb (Validate_Remote_Access_To_Class_Wide_Type):
22815 Fix predicate to identify and allow cases of (expander-generated)
22816 references to tag of designated object of a RACW.
22817 (Validate_Static_Object_Name): In Ada 2005, a formal object is
22818 non-static, and therefore cannot appear as a primary in a preelaborable
22819 package.
22820 (Has_Stream_Attribute_Definition): New subprogram, abstracted from
22821 Has_Read_Write_Attributes.
22822 (Has_Read_Write_Attributes): Reimplement in termes of
22823 Has_Stream_Attribute_Definition.
22824 (Missing_Read_Write_Attributes): When checking component types in a
22825 record, unconditionally call Missing_Read_Write_Attributes recursively
22826 (remove guard checking for Is_Record_Type / Is_Access_Type).
22827
228282006-10-31 Robert Dewar <dewar@adacore.com>
22829
22830 * sem_ch11.adb (Analyze_Handled_Statements): Move final test for
22831 useless assignments here and conditionalize it on absence of exception
22832 handlers.
22833 (Analyze_Exception_Handlers): Small code reorganization of error
22834 detection code, for new handling of formal packages.
22835
228362006-10-31 Ed Schonberg <schonberg@adacore.com>
22837 Hristian Kirtchev <kirtchev@adacore.com>
6f7f72f9
EB
22838
22839 * sem_ch12.ads, sem_ch12.adb (Save_References): If node is an operator
70198b9f
AC
22840 that has been constant-folded, preserve information of original tree,
22841 for ASIS uses.
22842 (Analyze_Formal_Derived_Type): Set the limited present flag of the newly
22843 generated private extension declaration if the formal derived type is
22844 synchronized. Carry synchronized present over to the generated private
22845 extension.
22846 (Validate_Derived_Type_Instance): Ensure that the actual of a
22847 synchronized formal derived type is a synchronized tagged type.
22848 (Instantiate_Formal_Package): When creating the instantiation used to
22849 validate the actual package of a formal declared without a box, check
22850 whether the formal itself depends on a prior actual.
22851 (Instantiate_Formal_Subprogram): Create new entities for the defining
22852 identifiers of the formals in the renaming declaration, for ASIS use.
22853 (Instantiate_Formal_Subprogram, Instantiate_Formal_Type): When creating
22854 a renaming declaration or a subtype declaration for an actual in an
22855 instance, capture location information of declaration in generic, for
22856 ASIS use.
22857 (Instantiate_Formal_Package): Add comments on needed additional tests.
22858 AI-317 (partial parametrization) is fully implemented.
22859 (Validate_Private_Type_Instance): Add check for actual which
22860 must have preelaborable initialization
22861 Use new // insertion for some continuation messages
22862 (Analyze_Formal_Object_Declaration): Change usage of Expression to
22863 Default_Expression. Add type retrieval when the declaration has an
22864 access definition. Update premature usage of incomplete type check.
22865 (Check_Access_Definition): New subsidiary routine. Check whether the
22866 current compilation version is Ada 05 and the supplied node has an
22867 access definition.
22868 (Instantiate object): Alphabetize local variables. Handle the creation
22869 of new renaming declarations with respect to the kind of definition
22870 used - either an access definition or a subtype mark. Guard against
22871 unnecessary error message in the context of anonymous access types after
22872 they have been resolved. Add check for required null exclusion in a
22873 formal object declaration.
22874 (Switch_View): A private subtype of a non-private type needs to be
22875 switched (the base type can have been switched without its private
22876 dependents because of the last branch of Check_Private_View.
22877 (Check_Private_View): Do not recompute Base_Type (T), instead use cached
22878 value from BT.
22879 (Instantiate_Type): Emit an error message whenever a class-wide type of
22880 a tagged incomplete type is used as a generic actual.
22881 (Find_Actual_Type): Extend routine to handle a component type in a child
22882 unit that is imported from a formal package in a parent.
22883 (Validate_Derived_Type_Instance): Check that analyzed formal and actual
22884 agree on constrainedness, rather than checking against ultimate ancestor
22885 (Instantiate_Subprogram_Body): Create a cross-reference link to the
22886 generic body, for navigation purposes.
22887
228882006-10-31 Robert Dewar <dewar@adacore.com>
22889 Thomas Quinot <quinot@adacore.com>
22890
22891 * sem_ch13.adb: Storage pool cannot be given for access to subprogram
22892 type.
22893 (New_Stream_Subprogram): When processing an attribute definition clause
22894 for a stream-oriented subprogram, record an entity node occurring at
22895 the point of clause to use for checking the visibility of the clause,
22896 as defined by 8.3(23) as amended by AI-195.
22897 (New_Stream_Subprogram): New procedure, factoring behaviour from both
22898 New_Stream_Function and New_Stream_Procedure.
22899 (New_Stream_Function, New_Stream_Procedure): Removed.
22900 (Analyze_Attribute_Definition_Clause, case Address): Check new
22901 Alignment_Check check
22902
229032006-10-31 Ed Schonberg <schonberg@adacore.com>
22904 Javier Miranda <miranda@adacore.com>
22905 Robert Dewar <dewar@adacore.com>
22906
22907 * sem_ch4.adb (Try_Primitive_Operation): Code cleanup to ensure that we
22908 generate the same errors compiling under -gnatc.
22909 (Try_Object_Operation): If no candidate interpretation succeeds, but
22910 there is at least one primitive operation with the right name, report
22911 error in call rather than on a malformed selected component.
22912 (Analyze_Selected_Component): If the prefix is an incomplete type from
22913 a limited view, and the full view is available, use the full view to
22914 determine whether this is a prefixed call to a primitive operation.
22915 (Operator_Check): Verify that a candidate interpretation is a binary
22916 operation before checking the type of its second formal.
22917 (Analyze_Call): Add additional warnings for function call contexts not
22918 yet supported.
22919 (Analyze_Allocator): Move the check for "initialization not allowed for
22920 limited types" after analyzing the expression. This is necessary,
22921 because OK_For_Limited_Init looks at the structure of the expression.
22922 Before analysis, we don't necessarily know what sort of expression it
22923 is. For example, we don't know whether F(X) is a function call or an
22924 indexed component; the former is legal in Ada 2005; the latter is not.
22925 (Analyze_Allocator): Correct code for AI-287 -- extension aggregates
22926 were missing. We also didn't handle qualified expressions. Now also
22927 allow function calls. Use new common routine OK_For_Limited_Init.
22928 (Analyze_Type_Conversion): Do not perform some legality checks in an
22929 instance, because the error message will be redundant or spurious.
22930 (Analyze_Overloaded_Selected_Component): Do not do style check when
22931 setting an entity, since we do not know it is the right entity yet.
22932 (Analyze_Selected_Component): Move Generate_Reference call to Sem_Res
22933 (Analyze_Overloaded_Selected_Component): Same change
22934 (Analyze_Selected_Component): Remove unnecessary prefix type retrieval
22935 since regular incomplete subtypes are transformed into corresponding
22936 subtypes of their full views.
22937 (Complete_Object_Operation): Treat name of transformed subprogram call
22938 as coming from source, for browsing purposes.
22939 (Try_Primitive_Operation): If formal is an access parameter, compare
22940 with base type of object to determine whether it is a primitive
22941 operation.
22942 (Operator_Check): If no interpretation of the operator matches, check
22943 whether a use clause on any candidate might make the operation legal.
22944 (Try_Class_Wide_Operation): Check whether the first parameter is an
22945 access type whose designated type is class-wide.
22946
229472006-10-31 Robert Dewar <dewar@adacore.com>
22948 Ed Schonberg <schonberg@adacore.com>
22949 Gary Dismukes <dismukes@adacore.com>
22950
22951 * sem_ch5.ads, sem_ch5.adb (Analyze_Loop_Statement): Add circuit to
22952 warn on infinite loops.
22953 Add \\ to some continuation messages
22954 (Analyze_Assignment_Statement): Call Warn_On_Useless_Assignment
22955 (Process_Bounds): If the bounds are integer literals that result from
22956 constant-folding, and they carry a user-defined type, preserve that type
22957 rather than treating this as an integer range.
22958 (Analyze_Exit_Statement): Test for E_Return_Statement in legality check.
22959 (Analyze_Goto_Statement): Test for E_Return_Stateemnt in legality check.
22960 (Analyze_Assignment_Statement): Add call to Check_Elab_Assign for
22961 left hand side of assignment.
22962 (Analyze_Assignment): Add suport to manage assigments to the attribute
22963 priority of a protected object.
22964 (Check_Possible_Current_Value_Condition): Allow fully qualified names
22965 not just identifiers.
22966 (Check_Possible_Current_Value_Condition): Acquire left operand of AND
22967 or AND THEN for possible tracking.
22968 (Analyze_Iteration_Scheme): Check for setting Current_Value for the
22969 case of while loops so we can track values in the loop body.
22970
229712006-10-31 Ed Schonberg <schonberg@adacore.com>
22972 Hristian Kirtchev <kirtchev@adacore.com>
22973 Bob Duff <duff@adacore.com>
6f7f72f9 22974
70198b9f
AC
22975 * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Declaration): A null
22976 procedure cannot be a protected operation (it is a basic_declaration,
22977 not a subprogram_declaration).
22978 (Check_Overriding_Indicator): Rename formal Does_Override to Overridden_
22979 Subp. Add logic for entry processing.
22980 (Check_Synchronized_Overriding): New procedure in New_Overloaded_Entity.
22981 Determine whether an entry or subprogram of a protected or task type
22982 override an inherited primitive of an implemented interface.
22983 (New_Overloaded_Entity): Add calls to Check_Synchronized_Overriding.
22984 Update the actual used in calls to Check_Overriding_Indicator.
22985 (Analyze_Generic_Subprogram_Body): If the subprogram is a child unit,
22986 generate the proper reference to the parent unit, for cross-reference.
22987 (Analyze_Subprogram_Declaration): Protect Is_Controlling_Formal with
22988 Is_Formal.
22989 Add -gnatd.l --Use Ada 95 semantics for limited function returns,
22990 (Add_Extra_Formal): Revise procedure to allow passing in associated
22991 entity, scope, and name suffix, and handle setting of the new
22992 Extra_Formals field.
22993 (Create_Extra_Formals): Change existing calls to Add_Extra_Formal to
22994 pass new parameters. Add support for adding the new extra access formal
22995 for functions whose calls are treated as build-in-place.
22996 (Analyze_A_Return_Statement): Correct casing in error message.
22997 Move Pop_Scope to after Analyze_Function_Return, because an extended
22998 return statement really is a full-fledged scope. Otherwise, visibility
22999 doesn't work right. Correct use of "\" for continuation messages.
23000 (Analyze_Function_Return): Call Analyze on the Obj_Decl, rather than
23001 evilly trying to call Analyze_Object_Declaration directly. Otherwise,
23002 the node doesn't get properly marked as analyzed.
23003 (Analyze_Subprogram_Body): If subprogram is a function that returns
23004 an anonymous access type that denotes a task, build a Master Entity
23005 for it.
23006 (Analyze_Return_Type): Add call to Null_Exclusion_Static_Checks. Verify
23007 proper usage of null exclusion in a result definition.
23008 (Process_Formals): Code cleanup and new error message.
23009 (Process_Formals): Detect incorrect application of null exclusion to
23010 non-access types.
23011 (Conforming_Types): Handle conformance between [sub]types and itypes
23012 generated for entities that have null exclusions applied to them.
23013 (Maybe_Primitive_Operation): Add an additional type retrieval when the
23014 base type is an access subtype. This case arrises with null exclusions.
23015 (New_Overloaded_Entity): Do not remove the overriden entity from the
23016 homonym chain if it corresponds with an abstract interface primitive.
23017 (Process_Formals): Replace membership test agains Incomplete_Kind with a
23018 call to the synthesized predicate Is_Incomplete_Type.
23019 (Analyze_Subprogram_Body): Check wrong placement of abstract interface
23020 primitives.
23021 (Analyze_Subprogram_Declaration): Check that abstract interface
23022 primitives are abstract or null.
23023 (Analyze_Subprogram_Specification): Remove previous check for abstract
23024 interfaces because it was not complete.
23025 (Has_Interface_Formals): Removed.
23026
230272006-10-31 Ed Schonberg <schonberg@adacore.com>
23028 Javier Miranda <miranda@adacore.com>
23029
23030 * sem_ch7.adb (Check_Anonymous_Access_Types): New procedure, subsidiary
23031 of Analyze_Package_Body, to create Itype references for anonymous
23032 access types created in the package declaration, whose designated types
23033 may have only a limited view.
23034 (Analyze_Package_Specification): For the private part of a nested
23035 package, install private_with_clauses of enclosing compilation unit if
23036 we are in its visible part.
23037 (Declare_Inherited_Private_Subprograms): Complete barrier
23038 to ensure that the primitive operation has an alias to some parent
23039 primitive. This is now required because, after the changes done for the
23040 implementation of abstract interfaces, the contents of the list of
23041 primitives has entities whose alias attribute references entities of
23042 such list of primitives.
23043 (Analyze_Package_Specification): Simplify code that handles parent units
23044 of instances and formal packages.
23045 (Uninstall_Declarations): Check the convention consistency among
23046 primitive overriding operations of a tagged record type.
23047
230482006-10-31 Robert Dewar <dewar@adacore.com>
23049 Hristian Kirtchev <kirtchev@adacore.com>
23050 Javier Miranda <miranda@adacore.com>
23051 Ed Schonberg <schonberg@adacore.com>
6f7f72f9 23052
70198b9f
AC
23053 * sem_ch8.adb: Minor error msg rewording
23054 (Undefined): When checking for misspellings, invert arguments (to get
23055 expected and found set right)
23056 (Analyze_Subprogram_Renaming): Propagate Is_Pure, Is_Preelaborated
23057 (Analyze_Generic_Renaming): Same fix
23058 (Use_One_Package): Do not take into account the internal entities of
23059 abstract interfaces during the analysis of entities that are marked
23060 as potentially use-visible.
23061 (Find_Type): Handle the case of an attribute reference for
23062 implementation defined attribute Stub_Type (simply let the analysis of
23063 the attribute reference rewrite it).
23064 (Use_One_Type, End_Use_Type): Reject a reference to a limited view of a
23065 type that appears in a Use_Type clause.
23066 (Analyze_Object_Renaming): Add support for renaming of the Priority
23067 attribute.
23068 (Find_Type): In Ada 2005, a task type can be used within its own body,
23069 when it appears in an access definition.
23070 (Analyze_Object_Renaming): Remove warning on null_exclusion.
23071 (Analyze_Object_Renaming): Introduce checks for required null exclusion
23072 in a formal object declaration or in a subtype declaration.
23073 (Analyze_Subprogram_Renaming): Add call to Check_Null_Exclusion.
23074 (Check_Null_Exclusion): New local routine to
23075 Analyze_Subprogram_Renaming. Check whether the formals and return
23076 profile of a renamed subprogram have required null exclusions when
23077 their counterparts of the renaming already impose them.
23078 (In_Generic_Scope): New local routine to Analyze_Object_Renaming.
23079 Determine whether an entity is inside a generic scope.
23080 (In_Open_Scope): First pass of documentation update.
23081 (Find_Expanded_Name): Add support for shadow entities associated with
23082 limited withed packages. This is required to handle nested packages.
23083 (Analyze_Package_Renaming): Remove the restriction imposed by AI-217
23084 that makes a renaming of a limited withed package illegal.
23085
230862006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
23087 Ed Schonberg <schonberg@adacore.com>
23088
23089 * sem_ch9.adb (Analyze_Protected_Definition): Remove call to
23090 Check_Overriding_Indicator.
23091 (Analyze_Task_Definition): Ditto.
23092 (Analyze_Protected_Type, Analyze_Task_Type): Code cleanup.
23093 (Check_Overriding_Indicator): To find overridden interface operation,
23094 examine only homonyms that have an explicit subprogram declaration, not
23095 inherited operations created by an unrelated type derivation.
23096 (Check_Overriding_Indicator): When checking for the presence of "null"
23097 in a procedure, ensure that the queried node is a procedure
23098 specification.
23099 (Matches_Prefixed_View_Profile): Add mechanism to retrieve the parameter
23100 type when the formal is an access to variable.
23101 (Analyze_Protected_Type): Add check for Preelaborable_Initialization
23102 (Analyze_Task_Type): Same addition
23103 (Analyze_Entry_Declaration): Call Generate_Reference_To_Formals, to
23104 provide navigation capabilities for entries.
23105
231062006-10-31 Hristian Kirtchev <kirtchev@adacore.com>
23107 Ed Schonberg <schonberg@adacore.com>
23108 Javier Miranda <miranda@adacore.com>
23109 Gary Dismukes <dismukes@adacore.com>
23110
23111 * sem_disp.adb (Check_Dispatching_Operation): Do not flag subprograms
23112 inherited from an interface ancestor by another interface in the
23113 context of an instance as 'late'.
23114 (Is_Tag_Indeterminate, Propagate_Tag): Handle properly the dereference
23115 of a call to a function that dispatches on access result.
23116 (Check_Dispatching_Operation): In case of late overriding of a primitive
23117 that covers abstract interface subprograms we register it in all the
23118 secondary dispatch tables associated with abstract interfaces.
23119 (Check_Dispatching_Call): Add check that a dispatching call is not made
23120 to a function with a controlling result of a limited type. This is a
23121 current implementation restriction.
23122 (Check_Controlling_Formal): Remove bogus checks for E.2.2(14).
23123 (Check_Dispatching_Operation): Do no emit a warning if the controlling
23124 argument is an interface type that is a generic formal.
23125 (Is_Interface_Subprogram): Removed.
23126 (Check_Dispatching_Operation): If the subprogram is not a dispatching
23127 operation, check the formals to handle the case in which it is
23128 associated with an abstract interface type.
23129
231302006-10-31 Robert Dewar <dewar@adacore.com>
23131 Ed Schonberg <schonberg@adacore.com>
23132
23133 * sem_elab.ads, sem_elab.adb (Check_Elab_Assign): New procedure
23134 Add new calls to this procedure during traversal
23135 (Activate_Elaborate_All_Desirable): Do not set elaboration flag on
23136 another unit if expansion is disabled.
23137
231382006-10-31 Robert Dewar <dewar@adacore.com>
23139
23140 * sem_eval.adb (Compile_Time_Compare): Make use of information from
23141 Current_Value in the conditional case, to evaluate additional
23142 comparisons at compile time.
23143
231442006-10-31 Ed Schonberg <schonberg@adacore.com>
23145 Hristian Kirtchev <kirtchev@adacore.com>
23146 Javier Miranda <miranda@adacore.com>
23147
23148 * sem_type.adb (Add_One_Interp): If node is an indirect call, preserve
23149 subprogram type to provide better diagnostics in case of ambiguity.
23150 (Covers): Handle coverage of formal and actual anonymous access types in
23151 the context of generic instantiation.
23152 (Covers/Interface_Present_In_Ancestors): Use the base type to manage
23153 abstract interface types; this is required to handle concurrent types
23154 with discriminants and abstract interface types.
23155 (Covers): Include type coverage of both regular incomplete subtypes and
23156 incomplete subtypes of incomplete type visibles through a limited with
23157 clause.
23158
231592006-10-31 Robert Dewar <dewar@adacore.com>
23160 Hristian Kirtchev <kirtchev@adacore.com>
23161 Ed Schonberg <schonberg@adacore.com>
6f7f72f9
EB
23162
23163 * sem_util.ads, sem_util.adb (Enter_Name): Exclude -gnatwh warning
70198b9f
AC
23164 messages for entities in packages which are not used.
23165 (Collect_Synchronized_Interfaces): New procedure.
23166 (Overrides_Synchronized_Primitive): New function.
23167 (Denotes_Discriminant): Extend predicate to apply to task types.
23168 Add missing continuation marks in error msgs
23169 (Unqualify): New function for removing zero or more levels of
23170 qualification from an expression. There are numerous places where this
23171 ought to be used, but we currently only deal properly with zero or one
23172 level.
23173 (In_Instance); The analysis of the actuals in the instantiation of a
23174 child unit is not within an instantiation, even though the parent
23175 instance is on the scope stack.
23176 (Safe_To_Capture_Value): Exclude the case of variables that are
23177 renamings.
23178 (Check_Obsolescent): Removed
23179 (Is_Aliased_View): A reference to an enclosing instance in an aggregate
23180 is an aliased view, even when rewritten as a reference to the target
23181 object in an assignment.
23182 (Get_Subprogram_Entity): New function
23183 (Known_To_Be_Assigned): New function
23184 (Type_Access_Level): Compute properly the access level of a return
23185 subtype that is an anonymous access type.
23186 (Explain_Limited_Type): Correct use of "\" for continuation messages.
23187 (Is_Transfer): The new extended_return_statement causes a transfer of
23188 control.
23189 (Has_Preelaborable_Initialization): New function
23190 (Has_Null_Exclusion): New function. Given a node N, determine whether it
23191 has a null exclusion depending on its Nkind.
23192 Change Is_Lvalue to May_Be_Lvalue
23193 (May_Be_Lvalue): Extensive additional code to deal with subprogram
23194 arguments (IN parameters are not Lvalues, IN OUT parameters are).
23195 (Safe_To_Capture_Value): Extend functionality so it can be used for
23196 the current value condition case.
23197 (Has_Compatible_Alignment): New function
23198 (Is_Dependent_Component_Of_Mutable_Object): Revise the tests for mutable
23199 objects to handle the Ada 2005 case, where aliasedness no longer implies
23200 that the object is constrained. In particular, for dereferenced names,
23201 the designated object must be assumed to be unconstrained.
23202 (Kill_Current_Values): Properly deal with the case where we encounter
23203 a loop in the scope chain.
23204 (Safe_To_Capture_Value): Do not let a loop stop us from capturing
23205 a value.
23206 (Compile_Time_Constraint_Error): Improve error message in error case
23207
23208 * exp_ch13.adb (Expand_N_Freeze_Entity): Remove the freezing node
23209 associated with entities of abstract interface primitives.
23210 Call Apply_Address_Clause_Check instead of Apply_Alignment_Check
23211
232122006-10-31 Robert Dewar <dewar@adacore.com>
23213
9e81dbc7 23214 * s-osinte-tru64.adb:
70198b9f
AC
23215 Mark Asm statements Volatile to prevent warnings (seems a
23216 reasonable change anyway)
23217 Fixes new warnings
23218
23219 * s-mastop-irix.adb: Add Volatile to Asm statements
23220 Suppresses warning, and seems appropriate in any case
23221
23222 * s-osinte-vms.adb: Add Volatile to Asm statement
23223
23224 * s-vaflop-vms-alpha.adb: Add Volatile to Asm statements
23225
23226 * exp_code.ads, exp_code.adb (Asm_Input_Value): Note that Error can be
23227 returned.
23228 Add call to Check_Code_Statement
23229
232302006-10-31 Robert Dewar <dewar@adacore.com>
23231 Ed Schonberg <schonberg@adacore.com>
23232 Bob Duff <duff@adacore.com>
23233
23234 * sinfo.ads, sinfo.adb (Set_Synchronized_Present,
23235 Synchronized_Present): Add Formal_Derived_Type_Definition and
23236 Private_Extension_Declaration to the list of assertions.
23237 (Is_Entry_Barrier_Function): New flag
23238 (Has_Self_Reference): New flag on aggregates, to indicate that they
23239 contain a reference to the enclosing type, inserted through a default
23240 initialization.
23241 (Next_Rep_Item): Move from Node4 to Node5.
23242 (Entity): Add this field for N_Attribute_Definition_Clause.
23243 (Comes_From_Extended_Return_Statement): New flag on N_Return_Statement
23244 (N_Return_Object_Declaration): Remove this node kind. We now use
23245 N_Object_Declaration instead.
23246 (Actual_Designated_Subtype): Move to a different place to make room in
23247 N_Extended_Return_Statement.
23248 (Procedure_To_Call): Move to a different place to make room in
23249 N_Extended_Return_Statement.
23250 (Return_Type): Removed this field to make room in return statements
23251 (both kinds).
23252 (Return_Statement_Entity): New field in return statements, in part to
23253 replace Return_Type, and in part to support the fact that return
23254 statements are now pushed on the scope stack during semantic analysis.
23255 (Return_Object_Declarations): New field to support extended return
23256 statements.
23257 (N_Extended_Return_Statement): New node for extended_return_statement
23258 nonterminal.
23259 (N_Return_Object_Declaration): New node for part of
23260 extended_return_statement nonterminal. Needed because all the necessary
23261 fields won't fit in N_Extended_Return_Statement.
23262 Generic_associations now carry the Box_Present flag, to indicate a
23263 default for an actual in a partially parametrized formal package.
23264
6f7f72f9 23265 * snames.h, snames.ads, snames.adb: Add definition for Validity_Check
70198b9f
AC
23266 (Preset_Names): Add entries for Priority_Specific_Dispatching pragma
23267 and for the new predefined dispatching policies: EDF_Across_Priorities,
23268 Non_Preemptive_Within_Priorities, and Round_Robin_Within_Priorities.
23269 Introduce new name Stub_Type for implementation defined attribute.
23270 Add pragma Preelaborable_Initialization
23271 Add entry for Priority attribute.
23272 Add Pragma_Wide_Character_Encoding
23273 (Get_Convention_Name): Given a convention id, this function returns the
23274 corresponding name id from the names table.
23275
232762006-10-31 Ed Schonberg <schonberg@adacore.com>
23277 Robert Dewar <dewar@adacore.com>
23278 Bob Duff <duff@adacore.com>
23279
23280 * sprint.adb (Sprint_Node_Actual, case Parameter_Specification): Do not
23281 print null exclusion twice in the case of an access definition,
23282 Implement new -gnatL switch
23283 Remove N_Return_Object_Declaration. We now use
23284 N_Object_Declaration instead. Implement the case for
23285 N_Extended_Return_Statement. Alphabetize the cases.
23286 Add cases for new nodes N_Extended_Return_Statement and
23287 N_Return_Object_Declaration. The code is not yet written.
23288 Update the output for N_Formal_Object_Declaration
23289 and N_Object_Renaming_Declaration.
23290 (Write_Itype): Account for the case of a modular integer subtype whose
23291 base type is private.
23292
232932006-10-31 Arnaud Charlet <charlet@adacore.com>
23294
23295 * s-restri.ads, s-restri.adb: Mark this package as Preelaborate.
23296 Remove elaboration code, now done in the binder.
23297
23298 * s-rident.ads: Make this unit Preelaborate.
23299 (No_Restrictions): New constant used to clean up code and follow
23300 preelaborate constraints.
23301
9e81dbc7 23302 * s-stalib.adb:
70198b9f
AC
23303 Add System.Restrictions dependence, referenced directly from the
23304 binder generated file.
23305
233062006-10-31 Gary Dismukes <dismukes@adacore.com>
23307
23308 * s-scaval.adb (Initialize): Add new Boolean flag AFloat that is set
23309 True when AAMP extended floating-point is in use (48-bit). Change type
23310 ByteLF to ByteLLF, add new array type ByteLF and condition the size of
23311 the two byte array types on AFloat. Change type of IV_Ilf overlay
23312 variable from Byte8 to ByteLF. Add appropriate initializations of
23313 floating-point overlays for AAMP cases.
23314
233152006-10-31 Javier Miranda <miranda@adacore.com>
23316
23317 * s-tpoben.ads, s-tpoben.adb, s-taprob.ads, s-taprob.adb
23318 (Get_Ceiling): New subprogram that returns
23319 the ceiling priority of the protected object.
23320 (Set_Ceiling): New subprogram that sets the new ceiling priority of
23321 the protected object.
23322
23323 * s-tarest.adb: (Create_Restricted_Task): Fix potential CE.
23324
23325 * s-taskin.ads, s-taskin.adb: (Storage_Size): New function.
23326
233272006-10-31 Jose Ruiz <ruiz@adacore.com>
23328
23329 * s-tpobop.adb (Requeue_Call): Introduce a dispatching point when
23330 requeuing to the same protected object to give higher priority tasks
23331 the opportunity to execute.
23332
233332006-10-31 Robert Dewar <dewar@adacore.com>
23334
23335 * widechar.adb (Is_Start_Of_Wide_Char): In case of brackets encoding,
23336 add more precise check for the character sequence that follows '[' to
23337 avoid possible confusion in case if '[' is the last character of a
23338 string literals.
23339 (Scan_Wide): Always allow brackets encoding
23340
233412006-10-31 Olivier Hainque <hainque@adacore.com>
23342
23343 * s-stchop.ads: make this unit preelaborate. This is desirable in
23344 general and made mandatory by the use of this unit by s-taprop which
23345 is itself preelaborate.
23346
23347 * s-stchop-vxworks.adb (Set_Stack_Info, Task_Descriptor type): Add
23348 Td_Events component.
23349
233502006-10-31 Vincent Celier <celier@adacore.com>
23351
23352 * a-dirval-vms.adb (Invalid_Character): Specify that digits are allowed
23353 in file names.
23354
233552006-10-31 Vincent Celier <celier@adacore.com>
23356
23357 * a-direct.ads, a-direct.adb (Search): New procedure in Ada 2005
23358
233592006-10-31 Vincent Celier <celier@adacore.com>
23360
23361 * makegpr.adb (Check_Compilation_Needed): Take into account path names
23362 with spaces.
23363 (Check_Compilation_Needed): When checking a C or C++ source, do not
23364 resolve symbolic links.
23365 (Display_Command): New Boolean parameter Ellipse, defaulted to False.
23366 When not in verbose mode and Ellipse is True, display "..." for the
23367 first argument with Display set to False.
23368 (Build_Global_Archive): Always set Display True for the first object
23369 file. Call Display_Command with Ellipse set to True.
23370
233712006-10-31 Matt Heaney <heaney@adacore.com>
23372
23373 * a-crbtgo.ads: Commented each subprogram
23374
23375 * a-crbtgo.adb: Added reference to book from which algorithms were
23376 adapted.
23377
6f7f72f9 23378 * a-crbtgk.ads, a-crbtgk.adb (Generic_Insert_Post): pass flag to
70198b9f
AC
23379 indicate which child.
23380 (Generic_Conditional_Insert): changed parameter name from "Success" to
23381 "Inserted".
23382 (Generic_Unconditional_Insert_With_Hint): improved algorithm
23383
23384 * a-coorse.adb (Replace_Element): changed parameter name in call to
23385 conditional insert operation.
23386
23387 * a-convec.adb, a-coinve.adb (Insert): removed obsolete comment
23388
23389 * a-cohama.adb (Iterate): manipulate busy-bit here, instead of in
23390 Generic_Iteration
23391
23392 * a-ciorse.adb (Replace_Element): changed parameter name in call to
23393 conditional insert operation.
23394
23395 * a-cihama.adb (Iterate): manipulate busy-bit here, instead of in
23396 Generic_Iteration.
23397
23398 * a-cidlli.ads, a-cidlli.adb (Splice): Position param is now mode in
23399 instead of mode inout.
23400
23401 * a-chtgop.adb (Adjust): modified comments to reflect current AI-302
23402 draft
23403 (Generic_Read): preserve existing buckets array if possible
23404 (Generic_Write): don't send buckets array length anymore
23405
23406 * a-cdlili.ads, a-cdlili.adb (Splice): Position param is now mode in
23407 instead of mode inout.
23408
23409 * a-cihase.adb (Difference): iterate over smaller of Tgt and Src sets
23410 (Iterate): manipulate busy-bit here, instead of in Generic_Iteration
23411
23412 * a-cohase.adb (Difference): iterate over smaller of Tgt and Src sets
23413 (Iterate): manipulate busy-bit here, instead of in Generic_Iteration
23414 (Replace_Element): local operation is now an instantiation
23415
23416 * a-chtgke.ads, a-chtgke.adb (Generic_Conditional_Insert): manually
23417 check current length.
23418 (Generic_Replace_Element): new operation
23419
234202006-10-31 Doug Rupp <rupp@adacore.com>
23421
23422 * g-trasym-vms-alpha.adb: Dummy_User_Act_Proc: New function.
23423 Call TBK$SYMBOLIZE without omitting parameters.
23424
234252006-10-31 Vincent Celier <celier@adacore.com>
23426
23427 * symbols-processing-vms-ia64.adb,
23428 symbols-processing-vms-alpha.adb (Process): Do not include symbols
23429 that come from generic instantiations in bodies.
23430
234312006-10-31 Pat Rogers <rogers@adacore.com>
23432
9e81dbc7 23433 * a-rttiev.ads, a-rttiev.adb:
70198b9f
AC
23434 This is a significant redesign primarily for the sake of automatic
23435 timer task termination but also to fix a design flaw.
23436 Therefore we are now using an RTS lock, instead of a protected
23437 object, to provide mutual exclusion to the queue of pending events
23438 and the type Timing_Event is no longer a protected type.
23439
234402006-10-31 Robert Dewar <dewar@adacore.com>
23441 Cyrille Comar <comar@adacore.com>
23442 Ben Brosgol <brosgol@adacore.com>
23443
23444 * debug.adb: Update flags documentation
23445
6f7f72f9
EB
23446 * gnat_ugn.texi: Add documentation for new -gnatwq switch
23447 Clean up documentation for several other warning switches
23448 Clarify how task stack size can be specified with various
23449 versions of Windows.
23450 Add note that -gnatVo includes ranges including loops
70198b9f
AC
23451 Add documentation for -gnatL switch
23452 Add note on elaboration warning for initializing variables
23453 Add documentation for new -gnatwt warning switch
23454 Document new form of pragma Warnings (On|Off, string)
23455 Add comment on use of pragma Warnings to control warnings
23456 Add documentation for -gnatjnn switch
23457 Modify section on interfacing with C for VMS 64-bit.
23458 Add doc for -gnatVe/E
23459 Add documentation of new warning flags -gnatww/-gnatwW
23460 Add warnings about address clause overlays to list of warnings
23461 (Exception Handling Control): Document that the option --RTS must be
23462 used consistently for gcc and gnatbind.
23463 Clarify that inlining is not always possible
23464 Update documentation on pragma Unchecked_Union.
23465
9e81dbc7 23466 * gnat_rm.texi:
70198b9f
AC
23467 Add documentation for new extended version of pragma Obsolescent
23468 Add documentation for implementation defined attribute 'Stub_Type.
23469 Add note on use of Volatile in asm statements
23470 Add documentation on use of pragma Unreferenced in context clause
23471 Document new form of pragma Warnings (On|Off, pattern)
23472 Document pragma Wide_Character_Encoding
23473 Add note that pragma Restrictions (No_Elaboration_Code) is only fully
23474 enforced if code generation is active.
23475 Add section on pragma Suppress to document GNAT specific check
23476 Alignment_Check
23477 Clarify difference between No_Dispatching_Calls & No_Dispatch.
23478 Add documentation for pragma Restrictions (No_Elaboration_Code)
23479
9e81dbc7 23480 * gnat-style.texi:
70198b9f
AC
23481 Add comments on layout of subprogram local variables in the
23482 presence of nested subprograms.
23483
6f7f72f9 23484 * ug_words: Resync.
70198b9f
AC
23485
23486 * elists.ads: Minor reformatting
23487 Node returns Node_Or_Entity_Id (doc change only)
23488
23489 * xgnatugn.adb: Replace ACADEMICEDITION with GPLEDITION
23490
23491 * g-arrspl.ads (Create): Update comments.
23492
23493 * sem.ads: Add details on the handling of the scope stack.
23494
6f7f72f9 23495 * usage.adb: Update documentation.
70198b9f 23496
9e81dbc7 23497 * validsw.ads, validsw.adb:
70198b9f
AC
23498 Add definition of Validity_Check_Components and implement -gnatVe/E
23499
6f7f72f9 23500 * vms_data.ads: Add missing VMS qualifiers.
70198b9f
AC
23501
23502 * s-addope.ads: Add documentation on overflow and divide by zero
23503
235042006-10-31 Robert Dewar <dewar@adacore.com>
23505 Thomas Quinot <quinot@adacore.com>
23506 Arnaud Charlet <charlet@adacore.com>
23507
23508 * fmap.adb: Put routines in alpha order
23509
23510 * g-boumai.ads: Remove redundant 'in' keywords
23511
23512 * g-cgi.adb: Minor reformatting
23513
23514 * g-cgi.ads: Remove redundant 'in' keywords
23515
23516 * get_targ.adb: Put routines in alpha order
23517
23518 * prj-attr.ads: Minor reformatting
23519
23520 * s-atacco.ads: Minor reformatting
23521
23522 * scn.adb: Put routines in alpha order
23523
23524 * sinput-l.adb: Minor comment fix
23525
23526 * sinput-p.adb: Minor comment fix
23527
23528 * s-maccod.ads: Minor reformatting
23529
23530 * s-memory.adb: Minor reformatting
23531
23532 * s-htable.adb: Fix typo in comment.
23533
23534 * s-secsta.adb: Minor comment update.
23535
23536 * s-soflin.adb: Minor reformatting
23537
9e81dbc7 23538 * s-stoele.ads:
70198b9f
AC
23539 Add comment about odd qualification in Storage_Offset declaration
23540
9e81dbc7 23541 * s-strxdr.adb:
70198b9f
AC
23542 Remove unnecessary 'in' keywords for formal parameters.
23543
23544 * treeprs.adt: Minor reformatting
23545
23546 * urealp.adb: Put routines in alpha order
23547
23548 * s-wchcon.ads, s-wchcon.adb (Get_WC_Encoding_Method): New version
23549 taking string.
23550
23551 * s-asthan-vms-alpha.adb: Remove redundant 'in' keywords
23552
23553 * g-trasym-vms-ia64.adb: Remove redundant 'in' keywords
23554
23555 * env.c (__gnat_unsetenv): Unsetenv is unavailable on LynxOS, so
23556 workaround as on other platforms.
23557
23558 * g-eacodu-vms.adb: Remove redundant 'in' keywords
23559 * g-expect-vms.adb: Remove redundant 'in' keywords
23560
23561 * gnatdll.adb (Add_Files_From_List): Handle Name_Error and report a
23562 clear error message if the list-of-files file cannot be opened.
23563
23564 * g-thread.adb (Unregister_Thread_Id): Add use type Thread_Id so the
23565 equality operator is always visible.
23566
23567 * lang.opt: Woverlength-strings: New option.
23568
9e81dbc7 23569 * nmake.adt:
70198b9f
AC
23570 Update copyright, since nmake.ads and nmake.adb have changed.
23571
23572 * osint-b.ads, osint-b.adb (Time_From_Last_Bind): removed function .
23573 (Binder_Output_Time_Stamps_Set): removed.
23574 (Old_Binder_Output_Time_Stamp): idem.
23575 (New_Binder_Output_Time_Stamp): idem.
23576 (Recording_Time_From_Last_Bind): idem.
23577 (Recording_Time_From_Last_Bind): Make constant.
23578
23579 * output.ads, output.adb (Write_Str): Allow LF characters
23580 (Write_Spaces): New procedure
23581
23582 * prepcomp.adb (Preproc_Data_Table): Change Increment from 5% to 100%
23583
23584 * inline.adb: Minor reformatting
23585
23586 * s-asthan-vms-alpha.adb: Remove redundant 'in' keywords
23587
23588 * s-mastop-vms.adb: Remove redundant 'in' keywords
23589
23590 * s-osprim-vms.adb: Remove redundant 'in' keywords
23591
23592 * s-trafor-default.adb: Remove redundant 'in' keywords
23593
23594 * 9drpc.adb: Remove redundant 'in' keywords
23595
23596 * s-osinte-mingw.ads: Minor reformatting
23597
23598 * s-inmaop-posix.adb: Minor reformatting
23599
23600 * a-direio.ads: Remove quotes from Compile_Time_Warning message
23601
23602 * a-exexda.adb: Minor code reorganization
23603
23604 * a-filico.adb: Minor reformatting
23605
23606 * a-finali.adb: Minor reformatting
23607
23608 * a-nudira.ads: Remove quote from Compile_Time_Warning message
23609
23610 * a-numeri.ads: Minor reformatting
23611
23612 * a-sequio.ads: Remove quotes from Compile_Time_Warning message
23613
23614 * exp_pakd.ads: Fix obsolete comment
23615
23616 * a-ztenau.adb, a-ztenio.adb, a-wtenau.adb, a-tienau.adb,
23617 a-wtenio.adb (Put): Avoid assuming low bound of string is 1.
23618 Probably not a bug, but certainly neater and more efficient.
23619
23620 * a-tienio.adb: Minor reformatting
23621
23622 * comperr.adb (Compiler_Abort): Call Cancel_Special_Output at start
23623 Avoid assuming low bound of string is 1.
23624
23625 * gnatbind.adb: Change Bindusg to package and rename procedure as
23626 Display, which now ensures that it only outputs usage information once.
23627 (Scan_Bind_Arg): Avoid assuming low bound of string is 1.
23628
23629 * g-pehage.adb (Build_Identical_Keysets): Replace use of 1 by
23630 Table'First.
23631
23632 * g-regpat.adb (Insert_Operator): Add pragma Warnings (Off) to kill
23633 warning.
23634 (Match): Add pragma Assert to ensure that Matches'First is zero
23635
23636 * g-regpat.ads (Match): Document that Matches lower bound must be zero
23637
23638 * makeutl.adb (Is_External_Assignment): Add pragma Assert's to check
23639 documented preconditions (also kills warnings about bad indexes).
23640
23641 * mdll.adb (Build_Dynamic_Library): Avoid assumption that Afiles'First
23642 is 1.
23643 (Build_Import_Library): Ditto;
23644
23645 * mdll-utl.adb: (Gnatbind): Avoid assumption that Alis'First = 1
23646
23647 * rtsfind.adb (RTE_Error_Msg): Avoid assuming low bound of string is 1.
23648
23649 * sem_case.adb (Analyze_Choices): Add pragma Assert to check that
23650 lower bound of choice table is 1.
23651
23652 * sem_case.ads (Analyze_Choices): Document that lower bound of
23653 Choice_Table is 1.
23654
23655 * s-imgdec.adb (Set_Decimal_Digits): Avoid assuming low bound of
23656 string is 1.
23657
23658 * uintp.adb (Init_Operand): Document that low bound of Vec is always 1,
23659 and add appropriate Assert pragma to suppress warnings.
23660
23661 * atree.h, atree.ads, atree.adb
23662 Change Elist24 to Elist25
23663 Add definitions of Field28 and Node28
23664 (Traverse_Field): Use new syntactic parent table in sinfo.
23665
23666 * cstand.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only
23667
23668 * itypes.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only
23669
23670 * exp_tss.adb: Put routines in alpha order
23671
23672 * fe.h: Remove redundant declarations.
23673
719bb4e3 236742006-10-23 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
ed41063a 23675
c79efc4d
RÁE
23676 * utils.c (builtin_function): Rename to gnat_builtin_function.
23677 Move common code to add_builtin_function.
23678 * misc.c (LANG_HOOKS_BUILTIN_FUNCTION): Define as
23679 gnat_builtin_function.
23680 * gigi.h (builtin_function): Rename to gnat_builtin_function.
23681 Change the signature.
23682
a8384928
BM
236832006-10-16 Brooks Moses <bmoses@stanford.edu>
23684
23685 * Makefile.in: Add TEXI2PDF definition.
23686 * Make-lang.in: Add "ada.pdf" target.
23687
2285b053
KH
236882006-10-03 Kazu Hirata <kazu@codesourcery.com>
23689
23690 * decl.c, utils.c: Fix comment typos.
c0a69967
KH
23691 * utils.c: Fix a typo.
23692
b55e7f34
EB
236932006-09-28 Eric Botcazou <ebotcazou@adacore.com>
23694
23695 * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set "const" flag
23696 on "pure" Ada subprograms if SJLJ exceptions are used.
23697 * trans.c (Handled_Sequence_Of_Statements_to_gnu): Set TREE_NO_WARNING
23698 on the declaration node of JMPBUF_SAVE.
23699 * utils.c (init_gigi_decls): Set DECL_IS_PURE on the declaration nodes
23700 of Get_Jmpbuf_Address_Soft and Get_GNAT_Exception.
23701 * utils2.c (build_call_0_expr): Do not set TREE_SIDE_EFFECTS.
23702
9e94c78f 237032006-08-20 Laurent Guerby <laurent@guerby.net>
d2b40c09 23704
7a197678
EB
23705 PR ada/28716
23706 g-socket.adb (Bind_Socket): Call Set_Address.
23707
41d9adc7
EB
237082006-09-15 Eric Botcazou <ebotcazou@adacore.com>
23709
23710 PR ada/15802
23711 * decl.c (same_discriminant_p): New static function.
23712 (gnat_to_gnu_entity) <E_Record_Type>: When there is a parent
23713 subtype and we have discriminants, fix up the COMPONENT_REFs
23714 for the discriminants to make them reference the corresponding
23715 fields of the parent subtype after it has been built.
23716
21cc3719
RS
237172006-09-15 Roger Sayle <roger@eyesopen.com>
23718
23719 PR ada/18817
23720 * utils.c (max_size): Perform constant folding of (A ? B : C) - D
23721 into A ? B - D : C - D when calculating the size of a MINUS_EXPR.
23722
6f2789da
OH
237232006-09-13 Olivier Hainque <hainque@adacore.com>
23724
23725 PR ada/29025
23726 * trans.c (gnat_gimplify_expr) <ADDR_EXPR>: When taking the address
23727 of a SAVE_EXPR, just make the operand addressable/not-readonly and
23728 let the common gimplifier code make and propagate a temporary copy.
23729 (call_to_gnu): Clarify the use of SAVE_EXPR for not addressable
23730 out/in-out actuals and defer setting the addressable/readonly bits
23731 to the gimplifier.
23732
efaa616e
EB
237332006-09-13 Eric Botcazou <ebotcazou@adacore.com>
23734
23735 PR ada/28591
23736 * decl.c (components_to_record): Defer emitting debug info for the
23737 record type associated with the variant until after we are sure to
23738 actually use it.
23739
2655f1c6
EB
237402006-09-13 Eric Botcazou <ebotcazou@adacore.com>
23741
23742 PR ada/21952
23743 * gigi.h (gnat_internal_attribute_table): Declare.
23744 * misc.c (LANG_HOOKS_ATTRIBUTE_TABLE): Define to above.
23745 * utils.c (gnat_internal_attribute_table): New global variable.
23746 (builtin_function): Always call decl_attributes on the builtin.
23747 (handle_const_attribute): New static function.
23748 (handle_nothrow_attribute): Likewise.
23749
48779194
VR
237502006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
23751
23752 * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
23753
8df7d439
EB
237542006-06-23 Olivier Hainque <hainque@adacore.com>
23755
23756 * misc.c (gnat_type_max_size): Look at TYPE_ADA_SIZE if we have
23757 not been able to get a constant upper bound from TYPE_SIZE_UNIT.
23758
83fdc7c4 237592006-06-20 James A. Morrison <phython@gcc.gnu.org>
6f7f72f9 23760 Eric Botcazou <ebotcazou@adacore.com>
83fdc7c4
JM
23761
23762 PR ada/18692
23763 * Make-lang.in: Add check-gnat to lang_checks. Rename existing
23764 check-gnat into check-acats.
23765
5f516f59
KB
237662006-06-17 Karl Berry <karl@gnu.org>
23767
6f7f72f9 23768 * gnat-style.texi (@dircategory): Use "Software development"
5f516f59
KB
23769 instead of "Programming", following the Free Software Directory.
23770
ce0d1b88
JDA
237712006-06-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
23772
23773 PR ada/27944
23774 * s-taprop-hpux-dce.adb: Delete redundant 'with System.Parameters'.
23775
9e94c78f 237762006-06-06 Laurent Guerby <laurent@guerby.net>
8c60f779 23777
6f7f72f9
EB
23778 PR ada/27769
23779 mlib-utl.adb: Use Program_Name.
23780
ce2e12c2
KH
237812006-05-28 Kazu Hirata <kazu@codesourcery.com>
23782
23783 * decl.c, env.c, gigi.h, init.c, initialize.c, raise-gcc.c,
23784 sem_ch13.adb, sysdep.c, targtyps.c, tb-alvxw.c, tracebak.c,
23785 trans.c, utils.c: Fix comment typos. Follow spelling
23786 conventions.
23787 * gnat_rm.texi, gnat_ugn.texi, : Fix typos. Follow spelling
23788 conventions.
23789
ba4ac682
EB
237902006-05-19 Nicolas Setton <setton@adacore.com>
23791
23792 * misc.c (gnat_dwarf_name): New function.
23793 (LANG_HOOKS_DWARF_NAME): Define to it.
23794
05b44921
L
237952006-05-14 H.J. Lu <hongjiu.lu@intel.com>
23796
23797 * Make-lang.in (ada/decl.o): Replace target.h with $(TARGET_H).
23798 (ada/misc.o): Likewise.
23799 (ada/utils.o): Likewise.
23800
a3bd7058
AJ
238012006-04-08 Aurelien Jarno <aurel32@debian.org>
23802
23803 * Makefile.in: Add Ada support for GNU/kFreeBSD.
23804 * s-osinte-kfreebsd-gnu.ads: New file.
23805
ad3a7ce3
CD
238062006-03-29 Carlos O'Donell <carlos@codesourcery.com>
23807
23808 * Make-lang.in: Rename docdir to gcc_docdir.
23809
936a6fa7
EB
238102006-03-04 Eric Botcazou <ebotcazou@adacore.com>
23811
23812 * gigi.h (get_ada_base_type): Delete.
23813 * utils2.c (get_ada_base_type): Likewise.
23814 * trans.c (convert_with_check): Operate in the real base type.
23815
93f978b7
RK
238162006-03-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
23817
23818 * uintp.adb (Num_Bits): Handle Uint_Int_First specially.
23819
434aeebb
RS
238202006-03-02 Richard Sandiford <richard@codesourcery.com>
23821
23822 * utils.c (create_var_decl): Use have_global_bss_p when deciding
23823 whether to make the decl common.
23824
719bb4e3 238252006-02-20 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
93f978b7 23826
ed41063a 23827 * Make-lang.in (Ada): Remove.
9d29a5b7
RE
23828 (.PHONY): Remove Ada
23829
c63f730e
AC
238302006-02-17 Ed Schonberg <schonberg@adacore.com>
23831
23832 * sem_ch4.adb (Find_Boolean_Types): If one of the operands is an
23833 aggregate, check the interpretations of the other operand to find one
23834 that may be a boolean array.
23835
23836 (Analyze_Selected_Component): Fix flow-of-control typo in case where
23837 the prefix is a private extension.
23838
238392006-02-17 Eric Botcazou <botcazou@adacore.com>
23840
23841 PR ada/26315
c63f730e
AC
23842 * utils2.c (find_common_type): If both input types are BLKmode and
23843 have the same constant size, keep using the first one.
23844
23845 * bindgen.adb: (Gen_Versions_Ada): Revert previous workaround.
23846
23847 * decl.c (gnat_to_gnu_entity): Only check TREE_OVERFLOW for a constant.
23848
23849 * misc.c (gnat_handle_option): New case for -Woverlength-strings.
23850
238512006-02-17 Jose Ruiz <ruiz@adacore.com>
23852
9e81dbc7
AS
23853 * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
23854 s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
23855 s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-lynxos.adb,
c63f730e
AC
23856 s-taprop-tru64.adb (Set_False, Set_True, Suspend_Until_True): Add
23857 Abort_Defer/Undefer pairs to avoid the possibility of a task being
23858 aborted while owning a lock.
23859
238602006-02-17 Javier Miranda <miranda@adacore.com>
23861 Robert Dewar <dewar@adacore.com>
23862
23863 * exp_ch4.adb (Expand_N_Allocator): If the allocated object is accessed
23864 through an access to class-wide interface we force the displacement of
23865 the pointer to the allocated object to reference the corresponding
23866 secondary dispatch table.
23867 (Expand_N_Op_Divide): Allow 64 bit divisions by small power of 2,
23868 if Long_Shifts are supported on the target, even if 64 bit divides
23869 are not supported (configurable run time mode).
23870 (Expand_N_Type_Conversion): Do validity check if validity checks on
23871 operands are enabled.
23872 (Expand_N_Qualified_Expression): Do validity check if validity checks
23873 on operands are enabled.
23874
238752006-02-17 Ed Schonberg <schonberg@adacore.com>
23876
23877 * exp_dbug.adb (Debug_Renaming_Declaration): Indicate that the entity
23878 must be materialized when the renamed expression is an explicit
23879 dereference.
23880
238812006-02-17 Ed Schonberg <schonberg@adacore.com>
23882
23883 * freeze.adb (Statically_Discriminated_Components): Return false if
23884 the bounds of the type of the discriminant are not static expressions.
23885
23886 * sem_aggr.adb (Check_Static_Discriminated_Subtype): Return false if
23887 the bounds of the discriminant type are not static.
23888
238892006-02-17 Robert Dewar <dewar@adacore.com>
23890
23891 * g-os_lib.adb (Copy_File): Make sure that if From has an Invalid_FD,
23892 then we close To if it is valid.
23893
238942006-02-17 Vasiliy Fofanov <fofanov@adacore.com>
23895
23896 * init.c (facility_resignal_table): new array
23897 (__gnat_default_resignal_p): enhance default predicate to resignal if
23898 VMS condition has one of the predefined facility codes.
23899
239002006-02-17 Vasiliy Fofanov <fofanov@adacore.com>
23901
23902 * Makefile.in: Use VMS64 specialized versions of several units in
23903 Interfaces.C hierarchy to be compatible with HP C default size choices.
23904 Use the default version of Ada.Synchronous_Task_Control for VxWorks 653.
23905
239062006-02-17 Ed Schonberg <schonberg@adacore.com>
23907
23908 * sem_ch10.adb (Analyze_With_Clause): If the unit is a subprogram
23909 instantiation, the corresponding entity is the related_instance of the
23910 wrapper package created for the instance.
23911
239122006-02-17 Ed Schonberg <schonberg@adacore.com>
23913
23914 * sem_ch12.adb (Analyze_Package_Instantiation): Inline_Now is false if
23915 the current instance is nested within another instance in a child unit.
23916
239172006-02-17 Javier Miranda <miranda@adacore.com>
23918 Ed Schonberg <schonberg@adacore.com>
23919
23920 * sem_ch3.adb (Build_Discriminated_Subtype): In case of concurrent
23921 type we cannot inherit the primitive operations; we inherit the
23922 Corresponding_Record_Type (which has the list of primitive operations).
23923 (Check_Anonymous_Access_Types): When creating anonymous access types for
23924 access components, use Rewrite in order to preserve the tree structure,
23925 for ASIS use.
23926 (Analyze_Object_Declaration): For limited types with access
23927 discriminants with defaults initialized by an aggregate, obtain
23928 subtype from aggregate as for other mutable types.
23929 (Derived_Type_Declaration): If the derived type is a limited interface,
23930 set the corresponding flag (Is_Limited_Record is not sufficient).
23931
239322006-02-17 Ed Schonberg <schonberg@adacore.com>
23933
23934 * sem_ch6.adb (Build_Body_To_Inline): Enforce the rule that in order
23935 to inline a function that returns an unconstrained type, the return
23936 expression must be the first variable declared in the body of the
23937 function.
23938
239392006-02-17 Javier Miranda <miranda@adacore.com>
23940
23941 * sem_res.adb (Resolve_Type_Conversion): In case of conversion to an
23942 abstract interface type, the static analysis is not enough to know if
23943 the interface is implemented or not by the source tagged type. Hence
23944 we must pass the work to the expander to generate the required code to
23945 evaluate the conversion at run-time.
23946 (Resolve_Equality_Op): Do not apply previous
23947 transformation if expansion is disasbled, to prevent anomalies when
23948 locating global references in a generic unit.
23949
239502006-02-17 Vincent Celier <celier@adacore.com>
23951
23952 * snames.ads, snames.adb: New standard names for new project attributes:
23953 archive_builder, archive_indexer, compiler_pic_option,
23954 config_body_file_name, config_body_file_name_pattern,
23955 config_file_switches, config_file_unique, config_spec_file_name,
23956 config_spec_file_name_pattern, default_builder_switches,
23957 default_global_compiler_switches, default_language,
23958 dependency_file_kind, global_compiler_switches, include_path,
23959 include_path_file, language_kind, linker_executable_option,
23960 linker_lib_dir_option, linker_lib_name_option, mapping_file_switches,
23961 roots, runtime_project.
23962
239632006-02-17 Matthew Heaney <heaney@adacore.com>
23964
9e81dbc7 23965 * a-convec.ads, a-convec.adb:
c63f730e
AC
23966 (operator "&"): handle potential overflow for large index types
23967 (Insert): removed Contraint_Error when using large index types
23968 (Insert_Space): removed Constraint_Error for large index types
23969 (Length): moved constraint check from Length to Insert
23970
23971 * a-coinve.ads, a-coinve.adb: Stream attribute procedures are declared
23972 as not null access.
23973 Explicit raise statements now include an exception message.
23974 (operator "&"): handle potential overflow for large index types
23975 (Insert): removed Contraint_Error when using large index types
23976 (Insert_Space): removed Constraint_Error for large index types
23977 (Length): moved constraint check from Length to Insert
23978
239792006-02-17 Robert Dewar <dewar@adacore.com>
23980
23981 * s-wchcnv.adb: Document handling of [ on output (we do not change
23982 this to ["5B"] and the new comments say why not.
23983
9e81dbc7 23984 * gnat_ugn.texi:
c63f730e
AC
23985 Add note for -gnatVo that this now includes the cases of type
23986 conversions and qualified expressions.
23987 Add comments on handling of brackets encoding for Text_IO
23988
239892006-02-17 Ramon Fernandez <fernandez@adacore.com>
23990 Thomas Quinot <quinot@adacore.com>
23991 Robert Dewar <dewar@adacore.com>
23992 Javier Miranda <miranda@adacore.com>
23993
23994 * expander.adb: Fix typo in comment
23995
23996 * exp_pakd.adb: Fix typo
23997 Minor comment reformatting.
23998
23999 * g-dyntab.adb: Minor reformatting
24000
24001 * exp_ch6.adb (Register_Interface_DT_Entry): Traverse the list of
24002 aliased subprograms to look for the abstract interface subprogram.
24003
fd7927cd
EB
240042006-02-16 Eric Botcazou <ebotcazou@adacore.com>
24005
24006 * env.c (__gnat_setenv): Use size_t.
24007 (__gnat_unsetenv): Likewise.
24008 (__gnat_clearenv): Likewise.
24009
3f806915
AC
240102006-02-16 Arnaud Charlet <charlet@adacore.com>
24011
24012 * opt.ads (Ada_Version_Default): Set to Ada 2005 by default.
24013
cc26ad97
AC
240142006-02-13 Arnaud Charlet <charlet@adacore.com>
24015
24016 * a-intnam-os2.ads, a-intnam-unixware.ads, g-soccon-unixware.ads,
24017 g-soliop-unixware.ads, i-os2err.ads, i-os2lib.adb, i-os2lib.ads,
24018 i-os2syn.ads, i-os2thr.ads, s-intman-irix-athread.adb,
24019 s-osinte-aix-fsu.ads, s-osinte-fsu.adb, s-parame-os2.adb,
24020 s-osinte-irix-athread.ads, s-osinte-linux-fsu.ads, s-osinte-os2.adb,
24021 s-osinte-os2.ads, s-osinte-solaris-fsu.ads, s-osinte-unixware.adb,
24022 s-osinte-unixware.ads, s-osprim-os2.adb, s-taprop-irix-athread.adb,
24023 s-taprop-os2.adb, s-tasinf-irix-athread.adb, s-tasinf-irix-athread.ads,
24024 s-taspri-os2.ads, system-os2.ads, system-unixware.ads: Removed,
24025 no longer used.
24026
240272006-02-13 Jose Ruiz <ruiz@adacore.com>
24028
24029 * a-taster.adb (Current_Task_Fallback_Handler): Document why explicit
24030 protection against race conditions is not needed.
24031 (Set_Dependents_Fallback_Handler): Add mutual exclusive access to the
24032 fallback handler.
24033 (Set_Specific_Handler): Add mutual exclusive access to the specific
24034 handler.
24035 (Specific_Handler): Add mutual exclusive access for retrieving the
24036 specific handler.
24037
24038 * s-tarest.adb (Task_Wrapper): Add mutual exclusive access to the fall
24039 back handler.
24040
24041 * s-taskin.ads (Common_ATCB): Remove pragma Atomic for
24042 Fall_Back_Handler and Specific_Handler.
24043
24044 * s-tassta.adb (Task_Wrapper): Add mutual exclusive access to the task
24045 termination handlers.
24046 Set two different owerflow depending on the maximal stack size.
24047
24048 * s-solita.adb (Task_Termination_Handler_T): Document why explicit
24049 protection against race conditions is not needed when executing the
24050 task termination handler.
24051
240522006-02-13 Robert Dewar <dewar@adacore.com>
24053
24054 * s-gloloc-mingw.adb, a-cgaaso.ads, a-stzmap.adb, a-stzmap.adb,
24055 a-stzmap.ads, a-ztcoio.adb, a-ztedit.adb, a-ztedit.ads, a-ztenau.adb,
24056 a-ztenau.ads, a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
24057 a-comlin.adb, a-decima.adb, a-decima.ads, a-direio.adb, a-direio.adb,
24058 a-direio.adb, a-direio.ads, a-ngcoty.adb, a-ngcoty.ads, a-nuflra.adb,
24059 a-nuflra.ads, a-sequio.adb, a-sequio.ads, a-sequio.ads, a-storio.ads,
24060 a-stream.ads, a-ststio.adb, a-ststio.adb, a-ststio.ads, a-ststio.ads,
24061 a-stwima.adb, a-stwima.adb, a-stwima.ads, a-stwise.adb, a-teioed.adb,
24062 a-teioed.ads, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tasatt.ads,
24063 a-tideau.adb, a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
24064 a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.ads, a-tiflau.adb,
24065 a-tiflau.ads, a-tiflio.adb, a-tiflio.adb, a-tiflio.ads, a-tigeau.ads,
24066 a-tiinau.adb, a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoio.adb,
24067 a-timoio.ads, a-titest.adb, a-titest.ads, a-wtcoio.adb, a-wtdeau.adb,
24068 a-wtdeau.ads, a-wtdeio.adb, a-wtdeio.ads, a-wtedit.adb, a-wtedit.adb,
24069 a-wtedit.ads, a-wtenau.adb, a-wtenau.ads, a-wtenau.ads, a-wtenio.adb,
24070 a-wtenio.ads, a-wtfiio.adb, a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads,
24071 a-wtflio.adb, a-wtflio.adb, a-wtflio.ads, a-wtgeau.ads, a-wtinau.adb,
24072 a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb, a-wtmoau.ads,
24073 a-wtmoio.adb, a-wtmoio.ads, xref_lib.adb, xref_lib.ads, xr_tabls.adb,
24074 g-boubuf.adb, g-boubuf.ads, g-cgideb.adb, g-io.adb, gnatdll.adb,
24075 g-pehage.adb, i-c.ads, g-spitbo.adb, g-spitbo.ads, mdll.adb,
24076 mlib-fil.adb, mlib-utl.adb, mlib-utl.ads, prj-env.adb, prj-tree.adb,
24077 prj-tree.ads, prj-util.adb, s-arit64.adb, s-asthan.ads, s-auxdec.adb,
24078 s-auxdec.ads, s-chepoo.ads, s-direio.adb, s-direio.ads, s-errrep.adb,
24079 s-errrep.ads, s-fileio.adb, s-fileio.ads, s-finroo.adb, s-finroo.ads,
24080 s-gloloc.adb, s-gloloc.ads, s-io.adb, s-io.ads, s-rpc.adb,
24081 s-rpc.ads, s-shasto.ads, s-sequio.adb, s-stopoo.ads, s-stratt.adb,
24082 s-stratt.ads, s-taasde.adb, s-taasde.ads, s-tadert.adb, s-sequio.ads,
24083 s-taskin.adb, s-tasque.adb, s-tasque.ads, s-wchjis.ads, makegpr.adb,
24084 a-coinve.adb, a-cidlli.adb, eval_fat.adb, exp_dist.ads, exp_smem.adb,
24085 fmap.adb, g-dyntab.ads, g-expect.adb, lib-xref.ads, osint.adb,
24086 par-load.adb, restrict.adb, sinput-c.ads, a-cdlili.adb,
24087 system-vms.ads, system-vms-zcx.ads, system-vms_64.ads: Minor
24088 reformatting.
24089
240902006-02-13 Hristian Kirtchev <kirtchev@adacore.com>
24091
24092 * a-tasatt.adb, s-osinte-lynxos-3.adb, s-osinte-lynxos.adb,
24093 s-osinte-aix.adb, s-interr-sigaction.adb, s-asthan-vms-alpha.adb,
24094 s-interr-vms.adb, s-intman-vms.adb, s-interr-vxworks.adb,
24095 s-intman-vxworks.adb, s-asthan-vms-alpha.adb, a-ztexio.adb,
24096 a-reatim.adb, a-taside.adb, a-textio.adb, a-witeio.adb, prj-attr.adb,
24097 s-intman-irix.adb, s-intman-solaris.adb, s-intman-posix.adb,
24098 a-dynpri.adb, a-interr.adb, g-dynhta.adb, s-asthan.adb, s-interr.adb,
24099 s-pooglo.adb, s-pooloc.adb, s-poosiz.adb, s-tasren.adb, s-tasuti.adb,
24100 s-tataat.adb, s-tpobop.adb: Remove redundant with clauses.
24101
241022006-02-13 Arnaud Charlet <charlet@adacore.com>
24103
9e81dbc7
AS
24104 * s-osinte-darwin.adb, s-osinte-darwin.ads, s-osinte-vxworks.ads,
24105 s-osinte-solaris.ads, s-osinte-linux.ads, s-osinte-freebsd.ads,
24106 s-osinte-solaris-posix.ads, s-osinte-lynxos-3.ads, s-osinte-lynxos.ads,
24107 s-osinte-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads,
24108 s-osinte-hpux-dce.ads, s-osinte-linux-hppa.ads,
cc26ad97
AC
24109 s-osinte-linux-alpha.ads, s-inmaop-posix.adb (sigset_t_ptr): Removed,
24110 replaced by anonymous access type.
24111 (pthread_sigmask): Now take an access sigset_t
24112
24113 * s-osinte-hpux.ads: Ditto.
24114 (pthread_mutex_t, pthread_cond_t): Update definitions to support
24115 properly 32 and 64 bit ABIs.
24116
241172006-02-13 Pascal Obry <obry@adacore.com>
24118
9e81dbc7
AS
24119 * s-taprop-posix.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb,
24120 s-taprop-lynxos.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
cc26ad97
AC
24121 s-taprop-linux.adb, s-taprop-solaris.adb,
24122 s-taprop-vms.adb (Create_Task): Remove task adjustment code. This
24123 adjustement is already done when calling this routine.
24124
241252006-02-13 Pascal Obry <obry@adacore.com>
24126
24127 * system-mingw.ads (Underlying_Priorities): Update the priority mapping
24128 table to take advantage of the 16 priority levels available on Windows
24129 2000 and XP. On NT4 there are only 7 priority levels, this is properly
24130 supported by this new mapping.
24131
241322006-02-13 Nicolas Setton <setton@adacore.com>
24133
24134 * adadecode.h, adadecode.c: (__gnat_decode): Improve support of types.
24135 (get_encoding): New subprogram. Extracts the encodings from an encoded
24136 Ada name.
24137
241382006-02-13 Pascal Obry <obry@adacore.com>
24139 Nicolas Roche <roche@adacore.com>
24140 Arnaud Charlet <charlet@adacore.com>
24141
24142 * adaint.h, adaint.c (DIR_SEPARATOR): Use _T() macro for Unicode
24143 support.
24144 (__gnat_try_lock): Add unicode support by using a specific section on
24145 Windows.
24146 (__gnat_get_current_dir): Idem.
24147 (__gnat_open_read): Idem.
24148 (__gnat_open_rw): Idem.
24149 (__gnat_open_create): Idem.
24150 (__gnat_create_output_file): Idem.
24151 (__gnat_open_append): Idem.
24152 (__gnat_open_new): Idem.
24153 (__gnat_file_time_name): Idem.
24154 (__gnat_set_file_time_name): Idem.
24155 (__gnat_stat): Idem.
24156 (win32_no_block_spawn): Idem.
24157 (__gnat_locate_exec_on_path): Idem.
24158 (__gnat_opendir): New routine.
24159 (__gnat_closedir): Idem.
24160 (__gnat_readdir): Add new parameter length (pointer to int). Update
24161 implementation to use it and add specific Win32 code for Unicode
24162 support.
24163 (__gnat_get_env_value_ptr): Remove. Replaced by __gnat_getenv in env.c
24164 (__gnat_set_env_value): Remove. Replaced by __gnat_setenv in env.c
24165 (convert_addresses): Do not define this dummy routine on VMS.
24166
24167 * mingw32.h (GNAT_UNICODE_SUPPORT): New definition, if set the GNAT
24168 runtime Unicode support will be activated.
24169 (S2WS): String to Wide-String conversion. This version just copy a
24170 string in non Unicode version.
24171 (WS2S): Wide-String to String conversion. This version just copy a
24172 string in non Unicode version.
24173
24174 * g-dirope.adb: (Close): Now import __gnat_closedir from adaint.c.
24175 (Open): Now import __gnat_opendir from adaint.c.
24176 (Read): Change the implementation to support unicode characters. It is
24177 not possible to use strlen() on Windows as this version supports only
24178 standard ASCII characters. So the length of the directory entry is now
24179 returned from the imported __gnat_readdir routine.
24180 Update copyright notice.
24181
24182 * s-crtl-vms64.ads, s-crtl.ads: (closedir): Moved to adaint.c.
24183 (opendir): Moved to adaint.c.
24184
24185 * g-os_lib.adb (Copy_Time_Stamp): Fix off-by-one range computation.
24186 (Get_Directory): Fix wrong indexing.
24187 (Getenv): replace __gnat_get_env_value_ptr from adaint.c by
24188 __gnat_getenv from env.c
24189 (Setenv): replace __gnat_set_env_value from adaint.c by __gnat_setenv
24190 from env.c
24191
24192 * env.h, env.c: New file.
24193
24194 * s-scaval.adb (Initialize): Replace __gnat_get_env_value_ptr from
24195 adaint.c by __gnat_getenv from env.c
24196
24197 * s-shasto.adb (Initialize): replace __gnat_get_env_value_ptr from
24198 adaint.c by __gnat_getenv from env.c
24199
24200 * Make-lang.in: Add env.o in the list of C object needed by gnat1
24201 and gnatbind.
24202 Update dependencies.
24203
242042006-02-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
24205 Olivier Hainque <hainque@adacore.com>
24206 Eric Botcazou <ebotcazou@adacore.com>
24207
24208 * ada-tree.h: (TYPE_UNCHECKED_UNION_P): Deleted.
9e81dbc7 24209
cc26ad97
AC
24210 * gigi.h (value_factor_p): Add prototype and description, now public.
24211
24212 * decl.c (gnat_to_gnu_field): Don't attempt BLKmode to integral type
24213 promotion for field with rep clause if the associated size was proven
24214 to be in error.
24215 Expand comments describing attempts to use a packable type.
24216 (gnat_to_gnu_entity) <E_Signed_Integer_Subtype,
24217 E_Floating_Point_Subtype>: Inherit alias set of what we are making a
24218 subtype of to ensure conflicts amongst all subtypes in a hierarchy,
24219 necessary since these are not different types and pointers may
24220 actually designate any subtype in this hierarchy.
24221 (gnat_to_gnu_entity, case E_Record_Type): Always make fields for
24222 discriminants but put them into record only if not Unchecked_Union;
24223 pass flag to components_to_record showing Unchecked_Union.
24224 (make_dummy_type): Use UNION_TYPE only if Unchecked_Union and no
24225 components before variants; don't set TYPE_UNCHECKED_UNION_P.
24226 (components_to_record): New argument UNCHECKED_UNION.
24227 Remove special case code for Unchecked_Union and instead use main code
24228 with small changes.
24229
24230 PR ada/26096
ed41063a
EB
24231 (gnat_to_gnu_entity) <E_Variable>: Do not initialize the aligning
24232 variable with the expression being built, only its inner field.
cc26ad97
AC
24233
24234 * trans.c (Handled_Sequence_Of_Statements_to_gnu): Remove call to
24235 emit_sequence_entry_statements.
24236 (emit_sequence_entry_statements, body_with_handlers_p): Delete.
24237 (establish_gnat_vms_condition_handler): Move before
24238 Subprogram_Body_to_gnu.
24239 (Subprogram_Body_to_gnu): On VMS, establish_gnat_vms_condition_handler
24240 for a subprogram if it has a foreign convention or is exported.
24241 (Identifier_to_gnu): Manually unshare the DECL_INITIAL tree when it is
24242 substituted for a CONST_DECL.
24243 (tree_transform, case N_Aggregate): Remove code for UNION_TYPE and pass
24244 Etype to assoc_to_constructor.
24245 (assoc_to_constructor): New argument, GNAT_ENTITY; use it to ignore
24246 discriminants of Unchecked_Union.
24247 (TARGET_ABI_OPEN_VMS): Define to 0 if not defined, so that later uses
24248 don't need cluttering preprocessor directives.
24249 (establish_gnat_vms_condition_handler): New function. Establish the GNAT
24250 condition handler as current in the compiled function.
24251 (body_with_handlers_p): New function. Tell whether a given sequence of
24252 statements node is attached to a package or subprogram body and involves
24253 exception handlers possibly nested within inner block statements.
24254 (emit_sequence_entry_statements): New function, to emit special
24255 statements on entry of sequences when necessary. Establish GNAT
24256 condition handler in the proper cases for VMS.
24257 (Handled_Sequence_Of_Statements_to_gnu): Start block code with
24258 emit_sequence_entry_statements.
24259
24260 * utils2.c (find_common_type): If both input types are BLKmode and
24261 have a constant size, use the smaller one.
24262 (build_simple_component_ref): Also match if FIELD and NEW_FIELD are
24263 the same.
24264
24265 * utils.c (value_factor_p): Make public, to allow uses from other gigi
24266 units.
24267 (create_type_decl): Do not set the flag DECL_IGNORED_P for dummy types.
24268 (convert, case UNION_TYPE): Remove special treatment for unchecked
24269 unions.
24270
24271 PR ada/18659
ed41063a
EB
24272 (update_pointer_to): Update variants of pointer types to unconstrained
24273 arrays by attaching the list of fields of the main variant.
cc26ad97
AC
24274
242752006-02-13 Arnaud Charlet <charlet@adacore.com>
24276 Robert Dewar <dewar@adacore.com>
24277
24278 * a-exexpr.adb, a-exexpr-gcc.adb
24279 (Process_Raise_Exception): Removed, merged with Propagate_Exception.
24280 (Propagate_Exception): Now take extra From_Signal_Handler parameter.
24281 Remove code unused for exception propagation for the compiler itself
24282 from a-except.adb and update to still share separate packages.
24283
24284 * a-except.ads, a-except.adb: Ditto.
24285 Add comments that this version is now used only by the compiler and
24286 other basic tools. The full version that includes the Ada 2005 stuff
24287 is in separate files a-except-2005.ads/adb. The reason is that we do
24288 not want to cause bootstrap problems with compilers not recognizing
24289 Wide_Wide_String.
24290 Add exception reason code PE_Implicit_Return
24291 Add new exception reason code (Null Exception_Id)
24292
24293 * a-except-2005.adb, a-except-2005.ads: New files.
24294
24295 * s-wchcon.ads: (Get_WC_Encoding_Method): New function.
24296
24297 * s-wchcon.adb: New file.
24298
24299 * Makefile.in (LIBGNAT_SRCS): Add tb-gcc.c.
24300 (traceback.o deps): Likewise.
24301 (SPARC/Solaris): Accept sparc[64|v9]-sun-solaris.
24302 Activate build of GMEM instrumentation library on VMS targets.
24303 (gnatlib-sjlj, gnatlib-zcx): Pass EH_MECHANISM to make gnatlib.
24304 Use a-except-2005.ads/adb for all run-time library builds unless
24305 specified otherwise.
24306 [VMS] (LIBGNAT_TARGET_PAIRS_AUX1,2): Rename s-parame-vms.ads to
24307 s-parame-vms-alpha.ads and add s-parame-vms-ia64.ads.
24308 Use s-parame.adb on all native platforms.
24309 Use s-parame-vxworks.adb on all vxworks platforms.
24310 Add env.c env.h in LIBGNAT_SRCS
24311 Add env.o in LIBGNAT_OBJS
24312 (GNATMAKE_OBJS): Remove ctrl_c.o object.
24313 (LIBGNAT_TARGET_PAIRS for x86-vxworks): Use an specialized version of
24314 s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
24315 supports VxWorks 6 RTPs.
24316 (EXTRA_GNATRTL_NONTASKING_OBJS for x86-vxworks): Remove the use of
24317 i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
24318
24319 * types.h, types.ads (Terminate_Program): New exception
24320 Add comment on modifying multiple versions of a-except.adb when the
24321 table of exception reasons is modified.
24322 Add exception reason code PE_Implicit_Return
24323 Add new exception reason code (Null Exception_Id)
24324
6f7f72f9
EB
24325 * clean.adb (Initialize): Get the target parameters before checking
24326 if target is OpenVMS. Move the OpenVMS specific code here from package
24327 body elaboration code.
cc26ad97
AC
24328
243292006-02-13 Thomas Quinot <quinot@adacore.com>
24330 Vincent Celier <celier@adacore.com>
24331 Robert Dewar <dewar@adacore.com>
24332
24333 * ali-util.adb (Get_File_Checksum): Update to account for change in
24334 profile of Initialize_Scanner.
24335
24336 * gprep.adb (Gnatprep): Update to account for change in profile of
24337 Initialize_Scanner.
24338 (Process_One_File): Same.
24339
24340 * lib.adb (Get_Code_Or_Source_Unit): New subprogram factoring the
24341 common code between Get_Code_Unit and Get_Source_Unit. Reimplement
24342 that behaviour using the new Unit information recorded in the source
24343 files table, rather than going through all units every time.
24344 (Get_Code_Unit): Reimplement in terms of Get_Code_Or_Source_Unit.
24345 (Get_Source_Unit): Same.
24346
24347 * prepcomp.adb (Parse_Preprocessing_Data_File): Update to account for
24348 change in profile of Initialize_Scanner.
24349 (Prepare_To_Preprocess): Same.
24350
24351 * lib.ads: Fix typo in comment (templace -> template).
24352
24353 * prj-part.adb (Parse_Single_Project): Update to account for change in
24354 profile of Initialize_Scanner.
24355
24356 * scn.adb (Initialize_Scanner): Account for change in profile of
24357 Scng.Initialize_Scanner: set Current_Source_Unit in Scn instead of Scng.
24358 Also record the association of the given Source_File_Index to the
24359 corresponding Unit_Number_Type.
24360
24361 * scng.ads, scng.adb (Initialize_Scanner.Set_Reserved): Remove
24362 procedure.
24363 (Initialize_Scanner): Call Scans.Initialize_Ada_Keywords.
24364 Remove Unit formal for generic scanner: this formal
24365 is only relevant to Scn (the scanner instance used to parse Ada source
24366 files), not to other instances. Update comment accordingly.
24367 (Scan): Use new function Snames.Is_Keyword_Name.
24368
24369 * sinfo-cn.adb: Fix typo in comment.
24370
24371 * sinput.adb (Unit, Set_Unit): Accessors for new source file attribute
24372 Unit.
24373
24374 * sinput.ads (Source_File_Record): New component Unit, used to capture
24375 the unit identifier (if any) associated to a source file.
24376
24377 * sinput-c.adb, sinput-l.adb (Load_File): Initialize new component
24378 Unit in Source_File_Record.
24379
24380 * sinput-p.adb (Source_File_Is_Subunit): Update to account for change
24381 in profile of Initialize_Scanner.
24382
24383 * scans.adb (Initialize_Ada_Keywords): New procedure
24384
24385 * scans.ads (Initialize_Ada_Keywords): New procedure to initialize the
24386 Ada keywords in the Namet table, without the need to call
24387 Initialize_Scanner.
24388
24389 * snames.adb: Add pragma Ada_2005 (synonym for Ada_05)
24390 (Is_Keyword_Name): New function
24391
24392 * snames.ads: Add subtype Configuration_Pragma_Names
24393 Add pragma Ada_2005 (synonym for Ada_05)
24394 (Is_Keyword_Name): New function
24395
24396 * snames.h: Add pragma Ada_2005 (synonym for Ada_05)
24397
243982006-02-13 Arnaud Charlet <charlet@adacore.com>
24399
24400 * a-stwisu.adb, a-strsup.adb, a-stzsup.adb (Super_Slice): Fix slice
24401 index.
24402
24403 * a-stwima.adb (To_Set): Add extra check when N = 0.
24404
24405 * g-regpat.adb: (Match_Simple_Operator): Avoid possible overflow.
24406
244072006-02-13 Arnaud Charlet <charlet@adacore.com>
24408
24409 * s-parame-mingw.adb, s-parame-linux.adb,
24410 s-parame-solaris.adb: Removed, replaced by s-parame.adb
24411
24412 * s-parame-vxworks.ads: Fix typo.
24413
24414 * s-parame-vxworks.adb: New file.
24415
24416 * s-parame.adb: Version now used by all native platforms.
24417 (Default_Stack_Size): Use 2 megs for default stack size and use
24418 __gl_default_stack_size when available.
24419 (Minimum_Stack_Size): Use 12K.
24420
24421 * s-taprop-mingw.adb: Set default stack size linker switch to 2megs.
24422 (Create_Task): Refine implementation taking advantage of the XP stack
24423 size support. On XP, we now create the thread using the flag
24424 STACK_SIZE_PARAM_IS_A_RESERVATION.
24425
24426 * s-osinte-mingw.ads (Stack_Size_Param_Is_A_Reservation): New constant.
24427
24428 * sysdep.c (__gnat_is_windows_xp): New routine, returns 1 on Windows
24429 XP and 0 on older Windows versions.
24430
24431 * interfac-vms.ads: Removed, no longer used.
24432
244332006-02-13 Matthew Heaney <heaney@adacore.com>
24434
9e81dbc7
AS
24435 * a-rbtgso.adb, a-crbtgo.adb, a-crbtgk.adb, a-coorse.adb,
24436 a-cohama.adb, a-ciorse.adb, a-cihama.adb, a-cihase.adb,
cc26ad97
AC
24437 a-cohase.adb: All explicit raise statements now include an exception
24438 message.
24439
24440 * a-ciormu.ads, a-ciormu.adb, a-coormu.ads, a-coormu.adb
24441 (Update_Element_Preserving_Key): renamed op to just Update_Element.
24442 Explicit raise statements now include an exception message
24443
24444 * a-cihase.ads, a-cohase.ads: Removed comment.
24445
24446 * a-stboha.ads, a-stboha.adb, a-stfiha.ads, a-envvar.adb,
24447 a-envvar.ads, a-swbwha.ads, a-swbwha.adb, a-swfwha.ads, a-szbzha.ads,
24448 a-szbzha.adb, a-szfzha.ads: New files.
24449
244502006-02-13 Matthew Heaney <heaney@adacore.com>
24451
24452 * a-cgcaso.adb, a-cgaaso.adb: Implemented using heapsort instead of
24453 quicksort.
24454
244552006-02-13 Eric Botcazou <ebotcazou@adacore.com>
24456
24457 * lang.opt: Wvariadic-macros: New option.
24458 Wold-style-definition: Likewise.
24459 Wmissing-format-attribute: Likewise.
24460
24461 * misc.c (gnat_handle_option): New cases for -Wvariadic-macros,
24462 -Wold-style-definition and -Wmissing-format-attribute.
24463
244642006-02-13 Robert Dewar <dewar@adacore.com>
24465
24466 * a-ticoio.ads, a-ticoio.adb: Add use clause (moved here from spec)
24467
24468 * a-coteio.ads, a-lcteio.ads, a-llctio.ads, a-scteio.ads: New files.
24469
244702006-02-13 Nicolas Roche <roche@adacore.com>
24471
24472 * a-envvar.adb, a-envvar.ads: New files.
24473
244742006-02-13 Douglas Rupp <rupp@adacore.com>
24475
24476 * s-parame-vms.ads: Renamed to s-parame-vms-alpha.ads
24477
24478 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: New files.
24479
244802006-02-13 Pat Rogers <rogers@adacore.com>
24481
24482 * a-rttiev.adb, a-rttiev.ads: New files.
24483
244842006-02-13 Hristian Kirtchev <kirtchev@adacore.com>
24485
24486 * a-tiboio.adb, a-tiboio.ads, a-wwboio.adb,
24487 a-wwboio.ads, a-zzboio.adb, a-zzboio.ads: New files.
24488
24489 * impunit.adb, Makefile.rtl: Added new Ada 2005 units.
24490
244912006-02-13 Robert Dewar <dewar@adacore.com>
24492
9e81dbc7 24493 * rtsfind.adb, exp_prag.adb, lib-writ.adb, par-labl.adb,
cc26ad97
AC
24494 sem_case.adb: Minor code reorganization (not Present should be No)
24495
244962006-02-13 Geert Bosch <bosch@adacore.com>
24497 Gary Dismukes <dismukes@adacore.com>
24498
24499 * a-tifiio.adb (Put_Digits): Test Last against To'First - 1 instead of
24500 0, since the lower bound of the actual string may be greater than one.
24501
24502 PR ada/20753
ed41063a 24503 * a-tifiio.adb (Put): Fix condition to raise Layout_Error when invalid
cc26ad97
AC
24504 layout is requested.
24505
245062006-02-13 Vincent Celier <celier@adacore.com>
24507
24508 * back_end.adb (Scan_Compiler_Arguments): Check if
24509 Search_Directory_Present is True and, if it is, add the argument in
24510 the source search directory path.
24511
24512 * switch-c.adb (Scan_Front_End_Switches): Accept switch "-I". Set
24513 Search_Directory_Present to True.
24514
245152006-02-13 Joel Brobecker <brobecke@adacore.com>
24516
24517 * bindgen.adb (Gen_Main_C): declare the ensure_reference variable as
24518 volatile, to tell the compiler to preserve this variable at any level
24519 of optimization.
24520 (Gen_Versions_Ada): Temporarily work around codegen bug.
24521
245222006-02-13 Vincent Celier <celier@adacore.com>
24523
24524 * gnatlink.adb (Process_Binder_File): If -shared is specified, invoke
24525 gcc to link with option -shared-libgcc.
24526 (Gnatlink): Remove duplicate switches -shared-libgcc
24527
245282006-02-13 Robert Dewar <dewar@adacore.com>
24529
24530 * gnatvsn.ads (Current_Year): New constant, used to easily update
24531 copyright on all GNAT tools.
24532
24533 * gnatls.adb, gnatname.adb, vms_conv.adb: Add 2006 to displayed
24534 copyright notice.
24535
245362006-02-13 Robert Dewar <dewar@adacore.com>
24537
24538 * erroutc.ads, erroutc.adb (Set_Message_Blank): Don't insert space
24539 after hyphen (small aesthetic change useful for a range of numbers
24540 using ^-^.
24541 Suppress range checks for a couple of assignments which otherwise
24542 cause validity checks with validity checking turned on.
24543
24544 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Size):
24545 Improvement in error message for object.
24546 (Rep_Item_Too_Late): Remove '!' in warning message.
24547
245482006-02-13 Robert Dewar <dewar@adacore.com>
24549 Eric Botcazou <ebotcazou@adacore.com>
24550
24551 * err_vars.ads: Suppress range checks for a couple of assignments
24552 which otherwise cause validity checks with validity checking turned on.
24553 Update comments.
24554
24555 * errout.adb (Error_Msg_Internal): Do not suppress warning messages.
24556 Make message unconditional if it is a warning.
24557 (Error_Msg_NEL): Always output warning messages.
24558 Suppress range checks for a couple of assignments which otherwise
24559 cause validity checks with validity checking turned on.
24560
24561 * errout.ads (Message Insertion Characters): Document that '!' is
24562 implied by '?' in error messages.
24563
24564 * gnat1drv.adb: (Bad_Body): Remove '!' in warning message.
24565 (Gnat1drv): Use a goto to end of main subprogram instead of
24566 Exit_Program (E_Success) so that finalization can occur normally.
24567
245682006-02-13 Eric Botcazou <ebotcazou@adacore.com>
24569
24570 * s-stchop.adb (Stack_Check): Raise Storage_Error if the argument has
24571 wrapped around.
24572
245732006-02-13 Vincent Celier <celier@adacore.com>
24574
24575 * a-direct.adb (Duration_To_Time, OS_Time_To_Long_Integer): New
24576 Unchecked_Conversion functions.
24577 (Modification_Time): Use direct conversion of OS_Time to Calendar time
24578 when OpenVMS returns False.
24579
24580 * a-dirval-mingw.adb, a-dirval-vms.adb, a-dirval.ads,
24581 a-dirval.adb (OpenVMS): New Boolean function
24582
245832006-02-13 Ed Schonberg <schonberg@adacore.com>
24584 Thomas Quinot <quinot@adacore.com>
24585
24586 * checks.adb (Build_Discriminant_Checks): If the expression being
24587 checks is an aggregate retrieve the values of its discriminants to
24588 generate the check, rather than creating a temporary and a reference
24589 to it.
24590 (Apply_Access_Check): Rewritten to handle new Is_Known_Null flag
24591 (Install_Null_Excluding_Check): Ditto
24592 (Selected_Length_Checks): Build actual subtype for the original Ck_Node,
24593 not for the renamed object, so that the actual itype is attached in the
24594 proper context.
24595
245962006-02-13 Robert Dewar <dewar@adacore.com>
24597 Vincent Celier <celier@adacore.com>
24598
24599 * debug.adb: Eliminate numeric switches for binder/gnatmake
24600
24601 * switch-m.adb (Normalize_Compiler_Switches): Record numeric debug
24602 switches for the compiler.
24603 (Scan_Make_Switches): Do not allow numeric debug switches for gnatmake
24604 (Scan_Make_Switches): When failing with an illegal switch, output an
24605 error message with the full switch.
24606 Eliminate numeric switches for binder/gnatmake
24607
24608 * switch.ads, switch.adb (Bad_Switch): New procedure
24609
24610 * switch-b.adb (Scan_Binder_Switches): Do not accept combined switches.
24611 Remove 0-9 as debug flag character possibilities
24612 -d is now controlling the primary stack size when its value is a
24613 positive. Also add checks against invalid values, and support for kb,
24614 mb. Ditto for -D switch.
24615
246162006-02-13 Robert Dewar <dewar@adacore.com>
24617 Serguei Rybin <rybin@adacore.com>
24618
24619 * opt.ads opt.adb: Add Ada_Version_Explicit_Config along with
24620 save/restore routines.
24621 Properly handle Ada_Version_Explicit and Ada_Version_Config, which
24622 were not always properly handled previously.
24623 Since we are changing the tree format anyway, also get rid of the
24624 junk obsolete Immediate_Errors flag.
24625 (Tree_Read): Change the way of reading Tree_Version_String - now we
24626 read the version string from the tree even if its length is not the
24627 same as the length of the version string computed from Gnatvsn.
24628 (Search_Directory_Present): New Boolean flag for the compiler.
24629 Define Tree_Version_String as a dynamic string.
24630 (Default_Stack_Size): new variable, used to handle switch -d.
24631
9e81dbc7 24632 * par-prag.adb:
cc26ad97
AC
24633 For pragma Ada_2005, remove stuff about setting Ada_Version_Explicit
24634 only for main unit.
24635 Add pragma Ada_2005 (synonym for Ada_05)
24636 Properly handle Ada_Version_Explicit and Ada_Version_Config, which
24637 were not always properly handled previously.
24638
24639 * directio.ads, ioexcept.ads, sequenio.ads, text_io.ads: Change
24640 explicit Ada_95 to Ada_2005.
24641
246422006-02-13 Javier Miranda <miranda@adacore.com>
24643 Robert Dewar <dewar@adacore.com>
24644 Ed Schonberg <schonberg@adacore.com>
24645
24646 * einfo.ads, einfo.adb (First_Tag_Component): Protect the frontend
24647 against errors in the source program: a private types for which the
24648 corresponding full type declaration is missing and pragma CPP_Virtual
24649 is used.
24650 (Is_Unchecked_Union): Check flag on Implementation_Base_Type.
24651 (Is_Known_Null): New flag
24652 (Has_Pragma_Pure): New flag
24653 (No_Return): Present in all entities, set only for procedures
24654 (Is_Limited_Type): A type whose ancestor is an interface is limited if
24655 explicitly declared limited.
24656 (DT_Offset_To_Top_Func): New attribute that is present in E_Component
24657 entities. Only used for component marked Is_Tag. If present it stores
24658 the Offset_To_Top function used to provide this value in tagged types
24659 whose ancestor has discriminants.
24660
24661 * exp_ch2.adb: Update status of new Is_Known_Null flag
24662
24663 * sem_ch7.adb: Maintain status of new Is_Known_Null flag
24664
24665 * sem_cat.adb (Get_Categorization): Don't treat function as Pure in
24666 the categorization sense if Is_Pure was set by pragma Pure_Function.
24667
246682006-02-13 Quentin Ochem <ochem@adacore.com>
24669 Olivier Hainque <hainque@adacore.com>
24670
24671 * bindusg.adb: Updated documentation for -d and -D switches.
24672
24673 * raise.h (__gnat_set_globals): added new parameter for
24674 Default_Stack_Size.
24675
24676 * init.c (__gnat_adjust_context_for_raise) <alpha-vms case>: Implement.
24677 (__gnat_handle_vms_condition): Adjust context before raise.
24678 (__gnat_install_handler): Restore the global vector setup for GCC
24679 versions before 3.4, as the frame based circtuitry is not available
24680 in this case.
24681 (__gnat_set_globals): added a parameter default_stack_size
24682 (__gl_default_stack_size): new variable.
24683
246842006-02-13 Ed Schonberg <schonberg@adacore.com>
24685
24686 * exp_aggr.adb (Build_Array_Aggr_Code): Rename variable
24687 "Others_Mbox_Present" to "Others_Box_Present" because the mbox concept
24688 does not exist in the Ada RM.
24689 (Compatible_Int_Bounds): Determine whether two integer range bounds
24690 are of equal length and have the same start and end values.
24691 (Is_Int_Range_Bounds): Determine whether a node is an integer range.
24692 (Build_Record_Aggr_Code): Perform proper sliding of a nested array
24693 aggregate when it is part of an object declaration.
24694 (Build_Record_Aggr_Code) If the aggregate ttype is a derived type that
24695 constrains discriminants of its parent, add explicitly the discriminant
24696 constraints of the ancestor by retrieving them from the
24697 stored_constraint of the parent.
24698
246992006-02-13 Robert Dewar <dewar@adacore.com>
24700
24701 * exp_attr.adb (Expand_N_Attribute_Reference, case Mechanism_Code): If
24702 attribute Mechanism_Code is applied to renamed subprogram, modify
24703 prefix to point to base subprogram.
24704 Max/Min attributes now violate Restriction No_Implicit_Conditionals
24705
24706 * sinfo.ads: Document that Mechanism_Code cannot be applied to
24707 renamed subprograms so that the front-end must replace the prefix
24708 appropriately.
24709
247102006-02-13 Javier Miranda <miranda@adacore.com>
24711 Gary Dismukes <dismukes@adacore.com>
24712
24713 * exp_ch3.adb (Component_Needs_Simple_Initialization): Add check for
24714 availability of RE_Interface_Tag.
24715 (Build_Initialization_Call): Fix wrong access to the discriminant value.
24716 (Freeze_Record_Type): Do not generate the tables associated with
24717 timed and conditional dispatching calls through synchronized
24718 interfaces if compiling under No_Dispatching_Calls restriction.
24719 When compiling for Ada 2005, for a nonabstract
24720 type with a null extension, call Make_Controlling_Function_Wrappers
24721 and insert the wrapper function declarations and bodies (the latter
24722 being appended as freeze actions).
24723 (Predefined_Primitive_Bodies): Do not generate the bodies of the
24724 predefined primitives associated with timed and conditional
24725 dispatching calls through synchronized interfaces if we are
24726 compiling under No_Dispatching_Calls.
24727 (Build_Init_Procedure): Use RTE_Available to check if a run-time
24728 service is available before generating a call.
24729 (Make_Controlling_Function_Wrappers): New procedure.
24730 (Expand_N_Full_Type_Declaration): Create a class-wide master for
24731 access-to-limited-interfaces because they can be used to reference
24732 tasks that implement such limited interface.
24733 (Build_Offset_To_Top_Functions): Build the tree corresponding to the
24734 procedure spec and body of the Offset_To_Top function that is generated
24735 when the parent of a type with discriminants has secondary dispatch
24736 tables.
24737 (Init_Secondary_Tags): Handle the case in which the parent of the type
24738 containing secondary dispatch tables has discriminants to generate the
24739 correct arguments to call Set_Offset_To_Top.
24740 (Build_Record_Init_Proc): Add call to Build_Offset_To_Top_Functions.
24741
24742 * a-tags.ads, a-tags.adb: (Check_Index): Removed.
24743 Add Wide_[Wide_]Expanded_Name.
24744 (Get_Predefined_Prim_Op_Address): New subprogram that provides exactly
24745 the same functionality of Get_Prim_Op_Address but applied to predefined
24746 primitive operations because the pointers to the predefined primitives
24747 are now saved in a separate table.
24748 (Parent_Size): Modified to get access to the separate table of primitive
24749 operations or the parent type.
24750 (Set_Predefined_Prim_Op_Address): New subprogram that provides the same
24751 functionality of Set_Prim_Op_Address but applied to predefined primitive
24752 operations.
24753 (Set_Signature): New subprogram used to store the signature of a DT.
24754 (Displace): If the Offset_To_Top value is not static then call the
24755 function generated by the expander to get such value; otherwise use
24756 the value stored in the table of interfaces.
24757 (Offset_To_Top): The type of the actual has been changed to Address to
24758 give the correct support to tagged types with discriminants. In this
24759 case this value is stored just immediately after the tag field.
24760 (Set_Offset_To_Top): Two new formals have been added to indicate if the
24761 offset_to_top value is static and hence pass this value to the run-time
24762 to store it in the table of interfaces, or else if this value is dynamic
24763 and then pass to the run-time the address of a function that is
24764 generated by the expander to provide this value for each object of the
24765 type.
24766
24767 * rtsfind.ads (Default_Prin_Op_Count): Removed.
24768 (Default_Prim_Op_Count): New entity
24769 (Get_Predefined_Prim_Op_Address): New entity
24770 (Set_Predefined_Prim_Op_Address): New entity
24771 (RE_Set_Signature): New entity
24772
247732006-02-13 Thomas Quinot <quinot@adacore.com>
24774 Ed Schonberg <schonberg@adacore.com>
24775
24776 * exp_ch4.adb (Expand_Allocator_Expression): Pass Allocator => True to
24777 Make_Adjust_Call done for a newly-allocated object.
24778
24779 * exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): If the statements
24780 in a subprogram are wrapped in a cleanup block, indicate that the
24781 subprogram contains an inner block with an exception handler.
24782 (Make_Adjust_Call): New Boolean formal Allocator indicating whether the
24783 Adjust call is for a newly-allocated object. In that case we must not
24784 assume that the finalization list chain pointers are correct (since they
24785 come from a bit-for-bit copy of the original object's pointers) so if
24786 the attach level would otherwise be zero (no change), we set it to 4
24787 instead to cause the pointers to be reset to null.
24788
24789 * s-finimp.adb (Attach_To_Final_List): New attach level: 4, meaning
24790 reset chain pointers to null.
24791
247922006-02-13 Ed Schonberg <schonberg@adacore.com>
24793
24794 * exp_ch5.adb (Expand_Assign_Array): If the right-hand side is a
24795 string, and the context requires a loop for the assignment (e.g.
24796 because the left-hand side is packed), generate a unique name for the
24797 temporary that holds the string, to prevent spurious name clashes.
24798
247992006-02-13 Ed Schonberg <schonberg@adacore.com>
24800 Javier Miranda <miranda@adacore.com>
24801 Robert Dewar <dewar@adacore.com>
24802 Gary Dismukes <dismukes@adacore.com>
24803
24804 * exp_ch6.adb (Expand_Inlined_Call): Handle calls to functions that
24805 return unconstrained arrays.
24806 Update comments.
24807 (Expand_Call): An indirect call through an access parameter of a
24808 protected operation is not a protected call.
24809 Add circuit to raise CE in Ada 2005 mode following call
24810 to Raise_Exception.
24811 (Register_DT_Entry): Do nothing if
24812 the run-time does not give support to abstract interfaces.
24813 (Freeze_Subprogram): In case of dispatching operations, do not generate
24814 code to register the operation in the dispatch table if the source
24815 is compiled with No_Dispatching_Calls.
24816 (Register_Predefined_DT_Entry): Generate code that calls the new
24817 run-time subprogram Set_Predefined_Prim_Op_Address instead of
24818 Set_Prim_Op_Address.
24819
24820 * sem_ch5.adb (Analyze_Assignment_Statement): Do not apply length checks
24821 on array assignments if the right-hand side is a function call that has
24822 been inlined. Check is performed on the assignment in the block.
24823 (Process_Bounds): If bounds and range are overloaded, apply preference
24824 rule for root operations to disambiguate, and diagnose true ambiguity.
24825 (Analyze_Assignment): Propagate the tag for a class-wide assignment with
24826 a tag-indeterminate right-hand side even when Expander_Active is True.
24827 Needed to ensure that dispatching calls to T'Input are allowed and
24828 get the tag of the target class-wide object.
24829
24830 * sem_ch6.adb (New_Overloaded_Entity): Handle entities that override
24831 an inherited primitive operation that already overrides several
24832 abstract interface primitives. For transitivity, the new entity must
24833 also override all the abstract interface primitives covered by the
24834 inherited overriden primitive.
24835 Emit warning if new entity differs from homograph in same scope only in
24836 that one has an access parameter and the other one has a parameter of
24837 a general access type with the same designated type, at the same
24838 position in the signature.
24839 (Make_Inequality_Operator): Use source locations of parameters and
24840 subtype marks from corresponding equality operator when creating the
24841 tree structure for the implicit declaration of "/=". This does not
24842 change anything in behaviour except that the decoration of the
24843 components of the subtree created for "/=" allows ASIS to get the
24844 string images of the corresponding identifiers.
24845 (Analyze_Return_Statement): Remove '!' in warning message.
24846 (Check_Statement_Sequence): Likewise.
24847 (Analyze_Subprogram_Body): For an access parameter whose designated type
24848 is an incomplete type imported through a limited_with clause, use the
24849 type of the corresponding formal in the body.
24850 (Check_Returns): Implicit return in No_Return procedure now raises
24851 Program_Error with a compile time warning, instead of beging illegal.
24852 (Has_Single_Return): Function returning unconstrained type cannot be
24853 inlined if expression in unique return statement is not an identifier.
24854 (Build_Body_To_Inline): It is possible to inline a function call that
24855 returns an unconstrained type if all return statements in the function
24856 return the same local variable. Subsidiary procedure Has_Single_Return
24857 verifies that the body conforms to this restriction.
24858
24859 * sem_res.adb (Resolve_Equality_Op): If the operands do not have the
24860 same type, and one of them is of an anonymous access type, convert
24861 the other operand to it, so that this is a valid binary operation for
24862 gigi.
24863 (Resolve_Type_Conversion): Handle subtypes of protected types and
24864 task types when accessing to the corresponding record type.
24865 (Resolve_Allocator): Add '\' in 2-line warning message.
24866 Remove '!' in warning message.
24867 (Resolve_Call): Add '\' in 2-line warning message.
24868 (Valid_Conversion): Likewise.
24869 (Resolve_Overloaded_Selected_Component): If disambiguation succeeds, the
24870 resulting type may be an access type with an implicit dereference.
24871 Obtain the proper component from the designated type.
24872 (Make_Call_Into_Operator): Handle properly a call to predefined equality
24873 given by an expanded name with prefix Standard, when the operands are
24874 of an anonymous access type.
24875 (Check_Fully_Declared_Prefix): New procedure, subsidiary of Resolve_
24876 Explicit_Dereference and Resolve_Selected_Component, to verify that the
24877 prefix of the expression is not of an incomplete type. Allows full
24878 diagnoses of all semantic errors.
24879 (Resolve_Actuals): If the actual is an allocator whose directly
24880 designated type is a class-wide interface we build an anonymous
24881 access type to use it as the type of the allocator. Later, when
24882 the subprogram call is expanded, if the interface has a secondary
24883 dispatch table the expander will add a type conversion to force
24884 the displacement of the pointer.
24885 (Resolve_Call): If a function that returns an unconstrained type is
24886 marked Inlined_Always and inlined, the call will be inlined and does
24887 not require the creation of a transient scope.
24888 (Check_Direct_Boolean_Op): Removed
24889 (Resolve_Comparison_Op): Remove call to above
24890 (Resolve_Equality_Op): Remove call to above
24891 (Resolve_Logical_Op): Inline above, since this is only call.
24892 (Valid_Conversion): Handle properly conversions between arrays of
24893 convertible anonymous access types.
24894
24895 PR ada/25885
cc26ad97
AC
24896 (Set_Literal_String_Subtype): If the lower bound is not static, wrap
24897 the literal in an unchecked conversion, because GCC 4.x needs a static
24898 value for a string bound.
24899
249002006-02-13 Ed Schonberg <schonberg@adacore.com>
24901 Hristian Kirtchev <kirtchev@adacore.com>
24902
24903 * exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the
24904 components of the corresponding record, take into account component
24905 definitions that are access definitions.
24906 (Expand_N_Asynchronous_Select): A delay unit statement rewritten as a
24907 procedure is not considered a dispatching call and will be expanded
24908 properly.
24909
249102006-02-13 Javier Miranda <miranda@adacore.com>
24911
24912 * exp_disp.ads, exp_disp.adb (Expand_Dispatching_Call): If the
24913 controlling argument of the dispatching call is an abstract interface
24914 class-wide type then we use it directly.
24915 Check No_Dispatching_Calls restriction.
24916 (Default_Prim_Op_Position): Remove the code that looks for the last
24917 entity in the list of aliased subprograms. This code was wrong in
24918 case of renamings.
24919 (Fill_DT_Entry): Add assertion to avoid the use of this subprogram
24920 when the source is compiled with the No_Dispatching_Calls restriction.
24921 (Init_Predefined_Interface_Primitives): No need to inherit primitives
24922 if we are compiling with restriction No_Dispatching_Calls.
24923 (Make_Disp_XXX): Addition of assertion to avoid the use of all these
24924 subprograms if we are compiling under No_Dispatching_Calls restriction.
24925 (Make_DT): Generate a dispatch table with a single dummy entry if
24926 we are compiling with the No_Dispatching_Calls restriction. In
24927 addition, in this case we don't generate code that calls to the
24928 following run-time subprograms: Set_Type_Kind, Inherit_DT.
24929 (Make_Select_Specific_Data_Table): Add assertion to avoid the use
24930 of this subprogram if compiling with the No_Dispatching_Calls
24931 restriction.
24932 (Expand_Type_Conversion): Instead of using the actual parameter,
24933 the argument passed as parameter to the conversion function was
24934 erroneously referenced by the expander.
24935 (Ada_Actions): Addition of Get_Predefined_Prim_Op_Address,
24936 Set_Predefined_Primitive_Op_Address and Set_Signature.
24937 (Expand_Dispatching_Call): Generate call to
24938 Get_Predefined_Prim_Op_Address for predefined primitives.
24939 (Fill_DT_Entry): Generate call to Set_Predefined_Prim_Op_Address for
24940 predefined primitives.
24941 (Make_DT, Make_Secondary_DT): If the tagged type has no user defined
24942 primitives we reserve one dummy entry to ensure that the tag does not
24943 point to some memory that is associated with some other object. In
24944 addition, remove all the old code that generated the assignments
24945 associated with the signature of the dispatch table and replace them
24946 by a call to the new subprogram Set_Signature.
24947 (Set_All_DT_Position): Change the algorithm because now we have a
24948 separate dispatch table associated with predefined primitive operations.
24949 (Expand_Interface_Conversion): In case of non-static offset_to_top
24950 add explicit dereference to get access to the object after the call
24951 to displace the pointer to the object.
24952 (Expand_Interface_Thunk): Modify the generation of the actual used
24953 in the calls to the run-time function Offset_To_Top to fulfil its
24954 new interface.
24955 (Make_DT): Add the new actuals required to call Set_Offset_To_Top.
24956
249572006-02-13 Ed Schonberg <schonberg@adacore.com>
24958
24959 * exp_dist.adb (Copy_Specification): For access parameters, copy
24960 Null_Exclusion flag, which will have been set for stream subprograms
24961 in Ada2005 mode.
24962
249632006-02-13 Pascal Obry <obry@adacore.com>
24964
24965 * expect.c (__gnat_expect_portable_execvp): New implementation. The
24966 previous implementation was using the C runtime spawnve routine but
24967 the corresponding wait was using directly the Win32 API. This was
24968 causing some times a lock when waiting for an event using
24969 WaitForSingleObject in __gnat_waitpid. This new implementation uses
24970 the Win32 CreateProcess routine. Avoiding mixing C runtime and Win32
24971 API fixes this problem.
24972
249732006-02-13 Robert Dewar <dewar@adacore.com>
24974
24975 * exp_intr.adb (Expand_Unc_Deallocation): Correct error of bad analyze
24976 call.
24977
249782006-02-13 Thomas Quinot <quinot@adacore.com>
24979
24980 * exp_pakd.ads: Fix typos in comments.
24981
24982 * exp_pakd.adb (Convert_To_PAT_Type): For the case of a bit packed
24983 array reference that is an explicit dereference, mark the converted
24984 (packed) array reference as analyzed to prevent a forthcoming
24985 reanalysis from resetting its type to the original (non-packed) array
24986 type.
24987
249882006-02-13 Ed Schonberg <schonberg@adacore.com>
24989 Javier Miranda <miranda@adacore.com>
24990 Eric Botcazou <ebotcazou@adacore.com>
24991
24992 * exp_util.ads, exp_util.adb (Find_Prim_Op,
24993 Is_Predefined_Primitive_Operation): When
24994 searching for the predefined equality operator, verify that operands
24995 have the same type.
24996 (Is_Predefined_Dispatching_Operation): Remove the code that looks
24997 for the last entity in the list of aliased subprograms. This code
24998 was wrong in case of renamings.
24999 (Set_Renamed_Subprogram): New procedure
25000 (Remove_Side_Effects): Replace calls to Etype (Exp) with use of the
25001 Exp_Type constant computed when entering this subprogram.
25002 (Known_Null): New function
25003 (OK_To_Do_Constant_Replacement): New function
25004 (Known_Non_Null): Check scope before believing Is_Known_Non_Null flag
25005 (Side_Effect_Free): An attribute reference 'Input is not free of
25006 side effect, unlike other attributes that are functions. (from code
25007 reading).
25008 (Remove_Side_Effects): Expressions that involve packed arrays or records
25009 are copied at the point of reference, and therefore must be marked as
25010 renamings of objects.
25011 (Is_Predefined_Dispatching_Operation): Return false if the operation is
25012 not a dispatching operation.
25013
25014 PR ada/18819
25015 (Remove_Side_Effects): Lift enclosing type conversion nodes for
25016 elementary types in all cases.
25017
250182006-02-13 Javier Miranda <miranda@adacore.com>
25019
25020 * freeze.adb (Freeze_Entity): Handle subtypes of protected types and
25021 task types when accessing to the corresponding record type.
25022 Remove '!' in warning message.
25023
250242006-02-13 Olivier Hainque <hainque@adacore.com>
25025
25026 * g-altive.ads (VECTOR_ALIGNMENT): Set to Min (16, Max_Alignment),
25027 to avoid useless and space inefficient overalignments on targets where
25028 Max_Alignment is larger than 16.
25029
250302006-02-13 Pascal Obry <obry@adacore.com>
25031
25032 * g-catiio.adb (Sec_Number): New type used to compute the number of
25033 seconds since 1-1-1970.
25034 (Image) [Natural]: The parameter was an Integer, as we can't deal with
25035 negative numbers (years, months...) it is better to have a Natural here.
25036 Code clean-up.
25037 (Image) [Number]: Change parameter from Long_Integer to Number.
25038 (Image): Use Number type to compute the seconds since 1-1-1970 to fix an
25039 overflow for dates past year 2038.
25040
250412006-02-13 Matthew Heaney <heaney@adacore.com>
25042
25043 * g-dyntab.adb (Index_Of): conversion from Natural can no longer raise
25044 Constraint_Error.
25045
250462006-02-13 Arnaud Charlet <charlet@adacore.com>
25047
25048 * gnatbind.adb (Scan_Bind_Arg): Replace error by warning on -M and
25049 native platforms.
25050 (Gnatbind): Do not call Exit_Program (E_Success) at the end, so that
25051 finalization can occur normally.
25052
250532006-02-13 Vincent Celier <celier@adacore.com>
25054
25055 * gnatcmd.adb (Rules_Switches): New table
25056 (Add_To_Rules_Switches): New procedure
25057 (GNATCmd): For command CHECK, put all options following "-rules" in the
25058 Rules_Switches table. Append these -rules switches after the -cargs
25059 switches.
25060
250612006-02-13 Robert Dewar <dewar@adacore.com>
25062
25063 * g-spipat.adb (Image, case PC_Assign_Imm and case PC_Assign_OnM):
25064 These two cases were generating incorrect output, and if this unit
25065 was built with checks on, generated a discriminant mismatch constraint
25066 error.
25067
250682006-02-13 Ed Schonberg <schonberg@adacore.com>
25069 Robert Dewar <dewar@adacore.com>
25070
25071 * lib-xref.adb (Get_Type_Reference): For a private type whose full
25072 view is an array type, indicate the component type as well, for
25073 navigation purposes.
25074 (Generate_Reference): Don't consider array ref on LHS to be a case
25075 of violating pragma Unreferenced.
25076 Do not give Ada 2005 warning except on real reference.
25077
250782006-02-13 Vincent Celier <celier@adacore.com>
25079
25080 * make.adb (Collect_Arguments_And_Compile): For VMS, when compiling the
25081 main source, add switch -mdebug-main=_ada_ so that the executable can
25082 be debugged by the standard VMS debugger.
25083 (Gnatmake): Set No_Main_Subprogram to True when there is no main
25084 subprogram, to avoid issuing -mdebug-main=_ada_ for VMS uselessly.
25085 Exit the Multi_Main_Loop when Unique_Compile is True after compilation
25086 of the last source, as the binding and linking phases are never
25087 performed.
25088 Set all executable obsolete when rebuilding a library.
25089
25090 * makeutl.adb (Linker_Options_Switches): Do not process empty linker
25091 options.
25092
250932006-02-13 Javier Miranda <miranda@adacore.com>
25094
25095 PR ada/23973
cc26ad97
AC
25096 * par-ch3.adb (P_Derived_Type_Def_Or_Private_Ext_Decl): Reorganize the
25097 code to improve the error message reported when the program has
25098 declarations of abstract interface types and it is not compiled with
25099 the -gnat05 switch.
25100 (P_Access_Definition): Reorganize the code to improve the error
25101 message reported when the new Ada 2005 syntax for anonymous
25102 access types is used and the program is not compiled with the
25103 -gnat05 switch.
25104
251052006-02-13 Robert Dewar <dewar@adacore.com>
25106
25107 * par-ch6.adb, style.ads, styleg.adb, styleg.ads, stylesw.adb,
25108 stylesw.ads, usage.adb, vms_data.ads: Implement -gnatyI switch
25109 (MODE_IN)
25110
251112006-02-13 Javier Miranda <miranda@adacore.com>
25112
25113 * par-endh.adb (Explicit_Start_Label): Add code to protect the parser
25114 against source containing syntax errors.
25115
251162006-02-13 Vincent Celier <celier@adacore.com>
25117
25118 * prj.adb (Reset): Initialize the first element of table Namings with
25119 the standard naming data.
25120
251212006-02-13 Vincent Celier <celier@adacore.com>
25122
25123 * prj.ads (Error_Warning): New enumeration type
25124
25125 * prj-nmsc.ads, prj-nmsc.adb (Error_Msg): If location parameter is
25126 unknown, use the location of the project to report the error.
25127 (When_No_Sources): New global variable
25128 (Report_No_Ada_Sources): New procedure
25129 (Check): New parameter When_No_Sources. Set value of global variable
25130 When_No_Sources,
25131 (Find_Sources): Call Report_No_Ada_Sources when appropriate
25132 (Get_Sources_From_File): Ditto
25133 (Warn_If_Not_Sources): Better warning messages indicating the unit name
25134 and the file name.
25135
25136 * prj-pars.ads, prj-pars.adb (Parse): New parameter When_No_Sources.
25137 Call Prj.Proc.Process with parameter When_No_Sources.
25138
25139 * prj-proc.ads, prj-proc.adb (Check): New parameter When_No_Sources.
25140 Call Recursive_Check with parameter When_No_Sources.
25141 (Recursive_Check): New parameter When_No_Sources. Call itself and
25142 Prj.Nmsc.Check with parameter When_No_Sources.
25143 (Process): New parameter When_No_Sources. Call Check with parameter
25144 When_No_Sources.
25145 (Copy_Package_Declarations): New procedure to copy renamed parameters
25146 and setting the location of the declared attributes to the location
25147 of the renamed package.
25148 (Process_Declarative_Items): Call Copy_Package_Declarations for renamed
25149 packages.
25150
251512006-02-13 Vincent Celier <celier@adacore.com>
25152
25153 * prj-makr.adb (Make): Preserve the comments from the original project
25154 file.
25155 When removing nodes (attributes Source_Dirs, Source_Files,
25156 Source_List_File and package Naming), save the comments and attach the
25157 saved comments to the newly created nodes.
25158 Do not add a with clause for the naming package if one already exists.
25159
251602006-02-13 Javier Miranda <miranda@adacore.com>
25161 Gary Dismukes <dismukes@adacore.com>
25162 Robert Dewar <dewar@adacore.com>
25163
25164 * restrict.ads (No_Dispatching_Calls): New GNAT restriction.
25165
25166 * sem_disp.adb (Override_Dispatching_Operation): Traverse the list of
25167 aliased entities to look for the overriden abstract interface
25168 subprogram.
25169 (Is_Interface_Subprogram): Complete documentation.
25170 (Check_Dispatching_Operation): Do not generate code to register the
25171 operation in the dispatch table if the source is compiled with
25172 restriction No_Dispatching_Calls.
25173 (Override_Dispatching_Operation): Check for illegal attempt to override
25174 No_Return procedure with procedure that is not No_Return
25175 (Check_Dispatching_Call): Suppress the check for an abstract operation
25176 when the original node of an actual is a tag-indeterminate attribute
25177 call, since the attribute, which must be 'Input, can never be abstract.
25178 (Is_Tag_Indeterminate): Handle checking of tag indeterminacy of a
25179 call to the Input attribute (even when rewritten).
25180 (Propagate_Tag): Augment comment to indicate the possibility of a call
25181 to an Input attribute.
25182
25183 * sem_disp.ads (Override_Dispatching_Operation): Moved to spec to allow
25184 calling it from Exp_Ch3.Make_Controlling_Function_Wrappers.
25185
25186 * s-rident.ads: (No_Dispatching_Calls): New GNAT restriction.
25187 No_Wide_Characters is no longer partition-wide
25188 No_Implementation_Attributes/Pragmas are now Ada 2005 (AI-257)
25189 rather than GNAT
25190
251912006-02-13 Douglas Rupp <rupp@adacore.com>
25192
25193 * s-auxdec-vms_64.ads (Short_Address): Wrap it in a type.
25194
251952006-02-13 Javier Miranda <miranda@adacore.com>
25196
25197 * sem_aggr.adb (Resolve_Record_Aggregate): Restructure the code that
25198 handles default-initialized components to keep separate the management
25199 of this feature but also avoid the unrequired resolution and
25200 expansion of components that do not have partially initialized
25201 values.
25202 (Collect_Aggr_Bounds): Add '\' in 2-line warning message.
25203 (Check_Bounds): Likewise.
25204 (Check_Length): Likewise.
25205
252062006-02-13 Javier Miranda <miranda@adacore.com>
25207 Ed Schonberg <schonberg@adacore.com>
25208
25209 * sem_attr.adb (Analyze_Attribute): In case of 'Class applied to an
25210 abstract interface type call analyze_and_resolve to expand the type
25211 conversion into the corresponding displacement of the
25212 reference to the base of the object.
25213 (Eval_Attribute, case Width): For systems where IEEE extended precision
25214 is supported, the maximum exponent occupies 4 decimal digits.
25215 (Accessibility_Message): Add '\' in 2-line warning message.
25216 (Resolve_Attribute): Likewise.
25217 (case Attribute_Access): Significantly revise checks
25218 for illegal access-to-subprogram Access attributes to properly enforce
25219 the rules of 3.10.2(32/2).
25220 Diagnose use of current instance with an illegal attribute.
25221
6f7f72f9
EB
25222 * sem_util.ads, sem_util.adb (Enclosing_Generic_Body): Change formal
25223 to a Node_Id.
25224 (Enclosing_Generic_Unit): New function to return a node's innermost
25225 enclosing generic declaration node.
25226 (Compile_Time_Constraint_Error): Remove '!' in warning messages.
25227 (Type_Access_Level): The accessibility level of anonymous acccess types
25228 associated with discriminants is that of the current instance of the
25229 type, and that's deeper than the type itself (AARM 3.10.2 (12.3.21)).
25230 (Compile_Time_Constraint_Error): Handle case of conditional expression.
25231 (Kill_Current_Values_For_Entity): New function
25232 (Enter_Name): Change formal type to Entity_Id
cc26ad97
AC
25233
252342006-02-13 Hristian Kirtchev <kirtchev@adacore.com>
25235 Ed Schonberg <schonberg@adacore.com>
25236 Gary Dismukes <dismukes@adacore.com>
25237
25238 * sem_ch10.adb (Check_Redundant_Withs): New procedure in
25239 Analyze_Compilation_Unit.
25240 Detect and warn on redundant with clauses detected in a package spec
25241 and/or body when -gnatwr is used.
25242 (Analyze_Context): Analyze config pragmas before other items
25243 (Install_Context_Items): Don't analyze config pragmas here
25244 (Install_Limited_Withed_Unit): Set limited entity of package in
25245 with_clause so that cross-reference information or warning messages on
25246 unused packages can be properly generated
25247 (Is_Visible_Through_Renamings): Return false if the limited_with_clause
25248 has Error_Posted set. Prevent infinite loops in illegal programs.
25249 (Check_Private_Child_Unit): Move test for a nonprivate with clause down
25250 to the point of the error test requiring the current unit to be private.
25251 This ensures that private with clauses are not exempted from the basic
25252 checking for being a descendant of the same library unit parent as a
25253 withed private descendant unit.
25254 (Check_Private_Limited_Withed_Unit): Revise the checking algorithm to
25255 handle private with clauses properly, as well as to account for cases
25256 where the withed unit is a public descendant of a private ancestor
25257 (in which case the current unit must be a descendant of the private
25258 ancestor's parent). The spec comments were updated accordingly. Also,
25259 the old error message in this subprogram was replaced with error
25260 messages that mirror the errors tested and reported by
25261 Check_Private_Child_Unit.
25262 Parameter and variable names improved for readability.
25263 (Install_Limited_Context_Clauses): Remove test for a withed unit being
25264 private as the precondition for calling
25265 Check_Private_Limited_Withed_Unit since that subprogram has been
25266 revised to test public units as well as private units.
25267
252682006-02-13 Thomas Quinot <quinot@adacore.com>
25269 Robert Dewar <dewar@adacore.com>
25270 Ed Schonberg <schonberg@adacore.com>
25271 Javier Miranda <miranda@adacore.com>
25272
25273 * sem_ch12.adb (Inline_Instance_Body): Remove erroneous assumption
25274 that Scope_Stack.First = 1.
25275 Properly handle Ada_Version_Explicit and Ada_Version_Config, which
25276 were not always properly handled previously.
25277 (Formal_Entity): Complete rewrite, to handle properly some complex case
25278 with multiple levels of parametrization by formal packages.
25279 (Analyze_Formal_Derived_Type): Propagate Ada 2005 "limited" indicator
25280 to the corresponding derived type declaration for proper semantics.
25281
25282 * sem_prag.adb (Analyze_Pragma): Remove '!' in warning message.
25283 (Check_Component): Enforce restriction on components of
25284 unchecked_unions: a component in a variant cannot contain tasks or
25285 controlled types.
25286 (Unchecked_Union): Allow nested variants and multiple discriminants, to
25287 conform to AI-216.
25288 Add pragma Ada_2005 (synonym for Ada_05)
25289 Properly handle Ada_Version_Explicit and Ada_Version_Config, which
25290 were not always properly handled previously.
25291 Document that pragma Propagate_Exceptions has no effect
25292 (Analyze_Pragma, case Pure): Set new flag Has_Pragma_Pure
25293 (Set_Convention_From_Pragma): Check that if a convention is
25294 specified for a dispatching operation, then it must be
25295 consistent with the existing convention for the operation.
25296 (CPP_Class): Because of the C++ ABI compatibility, the programmer is no
25297 longer required to specify an vtable-ptr component in the record. For
25298 compatibility reasons we leave the support for the previous definition.
25299 (Analyze_Pragma, case No_Return): Allow multiple arguments
25300
25301 * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Flag a
25302 non-overrideen inherited operation with a controlling result as
25303 illegal only its implicit declaration comes from the derived type
25304 declaration of its result's type.
25305 (Check_Possible_Deferred_Completion): Relocate the object definition
25306 node of the subtype indication of a deferred constant completion rather
25307 than directly analyzing it. The analysis of the generated subtype will
25308 correctly decorate the GNAT tree.
25309 (Record_Type_Declaration): Check whether this is a declaration for a
25310 limited derived record before analyzing components.
25311 (Analyze_Component_Declaration): Diagnose record types not explicitly
25312 declared limited when a component has a limited type.
25313 (Build_Derived_Record_Type): Code reorganization to check if some of
25314 the inherited subprograms of a tagged type cover interface primitives.
25315 This check was missing in case of a full-type associated with a private
25316 type declaration.
25317 (Constant_Redeclaration): Check that the subtypes of the partial and the
25318 full view of a constrained deferred constant statically match.
25319 (Mentions_T): A reference to the current type in an anonymous access
25320 component declaration must be an entity name.
25321 (Make_Incomplete_Type_Declaration): If type is tagged, set type of
25322 class_wide type to refer to full type, not to the incomplete one.
25323 (Add_Interface_Tag_Components): Do nothing if RE_Interface_Tag is not
25324 available. Required to give support to the certified run-time.
25325 (Analyze_Component_Declaration): In case of anonymous access components
25326 perform missing checks for AARM 3.9.2(9) and 3.10.2 (12.2).
25327 (Process_Discriminants): For an access discriminant, use the
25328 discriminant specification as the associated_node_for_itype, to
25329 simplify accessibility checks.
25330
253312006-02-13 Ed Schonberg <schonberg@adacore.com>
25332 Javier Miranda <miranda@adacore.com>
25333
25334 * sem_ch4.adb (Remove_Abstract_Interpretations): Even if there are no
25335 abstract interpretations on an operator, remove interpretations that
25336 yield Address or a type derived from it, if one of the operands is an
25337 integer literal.
25338 (Try_Object_Operation.Try_Primitive_Operation,
25339 Try_Object_Operation.Try_Class_Wide_Operation): Set proper source
25340 location when creating the new reference to a primitive or class-wide
25341 operation as a part of rewriting a subprogram call.
25342 (Try_Primitive_Operations): If context requires a function, collect all
25343 interpretations after the first match, because there may be primitive
25344 operations of the same type with the same profile and different return
25345 types. From code reading.
25346 (Try_Primitive_Operation): Use the node kind to choose the proper
25347 operation when a function and a procedure have the same parameter
25348 profile.
25349 (Complete_Object_Operation): If formal is an access parameter and prefix
25350 is an object, rewrite as an Access reference, to match signature of
25351 primitive operation.
25352 (Find_Equality_Type, Find_One_Interp): Handle properly equality given
25353 by an expanded name with prefix Standard, when the operands are of an
25354 anonymous access type.
25355 (Remove_Abstract_Operations): If the operation is abstract because it is
25356 inherited by a user-defined type derived from Address, remove it as
25357 well from the set of candidate interpretations of an overloaded node.
25358 (Analyze_Membership_Op): Membership test not applicable to cpp-class
25359 types.
25360
253612006-02-13 Bob Duff <duff@adacore.com>
25362
25363 * sem_ch8.adb (Note_Redundant_Use): Suppress unhelpful warning about
25364 redundant use clauses.
25365 In particular, if the scope of two use clauses overlaps, but one is not
25366 entirely included in the other, we should not warn. This can happen
25367 with nested packages.
25368 (Analyze_Subprogram_Renaming): Protect the compiler against previously
25369 reported errors. The bug was reported when the compiler was built
25370 with assertions enabled.
25371 (Find_Type): If the node is a 'Class reference and the prefix is a
25372 synchronized type without a corresponding record, return the type
25373 itself.
25374
253752006-02-13 Javier Miranda <miranda@adacore.com>
25376
25377 * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Check that
25378 if this is the full-declaration associated with a private declaration
25379 that implement interfaces, then the private type declaration must be
25380 limited.
25381 (Analyze_Single_Protected, Analyze_Single_Task): Do not mark the object
25382 as aliased. The use of the 'access attribute is not available for such
25383 object (for this purpose the object should be explicitly marked as
25384 aliased, but being an anonymous type this is not possible).
25385
253862006-02-13 Ed Schonberg <schonberg@adacore.com>
25387 Robert Dewar <dewar@adacore.com>
25388
25389 * sem_elab.adb (Same_Elaboration_Scope): A package that is a
25390 compilation unit is an elaboration scope.
25391 (Add_Task_Proc): Add '\' in 2-line warning message.
25392 (Activate_All_Desirable): Deal with case of unit with'ed by parent
25393
253942006-02-13 Ed Schonberg <schonberg@adacore.com>
25395 Javier Miranda <miranda@adacore.com>
25396
25397 * sem_type.adb (Write_Overloads): Improve display of candidate
25398 interpretations.
25399 (Add_One_Interp): Do not add to the list of interpretations aliased
25400 entities corresponding with an abstract interface type that is an
25401 immediate ancestor of a tagged type; otherwise we have a dummy
25402 conflict between this entity and the aliased entity.
25403 (Disambiguate): The predefined equality on universal_access is not
25404 usable if there is a user-defined equality with the proper signature,
25405 declared in the same declarative part as the designated type.
25406 (Find_Unique_Type): The universal_access equality operator defined under
25407 AI-230 does not cover pool specific access types.
25408 (Covers): If one of the types is a generic actual subtype, check whether
25409 it matches the partial view of the other type.
25410
254112006-02-13 Thomas Quinot <quinot@adacore.com>
25412
25413 * sinput-d.adb (Write_Line): Update the Source_Index_Table after each
25414 line. This is necessary to allow In_Extended_Main_Unit to provide
25415 correct results for itypes while writing out expanded source.
25416 (Close_File): No need to update the source_index_table here since it's
25417 now done for each line.
25418
254192006-02-13 Ed Schonberg <schonberg@adacore.com>
25420 Robert Dewar <dewar@adacore.com>
25421
25422 * sprint.adb (Write_Itype): Preserve Sloc of declaration, if any, to
25423 preserve the source unit where the itype is declared, and prevent a
25424 backend abort.
25425 (Note_Implicit_Run_Time_Call): New procedure
25426 (Write_Itype): Handle missing cases (E_Class_Wide_Type and
25427 E_Subprogram_Type)
25428
25429 * sprint.ads: Document use of $ for implicit run time routine call
25430
254312006-02-13 Quentin Ochem <ochem@adacore.com>
25432
25433 * s-stausa.adb (Initialize_Analyzer): fixed error in assignment of
25434 task name.
25435
254362006-02-13 Bob Duff <duff@adacore.com>
25437
25438 * s-valint.adb (Scan_Integer): Call Scan_Raw_Unsigned instead of
25439 Scan_Unsigned, so we do not scan leading blanks and sign twice.
25440 Integer'Value("- 5") and Integer'Value("-+5") now correctly
25441 raise Constraint_Error.
25442
25443 * s-vallli.adb (Scan_Long_Long_Integer): Call
25444 Scan_Raw_Long_Long_Unsigned instead of Scan_Long_Long_Unsigned, so we
25445 do not scan leading blanks and sign twice.
25446 Integer'Value("- 5") and Integer'Value("-+5") now correctly
25447 raise Constraint_Error.
25448
25449 * s-valllu.ads, s-valllu.adb (Scan_Raw_Long_Long_Unsigned,
25450 Scan_Long_Long_Unsigned): Split out most of the processing from
25451 Scan_Long_Long_Unsigned out into
25452 Scan_Raw_Long_Long_Unsigned, so that Val_LLI can call the Raw_ version.
25453 This prevents scanning leading blanks and sign twice.
25454 Also fixed a bug: Modular'Value("-0") should raise Constraint_Error
25455 See RM-3.5(44).
25456
25457 * s-valuns.ads, s-valuns.adb (Scan_Raw_Unsigned, Scan_Unsigned): Split
25458 out most of the processing from Scan_Unsigned out into
25459 Scan_Raw_Unsigned, so that Val_LLI can call the Raw_ version.
25460 This prevents scanning leading blanks and sign twice.
25461
25462 * s-valuti.ads, s-valuti.adb (Scan_Plus_Sign): Add Scan_Plus_Sign, for
25463 use with Modular'Value attribute.
25464 (Scan_Plus_Sign): Add Scan_Plus_Sign, for use with Modular'Value
25465 attribute.
25466
254672006-02-13 Robert Dewar <dewar@adacore.com>
25468
25469 * s-wchjis.adb (JIS_To_EUC): Raise Constraint_Error for invalid value
25470
254712006-02-13 Eric Botcazou <ebotcazou@adacore.com>
25472
25473 * tracebak.c (PPC AIX/Darwin): Define FORCE_CALL to 1.
25474 (PPC VxWorks): Likewise.
25475 (Generic unwinder): Define FORCE_CALL to 0 if not already defined.
25476 (forced_callee): Make non-inlinable and non-pure.
25477 (__gnat_backtrace): Call forced_callee if FORCE_CALL is set to 1.
25478
254792006-02-13 Arnaud Charlet <charlet@adacore.com>
25480 Ben Brosgol <brosgol@adacore.com>
25481 Robert Dewar <dewar@adacore.com>
25482
25483 * gnat_rm.texi, gnat_ugn.texi: Remove limitations with sparc m64
25484 support.
25485 Document that gnatbind -M option is for cross environments only.
25486 Added description of using gnatmem to trace gnat rtl allocs and deallocs
25487 Add note on use of $ to label implicit run time calls
25488 Add documentation for -gnatyI (check mode IN)
25489 Updated chapter on compatibility with HP Ada
25490 VMS-oriented edits.
25491 Ran spell and corrected errors
25492 Add documentation for gnatbind -d and rework documentation of -D
25493 at the same time.
25494 Add subprogram/data elimination section.
25495 Minor editing of annex A.
25496 Add section for gnatcheck.
25497 Add documentation for restriction No_Dispatching_Calls
25498 Add documentation for pragma Ada_2005
25499 Remove mention of obsolete pragma Propagate_Exceptions
25500 Document that pragma Unreferenced can appear after DO in ACCEPT
25501 Clarify Pure_Function for library level units
25502 Mention Max/Min in connection with No_Implicit_Conditionals
25503 No_Wide_Characters restriction is no longer partition-wide
25504 Add a nice example for Universal_Literal_String attribute
25505 Document that pragma No_Return can take multiple arguments
25506
25507 * ug_words: Added entry for gnatcheck
25508
25509 * g-ctrl_c.ads (Install_Handler): Enhance comments
25510
25511 * g-os_lib.ads: Add comments to OS_Exit that it is abrupt termination
25512
25513 * g-trasym.ads: Add documentation on how to do off line symbolic
25514 traceback computation.
25515
25516 * s-fatgen.adb: Add comments for Unaligned_Valid
25517
25518 * stand.ads: Fix typo in comment
25519
0e692cc0
RO
255202006-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
25521
25522 * Make-lang.in (check-gnat): Run run_acats with $(SHELL).
25523
f44013ae
RS
255242006-02-06 Roger Sayle <roger@eyesopen.com>
25525
25526 * decl.c (gnat_substitute_in_type): Don't handle CHAR_TYPE.
25527
3df6582b
JDA
255282006-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
25529
25530 PR target/25926
25531 * initialize.c (__gnat_initialize): Provide HP-UX 10 host and target
25532 implementation that calls __main.
25533
f57a2203
PG
255342006-01-25 Peter O'Gorman <peter@pogma.com>
25535
25536 PR bootstrap/25859
25537 * Makefile.in (GCC_LINK): Remove quotes.
25538 (tools targets): Link with either $(GNATLINK) --GCC="$(GCC_LINK)"
25539 or $(GCC_LINK).
25540
25541 (powerpc-darwin): Pass -shared-libgcc when building shared library.
25542
4bf2d473
JDA
255432006-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
25544
25545 PR ada/24533
25546 * s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8.
25547
4580c9a6
JDA
255482005-12-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
25549
25550 * s-osinte-linux-hppa.ads: Correct alignment of atomic_lock_t.
25551
e5c681b3
AC
255522005-12-12 Arnaud Charlet <charlet@adacore.com>
25553
25554 * Makefile.in: Remove dummy setting of GCC_FOR_TARGET, no longer
25555 needed.
25556
b0b8e176
AC
255572005-12-12 Arnaud Charlet <charlet@adacore.com>
25558
25559 * Make-lang.in: Update dependencies
25560
53fcb103
AC
255612005-12-12 Arnaud Charlet <charlet@adacore.com>
25562
25563 * Make-lang.in: Add rule for ada/exp_sel.o
25564
25b06cda
AC
255652005-12-12 Arnaud Charlet <charlet@adacore.com>
25566
25567 * Makefile.in (mingw section): Remove EH_MECHANISM setting.
25568
aedc2c2b
AC
255692005-12-09 Arnaud Charlet <charlet@adacore.com>
25570
25571 * gnatvsn.ads (Library_Version): Bump to version 4.2
25572 (ASIS_Version_Number): Bumped.
25573
255742005-12-09 Doug Rupp <rupp@adacore.com>
25575
25576 * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb (Is_Interface): Change
25577 Ada bind file prefix on VMS from b$ to b__.
25578 (Build_Dynamic_Library): Change Init file suffix on VMS from $init to
25579 __init.
25580
25581 * prj-nmsc.adb: Change some Hostparm.OpenVMS checks to
25582 Targparm.OpenVMS_On_Target.
25583 (Object_Suffix): Initialize with target object suffix.
25584 (Get_Unit): Change Ada bind file prefix on VMS from b$ to b__.
25585
25586 * butil.adb: Change some Hostparm.OpenVMS checks to
25587 Targparm.OpenVMS_On_Target.
25588
25589 * clean.adb: Change some Hostparm.OpenVMS checks to
25590 Targparm.OpenVMS_On_Target.
25591 (Object_Suffix): Initialize with call to Get_Target_Object_Suffix.
25592 ({declaraction},Delete_Binder_Generated_Files,{initialization}): Change
25593 Ada bind file prefix on VMS from b$ to b__.
25594
25595 * gnatlink.adb (Process_Args): Call Add_Src_Search_Dir for -I in
25596 --GCC so that Get_Target_Parameters can find system.ads.
25597 (Gnatlink): Call Get_Target_Parameters in mainline.
25598 Initialize standard packages for Targparm.
25599 Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
25600 (Process_Args): Also Check for object files with target object
25601 extension.
25602 (Make_Binder_File_Names): Create with target object extension.
25603 (Make_Binder_File_Names): Change Ada bind file prefix on VMS from b$
25604 to b__.
25605
25606 * mlib-prj.adb: Change some Hostparm.OpenVMS checks to
25607 Targparm.OpenVMS_On_Target.
25608 ({declaration},Build_Library,Check_Library): Change Ada bind file
25609 prefix on VMS from b$ to b__.
25610
25611 * osint-b.adb: Change some Hostparm.OpenVMS checks to
25612 Targparm.OpenVMS_On_Target.
25613 (Create_Binder_Output): Change Ada bind file prefix on VMS from b$ to
25614 b__.
25615
25616 * targext.c: New file.
25617
25618 * Makefile.in: add support for vxworks653 builds
25619 (../../vxaddr2line): gnatlink with targext.o.
25620 (TOOLS_LIBS): Move targext.o to precede libgnat.
25621 (init.o, initialize.o): Minor clean up in dependencies.
25622 (GNATLINK_OBJS): Add targparm.o, snames.o
25623 Add rules fo building targext.o and linking it explicitly with all
25624 tools.
25625 Also add targext.o to gnatlib.
25626
25627 * Make-lang.in: Add rules for building targext.o and linking it in
25628 with gnat1 and gnatbind.
25629 Add entry for exp_sel.o.
25630
25631 * osint.adb Change some Hostparm.OpenVMS checks to
25632 Targparm.OpenVMS_On_Target.
25633 (Object_File_Name): Use target object suffix.
25634
25635 * osint.ads (Object_Suffix): Remove, no longer used.
25636 (Target_Object_Suffix): Initialize with target object suffix.
25637
25638 * rident.ads: Add special exception to license.
25639
25640 * targparm.adb (Get_Target_Parameters): Set the value of
25641 Multi_Unit_Index_Character after OpenVMS_On_Target gets its definitive
25642 value.
25643 (Get_Target_Parameters): Set OpenVMS_On_Target if openvms.
9e81dbc7 25644
aedc2c2b
AC
25645 * targparm.ads: Add special exception to license.
25646
25647 * g-os_lib.ads, g-os_lib.adb (Get_Target_Debuggable_Suffix): New
25648 function.
25649 (Copy_File): Make sure from file is closed if error on to file
25650 (Get_Target_Executable_Suffix, Get_Target_Object_Suffix): New functions.
25651
25652 * make.adb (Object_Suffix): Intialize with Get_Target_Object_Suffix.
25653 (Executable_Suffix): Intialize with Get_Target_Executable_Suffix.
25654
25655 * osint-c.adb (Set_Output_Object_File_Name): Initialize extension with
25656 target object suffix.
25657
256582005-12-09 Jose Ruiz <ruiz@adacore.com>
25659 Quentin Ochem <ochem@adacore.com>
25660 Florian Villoing <villoing@adacore.com>
25661
6f7f72f9 25662 * a-taster.ads, a-taster.adb: New files.
aedc2c2b
AC
25663
25664 * a-elchha.adb (Last_Chance_Handler): Change the task termination soft
25665 link to the version that does nothing. This way the task termination
25666 routine is not executed twice for the environment task when finishing
25667 because of an unhandled exception.
25668
25669 * a-exextr.adb (Notify_Unhandled_Exception): Call the task termination
25670 handler because of an unhandled exception.
25671
25672 * a-taside.adb (Abort_Tasks): Call the Abort_Tasks procedure from
25673 System.Tasking.Utilities instead of that in System.Tasking.Stages.
25674
25675 * s-finimp.adb (initialization code): Modify the soft link for the
25676 finalization of the global list instead of Adafinal.
25677
25678 * s-soflin.ads, s-soflin.adb (Task_Termination_NT): Add this
25679 non-tasking version of the soft link for task termination. We do
25680 nothing since if we are using the non-tasking version it
25681 means that the task termination functionality is not used.
25682 (Null_Finalize_Global_List): Add this null version for the procedure
25683 in charge of finalizing the global list for controlled objects.
25684 (Null_Adafinal): Remove this procedure. Adafinal_NT has been created
25685 instead for handling run-time termination in a more flexible way.
25686 (Adafinal_NT): This new procedure will take care of finalizing the
25687 global list for controlled objects if needed, but no tasking
25688 finalization.
25689
25690 * s-tarest.adb (Task_Lock): Do not try to lock again the
25691 Global_Task_Lock if we already own it. Otherwise, we get blocked in
25692 some run-time operations.
25693 (Task_Unlock): Do not try to actually unlock the Global_Task_Lock
25694 until all nested locks have been released.
25695 (Task_Wrapper): Call the fall-back task termination handler. It
25696 applies to all tasks but the environment task.
25697 (Finalize_Global_Tasks): Add the call for the task termination
25698 procedure for the environment task.
25699 (Task_Wrapper): suppress warnings around declaration of
25700 Secondary_Stack_Address.
25701
25702 * s-tasini.adb (Final_Task_Unlock): Global_Task_Lock_Nesting has been
25703 moved to the Common_ATCB record.
25704 (Task_Lock): Global_Task_Lock_Nesting has been moved to the
25705 Common_ATCB record.
25706 (Task_Unlock): Global_Task_Lock_Nesting has been moved to the
25707 Common_ATCB record.
25708
25709 * s-taskin.adb (Initialize_ATCB): Initialize Global_Task_Lock_Nesting,
25710 Fall_Back_Handler, and Specific_Handler.
25711
25712 * s-taskin.ads (Cause_Of_Termination): Redefine this type here, already
25713 defined in Ada.Task_Termination, to avoid circular dependencies.
25714 (Termination_Handler): Redefine this type here, alredy defined in
25715 Ada.Task_Termination, for avoiding circular dependencies.
25716 (Common_ATCB): Add the Fall_Back_Handler and Specific_Handler required
25717 for storing task termination handlers. In addition,
25718 Global_Task_Lock_Nesting has been moved from Ada_Task_Control_Block to
25719 Common_ATCB because it is used by both the regular and the restricted
25720 run times.
25721 (Ada_Task_Control_Block): Move Global_Task_Lock_Nesting from here to
25722 Common_ATCB because it is used by both the regular and the restricted
25723 run times.
25724 (Common_ATCB): Added a dynamic task analyzer field.
25725
25726 * s-tassta.adb (Abort_Tasks): Move the code in charge of checking
25727 potentially blocking operations to System.Tasking.Utilities.Abort_Tasks.
25728 (Task_Wrapper): Call the task termination handler. It applies to all
25729 tasks but the environment task.
25730 (Finalize_Global_Tasks): Call the task termination procedure for the
25731 environment task. The call to Finalize_Global_List is now performed
25732 using the soft links mechanism.
25733 (Task_Wrapper): added dynamic stack analysis.
25734
25735 * s-tasuti.adb (Abort_Tasks): The code in charge of checking
25736 potentially blocking operations has been moved from
25737 System.Tasking.Stages.Abort_Tasks to this procedure. There can be
25738 direct calls to System.Tasking.Utilities.Abort_Tasks that do not pass
25739 through System.Tasking.Stages.Abort_Tasks, and we do not want to miss
25740 this run-time check.
25741
25742 * s-solita.adb (Task_Termination_Handler_T): Add this task-safe version
25743 of task termination procedure.
25744 (Init_Tasking_Soft_Links): Install the task-safe version of the soft
25745 link for the task termination procedure.
25746
25747 * bindusg.adb: (Bindusg): Added documentation for -u option.
25748
25749 * bindgen.adb (Get_Main_Ada) Added handling of dynamic stack analysis.
25750 (Get_Main_C): Add handling of dynamic stack analysis.
25751 (Gen_Output_File_C): Add external functions for dynamic stack analysis.
25752
25753 * Makefile.rtl: Add entry for a-taster (Ada.Task_Termination).
25754 (GNATRTL_NONTASKING_OBJS) Added entries for dynamic stack analysis
25755 (GNATRTL_NONTASKING_OBJS): Add AltiVec files.
25756
25757 * opt.ads: Added flags used by dynamic stack measurement.
25758 (Max_Line_Length): Remove (not used anymore)
25759
25760 * s-io.ads, s-io.adb (Standard_Error): new subprogram
25761 (Standart_Output): new subprogram
25762 (Set_Output): new subprogram
25763 (Put): now uses the value of Current_Out to know if the output has to be
25764 send to stderr or stdout.
9e81dbc7 25765
aedc2c2b
AC
25766 * s-stausa.ads: Complete implementation.
25767
25768 * switch-b.adb: Added handling of -u switch for dynamic stack analysis.
9e81dbc7 25769
aedc2c2b
AC
25770 * impunit.adb (Non_Imp_File_Names_05): Add Ada.Task_Termination to the
25771 list of Ada 05 files.
25772 (GNAT Library Units): Add AltiVec files.
25773
25774 * g-allein.ads, g-alleve.adb, g-alleve.ads, g-altcon.adb,
25775 g-altcon.ads, g-altive.ads, g-alveop.adb, g-alveop.ads
25776 g-alvety.ads, g-alvevi.ads: New files providing altivec API.
25777
257782005-12-09 Nicolas Setton <setton@adacore.com>
25779
25780 * adaint.c (__gnat_locate_regular_file): Return immediately if
25781 file_name is empty.
25782
257832005-12-09 Javier Miranda <miranda@adacore.com>
25784 Hristian Kirtchev <kirtchev@adacore.com>
25785
25786 * a-tags.ads, a-tags.adb (Offset_To_Top): Moved from the package body
25787 to the specification because the frontend generates code that uses this
25788 subprogram.
25789 (Set_Interface_Table): Add missing assertion.
25790 Update documentation describing the run-time structure.
25791 (Displace): New subprogram that displaces the pointer to the object
25792 to reference one of its secondary dispatch tables.
25793 (IW_Membership): Modified to use the new table of interfaces.
25794 (Inherit_TSD): Modified to use the new table of interfaces.
25795 (Register_Interface_Tag): Use the additional formal to fill the
25796 contents of the new table of interfaces.
25797 (Set_Interface_Table): New subprogram that stores in the TSD the
25798 pointer to the table of interfaces.
25799 (Set_Offset_To_Top): Use the additional formal to save copy of
25800 the offset value in the table of interfaces.
25801 Update structure of GNAT Primary and Secondary dispatch table diagram.
25802 Add comment section on GNAT dispatch table prologue.
25803 (Offset_To_Signature): Update the constant value of the Signature field.
25804 (Dispatch_Table): Update comment on hidden fields in the prologue.
25805 (Get_Entry_Index, Get_Prim_Op_Kind, Get_Offset_Index, OSD,
25806 Set_Entry_Index, Set_Offset_Index, Set_Prim_Op_Kind, SSD, TSD): Change
25807 the type of formal parameter T to Tag, introduce additional assertions.
25808 (Get_Num_Prim_Ops, Set_Num_Prim_Ops): Remove an unnecessary type
25809 conversion.
25810 (Get_Tagged_Kind, Set_Tagged_Kind): New bodies.
25811
25812 * exp_ch6.adb (Register_Interface_DT_Entry): Remove the Thunk_Id actual
25813 in all the calls to Expand_Interface_Thunk. Instead of referencing the
25814 record component containing the tag of the secondary dispatch table we
25815 have to use the Offset_To_Top run-time function to get this information;
25816 otherwise if the pointer to the base of the object has been displace
25817 we get a wrong value if we use the 'position attribute.
25818
25819 * exp_disp.adb (Expand_Interface_Thunk): Remove the Thunk_Id actual in
25820 all the calls to Expand_Interface_Thunk.
25821 (Make_Secondary_DT): Secondary dispatch tables do not have a table of
25822 interfaces; hence the call to Set_Interface_Table was clearly wrong.
25823 (Collect_All_Interfaces): Modify the internal subprogram Collect to
25824 ensure that the interfaces implemented by the ancestors are placed
25825 at the header of the generated list.
25826 (Expand_Interface_Conversion): Handle the case in which the displacement
25827 associated with the interface conversion is not statically known. In
25828 this case we generate a call to the new run-time subprogram Displace.
25829 (Make_DT): Generate and fill the new table of interfaces.
25830 (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Add entries for
25831 Get_Tagged_Kind and Set_Tagged_Kind.
25832 (Tagged_Kind): New function that determines the tagged kind of a type
25833 with respect to limitedness and concurrency and returns a reference to
25834 RE_Tagged_Kind.
25835 (Make_Disp_Asynchronous_Select_Body, Make_Disp_Conditional_Select_Body,
25836 Make_Disp_Timed_Select_Body): Correctly retrieve the pointer to the
25837 primary dispatch table for a type.
25838 (Make_DT, Make_Secondary_DT): Set the tagged kind in the primary and
25839 secondary dispatch table respectively of a tagged type.
25840
25841 * exp_disp.ads (Expand_Interface_Thunk): Remove Thunk_Id formal.
25842 (Expand_Interface_Conversion): New subprogram to indicate if the
25843 displacement of the type conversion is statically known.
25844 (DT_Access_Action): Add values Get_Tagged_Kind and Set_Tagged_Kind.
25845
25846 * rtsfind.ads (RE_Offset_To_Top): New entity
25847 (RTU_Id): Add Ada_Task_Termination to the list so that it is made
25848 accessible to users.
25849 (Re_Displace): New entity
25850 (RE_Interface_Data): New entity
25851 (RE_Set_Interface_Data): New_Entity
25852 (RE_Id, RE_Unit_Table): Add entry for RE_Get_Tagged_Kind,
25853 Set_Tagged_Kind, RE_Tagged_Kind, RE_TK_Abstract_Limited_Tagged,
25854 RE_TK_Abstract_Tagged, RE_TK_Limited_Tagged, RE_TK_Protected,
25855 RE_TK_Tagged, RE_TK_Task.
25856
25857 * exp_ch3.adb (Init_Secondary_Tags): Modify the subprogram
25858 Init_Secondary_Tags_Internal to allow its use with interface types and
25859 also to generate the code for the new additional actual required
25860 by Set_Offset_To_Top.
25861 (Build_Init_Statements): In case of components associated with abstract
25862 interface types there is no need to generate a call to its IP.
25863 (Freeze_Record_Type): Generate Select Specific Data tables only for
25864 concurrent types.
25865 (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies): Generate
25866 the bodies and specifications of the predefined primitive operations
25867 dealing with dispatching selects and abort, 'Callable, 'Terminated only
25868 for concurrent types.
25869
6f7f72f9 25870 * exp_sel.ads, exp_sel.adb: New files.
aedc2c2b
AC
25871
25872 * exp_ch9.adb (Build_Protected_Entry, Expand_N_Protected_Body,
25873 Expand_N_Protected_Type_Declaration, Make_Initialize_Protection): Handle
25874 properly protected objects and attach handler in the case of the
25875 restricted profile.
25876 Move embeded package Select_Expansion_Utilities into a separate external
25877 package.
25878 (Expand_N_Asynchronous_Select, Expand_N_Conditional_Select,
25879 Expand_N_Timed_Entry_Call): Correct calls external package Exp_Sel.
25880 (Build_K, Build_S_Assignment): New subprograms, part of the select
25881 expansion utilities.
25882 (Expand_N_Asynchronous_Select, Expand_N_Conditional_Entry_Call,
25883 Expand_N_Timed_Entry_Call): Optimize expansion of select statements
25884 where the trigger is a dispatching procedure of a limited tagged type.
25885
258862005-12-09 Olivier Hainque <hainque@adacore.com>
25887
25888 * decl.c (gnat_to_gnu_entity, renaming object case): Don't early expand
25889 pointer initialization values. Make a SAVE_EXPR instead. Add comments
25890 about the use and expansion of SAVE_EXPRs in the various possible
25891 renaming handling cases.
25892 (components_to_record, compare_field_bitpos): Sort by DECL_UID, not by
25893 abusing DECL_FCONTEXT.
25894
258952005-12-09 Matthew Heaney <heaney@adacore.com>
25896
25897 * a-convec.adb (Merge): Added assertions to check whether vector params
25898 are sorted.
25899
25900 * a-coinve.adb (Merge): Added assertions to check whether vector params
25901 are sorted.
25902
25903 * a-cohama.ads (Cursor'Write): raises Program_Error per latest AI-302
25904 draft.
25905 (Cursor'Read): raises PE
25906
25907 * a-cohama.adb (Insert.New_Node): Uses box-style syntax to init elem
25908 to its default value.
25909
25910 * a-cihama.adb: Manually check whether cursor's key and elem are
25911 non-null
25912
25913 * a-cidlli.ads, a-cidlli.adb (Splice): Changed param name and param mode
25914 (Merge): Assert that target and source lists are in order
25915 (Swap): Declare non-const temporaries, to pass to Splice
25916
25917 * a-cdlili.ads: (Splice): Changed param name and param mode
25918
25919 * a-cdlili.adb: (Splice): Changed param name and param mode
25920 (Merge): Assert that target and source lists are in order
25921 (Swap): Declare non-const temporaries, to pass to Splice
25922
25923 * a-ciorma.ads, a-coorma.ads: (Read): declare Stream param as not null
25924 (Write): declare Stream param as not null
25925
25926 * a-ciorma.adb, a-coorma.adb: All explicit raise statements now include
25927 an exception message.
25928
259292005-12-09 Thomas Quinot <quinot@adacore.com>
25930 Robert Dewar <dewar@adacore.com>
25931
25932 * hostparm.ads (Max_Line_Length): Set to Types.Column_Number'Last - 1,
25933 which is the absolute maximum length we can support.
25934
25935 * frontend.adb: For the processing of configuration pragma files,
25936 remove references to Opt.Max_Line_Length, which is not checked anymore.
25937
25938 * namet.ads (Name_Buffer): Adjust size to reflect increase on max line
25939 length.
25940
9e81dbc7 25941 * scn.adb, scng.adb:
aedc2c2b
AC
25942 Always check line length against the absolute supported maximum,
25943 Hostparm.Max_Line_Length.
25944
25945 * stylesw.adb (Set_Style_Check_Options, case M): The maximum supported
25946 value for the maximum line length is Max_Line_Length (not
25947 Column_Number'Last).
25948 Minor error msg update
25949 (Set_Style_Check_Options): New interface returning error msg
25950 Minor code reorganization (processing for 'M' was out of alpha order)
25951
25952 * switch-c.adb: New interface for Set_Style_Check_Options
25953
25954 * stylesw.ads (Set_Style_Check_Options): New interface returning error
25955 msg.
25956
259572005-12-09 Javier Miranda <miranda@adacore.com>
25958
25959 * exp_aggr.adb (Build_Record_Aggr_Code): Default-initialialized records
25960 with IP subprogram were only supported if there were limited types.
25961
25962 * sem_aggr.adb (Resolve_Record_Aggregate): Default-initialialized
25963 records with IP subprogram were only supported if there were limited
25964 types.
25965
259662005-12-09 Olivier Hainque <hainque@adacore.com>
25967 Eric Botcazou <ebotcazou@adacore.com>
25968
25969 * trans.c (tree_transform, emit_check): Adjust calls to
25970 build_call_raise, passing the now expected GNAT_NODE argument.
25971
25972 * gigi.h (build_call_raise): Add a GNAT_NODE argument to convey better
25973 source line information than what the current global locus indicates
25974 when appropriate.
25975
25976 * utils2.c (build_simple_component_ref): Return 0 if the offset of the
25977 field has overflowed.
25978 (build_call_raise): Add a GNAT_NODE argument to convey better source
25979 line information than what the current global locus indicates when
25980 appropriate.
25981 (build_component_ref): Adjust call to build_call_raise.
25982
259832005-12-09 Pascal Obry <obry@adacore.com>
25984
25985 * g-diopit.adb (Find): Fix test to exit the iterator and make sure that
25986 the iterator is quitting iteration on parent directory.
25987
259882005-12-09 Javier Miranda <miranda@adacore.com>
25989
25990 * exp_ch5.adb (Expand_N_Assignment_Statement): In case of tagged types
25991 and the assignment to a class-wide object, before the assignment we
25992 generate a run-time check to ensure that the tag of the Target is
25993 covered by the tag of the source.
25994
259952005-12-09 Robert Dewar <dewar@adacore.com>
25996
25997 * exp_imgv.adb (Expand_Image_Attribute): Generate extra boolean
25998 parameter in call to Image_Wide_Character.
25999
26000 * s-imgwch.ads, s-imgwch.adb (Image_Wide_Character): Add boolean
26001 parameter Ada_2005 to deal with annoying FFFE/FFFF inconsistency.
26002 (Image_Wide_Character): Add boolean parameter Ada_2005 to deal with
26003 annoying FFFE/FFFF inconsistency.
26004
260052005-12-09 Robert Dewar <dewar@adacore.com>
26006 Javier Miranda <miranda@adacore.com>
26007 Ed Schonberg <schonberg@adacore.com>
26008
26009 * exp_util.ads, exp_util.adb (Is_Ref_To_Bit_Packed_Slice): Handle case
26010 of type conversion.
26011 (Find_Interface): New subprogram that given a tagged type and one of its
26012 component associated with the secondary table of an abstract interface
26013 type, return the entity associated with such abstract interface type.
26014 (Make_Subtype_From_Expr): If type has unknown discriminants, always use
26015 base type to create anonymous subtype, because entity may be a locally
26016 declared subtype or generic actual.
26017 (Find_Interface): New subprogram that given a tagged type and one of its
26018 component associated with the secondary table of an abstract interface
26019 type, return the entity associated with such abstract interface type.
26020
26021 * sem_res.adb (Resolve_Type_Conversion): Handle the case in which the
26022 conversion cannot be handled at compile time. In this case we pass this
26023 information to the expander to generate the appropriate code.
26024
260252005-12-09 Robert Dewar <dewar@adacore.com>
26026 Ed Schonberg <schonberg@adacore.com>
26027 Gary Dismukes <dismukes@adacore.com>
26028 Javier Miranda <miranda@adacore.com>
26029 Hristian Kirtchev <kirtchev@adacore.com>
26030
26031 * einfo.adb (Itype_Printed): New flag
26032 (Is_Limited_Type): Derived types do not inherit limitedness from
26033 interface progenitors.
26034 (Is_Return_By_Reference_Type): Predicate does not apply to limited
26035 interfaces.
26036
26037 * einfo.ads (Itype_Printed): New flag
26038 Move Is_Wrapper_Package to proper section
26039 Add missing Inline for Is_Volatile
26040
26041 * output.ads, output.adb (Write_Erase_Char): New procedure
26042 (Save/Restore_Output_Buffer): New procedures
26043 (Save/Restore_Output_Buffer): New procedures
26044
26045 * sprint.ads, sprint.adb (Write_Itype): Handle case of record itypes
26046 Add missing support for anonymous access type
26047 (Write_Id): Insert calls to Write_Itype
26048 (Write_Itype): New procedure to output itypes
26049
26050 * par-ch12.adb (P_Formal_Derived_Type_Definition): In Ada 2005, handle
26051 use of "limited" in declaration.
26052
9e81dbc7 26053 * sinfo.ads, sinfo.adb:
aedc2c2b
AC
26054 Formal derived types can carry an explicit "limited" indication.
26055
26056 * sem_ch3.adb: Add with and use of Targparm.
26057 (Create_Component): If Frontend_Layout_On_Target is True and the
26058 copied component does not have a known static Esize, then reset
26059 the size and positional fields of the new component.
26060 (Analyze_Component_Declaration): A limited component is
26061 legal within a protected type that implements an interface.
26062 (Collect_Interfaces): Do not add to the list the interfaces that
26063 are implemented by the ancestors.
26064 (Derived_Type_Declaration): If the parent of the full-view is an
26065 interface perform a transformation of the tree to ensure that it has
26066 the same parent than the partial-view. This simplifies the job of the
26067 expander in order to generate the correct object layout, and it is
26068 needed because the list of interfaces of the full-view can be given in
26069 any order.
26070 (Process_Full_View): The parent of the full-view does not need to be
26071 a descendant of the parent of the partial view if both parents are
26072 interfaces.
26073 (Analyze_Private_Extension_Declaration): If declaration has an explicit
26074 "limited" the parent must be a limited type.
26075 (Build_Derived_Record_Type): A derived type that is explicitly limited
26076 must have limited ancestor and progenitors.
26077 (Build_Derived_Type): Ditto.
26078 (Process_Full_View): Verify that explicit uses of "limited" in partial
26079 and full declarations are consistent.
26080 (Find_Ancestor_Interface): Remove function.
26081 (Collect_Implemented_Interfaces): New procedure used to gather all
26082 implemented interfaces by a type.
26083 (Contain_Interface): New function used to check whether an interface is
26084 present in a list.
26085 (Find_Hidden_Interface): New function used to determine whether two
26086 lists of interfaces constitute a set equality. If not, the first
26087 differing interface is returned.
26088 (Process_Full_View): Improve the check for the "no hidden interface"
26089 rule as defined by AI-396.
26090
260912005-12-09 Robert Dewar <dewar@adacore.com>
26092
26093 * freeze.adb (Freeze_Record_Type): Only test for useless pack on record
26094 types, not on record subtypes.
26095 (Freeze_Entity): Code cleanup. Add barrier to the loop
26096 that generates the references for primitive operations. This allows to
26097 remove an unnecessary exception handler.
26098 Code reformatting and comment clean ups.
26099
261002005-12-09 Vincent Celier <celier@adacore.com>
26101
26102 * gnatcmd.adb (GNATCmd): GNAT CHECK accepts switch -U
26103 If GNAT CHECK is called with a project file, but with no
26104 source on the command line, call gnatcheck with all the compilable
26105 sources of the project.
26106 Take into account the new command Check, for gnatcheck. Treat as for
26107 other ASIS tools: take into account project, specific package Check and
26108 Compiler switches.
26109 For ASIS tools, add the switches in package Compiler for
26110 the invocation of the compiler.
26111
26112 * prj-attr.adb: Add package Check and its attributes
26113
26114 * vms_conv.ads (Command_Type): New command Check, for gnatcheck
26115
26116 * vms_conv.adb (Initialize): Change Params of command Check to
26117 unlimited files.
26118 Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
26119 Add data for new command Check
26120
26121 * vms_data.ads: Add project related qualifiers for GNAT CHECK and GNAT
26122 ELIM.
26123 Add qualifiers for Check command options
26124 (Command_Type): New command Check
26125
261262005-12-09 Thomas Quinot <quinot@adacore.com>
26127
26128 * mlib-utl.adb (Ar): Use Output.Buffer_Max to determine whether a
26129 command line switch overruns the output buffer.
26130
261312005-12-09 Robert Dewar <dewar@adacore.com>
26132
26133 * sem_prag.adb: Processing for new pragma Complete_Representation
26134 (Analyze_Pragma, case Debug): Implement two argument form.
26135
26136 * par-prag.adb: Entry for new pragma Complete_Representation
26137 (Prag, case Debug): Recognize two argument form of pragma Debug
26138 New interface for Set_Style_Check_Options.
26139
26140 * sem_ch13.adb: Implement new pragma Complete_Representation.
26141
26142 * snames.adb, snames.ads, snames.h: Entry for new pragma
26143 Complete_Representation.
26144
261452005-12-09 Gary Dismukes <dismukes@adacore.com>
26146
26147 * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Revise test for
26148 available user-specified stream attributes on limited parameters to
26149 also test the type directly rather than only its underlying type (for
26150 Ada 95) and, in the case of Ada 2005, to check that the user-specified
26151 attributes are visible at the point of the subprogram declaration.
26152 For Ada 2005, the error message is modified to indicate that the
26153 type's stream attributes must be visible (again, only for -gnat05).
26154
261552005-12-09 Ed Schonberg <schonberg@adacore.com>
26156
26157 * sem_ch12.adb (Subtypes_Match): Handle properly Ada05 arrays of
26158 anonymous access types.
26159
26160 * sem_eval.adb (Subtypes_Statically_Match): Implement new rules for
26161 matching of anonymous access types and anonymous access to subprogram
26162 types. 'R'M 4.9.1 (2/2).
26163
261642005-12-09 Ed Schonberg <schonberg@adacore.com>
26165
26166 * sem_ch4.adb (Remove_Abstract_Operations): Do not apply preference
26167 rule prematurely when operands are universal, remaining ambiguities
26168 will be removed during resolution.
26169 Code cleanup.
26170
26171 * sem_type.adb (Disambiguate): In Ada95 mode, discard interpretations
26172 that are Ada 2005 functions.
26173 (Has_Abstract_Interpretation): Subsidiary to
26174 Remove_Conversions, to remove ambiguities caused by abstract operations
26175 on numeric types when operands are universal.
26176
261772005-12-09 Robert Dewar <dewar@adacore.com>
26178
26179 * sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization
26180 for case where spec is categorized.
26181
261822005-12-09 Javier Miranda <miranda@adacore.com>
26183
26184 * sem_ch8.adb (Find_Type): In case of tagged types that are concurrent
26185 types use the corresponding record type. This was not needed before
26186 the implementation of Ada 2005 synchronized types because
26187 concurrent types were never tagged types in Ada 95.
26188
261892005-12-09 Ed Schonberg <schonberg@adacore.com>
26190
26191 * sem_ch9.adb (Analyze_Delay_Alternative, Analyze_Delay_Until): Use the
26192 first subtype of the type of the expression to verify that it is a
26193 legal Time type.
26194
261952005-12-09 Robert Dewar <dewar@adacore.com>
26196
26197 * sem_util.ads, sem_util.adb (Full_Qualified_Name): Now provides
26198 decoded names.
26199
262002005-12-09 Quentin Ochem <ochem@adacore.com>
26201 Robert Dewar <dewar@adacore.com>
26202 Ed Falis <falis@adacore.com>
26203 Florian Villoing <villoing@adacore.com>
26204 Thomas Quinot <quinot@adacore.com>
26205 Arnaud Charlet <charlet@adacore.com>
26206
26207 * gnat_ugn.texi: Created section "Stack Related Tools"
26208 Moved "Stack Overflow Checking" subsection from "Switches for gcc" to
26209 "Stack Related Tools"
26210 Added subsection "Static Stack Usage Analysis"
26211 Added subsection "Dynamic Stack Usage Analysis"
26212 Include documentation of itypes in sprint listing (-gnatG)
26213 Documented gnatbind -D switch (default sec stack size for fixed sec
26214 stacks).
26215 Added Interrupt_State and Persistent_BSS to list of configuration
26216 pragmas.
26217 Add missing doc for maximum value of nnn in -gnatyMnnn
26218
26219 * gnat_rm.texi: Document the AltiVec binding.
26220 Add documentation for pragma Complete_Representation
26221 Shortened an overly long line (> 79 chars)
26222 Clarify documentation of unchecked conversion in implementation
26223 defined cases.
26224 Document two argument form of pragma Debug
26225
26226 * types.ads (Column_Number): Update documentation.
26227
26228 * exp_ch7.ads (Make_Adjust_Call): Document the special processing for
26229 library level Finalize_Storage_Only objects (these are not attached to
26230 any finalization list).
26231
26232 * system-mingw.ads: (Underlying_Priorities): Update comment.
26233
262342005-12-09 Robert Dewar <dewar@adacore.com>
26235
26236 * i-c.adb, i-cexten.ads, i-cobol.adb, i-cobol.ads, i-cpoint.ads,
6f7f72f9 26237 i-cpp.adb, i-cpp.ads, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
aedc2c2b
AC
26238 inline.adb, interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads,
26239 i-os2thr.ads, itypes.adb, itypes.adb, itypes.ads, krunch.ads,
26240 krunch.adb, lib.adb, lib.ads, lib-list.adb, lib-load.adb,
26241 lib-load.ads, lib-sort.adb, live.adb, make.ads, i-cstrea-vms.adb,
26242 interfac-vms.ads, makegpr.adb, indepsw-gnu.adb, indepsw.ads,
26243 s-wchcon.ads, sdefault.ads, sem_ch10.adb, sem_eval.ads: Minor
26244 reformatting.
26245
262462005-12-09 Robert Dewar <dewar@adacore.com>
26247
26248 * s-vaflop-vms-alpha.adb: (Ne_F): New function
26249 (Ne_G): New function
26250
26251 * exp_ch4.adb (Expand_Allocator_Expression): Factor duplicated code
26252 for tag assignment.
26253 (Rewrite_Comparison): Handle case where operation is not a comparison
26254 and ignore, and also handle type conversion case.
26255
262562005-12-09 Thomas Quinot <quinot@adacore.com>
26257
26258 * exp_aggr.ads: Fix typo in comment.
26259 ???-mark Convert_Aggr_In_Assignment as needing documentation.
26260
262612005-12-09 Gary Dismukes <dismukes@adacore.com>
26262
26263 * layout.adb: Replace various uses of byte by storage unit throughout.
26264 (Get_Max_SU_Size): Name changed from Get_Max_Size. In the case of a
26265 static size, convert to storage units before returning, to conform to
26266 spec.
26267
262682005-12-09 Matthew Gingell <gingell@adacore.com>
26269
26270 * g-exctra.ads: Fix typo in comment.
26271
262722005-12-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
26273
26274 * utils.c: Minor reformatting.
26275
262762005-12-09 Robert Dewar <dewar@adacore.com>
26277
9e81dbc7 26278 * g-soccon.ads:
aedc2c2b
AC
26279 Further comment fixes to make the status of the default file clear
26280
26281 * s-bitops.adb: Clarify comment for Bits_Array
26282
719bb4e3 262832005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
bd97af06
RÁE
26284
26285 * Make-lang.in (ada.install-normal): Remove.
26286
719bb4e3 262872005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
2f4d2d18
AM
26288
26289 * Make-lang.in: Remove all dependencies on s-gtype.
26290
53917868
RG
262912005-12-05 Richard Guenther <rguenther@suse.de>
26292
26293 * utils.c (convert): Use fold_convert where appropriate.
26294
40077270
PB
262952005-12-05 Paolo Bonzini <bonzini@gnu.org>
26296
6f7f72f9 26297 * Makefile.in (gnatlib): Fix regex, using \. instead of . when
40077270
PB
26298 a period is meant.
26299
a380cd0a
RG
263002005-12-02 Richard Guenther <rguenther@suse.de>
26301
26302 * trans.c (gnat_gimplify_expr): Use buildN instead of build.
26303
87f2a9f5
RS
263042005-12-01 Roger Sayle <roger@eyesopen.com>
26305
26306 * utils.c (max_size): Only test for TREE_OVERFLOW on INTEGER_CST
26307 nodes.
26308
9e94c78f 263092005-11-23 Laurent Guerby <laurent@guerby.net>
f8d15f14 26310
6f7f72f9 26311 * mlib-prj.adb (Build_Library): Initialize Delete.
f8d15f14 26312
9e94c78f 263132005-11-21 Joel Sherrill <joel.sherrill@oarcorp.com>
04b5d587
JS
26314
26315 * socket.c: Add extern int h_errno for rtems since networking header
26316 files are not available at this point in a tool bootstrap. Newlib
26317 only has basic C library header files.
26318
452b5b1e
RG
263192005-11-19 Richard Guenther <rguenther@suse.de>
26320 Roger Sayle <roger@eyesopen.com>
26321
26322 PR ada/23717
26323 * misc.c (internal_error_function): Don't use vsprintf to format
26324 the error message text, instead use pp_format_text and the new
26325 pretty printer APIs. This allows handling of %qs, %w, etc.
26326
9e94c78f 263272005-11-18 Laurent Guerby <laurent@guerby.net>
e0709888 26328
6f7f72f9
EB
26329 PR ada/24857
26330 * Makefile.in: Use s-auxdec-empty for RTEMS.
e0709888 26331
115a82d3
RK
263322005-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
26333
26334 PR ada/22333
26335 * trans.c (gnat_gimplify_expr, case ADDR_EXPR): Always make
26336 a temporary if taking the address of something that is neither
26337 reference, declaration, or constant, since the gimplifier
26338 can't handle that case.
26339
9e94c78f 263402005-11-17 Laurent Guerby <laurent@guerby.net>
f92af607
LG
26341
26342 PR ada/24857
26343 * s-auxdec-empty.ads, s-auxdec-empty.adb: New files.
6f7f72f9 26344
0678ec6b
RG
263452005-11-16 Richard Guenther <rguenther@suse.de>
26346
26347 * Makefile.in: Add EH_MECHANISM=-gcc to s390(x) linux.
26348
9e94c78f 263492005-11-16 Joel Sherrill <joel.sherrill@oarcorp.com>
b381d30b 26350
6f7f72f9
EB
26351 PR ada/24855
26352 * raise-gcc.c: Add missing stdarg.h include.
9e81dbc7 26353
1367ca38
RG
263542005-11-16 Richard Guenther <rguenther@suse.de>
26355
26356 * Make-lang.in (ada/decl.o): Add $(EXPR_H) dependency.
26357 (ada/misc.o): Likewise.
26358
5de923eb
AC
263592005-11-14 Thomas Quinot <quinot@adacore.com>
26360
26361 * g-soccon.ads: Minor reformatting. Update comments.
26362
26363 * gsocket.h: Include <sys/times.h> in the VxWorks case, in order to
26364 gain visibility on the declaration of struct timeval.
26365
26366 * g-soccon-freebsd.ads,
26367 g-soccon-darwin.ads,
26368 g-soccon-tru64.ads,
26369 g-soccon-aix.ads,
26370 g-soccon-irix.ads,
26371 g-soccon-hpux.ads,
26372 g-soccon-solaris.ads,
26373 g-soccon-vms.ads,
26374 g-soccon-mingw.ads,
26375 g-soccon-vxworks.ads (SIZEOF_tv_sec, SIZEOF_tv_usec): New constants.
26376
26377 * g-soccon-hpux-ia64.ads, g-soccon-linux-ppc.ads,
26378 g-soccon-solaris-64.ads, g-soccon-linux-64.ads,
26379 g-soccon-linux-x86.ads: New files.
26380
9e81dbc7 26381 * g-socthi-mingw.adb:
5de923eb
AC
26382 (Socket_Error_Message): Remove redundant use of GNAT.Sockets.Constants
26383
26384 * g-socthi-vxworks.ads, g-socthi-vms.ads, g-socthi-mingw.ads
26385 (time_t, suseconds_t): New types constructed to match the tv_sec
26386 and tv_usec fields of C struct timeval.
26387 (Timeval): Construct structure in terms of the new types.
26388 (Host_Errno): New function (imported from socket.c), returns last hosts
26389 database error.
26390
26391 * g-socthi-vxworks.adb: Add error handling circuitry.
26392
26393 * g-socket.ads, g-socket.adb (To_Timeval): Reflect change of type for
26394 components of struct timeval.
26395 (Get_Host_By_Name, Get_Host_By_Address): Fix error reporting circuitry.
26396 (Check_Selector): In error conditions, clear internal socket sets to
26397 avoid a memory leak.
26398 (Get_Socket_Option, Set_Socket_Option): Support for Multicast_If,
26399 Send_Timeout, Receive_Timeout.
26400
26401 * g-socthi.ads (time_t, suseconds_t): New types constructed to match
26402 the tv_sec and tv_usec fields of C struct timeval.
26403 (Timeval): Construct structure in terms of the new types.
26404 (Host_Errno): New function (imported from socket.c), returns last hosts
26405 database error.
26406
26407 * socket.c (__gnat_get_h_errno): New function to retrieve h_errno, the
26408 hosts database last error code.
26409
26410 * gen-soccon.c: Complete value expansion should not be performed on
26411 TARGET, as it has the form of a math expression, and some components
26412 may be platform-defined macros.
26413 For VxWorks, generate the OK and ERROR values.
26414 New constants giving the sizes of the components of C struct timeval.
26415
264162005-11-14 Robert Dewar <dewar@adacore.com>
26417 Ed Schonberg <schonberg@adacore.com>
26418
26419 PR ada/18434
5de923eb
AC
26420 * types.ads: Include All_Checks in Suppress_Array
26421
26422 * checks.adb (Check_Needed): Remove kludge for a/=b rewritten as
26423 not(a=b), since we no longer do this rewriting, and hence it is not
26424 needed.
26425 (Elaboration_Checks_Suppressed): Add special casing to
26426 deal with different cases of static and dynamic elaboration checks (all
26427 checks does not count in the first case, but does in the second).
26428 (Expr_Known_Valid): Do not assume that the result of any arbitrary
26429 function call is valid, since this is not the case.
26430 (Ensure_Valid): Do not apply validity check to a real literal
26431 in a universal or fixed context
26432
26433 * exp_ch4.adb (Expand_N_Op_Ne): Don't expand a/=b to not(a=b) for
26434 elementary types using the operator in standard. It is cleaner not to
26435 modify the programmers intent, especially in the case of floating-point.
26436 (Rewrite_Comparison): Fix handling of /= (this was always wrong, but
26437 it did not matter because we always rewrote a/=b to not(a=b).
26438 (Expand_Allocator_Expression): For an allocator expression whose nominal
26439 subtype is an unconstrained packed type, convert the expression to its
26440 actual constrained subtype.
26441 Implement warning for <= or >= where < or > not possible
26442 Fix to Vax_Float tests (too early in many routines, causing premature
26443 Vax_Float expansions.
26444
26445 * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow this pragma
26446 to be used with packages and generic packages as well as with
26447 subprograms.
26448 (Suppress): Set All_Checks, but not Elaboration_Check, for case
26449 of pragma Suppress (All_Checks)
26450 (Analyze_Pragma, case Warnings): Implement first argument allowed to be
26451 a string literal for precise control over warnings.
26452 Avoid raise of pragma in case of unrecognized pragma and just return
26453 instead.
26454
26455 * sem_prag.ads: Minor reformatting
26456
26457 * switch-c.adb (Scan_Front_End_Switches): Replace "raise Bad_Switch;"
26458 with call to new procedure Bad_Switch. Call Scan_Pos with new parameter
26459 Switch. Do not handle any exception.
26460 Include -gnatwx as part of -gnatg (warn on redundant parens)
26461 Allow optional = after -gnatm
26462 (Scan_Front_End_Switches): The -gnatp switch sets All_Checks, but no
26463 longer sets Elaboration_Checks.
26464 Code to set warning mode moved to Sem_Warn
26465 so that it can be shared by pragma processing.
26466
26467 * s-mastop-tru64.adb (Pop_Frame): Remove redundant parentheses in if
26468 statement.
26469
9e81dbc7 26470 * s-taprop-solaris.adb:
5de923eb
AC
26471 Change some <= to =, to avoid new warning
26472
9e81dbc7 26473 * a-exexda.adb, prj-proc.adb:
5de923eb
AC
26474 Fix obvious typo (Num_Tracebacks compared <= 0 instead of < 0)
26475 Fix obvious typo (Total_Errors_Detected <= 0 should be = 0)
26476
264772005-11-14 Robert Dewar <dewar@adacore.com>
26478
26479 * exp_vfpt.adb: Handle /= case
26480 (Expand_Vax_Conversion): Properly recognize Conversion_OK flag
26481 so that we do not get duplicate scaling for fixed point conversions.
26482
26483 * s-vaflop.ads, s-vaflop.adb: (Ne_F): New function
26484
264852005-11-14 Matthew Gingell <gingell@adacore.com>
26486
9e81dbc7 26487 * system-lynxos-ppc.ads, system-lynxos-x86.ads:
5de923eb
AC
26488 Increase default priority on Lynx from 15 to 17, and meet the Ada
26489 requirement that Default_Priority be ((Priority'First +
26490 Priority'Last) / 2) by increasing the range of Interrupt_Priority.
26491
264922005-11-14 Vincent Celier <celier@adacore.com>
26493
26494 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
26495 mlib-tgt-hpux.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
26496 mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb,
26497 mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb,
26498 mlib-tgt-darwin.adb, mlib-tgt.adb, mlib-tgt.ads,
26499 mlib-tgt-lynxos.adb (DLL_Prefix): New function
26500
265012005-11-14 Doug Rupp <rupp@adacore.com>
26502
26503 * system-vms.ads, system-vms_64.ads: ADA$GNAT: New exported object in
26504 private part.
26505
265062005-11-14 Arnaud Charlet <charlet@adacore.com>
26507
26508 * s-traces-default.adb, s-trafor-default.ads,
26509 s-tratas-default.adb: Fix compilation errors.
26510
265112005-11-14 Jose Ruiz <ruiz@adacore.com>
26512
26513 * s-taprop-posix.adb (Initialize_Lock): Destroy mutex attribute before
26514 raising the exception so the memory used is freed.
26515
265162005-11-14 Arnaud Charlet <charlet@adacore.com>
26517
26518 * adaint.h, adaint.c (__gnat_is_cross_compiler): New constant.
26519 (Gnat_Install_Locks, __gnatlib_install_locks): Removed, no longer used.
26520 (convert_address): Update comments and list of platforms using this.
26521
26522 * s-tasini.adb (Gnat_Install_Locks, __gnatlib_install_locks): Removed,
26523 no longer used.
26524
265252005-11-14 Pascal Obry <obry@adacore.com>
26526 Vincent Celier <celier@adacore.com>
26527
26528 * gnatdll.adb (Parse_Command_Line): Remove redundant use of
26529 GNAT.Command_Line.
26530
26531 * memroot.adb: Remove redundant with/use clause on
26532 System.Storage_Elements.
26533
265342005-11-14 Arnaud Charlet <charlet@adacore.com>
26535
26536 * a-except.adb (Zero_Cost_Exceptions): Removed, no longer used.
26537 (builtin_longjmp, Process_Raise_Exceeption): Move setjmp/longjmp
26538 related code to a-exexpr.adb
26539 (Save_Occurrence_And_Private): Move GCC EH related code to
26540 a-exexpr-gcc.adb
26541 (Raise_Current_Excep): Add new variable Id with pragma
6f7f72f9 26542 volatile, to ensure that the variable lives on stack.
5de923eb
AC
26543
26544 * a-exexpr-gcc.adb, raise-gcc.c: New file.
26545
26546 * a-exexpr.adb (builtin_longjmp, Propagate_Exception): Moved here code
26547 from a-except.adb.
26548 Move GCC EH related code to a-exexpr-gcc.adb
26549
26550 * Makefile.in: Add or update g-soccon LIBGNAT pairs for Linux/PPC and
26551 64-bit Solaris
26552 Split the Linux version of g-soccon into separate variants for 32 and 64
26553 bit platforms.
26554 (gnatlib): Use $(AR_FOR_TARGET) and $(RANLIB_FOR_TARGET)
26555 vice $(AR) and $(RANLIB). Remove use of host variable $(RANLIB_FLAGS).
26556 install-gnatlib: Use $(RANLIB_FOR_TARGET) vice $(RANLIB). Remove use
26557 of host variable $(RANLIB_FLAGS).
26558 (alpha64-dec-*vms*): Fix translations for 64 bit compiler.
26559 Code clean up: remove unused/obsolete targets.
26560 (EH_MECHANISM): New variable introduced to differenciate between the
26561 two EH mechanisms statically.
26562 (gnatlib-zcx, gnatlib-sjlj): Force EH_MECHANISM manually.
26563 (LIBGNAT_OBJS): Add raise-gcc.o
26564 (LIBGNAT_TARGET_PAIRS for ppc-vxworks): Use an specialized version of
26565 s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
26566 supports VxWorks 6 RTPs.
26567 (EXTRA_GNATRTL_NONTASKING_OBJS for ppc-vxworks): Remove the use of
26568 i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
26569
26570 * raise.c: Move all GCC EH-related routines to raise-gcc.c
26571
265722005-11-14 Jose Ruiz <ruiz@adacore.com>
26573
26574 * s-tassta.adb (Create_Task): Move the code in charge of resetting the
26575 deferral level, when abort is not allowed, to a later stage (the
26576 Task_Wrapper).
26577 (Task_Wrapper): If Abort is not allowed, reset the deferral level since
26578 it will not get changed by the generated code. It was previously done
26579 in Create_Task.
26580
265812005-11-14 Thomas Quinot <quinot@adacore.com>
26582 Olivier Hainque <hainque@adacore.com>
26583 Eric Botcazou <ebotcazou@adacore.com>
26584
26585 * decl.c:
26586 Factor common code to build a storage type for an unconstrained object
26587 from a fat or thin pointer type and a constrained object type.
26588 (annotate_value): Handle BIT_AND_EXPR.
26589 (annotate_rep): Don't restrict the back annotation of inherited
26590 components to the type_annotate_only case.
26591 (gnat_to_gnu_entity) <E_Array_Type>: Do not invoke create_type_decl if
26592 we are not defining the type.
26593 <E_Record_Type>: Likewise.
26594 (gnat_to_gnu_entity) <object, renaming>: Adjust comments and structure
26595 to get advantage of the new maybe_stabilize_reference interface, to
26596 ensure that what we reference is indeed stabilized instead of relying
26597 on assumptions on what the stabilizer does.
26598 (gnat_to_gnu_entity) <E_Incomplete_Type>: If the entity is an incomplete
26599 type imported through a limited_with clause, use its non-limited view.
26600 (Has_Stdcall_Convention): New macro, to centralize the Windows vs others
26601 differentiation.
26602 (gnat_to_gnu_entity): Use Has_Stdcall_Convention instead of a spread mix
26603 of #if sections + explicit comparisons of convention identifiers.
26604 (gnat_to_gnu_entity) <E_Variable>: Decrement force_global if necessary
26605 before early-returning for certain types when code generation is
26606 disabled.
26607 (gnat_to_gnu_entity) <object>: Adjust comment attached to the
26608 nullification of gnu_expr we do for objects with address clause and
26609 that we are not defining.
26610 (elaborate_expression_1): Do not create constants when creating
26611 variables needed by the debug info: the dwarf2 writer considers that
26612 CONST_DECLs is used only to represent enumeration constants, and emits
26613 nothing for them.
26614 (gnat_to_gnu_entity) <object>: When turning a non-definition of an
26615 object with an address clause into an indirect reference, drop the
26616 initializing expression.
26617 Include "expr.h".
26618 (STACK_CHECK_BUILTIN): Delete.
26619 (STACK_CHECK_PROBE_INTERVAL): Likewise.
26620 (STACK_CHECK_MAX_FRAME_SIZE): Likewise.
26621 (STACK_CHECK_MAX_VAR_SIZE): Likewise.
26622 (gnat_to_gnu_entity): If gnat_entity is a renaming, do not mark the tree
26623 corresponding to the renamed object as ignored for debugging purposes.
26624
26625 * trans.c (tree_transform, case N_Attribute_Reference, case Attr_Size &
26626 related): For a prefix that is a dereference of a fat or thin pointer,
26627 if there is an actual subtype provided by the front-end, use that
26628 subtype to build an actual type with bounds template.
26629 (tree_transform, case N_Free_Statement): If an Actual_Designated_Subtype
26630 is provided by the front-end, use that subtype to compute the size of
26631 the deallocated object.
26632 (gnat_to_gnu): When adding a statement into an elaboration procedure,
26633 check for a potential violation of a No_Elaboration_Code restriction.
26634 (maybe_stabilize_reference): New function, like gnat_stabilize_reference
26635 with extra arguments to control whether to recurse through non-values
26636 and to let the caller know if the stabilization has succeeded.
26637 (gnat_stabilize_reference): Now a simple wrapper around
26638 maybe_stabilize, for common uses without restriction on lvalues and
26639 without need to check for the success indication.
26640 (gnat_to_gnu, call_to_gnu): Adjust calls to gnat_stabilize_reference, to
26641 pass false instead of 0 as the FORCE argument which is a bool.
26642 (Identifier_to_gnu): Remove checks ensuring that an renamed object
26643 attached to a renaming pointer has been properly stabilized, as no such
26644 object is attached otherwise.
26645 (call_to_gnu): Invoke create_var_decl to create the temporary when the
26646 function uses the "target pointer" return mechanism.
26647 Reinstate conversion of the actual to the type of the formal
26648 parameter before any other specific treatment based on the passing
26649 mechanism. This turns out to be necessary in order for PLACEHOLDER
26650 substitution to work properly when the latter type is unconstrained.
26651
26652 * gigi.h (build_unc_object_type_from_ptr): New subprogram, factoring a
26653 common pattern.
26654 (maybe_stabilize_reference): New function, like gnat_stabilize_reference
26655 with extra arguments to control whether to recurse through non-values
26656 and to let the caller know if the stabilization has succeeded.
26657
26658 * utils2.c (gnat_build_constructor): Only sort the fields for possible
26659 static output of record constructor if all the components are constant.
26660 (gnat_build_constructor): For a record type, sort the list of field
26661 initializers in increasing bit position order.
26662 Factor common code to build a storage type for an unconstrained object
26663 from a fat or thin pointer type and a constrained object type.
26664 (build_unary_op) <ADDR_EXPR>: Always recurse down conversions between
26665 types variants, and process special cases of VIEW_CONVERT expressions
26666 as their NOP_EXPR counterpart to ensure we get to the
26667 CORRESPONDING_VARs associated with CONST_DECls.
26668 (build_binary_op) <MODIFY_EXPR>: Do not strip VIEW_CONVERT_EXPRs
26669 on the right-hand side.
26670
26671 * utils.c (build_unc_object_type_from_ptr): New subprogram, factoring
26672 a common pattern.
26673 (convert) <VIEW_CONVERT_EXPR>: Return the inner operand directly if we
26674 are converting back to its original type.
26675 (convert) <JM input>: Fallthrough regular conversion code instead of
26676 extracting the object if converting to a type variant.
26677 (create_var_decl): When a variable has an initializer requiring code
26678 generation and we are at the top level, check for a potential violation
26679 of a No_Elaboration_Code restriction.
26680 (create_var_decl): call expand_decl for CONST_DECLs, to set MODE, ALIGN
26681 SIZE and SIZE_UNIT which we need for later back-annotations.
26682 * utils.c: (convert) <STRING_CST>: Remove obsolete code.
26683 <VIEW_CONVERT_EXPR>: Do not lift the conversion if the target type
26684 is an unchecked union.
26685 (pushdecl): Set DECL_NO_STATIC_CHAIN on imported nested functions.
26686 (convert) <VIEW_CONVERT_EXPR>: When the types have the same
26687 main variant, just replace the VIEW_CONVERT_EXPR.
26688 <UNION_TYPE>: Revert 2005-03-02 change.
26689
26690 * repinfo.h, repinfo.ads: Add tcode for BIT_AND_EXPR.
26691
26692 * repinfo.adb (Print_Expr, Rep_Value): Handle Bit_And_Expressions.
26693
266942005-11-14 Matthew Heaney <heaney@adacore.com>
26695
9e81dbc7
AS
26696 * a-crbtgo.ads, a-crbtgo.adb, a-coorse.ads, a-coorse.adb, a-convec.ads,
26697 a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohama.ads, a-cohama.adb,
26698 a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-cidlli.ads,
26699 a-cidlli.adb, a-cdlili.ads, a-cdlili.adb, a-coormu.adb, a-ciormu.adb,
26700 a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
26701 a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorma.adb, a-coorma.adb:
5de923eb
AC
26702 Compiles against the spec for ordered maps described in sections
26703 A.18.6 of the most recent (August 2005) AI-302 draft.
26704
267052005-11-14 Olivier Hainque <hainque@adacore.com>
26706
26707 * cuintp.c (UI_To_gnu): Use a proper type for intermediate computations
26708 to ensure bias adjustments take place when need be and to prevent
26709 occurrences of intermediate overflows.
26710
267112005-11-14 Matthew Gingell <gingell@adacore.com>
26712 Olivier Hainque <hainque@adacore.com>
26713
26714 * tb-gcc.c (trace_callback): Work around problem with _Unwind_GetIP on
26715 ia64 HP-UX.
26716
26717 * tracebak.c (ia64 configuration): Enable _Unwind_Backtrace driven
26718 tracebacks on ia64 HP-UX and provide explanatory comment.
26719 Enable backtraces on ia64 GNU/Linux.
26720 (x86 configuration): Bump FRAME_LEVEL to 1 to ensure we retrieve a real
26721 base pointer from builtin_frame_address. Adjust BASE_SKIP accordingly.
26722
267232005-11-14 Hristian Kirtchev <kirtchev@adacore.com>
26724 Javier Miranda <miranda@adacore.com>
26725
26726 * rtsfind.ads, exp_util.adb, exp_util.ads, exp_disp.adb, exp_disp.ads,
26727 exp_ch7.adb, sem_ch9.adb, snames.adb, snames.ads,
26728 exp_ch9.adb, exp_ch9.ads, exp_ch6.adb, exp_ch3.adb, exp_ch3.ads,
26729 einfo.ads, einfo.adb: Complete support for Ada 2005 interfaces.
26730
26731 * a-tags.ads, a-tags.adb: Major rewrite and additions to implement
26732 properly new Ada 2005 interfaces (AI-345) and add run-time checks (via
26733 assertions).
26734
26735 * exp_dbug.ads, exp_dbug.adb (Get_Secondary_DT_External_Name): New
26736 subprogram that generates the external name associated with a
26737 secondary dispatch table.
26738 (Get_Secondary_DT_External_Name): New subprogram that generates the
26739 external name associated with a secondary dispatch table.
26740
267412005-11-14 Emmanuel Briot <briot@adacore.com>
26742
26743 * xref_lib.adb (Parse_Identifier_Info): It is possible for an entity
26744 line in the ALI file to include both an instantiation reference, and a
26745 returned value.
26746
267472005-11-14 Vincent Celier <celier@adacore.com>
26748
26749 * clean.adb (Check_Project): Look for Ada code in extending project,
26750 even if Ada is not specified as a language.
26751 Use new function DLL_Prefix for DLL_Name
26752 (Clean_Interface_Copy_Directory): New procedure
26753 (Clean_Library_Directory): New procedure
26754 (Clean_Directory): Remove procedure, no longer used
26755 (Clean_Project): Do not delete any file in an externally built project
26756
26757 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Add the object
26758 directory of an extending project, even when there are no Ada source
26759 present.
26760 (Ada_Objects_Path.Add): Add Library_ALI_Dir, not Library_Dir to the path
26761 (Set_Ada_Paths.Add.Recursive_Add): Ditto
26762
26763 * mlib-prj.adb (Check_Library): For all library projects, get the
26764 library file timestamp.
26765 (Build_Library): Copy ALI files in Library_ALI_Dir, not in Library_Dir
26766 (Build_Library): Use new function DLL_Prefix for the DLL_Name
26767 (Clean): Remove procedure, no longer used
26768 (Ultimate_Extension_Of): New function
26769 (Build_Library): When cleaning the library directory, only remove an
26770 existing library file and any ALI file of a source of the project.
26771 When cleaning the interface copy directory, remove any source that
26772 could be a source of the project.
26773
26774 * prj.ads, prj.adb (Project_Empty): Add values of new components
26775 Library_TS and All_Imported_Projects.
26776 (Project_Empty): Add values for new components of Project_Data:
26777 Library_ALI_Dir and Display_Library_ALI_Dir
26778
26779 * prj-attr.adb: New project level attribute name Library_ALI_Dir
26780
26781 * prj-nmsc.adb (Check_Library_Attributes): Take into account new
26782 attribute Library_ALI_Dir.
26783 (Check_Library_Attributes): The library directory cannot be the same as
26784 any source directory of the project tree.
26785 (Check_Stand_Alone_Library): The interface copy directory cannot be
26786 the same as any source directory of the project tree.
26787
26788 * mlib.adb: Use Prj.Com.Fail, instead of Osint.Fail directly, to delete
26789 all temporary files.
26790
267912005-11-14 Robert Dewar <dewar@adacore.com>
26792 Ed Schonberg <schonberg@adacore.com>
26793
26794 * sem_elab.adb: Change name Is_Package to Is_Package_Or_Generic_Package
26795 (Check_Elab_Call): A call within a protected body is never an
26796 elaboration call, and does not require checking.
26797 (Same_Elaboration_Scope): Take into account protected types for both
26798 entities.
26799 (Activate_Elaborate_All_Desirable): New procedure
26800
26801 * ali.ads, ali.adb: Implement new AD/ED for Elaborate_All/Elaborate
26802 desirable
26803
26804 * binde.adb: Implement new AD/ED for Elaborate_All/Elaborate desirable
26805 (Elab_Error_Msg): Use -da to include internal unit links, not -de.
26806
9e81dbc7 26807 * lib-writ.ads, lib-writ.adb:
5de923eb
AC
26808 Implement new AD/ED for Elaborate_All/Elaborate desirable
26809 Use new Elaborate_All_Desirable flag in N_With_Clause node
26810
26811 * sinfo.ads, sinfo.adb (Actual_Designated_Subtype): New attribute for
26812 N_Free_Statement nodes.
26813 Define new class N_Subprogram_Instantiation
26814 Add Elaborate_Desirable flag to N_With_Clause node
26815 Add N_Delay_Statement (covering two kinds of delay)
26816
26817 * debug.adb: Introduce d.f flag for compiler
26818 Add -da switch for binder
26819
268202005-11-14 Ed Schonberg <schonberg@adacore.com>
26821 Cyrille Comar <comar@adacore.com>
26822
26823 * exp_aggr.adb (Build_Record_Aggr_Code): Do not create master entity
26824 for task component, in the case of a limited aggregate. The enclosed
26825 object declaration will create it earlier. Otherwise, in the case of a
26826 nested aggregate, the object may appear in the wrong scope.
26827 (Convert_Aggr_In_Object_Decl): Create a transient scope when needed.
26828 (Gen_Assign): If the component being assigned is an array type and the
26829 expression is itself an aggregate, wrap the assignment in a block to
26830 force finalization actions on the temporary created for each row of the
26831 enclosing object.
26832 (Build_Record_Aggr_Code): Significant rewrite insuring that ctrl
26833 structures are initialized after all discriminants are set so that
26834 they can be accessed even when their offset is dynamic.
26835
268362005-11-14 Robert Dewar <dewar@adacore.com>
26837 Hristian Kirtchev <kirtchev@adacore.com>
26838
26839 * sem_attr.adb: Implement Machine_Rounding attribute
26840 (Analyze_Access_Attribute): The access attribute may appear within an
26841 aggregate that has been expanded into a loop.
26842 (Check_Task_Prefix): Add semantic check for attribute 'Callable and
26843 'Terminated whenever the prefix is of a task interface class-wide type.
26844 (Analyze_Attribute): Add semantic check for attribute 'Identity whenever
26845 the prefix is of a task interface class-wide type.
26846
26847 * s-vaflop-vms-alpha.adb: Valid_D, Valid_F, Valid_G: Make Val constant
26848 to avoid warnings.
26849
26850 * s-fatgen.ads, s-fatgen.adb (Machine_Rounding): New function
26851 Remove pragma Inline for [Unaligned_]Valid.
26852 Add comments that Valid routines do not work for Vax_Float
26853
26854 * exp_attr.adb: Implement Machine_Rounding attribute
26855
26856 * snames.h: Add entry for Machine_Rounding attribute
26857
268582005-11-14 Javier Miranda <miranda@adacore.com>
26859 Robert Dewar <dewar@adacore.com>
26860 Hristian Kirtchev <kirtchev@adacore.com>
26861
26862 * exp_attr.adb (Expand_N_Attribute_Reference, cases of Attribute_Size
26863 and related): For a prefix that is an explicit dereference of an
26864 access to unconstrained packed array type, annotate the dereference
26865 with an actual subtype so GIGI can make a correct size computation.
26866 (Expand_N_Attribute_Reference): In case of 'Unchecked_Access and
26867 'Unrestricted_Access, if the designated type is an interface we
26868 add a type conversion to force the displacement of the pointer
26869 to the secondary dispatch table.
26870 Use Universal_Real instead of Long_Long_Float when we need a high
26871 precision float type for the generated code (prevents gratuitous
26872 Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
26873 (Expand_N_Attribute_Reference): Add support for attribute 'Callable and
26874 'Terminated for task interface class-wide objects. Generate a call to
26875 the predefined dispatching routine used to retrieve the _task_id from
26876 a task corresponding record.
26877 (Expand_Fpt_Attribute): Major change to properly handle Vax_Float
26878
26879 * sem_disp.adb: Change name Is_Package to Is_Package_Or_Generic_Package
26880 (Check_Dispatching_Operation): Protect the frontend againts
26881 previously detected errors.
26882
26883 * Makefile.rtl: Add new instantiations of system.fat_gen
26884
9e81dbc7 26885 * s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads:
5de923eb
AC
26886 Change name of instantiated package for better consistency
26887 with newly added system.fat_gen instantiations.
26888
26889 * s-filofl.ads, s-fishfl.ads, s-fvadfl.ads, s-fvaffl.ads,
26890 s-fvagfl.ads: New files.
26891
268922005-11-14 Cyrille Comar <comar@adacore.com>
26893 Thomas Quinot <quinot@adacore.com>
26894
26895 * exp_ch5.adb (Expand_N_Assignment_Statement, Tagged_Case): For an
26896 assignment of a value of a tagged type that has been rewritten to a
26897 block statement, it is known by construction that no checks are
26898 necessary for the statements within the block: analyze it with checks
26899 suppressed.
26900 (Expand_N_If_Statement): When killing a dead then-branch in an
26901 if-statement that has elsif_parts, recompute the Current_Value node
26902 for any entity whose value is known from the condition of the first
26903 elsif_part.
26904 (Expand_N_Return_Statement): When returning a mutable record, convert
26905 the return value into its actual subtype in order to help the backend
26906 to return the actual size instead of the maximum. This is another
26907 aftermath of not returning mutable records on the sec-stack anymore.
26908
26909 * sem_ch5.ads, sem_ch5.adb (Analyze_Iteration_Scheme): Minor change to
26910 handling of error msg for suspicious reverse range iteration.
26911 (Check_Possible_Current_Value_Condition): Move declaration from body to
26912 spec, to allow this subprogram to be called from exp_ch5.
26913
269142005-11-14 Thomas Quinot <quinot@adacore.com>
26915
26916 * exp_dist.adb (Append_Array_Traversal): Modify constrained case to
26917 generate a set of nested array aggregates instead of a single flat
26918 aggregate for multi-dimensional arrays.
26919
269202005-11-14 Pascal Obry <obry@adacore.com>
26921
26922 * expect.c (__gnat_kill) [Win32]: Fix implementation, the pid returned
26923 by spawnve is a process handle, no need to convert. Add a parameter
26924 close to control wether the process handle must be closed.
26925 (__gnat_waitpid): Fix implementation, the pid returned by spawnve is
26926 a process handle, not need to convert.
26927 (__gnat_kill) [*]: Add dummy parameter close to match the Win32 spec.
26928
26929 * g-expect.adb: (Kill): Document the new close parameter.
26930 (Close): Do not release the process handle in the kill there as
26931 waitpid() is using it.
26932 (Send_Signal): Release the process handle.
26933
269342005-11-14 Robert Dewar <dewar@adacore.com>
26935
26936 * exp_fixd.adb: Use Universal_Real instead of Long_Long_Float when we
26937 need a high precision float type for the generated code (prevents
26938 gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
26939 used).
26940
26941 * exp_imgv.adb: Use Universal_Real instead of Long_Long_Float when we
26942 need a high precision float type for the generated code (prevents
26943 gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
26944 used).
26945 (Expand_Width_Attribute): In configurable run-time, the attribute is not
26946 allowed on non-static enumeration subtypes. Force a load error to emit
26947 the correct diagnostic.
26948
269492005-11-14 Thomas Quinot <quinot@adacore.com>
26950 Robert Dewar <dewar@adacore.com>
26951 Ed Schonberg <schonberg@adacore.com>
26952
26953 * exp_intr.adb (Expand_Unc_Deallocation): If GIGI needs an actual
26954 subtype to compute the size of the designated object at run-time,
26955 create such a subtype and store it in the Actual_Designated_Subtype
26956 attribute of the N_Free_Statement.
26957 Generate itype for classwide designated object in both cases of
26958 user-specified storage pool: specific and class-wide, not only in the
26959 specific case.
26960 Raise CE when trying to set a not null access type object to null.
26961 (Expand_Dispatching_Constructor_Call): Retrieve subprogram actual with
26962 an explicit loop, because freeze nodes make its position variable.
26963
26964 * sem_intr.adb (Check_Intrinsic_Call): Given warning for freeing not
26965 null object.
26966
269672005-11-14 Javier Miranda <miranda@adacore.com>
26968
26969 * exp_strm.adb (Build_Stream_Attr_Profile, Build_Stream_Function,
26970 Build_Stream_Procedure): Add the null-excluding attribute to the first
26971 formal.
26972 This has no semantic meaning under Ada95 mode but it is a
26973 requirement under Ada05 mode.
26974
26975 * par-ch3.adb (P_Access_Definition): Addition of warning message if
26976 the null exclusion is used under Ada95 mode
26977 (P_Null_Exclusion): The qualifier has no semantic meaning in Ada 95.
26978 (P_Access_Definition): Remove assertion that forbids the use of
26979 the null-exclusion feature in Ada95.
26980
269812005-11-14 Robert Dewar <dewar@adacore.com>
26982
26983 * impunit.adb: Exclude container helper units not intended for use by
26984 users.
26985
269862005-11-14 Ed Schonberg <schonberg@adacore.com>
26987
26988 * freeze.adb (Freeze_Entity): For an access formal that is an access
26989 to subprogram, freeze the anonymous subprogram type at the same time,
26990 to prevent later freezing in the wrong scope, such as the enclosing
26991 subprogram body.
26992 (Freeze_Entity): Freeze the equivalent_type of an access_to_protected_
26993 subprogram whenever available.
26994
269952005-11-14 Arnaud Charlet <charlet@adacore.com>
26996
26997 PR ada/23732
26998 * gnatvsn.ads (Library_Version): Bump to 4.1
26999
270002005-11-14 Robert Dewar <dewar@adacore.com>
27001
27002 * g-debpoo.adb (Set_Valid): Use Integer_Address instead of
27003 Storage_Offset to avoid wrap around causing invalid results.
27004
270052005-11-14 Pascal Obry <obry@adacore.com>
27006
27007 * gnatbind.adb (Is_Cross_Compiler): New function returning True for
27008 cross-compiler.
27009 (Scan_Bind_Arg): Fail with an error message if -M option is used
27010 on a native compiler.
27011
270122005-11-14 Robert Dewar <dewar@adacore.com>
27013 Vincent Celier <celier@adacore.com>
27014
27015 * gprep.adb: Implement -C switch to scan comments
27016
27017 * scng.adb: Scan comment symbol separately if Replace_In_Comments set
27018
27019 * scans.ads: Comment updates (including new use of Tok_Comment in
27020 preprocessing)
27021
27022 * opt.ads: Add documentation for flags that are used by gprmake,
27023 currently and in the next version of gprmake.
27024 (Verbosity_Level): New variable
27025 Add Replace_In_Comments switch
27026
27027 * vms_data.ads: Add VMS equivalent for new gnatmake switches -vl, -vm
27028 and -vm.
27029 Add /REPLACE_IN_COMMENTS for gnatprep -C switch
27030
270312005-11-14 Arnaud Charlet <charlet@adacore.com>
27032
27033 * g-regpat.adb (Fail): raise Expression_Error including the diagnostic
27034 message, friendlier.
27035
270362005-11-14 Robert Dewar <dewar@adacore.com>
27037
27038 * g-spitbo.adb: (Hash): Rotate by 3 instead of 1
27039
270402005-11-14 Doug Rupp <rupp@adacore.com>
27041
27042 * init.c [VMS]: Don't install __gnat_error_handler if DBG$TDBG defined.
27043
270442005-11-14 Robert Dewar <dewar@adacore.com>
27045
27046 * interfac.ads: Change declarations of IEEE float types so that we no
27047 longer need a separate version of this package for VMS.
27048
270492005-11-14 Ed Schonberg <schonberg@adacore.com>
27050
27051 * lib-xref.adb (Generate_Definition, Generate_Reference): Treat the
27052 internal entity created for the declaration of a child subprogram body
27053 with no spec as coming from source, to generate proper cross-reference
27054 information.
27055
270562005-11-14 Vincent Celier <celier@adacore.com>
27057
27058 * make.adb (Compile_Sources): Change verbose message to minimum
27059 verbosity level High for "is in an Ada library", "is a read-only
27060 library" and "is an internal library",
27061 (Create_Binder_Mapping_File): Path name of ALI file for library project
27062 must include the library directory, not the object directory.
27063 (Scan_Make_Arg): Make sure that Switch.M.Scan_Make_Switches is called
27064 for new switches -vl, -vm and -vh.
27065 (Verbose_Msg): Add new defaulted parameter Minimum_Verbosity
27066 (Check): Use minimum verbosity Medium for some Verbose_Msg calls
27067 (Compile_Sources): Do not attempt to compile if an ALI file is missing
27068 in a project that is externally built.
27069 (Compute_All_Imported_Projects): New procedure
27070 (Gnatmake): Check if importing libraries should be regenerated because
27071 at least an imported library is more recent.
27072 (Initialize): For each project compute the list of the projects it
27073 imports directly or indirectly.
27074 (Add_Library_Search_Dir): New procedure, used in place of
27075 Add_Lib_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
27076 put in the search paths.
27077 (Add_Source_Search_Dir): New procedure, used in place of
27078 Add_Src_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
27079 put in the search paths.
27080 (Mark_Directory): Resolve the absolute path the directory before marking
27081 it.
27082
27083 * switch-m.adb (Scan_Make_Switches): Replace "raise Bad_Switch;" with
27084 call to new procedure Bad_Switch. Call Scan_Pos with new parameter
27085 Switch. Do not handle any exception.
27086 (Scan_Make_Switches): Increment Ptr for new switches -vl, -vm and -vh
27087 so that the switch is recognized as valid.
27088 (Scan_Make_Switches): Implement new switches -vl, -vm and -vh.
27089
270902005-11-14 GNAT Script <nobody@adacore.com>
27091
27092 * Make-lang.in: Makefile automatically updated
27093
270942005-11-14 Pascal Obry <obry@adacore.com>
27095
27096 * mdll.adb (Build_Reloc_DLL): Fix parameter handling when a map file is
27097 used.
27098 (Ada_Build_Reloc_DLL): Fix parameter handling when a map file is used.
27099 In both cases the last argument was dropped.
27100
271012005-11-14 Eric Botcazou <ebotcazou@adacore.com>
27102
27103 * namet.h: (Column_Numbe): New type.
27104 (Get_Column_Number): Define to sinput__get_column_number.
27105 (Instantiation): Define to sinput__instantiation.
27106 (Get_Column_Number): Declare.
27107 (Instantiation): Likewise.
27108
271092005-11-14 Robert Dewar <dewar@adacore.com>
27110
27111 * par-ch10.adb (P_Compilation_Unit): Add defenses against junk unit
27112 syntax, which could cause compiler hangs.
27113
271142005-11-14 Vincent Celier <celier@adacore.com>
27115
27116 * prj-ext.adb: Take into account new environment variable
27117 GPR_PROJECT_PATH. Warn if both GPR_PROJECT_PATH and ADA_PROJECT_PATH
27118 are defined.
27119 (Prj.Ext elaboration): For each directory in the ADA_PROJECT_PATH,
27120 normalize its path name, making it absolute and resolving symbolic
27121 links, and replace the original if resolved path is different.
27122
271232005-11-14 Vincent Celier <celier@adacore.com>
27124
27125 * prj-part.adb (Create_Virtual_Extending_Project): Put virtual project
27126 into Prj.Tree.Tree_Private_Part.Projects_Htable for GPS.
27127
271282005-11-14 Emmanuel Briot <briot@adacore.com>
27129
27130 * prj-pp.adb (Print): Do not output the with statement if the
27131 associated name is empty, which happens for virtual extending projects.
27132 (Print): Preserve the "extends all" attribute when printing the project.
27133
27134 * prj-tree.ads (String_Value_Of): Add comment about returned value for
27135 a virtual extending project.
27136
271372005-11-14 Ed Schonberg <schonberg@adacore.com>
27138
27139 * sem_aggr.adb (Resolve_Aggregate): An others choice is legal on the
27140 rhs of an assignment even if the type is unconstrained, when the
27141 context is non-expanding.
27142 In an inlined body, if the context type is private,
27143 resolve with its full view, which must be a composite type.
27144
271452005-11-14 Robert Dewar <dewar@adacore.com>
27146 Ed Schonberg <schonberg@adacore.com>
27147
27148 * sem_ch10.adb: Change name Is_Package to Is_Package_Or_Generic_Package
27149 Do not give obsolescent warning on with of subprogram (since we
27150 diagnose calls)
27151 (Analyze_With_Clause): Add test for obsolescent package
27152 (Install_Context_Clauses): If the unit is the body of a child unit, do
27153 not install twice the private declarations of the parents, to prevent
27154 circular lists of Use_Clauses in a parent.
27155 (Implicit_With_On_Parent): Do add duplicate with_clause on parent when
27156 compiling body of child unit.
27157 Use new class N_Subprogram_Instantiation
27158 (Expand_With_Clause): If this is a private with_clause for a child unit,
27159 appearing in the context of a package declaration, then the implicit
27160 with_clauses generated for parent units are private as well.
27161 (License_Check): Do not generate message if with'ed unit is internal
27162
271632005-11-14 Gary Dismukes <dismukes@adacore.com>
27164 Ed Schonberg <schonberg@adacore.com>
27165 Thomas Quinot <quinot@adacore.com>
27166
27167 * sem_ch12.ads, sem_ch12.adb (Map_Entities): Exclude entities whose
27168 names are internal, because they will not have a corresponding partner
27169 in the actual package.
27170 (Analyze_Formal_Package): Move the setting of the formal package spec's
27171 Generic_Parent field so that it occurs prior to analyzing the package,
27172 to allow proper operation of Install_Parent_Private_Declarations.
27173 (Analyze_Package_Instantiation): Set the instantiated package entity's
27174 Package_Instantiation field.
27175 (Get_Package_Instantiation_Node): Move declaration to package spec.
27176 Retrieve the N_Package_Instantiation node when the Package_Instantiation
27177 field is present.
27178 (Check_Generic_Child_Unit): Within an inlined call, the only possible
27179 instantiation is Unchecked_Conversion, for which no parents are needed.
27180 (Inline_Instance_Body): Deinstall and record the use_clauses for all
27181 parent scopes of a scope being removed prior to inlining an instance
27182 body.
27183 (Analyze_Package_Instantiation): Do not perform front-end inlining when
27184 the current context is itself an instance within a non-instance child
27185 unit, to prevent scope stack errors.
27186 (Save_References): If the node is an aggregate that is an actual in a
27187 call, rewrite as a qualified expression to preserve some type
27188 information, to resolve possible ambiguities in the instance.
27189 (Instance_Parent_Unit): New global variable to record the ultimate
27190 parent unit associated with a generic child unit instance (associated
27191 with the existing Parent_Unit_Visible flag).
27192 (type Instance_Env): New component Instance_Parent_Unit for stacking
27193 parents recorded in the global Instance_Parent_Unit.
27194 (Init_Env): Save value of Instance_Parent_Unit in the Instance_Env
27195 stack.
27196 (Install_Spec): Save the parent unit entity in Instance_Parent_Unit when
27197 it's not a top-level unit, and only do this if Instance_Parent_Unit is
27198 not already set. Replace test of Is_Child_Unit with test of parent's
27199 scope against package Standard. Add comments and a ??? comment.
27200 (Remove_Parent): Revise condition for resetting Is_Immediately_Visible
27201 on a child instance parent to test that the parent equals
27202 Instance_Parent rather than simply checking that the unit is not a
27203 child unit.
27204 (Restore_Env): Restore value of Instance_Parent_Unit from Instance_Env.
27205 (Validate_Derived_Interface_Type_Instance): Verify that all ancestors of
27206 a formal interface are ancestors of the corresponding actual.
27207 (Validate_Formal_Interface_Type): Additional legality checks.
27208 (Analyze_Formal_Derived_Interface_Type): New procedure to handle formal
27209 interface types with ancestors.
27210 (Analyze_Formal_Package): If formal is a renaming, use renamed entity
27211 to diagnose attempts to use generic within its own declaration.
27212
272132005-11-14 Ed Schonberg <schonberg@adacore.com>
27214 Javier Miranda <miranda@adacore.com>
27215
27216 * sem_ch3.ads, sem_ch3.adb (Build_Discriminal): Add link to original
27217 discriminant.
27218 (Build_Private_Derived_Type): The entity of the created full view of the
27219 derived type does not come from source. If after installing the private
27220 declarations of the parent scope the parent is still private, use its
27221 full view to construct the full declaration of the derived type.
27222 (Build_Derived_Record_Type): Relax the condition that controls the
27223 execution of the check that verifies that the partial view and
27224 the full view agree in the set of implemented interfaces. In
27225 addition, this test now only takes into account the progenitors.
27226 (Derive_Interface_Subprograms): No need to derive subprograms
27227 of ancestors that are interfaces.
27228 (Derive_Subprograms): Remove formal No_Predefined_Prims and the
27229 associated code.
27230 Change name Is_Package to Is_Package_Or_Generic_Package
27231 (Complete_Subprograms_Derivation): Handle the case in which the full
27232 view is a transitive derivation of the ancestor of the partial view.
27233 (Process_Full_View): Rename local subprogram Find_Interface_In_
27234 Descendant to Find_Ancestor_Interface to leave the code more clear.
27235 Remove wrong code that avoids the generation of an error message
27236 when the immediate ancestor of the partial view is an interface.
27237 In addition some minor reorganization of the code has been done to
27238 leave it more clear.
27239 (Analyze_Type_Declaration): If type has previous incomplete tagged
27240 partial view, inherit properly its primitive operations.
27241 (Collect_Interfaces): Make public, for analysis of formal
27242 interfaces.
27243 (Analyze_Interface_Declaration): New procedure for use for regular and
27244 formal interface declarations.
27245 (Build_Derived_Record_Type): Add support for private types to the code
27246 that checks if a tagged type implements abstract interfaces.
27247 (Check_Aliased_Component_Type): The test applies in the spec of an
27248 instance as well.
27249 (Access_Type_Declaration): Clean up declaration of malformed type
27250 declared as an access to its own classwide type, to prevent cascaded
27251 crash.
27252 (Collect_Interfaces): For private extensions and for derived task types
27253 and derived protected types, the parent may be an interface that must
27254 be included in the interface list.
27255 (Access_Definition): If the designated type is an interface that may
27256 contain tasks, create Master_Id for it before analyzing the expression
27257 of the declaration, which may be an allocator.
27258 (Record_Type_Declaration): Set properly the interface kind, for use
27259 in allocators, the creation of master id's for task interfaces, etc.
27260
272612005-11-14 Javier Miranda <miranda@adacore.com>
27262 Ed Schonberg <schonberg@adacore.com>
27263
27264 * sem_ch6.adb (Check_Conformance): The null-exclusion feature can be
27265 omitted in case of stream attribute subprograms.
27266 (Check_Inline_Pragma): Handle Inline and Inline_Always pragmas that
27267 appear immediately after a subprogram body, when there is no previous
27268 subprogram declaration.
27269 Change name Is_Package to Is_Package_Or_Generic_Package
27270 (Process_Formals): A non null qualifier on a non null named access
27271 type is not an error, and is a warning only if Redundant_Constructs
27272 are flagged.
27273
272742005-11-14 Gary Dismukes <dismukes@adacore.com>
27275 Ed Schonberg <schonberg@adacore.com>
27276
27277 * sem_ch7.adb (Install_Parent_Private_Declarations): New procedure
27278 nested within Analyze_Package_Specification to install the private
27279 declarations and use clauses within each of the parent units of a
27280 package instance of a generic child package.
27281 (Analyze_Package_Specification): When entering a private part of a
27282 package associated with a generic instance or formal package, the
27283 private declarations of the parent must be installed (by calling new
27284 procedure Install_Parent_Private_Declarations).
27285 Change name Is_Package to Is_Package_Or_Generic_Package
27286 (Preserve_Full_Attributes): For a synchronized type, the corresponding
27287 record is absent in a generic context, which does not indicate a
27288 compiler error.
27289
272902005-11-14 Ed Schonberg <schonberg@adacore.com>
27291
27292 * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic context, do
27293 not try to rewrite a renamed stream attribute, because the operations
27294 on the type may not have been generated.
27295 Handle properly a renaming_as_body generated for a stream operation
27296 whose default is abstract because the object type itself is abstract.
27297 (Find_Type): If the type is incomplete and appears as the prefix of a
27298 'Class reference, it is tagged, and its list of primitive operations
27299 must be initialized properly.
27300 (Chain_Use_Clauses): When chaining the use clauses that appear in the
27301 private declaration of a parent unit, prior to compiling the private
27302 part of a child unit, find on the scope stack the proper parent entity
27303 on which to link the use clause.
27304 (Note_Redundant_Use): Emit a warning when a redundant use clause is
27305 detected.
27306 (Analyze_Object_Renaming): An attribute reference is not a legal object
27307 if it is not a function call.
27308
273092005-11-14 Robert Dewar <dewar@adacore.com>
27310 Ed Schonberg <schonberg@adacore.com>
27311
27312 * sem_eval.adb: Implement d.f flag
27313 (Subtype_Statically_Match): A generic actual type has unknown
27314 discriminants when the corresponding actual has a similar partial view.
27315 If the routine is called to validate the signature of an inherited
27316 operation in a child instance, the generic actual matches the full view,
27317
273182005-11-14 Hristian Kirtchev <kirtchev@adacore.com>
27319 Ed Schonberg <schonberg@adacore.com>
27320 Robert Dewar <dewar@adacore.com>
27321 Thomas Quinot <quinot@adacore.com>
27322
27323 * sem_res.adb (Resolve_Call): Provide a better error message whenever
27324 a procedure call is used as a select statement trigger and is not an
27325 entry renaming or a primitive of a limited interface.
27326 (Valid_Conversion): If the operand has a single interpretation do not
27327 remove address operations.
27328 (Check_Infinite_Recursion): Skip freeze nodes when looking for a raise
27329 statement to inhibit warning.
27330 (Resolve_Unary_Op): Do not produce a warning when
27331 processing an expression of the form -(A mod B)
27332 Use Universal_Real instead of Long_Long_Float when we need a high
27333 precision float type for the generated code (prevents gratuitous
27334 Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
27335 (Resolve_Concatenation_Arg): Improve error message when argument is an
27336 ambiguous call to a function that returns an array.
27337 (Make_Call_Into_Operator, Operand_Type_In_Scope): Do not check that
27338 there is an implicit operator in the given scope if we are within an
27339 instance: legality check has been performed on the generic.
27340 (Resolve_Unary_Op): Apply warnings checks on argument of Abs operator
27341 after resolving operand, to avoid false warnings on overloaded calls.
27342
273432005-11-14 Ed Schonberg <schonberg@adacore.com>
27344 Javier Miranda <miranda@adacore.com>
27345
27346 PR ada/15604
5de923eb
AC
27347 * sem_type.adb (Covers): In an inlined body, a composite type matches
27348 a private type whose full view is a composite type.
27349 (Interface_Present_In_Ancestor): Protect the frontend against
27350 previously detected errors to ensure that its compilation
27351 with assertions enabled gives the same output that its
27352 compilation without assertions.
27353 (Interface_Present_In_Ancestor): Add support for private types.
27354 Change name In_Actual to In_Generic_Actual (clean up)
27355 (Disambiguate): New predicate In_Actual, to recognize expressions that
27356 appear in the renaming declaration generated for generic actuals, and
27357 which must be resolved in the outer context.
27358
273592005-11-14 Robert Dewar <dewar@adacore.com>
27360 Thomas Quinot <quinot@adacore.com>
27361 Hristian Kirtchev <kirtchev@adacore.com>
27362 Ed Schonberg <schonberg@adacore.com>
27363
27364 * sem_util.ads, sem_util.adb: Change name Is_Package to
27365 Is_Package_Or_Generic_Package.
27366 (Check_Obsolescent): New procedure.
27367 (Set_Is_Public): Remove obsolete junk test.
27368 (Set_Public_Status): Do not set Is_Public on an object whose declaration
27369 occurs within a handled_sequence_of_statemets.
27370 (Is_Controlling_Limited_Procedure): Factor some of the logic, account
27371 for a parameterless procedure.
27372 (Enter_Name): Recognize renaming declarations created for private
27373 component of a protected type within protected operations, so that
27374 the source name of the component can be used in the debugger.
27375
273762005-11-14 Ed Schonberg <schonberg@adacore.com>
27377 Robert Dewar <dewar@adacore.com>
27378
27379 * sem_warn.ads, sem_warn.adb (Publicly_Referenceable): Generic formals
27380 of a generic subprogram are not visible outside the body.
27381 (Set_Warning_Switch): New procedure (code to set warning mode moved
27382 here from Switch.C so that it can be shared by pragma processing.
27383 (Check_References): Special case warning for non-modified non-imported
27384 volatile objects.
27385 * par-prag.adb: Modify processing of pragma Warnings to accomodate new
27386 form with a string literal argument
27387
273882005-11-14 Javier Miranda <miranda@adacore.com>
27389
27390 * s-finroo.ads, s-finroo.adb (Read): Addition of "not null" to the
27391 anonymous access.
27392 (Write): Addition of "not null" to the anonymous access.
27393 (Read): Addition of "not null" to the anonymous access.
27394 (Write): Addition of "not null" to the anonymous access.
27395
27396 * s-strxdr.adb, s-stratt.ads, s-stratt.adb (I_AD, I_AS, I_B, I_C, I_F,
27397 I_I, I_LF, I_LI, I_LLF, I_LLI, I_LLU, I_LU, I_SF, I_SI, I_SSI, I_SSU,
27398 I_SU, I_U, I_WC): Addition of "not null" to the anonymous access.
27399 (W_AD, W_AS, W_B, W_C, W_F, W_I, W_LF, W_LI, W_LLF, W_LLI, W_LLU,
27400 W_LU, W_SF, W_SI, W_SSI, W_SSU, W_SU, W_U, W_WC): Addition of
27401 "not null" to the anonymous access.
27402
274032005-11-14 Robert Dewar <dewar@adacore.com>
27404
27405 * s-stoele.adb: Fix code for Address mod Storage_Offset for negative
27406 offset values
27407
274082005-11-14 Vincent Celier <celier@adacore.com>
27409
27410 * switch.adb (Bad_Switch): New procedure
27411 (Scan_Nat, Scan_Pos): Directly call Osint.Fail with the appropriate
27412 message when in error.
27413
27414 * switch.ads (Bad_Switch, Bad_Switch_Value, Missing_Switch_Value,
27415 Too_Many_Output_Files): Remove declarations, no longer used.
27416 (Scan_Nat): New parameter Switch
27417 (Scan_Pos): Ditto
27418 (Bad_Switch): New procedure
27419
27420 * switch-b.adb (Scan_Binder_Switches): Replace "raise Bad_Switch;"
27421 with call to new procedure Bad_Switch. Call Scan_Pos and Scan_Natwith
27422 new parameter Switch. Replace "raise Too_Many_Output_Files;" with call
27423 to Osint.Fail. Do not handle any exception.
27424
274252005-11-14 Vincent Celier <celier@adacore.com>
27426
27427 * tempdir.adb (Tempdir): Do not use environment variable TMPDIR if it
27428 designates a non existent directory.
27429
274302005-11-14 Robert Dewar <dewar@adacore.com>
27431
27432 * xgnatugn.adb: Replace invalid membership test by 'Valid
27433
274342005-11-14 Vincent Celier <celier@adacore.com>
27435
27436 * makegpr.adb (Gprmake): Do not attempt to build the global archive if
27437 there is no object directory.
27438
274392005-11-14 Robert Dewar <dewar@adacore.com>
27440
27441 * usage.adb: Minor adjustment to output format, use nn instead of nnn
27442 (so that -gnateInnn does not run into next column)
27443
274442005-11-14 Ed Falis <falis@adacore.com>
27445
27446 * s-bitops.adb (Bits_Array): corrected comment: "unconstrained" =>
27447 "constrained"
27448
274492005-11-14 Cyrille Comar <comar@adacore.com>
27450
27451 * s-chepoo.ads: Add comments on Dereference.
27452 Remove unnecessary inherited abstract primitives.
27453 Cosmetic cleanup.
27454
274552005-11-14 Robert Dewar <dewar@adacore.com>
27456
27457 * sem_cat.ads (Validate_Access_Type_Declaration): Remove declaration
27458 node parameter, not needed, since it is available as Declaration_Node.
27459
274602005-11-14 Geert Bosch <bosch@adacore.com>
27461
27462 * s-exnllf.adb (Exn_LLF): Fix comment to be more precise and
27463 grammatically correct.
27464
274652005-11-14 Vincent Celier <celier@adacore.com>
27466
27467 * s-fileio.ads: Correct spelling error in comment
27468
274692005-11-14 Cyrille Comar <comar@adacore.com>
27470 Robert Dewar <dewar@adacore.com>
27471 Vincent Celier <celier@adacore.com>
27472 Ben Brosgol <brosgol@adacore.com>
27473 Jose Ruiz <ruiz@adacore.com>
27474 Pascal Obry <obry@adacore.com>
27475
9e81dbc7 27476 * gnat_ugn.texi:
5de923eb
AC
27477 Document that -fstack-check is needed for strict compliance with the
27478 Ada 95 Reference Manual.
27479 Correct reference to VAX systems to meet HP guidelines
27480 Add documentation for new gnatmake switches -vl, -vm and -vh
27481 Replace DEC Ada by HP Ada
27482 Replace DIGITAL by HP
27483 Remove empty section on tools in compatibility section
27484 Clarify the Windows convention semantics.
27485 Document the Win32 calling convention.
27486 The Stdcall, Win32 and DLL convention are synonyms.
27487 Add a note in -gnatR description about zero size record components
27488 Note on new >= and <= warnings for -gnatwc
27489 Document that equal sign after -gnatm is optional.
27490 Note that strip is working fine on DLL built with a Library
27491 Project. The restriction apply only to DLL built with gnatdll.
27492 Update section about the way to debug a DLL.
27493 Update information about the DLL convention.
27494 Document -C switch for gnatprep
27495 Document new attribute Library_ALI_Dir
27496 Update elaboration doc to include implicit Elaborate pragmas now
27497 generated for subprogram instantiations.
27498 Document limitation on executable names that include spaces for --GCC,
27499 --GNATBIND, and --GNATLINK switches.
27500 Document that -w causes -gnatws to be added at start of gcc switches
27501
27502 * gnat_rm.texi: Document that -mieee is needed for generating infinite
27503 and NaN values in case of overflow on machines that are not fully
27504 compliant with the IEEE floating-point standard.
27505 Create a section describing the set of compiler options needed for
27506 strict compliance with the Ada 95 Reference Manual.
27507 Add documentation for pragma Obsolescent applied to a package
27508 Clarify potential issues of mixed language programs related to the
27509 I/O buffering enabling in the elaboration of the GNAT runtime.
27510 Add extra documentation for pragma Restrictions (No_Elaboration_Code)
27511 This documentation only patch adds extra documentsion for pragma
27512 Restrictions (No_Elaboration_Code), explaining why it is not possible
27513 to document this restriction in terms of allowed source constructs.
27514 Document string literal form of pragma Warnings
27515 Document new attribute Library_ALI_Dir
27516 Add documentation on stable attributes in project files that was missing
27517
27518 * gnat-style.texi: Indicate that paragraphs within a single comment
27519 should be separated by empty comment lines
27520
27521 * ug_words: Added replacements for -gnat95 and -gnat05 (/95 and
27522 /05 respectively)
27523
27524 * bindusg.adb: Minor cleanup, put -m before -M for consistency
27525
275262005-11-14 Robert Dewar <dewar@adacore.com>
27527
27528 * a-secain.adb, a-slcain.adb, a-shcain.adb, a-chtgke.ads, a-chtgke.adb,
27529 a-stwiha.adb, a-strhas.adb, a-chzla1.ads, a-chzla9.ads, a-stzbou.adb,
27530 a-stzbou.ads, a-stzfix.adb, a-stzhas.adb, a-stzmap.adb, a-stzmap.ads,
27531 a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads, a-stzunb.adb,
27532 a-stzunb.ads, a-szuzha.adb, a-szuzha.ads, a-szuzti.adb, a-szuzti.ads,
27533 a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb, a-ztcstr.adb, a-ztcstr.ads,
27534 a-ztdeau.adb, a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
27535 a-ztedit.ads, a-ztenau.ads, a-ztenio.adb, a-ztenio.ads, a-ztexio.adb,
27536 a-ztexio.ads, a-ztfiio.adb, a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads,
27537 a-ztflio.adb, a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
27538 a-ztinau.ads, a-ztinio.adb, a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads,
27539 a-zttest.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-alpha.adb,
27540 g-enblsp-vms-ia64.adb, g-enblsp-vms-ia64.adb, system-linux-hppa.ads,
27541 a-chacon.adb, a-chacon.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
27542 a-zchuni.ads, g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb,
27543 system-hpux-ia64.ads, g-soccon-unixware.ads, g-soliop-unixware.ads,
27544 g-soccon-interix.ads, g-soliop-solaris.ads, g-eacodu-vms.adb,
27545 g-expect-vms.adb, g-socthi-vms.adb, g-soliop-mingw.ads,
27546 a-intnam-unixware.ads, a-intnam-lynxos.ads, a-intnam-tru64.ads,
27547 a-intnam-aix.ads, a-intnam-linux.ads, a-intnam-linux.ads,
27548 a-intnam-dummy.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
27549 a-intnam-solaris.ads, a-calend-vms.adb, a-calend-vms.ads,
27550 a-intnam-vms.ads, a-calend-mingw.adb, a-intnam-mingw.ads,
27551 a-intnam-vxworks.ads, a-numaux-vxworks.ads, system-unixware.ads,
27552 system-linux-ia64.ads, a-intnam-freebsd.ads, system-freebsd-x86.ads,
27553 system-lynxos-ppc.ads, system-linux-x86_64.ads, a-stunha.adb,
27554 a-cgaaso.ads, a-cgaaso.adb, a-chtgop.adb, a-cgcaso.adb, a-cgarso.adb,
27555 a-cohata.ads, a-crbtgk.adb, a-crbltr.ads, a-coprnu.adb, a-rbtgso.adb,
27556 a-intnam-darwin.ads, system-darwin-ppc.ads, gprmake.adb, makegpr.ads,
27557 system-tru64.ads, system-aix.ads, system-solaris-x86.ads,
27558 system-irix-o32.ads, s-interr-sigaction.adb, system-irix-n32.ads,
27559 s-parame-mingw.adb, system-hpux.ads, s-traceb-hpux.adb,
27560 system-linux-x86.ads, s-inmaop-dummy.adb, system-os2.ads,
27561 system-interix.ads, system-solaris-sparc.ads,
27562 system-solaris-sparcv9.ads, s-inmaop-vms.adb,
27563 s-mastop-vms.adb, expander.adb, expander.ads, s-gloloc-mingw.adb,
27564 system-mingw.ads, system-vms-zcx.ads, s-osinte-fsu.adb,
27565 s-traceb-mastop.adb, a-exextr.adb, a-exstat.adb, a-filico.ads,
27566 a-finali.ads, a-interr.ads, a-intsig.adb, a-intsig.ads,
27567 a-except.ads, a-numaux-x86.ads, a-astaco.adb, a-calend.adb,
27568 a-calend.ads, a-chahan.adb, a-chahan.ads, a-chlat9.ads,
27569 a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
27570 a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
27571 a-elchha.adb, a-decima.adb, a-decima.ads, a-diocst.ads,
27572 a-direio.adb, a-direio.ads, a-excach.adb, a-excach.adb,
27573 a-exctra.ads, ali-util.adb, a-ngcefu.adb, a-ngcoty.adb,
27574 a-ngcoty.ads, a-nudira.adb, a-nudira.ads, a-nuflra.adb,
27575 a-numaux.ads, a-reatim.ads, a-sequio.adb, a-sequio.ads,
27576 a-siocst.ads, a-ssicst.ads, a-stmaco.ads, a-storio.adb,
27577 a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
27578 a-strmap.adb, a-strmap.ads, a-strsea.adb, a-strsea.ads,
27579 a-strsup.adb, a-strsup.ads, a-strunb.adb, a-strunb.ads,
27580 a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwima.adb,
27581 a-stwima.ads, a-stwise.adb, a-stwise.ads, a-stwisu.adb,
27582 a-stwisu.ads, a-stwiun.adb, a-stwiun.ads, a-suteio.adb,
27583 a-suteio.ads, a-swmwco.ads, a-swuwti.adb, a-swuwti.ads,
27584 a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
27585 a-taside.ads, a-teioed.adb, a-textio.adb, a-textio.ads,
27586 a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tideau.adb,
27587 a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
27588 a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
27589 a-tiinio.adb, a-timoau.adb, a-timoio.adb, a-timoio.ads,
27590 a-tiocst.ads, a-titest.adb, atree.adb, a-witeio.adb,
27591 a-witeio.ads, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb,
27592 a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtedit.adb,
27593 a-wtedit.ads, a-wtenau.adb, a-wtenio.adb, a-wtfiio.adb,
27594 a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
27595 a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, back_end.adb,
27596 bindgen.adb, butil.adb, butil.ads, checks.ads, cio.c, comperr.adb,
27597 csets.ads, cstand.adb, debug.ads, elists.ads, errno.c, errout.adb,
27598 errout.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
27599 errutil.ads, err_vars.ads, eval_fat.adb, exp_ch11.adb, exp_ch11.ads,
27600 exp_ch2.adb, exp_ch7.ads, exp_imgv.ads, exp_pakd.adb, exp_prag.adb,
27601 exp_prag.ads, exp_tss.adb, exp_tss.ads, exp_vfpt.ads, fe.h, fmap.adb,
27602 freeze.ads, frontend.adb, frontend.ads, g-arrspl.adb, g-arrspl.ads,
27603 g-awk.adb, g-awk.ads, g-boumai.ads, g-calend.adb, g-calend.ads,
27604 g-catiio.adb, g-comlin.adb, g-comlin.ads, g-comlin.ads, g-comlin.ads,
27605 g-comver.adb, g-crc32.adb, g-crc32.ads, g-ctrl_c.ads, g-curexc.ads,
27606 g-debpoo.ads, g-debuti.adb, g-diopit.adb, g-diopit.ads, g-dirope.adb,
27607 g-dirope.ads, g-dyntab.adb, g-dyntab.ads, g-excact.adb, g-excact.ads,
27608 g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.ads, g-flocon.ads,
27609 g-hesorg.ads, g-io.adb, g-locfil.ads, g-md5.adb, g-md5.ads, g-md5.ads,
27610 g-moreex.adb, g-signal.ads, g-signal.adb, gnatbind.ads, gnatchop.adb,
27611 gnatcmd.adb, gnatfind.adb, gnatlbr.adb, gnatmake.ads, gnatmem.adb,
27612 gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb, g-os_lib.adb,
27613 g-os_lib.ads, g-pehage.adb, g-pehage.ads, gprep.ads, g-regexp.adb,
27614 g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.ads, g-semaph.adb,
27615 g-socthi.adb, g-soliop.ads, g-spipat.adb, g-spipat.ads, g-sptabo.ads,
27616 g-sptain.ads, g-sptavs.ads, g-string.ads, g-tasloc.adb, g-tasloc.ads,
27617 g-trasym.adb, g-trasym.ads, i-fortra.adb, i-fortra.ads, inline.adb,
27618 layout.adb, live.adb, make.ads, makeutl.ads, makeutl.adb, mdll-fil.adb,
27619 mdll-fil.ads, mdll-utl.ads, memroot.ads, memtrack.adb, mlib.ads,
27620 mlib-fil.adb, mlib-fil.ads, mlib-prj.ads, mlib-utl.adb, mlib-utl.ads,
27621 nlists.adb, nlists.ads, osint.adb, osint.ads, osint-c.adb, osint-l.adb,
27622 osint-l.ads, osint-m.ads, output.adb, par.adb, par.adb, par.ads,
27623 par-ch11.adb, par-ch12.adb, par-ch2.adb, par-ch4.adb, par-ch5.adb,
27624 par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
27625 par-tchk.adb, prep.adb, prepcomp.adb, prepcomp.ads, prj-attr.ads,
27626 prj-com.ads, prj-dect.adb, prj-dect.ads, prj-env.ads, prj-err.ads,
27627 prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.ads, prj-pars.adb,
27628 prj-pars.ads, prj-part.ads, prj-pp.ads, prj-proc.ads, prj-strt.adb,
27629 prj-strt.ads, prj-tree.adb, prj-util.adb, prj-util.ads, rtsfind.adb,
27630 sem.adb, sem.ads, sem_case.adb, sem_case.ads, sem_ch11.adb,
27631 sem_ch4.adb, sem_ch6.ads, sem_ch7.ads, sem_dist.ads, sem_elab.ads,
27632 sem_elim.ads, sem_eval.ads, sem_intr.ads, sem_maps.adb, sem_maps.ads,
27633 sem_maps.ads, sem_res.ads, sem_type.ads, sfn_scan.adb, sfn_scan.ads,
27634 s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads, s-inmaop.ads, sinput.adb,
27635 sinput.ads, s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads,
27636 s-pack06.adb, s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb,
27637 s-pack09.ads, s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
27638 s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb,
27639 s-pack14.ads, s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads,
27640 s-pack18.adb, s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb,
27641 s-pack20.ads, s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
27642 s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb,
27643 s-pack25.ads, s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads,
27644 s-pack28.adb, s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb,
27645 s-pack30.ads, s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
27646 s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb,
27647 s-pack36.ads, s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads,
27648 s-pack39.adb, s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb,
27649 s-pack41.ads, s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
27650 s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb,
27651 s-pack46.ads, s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads,
27652 s-pack49.adb, s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb,
27653 s-pack51.ads, s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
27654 s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb,
27655 s-pack56.ads, s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads,
27656 s-pack59.adb, s-pack59.ads, s-pack60.adb, s-pack60.adb, s-pack60.ads,
27657 s-pack61.adb, s-pack61.ads, s-pack62.adb, s-pack62.ads, s-pack63.adb,
27658 s-pack63.ads, s-parint.adb, s-parint.adb, s-parint.ads, sprint.ads,
27659 s-purexc.ads, s-restri.ads, s-restri.adb, s-scaval.adb, s-scaval.ads,
27660 s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads, stand.ads,
27661 s-tasuti.adb, s-traceb.adb, s-traceb.ads, stringt.adb, stringt.ads,
27662 styleg.ads, s-valboo.adb, s-valboo.ads, s-valcha.adb, s-valcha.ads,
27663 s-valdec.adb, s-valdec.ads, s-valint.adb, s-valint.ads, s-valint.ads,
27664 s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads, s-valllu.adb,
27665 s-valllu.ads, s-valrea.adb, s-valrea.ads, s-valuns.adb, s-valuns.ads,
27666 s-valuti.adb, s-valuti.ads, s-valwch.ads, s-veboop.adb, s-veboop.ads,
27667 s-vercon.adb, s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchcon.ads,
27668 s-wchjis.adb, s-wchjis.ads, s-wchstw.adb, s-wchstw.adb, s-wchstw.ads,
27669 s-wchwts.adb, s-wchwts.ads, s-widboo.adb, s-widboo.ads, s-widcha.adb,
27670 s-widcha.ads, s-widenu.adb, s-widenu.ads, s-widlli.adb, s-widlli.ads,
27671 s-widllu.adb, s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
27672 s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, symbols.adb, symbols.ads,
27673 table.ads, targparm.adb, targparm.ads, tb-alvms.c, tb-alvxw.c,
27674 tbuild.adb, tree_io.ads, treepr.adb, treeprs.adt, ttypef.ads,
27675 ttypes.ads, types.adb, uintp.adb, uintp.ads, uname.ads, urealp.ads,
27676 usage.ads, validsw.ads, vxaddr2line.adb, widechar.adb, widechar.ads,
27677 xeinfo.adb, xnmake.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads,
27678 xsinfo.adb, xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb,
27679 a-dirval.ads, a-dirval.adb, a-dirval-mingw.adb, a-direct.ads,
27680 a-direct.adb, indepsw.ads, prj-attr-pm.ads, system-linux-ppc.ads,
27681 a-numaux-darwin.ads, a-numaux-darwin.adb,
27682 a-swuwha.ads, a-stunha.ads: Minor reformatting
27683
e0ac6309
RD
276842005-11-14 Robert Dewar <dewar@adacore.com>
27685
27686 PR ada/18434
27687 * osint-m.adb: Add pragma Elaborate_All for Osint
27688
f45ddfe0
EB
276892005-11-10 Eric Botcazou <ebotcazou@adacore.com>
27690
27691 PR ada/23995
27692 * trans.c (call_to_gnu): Restore statement lost in translation.
27693
13bb031a
EB
276942005-11-08 Eric Botcazou <ebotcazou@adacore.com>
27695
27696 * init.c: Use the Linux-specific section for the IA-64/Linux target.
27697 (__gnat_adjust_context_for_raise): Add conditional code so that the
27698 IA-64 is also supported.
27699
72098128
JW
277002005-11-03 James E Wilson <wilson@specifix.com>
27701
27702 PR ada/23427
13bb031a
EB
27703 * trans.c (gnat_to_gnu): Use TYPE_SIZE_UNIT not TYPE_SIZE in
27704 TREE_OVERFLOW check.
72098128 27705
8fafe21d
OH
277062005-09-21 Olivier Hainque <hainque@adacore.com>
27707
27708 PR ada/22418
27709 * decl.c (maybe_pad_type): Use proper bitsizetype for XVZ objects,
27710 as we create them to store a size in bits.
27711
552725e3
EB
277122005-10-21 Eric Botcazou <ebotcazou@adacore.com>
27713
27714 PR ada/21937
27715 PR ada/22328
27716 PR ada/22381
27717 PR ada/22383
27718 PR ada/22419
27719 PR ada/22420
27720 * utils2.c (build_return_expr): New helper function.
27721 * gigi.h (build_return_expr): Declare it.
27722 * trans.c (Subprogram_Body_to_gnu): Use build_return_expr instead
27723 of manually building the RETURN_EXPR tree.
27724 (call_to_gnu): Pass MODIFY_EXPR through build_binary_op.
27725 (gnat_to_gnu) <N_Return_Statement>: Pass MODIFY_EXPR through
8fafe21d 27726 build_binary_op for the "target pointer" case. Use build_return_expr
552725e3
EB
27727 instead of manually building the RETURN_EXPR tree.
27728
9e94c78f 277292005-09-16 Laurent Guerby <laurent@guerby.net>
ccdeca37
LG
27730
27731 PR ada/23788
27732 * s-tpinop.ads: Make this unit Preelaborate.
27733
da8f5fd9
AJ
277342005-09-16 Andreas Jaeger <aj@suse.de>
27735
27736 * socket.c: Add string.h for memcpy.
27737
98b40956
AC
277382005-09-05 Arnaud Charlet <charlet@adacore.com>
27739
27740 * dec-io.ads, dec-io.adb: Removed, no longer used.
27741
277422005-09-01 Arnaud Charlet <charlet@adacore.com>
27743
27744 * a-calend-mingw.adb: Add call to OS_Primitives.Initialize;
27745
27746 * s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
27747 s-taprop-os2.adb, s-taprop-irix-athread.adb, s-taprop-linux.adb,
27748 s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-tru64.adb,
27749 s-taprop-lynxos.adb: Move with clauses outside Warnings Off now that
27750 dependent units are Preelaborate.
27751 (Initialize): Call Interrupt_Managemeent.Initialize and
27752 OS_Primitives.Initialize to ensure proper initialization of this unit.
27753 Remove use of System.Soft_Links
27754 Make this unit Preelaborate.
27755
27756 * s-stache.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
27757 s-taspri-vms.ads, s-tasinf-solaris.ads, s-taspri-os2.ads,
27758 s-taspri-lynxos.ads, s-taspri-hpux-dce.ads, s-taspri-tru64.ads,
27759 s-tasinf-tru64.ads, s-tasinf-irix.ads, s-tasinf-irix-athread.ads,
27760 s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
27761 s-tratas.ads, s-tasinf.ads: Minor reformatting.
27762 Add pragma Preelaborate, since these packages are suitable for this
27763 categorization.
27764 Update comments.
27765
27766 * s-traent-vms.ads, s-intman-dummy.adb,
27767 s-taprop-dummy.adb: Make this unit Preelaborate.
27768
27769 * s-osprim-vxworks.adb, s-osprim-vms.adb, s-osprim-vms.ads,
da8f5fd9 27770 s-osprim-mingw.adb, s-intman-vxworks.ads, s-intman-vxworks.adb,
98b40956
AC
27771 s-intman-vms.adb, s-intman-mingw.adb, s-intman-vms.ads,
27772 s-osprim-unix.adb, s-osprim-os2.adb, s-osprim-solaris.adb,
27773 s-intman-solaris.adb, s-intman-irix-athread.adb,
27774 s-intman-irix.adb: Mark this unit Preelaborate.
27775 (Initialize): New procedure.
27776 Update comments.
27777
27778 * s-taspri-linux.ads: Removed.
27779
27780 * s-tpopsp-solaris.adb (Initialize): Create the key in this procedure,
27781 as done by other implementations (e.g. posix).
27782
27783 * s-taprop.ads (Timed_Delay): Update spec since the caller now is
27784 responsible for deferring abort.
27785 Mark this unit Preelaborate.
27786
27787 * s-taprob.adb, s-tarest.adb: Call System.Tasking.Initialize to ensure
27788 proper initialization of the tasking run-time.
27789
27790 * s-tasdeb.ads: Mark this unit Preelaborate.
27791 (Known_Tasks): Add explicit default value to avoid elaboration code.
27792
27793 * s-inmaop-vms.adb (Elaboration code): Add call to
27794 Interrupt_Management.Initialize since the elaboration code depends on
27795 proper initialization of this package.
27796
27797 * s-intman.ads, s-inmaop-posix.adb, s-intman-posix.adb,
27798 s-osprim.ads, s-taprop-posix.adb, s-taspri-posix.ads,
27799 s-osprim-posix.adb: Make this unit Preelaborate.
27800
27801 * a-calend.adb: Add call to OS_Primitives.Initialize
27802
27803 * a-elchha.adb: Update use of Except.Id.Full_Name.
27804 Minor reformatting.
27805 Remove use of Ada.Exceptions.Traceback when possible, cleaner.
27806
27807 * a-dynpri.adb, a-sytaco.adb, a-sytaco.ads:
27808 Move with clauses outside Warnings Off now that dependent units are
27809 Preelaborate.
27810 Use raise xxx with "..."; Ada 2005 form.
27811
da8f5fd9 27812 * a-taside.ads, a-taside.adb:
98b40956
AC
27813 Remove some dependencies, to make it easier to make this unit truly
27814 Preelaborate.
27815 Rewrite some code to be conformant with Preelaborate rules.
27816
27817 * g-os_lib.adb: Remove non-preelaborate code so that this unit can be
27818 marked Preelaborate in the future.
27819
27820 * s-proinf.ads, g-string.ads, s-auxdec.ads, s-auxdec-vms_64.ads: Make
27821 these units Preelaborate.
27822
27823 * s-exctab.adb: Update use of Except.Id.Full_Name.
27824
27825 * s-soflin.ads, s-soflin.adb: Mark this unit Preelaborate_05.
27826 (Set_Exc_Stack_Addr_Soft, Get_Exc_Stack_Addr_NT, Set_Exc_Stack_Addr_NT,
27827 Set_Exc_Stack_Addr): Removed, no longer used.
27828 Remove reference to *Machine_State_Addr*, no longer needed.
27829
27830 * s-stalib.ads: Mark this unit as Preelaborate[_05].
27831 (Exception_Data): Full_Name is now a System.Address so that this unit
27832 can be made Preelaborate.
27833 Clean up/simplify code thanks to Full_Name being a System.Address.
27834 Remove obsolete pragma Suppress (All_Checks), no longer needed.
27835
da8f5fd9 27836 * s-taskin.ads, s-taskin.adb:
98b40956
AC
27837 Move with clauses outside Warnings Off now that dependent units are
27838 Preelaborate.
27839 Make this unit Preelaborate.
27840 (Initialize): New proceduure, replace elaboration code and makes the
27841 set up of the tasking run-time cleaner.
27842 (Detect_Blocking): Now a function instead of a deferred boolean, to
27843 obey Preelaborate rules.
27844
27845 * s-tassta.adb (Finalize_Global_Tasks): Remove Get/Set_Exc_Stack_Addr
27846 soft links, no longer used.
27847
27848 * s-traces.ads, s-traent.ads: Add pragma Preelaborate, since these
27849 packages are suitable for this categorization.
27850
27851 * s-solita.adb: Replace use of Ada.Exception by raise xxx with "..."
27852 since we compile run-time sources in Ada 2005 mode.
27853 (Timed_Delay_T): Call Abort_Defer/Undefer around Timed_Delay, to
27854 avoid having s-taprop*.adb depend on s-soflin and to avoid code
27855 duplication.
27856 Remove reference to *Machine_State_Addr*, no longer needed.
27857
278582005-09-01 Arnaud Charlet <charlet@adacore.com>
27859
27860 * s-mastop-tru64.adb, s-mastop-irix.adb, s-mastop-vms.adb
27861 (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
27862 Remove reference to System.Exceptions.
27863
27864 * s-mastop-x86.adb: Removed, no longer used.
27865
27866 * s-traceb-mastop.adb: Adjust calls to Pop_Frame.
27867
27868 * a-excach.adb: Minor reformatting.
27869
27870 * a-except.ads, a-except.adb: Remove global Warnings (Off) pragma, and
27871 instead fix new warnings that were hidden by this change.
27872 (AAA, ZZZ): Removed, replaced by...
27873 (Code_Address_For_AAA, Code_Address_For_ZZZ): ... these functions, who
27874 are used instead of constants, to help make Ada.Exception truly
27875 preelaborate.
27876 (Rcheck_*, Raise_Constraint_Error, Raise_Program_Error,
27877 Raise_Storage_Error): File is now a System.Address, to simplify code.
27878 (Elab code): Removed, no longer used.
27879 (Null_Occurrence): Remove Warnings Off and make this construct
27880 preelaborate.
27881 Remove code related to front-end zero cost exception handling, since
27882 it is no longer used.
27883 Remove -gnatL/-gnatZ switches.
27884
27885 * a-exexda.adb (Append_Info_Exception_Name, Set_Exception_C_Msg):
27886 Update use of Except.Msg.
27887
27888 * gnat1drv.adb, inline.adb, bindgen.adb, debug.adb, exp_ch11.ads,
27889 freeze.adb, frontend.adb, lib.adb, exp_ch11.adb: Remove code related
27890 to front-end zero cost exception handling, since it is no longer used.
27891 Remove -gnatL/-gnatZ switches.
27892
27893 * lib-writ.ads: Minor reformatting
27894 Remove doc of UX
27895
27896 * Makefile.rtl: Remove references to s-except*, s-mastop-x86*
27897
27898 * Make-lang.in: Remove references to s-except.ads
27899
27900 * s-except.ads: Removed, no longer used.
27901
da8f5fd9 27902 * s-mastop.ads, s-mastop.adb:
98b40956
AC
27903 (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
27904 Remove reference to System.Exceptions.
27905
27906 * raise.h, usage.adb, targparm.adb, targparm.ads, switch-m.adb,
27907 switch-b.adb: Remove code related to front-end zero cost exception
27908 handling, since it is no longer used.
27909 Remove -gnatL/-gnatZ switches.
27910
279112005-09-01 Robert Dewar <dewar@adacore.com>
27912 Gary Dismukes <dismukes@adacore.com>
27913 Javier Miranda <miranda@adacore.com>
27914
27915 * exp_ch4.adb (Expand_N_In): Replace test of expression in its own
27916 type by valid test and generate warning.
27917 (Tagged_Membership): Generate call to the run-time
27918 subprogram IW_Membership in case of "Iface_CW_Typ in Typ'Class"
27919 Change formal name Subtype_Mark to Result_Definition in several calls to
27920 Make_Function_Specification.
27921 (Expand_Allocator_Expression): Add tests for suppression of the AI-344
27922 check for proper accessibility of the operand of a class-wide allocator.
27923 The check can be left out if checks are suppressed or if the expression
27924 has a specific tagged type whose level is known to be safe.
27925
27926 * exp_ch5.adb (Expand_N_Assignment_Statement): Simplify the code that
27927 generates the run-time check associated with null-excluding entities.
27928 (Expand_N_Return_Statement): Add tests to determine if the accessibility
27929 check on the level of the return expression of a class-wide function
27930 can be elided. The check usually isn't needed if the expression has a
27931 specific type (unless it's a conversion or a formal parameter). Also
27932 add a test for whether accessibility checks are suppressed. Augment
27933 the comments to describe the conditions for performing the check.
27934
279352005-09-01 Hristian Kirtchev <kirtchev@adacore.com>
27936 Javier Miranda <miranda@adacore.com>
27937 Gary Dismukes <dismukes@adacore.com>
27938 Ed Schonberg <schonberg@adacore.com>
27939
27940 * a-tags.adb (IW_Membership): Give support to
27941 "Iface_CW_Typ in T'Class". For this purpose the functionality of this
27942 subprogram has been extended to look for the tag in the ancestors tag
27943 table.
27944 Update the structure of the GNAT Dispatch Table to reflect the
27945 additional two tables used in dispatching selects.
27946 Introduce appropriate array types and record components in
27947 Type_Specific_Data to reflect the two tables.
27948 (Get_Entry_Index, Set_Entry_Index): Retrieve and set the entry index in
27949 the TSD of a tag, indexed by position.
27950 (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Retrieve and set the primitive
27951 operation kind in the TSD of a tag, indexed by position.
27952
27953 * a-tags.ads: Introduce an enumeration type to capture different
27954 primitive operation kinds. Define a constant reflecting the number of
27955 predefined primitive operations.
27956 (Get_Entry_Index, Set_Entry_Index): Set and retrieve the entry index
27957 of an entry wrapper.
27958 (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Set and retrieve the kind of
27959 callable entity of a primitive operation.
27960
27961 * exp_ch3.adb (Freeze_Record_Type): Generate the declarations of the
27962 primitive operations used in dispatching selects for limited
27963 interfaces, limited tagged, task and protected types what implement a
27964 limited interface.
27965 (Freeze_Type): Generate the bodies of the primitive operations used in
27966 dispatching selects for limited tagged, task and protected types that
27967 implement a limited interface. Generate statements to populate the two
27968 auxiliary tables used for dispatching in select statements.
27969 (Freeze_Record_Type): Add call to initialize the dispatch table entries
27970 associated with predefined interface primitive operations.
27971 (Build_Dcheck_Function): Change Set_Subtype_Mark to
27972 Set_Result_Definition.
27973 (Build_Variant_Record_Equality): Change Subtype_Mark to
27974 Result_Definition.
27975 (Freeze_Enumeration_Type): Change Subtype_Mark to Result_Definition.
27976 (Predef_Spec_Or_Body): Change Subtype_Mark to Result_Definition.
27977 (Build_Assignment): Simplify the code that adds the run-time-check.
27978 (Expand_N_Object_Declaration): Code cleanup.
27979
27980 * exp_ch7.adb (Make_Clean): Select the appropriate type for locking
27981 entries when there is a protected type that implements a limited
27982 interface.
27983
27984 * exp_ch9.adb: Add package Select_Expansion_Utilities that contains
27985 common routines used in expansion of dispatching selects.
27986 (Add_Private_Declarations): Select the appropriate protection type when
27987 there is a protected type that implements a limited interface.
27988 (Build_Parameter_Block): Generate a wrapped parameter block.
27989 (Build_Protected_Subprogram_Body): Select the appropriate type for
27990 locking entries when there is a protected type that implements a
27991 limited interface.
27992 (Build_Wrapper_Spec): Set the flag and wrapped entity for procedures
27993 classified as entry wrappers.
27994 (Expand_N_Asynchronous_Select): Add support for expansion of dispatching
27995 asynchronous selects.
27996 (Expand_N_Conditional_Entry_Call): Add support for expansion of
27997 dispatching conditional selects.
27998 (Expand_N_Protected_Type_Declaration): Select the appropriate type for
27999 protection when there is a protected type that implements limited
28000 interfaces.
28001 (Expand_N_Timed_Entry_Call): Add support for expansion of dispatching
28002 timed selects.
28003 (Extract_Dispatching_Call): Extract the entity of the name of a
28004 dispatching call, the object parameter, actual parameters and
28005 corresponding formals.
28006 (Make_Initialize_Protection): Correct logic of protection initialization
28007 when there is a protected type that implements a limited interface.
28008 (Parameter_Block_Pack): Populate a wrapped parameter block with the
28009 values of actual parameters.
28010 (Parameter_Block_Unpack): Retrieve the values from a wrapped parameter
28011 block and assign them to the original actual parameters.
28012
28013 * exp_ch9.ads (Subprogram_Protection_Mode): New type.
28014 (Build_Protected_Sub_Specification): Change the type and name of the
28015 last formal to account for the increased variety of protection modes.
28016
28017 * einfo.ads, einfo.adb (Was_Hidden): New attribute. Present in all
28018 entities. Used to save the value of the Is_Hidden attribute when the
28019 limited-view is installed.
28020 (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Retrieve and change
28021 the attribute of procedures classified as entry wrappers.
28022 (Wrapped_Entity, Set_Wrapped_Entity): Retrieve and change the wrapped
28023 entity of a primitive wrapper.
28024 (Write_Entity_Flags): Output the name and value of the
28025 Is_Primitive_Wrapper attribute.
28026 (Write_Field27_Name): Output the name and entity of the field Wrapped_
28027 Entity.
28028 (Underlying_Type): If we have an incomplete entity that comes from
28029 the limited view then we return the Underlying_Type of its non-limited
28030 view if it is already available.
28031 (Abstract_Interface_Alias): Flag applies to all subrogram kinds,
28032 including operators.
28033 (Write_Field26_Name): Add entry for Overridden_Operation
28034 (Overridden_Operation): New attribute of functions and procedures.
28035
28036 * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Return a
28037 predefined position in the dispatch table for the primitive operations
28038 used in dispatching selects.
28039 (Init_Predefined_Interface_Primitives): Remove the hardcoded number of
28040 predefined primitive operations and replace it with
28041 Default_Prim_Op_Count.
28042 (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
28043 Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Update
28044 the names of the generated primitive operations used in dispatching
28045 selects.
28046 (Init_Predefined_Interface_Primitives): No need to inherit primitives in
28047 case of abstract interface types. They will be inherit by the objects
28048 implementing the interface.
28049 (Make_DT): There is no need to inherit the dispatch table of the
28050 ancestor interface for the elaboration of abstract interface types.
28051 The dispatch table will be inherited by the object implementing the
28052 interface.
28053 (Copy_Secondary_DTs): Add documentation.
28054 (Validate_Position): Improve this static check in case of
28055 aliased subprograms because aliased subprograms must have
28056 the same position.
28057 (Init_Predefined_Interface_Primitives): New subprogram that initializes
28058 the entries associated with predefined primitives of all the secondary
28059 dispatch tables.
28060 (Build_Anonymous_Access_Type): Removed.
28061 (Expand_Interface_Actuals): With the previous cleanup there is no need
28062 to build an anonymous access type. This allows further cleanup in the
28063 code generated by the expander.
28064 (Expand_Interface_Conversion): If the actual is an access type then
28065 build an internal function to handle the displacement. If the actual
28066 is null this function returns null because no displacement is
28067 required; otherwise performs a type conversion that will be
28068 expanded in the code that returns the value of the displaced actual.
28069 (Expand_Interface_Actuals): Avoid the generation of unnecessary type
28070 conversions that have no effect in the generated code because no
28071 displacement is required. Code cleanup; use local variables to
28072 avoid repeated calls to the subprogram directly_designated_type().
28073
28074 * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
28075 Classify the primitive operations used in dispatching selects as
28076 predefined.
28077 (Implements_Limited_Interface): Determine whether some type either
28078 directly implements a limited interface or extends a type that
28079 implements a limited interface.
28080 (Build_Task_Image_Function): Change Subtype_Mark to Result_Definition.
28081 (Expand_Subtype_From_Expr): Do not build actual subtype if the
28082 expression is limited.
28083 (Find_Interface_Tag): Add code to handle class-wide types and
28084 entities from the limited-view.
28085
28086 * rtsfind.ads: Add entries in RE_Id and RE_Unit_Table for
28087 Get_Entry_Index, Get_Prim_Op_Kind, POK_Function, POK_Procedure,
28088 POK_Protected_Entry, POK_Protected_Function, POK_Protected_Procedure,
28089 POK_Task_Entry, POK_Task_Procedure, Prim_Op_Kind, Set_Entry_Index,
28090 Set_Prim_Op_Kind.
28091
28092 * sem_ch9.adb (Analyze_Triggering_Alternative): Check for legal type
28093 of procedure name or prefix that appears as a trigger in a triggering
28094 alternative.
28095
28096 * uintp.ads: Introduce constants Uint_11 and Uint_13.
28097
280982005-09-01 Arnaud Charlet <charlet@adacore.com>
28099
28100 * s-tataat.adb, a-tasatt.adb:
28101 Replace calls to Defer/Undefer_Abortion by Defer/Undefer_Abort.
28102
28103 * s-tasini.ads, s-tasini.adb (Defer_Abortion, Undefer_Abortion): Moved
28104 these procedures to body, and renamed Abort_Defer, Abort_Undefer.
28105 (Get_Exc_Stack_Addr, Set_Exc_Stack_Addr): Removed, no
28106 longer used.
28107
281082005-09-01 Arnaud Charlet <charlet@adacore.com>
28109 Jose Ruiz <ruiz@adacore.com>
28110
da8f5fd9 28111 * s-taprop-vxworks.adb:
98b40956
AC
28112 Move with clauses outside Warnings Off now that dependent units are
28113 Preelaborate.
28114 (Initialize): Call Interrupt_Managemeent.Initialize to ensure proper
28115 initialization of this unit.
28116 (Specific): Add new procedures Initialize and Delete so that this
28117 package can be used for VxWorks 5.x and 6.x
28118 (ATCB_Key, ATCB_Key_Address): Moved to Specific package body to hide
28119 differences between VxWorks 5.x and 6.x
28120 Minor reformatting.
28121 (Timed_Delay): Remove calls to Defer/Undefer_Abort, now performed by
28122 caller.
28123 Use only Preelaborate-compatible constructs.
28124
28125 * s-tpopsp-vxworks.adb (ATBC_Key, ATCB_Key_Addr): Moved from
28126 Primitives.Operations.
28127 (Delete, Initialize): New procedures.
28128
28129 * s-osinte-vxworks.adb: Body used to handle differences between
28130 VxWorks 5.x and 6.x
28131 (kill, Set_Time_Slice, VX_FP_TASK): New functions.
28132
28133 * s-osinte-vxworks.ads: Minor reformatting.
28134 Add VxWworks 6.x specific functions (only called from VxWorks 6 files).
28135 (VX_FP_TASK): Now a function, to handle differences between VxWorks 5
28136 and 6.
28137 (Set_Time_Slice): New function, replacing kerneltimeSlice to share code
28138 between Vxworks 5 and 6.
28139 (taskLock, taskUnlock): Removeed, no longer used.
28140
28141 * adaint.c: The wait.h header is not located in the sys directory on
28142 VxWorks when using RTPs.
28143 (__gnat_set_env_value): Use setenv instead of putenv on VxWorks when
28144 using RTPs.
28145 (__gnat_dup): dup is available on Vxworks when using RTPs.
28146 (__gnat_dup2): dup2 is available on Vxworks when using RTPs.
28147
28148 * cal.c: Use the header time.h for Vxworks 6.0 when using RTPs.
28149
28150 * expect.c: The wait.h header is not located in the sys directory on
28151 VxWorks when using RTPs.
28152
281532005-09-01 Thomas Quinot <quinot@adacore.com>
28154
28155 * g-soccon-vms.adb: Renamed to g-soccon-vms.ads
28156
28157 * g-soccon-vms.ads: Renamed from g-soccon-vms.adb
28158
28159 * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
28160 g-soccon-darwin.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
28161 g-soccon-solaris.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
28162 g-soccon-freebsd.ads: Add new constants:
28163 IP_MULTICAST_IF
28164 SO_RCVTIMEO/SO_SNDTIMEO
28165 IOV_MAX
28166
da8f5fd9 28167 * gen-soccon.c:
98b40956
AC
28168 Move all target-specific file inclusions and macro definitions to
28169 gsocket.h, in order to ensure that any C code in socket.c will see a
28170 set of constants that is consistent with the contents of g-soccon.ads.
28171
28172 * gsocket.h: Code imported from gen-soccon.c:
28173 Move all target-specific file inclusions and macro definitions to
28174 gsocket.h, in order to ensure that any C code in socket.c will see a set
28175 of constants that is consistent with the contents of g-soccon.ads.
28176 This change also makes gen-soccon self-contained (removing dependencies
28177 upon GCC internal headers).
28178
28179 * g-socket.adb (Send_Vector): Make calls to Writev at most IOV_MAX
28180 iovecs at a time.
28181 (To_Inet_Addr): Now a procedure instead of a function, more efficient.
28182
28183 * socket.c: Minor reformatting.
28184
281852005-09-01 Ed Schonberg <schonberg@adacore.com>
28186 Thomas Quinot <quinot@adacore.com>
28187
28188 * fname-sf.adb, mlib-tgt.ads,
28189 back_end.adb, casing.adb, g-debpoo.adb, g-excact.adb, g-spipat.adb,
28190 g-spipat.ads, g-thread.adb, lib-list.adb, makeutl.adb, mlib.adb,
28191 osint.adb, par-ch10.adb, par-load.adb, prep.adb, prj.adb, prj-attr.ads,
28192 prj-env.ads, prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads,
28193 prj-makr.adb, prj-makr.ads, prj-pars.ads, prj-part.adb, prj-strt.adb,
28194 prj-tree.ads, prj-util.ads, sem_dist.adb, sinput-c.ads, sinput-l.ads,
28195 sinput-p.ads, styleg-c.ads, xr_tabls.adb, prj-attr-pm.ads,
28196 makegpr.adb: Remove redundant use_clauses.
28197
281982005-09-01 Arnaud Charlet <charlet@adacore.com>
28199
da8f5fd9
AJ
28200 * s-stoele.ads, s-stopoo.ads, s-stratt.ads, s-strops.ads, s-unstyp.ads,
28201 s-valboo.ads, s-valcha.ads, s-valdec.ads, s-valenu.ads, s-valint.ads,
28202 s-vallld.ads, s-vallli.ads, s-valllu.ads, s-valrea.ads, s-valuns.ads,
28203 s-valuti.ads, s-valwch.ads, s-veboop.ads, s-vector.ads, s-vercon.ads,
28204 s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-wchstw.ads, s-wchwts.ads,
28205 s-widboo.ads, s-widcha.ads, s-widenu.ads, s-widlli.ads, s-widllu.ads,
28206 s-widwch.ads, s-wwdcha.ads, s-wwdenu.ads, s-wwdwch.ads, system.ads,
28207 table.ads, types.ads, system-vms_64.ads, s-crtl-vms64.ads,
28208 s-addope.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
28209 s-vxwork-x86.ads, system-linux-ppc.ads, i-vxwork-x86.ads,
28210 a-numaux-darwin.ads, a-crbtgo.ads, a-crbtgk.ads, a-crbltr.ads,
28211 a-coprnu.ads, a-convec.ads, a-contai.ads, a-coinve.ads, a-cohata.ads,
28212 a-cohama.ads, a-cihama.ads, a-cidlli.ads, a-cdlili.ads,
28213 a-numaux-libc-x86.ads, a-numaux-vxworks.ads, system-linux-ia64.ads,
28214 system-freebsd-x86.ads, system-unixware.ads, system-lynxos-ppc.ads,
98b40956 28215 system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
da8f5fd9
AJ
28216 s-vxwork-alpha.ads, system-aix.ads, system-vxworks-sparcv9.ads,
28217 system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
28218 s-parame-hpux.ads, system-hpux.ads, system-vxworks-m68k.ads,
28219 s-vxwork-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
28220 s-vxwork-mips.ads, system-os2.ads, system-interix.ads,
28221 s-vxwork-ppc.ads, system-solaris-sparc.ads, s-vxwork-sparcv9.ads,
28222 system-solaris-sparcv9.ads, s-parame-vms.ads, system-vms.ads,
28223 s-osinte-mingw.ads, system-mingw.ads, s-parame-vms-restrict.ads,
28224 system-vms-zcx.ads, s-parame-ae653.ads, system-vxworks-ppc.ads,
28225 s-parame-vxworks.ads, system-vxworks-alpha.ads, interfac-vms.ads,
28226 a-numaux-x86.ads, a-astaco.ads, a-chahan.ads, a-charac.ads,
28227 a-chlat1.ads, a-chlat9.ads, a-colire.adb, a-colire.ads, a-comlin.ads,
98b40956
AC
28228 a-cwila1.ads, a-cwila9.ads, ada.ads, a-decima.ads, a-exextr.adb,
28229 a-filico.ads, a-finali.ads, a-interr.ads, a-ioexce.ads, a-dynpri.ads,
da8f5fd9
AJ
28230 a-ngcefu.ads, a-ngcefu.adb, a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.ads,
28231 a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-numaux.ads, a-numeri.ads,
28232 a-reatim.adb, a-stmaco.ads, a-storio.ads, a-strbou.ads, a-stream.ads,
28233 a-strfix.ads, a-string.ads, a-strmap.ads, a-strsea.ads, a-strsup.ads,
28234 a-strunb.ads, a-stunau.ads, a-stwibo.ads, a-stwifi.ads, a-stwima.ads,
28235 a-stwise.ads, a-stwisu.ads, a-stwiun.ads, a-swmwco.ads, a-textio.ads,
28236 csets.ads, debug.ads, dec.ads, g-curexc.ads, get_targ.ads,
28237 g-except.ads, system-linux-hppa.ads, a-chacon.ads, a-widcha.ads,
28238 a-zchara.ads, system-hpux-ia64.ads, a-ciorma.ads, a-coorma.ads,
28239 a-ciormu.ads, a-coormu.ads, a-rbtgso.ads, a-chzla1.ads, a-chzla9.ads,
28240 a-stzbou.ads, a-stzfix.ads, a-stzmap.ads, a-stzsea.ads, a-stzsup.ads,
28241 a-stzunb.ads, a-swunau.ads, a-szunau.ads, gnat.ads, g-regpat.ads,
28242 g-speche.ads, g-spitbo.ads, g-table.ads, g-tasloc.ads, g-trasym.ads,
28243 i-c.ads, i-cpoint.ads, i-cpp.ads, i-cstrin.ads, i-fortra.ads,
28244 interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads, i-os2thr.ads,
28245 i-vxwork.ads, output.ads, s-arit64.ads, s-atacco.ads, s-boarop.ads,
28246 s-casuti.ads, s-crtl.ads, s-exctab.ads, s-exnint.ads, s-exnllf.ads,
28247 s-exnlli.ads, s-expint.ads, s-explli.ads, s-expllu.ads, s-expmod.ads,
28248 s-expuns.ads, s-fatflt.ads, s-fatgen.ads, s-fatlfl.ads, s-fatllf.ads,
28249 s-fatsfl.ads, s-finimp.ads, s-finroo.ads, s-fore.ads, s-geveop.ads,
28250 s-htable.ads, s-imgbiu.ads, s-imgboo.ads, s-imgcha.ads, s-imgdec.ads,
28251 s-imgenu.ads, s-imgint.ads, s-imgllb.ads, s-imglld.ads, s-imglli.ads,
28252 s-imgllu.ads, s-imgllw.ads, s-imgrea.ads, s-imguns.ads, s-imgwch.ads,
28253 s-imgwiu.ads, s-io.ads, s-maccod.ads, s-mantis.ads, s-memcop.ads,
28254 s-pack03.ads, s-pack05.ads, s-pack06.ads, s-pack07.ads, s-pack09.ads,
28255 s-pack10.ads, s-pack11.ads, s-pack12.ads, s-pack13.ads, s-pack14.ads,
28256 s-pack15.ads, s-pack17.ads, s-pack18.ads, s-pack19.ads, s-pack20.ads,
28257 s-pack21.ads, s-pack22.ads, s-pack23.ads, s-pack24.ads, s-pack25.ads,
28258 s-pack26.ads, s-pack27.ads, s-pack28.ads, s-pack29.ads, s-pack30.ads,
28259 s-pack31.ads, s-pack33.ads, s-pack34.ads, s-pack35.ads, s-pack36.ads,
28260 s-pack37.ads, s-pack38.ads, s-pack39.ads, s-pack40.ads, s-pack41.ads,
28261 s-pack42.ads, s-pack43.ads, s-pack44.ads, s-pack45.ads, s-pack46.ads,
28262 s-pack47.ads, s-pack48.ads, s-pack49.ads, s-pack50.ads, s-pack51.ads,
28263 s-pack52.ads, s-pack53.ads, s-pack54.ads, s-pack55.ads, s-pack56.ads,
28264 s-pack57.ads, s-pack58.ads, s-pack59.ads, s-pack60.ads, s-pack61.ads,
28265 s-pack62.ads, s-pack63.ads, s-parame.ads, s-pooglo.ads, s-pooloc.ads,
28266 s-poosiz.ads, s-powtab.ads, s-purexc.ads, s-sopco3.ads, s-sopco4.ads,
98b40956
AC
28267 s-sopco5.ads: Minor reformatting: reindent pragma Pure/Preelaborate
28268 and always use the no parameter form for consistency.
28269
28270 * gnat-style.texi: Document rules about Preelaborate/Pure pragmas.
28271
282722005-09-01 Robert Dewar <dewar@adacore.com>
28273
28274 * binde.adb: Minor reformatting
28275 (Find_Elab_Order): Output warning if -p used with static elab order
28276
282772005-09-01 Robert Dewar <dewar@adacore.com>
28278
28279 * checks.adb (Check_Needed): New procedure, deals with removing checks
28280 based on analysis of short-circuited forms. Also generates warnings for
28281 improper use of non-short-circuited forms.
28282 Code clean ups.
28283
282842005-09-01 Robert Dewar <dewar@adacore.com>
28285
28286 * a-ztexio.adb, a-textio.adb, a-witeio.adb: Replace bad range checks
28287 with 'Valid tests.
28288
282892005-09-01 Robert Dewar <dewar@adacore.com>
28290
28291 * errout.ads, errout.adb (Fix Error_Msg_F): Fix implementation to meet
28292 spec.
28293 Implement new insertion char < (conditional warning)
28294 * errutil.adb, erroutc.adb: Implement new insertion char <
28295 (conditional warning).
28296 * sem_elab.adb, prj-dect.adb, erroutc.ads, err_vars.ads
28297 (Error_Msg_Warn): New variable for < insertion char.
28298 * prj-nmsc.adb: Implement new errout insertion char < (conditional
28299 warning).
28300 (Check_For_Source): Change value of Source_Id only after the current
28301 source has been dealt with.
28302
283032005-09-01 Robert Dewar <dewar@adacore.com>
28304 Doug Rupp <rupp@adacore.com>
28305
28306 * exp_attr.adb: Handle vax fpt for 'Valid attribute
28307 * exp_vfpt.ads, exp_vfpt.adb: (Expand_Vax_Valid): New procedure
28308 * s-vaflop-vms-alpha.adb, s-vaflop.ads, s-vaflop.adb
28309 (Valid_D, Valid_F, Valid_G): New functions
28310
283112005-09-01 Ed Schonberg <schonberg@adacore.com>
28312 Hristian Kirtchev <kirtchev@adacore.com>
28313 Javier Miranda <miranda@adacore.com>
28314
28315 * exp_ch6.adb (Expand_Call): If an actual is a function call rewritten
28316 from object notation, the original node is unanalyzed and carries no
28317 semantic information, so that accessiblity checks must be performed on
28318 the type of the actual itself.
28319 (Expand_N_Subprogram_Declaration): Change last actual parameter for
28320 compatibility with Build_Protected_Sub_Specification.
28321 (Check_Overriding_Inherited_Interfaces): Add suport to handle
28322 overloaded primitives.
28323 (Register_Interface_DT_Entry): Use the new name of the formal
28324 the the calls to Expand_Interface_Thunk
28325
28326 * exp_dbug.ads: Augment comments on encoding of protected types to
28327 include the generation of dispatching subprograms when the type
28328 implements at least one interface.
28329
28330 * lib.ads: Extend information in Load_Stack to include whether a given
28331 load comes from a Limited_With_Clause.
28332
28333 * lib-load.adb (From_Limited_With_Chain): New predicate to determine
28334 whether a potential circularity is harmless, because it includes units
28335 loaded through a limited_with clause. Extends previous treatment which
28336 did not handle properly arbitrary combinations of limited and
28337 non-limited clauses.
28338
283392005-09-01 Nicolas Setton <setton@adacore.com>
28340
28341 * exp_dbug.adb (Get_Encoded_Name): Fixed bug that caused biaised types
28342 to be encoded as typ___XBLU_lowerbound__upperbound instead of
28343 typ___XB_lowerbound__upperbound.
28344
283452005-09-01 Thomas Quinot <quinot@adacore.com>
28346
28347 * exp_dist.adb (Add_RACW_TypeCode, Add_RAS_TypeCode): Do not generate
28348 dummy access formal for RACW/RAS TypeCode TSS.
28349 (Build_TypeCode_Call): Do not generate dummy null access actual for
28350 calls to the TypeCode TSS.
28351
283522005-09-01 Ed Schonberg <schonberg@adacore.com>
28353
28354 * exp_intr.adb (Expand_Source_Name): For Enclosing_Entity, generate
28355 fully qualified name, to distinguish instances with the same local name.
28356
28357 * g-souinf.ads (Enclosing_Entity): Document that entity name is now
28358 fully qualified.
28359
283602005-09-01 Robert Dewar <dewar@adacore.com>
28361
28362 * exp_pakd.adb (Create_Packed_Array_Type): Properly handle very large
28363 packed arrays.
28364
283652005-09-01 Jerome Lambourg <lambourg@adacore.com>
28366
28367 * g-expect.adb (Non_Blocking_Spawn): Initialize the filters field to
28368 (Free): New deallocation procedure for filter elements
28369 (Close): Deallocate any existing filter for the concerned connection
28370
283712005-09-01 Laurent Pautet <pautet@adacore.com>
28372
28373 * g-pehage.ads, g-pehage.adb (Select_Char_Position): When no character
28374 position set is provided, we compute one in order to reduce the maximum
28375 length of the keys. This computation first selects a character
28376 position between 1 and the minimum length of the keys in order to
28377 avoid reducing one of the keys to an empty string.
28378 (Initialize, Compute): When the ratio V to K is too low, the algorithm
28379 does not converge. The initialization procedure now comes with a
28380 maximum number of iterations such that when exceeded, an exception is
28381 raised in Compute. The user can initialize this ratio to another value
28382 and try again
28383 Reformating and updated headers.
28384
283852005-09-01 Javier Miranda <miranda@adacore.com>
28386
28387 * itypes.ads, itypes.adb (Create_Null_Excluding_Itype): New subprogram
28388 that given an entity T creates and returns an Itype that duplicates the
28389 contents of T. The returned Itype has the null-exclusion
28390 attribute set to True, and its Etype attribute references T
28391 to keep the association between the two entities.
28392 Update copyright notice
28393
28394 * sem_aggr.adb (Check_Can_Never_Be_Null,
28395 Aggregate_Constraint_Checks, Resolve_Aggregate,
28396 Resolve_Array_Aggregate, Resolve_Record_Aggregate): Code cleanup.
28397
28398 * sem_ch5.adb (Analyze_Assignment): Code cleanup.
28399
284002005-09-01 Gary Dismukes <dismukes@adacore.com>
28401 Robert Dewar <dewar@adacore.com>
28402 Hristian Kirtchev <kirtchev@adacore.com>
28403
28404 * layout.adb (SO_Ref_From_Expr): Change Subtype_Mark to
28405 Result_Definition.
28406
28407 * par-ch6.adb (P_Subprogram): Handle parsing of Access_Definitions in
28408 function specs.
28409 Call Set_Result_Definition instead of Set_Subtype_Mark.
28410 (P_Subprogram_Specification): Add parsing of anonymous access result
28411 plus null exclusions. Call Set_Result_Definition instead of
28412 Set_Subtype_Mark.
28413
28414 * par-ch3.adb: Add support for LIMITED NEW for Ada 2005 AI-419
28415 (P_Access_Type_Definition): Add parsing for an anonymous access result
28416 subtype, plus parsing for null exclusions. Call Set_Result_Definition
28417 instead of Set_Subtype_Mark.
28418
28419 * sinfo.adb: Add support for LIMITED NEW for Ada 2005 AI-419
28420 (Null_Exclusion_Present): Allow this flag for N_Function_Specification.
28421 (Result_Definition): New function for N_Function_Specifications.
28422 (Subtype_Mark): No longer allowed for N_Access_Function_Definition and
28423 N_Function_Specification.
28424 (Set_Null_Exclusion_Present): Allow this flag for
28425 N_Function_Specification.
28426 (Set_Result_Definition): New procedure for N_Function_Specifications.
28427 (Set_Subtype_Mark): No longer allowed for N_Access_Function_Definition
28428 and N_Function_Specification.
28429
28430 * sinfo.ads: Update grammar rules for 9.7.2: Entry_Call_Alternative,
28431 Procedure_Or_Entry_Call; 9.7.4: Triggering_Statement.
28432 Add support for LIMITED NEW for Ada 2005 AI-419
28433 Update the syntax of PARAMETER_AND_RESULT_PROFILE to reflect the new
28434 syntax for anonymous access results.
28435 Replace Subtype_Mark field by Result_Definition in
28436 N_Function_Specification and N_Access_Definition specs.
28437 Add Null_Exclusion_Present to spec of N_Function_Specification.
28438 (Result_Definition): New function for N_Function_Specification and
28439 N_Access_Function_Definition.
28440 (Set_Result_Definition): New procedure for N_Function_Specification and
28441 N_Access_Function_Definition.
28442
28443 * sprint.adb (S_Print_Node_Actual): Change Subtype_Mark calls to
28444 Result_Definition for cases of N_Access_Function_Definition and
28445 N_Function_Specification.
28446 Print "not null" if Null_Exclusion_Present on N_Function_Specification.
28447
284482005-09-01 Vincent Celier <celier@adacore.com>
28449
28450 * lib-writ.adb: Update Copyright notice
28451 (Write_With_Lines): On platforms where file names are case-insensitive,
28452 record the file names in lower case.
28453 (Write_ALI): For D lines, on platforms where file names are
28454 case-insensitive, record the file names in lower case.
28455
284562005-09-01 Ed Schonberg <schonberg@adacore.com>
28457 Emmanuel Briot <briot@adacore.com>
28458
28459 * lib-xref.adb (Output_Overridden_Op): Display information on
28460 overridden operation.
28461
28462 * lib-xref.ads: Add documentation on overridden operations.
28463
28464 * ali.ads (Xref_Entity_Record): Add support for storing the overriding
28465 information.
28466
28467 * ali.adb (Get_Typeref): New subprogram. Adds support for parsing the
28468 overriding entity information.
28469
284702005-09-01 Vincent Celier <celier@adacore.com>
28471
28472 * mlib-prj.adb (Copy_Interface_Sources): Copy all interface sources,
28473 including those that are inherited.
28474
284752005-09-01 Robert Dewar <dewar@adacore.com>
28476
28477 * opt.ads, opt.adb: Add new switches Debug_Pragmas_Enabled[_Config]
28478
28479 * par-prag.adb: Implement new pragma Debug_Policy
28480
28481 * sem_prag.adb Implement new pragma Debug_Policy
28482 (Analyze_Pragma, case Pack): do not let pragma Pack override an explicit
28483 Component_Size attribute specification. Give warning for ignored pragma
28484 Pack.
28485
28486 * snames.h, snames.ads, snames.adb: Introduce entries in
28487 Preset_Names for Name_Disp_Asynchronous_Select,
28488 Name_Disp_Conditional_Select, Name_Disp_Get_Prim_Op_Kind,
28489 Name_Disp_Timed_Select.
28490 New pragma Debug_Policy
28491
28492 * switch-c.adb (Scan_Front_End_Switches): Set Ada 2005 mode
28493 explicitly.
28494 Switch -gnata also sets Debug_Pragmas_Enabled
28495
28496 * sem.adb, par.adb (Set_Opt_Config_Switch): Add parameter Main_Unit to
28497 handle an explicit -gnata when compiling predefined files.
28498
284992005-09-01 Vincent Celier <celier@adacore.com>
28500
28501 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not add the object
28502 directories of projects that have no Ada sources.
28503
285042005-09-01 Robert Dewar <dewar@adacore.com>
28505
28506 * scng.adb (Check_End_Of_Line): Count characters, rather than bytes
28507 (makes a difference for wide characters)
28508
da8f5fd9 28509 * widechar.adb, widechar.ads:
98b40956
AC
28510 Add Wide_Char_Byte_Count feature to count chars vs bytes
28511
285122005-09-01 Thomas Quinot <quinot@adacore.com>
28513 Ed Schonberg <schonberg@adacore.com>
28514 Robert Dewar <dewar@adacore.com>
28515
28516 * sem_attr.adb (Resolve_Attribute, case 'Address): For an illegal
28517 'Address attribute reference with an overloaded prefix, use the
28518 location of the prefix (not the location of the attribute reference) as
28519 the error location.
28520 (Analyze_Attribute, case 'Size): The name of an enumeration literal, or
28521 a function renaming thereof, is a valid prefix for 'Size (where it is
28522 intepreted as a function call).
28523 (Statically_Denotes_Entity): New predicate to determine whether the
28524 prefix of an array attribute can be considered static.
28525
28526 PR ada/9087
28527 (Eval_Attr): Fix failure to evaluate Component_Size for
28528 unconstrained arrays (resulted in wrong value in packed case, since
28529 back end cannot handle this case)
28530
285312005-09-01 Robert Dewar <dewar@adacore.com>
28532
28533 * sem_cat.adb (Check_Categorization_Dependencies): Add more detail to
28534 error msgs for most common cases.
28535 Use new errout insertion char < (conditional warning)
28536
285372005-09-01 Javier Miranda <miranda@adacore.com>
28538 Ed Schonberg <schonberg@adacore.com>
28539
28540 * sem_ch10.adb (In_Chain): Moved from the scope of a subprogram to
28541 become local to the whole package.
28542 (Install_Limited_Withed_Unit): Instead of unchaining real entities if
28543 the package was already analyzed the new algorithm "replaces" the
28544 real entities by the shadow ones. This is required to ensure that
28545 the order of these entities in the homonym chains does not change;
28546 otherwise we can have undefined references at linking time because
28547 in case of conflicts the external name of the entities will have
28548 a suffix that depends on the order of the entities in the chain.
28549 (Remove_Limited_With_Clause): Complementary code that completes the
28550 new algorithm and replaces the shadow entities by the real ones.
28551 (Install_Limited_Withed_Unit): When unchaining entities before the
28552 installation of the shadow entities, only regular entities of the
28553 public part must be taken into account. This is required to
28554 keep this routine in synch with the work done by Remove_Limited_
28555 With_Clause
28556 (Install_Limited_With_Clause): Introduce implicit limited_with_clause
28557 even if unit is analyzed, because the analysis of the unit is
28558 idempotent in any case, and the limited view of the unit may have to
28559 be installed for proper visibility.
28560 (Expand_Limited_With_Clause): Even if the unit in the implicit
28561 with_clause has been analyzed already, a limited view of the package
28562 must be built for the current context, if it does not exist yet.
28563
285642005-09-01 Ed Schonberg <schonberg@adacore.com>
28565 Javier Miranda <miranda@adacore.com>
28566 Gary Dismukes <dismukes@adacore.com>
28567
28568 * sem_ch12.adb (Instantiate_Subprogram_Body): When creating the
28569 defining entity for the instance body, make a new defining identifier
28570 rather than copying the entity of the spec, to prevent accidental
28571 sharing of the entity list.
28572 (Check_Private_View): When exchanging views of private types, build the
28573 list of exchanged views as a stack, to ensure that on exit the exchanges
28574 are undone in the proper order.
28575 (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
28576 Restore the compilation environment in case of instantiation_error.
28577 (Analyze_Generic_Subprogram_Declaration): Handle creation of type entity
28578 for an anonymous access result.
28579 (Instantiate_Generic_Subprogram): Subtype_Mark => Result_Definition
28580 (Formal_Entity): Handle properly the case of a formal package that
28581 denotes a generic package renaming.
28582
285832005-09-01 Thomas Quinot <quinot@adacore.com>
28584
28585 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Reject the
28586 clause if the array aggregate is surrounded by parentheses.
28587
285882005-09-01 Cyrille Comar <comar@adacore.com>
28589 Gary Dismukes <dismukes@adacore.com>
28590 Ed Schonberg <schonberg@adacore.com>
28591 Javier Miranda <miranda@adacore.com>
28592
28593 * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Go to the
28594 underlying type
28595 to check if a type is Constrained in cases related to code generation
28596 (rather than semantic checking) since otherwise we do not generate
28597 similar code for mutable private types depending if their
28598 discriminants are visible or not.
28599 (Check_Abstract_Overriding): Do not complain about failure to override
28600 the primitive operations used in dispatching selects since they will
28601 always be overriden at the freeze point of the type.
28602 (Access_Definition): Separate out handling for resetting the scope
28603 of an anonymous access function result type. Retrieve the scope
28604 of the associated function rather than using Current_Scope, which
28605 does not have a consistent value (depends on whether we're in the
28606 middle of analyzing formal parameters). Add ??? comment about
28607 finding a cleaner way to handle the special cases of scope setting.
28608 (Process_Incomplete_Dependents): A protected operation is never a
28609 dispatching operation (only its wrapper may be).
28610 (Build_Derived_Record_Type): In case of tagged private types that
28611 implement interfaces add derivation of predefined primitive
28612 operations.
28613 (Derive_Subprograms): Replace the Is_Interface_Derivation parameter
28614 by two parameters that are used in case of derivation from abstract
28615 interface types: No_Predefined_Prims is used to avoid the derivation
28616 of predefined primitives from the interface, and Predefined
28617 Prims_Only is used to complete the derivation predefined primitives
28618 in case of private tagged types implementing interfaces.
28619 Fix typo in comments
28620 (Find_Interface_In_Descendant): Protect the frontend against
28621 wrong code with large circularity chains.
28622 (Is_Private_Overriding): Add support for entities overriding interface
28623 subprograms. The test failed because Entities associated with overriden
28624 interface subprograms are always marked as hidden (and used to build
28625 the secondary dispatch table); in this case the overriden entity is
28626 available through the field abstract_interface_alias (cf. override_
28627 dispatching_operation)
28628 (Access_Definition): Set the scope of the type to Current_Scope for the
28629 case of a function with an anonymous access result type.
28630 (Access_Subprogram_Declaration): Handle creation of the type entity for
28631 an access-to-function type with an anonymous access result.
28632 (Check_Anonymous_Access_Types): Change Subtype_Mark to Result_Definition
28633 in handling for N_Access_Function_Definition.
28634 (Analyze_Subtype_Declaration): Modify the text of error message.
28635 (Derived_Type_Declaration): Modify the text of error message.
28636 (Process_Subtype): Modify the text of error message plus cleanup
28637 of one redundant error message.
28638 (Analyze_Component_Declaration): Code cleanup.
28639 (Analyze_Object_Declaration): Code cleanup.
28640 (Analyze_Subtype_Declaration): Propagate the null-exclusion
28641 attribute in case of access types. Code cleanup.
28642 (Array_Type_Declaration): Code cleanup.
28643 (Process_Discriminants): Create the new null-excluding itype
28644 if required. Code cleanup.
28645 (Process_Subtype): Create the new null-excluding itype if
28646 required. Code cleanup.
28647 (Build_Derived_Record_Type): Code cleanup to avoid calling
28648 twice the subprogram derive_subprograms in case of private
28649 types that implement interfaces. In this particular case the
28650 subprogram Complete_Subprograms_Derivation already does the
28651 job associated with the second call.
28652
6f7f72f9
EB
28653 * exp_strm.adb (Build_Elementary_Input_Call): Add an explicit
28654 conversion to the full view when generating an operation for a
28655 discriminant whose type may currently be private.
98b40956
AC
28656
286572005-09-01 Ed Schonberg <schonberg@adacore.com>
28658 Javier Miranda <miranda@adacore.com>
28659
28660 * sem_ch4.adb (Transform_Object_Operation): In a context off the form
28661 V (Obj.F), the rewriting does not involve the indexed component, but
28662 only the selected component itself.
28663 Do not apply the transformation if the analyzed node is an actual of a
28664 call to another subprogram.
28665 (Complete_Object_Operation): Retain the entity of the
28666 dispatching operation in the selector of the rewritten node. The
28667 entity will be used in the expansion of dispatching selects.
28668 (Analyze_One_Call): Improve location of the error message associated
28669 with interface.
28670 (Analyze_Selected_Component): No need to resolve prefix when it is a
28671 function call, resolution is done when parent node is resolved, as
28672 usual.
28673 (Analyze_One_Call): Add a flag to suppress analysis of the first actual,
28674 when attempting to resolve a call transformed from its object notation.
28675 (Try_Object_Operation, Transform_Object_Operastion): Avoid makind copies
28676 of the argument list for each interpretation of the operation.
28677 (Try_Object_Operation): The designated type of an access parameter may
28678 be an incomplete type obtained through a limited_with clause, in which
28679 case the primitive operations of the type are retrieved from its full
28680 view.
28681 (Analyze_Call): If this is an indirect call, and the return type of the
28682 access_to_subprogram is incomplete, use its full view if available.
28683
286842005-09-01 Javier Miranda <miranda@adacore.com>
28685 Gary Dismukes <dismukes@adacore.com>
28686
28687 * sem_ch6.ads, sem_ch6.adb (Check_Conformance): In case of anonymous
28688 access types the null-exclusion and access-to-constant attributes must
28689 also match.
28690 (Analyze_Return_Statement): When the result type is an anonymous access
28691 type, apply a conversion of the return expression to the access type
28692 to ensure that appropriate accessibility checks are performed.
28693 (Analyze_Return_Type): For the case of an anonymous access result type,
28694 generate the Itype and set Is_Local_Anonymous_Access on the type.
28695 Add ??? placeholder for check to disallow returning a limited object
28696 in Ada 2005 unless it's an aggregate or a result of a function call.
28697 Change calls from Subtype_Mark to Result_Definition.
28698 (Analyze_Subprogram_Body): Change formal Subtype_Mark to
28699 Result_Definition in call to Make_Function_Specification.
28700 (Build_Body_To_Inline): Change Set_Subtype_Mark to
28701 Set_Result_Definition.
28702 (Make_Inequality_Operator): Change formal Subtype_Mark to
28703 Result_Definition in call to Make_Function_Specification.
28704 (Process_Formals): Create the new null-excluding itype if required.
28705 (New_Overloaded_Entity): For an entity overriding an interface primitive
28706 check if the entity also covers other abstract subprograms in the same
28707 scope. This is required to handle the general case, that is, overriding
28708 other interface primitives and overriding abstract subprograms inherited
28709 from some abstract ancestor type.
28710 (New_Overloaded_Entity): For an overriding entity that comes from
28711 source, note the operation that it overrides.
28712 (Check_Conformance, Type_Conformant): Addition of one new formal
28713 to skip controlling formals in the analysis. This is used to
28714 handle overloading of abstract interfaces.
28715 (Base_Types_Match): Add missing case for types imported from
28716 limited-with clauses
28717 (New_Overloaded_Entity): Add barrier to protect the use of
28718 the "alias" attribute.
28719
287202005-09-01 Ed Schonberg <schonberg@adacore.com>
28721
28722 * sem_ch8.adb (Analyze_Renamed_Entry): For a renaming_as_declaration,
28723 verify that the procedure and the entry are mode conformant.
28724 (Analyze_Subprogram_Renaming): Emit a warning if an operator is renamed
28725 as a different operator, which is often a cut-and-paste error.
28726
287272005-09-01 Javier Miranda <miranda@adacore.com>
28728 Ed Schonberg <schonberg@adacore.com>
28729
28730 * sem_disp.adb (Check_Controlling_Formals): Anonymous access types
28731 used in controlling parameters exclude null because it is necessary to
28732 read the tag to dispatch, and null has no tag.
28733 (Override_Dispatching_Operation): If the previous operation is inherited
28734 from an interface, it becomes hidden and does not participate in later
28735 name resolution.
28736
287372005-09-01 Javier Miranda <miranda@adacore.com>
28738 Ed Schonberg <schonberg@adacore.com>
28739 Gary Dismukes <dismukes@adacore.com>
28740
28741 * sem_res.adb (Resolve_Membership_Op): In case of the membership test
28742 "Iface_CW_Typ in T'Class" we have nothing else to do in the frontend;
28743 the expander will generate the corresponding run-time check to evaluate
28744 the expression.
28745 (Resolve_Call): Check for legal type of procedure name or prefix that
28746 appears as a trigger in a triggering alternative.
28747 (Valid_Conversion): If expression is ambiguous and the context involves
28748 an extension of System, remove System.Address interpretations.
28749 (Resolve_Qualified_Expression): Reject the case of a specific-type
28750 qualification applied to a class-wide argument. Enhance comment
28751 to explain checking of Original_Node.
28752 (Resolve_Type_Conversion): The location of the error message was not
28753 general enough to handle the general case and hence it has been removed.
28754 In addition, this patch improves the text of the message.
28755 (Resolve_Type_Conversion): Add missing support for access to interface
28756 types.
28757 (Resolve_Type_Conversion): If the target is a class-wide interface type,
28758 do not expand if the expression is the actual in a call, because proper
28759 expansion will take place when the call itself is expanded.
28760 (Resolve_Allocator): If the context is an unchecked conversion, the
28761 allocator inherits its storage pool, if any, from the target type of
28762 the conversion.
28763
287642005-09-01 Ed Schonberg <schonberg@adacore.com>
28765 Javier Miranda <miranda@adacore.com>
28766
28767 * sem_type.adb (Add_One_Interp): If a candidate operation is an
28768 inherited interface operation that has an implementation, use the
28769 implementation to avoid spurious ambiguities.
28770 (Interface_Present_In_Ancestor): In case of concurrent types we can't
28771 use the Corresponding_Record_Typ attribute to look for the interface
28772 because it is set by the expander (and hence it is not always
28773 available). For this reason we traverse the list of interfaces
28774 (available in the parent of the concurrent type).
28775 (Interface_Present_In_Ancestor): Handle entities from the limited view
28776
287772005-09-01 Ed Schonberg <schonberg@adacore.com>
28778
28779 * sem_util.ads, sem_util.adb (Gather_Components): Omit interface tags
28780 from the list of required components.
28781 (Is_Controlling_Limited_Procedure): Determine whether an entity is a
28782 primitive procedure of a limited interface with a controlling first
28783 parameter.
28784 (Is_Renamed_Entry): Determine whether an entry is a procedure renaming
28785 of an entry.
28786 (Safe_To_Capture_Value): A value (such as non_null) is not safe to
28787 capture if it is generated in the second operand of a short-circuit
28788 operation.
28789 Do not capture values for variables with address clauses.
28790 (Is_Object_Reference): Treat a function call as an object reference only
28791 if its type is not Standard_Void_Type.
28792
287932005-09-01 Ed Schonberg <schonberg@adacore.com>
28794
28795 * sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied
28796 to a variable that is statically known to be constant.
28797
287982005-09-01 Geert Bosch <bosch@adacore.com>
28799 Robert Dewar <dewar@adacore.com>
28800
28801 * ttypef.ads (VAXDF_Safe_First): Use correct value for constant.
28802 (VAXGF_Safe_First): Idem.
28803
288042005-09-01 Robert Dewar <dewar@adacore.com>
28805 Arnaud Charlet <charlet@adacore.com>
28806
28807 * g-dirope.ads: Minor reformatting
28808 Document that bounds of result of Base_Name match the input index
28809 positions.
28810 Add documentation on environment variable syntax for Expand_Path
28811
28812 * gnat_ugn.texi: Update documentation to include mention of -m switches
28813 Document new treatment of wide characters in max line length
28814 style check.
28815 Remove -gnatL/-gnatZ switches, no longer used.
28816 Add note on pragmas Assertion_Policy and Debug_Policy in discussion
28817 of -gnata switch.
28818
28819 * gnat_rm.texi: Add doc for two argument form of pragma
28820 Float_Representation.
28821 Add documentation for pragma No_Strict_Aliasing
28822 Add note that explicit component clause overrides pragma Pack.
28823 Add documentation of pragma Debug_Policy
28824
288252005-09-01 Matthew Heaney <heaney@adacore.com>
28826
da8f5fd9
AJ
28827 * a-cihase.adb, a-coorse.ads, a-coorse.adb, a-cohama.adb,
28828 a-ciorse.ads, a-ciorse.adb, a-cihama.adb, a-cdlili.adb,
28829 a-cidlli.adb, a-chtgop.adb, a-cihase.adb, a-cihase.ads,
98b40956
AC
28830 a-cohase.adb, a-cohase.adb, a-cohase.ads: Synchronized with latest
28831 draft (Draft 13, August 2005) of Ada Amendment 1.
28832
288332005-09-01 Arnaud Charlet <charlet@adacore.com>
28834
28835 * Makefile.in: Adjust the libgnat target pairs for Xscale to ARM.
28836 Note that the platform-specific version of g-soccon.ads for VMS is now
28837 named g-soccon-vms.ads (it was previously g-soccon-vms.adb, although it
28838 really is a package spec).
28839 Replace s-taspri-linux.ads by s-taspri-posix.ads
28840 Remove references to s-mastop-x86.adb
28841
28842 * system-vxworks-xscale.ads: Removed, no longer used.
28843 * s-vxwork-xscale.ads: Removed, no longer used.
28844
288452005-09-01 Robert Dewar <dewar@adacore.com>
28846
28847 * a-dirval-mingw.adb, a-direct.adb, a-coinve.adb,
28848 g-dynhta.adb, g-dynhta.ads, cstand.adb, exp_smem.adb, g-debuti.ads,
28849 g-dirope.adb, g-table.adb, lib-sort.adb, sem_maps.adb,
28850 exp_fixd.adb, exp_aggr.adb, a-intnam-mingw.ads, a-intnam-vxworks.ads,
28851 g-arrspl.adb, g-arrspl.ads, g-awk.adb, g-awk.ads, g-boubuf.ads,
28852 g-boubuf.ads, g-boubuf.ads, g-bubsor.ads, g-bubsor.adb, g-busora.adb,
28853 g-busora.ads, g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
28854 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads, g-cgi.adb,
28855 g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads, g-cgideb.adb, g-cgideb.ads,
28856 g-comlin.adb, g-comver.ads, g-semaph.ads, g-socthi.ads,
28857 sem_ch7.adb, a-direio.adb, a-caldel.ads, i-cstrea-vms.adb,
28858 a-ztedit.adb, a-ztenau.adb, g-socthi-vms.adb, g-socthi-vms.ads,
28859 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.ads,
28860 a-intnam-irix.ads, a-intnam-irix.ads, a-intnam-hpux.ads,
28861 a-intnam-os2.ads, a-intnam-os2.ads, a-caldel-vms.adb, a-calend-vms.adb,
28862 a-calend-vms.ads, g-heasor.adb, g-heasor.ads, g-hesora.adb,
28863 g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb, g-htable.ads,
28864 g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads, g-locfil.ads,
28865 g-memdum.adb, g-memdum.ads, g-traceb.adb, g-traceb.ads, i-cobol.adb,
28866 i-cobol.ads, i-cstrea.ads, i-cstrin.adb, a-wtedit.adb, a-tifiio.adb,
28867 a-wtenau.adb, a-wtenau.adb, a-teioed.adb: Minor reformatting
28868
332a1c2e
AC
288692005-08-29 Arnaud Charlet <charlet@adacore.com>
28870
28871 PR ada/23187
28872 * adaint.c
da8f5fd9 28873 (GNAT_MAXPATH_LEN): Use default value if MAXPATHLEN is undefined.
332a1c2e
AC
28874
288752005-08-29 Arnaud Charlet <charlet@adacore.com>
28876 Doug Rupp <rupp@adacore.com>
28877
28878 * s-stalib.adb: Add missing pragma Warnings (On) to reenable Warnings
28879 when needed.
28880 (Inside_Elab_Final_Code): Moved to init.c to avoid having to keep
28881 this code in the GNAT run-time.
28882
28883 * decl.c, fe.h: Replace GCC_ZCX by Back_End_Exceptions.
28884
28885 PR ada/21053
28886 * init.c (__gnat_error_handler [many]): Mark "msg" as const
28887 (__gnat_error_handler [HPUX]): Mark siginfo parameter as unused
28888
28889 (__gnat_inside_elab_final_code): Moved here from
28890 Standard_Library and only defined for the compiler.
28891 __gnat_error_handler [VMS]: Adjust sigargs to account for PC & PSL.
28892 (__gnat_inum_to_ivec): Do not define this function on VxWorks when
28893 using RTPs because directly vectored Interrupt routines are not
28894 supported on this configuration.
28895 (getpid): Do not redefine this function on VxWorks when using RTPs
28896 because this primitive is well supported by the RTP libraries.
28897 (copy_msg): Correct the code that checks for buffer overflow.
28898 Discovered during code reading.
28899
289002005-08-29 Olivier Hainque <hainque@adacore.com>
28901
28902 * decl.c (gnat_to_gnu_entity) <E_Variable>: When allocating storage for
28903 a library level mutable variable with an initializer, tell
28904 build_allocator to ignore the initializer's size. It may not be large
28905 enough for all the values that might be assigned to the variable later
28906 on.
28907
289082005-08-29 Arnaud Charlet <charlet@adacore.com>
28909 Eric Botcazou <ebotcazou@adacore.com>
28910
28911 * trans.c: Protect < in error msg with quote
28912 Replace GCC_ZCX by Back_End_Exceptions.
28913 (addressable_p) <COMPONENT_REF>: Also return 1 if the field
28914 has been sufficiently aligned in the record.
28915
35fd1d77
JW
289162005-08-15 James E. Wilson <wilson@specifix.com>
28917
28918 * system-linux-alpha.ads: Change ia64 to alpha.
28919
b15341b8
KH
289202005-08-01 Kazu Hirata <kazu@codesourcery.com>
28921
28922 * decl.c, utils.c: Fix comment typos.
28923
9e4eb559
KH
289242005-07-29 Kazu Hirata <kazu@codesourcery.com>
28925
28926 * decl.c, init.c, initialize.c: Fix comment typos.
28927
4038c495
GB
289282005-07-20 Giovanni Bajo <giovannibajo@libero.it>
28929
28930 Make CONSTRUCTOR use VEC to store initializers.
28931 * decl.c (gnat_to_gnu_entity): Update to cope with VEC in
28932 CONSTRUCTOR_ELTS.
28933 * trans.c (extract_values): Likewise.
28934 * utils.c (convert, remove_conversions): Likewise.
28935 * utils2.c (contains_save_expr_p, build_binary_op, build_unary_op,
28936 gnat_build_constructor): Likewise.
28937
f685a2e6
AP
289382005-07-09 Andrew Pinski <pinskia@physics.uc.edu>
28939
28940 * decl.c (components_to_record): Use DECL_FCONTEXT instead of
28941 DECL_SECTION_NAME.
28942 (compare_field_bitpos): Likewise.
28943
7c6ef73e
AP
289442005-07-09 Andrew Pinski <pinskia@physics.uc.edu>
28945
28946 * utils.c (create_var_decl): Only set DECL_COMMON on
28947 VAR_DECLs. Only set SET_DECL_ASSEMBLER_NAME on
28948 VAR_OR_FUNCTION_DECL_P.
28949
820cc88f 289502005-07-08 Daniel Berlin <dberlin@dberlin.org>
da8f5fd9 28951
820cc88f
DB
28952 * utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is
28953 removed.
28954
1a9cb483
AC
289552005-07-07 Pascal Obry <obry@adacore.com>
28956
28957 * g-socthi-mingw.adb (C_Inet_Addr): New body used to convert the
28958 returned type on Windows.
28959
28960 * g-socthi-mingw.ads (C_Inet_Addr): Remove pragma Import for this
28961 routine.
28962
28963 * g-socket.adb (Inet_Addr): Check for empty Image and raises an
28964 exception in this case.
28965 Simplify the code as "Image (Image'Range)" = "Image".
28966
289672005-07-07 Vincent Celier <celier@adacore.com>
28968
28969 * bindgen.adb (Gen_Output_File_C): When switch -a was specified, put
28970 the destructor/constructor attributes for <lib>final/<lib>init.
28971
28972 * gnatbind.adb (Gnatbind): Allow -a to be used in conjunction with -C
28973
289742005-07-07 Eric Botcazou <ebotcazou@adacore.com>
28975
28976 * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not strip the padding
28977 type if the parameter is not passed by copy but reference by default.
28978
289792005-07-07 Javier Miranda <miranda@adacore.com>
28980
28981 * exp_ch3.adb (Build_Record_Init_Proc/Freeze_Record_Type):
28982 Reimplementation of the support for abstract interface types in order
28983 to leave the code more clear and easy to maintain.
28984
28985 * exp_ch6.adb (Freeze_Subprogram): Reimplementation of the support for
28986 abstract interface types in order to leave the code clearer and easier
28987 to maintain.
28988
28989 * exp_disp.ads, exp_disp.adb (Fill_DT_Entry): Part of its functionality
28990 is now implemented by the new subprogram Fill_Secondary_DT_Entry.
28991 (Fill_Secondary_DT_Entry): Generate the code necessary to fill the
28992 appropriate entry of the secondary dispatch table.
28993 (Make_DT): Add code to inherit the secondary dispatch tables of
28994 the ancestors.
28995
28996 * exp_util.adb (Find_Interface_Tag/Find_Interface_ADT): Instead of
28997 implementing both functionalities by means of a common routine, each
28998 routine has its own code.
28999
290002005-07-07 Javier Miranda <miranda@adacore.com>
29001
29002 * freeze.adb (Freeze_Entity): Check wrong uses of tag incomplete types.
29003
29004 * par-ch3.adb (P_Type_Declaration): Give support to tagged incomplete
29005 types:
29006 --
29007 type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
29008 --
29009
29010 * sem_attr.adb (Check_Not_Incomplete_Type): Additional checks for wrong
29011 use of tag incomplete types.
29012
29013 * sem_ch3.adb (Analyze_Incomplete_Type): Add mininum decoration to
29014 give support to tagged incomplete types.
29015
29016 * sem_ch5.adb (Analyze_Case_Statement): In generated code, if the
29017 expression is a discriminant reference and its type is private, as can
29018 happen within a stream operation for a mutable record, use the full
29019 view of the type to resolve the case alternatives.
29020 (Analyze_Assignment): Check wrong dereference of incomplete types.
29021
29022 * sem_ch6.adb (Process_Formals): Allow the use of tagged incomplete
29023 types.
29024
29025 * sem_res.adb (Resolve_Explicit_Dereference): Allow the use of tagged
29026 incomplete types.
29027
29028 * sinfo.adb (Taggged_Present/Set_Taggged_Present): Applicable to
29029 N_Incomplete_Type_Declaration nodes.
29030
29031 * sinfo.ads (N_Incomplete_Type_Declaration): Addition of attribute
29032 Tag_Present to give support to tagged incomplete types:
29033 --
29034 type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
29035 --
29036
290372005-07-07 Olivier Hainque <hainque@adacore.com>
29038
29039 PR ada/22301
1a9cb483
AC
29040 * raise.c: Only include unwind.h if IN_RTS, and provide dummy type
29041 definitions for the Unwind wrappers in the compiler case.
29042
290432005-07-07 Ed Schonberg <schonberg@adacore.com>
29044 Javier Miranda <miranda@adacore.com>
29045
29046 * par-load.adb (Load): If a child unit is loaded through a limited_with
29047 clause, each parent must be loaded as a limited unit as well.
29048
29049 * sem_ch10.adb (Previous_Withed_Unit): Better name for
29050 Check_Withed_Unit. Return true if there is a previous with_clause for
29051 this unit, whether limited or not.
29052 (Expand_Limited_With_Clause): Do not generate a limited_with_clause on
29053 the current unit.
29054 (Is_Visible_Through_Renamings): New local subprogram of install_limited
29055 _withed_unit that checks if some package installed through normal with
29056 clauses has a renaming declaration of package whose limited-view is
29057 ready to be installed. This enforces the check of the rule 10.1.2 (21/2)
29058 of the current Draft document for Ada 2005.
29059 (Analyze_Context): Complete the list of compilation units that
29060 are allowed to contain limited-with clauses. It also contains
29061 checks that were previously done by Install_Limited_Context_Clauses.
29062 This makes the code more clear and easy to maintain.
29063 (Expand_Limited_With_Clause) It is now a local subprogram of
29064 Install_Limited_Context_Clauses, and contains the code that adds
29065 the implicit limited-with clauses for parents of child units.
29066 This functionality was prevously done by Analyze_Context.
29067
29068 * sem_ch4.adb (Analyze_Selected_Component): Check wrong use of
29069 incomplete type.
29070
29071 * sem_ch7.adb (Analyze_Package_Declaration): Check if the package has
29072 been erroneously named in a limited-with clause of its own context.
29073 In this case the error has been previously notified by Analyze_Context.
29074
290752005-07-07 Ed Schonberg <schonberg@adacore.com>
29076
29077 * sem_ch8.adb (Find_Direct_Name): Handle properly the case of a
29078 generic package that contains local declarations with the same name.
29079 (Analyze_Object_Renaming): Check wrong renaming of incomplete type.
29080
290812005-07-07 Bernard Banner <banner@adacore.com>
29082
29083 * tracebak.c: Refine tracebacks to use Unwind_Backtrace scheme on
29084 ia64 platform only on platforms that you the GCC unwind library
29085 rather than the system unwind library.
29086
290872005-07-07 Thomas Quinot <quinot@adacore.com>
29088
29089 * expect.c: Minor reformatting
29090
290912005-07-07 Sergey Rybin <rybin@adacore.com>
29092
29093 * vms_data.ads: Add VMS qualifiers for new gnatpp switch
29094 --no-separate-is
29095
29096 * gnat_ugn.texi: Add description for new gnatpp option
29097 (--no-separate-is)
29098
7d300a99
AC
290992005-07-04 Thomas Quinot <quinot@adacore.com>
29100
29101 * g-expect-vms.adb, g-expect.ads, g-expect.adb
29102 (Get_Command_Output): New subprogram to launch a process and get its
29103 standard output as a string.
29104
291052005-07-04 Eric Botcazou <ebotcazou@adacore.com>
9bae2797 29106 Olivier Hainque <hainque@adacore.com>
7d300a99
AC
29107
29108 * s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to
29109 fetch a code-range descriptor associated with the machine state. On
29110 failure set the machine state's PC to 0; on success, pass the
29111 descriptor to exc_virtual_unwind.
29112
29113 * init.c (Tru64 section): New function __gnat_set_code_loc.
29114
291152005-07-04 Vincent Celier <celier@adacore.com>
29116
da8f5fd9
AJ
29117 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
29118 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
7d300a99
AC
29119 mlib-tgt-mingw.adb, mlib-tgt-darwin.adb (Build_Dynamic_Library):
29120 Remove all auto-initialization code, as this is now done through the
29121 constructor mechanism.
29122
29123 * adaint.h, adaint.c (__gnat_binder_supports_auto_init,
29124 __gnat_sals_init_using_constructors): New functions.
29125
29126 * bindgen.adb (Gen_Output_File_Ada): Generate pragmas
29127 Linker_Constructor and Linker_Destructor when switch -a is used.
29128
29129 * bindusg.adb: Add line for new switch -a
29130
29131 * gnatbind.adb (Gnatbind_Supports_Auto_Init): New Boolean function
29132 (Gnatbind): When switch -a is used, check if it is allowed
29133
29134 * switch-b.adb (Scan_Binder_Switches): Process new switch -a
29135
291362005-07-04 Joel Brobecker <brobecker@adacore.com>
29137
29138 * a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.
29139 This prevents us from hitting a limitation during the debug info
29140 generation when using stabs.
29141 (Prims_Ptr): Likewise.
29142
291432005-07-04 Gary Dismukes <dismukes@adacore.com>
29144 Ed Schonberg <schonberg@adacore.com>
29145 Javier Miranda <miranda@adacore.com>
29146
29147 * checks.adb (Null_Exclusion_Static_Checks): In the case of
29148 N_Object_Declaration, only perform the checks if the Object_Definition
29149 is not an Access_Definition.
29150
6f7f72f9
EB
29151 * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
29152 where the parent of an the access definition is an N_Object_Declaration
29153 when determining the Associated_Node_For_Itype and scope of an
29154 anonymous access-to-subprogram type.
7d300a99
AC
29155
29156 * exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the
29157 Corresponding_Spec on the body created for a null procedure. Add ???
29158 comment. Remove New_Copy_Tree call on body argument to
29159 Set_Body_To_Inline.
29160
29161 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): For an out parameter with
29162 discriminants, use the type of the actual as well, because the
29163 discriminants may be read by the called subprogram.
29164
29165 * sem_ch3.adb (Access_Type_Declaration): If the designated type is an
29166 access type we do not need to handle non-limited views.
29167 (Build_Derived_Record_Type): Additional check to check that in case of
29168 private types, interfaces are only allowed in private extensions.
29169
291702005-07-04 Eric Botcazou <ebotcazou@adacore.com>
29171
29172 * decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
29173 <Pragma_Linker_Destructor>: Likewise.
29174
29175 * einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
29176 Pragma_Linker_Destructor.
29177
29178 * gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
29179 ATTR_LINK_DESTRUCTOR.
29180 (static_ctors, static_dtors): New variables.
29181
29182 * misc.c (gnat_expand_body): Output current function as constructor
29183 and destructor if requested.
29184
29185 * par-prag.adb: Add processing for pragma Linker_Constructor and
29186 Linker_Destructor.
29187
29188 * sem_prag.adb (Find_Unique_Parameterless_Procedure): New function
29189 extracted from Check_Interrupt_Or_Attach_Handler.
29190 (Check_Interrupt_Or_Attach_Handler): Invoke it.
29191 Implement pragma Linker_Constructor and Linker_Destructor with the
29192 help of Find_Unique_Parameterless_Procedure.
29193 Replace Name_Alias with Name_Target for pragma Linker_Alias.
29194
da8f5fd9 29195 * snames.h, snames.ads, snames.adb:
7d300a99
AC
29196 Add Name_Linker_Constructor and Name_Linker_Destructor.
29197 Add Pragma_Linker_Constructor and Pragma_Linker_Destructor.
29198 * snames.adb: Remove Name_Alias.
29199
29200 * trans.c: Include cgraph.h.
29201 (build_global_cdtor): New function.
29202 (Compilation_Unit_to_gnu): Build global constructor and destructor if
29203 needed.
29204 (tree_transform) <N_Identifier>: Substitute renaming of view-conversions
29205 of objects too.
29206 (addressable_p) <COMPONENT_REF>: Unconditionally test
29207 DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.
29208
29209 * utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
29210 variable if it is external.
29211
29212 (static_ctors, static_dtors): New global variables.
29213 (process_attributes) <ATTR_LINK_CONSTRUCTOR>: New case.
29214 <ATTR_LINK_DESTRUCTOR>: Likewise.
29215 (end_subprog_body): Chain function as constructor and destructor
29216 if requested.
29217
29218 * exp_util.adb (Force_Evaluation): Unconditionally invoke
29219 Remove_Side_Effects with Variable_Ref set to true.
29220 (Remove_Side_Effects): Handle scalar types first. Use a renaming
29221 for non-scalar types even if Variable_Ref is true and for class-wide
29222 expressions.
29223
292242005-07-04 Ed Schonberg <schonberg@adacore.com>
29225
29226 * exp_attr.adb (Mod): Evaluate condition expression with checks off,
29227 to prevent spurious warnings.
29228
292292005-07-04 Thomas Quinot <quinot@adacore.com>
29230
29231 * exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for
29232 Itypes. Itypes are really unexpected there.
29233 (Build_TypeCode_Function): Generalise special processing for Itypes to
29234 handle the case of numeric implicit base types as well as enumerated
29235 ones.
29236
292372005-07-04 Ed Schonberg <schonberg@adacore.com>
29238
29239 * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
29240 controlled, indicate the expected type of the dereference that is
29241 created for the call to Deep_Finalize, to prevent spurious errors when
29242 the designated type is private and completed with a derivation from
29243 another private type.
29244
292452005-07-04 Vincent Celier <celier@adacore.com>
29246
29247 * make.adb (Change_To_Object_Directory): When unable to change the
29248 current dir to the object directory, output the full path of the
29249 directory.
29250
292512005-07-04 Matthew Gingell <gingell@adacore.com>
29252
29253 * Makefile.in: Replace indepsw-linux.adb by indepsw-gnu.adb
29254
29255 * indepsw-linux.adb: Replace by...
29256
29257 * indepsw-gnu.adb: ...this new file
29258
292592005-07-04 Vincent Celier <celier@adacore.com>
29260
29261 * mlib-prj.adb (Auto_Initialize): New constant String
29262 (SALs_Use_Constructors): New Boolean function
29263 (Build_Library): Call gnatbind with Auto_Initialize switch when
29264 SALs_Use_Constructors returns True.
29265
29266 * mlib-tgt.ads: Minor reformatting
29267
29268 * mlib-utl.ads: Minor reformatting
29269
29270 * opt.ads: (Use_Pragma_Linker_Constructor): New Boolean flag
29271
292722005-07-04 Ed Schonberg <schonberg@adacore.com>
29273
29274 * par-ch9.adb (P_Task, P_Protected): Indicate that single task and
29275 single protected declarations can have an interface list.
29276 (P_Entry_Declaration): Add handler for Error_Resync, which can be raised
29277 with seriously malformed entry declarations, and lead to compilation
29278 abandoned messages.
29279
292802005-07-04 Javier Miranda <miranda@adacore.com>
29281
29282 * par-load.adb: Load the context items in two rounds.
29283
292842005-07-04 Robert Dewar <dewar@adacore.com>
29285
29286 * scng.adb: Do not consider Mod used as an attribute to be a keyword
29287
292882005-07-04 Ed Schonberg <schonberg@adacore.com>
29289 Javier Miranda <miranda@adacore.com>
29290
29291 * sem_ch10.adb (Build_Limited_Views): A type declared with a private
29292 type extension needs a limited view.
29293 Remove previous restriction on private types available through the
29294 limited-view (only tagged private types were previously allowed).
29295 (Install_Withed_Unit): In the code that implements the
29296 legality rule given in AI-377, exclude a child unit with the name
29297 Standard, because it is a homonym of the Standard environment package.
29298
292992005-07-04 Thomas Quinot <quinot@adacore.com>
29300
29301 * sem_ch4.adb (Transform_Object_Operation): For an actual that is an
29302 overloaded function call, carry interpretations from the original tree
29303 to the copy.
29304
293052005-07-04 Ed Schonberg <schonberg@adacore.com>
29306
29307 * sem_ch6.adb (Conforming_Types): If the types are anonymous access
29308 types check whether some designated type is a limited view, and use
29309 the non-limited view if available.
29310
293112005-07-04 Gary Dismukes <dismukes@adacore.com>
29312
29313 * sem_eval.adb (Subtypes_Statically_Match): Use the discriminant
29314 constraint of full view of a private view T1 if present, when T2 is a
29315 discriminated full view.
29316
293172005-07-04 Thomas Quinot <quinot@adacore.com>
29318
29319 * sem_res.adb (Resolve_Actuals): Do not resolve the expression of an
29320 actual that is a view conversion of a bit packed array reference.
29321
293222005-07-04 Ed Schonberg <schonberg@adacore.com>
29323
29324 * sem_type.adb (Covers): Verify that Corresponding_Record_Type is
29325 present before checking whether an interface type covers a synchronized
29326 type.
29327
293282005-07-04 Ed Schonberg <schonberg@adacore.com>
29329
29330 * sem_util.adb (Is_Object_Reference): An indexed or selected component
29331 whose prefix is an implicit dereference is an object reference. Removes
29332 spurious errors when compiling with -gnatc.
29333
293342005-07-04 Robert Dewar <dewar@adacore.com>
29335
29336 PR ada/22039
7d300a99
AC
29337 * s-sopco3.ads, s-sopco4.ads, s-sopco5.ads: Minor documentation fix
29338
293392005-07-04 Matthew Gingell <gingell@adacore.com>
29340
29341 * tracebak.c: Enable tracebacks on ia64 platforms
29342
293432005-07-04 Vincent Celier <celier@adacore.com>
29344
29345 * vms_conv.adb (Initialize): Allow multiple ALI files to be given to
29346 the GNAT BIND command, as gnatbind accepts multiples ALI files with
29347 the -L or -n switches.
29348
293492005-07-04 Vincent Celier <celier@adacore.com>
29350
29351 * makegpr.adb (Build_Global_Archive): Make sure the list of sources is
29352 correctly computed and the main project data is not modified while
29353 doing so.
29354 (Add_C_Plus_Plus_Link_For_Gnatmake): Always link with the C++ compiler
29355 (Choose_C_Plus_Plus_Link_Process): Do not generate shell script
29356 c++linker as this does not work on some platforms.
29357
293582005-07-04 Matthew Heaney <heaney@adacore.com>
29359
29360 * a-convec.ads, a-coinve.ads: Declaration of subtype Extended_Index
29361 was changed.
29362 * a-coinve.adb: Perform constraint checks explicitly.
29363
293642005-07-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
29365 Thomas Quinot <quinot@adacore.com>
29366
29367 * Make-lang.in: (ada/targtyps.o): Add missing TREE_H dependency.
29368 new target gen-soccon.
29369
293702005-07-04 Robert Dewar <dewar@adacore.com>
29371
29372 * s-mastop-irix.adb, s-mastop-vms.adb: Minor reformatting
29373
293742005-07-04 Thomas Quinot <quinot@adacore.com>
29375
29376 * g-socket.ads (Check_Selector): Minor rewording of comment.
29377
293782005-07-04 Vincent Celier <celier@adacore.com>
29379
29380 * vms_data.ads: Add VMS qualifiers for new gnatpp switch --eol=
29381
293822005-07-04 Thomas Quinot <quinot@adacore.com>
29383
29384 * gen-soccon.c: Add constants SO_SNDTIMEO and SO_RCVTIMEO.
29385
293862005-07-04 Sergey Rybin <rybin@adacore.com>
29387
6f7f72f9 29388 * gnat_ugn.texi: Add description of --eol gnatpp option
7d300a99
AC
29389
293902005-07-04 Eric Botcazou <ebotcazou@adacore.com>
29391 Thomas Quinot <quinot@adacore.com>
29392
6f7f72f9 29393 * gnat_rm.texi: Add a note that pragma Unreferenced is not appropriate
7d300a99
AC
29394 if the user wants all calls of a subprogram to be flagged,
29395 independently of whether they are made from within the same unit or
29396 another unit.
6f7f72f9
EB
29397 Mention restriction for pragma Linker_Alias on some platforms.
29398 Document pragma Linker_Constructor and Linker_Destructor.
29399 Rewrite documentation of Weak_External, Linker_Section and
29400 Linker_Alias pragmas.
7d300a99 29401
fc64d83c
AC
294022005-07-04 Arnaud Charlet <charlet@adacore.com>
29403
29404 * s-stausa.ads, s-stausa.adb: New files.
29405
cb5fee25
KC
294062005-06-30 Kelley Cook
29407
29408 * all files: Update FSF address in copyright headers.
29409 * gen-soccon.co (main): Output new FSF address in generated files.
29410
617a1b71
PB
294112005-06-28 Paul Brook <paul@codesourcery.com>
29412
29413 * misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
29414
0adcdb66
AC
294152005-06-14 Olivier Hainque <hainque@adacore.com>
29416 Eric Botcazou <ebotcazou@adacore.com>
29417
29418 * s-mastop-irix.adb (Pop_Frame): Revert shorcuts avoiding calls to
29419 exc_unwind, now that we are generating proper .debug_frame output for
29420 that target.
29421
29422 * tracebak.c: Remove the mips-irix section, as we are now using the
29423 s-mastop based unwinder again.
29424 Under SPARC/Solaris, take into account the stack bias to compute the
29425 frame offset. The stack bias is 0 for the V8 ABI and 2047 for the V9
29426 ABI.
29427
294282005-06-14 Doug Rupp <rupp@adacore.com>
29429
29430 * g-trasym-vms.adb: renamed g-trasym-vms-alpha.adb
29431
29432 * g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb: New files
29433
294342005-06-14 Pascal Obry <obry@adacore.com>
29435
29436 * a-strhas.ads, a-secain.adb, a-secain.ads, a-rbtgso.ads, a-cgaaso.adb,
29437 a-cgaaso.ads, a-cgarso.adb, a-cgcaso.adb, a-cgarso.ads, a-cgcaso.ads,
29438 a-contai.ads, a-coprnu.ads, a-coprnu.adb: Fix header style (spaces in
29439 package name).
29440
da8f5fd9
AJ
29441 * a-intnam-lynxos.ads, a-intnam-unixware.ads, a-intnam-tru64.ads,
29442 a-intnam-aix.ads, a-intnam-irix.ads, a-excpol-interix.adb,
29443 a-intnam-hpux.ads, a-intnam-linux.ads, a-intnam-dummy.ads,
29444 a-intnam-os2.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
0adcdb66 29445 a-intnam-solaris.ads, a-caldel-vms.adb, a-calend-vms.ads,
da8f5fd9
AJ
29446 a-intnam-vms.ads, a-excpol-abort.adb, a-intnam-mingw.ads,
29447 a-intnam-vxworks.ads, a-numaux-vxworks.ads, s-osinte-unixware.adb,
29448 s-osinte-unixware.ads, s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads,
29449 s-osinte-hpux.ads, s-osinte-solaris-posix.ads, a-intnam-freebsd.ads,
29450 s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-lynxos.adb,
29451 s-osinte-lynxos.ads, s-tpopsp-lynxos.adb, s-osinte-tru64.adb,
29452 s-osinte-tru64.ads, s-tpopsp-posix-foreign.adb, s-vxwork-alpha.ads,
29453 s-osinte-aix.adb, s-osinte-aix.ads, s-osinte-aix-fsu.ads,
29454 s-osinte-irix.adb, s-osinte-irix.ads, s-interr-sigaction.adb,
29455 s-osinte-irix-athread.ads, s-osinte-hpux-dce.adb,
29456 s-osinte-hpux-dce.ads, s-osinte-posix.adb, s-osinte-linux.ads,
29457 s-vxwork-m68k.ads, s-osinte-linux-fsu.ads, s-vxwork-mips.ads,
29458 s-osinte-dummy.ads, s-interr-dummy.adb, s-osinte-os2.adb,
29459 s-osinte-os2.ads, s-osprim-os2.adb, s-osinte-interix.ads,
29460 s-osprim-unix.adb, s-vxwork-ppc.ads, s-osinte-solaris.adb,
29461 s-osinte-solaris.ads, s-osprim-solaris.adb, s-tpopsp-solaris.adb,
29462 s-vxwork-sparcv9.ads, s-osinte-solaris-fsu.ads, s-interr-vms.adb,
29463 s-osinte-vms.adb, s-osinte-vms.ads, s-osprim-vms.adb,
29464 s-osprim-vms.ads, s-tpopde-vms.adb, s-tpopde-vms.ads,
29465 s-osprim-mingw.adb, s-vxwork-xscale.ads, s-interr-vxworks.adb,
29466 s-osinte-vxworks.adb, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
29467 s-tfsetr-vxworks.adb, s-tpopsp-vxworks.adb, s-intman-posix.adb,
29468 s-osinte-fsu.adb, s-osprim-posix.adb, s-tfsetr-default.adb,
29469 s-tpopsp-posix.adb, s-traces-default.adb, s-trafor-default.adb,
0adcdb66
AC
29470 s-trafor-default.ads, s-tratas-default.adb, a-numaux-x86.adb,
29471 a-numaux-x86.ads, a-astaco.adb, a-astaco.ads, a-caldel.adb,
29472 a-caldel.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads, a-colien.adb,
29473 a-colien.ads, a-colire.adb, a-colire.ads, a-comlin.adb, a-cwila1.ads,
29474 a-cwila9.ads, ada.ads, a-decima.adb, a-diocst.ads, a-direio.adb,
29475 a-dynpri.adb, a-dynpri.ads, a-excpol.adb, a-flteio.ads, a-fwteio.ads,
29476 a-inteio.ads, a-interr.adb, a-intnam.ads, a-intsig.adb, a-intsig.ads,
29477 a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
29478 a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads,
29479 a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads, a-ngcoty.adb, a-ngelfu.adb,
29480 a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
29481 a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads,
29482 a-nucoty.ads, a-nudira.adb, a-nuelfu.ads, a-nuflra.adb, a-numaux.ads,
29483 a-numeri.ads, a-reatim.adb, a-retide.adb, a-retide.ads, a-sequio.adb,
29484 a-sequio.ads, a-sfteio.ads, a-sfwtio.ads, a-siocst.ads, a-siteio.ads,
29485 a-siwtio.ads, a-ssicst.ads, a-ssitio.ads, a-ssiwti.ads, a-stmaco.ads,
29486 a-storio.adb, a-strbou.adb, a-strfix.adb, a-string.ads, a-strmap.adb,
29487 a-strsea.adb, a-strsup.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
29488 a-stunau.ads, a-stwibo.adb, a-stwifi.adb, a-stwifi.ads, a-stwima.adb,
29489 a-stwise.adb, a-stwisu.adb, a-suteio.adb, a-suteio.ads, a-swuwti.adb,
29490 a-swuwti.ads, a-teioed.adb, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb,
29491 a-tideau.adb, a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
29492 a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinio.adb, a-timoau.adb,
29493 a-timoio.adb, a-timoio.ads, a-tiocst.ads, a-titest.adb, a-titest.ads,
29494 a-witeio.adb, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
29495 a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtenau.adb, a-wtenio.adb,
29496 a-wtfiio.adb, a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
29497 a-wtinio.ads, a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, calendar.ads,
29498 dec.ads, dec-io.adb, dec-io.ads, directio.ads, errno.c, g-bubsor.adb,
29499 g-bubsor.ads, g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
29500 g-casuti.adb, g-casuti.ads, g-debuti.ads, g-heasor.adb, g-heasor.ads,
29501 g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb,
29502 g-htable.ads, g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
29503 g-memdum.adb, g-memdum.ads, g-sestin.ads, g-signal.ads, g-signal.adb,
29504 gnat.ads, g-souinf.ads, g-speche.adb, g-speche.ads, g-table.adb,
29505 g-table.ads, g-thread.adb, g-thread.ads, ioexcept.ads, i-vxwoio.adb,
29506 i-vxwoio.ads, math_lib.adb, s-assert.adb, s-assert.ads, s-asthan.ads,
da8f5fd9
AJ
29507 s-bitops.adb, s-bitops.ads, s-boarop.ads, s-carsi8.adb, s-carsi8.ads,
29508 s-carun8.adb, s-carun8.ads, s-casi16.adb, s-casi16.ads, s-casi32.adb,
0adcdb66 29509 s-casi32.ads, s-casi64.adb, s-casi64.ads, s-casuti.adb, s-casuti.ads,
da8f5fd9 29510 s-caun16.adb, s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
0adcdb66
AC
29511 s-caun64.ads, s-direio.adb, s-direio.ads, sequenio.ads, s-errrep.adb,
29512 s-errrep.ads, s-exnint.adb, s-exnint.ads, s-exnllf.adb, s-exnllf.ads,
29513 s-exnlli.adb, s-exnlli.ads, s-expint.adb, s-expint.ads, s-explli.adb,
29514 s-explli.ads, s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
29515 s-expuns.adb, s-expuns.ads, s-fore.adb, s-fore.ads, s-geveop.adb,
29516 s-geveop.ads, s-htable.adb, s-htable.ads, s-imgbiu.adb, s-imgbiu.ads,
29517 s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
29518 s-imgdec.ads, s-imgenu.adb, s-imgenu.ads, s-imgint.adb, s-imgint.ads,
29519 s-imgllb.adb, s-imgllb.ads, s-imglld.adb, s-imglld.ads, s-imglli.adb,
29520 s-imglli.ads, s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
29521 s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwiu.adb, s-imgwiu.ads
29522 s-interr.ads, s-io.adb, s-mantis.adb, s-mantis.ads, s-osprim.ads,
29523 s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads, s-pack06.adb,
29524 s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
29525 s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads, s-pack12.adb,
29526 s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb, s-pack14.ads,
29527 s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads, s-pack18.adb,
29528 s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
29529 s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads, s-pack23.adb,
29530 s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb, s-pack25.ads,
29531 s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads, s-pack28.adb,
29532 s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
29533 s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads, s-pack34.adb,
29534 s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb, s-pack36.ads,
29535 s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads, s-pack39.adb,
29536 s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
29537 s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads, s-pack44.adb,
29538 s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb, s-pack46.ads,
29539 s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads, s-pack49.adb,
29540 s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
29541 s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads, s-pack54.adb,
29542 s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb, s-pack56.ads,
29543 s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads, s-pack59.adb,
29544 s-pack59.ads, s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
29545 s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads, s-scaval.adb,
29546 s-scaval.ads, s-sequio.adb, s-sequio.ads, s-stache.adb, s-stache.ads,
29547 s-stratt.adb, s-stratt.ads, s-strcom.adb, s-strcom.ads, s-strops.adb,
da8f5fd9
AJ
29548 s-strops.ads, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb,
29549 s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
29550 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, s-tasini.adb,
29551 s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
29552 s-tasren.ads, s-tasres.ads, s-tassta.adb, s-tassta.ads, s-tasuti.adb,
29553 s-tasuti.ads, s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
29554 s-tpoben.adb, s-tpoben.ads, s-tpobop.ads, s-tporft.adb, s-tposen.ads,
0adcdb66
AC
29555 s-traces.adb, s-traces.ads, s-tratas.adb, s-tratas.ads, s-valint.ads,
29556 s-unstyp.ads, s-veboop.adb, s-veboop.ads, s-vector.ads, s-vercon.adb,
29557 s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchjis.adb, s-wchjis.ads,
29558 s-wchstw.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
29559 s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb, s-widenu.ads,
29560 s-widlli.adb, s-widlli.ads, s-widllu.adb, s-widllu.ads, s-wwdcha.ads,
da8f5fd9
AJ
29561 s-wwdenu.adb, s-wwdwch.ads, text_io.ads, s-stchop.ads, s-stchop.adb,
29562 s-stchop-vxworks.adb, a-intnam-darwin.ads, s-osinte-darwin.adb,
0adcdb66
AC
29563 s-osinte-darwin.ads, s-vxwork-x86.ads, a-numaux-darwin.ads,
29564 a-numaux-darwin.adb, a-chzla1.ads, a-chzla9.ads, a-lfztio.ads,
29565 a-liztio.ads, a-llfzti.ads, a-llizti.ads, a-sfztio.ads, a-siztio.ads,
29566 a-ssizti.ads, a-stzbou.adb, a-stzfix.adb, a-stzfix.ads, a-stzmap.adb,
29567 a-stzsea.adb, a-stzsup.adb, a-swunau.adb, a-swunau.ads, a-szuzti.adb,
29568 a-szuzti.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads,
29569 a-ztcoio.adb, a-ztcoio.ads, a-ztcstr.ads, a-ztdeau.adb, a-ztdeio.adb,
29570 a-ztenio.adb, a-ztexio.adb, a-ztfiio.adb, a-ztflio.adb, a-ztgeau.adb,
29571 a-ztinau.adb, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb, a-ztmoio.adb,
29572 a-zttest.adb, a-zzunio.ads, g-utf_32.adb: Fix header style.
29573 "GNU Ada" to GNAT, use proper casing for RUN-TIME.
29574
295752005-06-14 Jose Ruiz <ruiz@adacore.com>
29576 Arnaud Charlet <charlet@adacore.com>
29577
29578 * a-sytaco.ads, a-sytaco.adb (Suspension_Object): These objects are no
29579 longer protected objects. They have been replaced by lower-level
29580 suspension objects made up by a mutex and a condition variable (or
29581 their equivalent given a particular OS) plus some internal data to
29582 reflect the state of the suspension object.
29583 (Initialize, Finalize): Add this initialization procedure for
29584 Suspension_Object, which is a controlled type.
29585 (Finalize): Add the finalization procedure for Suspension_Object,
29586 which is a controlled type.
29587
29588 * a-sytaco-vxworks.ads, a-sytaco-vxworks.adb: Remove this version of
29589 Ada.Synchronous_Task_Control because there is no longer a need for a
29590 VxWorks specific version of this package. Target dependencies
29591 has been moved to System.Task_Primitives.Operations.
29592
29593 * s-osinte-mingw.ads (pCRITICAL_SECTION): Remove this type which is no
29594 longer needed.
29595 (InitializeCriticalSection, EnterCriticalSection,
29596 LeaveCriticalSection, DeleteCriticalSection): Replace the type
29597 pCriticalSection by an anonymous access type so that we avoid problems
29598 of accessibility to local objects.
29599
29600 * s-taprop.ads, s-taprop-posix.adb, s-taprop-vxworks.adb,
29601 s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
29602 s-taprop-os2.adb, s-taprop-dummy.adb, s-taprop-hpux-dce.adb,
29603 s-taprop-linux.adb, s-taprop-irix.adb, s-taprop-irix-athread.adb,
29604 s-taprop-tru64.adb, s-taprop-lynxos.adb (Elaboration Code): No longer
29605 set the environment task mask here.
29606 (Current_State): Add this function that returns the state of the
29607 suspension object.
29608 (Set_False): Add this procedure that sets the state of the suspension
29609 object to False.
29610 (Set_True): Add this procedure that sets the state of the suspension
29611 object to True, releasing the task that was suspended, if any.
29612 (Suspend_Until_True): Add this procedure that blocks the calling task
29613 until the state of the object is True. Program_Error is raised if
29614 another task is already waiting on that suspension object.
29615 (Initialize): Add this procedure for initializing the suspension
29616 object. It initializes the mutex and the condition variable which are
29617 used for synchronization and queuing, and it sets the internal state
29618 to False.
29619 (Finalize): Add this procedure for finalizing the suspension object,
29620 destroying the mutex and the condition variable.
29621
29622 * s-taspri-posix.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
29623 s-taspri-vms.ads, s-taspri-solaris.ads, s-taspri-os2.ads,
29624 s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-linux.ads,
29625 s-taspri-tru64.ads, s-taspri-lynxos.ads (Suspension_Object): New object
29626 which provides a low-level abstraction (using operating system
29627 primitives) for Ada.Synchronous_Task_Control.
29628 This object is made up by a mutex (for ensuring mutual exclusion), a
29629 condition variable (for queuing threads until the condition is
29630 signaled), a Boolean (State) indicating whether the object is open,
29631 and a Boolean (Waiting) reflecting whether there is a task already
29632 suspended on this object.
29633
29634 * s-intman.ads, s-intman-irix.adb, s-intman-irix-athread.adb,
29635 s-intman-dummy.adb, s-intman-solaris.adb, s-intman-vms.adb,
29636 s-intman-vms.ads, s-intman-mingw.adb,
29637 (Initialize_Interrupts): Removed, no longer used.
29638
29639 * s-inmaop-posix.adb, s-inmaop-vms.adb, s-inmaop-dummy.adb,
29640 (Setup_Interrupt_Mask): New procedure.
29641
29642 * s-intman-vxworks.ads, s-intman-vxworks.adb: Update comments.
29643
29644 * s-inmaop.ads (Setup_Interrupt_Mask): New procedure
29645
29646 * s-interr.adb: Add explicit call to Setup_Interrupt_Mask now that
29647 this is no longer done in the body of s-taprop
29648 (Server_Task): Explicitely test for Pending_Action in case
29649 System.Parameters.No_Abort is True.
29650
29651 * s-taasde.adb: Add explicit call to Setup_Interrupt_Mask now that this
29652 is no longer done in the body of s-taprop
29653
296542005-06-14 Robert Dewar <dewar@adacore.com>
29655
29656 * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
29657 system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
29658 system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
29659 system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
29660 system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
29661 system-linux-x86.ads, system-vxworks-mips.ads, system-vxworks-mips.ads,
29662 system-os2.ads, system-interix.ads, system-solaris-sparc.ads,
29663 system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
29664 system-vms-zcx.ads, system-vxworks-ppc.ads, system.ads,
29665 system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads,
29666 system-linux-hppa.ads, system-vms_64.ads,
29667 system-vxworks-alpha.ads: Minor comment update for
29668 AI-362 (unit is Pure).
29669
29670 * a-chahan.ads, a-chahan.adb: Move Wide_Wide functions to Conversions
29671 Add pragma Pure_05 for AI-362
29672 Make remaining conversion functions obsolescent in Ada 95
29673
29674 * impunit.adb: Change a-swunha to a-swuwha and a-szunha to a-szuzha
29675 Make Ada.Wide_Characters[.Unicode] available in Ada 95 mode
29676 Add entries for a-wichun and a-zchuni
29677 Add a-widcha a-zchara for AI-395
29678 Add a-chacon (Ada.Characters.Conversions) to list of Ada 2005 routines
29679
29680 * Makefile.rtl: Change a-swunha to a-swuwha and a-szunha to a-szuzha
29681 Add entries for a-wichun.o and a-zchuni.o
29682 Entries for a-widcha.o and a-zchara.o
29683 Add entry for a-chacon.o
29684
29685 * a-ztenau.adb: Add with of Ada.Characters.Conversions
29686
29687 * a-chacon.ads, a-chacon.adb: New files.
29688
29689 * a-taside.adb, a-exstat.adb, a-excach.adb: Add warnings off to allow
29690 categorization violations.
29691
29692 * a-strmap.ads: Add pragma Pure_05 for AI-362
29693 * a-strmap.ads: Add note on implicit categorization for AI-362
29694
29695 * a-tgdico.ads, a-taside.ads: Add pragma Preelaborate_05 for AI-362
29696
29697 * par-prag.adb: Dummy entry for pragma Persistent_BSS
29698 Set Ada_Version_Explicit, for implementation of AI-362
29699 Add processing for pragma Pure_05 and Preelaborate_05
29700 Add entry for Assertion_Policy pragma
29701
29702 * sem.adb: Make sure predefined units are compiled with GNAT_Mode true
29703 when needed for proper processing of categorization stuff
29704
da8f5fd9 29705 * sem_cat.adb:
0adcdb66
AC
29706 For several cases, make errors in preealborate units warnings,
29707 instead of errors, if GNAT_Mode is set. For AI-362.
29708
29709 * sem_elab.adb (Check_Elab_Call): Call to non-static subprogram in
29710 preelaborate unit is now warning if in GNAT mode
29711
29712 * s-stoele.ads: Document AI-362 for pragma preelaborate
29713
297142005-06-14 Doug Rupp <rupp@adacore.com>
29715
29716 * s-parame-vms.ads, s-parame-hpux.ads, s-parame-vms-restrict.ads,
29717 s-parame-ae653.ads, s-parame.ads, s-parame-vxworks.ads:
29718 Default_Exception_Msg_Max_Length: new parameter.
29719
29720 * a-except.ads: (Exception_Msg_Max_Length): Set to
29721 System.Parameters.Default_Exception_Msg_Max_Length
29722 Add pragma Preelaborate_05 for AI-362
29723 Add warnings off to allow categorization violations for AI-362
29724
297252005-06-14 Vincent Celier <celier@adacore.com>
29726
29727 * gnatsym.adb: Adapt to modification of package Symbols: procedure
29728 Process is now in package Processing.
29729
29730 * symbols.ads, symbols.adb:
29731 (Processing): New package, containing procedure Process
29732
da8f5fd9 29733 * symbols-vms-alpha.adb:
0adcdb66
AC
29734 Replaced by symbols-vms.adb and symbols-processing-vms-alpha.adb
29735
29736 * symbols-vms.adb, symbols-processing-vms-alpha.adb,
29737 symbols-processing-vms-ia64.adb: New files.
29738
297392005-06-14 Pascal Obry <obry@adacore.com>
29740
29741 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Replace the previous
29742 implementation. This new version generates the proper DllMain routine
29743 to initialize the SAL. The DllMain is generated in Ada and compiled
29744 before being added as option to the library build command.
29745
297462005-06-14 Doug Rupp <rupp@adacore.com>
29747 Pascal Obry <obry@adacore.com>
29748
29749 * adaint.c (__gnat_to_canonical_file_spec): Check for error returns in
29750 call to decc$translate_vms.
29751 (__gnat_locate_regular_file): Check if the path_val contains quotes. We
29752 need to remove those quotes before catenating the filename.
29753 (__gnat_locate_exec_on_path): improvements to the Win32 section:
29754 * avoid allocating the memory twice for better efficiency;
29755 * allocate 32K buffer for environment expansion as suggested by MSDN;
29756 * prepend ".;" to the path so that current directory is searched too.
29757
297582005-06-14 Robert Dewar <dewar@adacore.com>
29759
29760 * a-except.adb (Exception_Identity): return Null_Id for null occurrence
29761 instead of raising CE (AI-241)
29762 Add warnings off to allow categorization violations for AI-362
29763
297642005-06-14 Robert Dewar <dewar@adacore.com>
29765
29766 * ali-util.adb, gnatbind.adb: Remove references to
29767 Force_RM_Elaboration_Order.
29768
29769 * switch-b.adb: Remove recognition of -f switch
29770
297712005-06-14 Pascal Obry <obry@adacore.com>
29772
29773 * a-stzunb.adb, a-stwiun.adb, a-strunb.adb (Realloc_For_Chunk): New
29774 implementation which is slightly more efficient.
29775
297762005-06-14 Gary Dismukes <dismukes@adacore.com>
29777 Javier Miranda <miranda@adacore.com>
29778 Ed Schonberg <schonberg@adacore.com>
29779 Hristian Kirtchev <kirtchev@adacore.com>
29780
29781 * exp_ch4.adb (Expand_Allocator_Expression): When an initialized
29782 allocator's designated type is a class-wide type, and compiling for
29783 Ada 2005, emit a run-time check that the accessibility level of the
29784 type given in the allocator's expression is not deeper than the level
29785 of the allocator's access type.
29786
29787 (Tagged_Membership): Modified to gives support to abstract interface
29788 types.
29789
29790 * a-tags.ads, a-tags.adb (type Type_Specific_Data): Add component
29791 Access_Level.
29792 (Descendant_Tag): New predefined function
29793 (Is_Descendant_At_Same_Level): New predefined function
29794 (Get_Access_Level): New private function
29795 (Set_Access_Level): New private procedure
29796 (IW_Membership): New function. Given the tag of an object and the tag
29797 associated with an interface, evaluate if the object implements the
29798 interface.
29799 (Register_Interface_Tag): New procedure used to initialize the table of
29800 interfaces used by the IW_Membership function.
29801 (Set_Offset_To_Top): Initialize the Offset_To_Top field in the prologue
29802 of the dispatch table.
29803 (Inherit_TSD): Modified to copy the table of ancestor tags plus the
29804 table of interfaces of the parent.
29805 (Expanded_Name): Raise Tag_Error if the passed tag equals No_Tag.
29806 (External_Tag): Raise Tag_Error if the passed tag equals No_Tag.
29807 (Parent_Tag): Return No_Tag in the case of a root-level tagged type,
29808 and raise Tag_Error if the passed tag equalis No_Tag, to conform with
29809 Ada 2005 semantics for the new predefined function.
29810
29811 * exp_attr.adb (Expand_N_Attribute, case Attribute_Input): Generate
29812 call to Descendant_Tag rather than Internal_Tag.
29813 (Expand_N_Attribute, case Attribute_Output): Emit a check to ensure that
29814 the accessibility level of the attribute's Item parameter is not deeper
29815 than the level of the attribute's prefix type. Tag_Error is raised if
29816 the check fails. The check is only emitted for Ada_05.
29817 (Find_Stream_Subprogram): If a TSS exists on the type itself for the
29818 requested stream attribute, use it.
29819 (Expand_N_Attribute_Reference): If the designated type is an interface
29820 then rewrite the referenced object as a conversion to force the
29821 displacement of the pointer to the secondary dispatch table.
29822 (Expand_N_Attribute_Reference, case 'Constrained): Return false if this
29823 is a dereference of an object with a constrained partial view.
29824
29825 * exp_ch5.adb (Expand_N_Return_Statement): When a function's result
29826 type is a class-wide type, emit a run-time check that the accessibility
29827 level of the returned object is not deeper than the level of the
29828 function's master (only when compiling for Ada 2005).
29829
29830 * exp_disp.ads, exp_disp.adb (Ada_Actions, Action_Is_Proc,
29831 Action_Nb_Arg): Add entries for new Get_Access_Level and
29832 Set_Access_Level routines in these tables.
29833 (Make_DT): Generate a call to set the accessibility level of the
29834 tagged type in its TSD.
29835 (Make_DT): Code cleanup. The functionality of generating all the
29836 secondary dispatch tables has been moved to freeze_record_type.
29837 (Make_Abstract_Interface_DT): Minor code cleanup.
29838 (Set_All_DT_Position): Code cleanup. As part of the code cleanup
29839 this subprogram implements a new algorithm that provides the
29840 same functionality and it is more clear in case of primitives
29841 associated with abstract interfaces.
29842 (Set_All_Interfaces_DTC_Entity): Removed. As part of the code
29843 clean up, the functionality of this subprogram is now provided
29844 by Set_All_DT_Position.
29845 (Write_DT): New subprogram: a debugging procedure designed to be called
29846 within gdb to display the dispatch tables associated with a tagged
29847 type.
29848 (Collect_All_Interfaces): New subprogram that collects the whole list
29849 of interfaces that are directly or indirectly implemented by a tagged
29850 type.
29851 (Default_Prim_Op_Position): New subprogram that returns the fixed
29852 position in the dispatch table of the default primitive operations.
29853 (Expand_Interface_Actuals): New subprogram to generate code that
29854 displaces all the actuals corresponding to class-wide interfaces to
29855 reference the interface tag of the actual object.
29856 (Expand_Interface_Conversion): New subprogram. Reference the base of
29857 the object to give access to the interface tag associated with the
29858 secondary dispatch table.
29859 (Expand_Interface_Thunk): New subprogram that generates the code of the
29860 thunk. This is required for compatibility with the C+ ABI.
29861 (Make_Abstract_Interface_DT): New subprogram that generate the
29862 declarations for the secondary dispatch tables associated with an
29863 abstract interface.
29864 (Set_All_Interfaces_DTC_Entity): New subprogram that sets the DTC_Entity
29865 attribute for each primitive operation covering interface subprograms
29866 (Expand_Dispatching_Call, Fill_DT_Entry, Make_DT, Set_All_DT_Position):
29867 These subprograms were upgraded to give support to abstract interfaces
29868
29869 * rtsfind.ads (type RE_Id): Add RE_Descendant_Tag,
29870 RE_Is_Descendant_At_Same_Level, RE_Get_Access_Level, and
29871 RE_Set_Access_Level.
29872 (RE_Unit_Table): Add entries for new Ada.Tags operations.
29873 Add support to call the followig new run-time subprograms:
29874 IW_Membership, Register_Interface_Tag, and Set_Offset_To_Top
29875
29876 * sem_ch3.adb (Constant_Redeclaration): Allow a deferred constant to
29877 match its full declaration when both have an access definition with
29878 statically matching designated subtypes.
29879 (Analyze_Component_Declaration): Delete commented out code that was
29880 incorrectly setting the scope of an anonymous access component's type.
29881 (Process_Discriminants): Set Is_Local_Anonymous_Access for the type of
29882 an access discriminant when the containing type is nonlimited.
29883 (Make_Incomplete_Type_Declaration): Create an incomplete type
29884 declaration for a record type that includes self-referential access
29885 components.
29886 (Check_Anonymous_Access_Types): Before full analysis of a record type
29887 declaration, create anonymous access types for each self-referential
29888 access component.
29889 (Analyze_Component_Declaration, Array_Type_Declaration): Indicate that
29890 an access component in this context is a Local_Anonymous_Access, for
29891 proper accessibility checks.
29892 (Access_Definition): Set properly the scope of the anonymous access type
29893 created for a stand-alone access object.
29894 (Find_Type_Of_Object): An object declaration may be given with an access
29895 definition.
29896 (Complete_Subprograms_Derivation): New subprogram used to complete
29897 type derivation of private tagged types implementing interfaces.
29898 In this case some interface primitives may have been overriden
29899 with the partial-view and, instead of re-calculating them, they
29900 are included in the list of primitive operations of the full-view.
29901 (Build_Derived_Record_Type): Modified to give support to private
29902 types implemening interfaces.
29903 (Access_Definition): Reject ALL on anonymous access types.
29904 (Build_Derived_Record_Type): In the case of Ada 2005, allow a tagged
29905 type derivation to occur at a deeper accessibility level than the
29906 parent type.
29907 For the case of derivation within a generic body however, disallow the
29908 derivation if the derived type has an ancestor that is a formal type
29909 declared in the formal part of an enclosing generic.
29910 (Analyze_Object_Declaration): For protected objects, remove the check
29911 that they cannot contain interrupt handlers if not declared at library
29912 level.
29913 (Add_Interface_Tag_Components): New subprogram to add the tag components
29914 corresponding to all the abstract interface types implemented by a
29915 record type or a derived record type.
29916 (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
29917 Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
29918 Process_Full_View, Record_Type_Declaration): Modified to give
29919 support to abstract interface types
29920 (Collect_Interfaces): New subprogram that collects the list of
29921 interfaces that are not already implemented by the ancestors
29922 (Process_Full_View): Set flag Has_Partial_Constrained_View appropriately
29923 when partial view has no discriminants and full view has defaults.
29924 (Constrain_Access): Reject a constraint on a general access type
29925 if the discriminants of the designated type have defaults.
29926 (Access_Subprogram_Declaration): Associate the Itype node with the inner
29927 full-type declaration or subprogram spec. This is required to handle
29928 nested anonymous declarations.
29929 (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
29930 Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
29931 Process_Full_View, Record_Type_Declaration): Modified to give
29932 support to abstract interface types
29933 (Derive_Subprograms): Addition of a new formal to indicate if
29934 we are in the case of an abstact-interface derivation
29935 (Find_Type_Of_Subtype_Indic): Moved from the body of the package
29936 to the specification because it is requied to analyze all the
29937 identifiers found in a list of interfaces
29938
29939 * debug.adb: Complete documentation of flag "-gnatdZ"
29940
29941 * exp_ch3.adb: Implement config version of persistent_bss pragma
29942 (Check_Stream_Attributes): Use Stream_Attribute_Available instead of
29943 testing for TSS presence to properly enforce visibility rules.
29944 (Freeze_Record_Type): Code cleanup. Modified to call the subprogram
29945 Make_Abstract_Interfaces_DT to generate the secondary tables
29946 associated with abstract interfaces.
29947 (Build_Init_Procedure): Modified to initialize all the tags
29948 corresponding.
29949 (Component_Needs_Simple_Initialization): Similar to other tags,
29950 interface tags do not need initialization.
29951 (Freeze_Record_Type): Modified to give support to abstract interface
29952 types.
29953 (Expand_N_Object_Declaration): Do not generate an initialization for
29954 a scalar temporary marked as internal.
29955
29956 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Handle properly an
29957 in-out parameter that is a component in an initialization procedure,
29958 whose constraint might depend on discriminants, and that may be
29959 misaligned because of packing or representation clauses.
29960 (Is_Legal_Copy): New predicate to determine whether a possibly
29961 misaligned in-out actual can actually be passed by copy/return. This
29962 is an error in case the type is by_reference, and a warning if this is
29963 the consequence of a DEC import pragma on the subprogram.
29964 (Expand_Call, Freeze_Subprogram): Modified to give support to abstract
29965 interface types
29966 (Expand_Inlined_Call): Mark temporary generated for the return value as
29967 internal, so that no useless scalar normalization is generated for it.
29968 (Expand_N_Subprogram_Declaration): Save unanalyzed body so calls to
29969 null procedure can always be inlined.
29970 (Expand_N_Subprogram_Declaration): If this is the declaration of a null
29971 procedure, generate an explicit empty body for it.
29972
29973 * exp_util.ads, exp_util.adb (Find_Interface_ADT): New subprogram.
29974 Given a type implementing an interface, returns the corresponding
29975 access_disp_table value.
29976 (Find_Interface_Tag): New subprogram. Given a type implementing an
29977 interface, returns the record component containing the tag of the
29978 interface.
29979 (Find_Interface_Tag): New overloaded subprogram. Subsidiary to the
29980 previous ones that return the corresponding tag and access_disp_table
29981 entities.
29982 (Is_Predefined_Dispatching_Operation): Determines if a subprogram
29983 is a predefined primitive operation.
29984 (Expand_Subtype_From_Expr): If the expression is a selected component
29985 within an initialization procedure, compute its actual subtype, because
29986 the component may depend on the discriminants of the enclosing record.
29987
da8f5fd9 29988 * i-cpp.ads, i-cpp.adb:
0adcdb66
AC
29989 This package has been left available for compatibility with previous
29990 versions of the frontend. As part of the new layout this is now a
29991 dummy package that uses declarations available at a-tags.ads
29992
29993 * par-ch3.adb (P_Identifier_Declarations): Give an error for use of
29994 "constant access" and "aliased [constant] access" when not compiling
29995 with -gnat05.
29996 Suppress Ada 2005 keyword warning if -gnatwY used
29997 (P_Identifier_Declarations): Add support for object declarations with
29998 access definitions.
29999 (Private_Extension_Declaration): Complete the documentation
30000 (P_Derived_Type_Def_Or_Private_Ext_Decl): Fill the inteface_list
30001 attribute in case of private extension declaration
30002 (P_Type_Declaration): Mark as "abstract" the type declarations
30003 corresponding with protected, synchronized and task interfaces
30004 (P_Declarative_Items): "not" and "overriding" are overriding indicators
30005 for a subprogram or instance declaration.
30006
30007 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Verify that an
30008 instantiation that is a dispatching operation has controlling access
30009 parameters that are null excluding.
30010 Save and restore Ada_Version_Explicit, for implementation of AI-362
30011 (Validate_Derived_Type_Instance): Add check for abstract interface
30012 types.
30013 (Analyze_Formal_Package): Establish Instantiation source for the copy of
30014 the generic that is created to represent the formal package.
30015 (Analyze_Package_Instantiation): Instantiate body immediately if the
30016 package is a predefined unit that contains inlined subprograms, and
30017 we are compiling for a Configurable_Run_Time.
30018 (Instantiate_Formal_Subprogram): Indicate that null default subprogram
30019 If the program has a null default, generate an empty body for it.
30020
30021 * sem_ch6.adb, sem_ch9.adb (Analyze_Subprograms_Declaration): Update
30022 error message condition, null procedures are correctly detected now.
30023 (New_Overloaded_Entity): Bypass trivial overriding indicator check
30024 for subprograms in the context of protected types. Instead, the
30025 indicator is examined in Sem_Ch9 while analysing the subprogram
30026 declaration.
30027 (Check_Overriding_Indicator): Check consistency of overriding indicator
30028 on subprogram stubs as well.
30029 (Analyze_Subprogram_Declaration): Diagnose null procedures declared at
30030 the library level.
30031 (Analize_Subprogram_Specification): When analyzing a subprogram in which
30032 the type of the first formal is a concurrent type, replace this type
30033 by the corresponding record type.
30034 (Analyze_Subprogram_Body): Undo the previous work.
30035 (Analyze_Procedure_Call): If the call has the form Object.Op, the
30036 analysis of the prefix ends up analyzing the call itself, after which
30037 we are done.
30038 (Has_Interface_Formals): New subprogram subsidiary to analyze
30039 subprogram_specification that returns true if some non
30040 class-wide interface subprogram is found
30041 (New_Overloaded_Entity): Modified to give support to abstract
30042 interface types
30043 (Conforming_Types): In Ada 2005 mode, conformance checking of anonymous
30044 access to subprograms must be recursive.
30045 (Is_Unchecked_Conversion): Improve the test that recognizes
30046 instantiations of Unchecked_Conversion, and allows them in bodies that
30047 are to be inlined by the front-end. When the body comes from an
30048 instantiation, a reference to Unchecked_Conversion will be an
30049 Expanded_Name, even though the body has not been analyzed yet.
30050 Replace Is_Overriding and Not_Overriding in subprogram_indication with
30051 Must_Override and Must_Not_Override, to better express intent of AI.
30052 (Analyze_Subprogram_Body): If an overriding indicator is given, check
30053 that it is consistent with the overrinding status of the subprogram
30054 at this point.
30055 (Analyze_Subprogram_Declaration): Indicate that a null procedure is
30056 always inlined.
30057 If the subprogram is a null procedure, indicate that it does not need
30058 a completion.
30059
30060 * sem_disp.adb (Check_Controlling_Type): Give support to entities
30061 available through limited-with clauses.
30062 (Check_Dispatching_Operation): A stub acts like a body, and therefore is
30063 allowed as the last primitive of a tagged type if it has no previous
30064 spec.
30065 (Override_Dispatching_Operation, Check_Dispatching_Operation): Modified
30066 to give support to abstract interface types
30067
30068 * sem_res.adb (Valid_Conversion): Perform an accessibility level check
30069 in the case where the target type is an anonymous access type of an
30070 object or component (that is, when Is_Local_Anonymous_Access is true).
30071 Prevent the special checks for conversions of access discriminants in
30072 the case where the discriminant belongs to a nonlimited type, since
30073 such discriminants have their accessibility level defined in the same
30074 way as a normal component of an anonymous access type.
30075 (Resolve_Allocator): When an allocator's designated type is a class-wide
30076 type, check that the accessibility level of type given in the
30077 allocator's expression or subtype indication is not statically deeper
30078 than the level of the allocator's access type.
30079 (Check_Discriminant_Use): Diagnose discriminant given by an expanded
30080 name in a discriminant constraint of a record component.
30081 (Resolve_Explicit_Dereference): Do not check whether the type is
30082 incomplete when the dereference is a use of an access discriminant in
30083 an initialization procedure.
30084 (Resolve_Type_Conversion): Handle conversions to abstract interface
30085 types.
30086 (Valid_Tagged_Conversion): The conversion of a tagged type to an
30087 abstract interface type is always valid.
30088 (Valid_Conversion): Modified to give support to abstract interface types
30089 (Resolve_Actuals): Enable full error reporting on view conversions
30090 between unrelated by_reference array types.
30091 The rule for view conversions of arrays with aliased components is
30092 weakened in Ada 2005.
30093 Call to obsolescent subprogram is now considered to be a violation of
30094 pragma Restrictions (No_Obsolescent_Features).
30095 (Check_Direct_Boolean_Operator): If the boolean operation has been
30096 constant-folded, there is nothing to check.
30097 (Resolve_Comparison_Op, Resolve_Equality_Op, Resolve_Boolean_Op): Defer
30098 check on possible violation of restriction No_Direct_Boolean_Operators
30099 until after expansion of operands, to prevent spurious errors when
30100 operation is constant-folded.
30101
30102 * sem_type.ads, sem_type.adb (Covers, Intersect_Types, Specific_Type,
30103 Has_Compatible_Type): Modified to give support to abstract interface
30104 types.
30105 (Interface_Present_In_Ancestor): New function to theck if some ancestor
30106 of a given type implements a given interface
30107
30108 * sem_ch4.adb (Analyze_Call): Handle properly an indirect call whose
30109 prefix is a parameterless function that returns an access_to_procedure.
30110 (Transform_Object_Operation): Handle properly function calls of the
30111 form Obj.Op (X), which prior to analysis appear as indexed components.
30112 (Analyze_One_Call): Complete the error notification to help new Ada
30113 2005 users.
30114 (Analyze_Allocator): For an allocator without an initial value, where
30115 the designated type has a constrained partial view, a discriminant
30116 constraint is illegal.
30117
301182005-06-14 Robert Dewar <dewar@adacore.com>
30119
30120 * a-textio.adb (Set_Col): Fix two errors noticed recently, having to
30121 do with treatment of Set_Col when positioned at end of line character.
30122
301232005-06-14 Robert Dewar <dewar@adacore.com>
30124
30125 * atree.adb: (Elist*): Protect against uninitialized field
30126
301272005-06-14 Ed Schonberg <schonberg@adacore.com>
30128
30129 * checks.adb (Install_Null_Excluding_Check): Do not generate checks
30130 for an attribute reference that returns an access type.
30131 (Apply_Discriminant_Check): No need for check if (designated) type has
30132 constrained partial view.
30133
30134 (Apply_Float_Conversion_Check): Generate a short-circuit expression for
30135 both bound checks, rather than a conjunction.
30136 (Insert_Valid_Check): If the expression is an actual that is an indexed
30137 component of a bit-packed array, force expansion of the packed element
30138 reference, because it is specifically inhibited elsewhere.
30139
301402005-06-14 Vincent Celier <celier@adacore.com>
30141
30142 * clean.adb (Clean_Project): Correctly delete executable specified as
30143 absolute path names.
30144
30145 * make.adb (Gnatmake): Allow relative executable path names with
30146 directory information even when project files are used.
30147 (Change_To_Object_Directory): Fail gracefully when unable to change
30148 current working directory to object directory of a project.
30149 (Gnatmake): Remove exception handler that could no longer be exercized
30150 (Compile_Sources.Compile): Use deep copies of arguments, as some of them
30151 may be deallocated by Normalize_Arguments.
30152 (Collect_Arguments): Eliminate empty arguments
30153
30154 * gnatcmd.adb (All_Projects): New Boolean flag, initialized to False,
30155 and set to True when -U is used for GNAT PRETTY or GNAT METRIC.
30156 (Check_Project): Return False when Project is No_Project. Return True
30157 when All_Projects is True.
30158 (GNATCmd): Recognize switch -U for GNAT PRETTY and GNAT METRIC and set
30159 All_Projects to True.
30160 Minor reformatting
30161
301622005-06-14 Ed Schonberg <schonberg@adacore.com>
30163 Javier Miranda <miranda@adacore.com>
30164 Thomas Quinot <quinot@adacore.com>
30165 Robert Dewar <dewar@adacore.com>
30166 Hristian Kirtchev <kirtchev@adacore.com>
30167 Gary Dismukes <dismukes@adacore.com>
30168
30169 * einfo.ads, einfo.adb (Is_Local_Anonymous_Access): New flag on
30170 anonymous access types, to indicate that the accessibility level of
30171 the type is determined by that of the enclosing declaration.
30172 (Has_Persistent_BSS): New flag
30173 (Set_Is_Primitive_Wrapper): Upgrade the barrier to allow the usage
30174 of this attribute with functions.
30175 (Is_Primitive_Wrapper): Remove the barrier.
30176 (Has_Specified_Stream_Input, Has_Specified_Stream_Output,
30177 Has_Specified_Stream_Read, Has_Specified_Stream_Write):
30178 New subprograms.
30179 (Set_Has_Specified_Stream_Input, Set_Has_Specified_Stream_Output,
30180 Set_Has_Specified_Stream_Read, Set_Has_Specified_Stream_Write):
30181 New subprograms.
30182 (Is_Pure_Unit_Access_Type): New flag
30183 (Abstract_Interfaces): Complete the assertion to cover all usages.
30184 (Set_Is_Interface): Complete the assertion to cover all usages.
30185 (Is_Primitive_Wrapper): New attribute.
30186 (Is_Obsolescent): Now applies to all entities (though it is only set
30187 for subprograms currently)
30188 New flag: Has_Constrained_Partial_View, to implemente Ada 2005 AI-363,
30189 which solves various problems concerning access subtypes.
30190 (Has_Persistent_BSS): New flag
30191 (Is_Primitive_Wrapper, Set_Primitive_Wrapper): Code cleanup.
30192 Remove these subprograms because this attribute is currently
30193 not used.
30194 New entity flags:
30195 Has_Specified_Stream_Input (Flag190)
30196 Has_Specified_Stream_Output (Flag191)
30197 Has_Specified_Stream_Read (Flag192)
30198 Has_Specified_Stream_Write (Flag193)
30199 Present in all type and subtype entities. Set for a given view if the
30200 corresponding stream-oriented attribute has been defined by an
30201 attribute definition clause. When such a clause occurs, a TSS is set
30202 on the underlying full view; the flags are used to track visibility of
30203 the attribute definition clause for partial or incomplete views.
30204 (Is_Pure_Unit_Access_Type): New flag
30205 Clarify use of Is_Internal.
30206 (Is_Primitive_Wrapper): New attribute present in primitive subprograms
30207 internally generated to wrap the invocation of tasks and protected
30208 types that implement interfaces.
30209 (Implementation_Base_Type): Documentation correction
30210 (Is_Obsolescent): Now applies to all entities (though it is only set
30211 for subprograms currently)
30212 New flag: Has_Constrained_Partial_View, to implement Ada 2005 AI-363,
30213 which solves various problems concerning access subtypes.
30214
30215 * exp_ch9.adb (Type_Conformant_Parameters): Introduce mode conformance
30216 for examined parameters. Identify unequal parameter list lengths as
30217 non-conformant parameters.
30218 (Overriding_Possible): Do not check for "All" qualifier in declaration
30219 of controlling access parameter, following prescription of AI-404.
30220 (Build_Entry_Wrapper_Spec, Build_Entry_Wrapper_Body): New subprograms
30221 that build the procedure body that wraps an entry invocation
30222 (Build_Corresponding_Record, Build_Protected_Sub_Specification,
30223 Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
30224 Expand_N_Task_Body, Expand_N_Task_Type_Declaration): Modified to
30225 give support to abstract interface types
30226
30227 * freeze.adb (Freeze_Entity): Issue error message if
30228 Is_Pure_Unit_Access_Type set, unless we are in Ada 2005 mode and the
30229 type has no storage pool (Ada 2005) AI-366.
30230 Also modified to give support to abstract interface types
30231 (Freeze_Subprogram): Issue an error for a dispatching subprogram with an
30232 Inline_Always pragma.
30233
30234 * par-ch9.adb (P_Task_Items): Reserved words "not" or "overriding" may
30235 now begin an entry declaration.
30236 (P_Entry_Or_Subprogram_With_Indicator): New procedure in
30237 P_Protected_Operation_Declaration_Opt. Parse an entry declaration or
30238 a subprogram declaration preceded by an overriding indicator.
30239 (P_Protected_Operation_Declaration_Opt): Add case for parsing entry
30240 declarations or subprogram declarations preceded by reserved words
30241 "not" or "overriding".
30242 (P_Entry_Declaration): Update comment. Parse and check overriding
30243 indicator, set semantic flags of entry declarations.
30244 (P_Task): New error message in case of private applied
30245 to a task type declaration.
30246 (P_Protected): New error message in case of private applied
30247 to a task type declaration.
30248
30249 * sem_ch7.adb (Preserve_Full_Attributes): Modified to handle the case
30250 in which the full view of a type implementing an interface is a
30251 concurrent type.
30252 (Has_Overriding_Pragma): Remove obsolete implementation of AI-218.
30253 Declare_Inherited_Private_Subprograms): If an explicit operation
30254 overrides an operation that is inherited in the private part, mark the
30255 explicit one as overriding, to enable overriding indicator checks.
30256 (Preserve_Full_Attributes): Propagate Is_Unchecked_Union attribute from
30257 full view to partial view, to simplify handling in back-end.
30258
30259 * sprint.adb: Print interface lists where needed: derived types,
30260 protected types, task types.
30261 output "is null" for null procedures. Part of implementation of
30262
30263 * sem_cat.adb (Validate_Access_Type_Declaration): Implement AI-366
30264 relaxation of rules for access types in pure, shared passive partitions.
30265
30266 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Reorganize to
30267 first read discriminants into temporary objects, performing checks on
30268 the read values, then possibly performing discriminant checks on the
30269 actual (if it is constrained), and only finally reading the components
30270 into a constrained temporary object.
30271 (Build_Elementary_Input_Call): Adjust the specific circuitry for the
30272 case of reading discriminants of a mutable record type to recognize
30273 the new form of the code generated by
30274 Build_Mutable_Record_Read_Procedure.
30275
30276 * exp_tss.ads, exp_tss.adb (Make_Init_Proc_Name): Reimplement in terms
30277 of a simple call to Make_TSS_Name.
30278 (Make_TSS_Name_Local): Add the TSS name as the last thing in the name
30279 buffer, in order for Is_TSS to work correctly on local TSS names.
30280
30281 * sem_attr.ads, sem_attr.adb (Resolve_Attribute, case 'Access): Use flag
30282 Is_Local_Anonymous_Access to check legaliy of attributes in the
30283 context of access components and stand-alone access objects.
30284 (Stream_Attribute_Available): In Ada 95 mode, a stream attribute is
30285 treated as available for a limited private type if there is an
30286 attribute_definition_clause that applies to its full view, but not in
30287 other cases where the attribute is available for the full view
30288 (specifically, the sole fact that the full view is non-limited does not
30289 make the attribute available for the partial view).
30290 (Build_Access_Subprogram_Type): Diagnose attempt to apply 'access to a
30291 non-overloaded intrinsic subprogram.
30292 (Check_Stream_Attribute): Reject an attribute reference for an
30293 unavailable stream attribute even if the prefix is not a limited type
30294 (case of a 'Input attribute reference for an abstract, non-classwide
30295 type)
30296 (Stream_Attribute_Available): New function to determine whether a stream
30297 attribute is available at a place.
30298 (Check_Attribute): Use Stream_Attribute_Available instead of just
30299 testing for TSS presence on the implementation base type.
30300 (Analyze_Attribute): Modified to give support to task interfaces.
30301 (Analyze_Access_Attribute): Add error check for use of an Access (or
30302 Unrestricted_Access) attribute with a subprogram marked as
30303 Inline_Always.
30304 (Analyze_Attribute, case Attribute_Address): Add error check for use of
30305 an Address attribute with a subprogram marked as Inline_Always.
30306 Update Eval_Attribute to handle new value of Width from AI-395
30307
30308 * sem_ch13.adb (Analyze_Stream_TSS_Definition): New subprogram.
30309 (Analyze_Attribute_Definition_Clause, cases Input, Output, Read, Write):
30310 Factor common code across the stream-oriented attribute circcuits into
30311 a new subprogram, Analyze_Stream_TSS_Definition. The new uniform
30312 processing is functionally identical to the previous duplicated one,
30313 except that an expression that denotes an abstract subprogram will now
30314 be rejected, as mandated by AI-195 item 5.
30315
30316 * sem_util.ads, sem_util.adb (Type_Access_Level): Use flag
30317 Is_Local_Anonymous_Access to apply accessibility checks to access
30318 components and stand-alone access objects.
30319 (Has_Discriminant_Dependent_Constraint): Moved to spec for use
30320 elsewhere.
30321 (Is_Potentially_Persistent_Type): New function
30322 (Is_Dependent_Component_Of_Mutable_Object): If the enclosing object is
30323 a heap-object whose type has a constrained partial view, the object is
30324 unconstrained and the component may depend on a discriminant, making its
30325 renaming illegal.
30326
30327 * sinfo.ads, sinfo.adb
30328 (Must_Not_Override): Flag applicable to N_Entry_Declaration.
30329 (Must_Override): Flag applicable to N_Entry_Declaration.
30330 Indicate that interface_list can appear in single task and single
30331 protected declarations.
30332 Replace Is_Overriding and Not_Overriding with Must_Override and
30333 Must_Not_Override, to better express intent of AI.
30334 Is_Overriding, Not_Overriding: Ada2005 flags that indicate the presence
30335 of an overriding indicator in a subprogram or instance.
30336 Ada 2005 (AI-248) Null_Present can appear in a procedure specification.
30337 Add the overriding indicator [[not] overriding] construct to the
30338 following grammar productions:
30339 ENTRY_DECLARATION
30340 GENERIC_INSTANTIATION
30341 SUBPROGRAM_SPECIFICATION
30342
30343 * par-ch10.adb (P_Compilation_Unit): Subprogram declaration or body
30344 can start with an overriding indicator.
30345
30346 * par-ch6.adb (P_Subprogram): Recognize overriding indicator, and set
30347 flags accordingly on subrogram specifications or instances.
30348
da8f5fd9 30349 * sem_ch8.adb:
0adcdb66
AC
30350 (Analyze_Subprogram_Renaming): For a renaming_as_body, verify that the
30351 overriding_indicator, if present, is consistent with status of spec.
30352 Improve error message for null-excluding checks on controlling access
30353 parameters.
30354 (Check_In_Previous_With_Clause): Protect the frontend against
30355 previously reported critical errors in the context clauses.
30356 Save and restore Ada_Version_Explicit, for implementation of AI-362
30357 (Analyze_Subprogram_Renaming): If the new entity is a dispatching
30358 operation verify that controlling formals of the renamed entity that
30359 are access parameters are explicitly non-null.
30360 (Find_Expanded_Name): Improve error message when prefix is an illegal
30361 reference to a private child unit.
30362
30363 * exp_imgv.adb, s-imgwch.ads, s-imgwch.adb, s-valwch.adb,
da8f5fd9 30364 s-valwch.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdwch.adb:
0adcdb66
AC
30365 Rewrite to correspond to new wide character names in AI-395
30366
6f7f72f9
EB
30367 * par-ch12.adb (P_Formal_Subprogram_Declaration): Recognize null
30368 default procedures.
0adcdb66
AC
30369
303702005-06-14 Ed Schonberg <schonberg@adacore.com>
30371 Robert Dewar <dewar@adacore.com>
30372
30373 * errout.ads, errout.adb (Error_Msg_NW): Only emit warning on user
30374 code, not on the bodies of predefined operations, to cut down on
30375 spurious noise.
30376
303772005-06-14 Ed Schonberg <schonberg@adacore.com>
30378
30379 * exp_aggr.adb (Aggr_Size_OK): An array with no components can always
30380 be expanded in place. The size computation does not require a
30381 subtraction, which would raise an exception on a compiler built with
30382 assertions when the upper bound is Integer'first.
30383 (Flatten): For an array of composite components, take into account the
30384 size of the components to determine whether it is safe to expand the
30385 array into a purely positional representation.
30386
303872005-06-14 Thomas Quinot <quinot@adacore.com>
30388
30389 * exp_ch2.adb (Param_Entity): Take the case of an expanded_name
30390 denoting a formal parameter into account.
30391
303922005-06-14 Ed Schonberg <schonberg@adacore.com>
30393
30394 * exp_ch7.adb (Find_Node_To_Be_Wrapped): If the node appears within
30395 the entry_call alternative of a conditional entry call, wrap the
30396 conditional entry call itself.
30397
303982005-06-14 Nicolas Setton <setton@adacore.com>
30399 Ed Schonberg <schonberg@adacore.com>
30400
30401 * exp_dbug.ads, exp_dbug.adb (Get_Variant_Part): Fix the encoding of
30402 the "simple_choice" member in a variant record, in accordance with the
30403 description in the package spec: the information output for a constant
30404 should be "S number", not "SS number".
30405 (Get_Encoded_Name): Return at once if not generating code. Avoids name
30406 overflow problem when compiling with -gnatct, for ASIS/gnatmetrics.
30407
304082005-06-14 Thomas Quinot <quinot@adacore.com>
30409
30410 * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): For an
30411 RACW without any primitives, do not generate the if statement for
30412 dispatching by name in the PolyORB/DSA case, as it would be malformed
30413 (it would have an Elsif_Parts list that is not No_List, but with a
30414 length of 0).
30415
304162005-06-14 Robert Dewar <dewar@adacore.com>
30417
30418 * exp_intr.adb, par-ch5.adb: Minor fix to error message text
30419
304202005-06-14 Jose Ruiz <ruiz@adacore.com>
30421
30422 * fe.h: Add entry for Opt.Exception_Locations_Suppressed so that gigi
30423 can determine whether pragma Suppress_Exception_Locations is in effect.
30424
30425 * utils2.c (build_call_raise): Do not pass the file name to the
30426 exception handler if pragma Suppress_Exception_Locations is in effect.
30427 (build_allocator): Add and process arg IGNORE_INIT_TYPE.
30428
304292005-06-14 Emmanuel Briot <briot@adacore.com>
30430
30431 * g-debpoo.adb (Deallocate, Dereference): Improve output.
30432
304332005-06-14 Nicolas Roche <roche@adacore.com>
30434
30435 * g-diopit.adb (Wildcard_Iterator): Return directly if Path is equal
30436 to ""
30437 (Next_Level): Fix minor bug in handling of ../dir case
30438 (Read): Add dir separator to Directory name so that "" is understood as
30439 "/"
30440
304412005-06-14 Pascal Obry <obry@adacore.com>
30442
30443 * g-dynhta.ads, g-dynhta.adb (Reset): Free the table itself after
30444 releasing the items.
30445
304462005-06-14 Vincent Celier <celier@adacore.com>
30447 Cyrille Comar <comar@adacore.com>
30448
30449 * g-os_lib.ads, g-os_lib.adb (Non_Blocking_Spawn): Two new versions
30450 with output file descriptor and with output file name.
30451 (Dup, Dup2): Now global procedures as they are used by two subprograms
30452 (Copy): Allocate the 200K buffer on the heap rather than on the stack.
30453
304542005-06-14 Thomas Quinot <quinot@adacore.com>
30455
30456 PR ada/6717
0adcdb66
AC
30457 * g-socket.ads, g-socket.adb (Inet_Addr): Special case the all-ones
30458 broadcast address.
30459 (Create_Selector): Bind listening socket used to create the signalling
30460 socket pair to 127.0.0.1 to limit the scope for 'theft' of connection.
30461 Set listen backlog to 1 to ensure that we detect socket theft by a
30462 failure of our own connect(2) call.
30463 (Check_Selector): Improve documentation of the selector mechanism.
30464 (Broadcast_Inet_Addr): New constant.
30465
304662005-06-14 Gary Dismukes <dismukes@adacore.com>
30467
30468 * layout.adb (Discrimify): Remove resetting of Vtype to the underlying
30469 type which turns out to be an incomplete and incorrect fix.
30470 (Layout_Array_Type): Use Underlying_Type when checking whether the scope
30471 of the type is declared in a record (for determination of insertion
30472 type).
30473 (SO_Ref_From_Expr): Test whether Vtype denotes a partial or full view of
30474 a private type and ensure that the primary entity is used for the type
30475 of the newly created function's V formal by taking the Etype of the
30476 view.
30477
304782005-06-14 Javier Miranda <miranda@adacore.com>
30479 Jose Ruiz <ruiz@adacore.com>
30480 Robert Dewar <dewar@adacore.com>
30481 Ed Schonberg <schonberg@adacore.com>
30482
30483 * lib-load.ads, lib-load.adb (Load_Unit): Addition of a new parameter
30484 that indicates if we are parsing a compilation unit found in a
30485 limited-with clause.
30486 It is use to avoid the circularity check.
30487
30488 * par.ads, par.adb (Par): Addition of a new parameter to indicate if
30489 we are parsing a compilation unit found in a limited-with clause. This
30490 is use to avoid the circularity check.
30491
30492 * par-load.adb (Load): Indicate Lib.Load_Unit if we are loading the
30493 unit as a consequence of parsing a limited-with clause. This is used
30494 to avoid the circularity check.
30495
30496 * sem_ch10.adb: Suppress Ada 2005 unit warning if -gnatwY used
30497 (Analyze_Context): Limited-with clauses are now allowed
30498 in more compilation units.
30499 (Analyze_Subunit_Context, Check_Parent): Protect the frontend
30500 againts previously reported critical errors in context clauses
30501 (Install_Limited_Withed_Unit): Code cleanup plus static detection
30502 of two further errors: renamed subprograms and renamed packages
30503 are not allowed in limited with clauses.
30504 (Install_Siblings): Do not install private_with_clauses on the package
30505 declaration for a non-private child unit.
30506 (Re_Install_Parents): When a parent of the subunit is reinstalled,
30507 reset visibility of child units properly.
30508 (Install_Withed_Unit): When a child unit appears in a with_clause of its
30509 parent, it is immediately visible.
30510
305112005-06-14 Ed Schonberg <schonberg@adacore.com>
30512 Emmanuel Briot <briot@adacore.com>
30513
30514 * lib-xref.ads, lib-xref.adb (Generate_Definition): Treat any entity
30515 declared within an inlined body as referenced, to prevent spurious
30516 warnings.
30517 (Output_One_Ref): If an entity renames an array component, indicate in
30518 the ALI file that this aliases (renames) the array. Capture as well
30519 function renamings that rename predefined operations.
30520 Add information about generic parent for package and subprogram
30521 instances.
30522 (Get_Type_Reference): For a subtype that is the renaming of an actual in
30523 an instantiation, use the first_subtype to ensure that we don't generate
30524 cross-reference information for internal types.
30525 For objects and parameters of a generic private type, retain the '*'
30526 indicator to distinguish such an entity from its type.
30527
6f7f72f9
EB
30528 * ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
30529 to store information about instantiated entities.
0adcdb66 30530
6f7f72f9
EB
30531 * ali.adb (Scan_ALI): Add support for parsing the reference to the
30532 generic parent
0adcdb66 30533
6f7f72f9
EB
30534 * xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
30535 (Parse_Identifier_Info, Parse_Token): Add support for the generic parent
30536 information.
0adcdb66
AC
30537
305382005-06-10 Doug Rupp <rupp@adacore.com>
30539 Arnaud Charlet <charlet@adacore.com>
30540 Olivier Hainque <hainque@adacore.com>
30541 Jose Ruiz <ruiz@adacore.com>
30542
30543 * Make-lang.in: Add initialize.o when needed.
30544 Remove obsolete references to RT_FLAGS.
30545 Add missing dependencies for sdefault.o
30546
30547 * initialize.c: New file.
30548
30549 * init.c [VMS] Declare ADA$ externs weak to fix build problem in IVMS.
30550 [VMS] cond_signal_table: Fix problem in declaration.
30551 [VMS] __gnat_error_handler: rewrite.
30552 Move all __gnat_initialize() routines to initialize.c
30553 Specialize the former "hpux" section to "hppa hpux", as this is what the
30554 section really is here for and we now have other hpux ports that need
30555 different contents.
30556 (__gnat_adjust_context_for_raise) i386-linux: First version of this
30557 function for this target. Adjust PC by one in the machine context. This
30558 adjustment was previously done in the MD_FALLBACK_FRAME_STATE_FOR, but
30559 it is more reliable to do that in the signal handler itself.
30560 (__gnat_install_handler) i386-linux: Set SA_SIGINFO in the sigaction
30561 flags, so that the handler is passed the context structure to adjust
30562 prior to the raise.
30563 (__gnat_error_handler) i386-linux: Adjust the signature to match what a
30564 SA_SIGINFO sigaction should look like. Call
30565 __gnat_adjust_context_for_raise before actually raising. Cleanup unused
30566 Machine_State_Operations stuff.
30567 Add conditional code so that the x86_64 is also supported.
30568
305692005-06-14 Pascal Obry <obry@adacore.com>
30570
30571 * mdll.adb (Get_Dll_Name): New routine that returns the DLL name given
30572 the library name.
30573
305742005-06-14 Robert Dewar <dewar@adacore.com>
30575
30576 * opt.ads, opt.adb: New flags for persistent_bss mode
30577 Add Ada_Version_Explicit, for implementation of AI-362
30578 Add Assertions_Enabled_Config and associated handling
30579 Needed since setting can be changed with Assertion_Policy pragma
30580 Add new flag Warn_On_Ada_2005_Compatibility
30581
30582 * switch-c.adb: Recognize -gnatwy/Y
30583 Set Ada_Version_Explicit, for implementation of AI-362
30584 The -gnatg switch now includes -gnatyu
30585
30586 * usage.adb: Add -gnatwy/Y
30587 Remove wrong asterisk on -gnatwX line
30588 Add line for -gnatyu switch
30589
305902005-06-14 Vincent Celier <celier@adacore.com>
30591
30592 * osint.adb (Add_Default_Search_Dirs): Put source and object
30593 directories of project files before directories coming from
30594 ADA_INCLUDE_PATH and ADA_OBJECTS_PATH.
30595
305962005-06-14 Robert Dewar <dewar@adacore.com>
30597
30598 PR ada/15613
0adcdb66
AC
30599 * par-ch2.adb (Scan_Pragma_Argument): New procedure
30600 (P_Pragma): Implement RM 2.8(4) check for no pos args after named args
30601
306022005-06-14 Vincent Celier <celier@adacore.com>
30603
30604 * prep.adb (Preprocess): Ignore error when scanning the first token of
30605 a line.
30606
306072005-06-14 Vincent Celier <celier@adacore.com>
30608
30609 * prj-nmsc.adb (Suffix_For): Change default suffix for C++ to ".cpp"
30610 (Check_Stand_Alone_Library): If the specified reference symbol file does
30611 not exist, only issue a warning when the symbol policy is not
30612 Controlled. And, when symbol policy is Compliant, set the symbol
30613 policy to Autonomous.
30614
306152005-06-14 Vincent Celier <celier@adacore.com>
30616
30617 * prj-part.adb (Pre_Parse_Context_Clause): Call Set_Is_Not_Last_In_List
30618 when the project file in a with clause is not the last one, that is the
30619 project file name is followed by a comma.
30620 * prj-pp.adb: (First_With_In_List): New Boolean global variable
30621 (Print): Issue list of project files separated by commas in with clauses
30622 according to the values returned by Is_Not_Last_In_List.
30623 * prj-tree.ads, prj-tree.adb: (Is_Not_Last_In_List): New function
30624 (Set_Is_Not_Last_In_List): New procedure
30625
306262005-06-14 Eric Botcazou <ebotcazou@adacore.com>
30627
30628 * s-atacco.ads: Put a pragma No_Strict_Aliasing on Object_Pointer.
30629
306302005-06-14 Robert Dewar <dewar@adacore.com>
30631
30632 * scng.adb: Add call to new Check_EOF routine
30633 (Accumulate_Checksum): Properly handle wide wide char >= 2 ** 24
30634 Add some comments regarding wide character handling
30635
30636 * style.ads, styleg.ads, styleg.adb: Implement new style switch -gnatyu
30637
30638 * stylesw.ads, stylesw.adb: Implement new style switch -gnatyu
30639
30640 * g-utf_32.ads, g-utf_32.adb (Is_UTF_32_Non_Graphic): Other_Format
30641 characters are now considered graphic characters and hence yield false
30642 in this call.
30643
6f7f72f9
EB
30644 * nmake.adt: Modify header so that xnmake does not generate output
30645 files with multiple blank lines.
0adcdb66 30646
6f7f72f9
EB
30647 * treeprs.adt: Remove a blank line so that output from xtreeprs does
30648 not have an extra blank line
0adcdb66
AC
30649
306502005-06-14 Gary Dismukes <dismukes@adacore.com>
30651
30652 * sem_aggr.adb (Aggregate_Constraint_Checks): Apply a conversion to the
30653 expression when the component type is an anonymous access type to
30654 ensure that appropriate accessibility checks are done.
30655
30656 * sem_ch5.adb (Analyze_Assignment): Apply a implicit conversion to the
30657 expression of an assignment when the target object is of an anonymous
30658 access type. This ensures that required accessibility checks are done.
30659 (One_Bound): Move the check for type Universal_Integer to
30660 Process_Bounds.
30661 (Process_Bounds): Check whether the type of the preanalyzed range is
30662 Universal_Integer, and in that case set Typ to Integer_Type prior
30663 to setting the type of the original range and the calls to One_Bound.
30664
306652005-06-14 Ed Schonberg <schonberg@adacore.com>
30666
30667 * sem_case.adb (Expand_Others_Choice): Improve warning.
30668
306692005-06-14 Ed Schonberg <schonberg@adacore.com>
30670
30671 * sem_eval.adb (Subtypes_Statically_Match): Use discriminant
30672 constraint of full view if present, when other type is discriminated.
30673 (Eval_Relational_Op): Recognize tests of pointer values against Null,
30674 when the pointer is known to be non-null, and emit appropriate warning.
30675
306762005-06-14 Robert Dewar <dewar@adacore.com>
30677 Ed Schonberg <schonberg@adacore.com>
30678
30679 PR ada/10671
0adcdb66
AC
30680 * sem_prag.adb: Implement pragma Persistent_BSS
30681 Remove obsolete pragma Persistent_Data, Persistent_Object
30682 Set Ada_Version_Explicit, for implementation of AI-362
30683 Test Ada_Version_Explicit for Preelaborate_05 and Pure_05
30684 Add processing for pragma Pure_05 and Preelaborate_05
30685 Add processing for Assertion_Policy pragma
30686 Add pragma identifiers for Assert
30687 (Analyze_Pragma, case Assert): Check number of arguments
30688 (Process_Inline): Additional guard against an illegal program, where the
30689 argument of the pragma is undefined, and warnings on redundant
30690 constructs are enabled.
30691 (Analyze_Pragma, case Obsolescent): Allow an optional second argument
30692 Ada_05 to this pragma, specifying that the pragma is only active in
30693 Ada_05 mode.
30694 (Check_Arg_Order): New procedure
30695 Add appropriate calls to this procedure throughout
30696 Also throughout, check entity name before doing any other checks
30697
30698 * snames.h snames.ads, snames.adb: Add pragma Persistent_BSS
30699 Remove obsolete pragma Persistent_Data, Persistent_Object
30700 Add entries for pragma Pure_05 and Preelaborate_05
30701 Add entries for Assertion_Policy pragma and associated names
30702 Add some names for pragma argument processing
30703
30704 * tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function
30705
307062005-06-14 Ed Schonberg <schonberg@adacore.com>
30707
30708 * sem_warn.adb (Warn_On_Known_Condition): If the constant expression
30709 appears within a negation (either from source or as a rewriting of
30710 inequality) adjust text of warning accordingly.
30711
307122005-06-14 Thomas Quinot <quinot@adacore.com>
30713
30714 * s-strxdr.adb: Follow AI95-00132
30715
307162005-06-14 Arnaud Charlet <charlet@adacore.com>
30717
30718 * s-tasren.adb (Exceptional_Complete_Rendezvous): Fix race condition.
30719
307202005-06-14 Arnaud Charlet <charlet@adacore.com>
30721 Jose Ruiz <ruiz@adacore.com>
30722
30723 * s-tposen.adb, s-tpobop.adb
30724 (Exceptional_Complete_Rendezvous): Save the occurrence and not only
30725 the exception id.
30726 (PO_Do_Or_Queue): Before queuing a task on an entry queue we check that
30727 there is no violation of the Max_Entry_Queue_Length restriction (if it
30728 has been set); Program_Error is raised otherwise.
30729 (Requeue_Call): Before requeuing the task on the target entry queue we
30730 check that there is no violation of the Max_Entry_Queue_Length
30731 restriction (if it has been set); Program_Error is raised otherwise.
30732
307332005-06-14 Robert Dewar <dewar@adacore.com>
30734
30735 * styleg.adb: Fix several remaining problems in -gnatyu switch
30736 Blank line count not reset at start
30737 Scanning outside source buffer in some cases
30738 Confusing message for blanks at end of file
30739 Non-empty blank lines not recognized
30740
30741 * nmake.adt: Modify header so that xnmake does not generate output
30742 files with multiple blank lines.
30743
6f7f72f9
EB
30744 * treeprs.adt: Remove a blank line so that output from xtreeprs does
30745 not have an extra blank line
0adcdb66
AC
30746
307472005-06-14 Sergey Rybin <rybin@adacore.com>
30748
30749 * styleg-c.adb (Body_With_No_Spec): Remove ':' from warning message.
30750
307512005-06-14 Doug Rupp <rupp@adacore.com>
30752 Vincent Celier <celier@adacore.com>
30753
30754 * vms_conv.ads, vms_conv.adb: Remove "Library" command.
30755 Update copyright.
30756
30757 * vms_data.ads: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
30758 Remove "Library" command.
30759 Change keyword for style check -gnatyd from NOCRLF to
30760 DOS_LINE_ENDINGS.
30761 Remove useless second style check keyword NONE
30762 Remove help documentation for inexistent style check keyword
30763 RM_COLUMN_LAYOUT.
30764 Add help documentation for style check keywords DOS_LINE_ENDINGS,
30765 UNNECESSARY_BLANK_LINES and XTRA_PARENS
30766 Add UNNECESSARY_BLANK_LINES for -gnatyu
30767 Add qualifiers /ALL_PROJECTS (-U) for GNAT PRETTY and GNAT METRIC
30768
6f7f72f9 30769 * ug_words: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
0adcdb66
AC
30770
307712005-06-14 Vincent Celier <celier@adacore.com>
30772
30773 * makegpr.adb (Compile_Link_With_Gnatmake): Invoke gnatmake with -d if
30774 gprmake was invoked with -d.
30775 (Compile_Sources): If -d was used, output the "completed ..." message
30776 for each compilation.
30777 (Scan_Arg): Recognize new switch -d
30778 When -c and at least one main is specified, set
30779 Unique_Compile to True to guarantee that no other sources will be
30780 compiled.
30781
307822005-06-14 Matthew Heaney <heaney@adacore.com>
30783
30784 * a-swunha.ads, a-swunha.adb: Removed. Replaced by a-swuwha.ad[sb]
30785 * a-swuwha.ads, a-swuwha.adb: New files
30786
30787 * a-szunha.ads, a-szunha.adb: Removed, replaced by a-szuzha.ad[sb]
30788 * a-szuzha.ads, a-szuzha.adb: New files.
30789
30790 * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
da8f5fd9
AJ
30791 a-crbtgk.adb, a-crbltr.ads, a-coorse.ads, a-coorse.adb, a-convec.ads,
30792 a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohata.ads, a-cohama.ads,
30793 a-cohama.adb, a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
30794 a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
0adcdb66 30795 a-cdlili.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb,
da8f5fd9 30796 a-cohase.ads, a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads,
0adcdb66
AC
30797 a-swunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb, a-shcain.ads,
30798 a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads, a-stwiha.adb,
30799 a-strhas.adb, a-stzhas.adb: synchronized to the latest version of the
30800 Ada 2005 RM.
30801
308022005-06-10 Eric Botcazou <ebotcazou@adacore.com>
30803 Olivier Hainque <hainque@adacore.com>
30804 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
30805 Pascal Obry <obry@adacore.com>
30806
30807 * gigi.h: (build_allocator): Add arg IGNORE_INIT_TYPE.
30808
30809 * trans.c (call_to_gnu): Issue a warning for users of Starlet when
30810 making a temporary around a procedure call because of non-addressable
30811 actual parameter.
30812 (process_freeze_entity): If entity is a private type, capture size
30813 information that may have been computed for the full view.
30814 (tree_transform, case N_Allocator): If have initializing expression,
30815 check type for Has_Constrained_Partial_View and pass that to
30816 build_allocator.
30817 (tree_transform, case N_Return_Statement): Pass extra arg to
30818 build_allocator.
30819
30820 * decl.c (annotate_value): Remove early return if -gnatR is not
30821 specified.
30822 (gnat_to_gnu_field): Don't make a packable type for a component clause
30823 if the position is byte aligned, the field is aliased, and the clause
30824 size isn't a multiple of the packable alignment. It serves no useful
30825 purpose packing-wise and would be rejected later on.
30826 (gnat_to_gnu_entity, case object): Pass extra arg to build_allocator.
30827
30828 PR ada/20515
30829 (gnat_to_gnu_entity): Remove use of macro _WIN32 which is wrong in the
30830 context of cross compilers. We use TARGET_DLLIMPORT_DECL_ATTRIBUTES
30831 instead.
30832 (create_concat_name): Idem.
30833
308342005-06-10 Robert Dewar <dewar@adacore.com>
30835 Eric Botcazou <ebotcazou@adacore.com>
30836 Ben Brosgol <brosgol@adacore.com>
30837 Cyrille Comar <comar@adacore.com>
30838 Sergey Rybin <rybin@adacore.com>
30839 Pascal Obry <obry@adacore.com>
30840
30841 * gnat_rm.texi: Add documentation for pragma Persistent_BSS
30842 Document second argument (Ada_05) of pragma Obsolescent
30843 Add note that call to subprogram marked with pragma Obsolescent
30844 is now considered to be a violation of program Restrictions
30845 (No_Obsolescent_Features).
30846 (Implementation Defined Pragmas) <Machine_Attribute>: Make it clear
30847 that only machine-dependent attributes are supported.
30848
da8f5fd9 30849 * gnat_ugn.texi:
0adcdb66
AC
30850 Commented out menu lines and empty section for gnatclean examples
30851 Document -gnatwy/Y
30852 Fix some over long lines
30853 Clarify and enhance documentation of ADA_PROJECT_PATH.
30854 Rework section 2.11.2(3) about linking with a non-GNU compiler.
30855 Mention new switch -fcallgraph-info.
30856 Mention new switch -fstack-usage.
30857 For gnatpp, replace '-notab' with '-N' and add this option to Index
30858 Corrected VMS example.
30859 VMS keyword for style check -gnatyd is DOS_LINE_ENDINGS, no NOCRLF
30860 Minor reformatting
30861 Add documentation for -gnatyu switch (unnecessary blank lines)
30862 Document new switch -U for GNAT PRETTY and GNAT METRIC
30863 Add note about Stdcall being handled as C convention on non Windows OS.
30864 Remove some junk typo in description of gnatbind -S switch
30865 Remove reference to Extensions_Allowed pragma
30866 Document the new order of the directories to be searched (source and
30867 object directories of project files before directories in ADA_*_PATH
30868 environment variables.
30869
6f7f72f9 30870 * g-trasym.ads: Document that IRIX is supported
0adcdb66
AC
30871
308722005-06-10 Arnaud Charlet <charlet@adacore.com>
30873
30874 * Makefile.in: Add initialize.o when needed.
30875 Adapt to new VMS package body Symbols and subunits
30876 No specialized version of a-sytaco is needed for VxWorks.
30877
30878 * a-wichun.ads, a-wichun.adb, a-zchuni.ads, a-zchuni.adb: New files.
30879 * a-zchara.ads, a-widcha.ads: New files.
30880
30881 * system-hpux-ia64.ads: New file.
30882
30883 * i-vxwork-x86.ads, i-vxwork.ads (intContext): Add this function which
30884 is imported from the VxWorks kernel.
30885
308862005-06-14 Robert Dewar <dewar@adacore.com>
30887
30888 * g-soliop-mingw.ads, g-soccon-vms.adb, a-swmwco.ads, exp_smem.adb,
30889 fmap.adb, a-szmzco.ads, s-traent-vms.adb, s-traent-vms.ads,
30890 a-direio.ads, a-exctra.ads, a-exexda.adb, a-exextr.adb, a-stream.ads,
30891 s-restri.ads, s-restri.adb, s-traent.adb, s-traent.ads, a-slcain.adb,
30892 a-stzhas.ads, a-tiinau.adb, comperr.adb, exp_ch11.adb, g-boubuf.adb,
30893 g-calend.adb, g-debpoo.ads, g-moreex.ads, gprep.adb, g-regpat.ads,
30894 i-cexten.ads, i-os2thr.ads, makeutl.ads, memroot.adb, mlib-prj.adb,
30895 namet.adb, namet.ads, prj-makr.adb, prj-proc.adb, sem_dist.adb,
30896 sem_elim.ads, s-valint.adb, s-vallli.adb, s-vallli.adb, s-vallli.ads,
30897 s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, scn.adb,
30898 s-tasinf.adb, targparm.adb, uname.adb, uname.ads, xnmake.adb,
30899 xsinfo.adb, a-direct.ads: Remove extra blank lines. Minor reformatting.
30900
309012005-06-14 Thomas Quinot <quinot@adacore.com>
30902
30903 * xeinfo.adb: Fix typo in comment
30904
309052005-06-14 Javier Miranda <miranda@adacore.com>
30906
30907 * repinfo.ads: Fix typo in comment
30908
309092005-06-14 Gary Dismukes <dismukes@adacore.com>
30910
30911 * s-finimp.adb (Parent_Tag): Delete this imported function (function
30912 Parent_Tag is now in the visible part of Ada.Tags).
30913 (Get_Deep_Controller): Call Ada.Tags.Parent_Tag directly instead of
30914 using imported function.
30915
309162005-06-14 Bernard Banner <banner@adacore.com>
30917
30918 * vxaddr2line.adb: Add support for Windows hosted x86 vxworks. Should
30919 also apply for handling support for VxSim 653.
30920
309212005-06-14 Eric Botcazou <ebotcazou@adacore.com>
30922
30923 * xsnames.adb: Add automatic generation of snames.h.
30924
309252005-06-14 Thomas Quinot <quinot@adacore.com>
30926
30927 * gen-soccon.c: Add IP_MULTICAST_IF constant
30928 Minor reformatting and adjustments to prevent warnings.
30929
309302005-06-14 Pascal Obry <obry@adacore.com>
30931
30932 * seh_init.c: Do not include <sys/stat.h>. This is not needed.
30933
e0d161cf
AP
309342005-06-03 Andrew Pinski <pinskia@physics.uc.edu>
30935
30936 * trans.c (gnat_gimplify_expr): Call
30937 recompute_tree_invarant_for_addr_expr when we change
30938 the operand of the ADDR_EXPR.
30939
4c714dd4
KG
309402005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
30941
30942 * misc.c: Don't include errors.h.
30943
7b9997f3
KG
309442005-05-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
30945
30946 * raise.c (db): Add ATTRIBUTE_PRINTF_2.
30947
5ff62c2e
KH
309482005-05-29 Kazu Hirata <kazu@cs.umass.edu>
30949
30950 * cal.c, decl.c, init.c, raise.c, trans.c, utils2.c: Fix
30951 comment typos.
30952 * gnat_rm.texi, gnat_ugn.texi: Fix typos.
30953
9e94c78f 309542005-05-16 Nathanael Nerode <neroden@gcc.gnu.org>
8b37cc64
NN
30955
30956 PR ada/20270
30957 * Makefile.in: Make TGT_LIB behave correctly.
30958
d4ee4d25
DD
309592005-04-23 DJ Delorie <dj@redhat.com>
30960
30961 * misc.c: Adjust warning() callers.
30962
9e94c78f 309632005-04-16 Laurent Guerby <laurent@guerby.net>
159921c0 30964
6f7f72f9
EB
30965 PR ada/18847
30966 * a-nudira.adb (Value): Check for valid string.
30967 * a-nuflra.adb (Value): Likewise.
159921c0 30968
0b026622
RS
309692005-04-11 Richard Sandiford <rsandifo@redhat.com>
30970
30971 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
30972
bde83138
KH
309732005-04-10 Kazu Hirata <kazu@cs.umass.edu>
30974
30975 * adaint.c, init.c, tracebak.c: Fix comment typos.
30976 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.
30977
9e94c78f 309782005-04-07 Laurent Guerby <laurent@guerby.net>
ad9945b5
LG
30979 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
30980
30981 * Makefile.in: Add make ifeq define for hppa linux tasking support.
30982 * system-hpux.ads: Define Signed_Zeros to be True.
30983 * system-linux-hppa.ads, s-osinte-linux-hppa.ads: New files.
30984
45f7cb60
KH
309852005-04-01 Kazu Hirata <kazu@cs.umass.edu>
30986
30987 * adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c,
30988 raise.c, tracebak.c, trans.c, utils2.c, utils.c: Fix comment
30989 typos.
30990
5662a50d
TT
309912005-03-30 Tom Tromey <tromey@redhat.com>
30992
30993 * decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE.
30994
e6e375cc
AL
309952005-03-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
30996
30997 * adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
30998
5db8bc34
AC
309992005-03-29 Robert Dewar <dewar@adacore.com>
31000
31001 * sem_res.adb (Resolve_Real_Literal): Generate warning if static
31002 fixed-point expression has value that is not a multiple of the Small
31003 value.
31004
31005 * opt.ads (Warn_On_Bad_Fixed_Value): New flag
31006
31007 * s-taprop-tru64.adb (RT_Resolution): Return an integer number of
31008 nanoseconds.
31009
31010 * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
31011
310122005-03-29 Vincent Celier <celier@adacore.com>
31013
31014 * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
31015 (Build_Dynamic_Library.Version_String): Return the empty string when
31016 Lib_Version is empty or when the symbol policy is not Autonomous.
31017
31018 * symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
31019 a symbol is not in the reference symbol file, increase the Major ID
31020 and set the Minor ID to 0.
31021 Use gsmatch=lequal instead of gsmatch=equal
31022
310232005-03-29 Doug Rupp <rupp@adacore.com>
31024
31025 * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
31026 name and translate.
31027
310282005-03-29 Javier Miranda <miranda@adacore.com>
31029
31030 * a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
31031 (Inherit_DT): The first formal has been redefined as a Tag.
31032 This allows us the removal of the subprogram Get_TSD.
31033 (TSD): Replace the call to Get_TSD by the actual code.
31034
31035 * exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
31036 (Make_DT): Upgrade the call to Inherit_TSD according to the
31037 new interface: the first formal is now a Tag.
31038
31039 * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
31040 redefined as a Tag.
31041 This change allows us to remove the subprogram Get_TSD.
31042 (CPP_Get_TSD): Subprogram removed.
31043 (TSD): Replace the call to CPP_Get_TSD by the actual code.
31044
31045 * rtsfind.ads: Remove support to call the run-time
31046 subprogram Get_TSD
31047
310482005-03-29 Robert Dewar <dewar@adacore.com>
31049
da8f5fd9 31050 * errutil.adb, errout.adb:
5db8bc34
AC
31051 Minor comment updates on Line_Terminator references
31052
31053 * par-ch10.adb: Add ??? comment about line terminator
31054
31055 * styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
31056 (check dos line terminator).
31057 (Check_Line_Max_Length): New procedure, split off from the existing
31058 Check_Line_Terminator routine. Separating this out allows -gnatyf to
31059 be properly recognized.
31060
31061 * styleg.adb: Add ??? comment for line terminator reference
31062
31063 * scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
31064 (Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
31065
31066 * styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
31067 (check dos line terminator).
31068 (Check_Line_Max_Length): New procedure, split off from the existing
31069 Check_Line_Terminator routine. Separating this out allows -gnatyf to
31070 be properly recognized.
31071
da8f5fd9 31072 * stylesw.ads, stylesw.adb:
5db8bc34
AC
31073 Add handling for new -gnatyd switch (check dos line terminator)
31074
31075 * switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
31076 Recognize -gnatwb/-gnatwB switches
31077 Include Warn_On_Bad_Fixed_Value for -gnatg
31078
da8f5fd9 31079 * usage.adb:
5db8bc34
AC
31080 Add line for new -gnatyd switch (check dos line terminator)
31081
31082 * usage.adb: Add lines for -gnatwb/-gnatwB
31083
31084 * vms_data.ads: Add entry for NOCRLF (-gnatyd)
31085
31086 * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
31087
31088 * gnat_ugn.texi: Fix overlong lines
31089 Document new -gnatyd switch
31090 Document new -gnatwb/-gnatwB switches
31091
310922005-03-29 Ed Schonberg <schonberg@adacore.com>
31093
31094 * exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
31095 order to retrieve the component list of the type, before examining
31096 individual components.
31097
31098 * sem_type.adb (Covers): Types are compatible if one is the base type
31099 of the other, even though their base types might differ when private
31100 views are involved.
31101
311022005-03-29 Thomas Quinot <quinot@adacore.com>
31103
31104 * exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
31105 To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
31106 of using Set_Renaming_TSS. This ensures that the TSS bodies are not
31107 analyzed if expansion is disabled (which could otherwise cause spurious
31108 error messages if expansion has been disabled due to previous
31109 (unrelated) errors).
31110
31111 * sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
31112 is disabled, the entity denoted by the argument is the access type
31113 itself, not an underlying record type, so there is no need to go back
31114 to the Corresponding_Remote_Type.
31115
311162005-03-29 Gary Dismukes <dismukes@adacore.com>
31117 Robert Dewar <dewar@adacore.com>
31118
31119 * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
31120 expand a call to an instance of
31121 Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
31122 Constructor actual of the instance. A class-wide membership
31123 check is also generated, to ensure that the tag passed to the instance
31124 denotes a type in the class.
31125 (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
31126 of Name_Generic_Dispatching_Constructor.
31127
31128 * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
31129 05 unit for AI-260-02).
31130
31131 * a-tgdico.ads: New file.
31132
31133 * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
31134 predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
31135
31136 * snames.ads, snames.adb (Preset_Names): Add entry for
31137 Generic_Dispatching_Constructor.
31138
31139 PR ada/20300
5db8bc34
AC
31140 * sem_ch8.adb (Find_Direct_Name): Go to root type for check of
31141 character type cases.
31142 (Analyze_Subprogram_Renaming): Add special handling for
31143 the case of renaming of stream attributes when the renaming denotes a
31144 generic formal subprogram association for an abstract formal subprogram.
31145 Check that the attribute is a primitive stream attribute (and not
31146 a class-wide stream attribute) and then rewrite the attribute name
31147 as the name of the appropriate compiler-generated stream primitive.
31148
311492005-03-29 Robert Dewar <dewar@adacore.com>
31150
31151 * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
31152 recursive calls.
31153 (Is_Possibly_Unaligned_Object): Correct typo that
31154 resulted in inaccurate result for unaligned scalars within records.
31155
311562005-03-29 Ed Schonberg <schonberg@adacore.com>
31157
31158 * freeze.adb (Freeze_Record_Type): If the type of the component is an
31159 itype whose parent is controlled and not yet frozen, do not create a
31160 freeze node for the itype if expansion is disabled.
31161
311622005-03-29 Vincent Celier <celier@adacore.com>
31163
31164 * make.adb (Gnatmake): Don't fail if the main project file is declared
31165 as having no Ada sources. Do not display message "no sources to
31166 compile" in quiet output.
31167
311682005-03-29 Doug Rupp <rupp@adacore.com>
31169
31170 * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
31171 extra tools.
31172
311732005-03-29 Robert Dewar <dewar@adacore.com>
31174
31175 * par-ch12.adb (P_Generic): Give better msg for illegal private generic
31176 child.
31177
311782005-03-29 Robert Dewar <dewar@adacore.com>
31179
31180 * par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
31181 missing TYPE Improve the error message generated when compiling a
31182 limited interface in Ada83 or Ada95 mode.
31183
311842005-03-29 Robert Dewar <dewar@adacore.com>
31185
31186 * par-ch4.adb (P_Name): When a bad attribute is returned, return error,
31187 rather than proceed ahead using a junk attribute name.
31188
311892005-03-29 Vincent Celier <celier@adacore.com>
31190
31191 * prj.ads, prj.adb: (Project_Data): Add new component Display_Name
31192
31193 * prj-part.adb (Parse_Single_Project): Set the location of a project
31194 on its defining identifier, rather than on the reserved word "project".
31195
31196 * prj-proc.adb (Expression): Adapt to the fact that default of external
31197 references may be string expressions, not always literal strings.
31198 (Recursive_Process): Set Display_Name equal to Name
31199 when Location is No_Location, that is when there is no actual file.
31200 Get the Display_Name of the project from the source, when it is not a
31201 virtual project.
31202 (Process): Use the Display_Name in error messages
31203
31204 * prj-strt.adb (External_Reference): Allow default to be string
31205 expressions, not only literal strings.
31206
312072005-03-29 Vincent Celier <celier@adacore.com>
31208
31209 * prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol
31210 file and the reference symbol file to be the same file.
31211
312122005-03-29 Thomas Quinot <quinot@adacore.com>
31213
31214 * sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to
31215 forbid conversion of a local access-to-subprogram type to a remote one.
31216
31217 * sem_util.adb (Wrong_Type): For a record type that is the expanded
31218 equivalent type for a remote access-to-subprogram type, go back to the
31219 original RAS entity when displaying an error message, so the casing is
31220 the original source casing.
31221
312222005-03-29 Robert Dewar <dewar@adacore.com>
31223
31224 * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
31225 on param update.
31226
312272005-03-29 Ed Schonberg <schonberg@adacore.com>
31228
31229 * sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
31230 subtype if code is being pre-analyzed, to prevent un-expanded
31231 references to protected formals, among others.
31232 (Analyze_Explicit_Dereference): If the overloaded prefix includes some
31233 interpretation that can be a call, include the result of the call as a
31234 possible interpretation of the dereference.
31235
31236 * sem_ch5.adb (Process_Bounds): Determine type of range by
31237 pre-analyzing a copy of the original range, and then analyze the range
31238 with the expected type.
31239
31240 * sem_res.adb (Check_Parameterless_Call): For an explicit dereference
31241 with an overloaded prefix where not all interpretations yield an
31242 access to subprogram, do not rewrite node as a call.
31243 (Resolve_Explicit_Dereference): Recognize the previous case and rewrite
31244 the node as a call once the context identifies the interpretation of
31245 the prefix whose call yields the context type.
31246 (Valid_Conversion): For the case of a conversion between
31247 local access-to-subprogram types, check subtype conformance using
31248 Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
31249 detailed error message.
31250
312512005-03-29 Ed Schonberg <schonberg@adacore.com>
31252
31253 * sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
31254 indicator, indicate that the formal can never be null.
31255 (Process_Formals): If a formal has a non_null indicator, insert the
31256 resulting subtype immediately before the enclosing subprogram decl,
31257 and not at the beginning of the corresponding declarative part, to
31258 prevent access before elaboration (Ada2005).
31259
312602005-03-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
31261
31262 PR ada/19956
31263 * utils.c (finish_record_type): Use variable_size when setting sizes.
31264
312652005-03-29 Robert Dewar <dewar@adacore.com>
31266
31267 * xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
31268 guarantee Unix style line terminators for the output files, even when
31269 running on windows.
31270
312712005-03-29 Robert Dewar <dewar@adacore.com>
31272
31273 * a-direct.ads, a-direct.adb (Start_Search): Free allocated search
31274 buffer if an exception is raised.
31275
312762005-03-29 Ed Falis <falis@adacore.com>
31277
31278 * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
31279 VxWorks 653 1.4
31280
312812005-03-29 Robert Dewar <dewar@adacore.com>
31282
31283 * sem_util.ads: Minor reformatting
31284 * gnat_rm.texi: Minor editing.
31285
312862005-03-29 Eric Botcazou <ebotcazou@adacore.com>
31287
31288 * decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
31289 * trans.c (tree_transform) <N_Identifier>: Use correct predicates.
31290
aad9ff31
AL
312912005-03-24 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
31292
31293 * adaint.c (__gnat_portable_spawn): Adjust cast.
31294
d101034c
JM
312952005-03-23 Joseph S. Myers <joseph@codesourcery.com>
31296
31297 * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
31298
3a0c4f5a
AC
312992005-03-17 Pascal Obry <obry@adacore.com>
31300
31301 * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
31302 used.
31303
31304 * expect.c (__gnat_waitpid): Moved here from adaint.c.
31305 Reimplement under Win32 using Win32 API.
31306
31307 (__gnat_kill) [Win32]: Properly close the process handle before leaving
31308 this routine.
31309
313102005-03-17 Eric Botcazou <ebotcazou@adacore.com>
31311
31312 * ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
31313 (DECL_RENAMED_OBJECT): New accessor macro.
31314 (SET_DECL_RENAMED_OBJECT): New setter macro.
31315
31316 * decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
31317 object in all cases. Attach the renamed object to the VAR_DECL.
31318 (gnat_to_gnu_field): Do not lift the record wrapper if the size of the
31319 field is not prescribed.
31320
31321 * misc.c (gnat_handle_option): Handle -gnatO separately.
31322 (gnat_print_decl) <VAR_DECL>: New case.
31323 Print the DECL_RENAMED_OBJECT node.
31324
31325 * lang.opt: Declare separate -gnatO option.
31326
31327 * trans.c (tree_transform) <N_Identifier>: If the object is a renaming
31328 pointer, replace it with the renamed object.
31329 <N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
31330 pointer type if the source is not a fat pointer type whose underlying
31331 array has the same non-zero alias set as that of the destination array.
31332
313332005-03-17 Javier Miranda <miranda@adacore.com>
31334
31335 * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
31336 (Get_Inheritance_Depth): Removed.
31337 (Set_Inheritance_Depth): Removed.
31338
31339 * rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the
31340 subprogram Get_Expanded_Name because it is not referenced by the
31341 frontend.
31342
31343 * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
31344 (CPP_Get_Inheritance_Depth): Removed.
31345 (CPP_Set_Inheritance_Depth): Removed.
31346
31347 * tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
31348
313492005-03-17 Robert Dewar <dewar@adacore.com>
31350
31351 * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC
31352 3, since we now expect GCC 3 to do all the work.
31353
313542005-03-17 Javier Miranda <miranda@adacore.com>
31355
31356 * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
31357 of one barrier to avoid wrong usage of this attribute.
31358
31359 * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
31360 First_Private_Entity.
31361
31362 * sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect
31363 the subprogram against wrong usage.
31364 Adapt the code to traverse the entities in the
31365 scope of a record_type because in addition to its usage regarding
31366 packages, this subprogram is also called by Expand_N_Freeze_Entity
31367 to install the visible declarations of the enclosing scope of a
31368 record_type_with_private to establish the proper visibility before
31369 freezing the entity and related subprograms.
31370
313712005-03-17 Ed Schonberg <schonberg@adacore.com>
31372
31373 * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
31374 entry formals.
31375
313762005-03-17 Thomas Quinot <quinot@adacore.com>
31377
31378 * exp_ch3.adb (Check_Attr): New subprogram.
31379 (Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement
31380 into a new Check_Attr subprogram, in order to provide a more
31381 explanatory error message (including the name of the missing attribute).
31382 (Stream_Operation_OK): Renamed from Stream_Operations_OK. This
31383 subprogram determines whether a default implementation exists for a
31384 given stream attribute.
31385 (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies):
31386 Determine whether to generate a default implementation for each stream
31387 attribute separately, as this depends on the specific attribute.
31388
31389 * exp_strm.adb (Make_Field_Attribute): For the case of an illegal
31390 limited extension where a stream attribute is missing for a limited
31391 component (which will have been flagged in Exp_Ch3.Sem_Attr), do not
31392 generate a bogus reference to the missing attribute to prevent
31393 cascaded errors. Instead, generate a null statement.
31394
31395 * sem_attr.adb (Check_Stream_Attribute): A stream attribute is
31396 available for a limited type if it has been specified for an ancestor
31397 of the type.
31398
313992005-03-17 Ed Schonberg <schonberg@adacore.com>
31400
31401 * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
31402 entity is an operator.
31403
314042005-03-17 Thomas Quinot <quinot@adacore.com>
31405
31406 * exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
31407 spec, to make this predicate available to other units.
31408
31409 * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
31410 reimplementing it.
31411
31412 * sem_ch8.adb: Disable expansion of remote access-to-subprogram types
31413 when no distribution runtime library is available.
31414
31415 * sem_res.adb, sem_dist.adb: Disable expansion of remote
31416 access-to-subprogram types when no distribution runtime library is
31417 available.
31418 (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
31419 predicate available to other units.
31420
31421 * sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
31422 spec, to make this predicate available to other units.
31423
314242005-03-17 Vincent Celier <celier@adacore.com>
31425
31426 * make.adb (Insert_Project_Sources): Make sure the Q is always
31427 initialized.
31428
31429 * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
31430 the default for the tree, not the global default naming.
31431
31432 * prj-proc.adb (Recursive_Process): No need to put the default naming
31433 in the project data, it's already there.
31434
314352005-03-17 Doug Rupp <rupp@adacore.com>
31436
31437 * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
31438
6f7f72f9
EB
31439 * 5xcrtl.ads: Renamed to...
31440 * s-crtl-vms64.ads: ...this new file
3a0c4f5a
AC
31441
314422005-03-17 Robert Dewar <dewar@adacore.com>
31443
31444 PR ada/19519
3a0c4f5a
AC
31445 * namet.adb (Copy_One_Character): Set proper wide character encoding
31446 for upper half character if we have upper half encoding.
31447
314482005-03-17 Robert Dewar <dewar@adacore.com>
31449
31450 * par.adb (Par): Improved msg for attempt to recompile predefined unit
31451
314522005-03-17 Thomas Quinot <quinot@adacore.com>
31453
31454 * sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a
31455 tagged limited type, the TSS is a newly built renaming declaration:
31456 insert it using Set_TSS, not Copy_TSS.
31457
314582005-03-17 Javier Miranda <miranda@adacore.com>
31459
31460 * sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and
31461 Try_Object_Operation): Analyze the object that is accessible
31462 through the prefix of the subprogram call before we apply
31463 the transformation of the object-operation notation.
31464
314652005-03-17 Jose Ruiz <ruiz@adacore.com>
31466
31467 * s-taprob.adb (Initialize_Protection): Initialize the protected
31468 object's owner to Null_Task.
31469 (Lock): If pragma Detect_Blocking is in effect and the caller of this
31470 procedure is already the protected object's owner then Program_Error
31471 is raised. In addition the protected object's owner is updated.
31472 (Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller
31473 of this procedure is already the protected object's owner then
31474 Program_Error is raised.
31475 In addition the protected object's owner is updated.
31476 (Unlock): Remove the ownership of the protected object.
31477
31478 * s-taprob.ads (Protection): Add the field Owner, used to store the
31479 protected object's owner.
31480 This component is needed for detecting one type of potentially blocking
31481 operations (external calls on a protected subprogram with the same
31482 target object as that of the protected action). Document the rest of
31483 the components.
31484
31485 * s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries):
31486 Initialize the protected object's owner to Null_Task.
31487 (Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the
31488 caller of this procedure is already the protected object's owner then
31489 Program_Error is raised.
31490 Do not raise Program_Error when this procedure is called from a
31491 protected action.
31492 (Unlock_Entries): Remove the ownership of the protected object.
31493 (Lock_Entries): If pragma Detect_Blocking is in effect and the caller
31494 of this procedure is already the protected object's owner then
31495 Program_Error is raised.
31496 Do not raise Program_Error when this procedure is called from
31497 a protected action.
31498
31499 * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
31500 used to store the protected object's owner.
31501
31502 * s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in
31503 effect and this procedure (a potentially blocking operation) is called
31504 from whithin a protected action, Program_Error is raised.
31505 (Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect
31506 and this procedure (a potentially blocking operation) is called from
31507 whithin a protected action, Program_Error is raised.
31508
315092005-03-17 Vincent Celier <celier@adacore.com>
31510 Nicolas Setton <setton@adacore.com>
31511
31512 * mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini"
31513 switch, not supported by the linker on Darwin. Add '_' before
31514 <library>init, as this character is added unconditionally by the
31515 compiler.
31516 (Is_Archive_Ext): Replace the wrong library extension ".dyld" by the
31517 correct one ".dylib". This fixes detection of the archive files when
31518 building library projects.
31519
315202005-03-17 Vincent Celier <celier@adacore.com>
31521
31522 * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
31523 -gnat83, -gnat95 and -gnat05.
31524
315252005-03-17 Vasiliy Fofanov <fofanov@adacore.com>
31526
31527 * gnat_ugn.texi: Document gnatmem restriction
31528
315292005-03-17 Thomas Quinot <quinot@adacore.com>
31530
31531 * snames.adb: Document new TSS names introduced by exp_dist/exp_tss
31532 cleanup
31533
315342005-03-17 Robert Dewar <dewar@adacore.com>
31535
31536 * s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb,
31537 a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb,
31538 s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting
31539
31540 * casing.adb: Comment improvements
31541
315422005-03-17 Pascal Obry <obry@adacore.com>
31543
31544 * g-expect.adb: Minor reformatting.
31545
a1286ef5
ZW
315462005-03-15 Zack Weinberg <zack@codesourcery.com>
31547
31548 * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
31549 (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
31550 to dependencies.
31551
2532808d
VC
315522005-03-15 Vincent Celier <celier@adacore.com>
31553
a1286ef5
ZW
31554 * mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
31555 Add new parameter In_Tree to specify the project tree: needed
31556 by the project manager. Adapt to changes in project manager
31557 using new parameter In_Tree.
2532808d 31558
e2d6b9b9
JJ
315592005-03-15 Jakub Jelinek <jakub@redhat.com>
31560
31561 * Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
31562 ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
31563 ada/bldtools to avoid make -jN failures.
31564
813edff1
EB
315652005-03-15 Eric Botcazou <ebotcazou@adacore.com>
31566
31567 * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
31568 to NULL_TREE on entry.
31569
4f51c6e7
AC
315702005-03-15 Robert Dewar <dewar@adacore.com>
31571
31572 * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
31573 system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
31574 system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
31575 system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
31576 system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
31577 system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
31578 system-interix.ads, system-solaris-sparc.ads,
31579 system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
31580 system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
31581 system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
31582 system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
31583 system-linux-s390.ads, system-linux-s390x.ads: Add line defining
31584 Compiler_System_Version to be False.
31585
31586 * opt.ads: Add new flag Opt.Address_Is_Private
31587
31588 * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
31589 Add new parameter Compiler_System_Version to avoid checking for
31590 completeness of parameters when compiler is compiling itself.
31591 Allows old versions of GNAT to be compiled with new compiler.
31592
315932005-03-15 Eric Botcazou <ebotcazou@adacore.com>
31594
31595 * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
31596 (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
31597 calling thread.
31598 (Stack_Base_Available): New flag.
31599 (Get_Page_Size): New overloaded functions imported from C.
31600 (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
31601 PROT_ON, PROT_OFF): New constants.
31602 (mprotect): New function imported from C.
31603 (pthread_teb_t): New record type.
31604
31605 * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
31606 (Create_Task): Account for the Yellow Zone and the guard page.
31607
316082005-03-15 Vincent Celier <celier@adacore.com>
31609
31610 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
31611 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
31612 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
31613 mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
31614 Library_File_Name_For): Add new parameter In_Tree
31615 to specify the project tree: needed by the project manager.
31616 Adapt to changes in project manager using new parameter In_Tree.
31617 Remove local imports, use functions in System.CRTL.
31618
31619 * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
31620 to use the project manager.
31621
31622 * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
31623 In_Tree to designate the project tree. Adapt to changes in the project
31624 manager, using In_Tree.
31625
31626 * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
31627 Copy_Interface_Sources): Add new parameter In_Tree to specify the
31628 project tree: needed by the project manager.
31629 (Build_Library): Check that Arg'Length >= 6 before checking if it
31630 contains "--RTS=...".
31631
31632 * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
31633 Library_File_Name_For): Add new parameter In_Tree to specify the
31634 project tree: needed by the project manager.
31635
31636 * prj.ads, prj.adb: Major modifications to allow several project trees
31637 in memory at the same time.
31638 Change tables to dynamic tables and hash tables to dynamic hash
31639 tables. Move tables and hash tables from Prj.Com (in the visible part)
31640 and Prj.Env (in the private part). Move some constants from the visible
31641 part to the private part. Make other constants deferred.
31642 (Project_Empty): Make it a variable, not a function
31643 (Empty_Project): Add parameter Tree. Returns the data with the default
31644 naming data of the project tree Tree.
31645 (Initialize): After updating Std_Naming_Data, copy its value to the
31646 component Naming of Project Empty.
31647 (Register_Default_Naming_Scheme): Use and update the default naming
31648 component of the project tree, instead of the global variable
31649 Std_Naming_Data.
31650 (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
31651 Tree is not defaulted, return the default naming data of the Tree.
31652 (Initial_Buffer_Size): Constant moved from private part
31653 (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
31654 variables initialized in procedure Initialize.
31655 (Add_To_Buffer): Add two in out parameters to replace global variables
31656 Buffer and Buffer_Last.
31657 (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
31658 functions.
31659 Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
31660 hash tables.
31661 (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
31662 for the project tree.
31663 (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
31664 constant at the beginning of the package spec, so that they cane be used
31665 in subprograms before their full declarations.
31666 (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
31667 (Empty_Project): Add parameter of type Project_Node_Ref
31668 (Private_Project_Tree_Data): Add component Default_Naming of type
31669 Naming_Data.
31670 (Buffer, Buffer_Last): remove global variables
31671 (Add_To_Buffer): Add two in out parameters to replace global variables
31672 Buffer and Buffer_Last.
31673 (Current_Packages_To_Check): Remove global variable
31674 (Empty_Name): Move to private part
31675 (No-Symbols): Make it a constant
31676 (Private_Project_Tree_Data): New type for the private part of the
31677 project tree data.
31678 (Project_Tree_Data): New type for the data of a project tree
31679 (Project_Tree_Ref): New type to designate a project tree
31680 (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
31681 for the project tree.
31682
31683 * prj-attr.ads: Add with Table; needed, as package Prj no longer
31684 imports package Table.
31685
31686 * prj-com.adb: Remove empty, no longer needed body
31687
31688 * prj-com.ads: Move most of the content of this package to package Prj.
31689
31690 * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
31691 designate the project node tree and Packages_To_Check to replace
31692 global variable Current_Packages_To_Check.
31693 Add new parameters In_Tree and Packages_To_Check to local subprograms,
31694 when needed. Adapt to changes in project manager with project node tree
31695 In_Tree.
31696
31697 * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
31698 project tree to most subprograms. Move tables and hash tables to
31699 private part of package Prj.
31700 Adapt to changes in project manager using project tree In_Tree.
31701
31702 * prj-makr.adb (Tree): New constant to designate the project node tree
31703 Adapt to change in project manager using project node tree Tree
31704
31705 * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
31706 display the Library_Src_Dir and the Library_Dir.
31707 Add new parameter In_Tree to designate the project node tree to most
31708 subprograms. Adapt to changes in the project manager, using project tree
31709 In_Tree.
31710 (Check_Naming_Scheme): Do not alter the casing on platforms where
31711 the casing of file names is not significant.
31712 (Check): Add new parameter In_Tree to designate the
31713
31714 * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
31715 designate the project tree.
31716 Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
31717
31718 * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
31719 to replace those that were in the private part of package Prj.
31720 Add new parameter In__Tree to designate the project node tree to most
31721 subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
31722 (Post_Parse_Context_Clause): When specifying the project node of a with
31723 clause, indicate that it is a limited with only if there is "limited"
31724 in the with clause, not necessarily when In_Limited is True.
31725 (Parse): Add new parameter In_Tree to designate the project node tree
31726
31727 * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
31728 designate the project node tree. Adapt to change in Prj.Tree with
31729 project node tree In_Tree.
31730
31731 * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
31732 tree In_Tree in the call to function Empty_Process to give its initial
31733 value to the project data Processed_Data.
31734 Add new parameters In_Tree to designate the project tree and
31735 From_Project_Node_Tree to designate the project node tree to several
31736 subprograms. Adapt to change in project manager with project tree
31737 In_Tree and project node tree From_Project_Node_Tree.
31738
31739 * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
31740 to replace those that were in the private part of package Prj.
31741 Add new parameter In_Tree to designate the project node tree to most
31742 subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
31743
31744 * prj-tree.ads, prj-tree.adb: Add new parameter of type
31745 Project_Node_Tree_Ref to most subprograms.
31746 Use this new parameter to store project nodes in the designated project
31747 node tree.
31748 (Project_Node_Tree_Ref): New type to designate a project node tree
31749 (Tree_Private_Part): Change table to dynamic table and hash tables to
31750 dynamic hash tables.
31751
31752 * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
31753 the project tree to most subprograms. Adapt to changes in project
31754 manager using project tree In_Tree.
31755
31756 * makegpr.adb (Project_Tree): New constant needed to use project
31757 manager.
31758
317592005-03-15 Olivier Hainque <hainque@adacore.com>
31760
31761 * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
31762 for sigactions with SA_SIGINFO set. Call
31763 __gnat_adjust_context_for_raise before raising, to perform the
31764 potentially required adjustments to the machine context for the GCC
31765 unwinder.
31766
31767 * raise.h (__gnat_adjust_context_for_raise): New prototype.
31768
31769 * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
31770 Adjust PC by one in the provided machine context.
31771 (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
31772 so that the handler is passed the context structure to adjust prior to
31773 the raise.
31774 (__gnat_error_handler) HPUX: Adjust the signature to match what an
31775 SA_SIGINFO sigaction should look like. Call
31776 __gnat_adjust_context_for_raise before actually raising.
31777 (__gnat_adjust_context_for_raise): Default noop to help PC
31778 adjustments before raise from signal handlers.
31779 (__gnat_error_handler): Indirectly call a predicate function to
31780 determine if a condition should be resignaled or not.
31781 (__gnat_set_resignal_predicate): User interface to modify the predicate.
31782 (__gnat_default_resignal_p): Default GNAT predicate.
31783
317842005-03-15 Doug Rupp <rupp@adacore.com>
31785
31786 * adaint.c: Prefix #include of VMS system header files with vms/
31787 [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
31788 Do not define a dummy function "convert_addresses" under Darwin,
31789 not needed.
31790
31791 * tb-alvms.c, expect.c: Prefix #include of VMS system header files
31792 with vms/
31793
317942005-03-15 Nicolas Setton <setton@adacore.com>
31795
31796 * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
31797 PPC/AIX.
31798
317992005-03-15 Robert Dewar <dewar@adacore.com>
31800
31801 * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
31802 AI-386.
31803
31804 * a-retide.ads: Minor comment changes
31805
318062005-03-15 Robert Dewar <dewar@adacore.com>
31807
31808 * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
31809 a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
31810 Realloc_For_Chunk to private part of package.
31811 New subprograms for AI-301
31812
31813 * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
31814 Get_Line procedure.
31815 Avoid unnecessary use of Get/Set_Wide_String
31816
318172005-03-15 Robert Dewar <dewar@adacore.com>
31818
31819 PR ada/13470
a1286ef5 31820 * a-stunau.ads, a-stunau.adb:
4f51c6e7
AC
31821 Change interface to allow efficient (and correct) implementation
31822 The previous changes to allow extra space in unbounded strings had
31823 left this interface a bit broken.
31824
31825 * a-suteio.adb: Avoid unnecessary use of Get/Set_String
31826
31827 * g-spipat.ads, g-spipat.adb: New interface for Get_String
31828 Minor reformatting (function specs)
31829
31830 * g-spitbo.adb: New interface for Get_String
31831
31832 * g-spitbo.ads: Minor reformatting
31833
31834 * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
31835
31836 * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
31837
318382005-03-15 Javier Miranda <miranda@adacore.com>
31839 Robert Dewar <dewar@adacore.com>
31840 Thomas Quinot <quinot@adacore.com>
31841 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
31842
31843 * atree.ads, atree.adb: Add support for Elist24 field
31844
31845 * atree.h: Fix wrong definition of Field27
31846 Add support for Elist16 field
31847 Add support for Elist24 field
31848
31849 * einfo.ads, einfo.adb (Abstract_Interfaces,
31850 Set_Abstract_Interfaces): New subprograms.
31851 (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
31852 subprograms.
31853 (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
31854 entities rather than a single node.
31855 (Is_Interface, Set_Is_Interface): New subprogram
31856 (First_Tag_Component): New syntesized attribute
31857 (Next_Tag_Component): New synthesized attribute
31858 (Write_Entity_Flags): Upgraded to write Is_Interface
31859 (Write_Field24_Name): Upgraded to write Abstract_Interfaces
31860 (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
31861 (Task_Body_Procedure): New subprogram to read this attribute.
31862 (Set_Task_Body_Procedure): New subprogram to set this attribute.
31863 (Has_Controlled_Component): Now applies to all entities.
31864 This is only a documentation change, since it always worked to apply
31865 this to other than composite types (yielding false), but now this is
31866 official.
31867 Update documentation on Must_Be_Byte_Aligned for new spec
31868
31869 * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
31870 exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
31871 uses of the Access_Disp_Table attribute to reference the first dispatch
31872 table associated with a tagged type. As
31873 part of the implementation of abstract interface types,
31874 Access_Disp_Table has been redefined to contain a list of dispatch
31875 tables (rather than a single dispatch table).
31876 Similarly, upgrade all the references to Tag_Component by the
31877 new attribute First_Tag_Component.
31878 (Find_Inherited_TSS): Moved to exp_tss.
31879 Clean up test in Expand_N_Object_Declaration for cases
31880 where we need to do a separate assignment of the initial value.
31881 (Expand_N_Object_Declaration): If the expression in the
31882 declaration of a tagged type is an aggregate, no need to generate an
31883 additional tag assignment.
31884 (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
31885 is to be deleted.
31886 Bit packed array ops are only called if operands are known to be
31887 aligned.
31888 (Component_Equality): When returning an N_Raise_Program_Error statement,
31889 ensure that its Etype is set to Empty to avoid confusing GIGI (which
31890 expects that only expressions have a bona fide type).
31891 (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
31892 determine the amount of data to be copied.
31893
31894 * par.adb (P_Interface_Type_Definition): New subprogram that parses the
31895 new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
31896 INTERFACE_TYPE_DEFINITION ::=
31897 [limited | task | protected | synchronized] interface
a1286ef5 31898 [AND interface_list]
4f51c6e7
AC
31899
31900 * par-ch3.adb (P_Type_Declaration): Modified to give support to
31901 interfaces.
31902 (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
31903 interfaces.
31904 (P_Interface_Type_Definition): New subprogram that parses the new
31905 syntax rule of Ada 2005 interfaces
31906 (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
31907 messages by the correct RENAMES (quotes removed).
31908
31909 * sem_prag.adb: Upgrade all the references to Tag_Component by the new
31910 attribute First_Tag_Component.
31911
31912 * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
31913 (Interface_List, Set_Interface_List): New subprograms.
31914 (Interface_Present, Set_Interface_Present): New subprograms.
31915 (Limited_Present, Set_Limited_Present): Available also in derived
31916 type definition nodes.
31917 (Protected_Present, Set_Protected_Present): Available also in
31918 record type definition and
31919 derived type definition nodes.
31920 (Synchronized_Present, Set_Synchronized_Present): New subprograms.
31921 (Task_Present, Set_Task_Present): New subprogram.
31922 (Task_Body_Procedure): Removed.
31923 (Set_Task_Body_Procedure): Removed.
31924 These subprogram have been removed because the attribute
31925 Task_Body_Procedure has been moved to the corresponding task type
31926 or task subtype entity to leave a field free to store the list
31927 of interfaces implemented by a task (for AI-345)
31928 Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
31929 (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
31930 expression flag Do_Range_Check
31931 (Exception_Junk): Change to Flag7 to accomodate above change
31932 (Box_Present, Default_Name, Specification, Set_Box_Present,
31933 Set_Default_Name, Set_Specification): Expand the expression
31934 "X in N_Formal_Subprogram_Declaration" into the corresponding
31935 two comparisons. Required to use the csinfo tool.
31936
31937 * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
31938 "with string" given.
31939
a1286ef5
ZW
31940 * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
31941 expression given.
4f51c6e7
AC
31942
31943 * par-ch11.adb (P_Raise_Statement): Recognize with string expression
31944 in 2005 mode
31945
31946 * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
31947 attribute Task_Body_Procedure rather than the old semantic field that
31948 was available in the task_type_declaration node.
31949
31950 * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
31951 interface type definitions.
31952 (P_Formal_Derived_Type_Definition): Modified to handle the list of
31953 interfaces.
31954
31955 * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
31956 task type declaration.
31957 (P_Protected): Modified to handle the list of interfaces in a
31958 protected type declaration.
31959
319602005-03-15 Doug Rupp <rupp@adacore.com>
31961 Vincent Celier <celier@adacore.com>
31962
31963 * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
31964 (Gen_Output_File_C): Likewise.
31965 (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
31966
319672005-03-15 Thomas Quinot <quinot@adacore.com>
31968
31969 * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
31970 is an N_Raise_Constraint_Error node, create a new copy of it without
31971 going through a call to Duplicate_Subexpr.
31972
319732005-03-15 Eric Botcazou <ebotcazou@adacore.com>
31974 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
31975 Nicolas Setton <setton@adacore.com>
31976 Ed Schonberg <schonberg@adacore.com>
31977
31978 PR ada/19900
31979 PR ada/19408
31980 PR ada/19140
31981 PR ada/20255
4f51c6e7
AC
31982 * decl.c (gnat_to_gnu_field): Reject aliased components with a
31983 representation clause that prescribes a size not equal to the rounded
31984 size of their types.
31985 (gnat_to_gnu_entity, case E_Component): Always look at
31986 Original_Record_Component if Present and not the entity.
31987 (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
31988 of tagged extension types by not making field for components that are
31989 inside the parent.
31990 (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
31991 (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
31992 expression to the type of the object when the object is constant.
31993 Reverse defer_debug_incomplete_list before traversing it, so that trees
31994 are processed in the order at which they were added to the list. This
31995 order is important when using the stabs debug format.
31996 If we are deferring the output of debug information, also defer this
31997 output for a function return type.
31998 When adding fields to a record, prevent emitting debug information
31999 for incomplete records, emit the information only when the record is
32000 complete.
32001 (components_to_record): New parameter defer_debug.
32002 (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
32003 (gnat_to_gnu_field_decl): New function.
32004 (substitution_list, annotate_rep): Call it.
32005 (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
32006 (gnat_to_gnu_entity, case E_Record_Type): Likewise.
32007 No longer update discriminants to not be a COMPONENT_REF.
32008 (copy_alias_set): Strip padding from input type; also handle
32009 unconstrained arrays properly.
32010
32011 * gigi.h (write_record_type_debug_info): New function.
32012 Convert to use ANSI-style prototypes. Remove unused
32013 declarations for emit_stack_check, elab_all_gnat and
32014 set_second_error_entity.
32015 (gnat_to_gnu_field_decl): New decl.
32016
32017 * utils.c (write_record_type_debug_info): New function.
32018 (finish_record_type): Delegate generation of debug information to
32019 write_record_type_debug_info.
32020 (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
32021 (update_pointer_to): Fix pasto.
32022 (convert) <UNION_TYPE>: Accept slight type variations when
32023 converting to an unchecked union type.
32024
32025 * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
32026 replace the N_Freeze_Entity with a null statement.
32027
32028 * freeze.adb (Freeze_Expression): If the freeze nodes are generated
32029 within a constrained subcomponent of an enclosing record, place the
32030 freeze nodes in the scope stack entry for the enclosing record.
32031 (Undelay_Type): New Subprogram.
32032 (Set_Small_Size): Pass T, the type to modify; all callers changed.
32033 (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
32034 within records; allow them to have freeze nodes if their base types
32035 aren't frozen yet.
32036
017205f5
EB
32037 * exp_util.adb (Remove_Side_Effects): Properly test for
32038 Expansion_Delayed and handle case when it's inside an
32039 N_Qualified_Expression.
32040
4f51c6e7
AC
32041 * sem_ch3.adb (Derived_Type_Declaration): New predicate
32042 Comes_From_Generic, to recognize accurately that the parent type in a
32043 derived type declaration can be traced back to a formal type, because
32044 it is one or is derived from one, or because its completion is derived
32045 from one.
32046 (Constrain_Component_Type): If component comes from source and has no
32047 explicit constraint, no need to constrain in in a subtype of the
32048 enclosing record.
32049 (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
32050 Minor change to propagate Is_Ada_2005 flag
32051
32052 * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
32053 Expansion_Delayed is False.
32054 (assoc_to_constructor): Ignore fields that have a
32055 Corresponding_Discriminant.
32056 (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
32057 function returns "by target", dereference the target pointer using the
32058 type of the actual return value.
32059 <all>: Be prepared for a null gnu_result.
32060 (processed_inline_subprograms): Check flag_really_no_inline
32061 instead of flag_no_inline.
32062 (set_second_error_entity): Remove unused function.
32063 (gnat_to_gnu, case N_Selected_Component): Call
32064 gnat_to_gnu_field_decl.
32065 (assoc_to_constructor): Likewise.
32066
320672005-03-15 Robert Dewar <dewar@adacore.com>
32068 Ed Schonberg <schonberg@adacore.com>
32069 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
32070
4f51c6e7
AC
32071 * exp_pakd.adb (Create_Packed_Array_Type): Do not set
32072 Must_Be_Byte_Aligned for cases where we do not need to use a
32073 System.Pack_nn unit.
32074
32075 * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
32076 as procedures.
32077 Needed now that we do some processing for IN parameters as well. This
32078 may well fix some unrelated errors.
32079 (Expand_Call): Handle case of unaligned objects (in particular those
32080 that come from packed arrays).
32081 (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
32082 renamed entity is an inherited operation, re-expand the call using the
32083 original operation, which is the one to call.
32084 Detect attempt to inline parameterless recursive subprogram.
32085 (Represented_As_Scalar): Fix to work properly with private types
32086 (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
32087 accurate estimate. Yields True in far fewer cases than before,
32088 improving the quality of code that depends on this test.
4f51c6e7
AC
32089
32090 * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
32091 over both visible and private declarations to remove them from tree,
32092 and mark subprograms declared in package as eliminated, to prevent
32093 spurious use in subsequent compilation of generic units in the context.
32094
32095 * exp_util.ads: Minor cleanup in variable names
32096
32097 * sem_eval.ads, sem_eval.adb: Minor reformatting
32098 (Compile_Time_Known_Bounds): New function
32099
321002005-03-15 Ed Schonberg <schonberg@adacore.com>
32101
32102 * exp_ch7.adb (Convert_View): Use base types of underlying types when
32103 determining whether an unchecked conversion is needed for the argument
32104 of an initialization call.
32105
321062005-03-15 Ed Schonberg <schonberg@adacore.com>
32107
32108 * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
32109 that appears in the instantiation rather than the internal subtype
32110 generated in the wrapper package, to avoid anomalies in gigi when the
32111 target is derived from a private type whose full view is an access type.
32112
321132005-03-15 Robert Dewar <dewar@adacore.com>
32114
32115 * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
32116 not needed.
32117 Add documentation to replace the use of this flag
32118 Fix kludge for Maximum_Alignment on x86 so that it does not apply to
32119 the x86_64.
32120
321212005-03-15 Thomas Quinot <quinot@adacore.com>
32122
32123 * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
32124 here from exp_attr so it can be shared between exp_attr and exp_dist.
32125 (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
32126 all TSS names, not a subset thereof, and the previous name introduced
32127 an unnecessarily confusion that a distinction might exist between
32128 "OK" TSS names and some "not OK" TSS names.
32129
321302005-03-15 Doug Rupp <rupp@adacore.com>
32131
32132 * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
32133 Command_Name.
32134
321352005-03-15 Pascal Obry <obry@adacore.com>
32136 Eric Botcazou <ebotcazou@adacore.com>
32137
32138 PR ada/20226
32139 PR ada/20344
4f51c6e7
AC
32140 * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
32141 when IN_RTS. This is to work around a bootstrap path problem.
32142
32143 * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
32144 table and pass it to __gnat_install_SEH_handler().
32145 (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
32146
32147 * lang.opt: Fix specification of -fRTS=.
32148
321492005-03-15 Doug Rupp <rupp@adacore.com>
32150 Bernard Banner <banner@adacore.com>
32151 Vincent Celier <celier@adacore.com>
32152 Arnaud Charlet <charlet@adacore.com>
32153
32154 PR ada/6852
32155 This change works fine when gnatlib is built from the gcc directory,
32156 but does not work when using the libada Makefile, since GCC_FOR_TARGET
32157 is not passed to ada/Makefile.in, so more work is needed by a
32158 Makefile/configure expert.
32159
32160 * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
32161 set GMEM_LIB on ia64 linux to add optional support for gnatmem.
32162 Setup gnatlink switch -M for x86_64 linux, as it is already setup
32163 for Linux x86.
32164 (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
32165 Run ranlib on libgccprefix.a
32166 Define PREFIX_OBJS for Darwin, to build libgccprefix.
32167 (ADA_INCLUDE_SRCS): Split Ada packages.
32168
321692005-03-15 Robert Dewar <dewar@adacore.com>
32170
32171 * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
32172
32173 * impunit.adb: Add GNAT.UTF_32
32174
32175 * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
32176
32177 * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
32178 now uses GNAT.UTF_32).
32179
32180 * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
32181 capabilities for categorizing characters using Unicode categories
32182
321832005-03-15 Ed Schonberg <schonberg@adacore.com>
32184
32185 * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
32186 instantiation that has been rewritten as a package body, retrieve spec
32187 to generate proper name for implicit_with_clause.
32188 (Install_Parents): Recognize a parent that is an instantiation but has
32189 been rewritten as a package declaration during analysis.
32190
321912005-03-15 Javier Miranda <miranda@adacore.com>
32192 Ed Schonberg <schonberg@adacore.com>
32193
32194 * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
32195 parameter reported some error we immediately return. This improves the
32196 behaviour of the frontend in case of errors.
32197 (Install_Parent, Remove_Parent): Introduce new flag
32198 Parent_Unit_Visible, to preserve the proper visibility of the ultimate
32199 ancestor of a generic child unit, when the child is being instantiated.
32200 (Inline_Instance_Body): If we are compiling the private
32201 part or the body of a child unit, restore the proper visibility of the
32202 parents after compiling the instance body.
32203
322042005-03-15 Ed Schonberg <schonberg@adacore.com>
32205 Javier Miranda <miranda@adacore.com>
32206
32207 PR ada/15608
32208 * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
32209 of a private type, in which case it is underlying_type that denotes
32210 the proper task. Also modified to use the new entity attribute
32211 that is directly available in the task type and task subtype entities
32212 (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
32213 arrays when other dimensions than the first are constrained by
32214 discriminants of an enclosing record.
32215 (Insert_Explicit_Dereference): If the prefix is an indexed component or
32216 a combination of indexed and selected components, find ultimate entity
32217 and generate the appropriate reference for it, to suppress spurious
32218 warnings.
32219 (Note_Possible_Modification): If an entity name has no entity, return.
32220 (Is_Variable): A function call never denotes a variable.
32221 (Requires_Transient_Scope): For record types, recurse only on
32222 components, not on internal subtypes that may have been generated for
32223 constrained components.
32224
322252005-03-15 Ed Schonberg <schonberg@adacore.com>
32226
32227 * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
32228 Eliminated as candidates for resolution. Both efficient, and avoids
32229 anomalies with operators declared in deleted code.
32230 (Process_Implicit_Dereference_Prefix): Use this procedure whenever
32231 expansion is disabled (as when compiling a generic) to prevent spurious
32232 warnings on prefixes of selected components.
32233
322342005-03-15 Ed Schonberg <schonberg@adacore.com>
32235
32236 * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
32237 attached to a list before checking whether it appears in the private
32238 declarations of the current package.
32239 (Make_Inequality_Operator): Insert declaration in proper declarative
32240 list rather than just setting the Parent field, so that
32241 Is_Private_Declaration can handle it properly.
32242
322432005-03-15 Ed Schonberg <schonberg@adacore.com>
32244
32245 * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
32246 a renaming a body, check that the renamed subprogram in not intrinsic.
32247 (Find_Direct_Name): If several use_visible entities hide
32248 each other, and the context is a predefined file compiled through
32249 rtsfind, keep only the entity that comes from a predefined file.
32250
322512005-03-15 Geert Bosch <bosch@adacore.com>
32252
32253 * s-fatgen.adb (Valid): Extend special exceptions to account for long
32254 long float padding to also cover AMD64 and IA64.
32255
322562005-03-15 Gary Dismukes <dismukes@adacore.com>
32257
32258 * s-imgwch.adb: Add with and use of Interfaces.
32259 (Img_Wide_Character): Change type of Val to Unsigned_16.
32260 (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
32261
322622005-03-15 Matthew Gingell <gingell@adacore.com>
32263
32264 * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
32265
322662005-03-15 Robert Dewar <dewar@adacore.com>
32267
32268 * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
32269
32270 * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
32271
32272 * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
32273
322742005-03-15 Robert Dewar <dewar@adacore.com>
32275
32276 * s-bitops.adb, s-bitops.ads,
32277 s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
32278 s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
32279 tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
32280 s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
32281 s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
32282 s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
32283 s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
32284 s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
32285 reformatting.
32286
322872005-03-15 Eric Botcazou <ebotcazou@adacore.com>
32288
32289 * utils2.c (build_binary_op): Fix typo.
32290
322912005-03-15 Doug Rupp <rupp@adacore.com>
32292
32293 * s-crtl.ads (popen,pclose): New imports.
32294
322952005-03-15 Cyrille Comar <comar@adacore.com>
32296
32297 * comperr.adb (Compiler_Abort): remove references to obsolete
32298 procedures in the bug boxes for various GNAT builds.
32299
323002005-03-15 Vincent Celier <celier@adacore.com>
32301
32302 * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
32303
323042005-03-15 Geert Bosch <bosch@adacore.com>
32305 Arnaud Charlet <charlet@adacore.com>
32306 Robert Dewar <dewar@adacore.com>
32307 Cyrille Comar <comar@adacore.com>
32308 Sergey Rybin <rybin@adacore.com>
32309
32310 * gnat_ugn.texi: Remove extended inline assembly example, as it was far
32311 too specific and long-winded to be appropriate for the GNAT User's
32312 Guide.
32313 Warn about use of GCC switches not documented in the GNAT User's Guide,
32314 as these may cause generated code to not conform to Ada semantics.
32315 Remove mention of -gdwarf-2 for sparc64, since this is now the default.
32316 Add documentation for -gnat95 and -gnat05 switches
32317 Remove paragraph documenting obsolete way to refer to third party
32318 libraries.
32319 Add a few references to Ada_05 that were missing.
32320 Update documentation on -gnatZ/-gnatL.
32321 Document limitation when using -m64 under Solaris.
32322 Change the "Name Casing" subsection of the pretty-printer section
32323 according to the changes in the dictionary processing.
32324
32325 * gnat_rm.texi: Document the Ada_05 pragma.
32326 Section on record representation clauses describes the new more
32327 relaxed rules about placement of large packed bit array components.
32328 Add documentation of GNAT.UTF_32
32329
9e94c78f 323302005-03-12 Daniel Berlin <dberlin@dberlin.org>
c75ab022
DB
32331
32332 * misc.c (gnat_post_options): Turn off structural
32333 aliasing for now.
4f51c6e7 32334
9e94c78f 323352005-03-08 Laurent Guerby <laurent@guerby.net>
391bdf45
LG
32336
32337 * system-linux-sparc.ads: Fix typo in previous commit.
32338
9e94c78f
EB
323392005-03-07 James A. Morrison <phython@gcc.gnu.org>
32340 Laurent Guerby <laurent@guerby.net>
fe8a06f2 32341
a1286ef5
ZW
32342 PR ada/20035
32343 * system-linux-sparc.ads: New.
32344 * Makefile.in: Add sparc linux entry.
fe8a06f2 32345
a1286ef5 323462005-02-27 Danny Smith <dannysmith@users.sourceforge.net>
9811fd17 32347
a1286ef5 32348 * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
9811fd17
DS
32349 parameters as unused.
32350
5395b47b
NN
323512005-02-26 Nathanael Nerode <neroden@gcc.gnu.org>
32352 Partial merge from libada-gnattools-branch:
32353
32354 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
a1286ef5
ZW
32355 * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
32356 into code in gnattools/Makefile.in. Remove direct dependencies on
32357 stamp-tools by tools clauses.
5395b47b 32358 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
a1286ef5 32359 * config-lang.in: Add gnattools to $lang_dirs.
5395b47b 32360
4fa0972f
AP
323612005-02-13 Andrew Pinski <pinskia@physics.uc.edu>
32362
32363 PR ada/19942
2532808d 32364 * utils.c (gnat_type_for_mode): Return null instead of ICE because
a1286ef5 32365 we asked for an unknown mode.
4fa0972f 32366
bd0b34a8
RH
323672005-02-12 Richard Henderson <rth@redhat.com>
32368
32369 * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
32370 validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
32371
0ebbef54
AJ
323722005-02-10 Andreas Jaeger <aj@suse.de>
32373
32374 * init.c (__gnat_initialize): Mark parameter as unused.
32375
fc5a191d
AC
323762005-02-09 Doug Rupp <rupp@adacore.com>
32377
32378 * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
32379 * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
32380
323812005-02-09 Doug Rupp <rupp@adacore.com>
32382
32383 * gnatchop.adb (dup, dup2),
32384 g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
32385
32386 * gnatlbr.adb (mkdir),
32387 mlib-tgt-vms-ia64.adb (popen, plose): Import with decc$ prefix.
32388
32389 * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
32390
323912005-02-09 Doug Rupp <rupp@adacore.com>
32392
32393 * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
32394
323952005-02-09 Robert Dewar <dewar@adacore.com>
32396 Thomas Quinot <quinot@adacore.com>
32397 Javier Miranda <miranda@adacore.com>
32398 Pascal Obry <obry@adacore.com>
32399 Ed Schonberg <schonberg@adacore.com>
32400 Doug Rupp <rupp@adacore.com>
32401 Gary Dismukes <dismukes@adacore.com>
32402 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
32403
32404 * g-zstspl.ads: New file.
32405
32406 * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
32407
32408 * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
32409 Ada 95 mode
32410 Add definition of Wide_Wide_Space for AI-285
32411
32412 * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
32413 interface (to support Ada 95 and Ada 2005 units).
32414 Add Unbounded_IO files
32415 Add entries for Wide_Wide packages for AI-285
32416 Add list of containers packages to Ada 2005 unit list
32417
32418 * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
32419 support new Unbounded_IO package cleanly.
32420
32421 * g-utf_32.ads, g-utf_32.adb: New files.
32422
32423 * Makefile.rtl: Add entry for g-utf_32
32424 Add new files for Unbounded_IO
32425 Adjust make file for new AI-285 wide wide packages
32426 Add AI-302 containers to the run time.
32427
32428 * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
32429 a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
32430 subprograms for AI-301.
32431
32432 * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
32433
32434 * a-stunau.ads: Minor comment correction
32435
32436 * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
32437 etc.
32438 Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
32439 (Check_RPC): Update to match changes in expanded code.
32440 Clean up unused entity.
32441
32442 * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
32443 was not taken into account.
32444 This includes proper initialization with Normalize_Scalars.
32445 (Get_Simple_Init_Val): Major rewrite for initialize scalars and
32446 normalize scalars cases (particularly the latter) to do a better job
32447 of finding invalid representations.
32448
32449 * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
32450
32451 * s-strops.ads, s-strops.adb: Remove string normalize routines, never
32452 used
32453
32454 * exp_dist.adb: Add support for wide wide character type
32455 (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
32456 private part, generate stub bodies at the end of the private part,
32457 not the visible part.
32458 (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
32459 PolyORB support.
32460 (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
32461 generic wrapper to execute final processing after completing the
32462 expansion of the RPC receiver for an RACW.
32463
32464 * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
32465 packages and attributes.
32466 (Preset_Names): Addition of the new reserved words of Ada 2005,
32467 that is interface, overriding and synchronized.
32468 (Get_Pragma_Id): Give support to the use of the new reserved word
32469 "interface" as a pragma name.
32470 (Is_Pragma_Name): Give support to the use of the new reserved word
32471 "interface" as a pragma name.
32472 (Preset_Names): Add stream_size string for the Stream_Size Ada2005
32473 attribute implementation.
32474
32475 * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
32476 checks to entities that are output parameters of Asm operations.
32477 Handle the Stream_Size attribute.
32478 Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
32479
32480 * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
32481
32482 * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
32483 for second parameter being 0.0.
32484 Add support for wide wide character type.
32485 (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
32486
32487 * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
32488 s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
32489 s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
32490 s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
32491 for wide wide character cases.
32492
32493 * cstand.adb: Create entities for Wide_Wide_Character and
32494 Wide_Wide_String.
32495
32496 * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
32497 accordance with AI-258.
32498 Add new declarations for 16/32 bit C character types (Part of AI285)
32499
32500 * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
32501 (Obsolescent_Warning): New field
32502 (Rep_Clause): New local subprogram used to share code. Returns the rep
32503 clause for which the name is given in parameter.
32504 (Has_Stream_Size_Clause): New routine.
32505 (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
32506 (Address_Clause): Implementation is now using Rep_Clause.
32507 (Alignment_Clause): Idem.
32508 (Size_Clause): Idem.
32509
32510 * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
32511 entity in non-Ada 2005 mode and generate warning.
32512
32513 * par-prag.adb: Add handling of one argument form for pragma Ada_05.
32514 (Prag): Code cleanup. Remove old gnat pragma "overriding"
32515
32516 * sem_prag.adb: Add handling of one argument form for pragma Ada_05
32517 (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
32518 on the named unit if the pragma is not in the current compilation unit,
32519 so that elaboration calls in the current unit can set up an elaboration
32520 dependency on the named unit, as needed.
32521 (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
32522 subprogram as well as for subprograms declared within a package.
32523 (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
32524 pragma overriding.
32525
32526 * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
32527 to z) to avoid some instances of duplication for Wide_Wide packages.
32528
32529 * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
32530 characters.
32531
32532 * scn.adb: Char_Literal_Value field is now a Uint
32533
32534 * scng.adb: Significant rewrite to handle new Ada 2005 features
32535 allowing wide and wide wide characters in program text, e.g. for
32536 identifiers, as described in AI-285.
32537 (Set_Reserved): New procedure, makes setting up keywords cleaner.
32538 (Initialize_Scanner): Register the new reserved words of Ada 2005.
32539 (Scan): Give support to the new reserved words.
32540
32541 * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
32542 warning notifying that interface, overriding, and synchronized are
32543 new reserved words.
32544 (P_Pragma): Allow the use of the new reserved word "interface" as
32545 a pragma name.
32546
32547 * gnatls.adb, gnatbind.adb,
32548 ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
32549 identifiers named "interface" to "SAL_Interface".
32550
32551 * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
32552 (Structured Exception handling).
32553 (Gen_Main_C): Idem.
32554
a1286ef5 32555 * bindgen.adb:
fc5a191d
AC
32556 (Gen_Main_Ada): Set the default exit code if specified.
32557 (Gen_Main_C): Likewise.
32558 Part of *DC20-006.
32559 (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
32560 Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
32561
32562 * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
32563 new -Xnnn switch.
32564
32565 * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
32566 has a collision with the new Ada 2005 "interface" reserved word.
32567
32568 * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
32569 generate a warning notifying that interface, overriding, and
32570 synchronized are new reserved words.
32571
32572 * scans.ads (Token_Type): Addition of the tokens corresponding to the
32573 new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
32574 and Tok_Synchronized.
32575
32576 * sem_res.adb (Resolve_Actuals): Change error messages to refer to
32577 "dispatching" rather than "primitive" operations, since dispatching
32578 calls are now allowed to abstract formal subprograms (which are not
32579 primitive).
32580 Char_Literal_Value field is now a Uint
32581 (Resolve_Slice): If the prefix is an access to an unconstrained array,
32582 compute the actual subtype of the designated object to impose the proper
32583 index constraints.
32584 (Resolve_Selected_Component): Do not insert an access check if the
32585 prefix is an access type: such a node is expanded into an explicit
32586 dereference, on which the access check is performed anyway. Removes
32587 expensive duplicate checks.
32588 (Resolve_Call): Use new flag Is_Obsolescent and field
32589 Obsolescent_Warning so that pragma Obsolescent works on library
32590 subprograms.
32591 Add support for wide wide character type
32592 (Resolve_Allocator): Replace the error message on wrong null-exclusion
32593 value by a warning message.
32594 (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
32595 as fixed-point, and one of the operands is non-static and universal, it
32596 can only be an illegal exponentiation operation, in which case there is
32597 no real value to retrieve.
32598
32599 * exp_strm.adb: Add support for wide wide character type
32600 (Build_Elementary_Input_Call): Compute the size of the stream element by
32601 querying the rep chain to find the Stream_Attribute attribute value.
32602 (Build_Elementary_Write_Call): Ditto.
32603
32604 * sem_aggr.adb: Char_Literal_Value field is now a Uint
32605 Add support for wide wide character type
32606 Replace the error messages on wrong null-exclusion value by warnings
32607 as described in Ada 2005.
32608 (Resolve_Extension_Aggregate): Document the fact that the error
32609 message on class-wide expressions in extensions aggregates.
32610
32611 * sem_case.adb: Add support for wide wide character type
32612
32613 * sem_ch13.adb: Add support for wide wide character type
32614 (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
32615
32616 * sem_ch3.adb: Add support for wide wide character type
32617 (Process_Subtype): If constraint is illegal for the type, set Ekind of
32618 now-useless Itype, to prevent cascaded errors on a compiler built
32619 without -gnatp.
32620
32621 * sem_ch8.adb: Add with and use of Sem_Disp.
32622 (Analyze_Subprogram_Renaming): Replace unclean uses of
32623 Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
32624 of Corresponding_Spec to Empty).
32625 (Attribute_Renaming): Replace use of Corresponding_Spec with
32626 Corresponding_ Formal_Spec and simplify condition.
32627 (Use_One_Package): Check that scope of homonym of identifier is defined,
32628 before checking whether it is a wrapper package.
32629 Add support for wide wide character type
32630
32631 * sem_eval.adb: Add support for wide wide character type.
32632 (Eval_Arithmetic_Op): Check for compile time known signed integer
32633 overflow in the non-static case.
32634 (Subtypes_Statically_Match): A formal scalar type and its base type do
32635 not statically match.
32636
32637 * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
32638 "not in" for test of N_Formal_Subprogram_Declaration (which is now a
32639 subtype).
32640 (Unit_Declaration_Node): Ditto.
32641 (Is_Variable_Prefix): For the case of an indexed component whose prefix
32642 has a packed array type, the prefix has been rewritten into a type
32643 conversion. Determine variable-ness from the converted expression.
32644 Handle wide wide character cases.
32645
32646 * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
32647
32648 * stringt.ads, stringt.adb: Handle full UTF-32 range.
32649 Remove ["0A"] from comment, since it can look like a line terminator.
32650 Currently we don't permit this, but this is under discussion by the
32651 ARG, and it is easy enough to use a different example.
32652
32653 * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
32654 handling UTF-32 encoding for wide wide character.
32655 Implement new brackets coding ["hhhhhhhh"]
32656 Add UTF-8 encodings for full UTF-32 range
32657
32658 * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
32659
32660 * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
32661 bit range Add full UTF-32 support.
32662 (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
32663 notify that constraint error will be raised at run-time
32664 because a null value is assigned to a null-excluding object.
32665 Remove some obsolete declarations and make Char_Code
32666 unsigned.
32667
32668 * a-except.adb (Rcheck_30): New subprogram. Addition of the message
32669 corresponding to CE_Null_Not_Allowed, and adjust the output of all the
32670 Rcheck subprograms.
32671
32672 * checks.adb (Check_Null_Not_Allowed): Replace the error message on
32673 wrong null-exclusion value by a warning message.
32674 (Enable_Range_Check): Do range check if the prefix is an
32675 explicit dereference whose designated object is an unconstrained array.
32676 Current algorithm for removing duplicate checks is over-eager in this
32677 case.
32678
32679 * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
32680 null-exclusion value by a warning message
32681
32682 * atree.h, atree.ads, atree.adb: Remove Char_Code field support
32683 completely. Add support for Uint2 field
32684
32685 sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
32686 exp_prag.adb: Char_Literal_Value field is now a Uint.
32687
32688 * exp_util.adb (Insert_Actions): Replace
32689 N_Formal_Subprogram_Declaration by
32690 N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
32691 Char_Literal_Value field is now a Uint.
32692
32693 * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
32694 defined for subprogram renaming declarations. When set, the field
32695 indicates the defining entity of a corresponding formal subprogram
32696 when the renaming corresponds to a formal subprogram association in an
32697 instantiation.
32698 (Set_Corresponding_Formal_Spec): New procedure to return
32699 Corresponding_Formal_Spec field.
32700 Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
32701 (which is now a subtype).
32702 Char_Literal_Value field is now a Uint
32703
32704 * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
32705 pointer to the base of the dispatch table.
32706 Minor changes to comments.
32707 (Controlling_Type): New function for determining the tagged type
32708 associated with a tagged primitive subprogram.
32709 (Expand_Dispatching_Call): Add support for a controlling actual that is
32710 directly a value of type Ada.Tag rather than a tagged object.
32711
32712 * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
32713 describing the new layout.
32714 (Dispatch_Table): The expander computes the actual array size, allocates
32715 the Dispatch_Table record accordingly, and generates code that displaces
32716 the base of the record after the Typeinfo_Ptr component. The access to
32717 these components is done by means of local functions.
32718 (Offset_To_Top): New function.
32719 (Typeinfo_Ptr): New function.
32720 (Get_TSD): Modified to access the new position of the TSD.
32721 (Set_TSD): Modified to save the TSD in its new position.
32722
32723 * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
32724 case of formal abstract subprograms. Add check and message for -gnat05.
32725 Update comments.
32726
32727 * sem_ch12.adb: Add with and use for Sem_Disp.
32728 (Analyze_Associations): Minor change from "=" to "in" for use of
32729 N_Formal_Subtype_Declaration (which is now a subtype).
32730 (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
32731 N_Formal_Subtype_Declaration (which is now a subtype).
32732 (Analyze_Formal_Subprogram): Add handling for
32733 N_Formal_Abstract_Subprogram, marking the formal as abstract and
32734 dispatching, setting the controlling status of the formal parameters
32735 and result, and issuing an error if there is no controlling type for
32736 the formal subprogram.
32737 (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
32738 which is an unclean use of that field, we set the new field
32739 Corresponding_Formal_Spec to make the formal subprogram available to
32740 processing in Analyze_Subprogram_Declaration.
32741 (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
32742 Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
32743 Constrained, so that it is is does not statically match its anonymous
32744 base type.
32745
32746 * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
32747 abstract formal subprograms in error check for functions returning
32748 abstract types. Set scope of new designator for
32749 a parameterless subprogram, so that it is available when checking the
32750 body for nested subprograms, before full analysis of said body.
32751 (Analyze_Subprogram_Body): Warn on inlining bodies with nested
32752 subprogram only if inner one comes from source.
32753 (Analyze_Function_Call): If the call is given in object notation, the
32754 analysis of the name rewrites the node and analyzes it with the proper
32755 argument list. After analyzing the name, if the call has been rewritten
32756 and the result type is set, no further analysis is needed.
32757 (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
32758 mark in function specification, in a context where the formals are
32759 visible and hide outer homographs.
32760
32761 * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
32762 as the tagged type for the cases of abstract formal subprograms and
32763 renamings of those. Clean up spec comments.
32764 (Check_Dispatching_Context): Add error message to indicate "abstract
32765 procedure", covering the case of a call to a formal abstract procedure
32766 that has statically tagged operands.
32767 (Check_Dispatching_Call): Check for the case of an actual given by
32768 a tag-indeterminate function call whose type is an ancestor of the
32769 containing call's associated tagged type. This situation can occur
32770 for inherited primitives with function defaults. In this case we
32771 use the tagged type's tag directly as the controlling argument for
32772 the calls.
32773 (Expand_Call): Name change on call to Expand_Dispatch_Call.
32774
32775 * sprint.adb (Sprint_Node_Actual): Split
32776 N_Formal_Subprogram_Declaration into two alternatives for the new
32777 cases N_Formal_Abstract_Subprogram_Declaration and
32778 N_Formal_Concrete_Subprogram_Declaration.
32779 Char_Literal_Value field is now a Uint.
32780
32781 * trans.c: Get rid of junk Uint2 reference.
32782 Char_Literal_Value field is now a Uint.
32783 (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
32784 (gigi): Correct third arg to gimplify_body.
32785
32786 * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
32787 (TYPE_LANG_FLAG_0): Check for record or union.
32788
32789 * treepr.adb: Char_Literal_Value field is now a Uint
32790
32791 * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
32792 UI_From_CC.
32793
32794 * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
32795 Add full UTF-32 support
32796 Char_Code is now 32 bits
32797
32798 * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
32799 wide character UTF_32 line terminators.
32800 Initialize Main_Source_File to avoid error when no main
32801 source is loaded.
32802
32803 * errout.adb (Finalize): Do not check Num_SRef_Pragmas
32804 (Main_Source_File) when no main source has been loaded, to avoid
32805 potential crash.
32806
328072005-02-09 Robert Dewar <dewar@adacore.com>
32808
a1286ef5
ZW
32809 * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
32810 Fix name of Set routine
fc5a191d
AC
32811
32812 * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
32813 fixed packages.
32814
32815 * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
32816 a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
32817 fixed packages
32818
32819 * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
32820 forms of Get_Line subprograms for AI-301.
32821
32822 * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
32823 a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
32824 a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
32825 a-stwima.ads: Minor reformatting.
32826
328272005-02-09 Doug Rupp <rupp@adacore.com>
32828 Thomas Quinot <quinot@adacore.com>
32829
32830 * adaint.c, adaint.h
32831 [VMS] (to_ptr32): New function.
32832 (MAYBE_TO_PTR32): New macro.
32833 (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
32834 for pointer size.
32835 [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
32836 [VMS] (#define fork()): Remove since unneccessary.
32837 (__gnat_set_close_on_exec): New routine to support
32838 GNAT.OS_Lib.Set_Close_On_Exec.
32839
32840 * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
32841 the parent side as close-on-exec so that they are not inherited by the
32842 child.
32843
32844 * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
32845 set or clear the FD_CLOEXEC flag on a file descriptor.
32846
328472005-02-09 Eric Botcazou <ebotcazou@adacore.com>
32848 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
32849
6f7f72f9 32850 PR ada/19386
a1286ef5 32851 * decl.c:
fc5a191d
AC
32852 (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
32853 on the field if Pragma Component_Alignment (Storage_Unit).
32854 (gnat_to_gnu_entity, case object): Do not treat a renaming that has
32855 side-effects as if it were a constant; also make SAVE_EXPR to protect
32856 side-effects.
32857 (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
32858 UNION_TYPE.
32859 (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
32860 (components_to_record): Test it.
32861 Fix improper usage of REFERENCE_CLASS_P.
32862
32863 * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
32864 RECORD_TYPE.
32865
32866 * utils2.c: Minor reformatting.
32867
32868 * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
32869 handle other cases like RECORD_TYPE.
32870
32871 * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
32872
328732005-02-09 Ed Schonberg <schonberg@adacore.com>
32874
32875 * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
32876 component of an array of arrays in an assignment context, and the
32877 aggregate has component associations that require sliding on
32878 assignment, force reanalysis of the aggregate to generate a temporary
32879 before the assignment.
32880 (Must_Slide): Make global to the package, for use in Gen_Assign.
32881
328822005-02-09 Ed Schonberg <schonberg@adacore.com>
32883
32884 * exp_ch4.adb (Expand_Composite_Equality): If a component is an
32885 unchecked union with no inferable discriminants, return a
32886 Raise_Program_Error node, rather than inserting it at the point the
32887 type is frozen.
32888 (Expand_Record_Equality, Component_Equality): Handle properly the case
32889 where some subcomponent is an unchecked union whose generated equality
32890 code raises program error.
32891
328922005-02-09 Doug Rupp <rupp@adacore.com>
32893
32894 * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
32895 [VMS] (#define exit hack): Remove.
32896
328972005-02-09 Pascal Obry <obry@adacore.com>
9e94c78f 32898 Arnaud Charlet <charlet@adacore.com>
fc5a191d
AC
32899
32900 * init.c (__gnat_initialize): Add a new parameter eh which contains the
32901 address of the exception registration. The Win32 version of this
32902 routine calls __gnat_install_SEH_handler() to initialize the SEH
32903 (Structured Exception Handling) handler.
32904 (__gnat_error_handler) [Win32]: Removed. Not needed as we use
32905 SEH (Structured Exception Handling) now.
32906 (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
32907 (__gnat_initialize for ppc-vxworks): Adjust comments and the
32908 preprocessor condition protecting the call to the extra eh setup
32909 subprogram, which is only available for the ppc target.
32910 (__gnat_clear_exception_count): replaced reference to
32911 variable taskIdCurrent by call to taskIdSelf(), cleaner.
32912
32913 * seh_init.c: New file.
32914
32915 * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
32916 (GNATBIND_OBJS): Idem.
32917
32918 * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
32919 routine takes a new parameter (a pointer to the exception registration
32920 for the SEH (Structured Exception Handling) support.
32921
32922 * raise.h: (__gnat_install_SEH_handler): New prototype.
32923 Update copyright notice.
32924
32925 * s-tassta.adb (Task_Wrapper): Declare the exception registration
32926 record and initialize it by calling __gnat_install_SEH_handler.
32927
329282005-02-09 Vincent Celier <celier@adacore.com>
32929
32930 * make.adb (Gnatmake): Do not fail when the main project has no object
32931 directory.
32932
329332005-02-09 Doug Rupp <rupp@adacore.com>
32934
32935 * Makefile.in [VMS] (LN,LN_S): Define as cp -p
32936 Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
32937 [VMS]: Add translations for g-enblsp.adb.
32938
32939 * s-asthan-vms.adb: Removed.
32940 * s-asthan-vms-alpha.adb: Added.
32941
329422005-02-09 Pascal Obry <obry@adacore.com>
32943
32944 * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
32945 (LIBGNAT_OBJS): Add seh_init.o.
32946
329472005-02-09 Arnaud Charlet <charlet@adacore.com>
32948
32949 PR ada/16592
fc5a191d
AC
32950 * Makefile.in: Link all gnat tools with -static-libgcc, since
32951 -shared-libgcc is now used by default on some systems (e.g. linux with
32952 recent binutils).
32953 Remove references to Makefile.prolog/generic, no longer used.
32954
329552005-02-09 Vincent Celier <celier@adacore.com>
32956
32957 * prj-makr.adb (Process_Directory): Put file name in canonical case
32958 before matching against the patterns.
32959 If gnatname has been invoked as <prefix>-gnatname
32960 then invoke the compiler as <prefix>-gcc, not just "gcc".
32961
329622005-02-09 Ed Schonberg <schonberg@adacore.com>
32963
32964 * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
32965 with expansion disabled. The actual subtype is needed among other
32966 places when the selected component appears in the context of a loop
32967 bound, and denotes a packed array.
32968 (Operator_Check): Always use the first subtype in the
32969 error message, to avoid the appearance of internal base types.
32970 (Transform_Object_Operation): Copy each actual in full
32971 to the parameter associations of the constructed call, rather than
32972 using the shallow copy mechanism of New_Copy_List. This ensures that
32973 the chaining of named associations is done properly.
32974 (Complete_Object_Operation): Rewrite node, rather than
32975 replacing it, so that we can trace back to the original selected
32976 component.
32977
32978 * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
32979 and calls that use object notation, if the called function is not
32980 declared in a withed unit, place the elaboration constraint on the
32981 unit in the context that makes the function accessible.
32982 (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
32983 imposes an elaboration constraint between two packages.
32984
329852005-02-09 Ed Schonberg <schonberg@adacore.com>
32986
32987 * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
32988 views of a private type after handling its private dependents, to
32989 maintain proper stack discipline between entry and exit from the
32990 package.
32991
329922005-02-09 Cyrille Comar <comar@adacore.com>
32993
32994 * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
32995 Minor reformatting.
32996
329972005-02-09 Arnaud Charlet <charlet@adacore.com>
32998
32999 * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
33000 fields for foreign threads.
33001
330022005-02-09 Doug Rupp <rupp@adacore.com>
33003
33004 * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
33005 recursion warnings when compiled with -gnatdm.
33006
330072005-02-09 Robert Dewar <dewar@adacore.com>
33008
33009 * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
33010 Slight fix to documentation of -gnaty with no parameters
33011
33012 * xr_tabls.ads: Add ??? comment for missing overall comment
33013
33014 * xsinfo.adb: Make default file name be sinfo.h, since this is what
33015 we now use by default.
33016
33017 * xsnames.adb: Adjust end of file test to look for five space followed
33018 by '#' instead of six spaces. The format of xsnames.adb was modified
33019 in the last update.
33020
33021 * a-numeri.ads: Add reference to AI-388 for greek letter pi
33022 identifier.
33023
33024 * clean.adb: Minor reformatting.
33025
33026 * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
33027 gnatname.adb: Minor reformatting
33028 Add 2005 to copyright output when utility is run
33029
33030 * csets.adb: Eliminate obsolete comment
33031
33032 * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
33033 Update comments.
33034
33035 * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
33036
330372005-02-09 Sergey Rybin <rybin@adacore.com>
33038
33039 * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
33040 the difference between compact and incompact layout and add the record
33041 representation clause to the example illustrating different layouts.
33042 Add the description of '-A5' gnatpp option ("align 'AT' keywords in
33043 component clauses").
33044
330452005-02-09 Florian Villoing <villoing@adacore.com>
33046
33047 * gnat_ugn.texi: Fix typos.
33048 Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
33049 @file.
33050 Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
33051 in the generated documentation.
33052
330532005-02-09 Arnaud Charlet <charlet@adacore.com>
33054
33055 * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
33056 longer supported.
33057 Update linker wrapper when linking with non GNU C++.
33058
330592005-02-09 Pascal Obry <obry@adacore.com>
33060
a1286ef5 33061 * gnat_ugn.texi:
fc5a191d
AC
33062 Document the procedure to debug the DllMain routine on Windows.
33063 Add note about -funwind-tables and mixed Ada and C/C++ programming in
33064 ZCX mode.
33065 Document new BIND qualifer /RETURN_CODES=VMS.
33066
330672005-02-09 Ben Brosgol <brosgol@adacore.com>
33068
33069 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
33070 Edited gnatmetric chapter
33071
330722005-02-09 Robert Dewar <dewar@adacore.com>
33073
a1286ef5 33074 * gnat_rm.texi:
fc5a191d
AC
33075 Changes to document new wide wide character support
33076 For AI-285
33077 Update documentation on Normalize_Scalars and Initialize_Scalars
33078
330792005-02-09 Pascal Obry <obry@adacore.com>
33080
33081 * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
33082
330832005-02-09 Jose Ruiz <ruiz@adacore.com>
33084
33085 * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
33086 from the VxWorks kernel) that is needed for getting the active
33087 priority of the different tasks.
33088
33089 * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
33090 Use a pragma Elaborate_Body in the spec file instead.
33091 Noticed by code reading.
33092
330932005-02-09 Thomas Quinot <quinot@adacore.com>
33094
33095 * exp_util.ads: Minor correction in comment.
33096
330972005-02-09 Arnaud Charlet <charlet@adacore.com>
33098
33099 * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
33100 since this procedure is now too complex to be worth inlining.
33101
c6a912da
RH
331022005-02-09 Richard Henderson <rth@redhat.com>
33103
33104 * utils.c (gnat_define_builtin): Remove.
33105 (gnat_install_builtins): Use build_common_builtin_nodes.
33106
4c2d6a70
AC
331072005-02-09 Arnaud Charlet <charlet@adacore.com>
33108
33109 * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
33110 a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
33111 a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
33112 a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
33113 a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
33114 a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
33115 a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
33116 a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
33117 a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
33118 a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
33119 a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
33120 a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
33121 a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
33122 a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
33123 a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
33124 a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
33125 a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
33126 a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
33127 a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
33128 a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
33129 a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
33130 a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
33131 a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
33132 a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
33133 a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
33134 a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
33135 a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
33136 a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
33137 a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
33138 a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
33139 a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
33140 a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
33141 a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
33142 a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
33143 library.
33144
9e94c78f 331452005-01-27 Laurent Guerby <laurent@guerby.net>
74a22497
LG
33146
33147 * Makefile.in: Fix a-intnam.ads from previous commit,
33148 add 2005 to copyright.
33149 * a-intman-rtems.ads: Renamed to...
33150 * a-intnam-rtems.ads:
33151
9e94c78f 331522005-01-27 Laurent Guerby <laurent@guerby.net>
7d921ba4
LG
33153
33154 * Makefile.in: Rename GNAT RTEMS specific files.
a1286ef5 33155 * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
da8f5fd9 33156 5rosinte.ads, 5rparame.adb: Replaced by files below.
7d921ba4
LG
33157 * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
33158 s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
33159
9e94c78f
EB
331602005-01-27 Joel Sherrill <joel.sherrill@oarcorp.com>
33161 Laurent Guerby <laurent@guerby.net>
9011d4bb
JS
33162
33163 PR ada/19488
33164 * 5rosinte.ads: Add No_Key constant.
a1286ef5
ZW
33165 * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
33166 * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
9011d4bb 33167
9e94c78f 331682005-01-26 Laurent Guerby <laurent@guerby.net>
d487e3c1
LG
33169
33170 PR ada/19414
33171 * i-cobol.adb (Valid_Numeric): Handle zero length case.
a1286ef5 33172
3f38e738
RH
331732005-01-20 Richard Henderson <rth@redhat.com>
33174
33175 * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
33176 a-intnam-linux.ads and system-linux-alpha.ads.
33177 * a-intnam-linux-alpha.ads: Remove file.
33178 * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
33179 * system-linux-alpha.ads: New file.
33180
4d960a7e
JJ
331812005-01-18 Jakub Jelinek <jakub@redhat.com>
33182
33183 PR ada/13470
33184 * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
33185 set to the new string.
33186
b4c6a3a2
TM
331872005-01-18 Toon Moene <toon@moene.indiv.nluug.nl>
33188
33189 * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
33190 to True.
33191
8d5e1df2
RH
331922005-01-18 Richard Henderson <rth@redhat.com>
33193
33194 * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
33195 THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
33196 for alpha-linux.
33197 * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
33198
03eef11c
AP
331992005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
33200
33201 * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
33202 (GCC_ZCX_Support): Likewise.
33203
bc7566ca
BB
332042005-01-11 Bastian Blank <waldi@debian.org>
33205
33206 * system-linux-s390.ads: Define Preallocated_Stacks.
33207 * system-linux-s390x.ads: Likewise.
33208
e550819c
AC
332092005-01-04 Arnaud Charlet <charlet@adacore.com>
33210
33211 * gnat_ugn.texi: Fix texi errors with null variables.
33212
376a74d4
AC
332132005-01-03 Thomas Quinot <quinot@adacore.com>
33214
33215 * gen-soccon.c: New utility program to generate g-soccon.ads
33216 automatically.
33217
33218 * socket.c, gsocket.h: Split inclusion of system header files into a
33219 gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
33220
33221 * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
33222 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
33223 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
33224 g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
33225 should not be edited by hand anymore, but should be regenerated using
33226 gen-soccon.
33227
332282005-01-03 Robert Dewar <dewar@adacore.com>
33229 Ed Schonberg <schonberg@adacore.com>
33230 Vincent Celier <celier@adacore.com>
33231
33232 * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
33233 on/off, since this is an obsolescent feature, for which we now generate
33234 a warning.
33235
33236 * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
33237 warning mode is set and obsolescent usage of this attribute occurs.
33238 (Resolve_Access, case 'Access): Note that GNAT uses the context type to
33239 disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
33240 predates, and partly motivates, the adoption of the AI.
33241 Implement new Ada 2005 attribute Mod
33242
33243 * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
33244 attribute Mod.
33245
33246 * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
33247
33248 * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
33249 pragma restrictions.
33250 New entry for Ada 2005 attribute Mod.
33251
a1286ef5 33252 * par-prag.adb:
376a74d4
AC
33253 Add recognition of new pragma Restrictions No_Dependence
33254 Recognize restriction No_Obsolescent_Features at parse time
33255
33256 * bcheck.adb: Add circuitry for checking for consistency of
33257 No_Dependence restrictions.
33258
33259 * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
33260 restrictions.
33261
33262 * restrict.ads, restrict.adb: Add subprograms to deal with
33263 No_Dependence restrictions.
33264
33265 * rtsfind.adb: Check that implicit with's do not violate No_Dependence
33266 restrictions.
33267
33268 * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
33269 sem_attr.adb: Add check for new restriction No_Obsolescent_Features
33270
33271 * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
33272 dummy parameter to scng instantiation.
33273 Needed for new restriction No_Obsolescent_Features
33274
33275 * scn.adb: (Obsolescent_Check): New procedure
33276 Needed for new restriction No_Obsolescent_Features
33277
33278 * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
33279 specified by AI-285, needed for implementation of AI-388 (adding greek
33280 pi to Ada.Numerics).
33281 Add new generic formal to scng, needed for new restriction
33282 No_Obsolescent_Features.
33283
33284 * s-rident.ads: Add new restriction No_Obsolescent_Features.
33285
33286 * ali.ads, ali.adb: Adjustments for reading new No_Dependence
33287 restrictions lines.
33288 (Scan_ALI): When finding an unexpected character on an R line, raise
33289 exception Bad_R_Line, instead of calling Fatal_Error, so that, when
33290 Ignore_Errors is True, default restrictions are set and scanning of the
33291 ALI file continues with the next line. Also, when Bad_R_Line is raised
33292 and Ignore_Errors is True, skip to the end of le line.
33293
33294 * sem_ch10.adb: Check that explicit with's do not violate
33295 No_Dependence restrictions.
33296 (Install_Withed_Unit): Add code to implement AI-377 and diagnose
33297 illegal context clauses containing child units of instance.
33298
33299 * sem_prag.adb: Processing and checking for new No_Dependence
33300 restrictions.
33301 (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
33302 analyze and check the External argument.
33303
33304 * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
33305
333062005-01-03 Robert Dewar <dewar@adacore.com>
33307
33308 * atree.adb: Add a fifth component to entities
33309 This allows us to add 32 flags and four new fields
33310
33311 * atree.ads: Add a fifth component to entities
33312 This allows us to add 32 flags and four new fields
33313
33314 * einfo.ads, einfo.adb: Document new fields and new flags now available
33315 Add routines for printing new fields
33316
33317 * treepr.adb: Call routines to print out additional fields if present
33318
333192005-01-03 Arnaud Charlet <charlet@adacore.com>
33320
33321 * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
33322 gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
33323
33324 * Makefile.in: Add support to build shared Ada libraries on solaris x86
33325 Remove gpr2make, replaced by gprmake.
33326 Remove references to gnatmem and libaddr2line.
33327 Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
33328 (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
33329 Add support for specialized version of Ada.Numerics.Aux for Darwin: use
33330 a-numaux-darwin.ads and a-numaux-darwin.adb
33331 Enable mlib-tgt-lynxos.adb on lynxos.
33332
33333 * Make-lang.in: Remove rules for gpr2make.
33334 When generating sdefault.adb, do not call Relocate_Path
33335 on S3 for function Target_Name, as it is not a path.
33336 Remove references to gnatmem and libaddr2line.
33337
33338 * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
33339 files.
33340
333412005-01-03 Samuel Tardieu <tardieu@adacore.com>
33342
33343 * checks.adb (Apply_Alignment_Check): Generate a warning if an object
33344 address is incompatible with its base type alignment constraints when
33345 this can be decided statically.
33346
333472005-01-03 Olivier Hainque <hainque@adacore.com>
33348
33349 * decl.c (compatible_signatures_p): New function. The intended purpose
33350 is to check if two function signatures for a call-site and a callee are
33351 compatible enough for the call to be valid. The underlying purpose is
33352 to check if a call to a mapped builtin is using the right interface.
33353 The current code actually does not check antyhing - this a placeholder
33354 for future refinements.
33355 (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
33356 builtin calls for convention Intrinsic.
33357
33358 * gigi.h (builtin_decl_for): Declare (new function).
33359
33360 * utils.c (gnat_install_builtins): Install the target specific builtins.
33361 (builtin_decl_for): New function, provide a dummy body for now.
33362
333632005-01-03 Geert Bosch <bosch@adacore.com>
33364
33365 * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
33366 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
33367 (Pred): Implement in terms of Succ.
a1286ef5 33368
376a74d4
AC
33369 * trans.c (convert_with_check): Reimplement conversion of float to
33370 integer.
33371
333722005-01-03 Ed Schonberg <schonberg@adacore.com>
33373 Vincent Celier <celier@adacore.com>
33374
33375 * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
33376 bounds can be negative, and must be declared Int, not Nat.
33377
33378 * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
33379 array is checked after using the index in the array.
33380
33381 * makegpr.adb (Add_Switches): Check if there is a package for the
33382 processor. If there is no package, do not look for switches.
33383
333842005-01-03 Ed Schonberg <schonberg@adacore.com>
33385
33386 * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
33387 generation of predefined stream operations (specs and bodies) should
33388 proceed. Under various restrictions these subprograms must not be
33389 generated.
33390
333912005-01-03 Thomas Quinot <quinot@adacore.com>
33392
a1286ef5 33393 * exp_dist.adb:
376a74d4
AC
33394 Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
33395 amount of PCS-specific code in RACW stubs generation.
33396 (Copy_Specification): Set Etype on copied formal parameter entities, as
33397 this information is needed for PolyORB stubs generation.
33398 (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
33399 variable Dynamic_Async.
33400 (Build_Subprogram_Receiving_Stubs): Make PCS-specific
33401 (Build_RPC_Receiver_Specification): Make generic again, as recent
33402 changes have allowed RPC receivers to have the same profile for both
33403 variants of the PCS.
33404 Reorganise RPC receiver generation to reduce differences between the
33405 structure of GARLIC and PolyORB RPC receivers.
33406 (Add_Receiving_Stubs_To_Declarations): Make this subprogram
33407 PCS-specific.
33408 Simplify elaboration code for RCI packages.
33409
33410 * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
33411 generation to reduce differences between the structure of GARLIC and
33412 PolyORB RPC receivers.
33413
33414 * s-stratt.adb: Fix typo in comment.
33415
334162005-01-03 Thomas Quinot <quinot@adacore.com>
33417
33418 * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
33419 copied from Make_Init_Call).
33420
33421 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
33422 reads and assignments on a temporary variable declared with appropriate
33423 discriminants.
33424
334252005-01-03 Robert Dewar <dewar@adacore.com>
33426
33427 * i-c.adb (To_C): Raise CE if string is null and Append_Null
33428
334292005-01-03 Robert Dewar <dewar@adacore.com>
33430
33431 * i-cstrin.adb (Update): Do not append a null in form called with a
33432 String. This avoids unintended behavior.
33433
334342005-01-03 Arnaud Charlet <charlet@adacore.com>
33435
33436 PR ada/17527
33437 * init.c: Fix warnings on Free BSD section.
33438
334392005-01-03 Arnaud Charlet <charlet@adacore.com>
33440
33441 PR ada/16949
33442 * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
33443 xsinfo.adb).
33444
334452005-01-03 Vincent Celier <celier@adacore.com>
33446
33447 * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
33448 libraries when Unique_Compile is True (-u switch).
33449 (Gnatmake): ditto.
33450
334512005-01-03 Robert Dewar <dewar@adacore.com>
33452
33453 * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
33454 upper case letter or underscore after W, as allowed by spec.
33455
334562005-01-03 Arnaud Charlet <charlet@adacore.com>
33457
33458 * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
33459 darwin port by using proper type definitions from header files.
33460 Use SIGTERM instead of SIGABRT for SIGADAABORT.
33461
334622005-01-03 Robert Dewar <dewar@adacore.com>
33463
33464 * par.adb: Enhance error message handling for configuration file
33465 pragmas.
33466
334672005-01-03 Robert Dewar <dewar@adacore.com>
33468
33469 * s-arit64.adb (Double_Divide): Put back changes that got accidentally
33470 removed during the previous update (test properly for case of dividing
33471 largest negative number by -1, which generates overflow).
33472
334732005-01-03 Ed Schonberg <schonberg@adacore.com>
33474 Sergey Rybin <rybin@adacore.com>
33475
33476 * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
33477 to use as the defining identifier for a formal package.
33478 (Remove_Parent): If the instance takes place within (an instance of)
33479 a sibling, preserve private declarations of common parent.
33480
334812005-01-03 Ed Schonberg <schonberg@adacore.com>
33482
33483 * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
33484 to determine whether one of the operands is a fixed-point type for
33485 which a user-defined multiplication or division operation might be
33486 defined.
33487
33488 * sem_res.adb (Valid_Conversion): The legality rules for conversions
33489 of access types are symmetric in Ada 2005: either designated type can
33490 be unconstrained.
33491
334922005-01-03 Vincent Celier <celier@adacore.com>
33493
33494 * s-fileio.adb (Temp_File_Record): Change length of string component
33495 Name from L_tmpnam + 1 to max_path_len + 1.
33496
334972005-01-03 Arnaud Charlet <charlet@adacore.com>
33498
33499 * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
33500 Self_Id.Deferral_Level = 0.
33501 (Do_Pending_Action): Move this function to the spec.
33502
33503 * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
33504 Do_Pending_Action explicitely when needed, in case we're using
33505 No_Abort restrictions.
33506
33507 * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
33508 deferral level since it will not get changed by the generated code.
33509 Keeping a default value of 1 would prevent some operations (e.g.
33510 select or delay) to proceed successfully.
33511
335122005-01-03 Ben Brosgol <brosgol@adacore.com>
33513 Robert Dewar <dewar@adacore.com>
33514 Cyrille Comar <comar@adacore.com>
33515
33516 * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
33517 porting guide chapter (vms version).
33518 Revised doc title (removed "for native platforms") and subtitle.
33519 Add discussion on warning flag for obsolescent features. First we
33520 note that it applies to obsolete GNAT features, which was previously
33521 omitted. Second we contrast the behavior with that of the new
33522 Ada 2005 AI-368 restriction No_Obsolescent_Features.
33523 Preliminary rewriting of GNAT & libraries chapter in order to take
33524 into account default project locations & new project manager
33525 capabilities.
33526
335272005-01-03 Robert Dewar <dewar@adacore.com>
33528
33529 * cstand.adb (Create_Operators): Clean up format and documentation of
33530 unary and binary operator result tables. No change in code, just
33531 reformatting and addition of comments.
33532
33533 * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
33534 sem_ch2.adb: Minor reformatting
33535
33536 * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
33537 sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
33538 comments for Tree_Read and Tree_Write.
33539
335402005-01-03 Pascal Obry <obry@adacore.com>
33541
33542 * exp_attr.ads: Minor reformatting.
33543
335442005-01-03 Romain Berrendonner <berrendo@adacore.com>
33545
33546 * comperr.adb (Compiler_Abort): Add specialized message for GAP
33547 versions.
33548
335492005-01-03 Ed Schonberg <schonberg@adacore.com>
33550
33551 * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
33552 whether the ancestor type is private, as may be the case with nested
33553 instantiations.
33554
9e94c78f 335552004-12-30 Sohail Somani <sohail@sohailsomani.com>
15cd18b9
SS
33556
33557 PR ada/19128
33558 * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
33559
2614034e 335602004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
15cd18b9 33561
2614034e
EB
33562 * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
33563 * utils2.c (build_unary_op): Likewise.
33564
ad50bc8d
RH
335652004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
33566
33567 * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
33568
ed9c846c
RH
335692004-12-19 Richard Henderson <rth@redhat.com>
33570
33571 * trans.c (gigi): Update gimplify_body call.
33572
08f2586c
NS
335732004-12-09 Nathan Sidwell <nathan@codesourcery.com>
33574
33575 * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
33576
180684eb
AC
335772004-12-07 Ed Falis <falis@adacore.com>
33578
33579 * s-intman-vxworks.adb (Notify_Exception): removed useless check for
33580 current task being suspended.
33581
33582 * init.c (__gnat_clear_exception): added to reset VxWorks exception
33583 count.
33584 (__gnat_map_signal): removed test for current task being suspended.
33585
335862004-12-07 Gary Dismukes <dismukes@adacore.com>
33587
33588 * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
33589 from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
33590 targets (such as AAMP).
33591
335922004-12-07 Ed Schonberg <schonberg@adacore.com>
33593
33594 * atree.adb (Visit_Itype): Create a new name for the generated itype,
33595 because the back-end may otherwise treat it as a redefinition of the
33596 old symbol.
33597
335982004-12-07 Eric Botcazou <ebotcazou@adacore.com>
33599
33600 * back_end.adb (Scan_Back_End_Switches): Accept --param.
33601
33602 * lang-specs.h: Accept --param.
33603
336042004-12-07 Vincent Celier <celier@adacore.com>
33605
33606 * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
33607 package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
33608 Current_Body_Suffix => Ada_Body_Suffix).
33609 Take into account Externally_Built attribute.
33610
33611 * clean.adb (In_Extension_Chain): Always return False when one of the
33612 parameter is No_Project.
33613 (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
33614 Ada_Language_Index).
33615 (Gnatclean): Adapt to change in package Prj.Pars (no parameter
33616 Process_Languages for procedure Parse).
33617
33618 * gnatcmd.adb (Carg_Switches): New table.
33619 (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
33620 Adapt to name changes in package Prj (Current_Spec_Suffix =>
33621 Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
33622
33623 * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
33624 Header_Num and function Hash are now declared in package Prj,
33625 not Prj.Com.
33626
33627 * prj.adb (Suffix_Of): New function.
33628 (Set (Suffix)): New procedure.
33629 (Hash): One function moved from Prj.Com
33630 (Is_Present, Language_Processing_Data_Of): New functions
33631 (Set): Two new procedures
33632 (Add_Language_Name, Display_Language_Name): New procedures
33633
33634 * prj.ads: (Suffix_Of): New function
33635 (Set (Suffix)): New procedure
33636 Add several types and tables for multi-language support.
33637 (Header_Num): Type moved from Prj.Com
33638 (Hash): Two functions moved from Prj.Com
33639 (Is_Present, Language_Processing_Data_Of): New functions
33640 (Set): Two new procedures
33641 (Add_Language_Name, Display_Language_Name): New procedures
33642 (Naming): Component name changes:
33643 Current_Spec_Suffix => Ada_Spec_Suffix,
33644 Current_Body_Suffix => Ada_Body_Suffix. Add new components:
33645 Impl_Suffixes, Supp_Suffixes.
33646 (Project_Data): New components: Externally_Built, Supp_Languages,
33647 First_Language_Processing, Supp_Language_Processing, Default_Linker,
33648 Default_Linker_Path.
33649
33650 * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
33651 new package Language_Processing with its attributes (Compiler_Driver,
33652 Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
33653 Binder_Driver, Default_Linker).
33654
33655 * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
33656 (Header_Num): Type moved to package Prj
33657
33658 * prj-env.adb: Adapt to name changes in package Prj
33659 (Current_Spec_Suffix => Ada_Spec_Suffix,
33660 Current_Body_Suffix => Ada_Body_Suffix).
33661
33662 * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
33663 default to the project path, except the "-" is one of the directories
33664 in env var ADA_PROJECT_PATH.
33665 (Current_Project_Path): Global variable, replacing Project_Path
33666 that was in the body of Prj.Part.
33667 (Project_Path): New function
33668 (Set_Project_Path): New procedure
33669 Initialize Current_Project_Path during elaboration of the package
33670 Remove dependency on Prj.Com, no longer needed
33671
33672 * prj-ext.ads (Project_Path): New function
33673 (Set_Project_Path): New procedure
33674
33675 * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
33676 suffix is defined for language <lang>.
33677 (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
33678 accessing directly the components of Naming.
33679 (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
33680 Reorganise of this package.
33681 Break procedure Check in several procedures.
33682
33683 * prj-nmsc.ads: Replace all procedures (Ada_Check,
33684 Other_Languages_Check and Language_Independent_Check) with a single
33685 procedure Check.
33686
33687 * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
33688 Process_Languages, no longer needed.
33689
33690 * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
33691 Current_Project_Path.
33692 Remove elaboration code, moved to the body of Prj.Ext
33693 Use new function Prj.Ext.Project_Path instead of old variable
33694 Project_Path.
33695 (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
33696 When comparing with project paths on the stack, first put the resolved
33697 path in canonical case.
33698 (Parse_Single_Project): Set the path name of the project file in the
33699 tree to the normalized path.
33700
33701 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
33702 parameter Process_Languages, no longer needed.
33703 (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
33704 Other_Languages_Check.
33705
33706 * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
33707 to store the resolved canonical path of the project file.
33708 Remove dependency to Prj.Com, no longer needed
33709
33710 * prj-util.adb: Adapt to name changes in package Prj
33711 (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
33712 Ada_Body_Suffix).
33713
33714 * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
33715 Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
33716 Externally_Built, Include_Option, Language_Processing.
33717
33718 * makegpr.adb: Numerous changes due to changes in packages
33719 Prj and Prj.Nmsc.
33720
33721 * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
33722 default to the project path, except whe "-" is one of the directories
33723 in env var ADA_PROJECT_PATH.
33724 (Gnatls): In verbose mode, add the new section "Project Search Path:"
33725
337262004-12-07 Robert Dewar <dewar@adacore.com>
33727
33728 * debug.adb: Document that -gnatdA automatically sets -gnatR3m
33729
33730 * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
33731 set -gnatR3m mode.
33732
33733 * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
33734 flag. No longer needed now that we handle this in gnat1drv.adb.
33735
33736 * repinfo.ads: Minor reformatting
33737
337382004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
33739 Olivier Hainque <hainque@adacore.com>
33740 Eric Botcazou <ebotcazou@adacore.com>
33741
33742 * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
33743 TYPE_SIZE_UNIT of result type if SIZE is not specified.
33744 (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
33745 of a bitfield, which we know is useless and causes trouble because of
33746 alignment implications.
33747
33748 * utils.c (create_var_decl): Set DECL_COMMON again on targets without
33749 BSS sections.
33750 (process_attributes): Clear DECL_COMMON again when a section attribute
33751 is present.
33752 (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
33753 SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
33754 (create_field_decl): Special case ADDRESSABLE negative to mean
33755 "no bitfield creation", to be used by make_aligning_type. Don't
33756 restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
33757 fields claimed addressable still have to be bitfields. Use
33758 value_factor_p instead of a raw binop construction to check for the
33759 position's alignment.
33760
337612004-12-07 Geert Bosch <bosch@adacore.com>
33762
33763 * eval_fat.adb: Revert previous change.
33764
337652004-12-07 Thomas Quinot <quinot@adacore.com>
33766 Ed Schonberg <schonberg@adacore.com>
33767
33768 * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
33769 with an implicit dereference as its prefix, use
33770 Insert_Explicit_Dereference instead of merely rewriting the prefix into
33771 an explicit dereference. This ensures that a reference to the original
33772 prefix is generated, if appropriate.
33773
33774 * sem_util.adb (Insert_Explicit_Dereference): When an implicit
33775 dereference is rewritten to an explicit one, generate a reference to
33776 the entity denoted by its prefix using the original prefix node, so
33777 the dereference can be properly recorded as a read of the denoted
33778 access value, if appropriate.
33779
33780 * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
33781 emitting 'assigned but never read' warning on a variable on the basis
33782 that it has an access type.
33783 (Check_References): Emit unreferenced warning when the scope is a
33784 subprogram body.
33785
337862004-12-07 Robert Dewar <dewar@adacore.com>
33787 Ed Schonberg <schonberg@adacore.com>
33788
33789 * exp_ch6.adb (Expand_Call): Add comment on handling of back end
33790 intrinsic
33791
33792 * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
33793 leaving call unchanged.
33794 This deals with the case where the pragma Import specified
33795 an external name, to be handled by the back end.
33796
33797 * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
33798 subprogram which is Imported with convention Intrinsic if an
33799 External_Name argument is specified.
33800 (Process_Import_Or_Interface): Properly diagnose link name argument.
33801 (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
33802 with Sem_Ch6.Cannot_Inline.
33803 (Process_Inline): Provide separate warning for inapplicable inline
33804 pragma.
33805 (Cannot_Inline): Reject subprograms that have an at_end handler, so that
33806 treatment is uniform on different targets.
33807
338082004-12-07 Ed Schonberg <schonberg@adacore.com>
33809
33810 * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
33811 construct is rewritten, preserve end label to permit source navigation.
33812
338132004-12-07 Thomas Quinot <quinot@adacore.com>
33814
33815 * exp_dist.adb (Specific_Build_General_Calling_Stubs,
33816 Specific_Build_Stub_Target): New subprograms.
33817 (Build_Subprogram_Calling_Stubs): Make this procedure independent from
33818 the PCS implementation used, using the above PCS-customized subprograms.
33819 Minor reformatting.
33820 (PolyORB_Support.Helpers): New subunit containing supporting subprograms
33821 for generation of DSA code targeted to the PolyORB PCS.
33822 (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
33823 implementation of the partition communication subsystem in ancillary
33824 subprograms.
33825 (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
33826 PolyORB_Support.Build_Stub_Type): New subrograms containing the
33827 PCS-specific part of Add_Stub_Type.
33828 (Insert_Partition_Check): Use runtime library function to perform
33829 E.4(19) check.
33830
a1286ef5
ZW
33831 * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
33832 (RE_Same_Partition): New entity, from s-parint.
180684eb 33833
a1286ef5 33834 * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
180684eb
AC
33835
338362004-12-07 Gary Dismukes <dismukes@adacore.com>
33837
33838 * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
33839 Output the copyright message on a separate line from the version
33840 message.
33841
338422004-12-07 Joel Brobecker <brobecker@adacore.com>
33843
33844 * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
33845 compile-time warning.
33846
338472004-12-07 Robert Dewar <dewar@adacore.com>
33848
33849 * g-regpat.adb: (Match): Change a misuse of or to or else
33850
338512004-12-07 Ed Schonberg <schonberg@adacore.com>
33852
15cd18b9 33853 * lib-xref.adb:
180684eb
AC
33854 (Generate_Reference): Handle properly a reference to an entry formal,
33855 when an accept statement has a pragma Unreferenced for it.
33856
33857 * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
33858 and the Has_Pragma_Unreferenced flag for each formal before analyzing
33859 the body, to ensure that warnings are properly emitted for each accept
33860 statement of a given task entry.
33861
338622004-12-07 Vasiliy Fofanov <fofanov@adacore.com>
33863
33864 * Makefile.in: Add support for foreign threads on VMS.
33865
338662004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
33867
33868 * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
33869 Remove.
33870 (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
33871
33872 * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
33873
33874 * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
33875 exception.
33876 (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
33877
338782004-12-07 Robert Dewar <dewar@adacore.com>
33879
33880 * nlists.adb (Prepend_Debug): Remove parameters and nest within
33881 Prepend.
33882 (Remove_Next_Debug): Same fix
33883
33884 * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
33885 maintain back pointers now, though we did not used to, and comments
33886 were out of date).
33887 (Prepend): Remove pragma Inline.
33888 (Remove_Next): Same cleanup
33889
338902004-12-07 Thomas Quinot <quinot@adacore.com>
33891
33892 * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
33893 used to record an implicit dereference as a read operation on its
33894 prefix when operating under -gnatc. Necessary to avoid spurious
33895 'variable assigned but never read' warnings in that mode.
33896 (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
33897 is a non-overloaded implicit dereference, call the above subprogram to
33898 ensure proper recording of references.
33899
339002004-12-07 Gary Dismukes <dismukes@adacore.com>
33901
33902 * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
33903 to be resolved later as part of Analyze_Iteration_Scheme's call to
33904 Make_Index.
33905
339062004-12-07 Ed Schonberg <schonberg@adacore.com>
33907
33908 * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
33909 prefix is not a scalar type, place error message on prefix, not on
33910 type entity.
33911
339122004-12-07 Bernard Banner <banner@adacore.com>
33913
33914 * vxaddr2line.adb: Add support for x86 vxworks
33915
339162004-12-07 Thomas Quinot <quinot@adacore.com>
33917
33918 * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
33919 documentation of the behaviour of these functions when passed an IP
33920 address that has no record in the system hosts database and no reverse
33921 record in the DNS.
33922
33923 * cstand.adb, a-tags.ads: Fix typos in comment.
33924
339252004-12-07 Robert Dewar <dewar@adacore.com>
33926
33927 * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
33928 exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
33929 sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
33930 s-poosiz.ads: Minor reformatting
33931
33932 * make.adb: Minor reformatting
33933 Add some ??? comments asking for more comments
33934
33935 * s-poosiz.adb: Minor reformatting
33936 Add comments on alignment requirement
33937
33938 * sinfo.ads: Remove obsolete comment and fix typo.
33939
339402004-12-07 Vincent Celier <celier@adacore.com>
33941 Sergey Rybin <rybin@adacore.com>
33942
33943 * gnat_ugn.texi: Update the section "The GNAT Driver and Project
33944 Files" with the new tool and package names.
33945 Reformatting to suppress most of the warnings for line too long
33946 Document the new section "Project Search Path:" in the output of
33947 gnatls -v.
33948 Add gnatmetric section
33949
339502004-12-07 Vincent Celier <celier@adacore.com>
33951
33952 * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
33953 -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
33954 and -eit to -ept. Added qualifier
33955 /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
33956
ed986c8e
AS
339572004-11-27 Andreas Schwab <schwab@suse.de>
33958
33959 * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
33960
3c13948a
AC
339612004-11-25 Arnaud Charlet <charlet@adacore.com>
33962
33963 * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
33964 internal implementation unit GNAT.Sockets.Thin,
33965 as their usage for sockets is non-portable (using the read and write
33966 functions from the system runtime library is fine on UNIX but won't
33967 work under Windows).
33968
33969 * mingw32.h: Update copyright notice.
33970
061fd2bf
AC
339712004-11-25 Arnaud Charlet <charlet@adacore.com>
33972
33973 * ada-tree.h: Minor reformatting of previous change to avoid lines
33974 longer than 79 characters.
33975
e850e1f4
OH
339762004-11-25 Olivier Hainque <hainque@adacore.com>
33977
33978 * tb-gcc.c: GCC infrastructure based implementation of
33979 __gnat_backtrace.
33980
39afeb1a
SB
339812004-11-24 Steven Bosscher <stevenb@suse.de>
33982
33983 * misc.c (gnat_post_options): Don't clear
33984 flag_inline_functions.
33985
9633a6ac
AP
339862004-11-22 Andrew Pinski <pinskia@physics.uc.edu>
33987
33988 PR ada/17986
33989 * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
33990 tree.
33991
7fe16580
AJ
339922004-11-21 Andreas Jaeger <aj@suse.de>
33993
33994 * stylesw.adb: Change Style_Check_Subprogram_Order to
33995 Style_Check_Order_Subprograms.
33996
9716416b
AC
339972004-11-18 Arnaud Charlet <charlet@adacore.com>
33998
33999 * adaint.h, adaint.c
34000 (__gnat_portable_spawn): Fix cast of spawnvp third parameter
34001 to avoid warnings.
34002 Add also a cast to kill another warning.
34003 (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
34004 parameter with the priority class of the parent process instead of
34005 always using the NORMAL_PRIORITY_CLASS.
34006 (__gnat_dup): New function.
34007 (__gnat_dup2): New function.
34008 (__gnat_is_symbolic_link): Enable the effective body of this
34009 function when __APPLE__ is defined.
34010
34011 * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
34012 Update comments.
34013
340142004-11-18 Olivier Hainque <hainque@adacore.com>
34015
34016 * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
34017 address of which may be used to represent "others" and "all others"
34018 choices in exception tables, instead of the current harcoded
34019 (void *)0 and (void *)1.
34020 (Setup_Exception): Do nothing in the GNAT SJLJ case.
34021
34022 * gigi.h (others_decl, all_others_decl): New decls representing the
34023 new Others_Value and All_Others_Value objects.
34024 (struct attrib): Rename "arg" component as "args", since GCC expects a
34025 list of arguments in there.
34026
34027 * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
34028 corresponding objects exported by a-exexpr, instead of hardcoded dummy
34029 addresses.
34030
34031 * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
34032 others_decl and all_others_decl instead of hardcoded dummy addresses
34033 to represent "others" and "all others" choices, which is cleaner and
34034 more flexible with respect to the possible eh pointer encoding policies.
34035
34036 * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
34037 (process_attributes): Account for the naming change of the "args"
34038 attribute list entry component.
34039
34040 * decl.c (build_attr_list): Rename into prepend_attributes to allow
34041 cumulating attributes for different entities into a single list.
34042 (gnat_to_gnu_entity): Use prepend_attributes to build the list of
34043 attributes for the current entity and propagate first subtype
34044 attributes to other subtypes.
34045 <E_Procedure>: Attribute arguments are attr->args and not
34046 attr->arg any more.
34047 (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
34048 argument provided, as this is what GCC expects. Use NULL_TREE instead
34049 of 0 for trees.
34050
340512004-11-18 Robert Dewar <dewar@adacore.com>
34052
15cd18b9 34053 * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
9716416b
AC
34054 Minor reformatting througout (including new function specs)
34055 Add ??? comments asking for clarification.
34056
340572004-11-18 Thomas Quinot <quinot@adacore.com>
34058
34059 * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
34060 incomplete duplicate implementation of this subprogram from butil.
34061
340622004-11-18 Thomas Quinot <quinot@adacore.com>
34063
34064 * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
34065 procedures factors the common processing for building an RPC receiver
34066 for an RCI package or an RACW type.
34067 Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
34068 Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
34069 (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
34070 in use.
34071 (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
34072 Add_RACW_Features.
34073 (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
34074 Add_RAST_Features.
34075 (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
34076 distribution subprogram identifiers that are either subprogram numbers
34077 or strings.
34078 (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
34079 string distribution identifiers assigned to a given subprogram.
34080 (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
34081 (Add_RAS_Dereference_TSS): Add comments.
34082 (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
34083 is not referenced yet because it will be used by the PolyORB DSA
34084 implementation.
34085 (Insert_Partition_Check): Remove fossile code.
34086 (First_RCI_Subprogram_Id): Document this constant.
34087 (Add_RAS_Access_TSS): Correct the setting of the Etype of the
34088 RAS_Access TSS.
34089 (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
34090 replaced with calls to Get_Library_Unit_Name_String. Previously there
34091 were several instances of the same code in different locations in the
34092 compiler; this checkin completes the replacement of all of these
34093 instances with calls to a common subprogram.
34094 Minor reformatting.
34095
34096 * sem_dist.adb: Remove comment noting that RPC receiver generation
34097 should be disabled for RACWs that implement RASs.
34098 (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
34099
34100 * sem_util.ads, sem_util.adb (Has_Stream): New function
34101 (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
34102 qualified name of a library unit into the name buffer.
34103 (Note_Possible_Modification): Generate a reference only
34104 if the context comes from source.
34105
34106 * snames.ads (PCS_Names): New subtype corresponding to names of
34107 supported implementations of the Partition Communication Subsystem
34108 (PCS) (i.e. the runtime library support modules for the distributed
34109 systems annex).
34110
341112004-11-18 Robert Dewar <dewar@adacore.com>
34112 Ed Schonberg <schonberg@adacore.com>
34113
34114 * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
34115 (Has_Rep_Pragma): New function
34116 (Has_Attribute_Definition_Clause): New function
34117 (Record_Rep_Pragma): Moved here from sem_ch13.adb
34118 (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
34119
34120 * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
34121
34122 * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
34123 (Expand_Pragma_Psect_Object): New procedure
34124 These procedures contain the revised and cleaned up processing for
34125 these two pragmas. This processing was formerly in Sem_Prag, but
34126 is more appropriately moved here. The cleanup involves making sure
34127 that the pragmas are properly attached to the tree, and that no
34128 nodes are improperly shared.
34129
34130 * sem_prag.adb: Move expansion of Common_Object and Psect_Object
34131 pragmas to Exp_Prag, which is more appropriate.
34132 Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
34133 check for duplicates Remove use of Is_Psected flag, no longer needed.
34134 Use new Make_String_Literal function with string.
34135
34136 * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
34137 that are functions return universal values, that have to be converted
34138 to the context type.
34139 Use new Make_String_Literal function with string.
34140 (Get_Stream_Convert_Pragma): New function, replaces the use of
34141 Get_Rep_Pragma, which had to be kludged to work in this case.
34142
34143 * freeze.adb: Use new Has_Rep_Pragma function
34144
34145 * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
34146 function with string.
34147 Use new Has_Rep_Pragma function.
34148
34149 * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
34150 string argument.
34151
341522004-11-18 Robert Dewar <dewar@adacore.com>
34153
34154 * errout.ads, errout.adb: (First_Sloc): New function
34155
34156 * par-ch5.adb (P_Condition): Check for redundant parens is now a style
34157 check (-gnatyx) instead of being included as a redundant construct
34158 warning.
34159
34160 * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
34161 Style_Check_Order_Subprograms.
34162
34163 * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
34164 stylesw.adb: Add Style_Check_Xtra_Parens
34165
34166 * usage.adb: Add line for -gnatyx (check extra parens)
34167
34168 * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
34169
341702004-11-18 Ed Schonberg <schonberg@adacore.com>
34171 Robert Dewar <dewar@adacore.com>
34172
34173 * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
34174 discriminant of a constrained subtype, analyze the copy of the
34175 corresponding constraint, because in some cases it may be only
34176 partially analyzed.
34177 Removes long-lived ??? comments.
34178
34179 * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
34180 handled controlled or secondary-stack expressions within the
34181 iteration_scheme of a loop.
34182
34183 * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
34184 bounds that may contain functions calls, to prevent memory leaks when
34185 the bound contains a call to a function that uses the secondary stack.
34186 (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
34187 generate temporaries for loop bounds that might contain function calls
34188 that require secondary stack and/or finalization actions.
34189
34190 * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
34191 selected component and the selector is overloadable (not just a
34192 function) treat as function call, Analyze_Call will disambiguate if
34193 necessary.
34194 (Analyze_Selected_Component): Do not generate an actual subtype for the
34195 selected component if expansion is disabled. The actual subtype is only
34196 needed for constraint checks.
34197 (Analyze_Allocator): If restriction No_Streams is set, then do
34198 not permit objects to be declared of a stream type, or of a
34199 composite type containing a stream.
34200
34201 * restrict.ads: Remove the a-stream entry from Unit_Array, since
34202 No_Streams no longer prohibits with'ing this package.
34203
34204 * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
34205 discriminants, but the parent base has unknown discriminants, there is
34206 no discriminant constraint to inherit. Such a discrepancy can arise
34207 when the actual for a formal type with unknown discriminants is a
34208 similar private type whose full view has discriminants.
34209 (Analyze_Object_Declaration): If restriction No_Streams is set, then
34210 do not permit objects to be declared of a stream type, or of a
34211 composite type containing a stream.
34212
342132004-11-18 Ed Schonberg <schonberg@adacore.com>
34214
34215 * exp_dbug.ads: Update documentation to reflect simpler encoding for
34216 protected operations.
34217
34218 * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
34219 generated name, it complicates decoding in gdb and hinders debugging
34220 of protected operations.
34221 (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
34222 flag for the protected entry barrier function.
34223 (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
34224 flag for the protected entry function.
34225
342262004-11-18 Nicolas Setton <setton@adacore.com>
34227
34228 * expect.c: Define __unix__ when __APPLE__ is defined.
34229
34230 * Makefile.in: Inform the value of the variable GMEM_LIB in the
34231 Darwin-specific section.
34232
34233 * lang-specs.h: Change the placement of the %1 marker.
34234 Works around the fact that gcc adds -fPIC by default under Darwin.
34235
342362004-11-18 Ed Schonberg <schonberg@adacore.com>
34237
34238 * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
34239 type of the object with the packed array type, set the Analyzed flag
34240 on the object if it is an entity or simple indexed component, to avoid
34241 spurious type errors.
34242
342432004-11-18 Gary Dismukes <dismukes@adacore.com>
34244
34245 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
34246 gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
34247 separate line from the version message.
34248
342492004-11-18 Ed Falis <falis@adacore.com>
34250
34251 * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
34252 vthreads.
34253 (init_float): Eliminate initialization of floating point status for
34254 AE653. The instructions have no effect for vThreads.
34255
342562004-11-18 Vincent Celier <celier@adacore.com>
34257
34258 * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
34259 gnatbind is invoked with -shared.
34260
342612004-11-18 Jose Ruiz <ruiz@adacore.com>
34262
34263 * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
34264 for Detect_Blocking which is redundant with the check done within the
34265 procedure Protected_Single_Entry_Call.
34266 (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
34267 Detect_Blocking which is redundant with the check done within the
34268 procedure Protected_Single_Entry_Call.
34269
342702004-11-18 Vincent Celier <celier@adacore.com>
34271
34272 * makegpr.adb (Compile): Put the compiling switches (in package
34273 Compiler and on the command line) immediately after "-c", instead of
34274 at the end of the command line invocation of the compiler, when
34275 compiling a non-Ada file.
34276 (Build_Global_Archive): When there is no need to rebuild the archive,
34277 set Global_Archive_Exists, so that the archive is passed to the linker
34278 if one is needed.
34279
342802004-11-18 Robert Dewar <dewar@adacore.com>
34281 Sergey Rybin <rybin@adacore.com>
34282
15cd18b9 34283 * gnat_ugn.texi:
9716416b
AC
34284 Remove extra paren check from list of checks for redundant constructs
34285 Add documentation of new -gnatyx style check (check extra parens)
34286 Remove paragraph about gnatelim debug options.
34287
34288 * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
34289 objects rather than forbidding dependencies on the package Ada.Streams.
34290
34291 * sinfo.ads: Add ??? note that we should document pragmas passed to
34292 back end.
34293
34294 * g-expect.ads: Fix a few typos in the comments.
34295
9e637a26
JM
342962004-11-09 Joseph S. Myers <joseph@codesourcery.com>
34297
34298 * misc.c (gnat_handle_option): Use %< and %> for quoting in
34299 warning message.
34300
0506cb1c
RO
343012004-11-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
34302
34303 * a-numaux-x86.adb (Tan): Fix fdivp syntax.
34304
426e7d28
AS
343052004-11-07 Andreas Schwab <schwab@suse.de>
34306
34307 * Makefile.in (install-gnatlib): Remove spurious hyphen.
34308
8785609e 343092004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
bb342a77
AP
34310
34311 PR ada/18228
34312 * Makefile.in (darwin): Set soext to .dylib.
34313
0ca5fab2
AC
343142004-10-26 Vincent Celier <celier@gnat.com>
34315 Thomas Quinot <quinot@act-europe.fr>
34316
34317 * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
34318 (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
34319 there is no use of GNAT.Sockets.Constants.
34320 Remove remaining pragma Import for C_Write
34321 Remove C_Read and C_Write from internal implementation unit
34322 GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
34323 the read and write functions from the system runtime library is fine
34324 on UNIX but won't work under Windows).
34325
34326 * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
34327 (Check_Selector): Use C_Recv instead of C_Read.
34328 Selectors are the GNAT.Sockets abstraction to perform a select()
34329 call on a set of descriptors. To allow abortion of an ongoing
34330 select operation, some data is written to a dedicated socket that
34331 is always monitored.
34332 Under Windows, the write and read library functions cannot operate
34333 on sockets, so we need to use send and recv instead, which is portable
34334 across all supported platforms.
34335
34336 * g-socthi.ads: Remove C_Read and C_Write from internal implementation
34337 unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
34338 (using the read and write functions from the system runtime library is
34339 fine on UNIX but won't work under Windows).
34340
343412004-10-26 Nicolas Setton <setton@act-europe.fr>
34342
34343 * mlib-tgt-darwin.adb: New file.
34344
34345 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
34346 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
34347 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
34348 mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
34349 subprogram body.
34350
34351 * Makefile.in: Add support for building shared libraries under Darwin.
34352 (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
34353 the low level EH init subprogram to be called from __gnat_initialize.
34354
34355 * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
34356 indicates which options to pass to the archive indexer.
34357
34358 * mlib-utl.adb: Add support for calling ranlib with additional
34359 options. This is needed for instance under Mac OS X.
34360 (Ranlib_Options): New global variable, used to store the potential
34361 options to pass to ranlib.
34362 (Ar): Use Ranlib_Options when spawning ranlib.
34363 (Initialize): Set the value of ranlib option.
34364
343652004-10-26 Olivier Hainque <hainque@act-europe.fr>
34366
34367 * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
34368 instead of 8K, to reflect the real potential needs for stack-checking
34369 in the ZCX case.
34370
343712004-10-26 Pascal Obry <obry@gnat.com>
34372
34373 * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
34374
34375 * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
34376 Windows only the initial thread stack size can be set so it is good to
34377 start we a low stack size.
34378 The OS will adjust the size as needed.
34379
343802004-10-26 Olivier Hainque <hainque@act-europe.fr>
34381 Nicolas Setton <setton@act-europe.fr>
34382
34383 * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
34384 "__unix__" instead of "unix".
34385 The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
34386 sections were just mistakenly ignored. The former is
34387 implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
34388 Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
34389 of hpux. This prevents an unwanted definition of the symbol
34390 convert_addresses in adaint.o.
34391
343922004-10-26 Gary Dismukes <dismukes@gnat.com>
34393
34394 * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
34395 compatibility with type Unwind_Word on 16-bit targets such as AAMP.
34396
343972004-10-26 Cyrille Comar <comar@act-europe.fr>
34398
34399 * a-filico.ads, a-filico.adb: fix incorrect header.
34400
344012004-10-26 Javier Miranda <miranda@gnat.com>
34402
34403 * a-ststio.ads: Fix typo in identifier
34404
344052004-10-26 Thomas Quinot <quinot@act-europe.fr>
34406
34407 * sem_ch4.adb: Minor reformatting.
34408
344092004-10-26 Ed Schonberg <schonberg@gnat.com>
34410
34411 * checks.adb (Expr_Known_Valid): If floating-point validity checks are
34412 enabled, check the result of unary and binary operations when the
34413 expression is the right-hand side of an assignment.
34414
344152004-10-26 Vincent Celier <celier@gnat.com>
34416
34417 * clean.adb (Delete): Do not output warnings when in quiet output and
34418 not in verbose mode.
34419 (Force_Deletions): New Boolean flag, defaulted to False
34420 (Delete): Only delete a file if it is writable, and when
34421 Force_Deletions is True.
34422 (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
34423 (Usage): Line for new switch -f
34424 (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
34425 own.
34426
344272004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
34428
34429 * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
34430 JM type only if its size matches that of the wrapper. When a size is
34431 prescribed and the field is not aliased, remove the wrapper of a JM
34432 type only if the size is not greater than that of the packed array.
34433 (gnat_to_gnu_entity): Change the extension of packed array wrappers
34434 from LJM to JM.
34435
344362004-10-26 Geert Bosch <bosch@gnat.com>
34437
34438 * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
34439 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
34440 (Pred): Implement in terms of Succ.
34441
344422004-10-26 Ed Schonberg <schonberg@gnat.com>
34443
34444 * exp_aggr.adb (Safe_Component): An aggregate component that is an
34445 unchecked conversion is safe for in-place use if the expression of the
34446 conversion is safe.
34447 (Expand_Array_Aggregate): An aggregate that initializes an allocator may
34448 be expandable in place even if the aggregate does not come from source.
34449 (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
34450 designated object of an allocator in place, rather than building it
34451 first on the stack. The previous scheme forces a full copy of the array,
34452 and may be altogether unsusable if the size of the array is too large
34453 for stack allocation.
34454
344552004-10-26 Robert Dewar <dewar@gnat.com>
34456
34457 * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
34458 compares if the component is atomic.
34459
34460 * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
34461 array assignment if the component type is atomic.
34462
344632004-10-26 Ed Schonberg <schonberg@gnat.com>
34464 Eric Botcazou <ebotcazou@act-europe.fr>
34465
34466 * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
34467 is aliased and is a by_reference type, do not pass by copy.
34468 (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
34469 detect whether the call is in the right side of an assignment or
34470 the expression of an object declaration. Recurse on component
34471 association within aggregates.
34472 Call it in the condition that determines whether the temporary is
34473 necessary for correct stack-checking.
34474
344752004-10-26 Thomas Quinot <quinot@act-europe.fr>
34476
34477 * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
34478 RACW_Type, used in the PolyORB version.
34479 Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
34480 version and the GARLIC version.
34481
15cd18b9 34482 * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
0ca5fab2
AC
34483 Rename RCI_Info to RCI_Locator for better consistency between the
34484 GARLIC and PolyORB versions of the distributed systems annex.
34485 (DSA_Implementation_Name): This enumeration lists the possible
34486 implementations of the Partition Communication Subsystem for the
34487 Distributed Systems Annex (DSA). The three available implementations
34488 are the dummy stub implementation (No_DSA), and two versions based on
34489 two different distribution runtime libraries: GARLIC and PolyORB. Both
34490 the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
34491 technology.
34492 Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
34493 that organization.
34494
34495 * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
34496 between the GARLIC and PolyORB versions of the distributed systems
34497 annex.
34498 Remove RE_Unbounded_Reclaim_Pool since it is unused.
34499
345002004-10-26 Gary Dismukes <dismukes@gnat.com>
34501
34502 * gnat1drv.adb: Suppress calling the back end when
34503 Frontend_Layout_On_Target is true.
34504
345052004-10-26 Thomas Quinot <quinot@act-europe.fr>
34506
34507 * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
34508 Set_Read_Only): New subprograms.
34509 These new routines allow the user to set or unset the Owner execute
34510 and Owner write permission flags on a file.
34511
34512 * makegpr.adb, mlib.adb, mlib-prj.adb: Use
34513 GNAT.OS_Lib.Set_Executable instead of rolling our own.
34514
345152004-10-26 Matthew Gingell <gingell@gnat.com>
34516
34517 * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
34518
345192004-10-26 Pascal Obry <obry@gnat.com>
34520
34521 * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
34522 memory before the faulting page we properly test the process read
34523 access for this address using appropriate Win32 routine.
34524 (HPUX sections): guard with "__hpux__" instead of "hpux".
34525
345262004-10-26 Robert Dewar <dewar@gnat.com>
34527
34528 * lib-xref.adb (Generate_Reference): Don't complain about reference to
34529 entry parameter if pragma Unreferenced set, since we do not properly
34530 handle the case of multiple parameters.
34531
345322004-10-26 Vincent Celier <celier@gnat.com>
34533
34534 * prj-env.adb: (Contains_ALI_Files): New Boolean function
34535 (Ada_Objects_Path.Add): For a library project, add to the object path
34536 the library directory only if there is no object directory or if the
34537 library directory contains ALI files.
34538 (Set_Ada_Paths.Add.Recursive_Add): Ditto
34539
345402004-10-26 Vincent Celier <celier@gnat.com>
34541
34542 * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
34543 extension of library projects.
34544
34545 * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
34546 path defaults to ".:<prefix>/lib/gnat".
34547 (Parse): For an extending all project, allow direct import of a project
34548 that is virtually extended.
34549
34550 * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
34551 the specified name is directly imported, return its ID. Otherwise, if
34552 an extension of this project is imported, return the ID of the
34553 extension.
34554
345552004-10-26 Robert Dewar <dewar@gnat.com>
34556
34557 * s-arit64.adb: (Le3): New function, used by Scaled_Divide
34558 (Sub3): New procedure, used by Scaled_Divide
34559 (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
34560 correct more than one instance of failure to propagate carries
34561 correctly.
34562 (Double_Divide): Handle overflow case of largest negative number
34563 divided by minus one.
34564
34565 * s-arit64.ads (Double_Divide): Document that overflow can occur in
34566 the case of a quotient value out of range.
34567 Fix comments.
34568
345692004-10-26 Robert Dewar <dewar@gnat.com>
34570
34571 * s-bitops.adb (Bit_Eq): Remove redundant check.
34572
34573 * s-bitops.ads: Minor comment updates
34574 Change some occurrences of Address to System.Address
34575
34576 * s-carsi8.ads: Fix minor cut-and-paste error in comments
34577
345782004-10-26 Ed Schonberg <schonberg@gnat.com>
34579
34580 * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
34581 accessibility check to prefix that is a protected operation.
34582
345832004-10-26 Ed Schonberg <schonberg@gnat.com>
34584
34585 * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
34586 empty, post message on stub.
34587
345882004-10-26 Ed Schonberg <schonberg@gnat.com>
34589 Javier Miranda <miranda@gnat.com>
34590
34591 * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
34592 current instance appears within a unit that is directly in the context
34593 of the main unit.
34594 Used to determine whether the body of the instance should be analyzed
34595 immediately after its spec, to make its subprogram bodies available
34596 for front-end inlining.
34597 (Analyze_Formal_Array_Type): Cleanup condition that checks that range
34598 constraint is not allowed on the component type (AARM 12.5.3(3))
34599
346002004-10-26 Cyrille Comar <comar@act-europe.fr>
34601
34602 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
34603 'Storage_Pool): enhance, document & limit detection of non-sharable
34604 internal pools.
34605
34606 * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
34607
34608 * s-pooglo.ads: Add more documentation now that this pool is properly
34609 documented.
34610
346112004-10-26 Ed Schonberg <schonberg@gnat.com>
34612
34613 * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
34614 or protected type with discriminants, do not constrain the
34615 corresponding record type if the subtype declaration has no
34616 discriminant constraints. This can be the case in source code, or in
34617 the subtype declaration created to rename an actual type within an
34618 instantiation.
34619
346202004-10-26 Ed Schonberg <schonberg@gnat.com>
34621
34622 * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
34623 different kind of stub (possibly wrong name for file), do not check
34624 for conformance.
34625 (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
34626 includes call to some function that returns an unconstrained type, do
34627 not inline.
34628
346292004-10-26 Ed Schonberg <schonberg@gnat.com>
34630
34631 * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
34632 appear in the code for the main unit. Dependencies among units in the
34633 context of the main unit are established when those other units are
34634 compiled. Otherwise spurious elaboration constraints can generate
34635 incorrect elaboration circularities.
34636
346372004-10-26 Thomas Quinot <quinot@act-europe.fr>
34638 Ed Schonberg <schonberg@gnat.com>
34639
34640 * sem_util.adb (Is_Aliased_View): Defend against the case where this
34641 subprogram is called with a parameter that is not an object name. This
34642 situation arises for some cases of illegal code, which is diagnosed
34643 later, and in this case it is wrong to call Is_Aliased, as that might
34644 cause a compiler crash.
34645 (Explain_Limited_Type): Refine previous fix to include
34646 inherited components of derived types, to provide complete information.
34647
34648 * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
34649 is the prival for a protected object.
34650 It is necessary to mark this entity as a variable, in addition to
34651 flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
34652 modified to avoid checking the Aliased flag on entities that are not
34653 objects. (Checking that flag for non-objects is erroneous and could
34654 lead to a compiler crash).
34655
346562004-10-26 Robert Dewar <dewar@gnat.com>
34657
34658 * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
34659 X_Frac = 0.5, then we know that the number X must be positive.
34660 (Succ): Remove the same redundant test, and also fix the primary test
34661 to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
34662 Minor reformatting
34663 (Decompose): Add fuller comments to spec
34664
346652004-10-26 Pascal Obry <obry@gnat.com>
34666
34667 * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
34668 validity (process must have read access). Set to 0 in all other cases.
34669 (STOP_FRAME): Now check for ptr validity to avoid a segmentation
34670 violation on Win32.
34671 (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
34672 segmentation violation.
34673
346742004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
34675
34676 * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
34677 whose type is a constructed subtype of an aliased object with an
34678 unconstrained nominal subtype, convert the actual to the constructed
34679 subtype before taking its address.
34680
346812004-10-26 Vincent Celier <celier@gnat.com>
34682
34683 * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
34684 (Is_Path_Name_Case_Sensitive): New function
34685
34686 * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
34687 (Base_Name, Simple_Name, Current_Directory, Compose,
34688 Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
34689 the result.
34690
346912004-10-26 Cyrille Comar <comar@act-europe.fr>
34692 Vasiliy Fofanov <fofanov@act-europe.fr>
34693 Vincent Celier <celier@gnat.com>
34694
34695 * gnat_ugn.texi: Generalize "finding memory problems" section into a
34696 "memory management issues" section and document some of the useful
34697 memory pools provided as part of the GNAT library.
34698 Remove "virtual" from declaration of A::method2 in
34699 the simple example of Ada/C++ mixed system.
34700 Library Projects may be virtually extended: their virtual extensions
34701 are not Library Projects.
34702 Added section on extending project hierarchies.
34703
d65c6710 347042004-10-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
aa75e737
AL
34705
34706 * adaint.c (__gnat_get_libraries_from_registry): Cast value
34707 to LPBYTE.
34708 (__gnat_portable_spawn): Remove const.
34709
34710 * mingw32.h (MAXPATHLEN): Check for previous definition.
34711
95e19580
MK
347122004-10-17 Matthias Klose <doko@debian.org>
34713
34714 * gnatvsn.ads: Set gnat library version to 4.0.
34715
88a6ecb6
VC
347162004-10-05 Vincent Celier <celier@gnat.com>
34717
a1286ef5 34718 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
88a6ecb6 34719
9e94c78f 347202004-10-04 Laurent Guerby <laurent@guerby.net>
110aba14
LG
34721
34722 PR ada/15156
34723 * Makefile.in: Define and use RANLIB_FLAGS.
88a6ecb6 34724
09552763
PO
347252004-10-04 Pascal Obry <obry@gnat.com>
34726
34727 * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
34728 other x86 platforms).
34729
a8e490b7
OH
347302004-10-04 Olivier Hainque <hainque@act-europe.fr>
34731
34732 * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
34733 in general and triggers stack alignment adjustment for thread entry
34734 points on targets where this is necessary.
34735
71c10a83
BB
347362004-10-04 Bernard Banner <banner@gnat.com>
34737
34738 PR ada/13897
71c10a83
BB
34739 * Makefile.in: Add section for powerpc linux
34740 Add variant i-vxwork-x86.ads
34741
34742 * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
34743
9a03df55
OH
347442004-10-04 Olivier Hainque <hainque@act-europe.fr>
34745
34746 * init.c (__gnat_initialize): Call an Ada subprogram to perform the
34747 table registration calls when need be. Ensures no reference to the crt
34748 ctors symbol are issued in the SJLJ case, which avoids possible
34749 undefined symbol errors in the case of modules to be statically linked
34750 with the kernel.
34751
28d6470f
JM
347522004-10-04 Javier Miranda <miranda@gnat.com>
34753
34754 * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
34755 in-line the code corresponding to subprogram Analyze_Actuals. In
34756 addition, analyze the actuals only in case of subprogram call.
34757
06237875
EF
347582004-10-04 Ed Falis <falis@gnat.com>
34759
34760 * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
34761
259d6c3a
SR
347622004-10-04 Sergey Rybin <rybin@act-europe.fr>
34763
34764 * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
34765 in the documentation.
34766
6f21ed26
RD
347672004-10-04 Robert Dewar <dewar@gnat.com>
34768
34769 * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
34770 IF and CASE.
34771 (Analyze_Block_Statement): Add circuitry to detect following dead code
34772 (Check_Unreachable_Code): Handle case of block exit
34773
4cded177
RD
347742004-10-04 Robert Dewar <dewar@gnat.com>
34775
34776 * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
34777 (XMatchD): Avoid warning for Logic_Error call
34778
c6a60aa1
RD
347792004-10-04 Robert Dewar <dewar@gnat.com>
34780
34781 * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
34782 consider expressions buried within a procedure actual to be an actual.
34783 This caused some blowups with uses of packed slices within a procedure
34784 actual.
34785
1fdebfe5
RD
347862004-10-04 Robert Dewar <dewar@gnat.com>
34787
34788 * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
34789 longer need to be initialized to zero.
34790 (Get_Simple_Init_Val): Modular packed arrays no longer need to be
34791 initialized to zero.
34792
34793 * checks.adb (Expr_Known_Valid): Packed arrays are now always
34794 considered valid, even if the representation is modular. That's correct
34795 now that we no longer initialize packed modular arrays to zero.
34796
34797 * exp_dbug.ads: Clarify documentation on handling of PAD and JM
34798 suffixes. These are now documented as the only cases in which the
34799 debugger ignores outer records.
34800 Previously, the spec allowed arbitrary suffixes for this purpose.
34801 Change name of LJM to JM for packed array pad records
34802 Create separate section on packed array handling, and add a whole new
34803 set of comments to this section describing the situation with packed
34804 modular types and justification requirements depending on endianness.
34805
cd91501c
RD
348062004-10-04 Robert Dewar <dewar@gnat.com>
34807
34808 * a-except.adb: Add a comment for last change
34809
34810 * einfo.ads: Minor spelling correction in comment
34811
34812 * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
34813
34814 * sem_ch11.adb: Fix a case of using | instead of \ for continuation
34815 messages.
34816
34817 * sem_util.ads: Minor comment update
34818
c71c53a8
ES
348192004-10-04 Ed Schonberg <schonberg@gnat.com>
34820
34821 * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
34822 Inline_Always when in Configurable_Run_Time mode.
34823
34824 * sem_prag.adb (Process_Convention): If entity is an inherited
34825 subprogram, apply convention to parent subprogram if in same scope.
34826 (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
34827 when in Configurable_Run_Time mode.
34828
71d9e9f2
ES
348292004-10-04 Ed Schonberg <schonberg@gnat.com>
34830
34831 * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
34832 class_wide type after component list has been inherited.
34833
0b525bee
ES
348342004-10-04 Ed Schonberg <schonberg@gnat.com>
34835
34836 * sem_ch12.adb (Check_Generic_Actuals): New predicate
34837 Denotes_Previous_Actual, to handle properly the case of a private
34838 actual that is also the component type of a subsequent array actual.
34839 The visibility status of the first actual is not affected when the
34840 second is installed.
34841 (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
34842 make fully recursive the treatment of formals of packages declared
34843 with a box.
34844 (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
34845 the above on exit from an instantiation.
34846 (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
34847 current instantiation which is now complete.
34848 (Analyze_Package_Instantiation): No instantiated body is needed if the
34849 main unit is generic. Efficient, and avoid anomalies when a instance
34850 appears in a package accessed through rtsfind.
34851
27ad9660
ES
348522004-10-04 Ed Schonberg <schonberg@gnat.com>
34853
34854 * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
34855 do not generate a declaration for a temporary if the call is part of a
34856 library-level instantiation.
34857
1c6c6771
ES
348582004-10-04 Ed Schonberg <schonberg@gnat.com>
34859
34860 * sem_util.adb (Explain_Limited_Type): Ignore internal components when
34861 searching for a limited component to flag.
34862
34863 * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
34864 expansion of Input, to account for the fact that the implicit call
34865 generated by the attribute reference must freeze the user-defined
34866 stream subprogram. This is only relevant to 'Input, because it can
34867 appear in an object declaration, prior to the body of the subprogram.
34868
34869 * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
34870 expansion can proceed and further errors uncovered.
34871 (Minor clean up): Fix cases of using | instead of \ for continuation
34872 messages.
34873
8005f3e5
RK
348742004-10-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
34875
34876 * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
34877
34878 * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
34879 (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
34880 Use gcc_assert and gcc_unreachable.
34881
34882 * decl.c (gnat_to_gnu_entity, case object): Check and process a
34883 specified alignment before validating size.
34884 (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
34885 stripped-down declaration for the type of the inner field when making
34886 a JM type.
34887
34888 * utils.c (finish_record_type): Do not compute the size in units
34889 incrementally. Instead compute it once for the rep clause case.
34890 Use gcc_assert and gcc_unreachable.
34891
6a294a29
VC
348922004-10-04 Vincent Celier <celier@gnat.com>
34893
34894 * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
34895 in file name.
34896 (Is_Valid_Path_Name): Take '/' as a directory separator.
34897
9a080ea3
VC
348982004-10-04 Vincent Celier <celier@gnat.com>
34899
34900 * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
34901 (Extended_Project) only if Extended_Project is defined, to avoid
34902 assertion error.
34903 (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
34904 resolved path.
34905 (Parse_Single_Project): Ditto.
34906
34907 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
34908 Add_To_Project_Path for virtual projects.
34909
51004cb5
VC
349102004-10-04 Vincent Celier <celier@gnat.com>
34911
15cd18b9
SS
34912 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
34913 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
34914 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
51004cb5
VC
34915 mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
34916 parameter Options_2.
34917
34918 * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
34919 Build_Dynamic_Library with an empty Options_2.
34920
34921 * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
34922 default anymore.
34923
34924 * makegpr.adb (Get_Imported_Directories.add): Remove trailing
34925 directory separator, if any.
34926 (Gprmake): Do not allow mains on the command line for library projects.
34927 Do not attempt to link when the project is a library project.
34928 (Library_Opts): New table to store Library_Options.
34929 (Build_Library): If Library_Options is specified, pass these options
34930 when building a shared library.
34931
3b37ffbf
JR
349322004-10-04 Jose Ruiz <ruiz@act-europe.fr>
34933
34934 * s-tposen.adb (Service_Entry): The object must be always unlocked at
34935 the end of this procedure now that the unlock operation was inserted
34936 by the expander.
34937
b23e28d5
JR
349382004-10-04 Jose Ruiz <ruiz@act-europe.fr>
34939
34940 * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
34941 corresponding to the Preallocated_Stacks flags in System.
34942 (Get_Target_Parameters): Including the processing for
34943 Preallocated_Stacks.
34944
15cd18b9
SS
34945 * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
34946 system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
34947 system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
34948 system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
34949 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
34950 system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
34951 system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
34952 system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
34953 system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
34954 system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
b23e28d5
JR
34955 system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
34956 used to signal whether the compiler creates the required stacks and
34957 descriptors for the different tasks (when True) or it is done by the
34958 underlying operating system at run time (when False).
34959 It is initially set to False in all targets.
34960
34961 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
34962 if it is supported by the target.
34963 (Make_Task_Create_Call): Pass the stack address if it has been
34964 previously created. Otherwise pass a Null_Address.
34965
34966 * snames.adb: Add _stack.
34967
34968 * snames.ads: Add Name_uStack. Required to allow the expander to
34969 statically allocated task stacks.
34970
34971 * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
34972 Stack_Address argument.
34973 Check that its value is equal to Null_Address because this target does
34974 not support the static stack allocation.
34975
6fd459bb
TQ
349762004-10-04 Thomas Quinot <quinot@act-europe.fr>
34977
34978 * usage.adb: Change "pragma inline" to "pragma Inline" in information
34979 and error messages
34980
5885facb
TQ
349812004-10-04 Thomas Quinot <quinot@act-europe.fr>
34982
34983 * exp_dist.adb: Split declaration of asynchronous flag out of
34984 Add_RACW_Read_Attribute.
34985 Minor reformatting for better alignment with PolyORB version.
34986 Store the entity for the asynchronous flag of an RACW, rather than the
34987 expression, in the asynchronous flags table. This will allow this flag
34988 to be used in other subprograms beside Add_RACW_Read_Attribute.
34989
d6c7ed50
TQ
349902004-10-04 Thomas Quinot <quinot@act-europe.fr>
34991
34992 * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
15cd18b9
SS
34993 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
34994 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
34995 g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
d6c7ed50
TQ
34996 g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads: Add new
34997 sockets constant MSG_NOSIGNAL (Linux-specific).
34998 Add new sockets constant MSG_Forced_Flags, list of flags to be set on
34999 all Send operations.
35000 For Linux, set MSG_NOSIGNAL on all send operations to prevent them
35001 from trigerring SIGPIPE.
35002 Rename components to avoid clash with Ada 2005 possible reserved
35003 word 'interface'.
35004 (Check_Selector): When the select system call returns with an error
35005 condition, propagate Socket_Error to the caller.
35006
0f0377f6
JH
350072004-10-01 Jan Hubicka <jh@suse.cz>
35008
35009 * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
35010
2c9beb8a
RD
350112004-09-23 Robert Dewar <dewar@gnat.com>
35012
35013 PR ada/17540
2c9beb8a
RD
35014 * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
35015 instead do this at freeze time (we won't do it if there is an address
35016 clause).
35017 Change "pragma inline" to "pragma Inline" in information and error
35018 messages.
35019 Minor reformatting.
35020
35021 * freeze.adb (Check_Address_Clause): Remove previous change, not the
35022 right way of doing things after all.
35023 (Freeze_Entity): For object, set Is_Public for imported entities
35024 unless there is an address clause present.
35025
2494e673
OH
350262004-09-21 Olivier Hainque <hainque@act-europe.fr>
35027
35028 * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
35029 dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
35030 ensures proper handling of types with rep clauses, which might have
35031 their TYPE_SIZE set already.
35032
910d20fc
RD
350332004-09-21 Robert Dewar <dewar@gnat.com>
35034
35035 * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
35036 packed array types in both little- and big-endian cases. This change
35037 ensures that we no longer count on the unused bits being initialized
35038 for such types (and in particular ensures that equality testing will
35039 only read the relevant bits).
35040 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
35041 These changes mean that we no longer need to initialize small packed
35042 arrays.
35043 (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
35044 optimization to an LJM field as to its parent field.
35045
35046 * ada-tree.h, trans.c, utils.c, utils2.c:
35047 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
35048
8f235343
JH
350492004-09-20 Jan Hubicka <jh@suse.cz>
35050
35051 * utils.c (gnat_finalize): Remove.
35052 (end_subprog_body): Directly call cgraph_finalize_function;
35053 do not lower the nested functions.
35054
bb9be5eb
RD
350552004-09-20 Robert Dewar <dewar@gnat.com>
35056
35057 PR ada/17540
bb9be5eb
RD
35058 * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
35059 if an address clause is present, since that means that the Import
35060 should be ignored.
35061
796ef2e2
AC
350622004-09-20 Arnaud Charlet <charlet@act-europe.fr>
35063
35064 * 5tsystem.ads: Removed, no longer used.
35065
6615c446
JO
350662004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
35067 Zack Weinberg <zack@codesourcery.com>
35068
35069 * ada-tree.def: Use tree_code_class enumeration constants
35070 instead of code letters.
35071 * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
35072 Update for new tree-class enumeration constants.
35073
93ed8a01
VC
350742004-09-17 Vincent Celier <celier@gnat.com>
35075
35076 * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
35077 capabilities of the general project manager.
35078
c885d7a1
AC
350792004-09-09 Vincent Celier <celier@gnat.com>
35080
35081 * a-direct.ads: Add pragma Ada_05
35082 (Directory_Entry_Type): Give default value to component Kind to avoid
35083 not initialized warnings.
35084
35085 * a-direct.adb (Current_Directory): Remove directory separator at the
35086 end.
35087 (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
35088 an existing directory.
35089 (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
35090 (Size (String)): Function C_Size returns Long_Integer, not File_Size.
35091 Convert the result to File_Size.
35092
35093 * prj.ads: (Project_Error): New exception
35094
35095 * prj-attr.adb: Except in procedure Initialize, Fail comes from
35096 Prj.Com, not from Osint.
35097 (Attrs, Package_Attributes): Tables moved to private part of spec
35098 (Add_Attribute, Add_Unknown_Package): Moved to new child package
35099 Prj.Attr.PM.
35100 (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
35101 Prj.Project_Error after call to Fail.
35102 (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
35103 Fail. Check that package name is not already in use.
35104
35105 * prj-attr.ads: Comment updates to indicate that all subprograms may be
35106 used by tools, not only by the project manager, and to indicate that
35107 exception Prj.Prj_Error may be raised in case of problem.
35108 (Add_Unknown_Package, Add_Attribute): Moved to new child package
35109 Prj.Attr.PM.
35110 (Attrs, Package_Attributes): Table instantiations moved from the body to
35111 the private part to be accessible from Prj.Attr.PM body.
35112
35113 * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
35114 from new package Prj.Attr.PM.
35115 (Parse_Attribute_Declaration): Call Add_Attribute from new package
35116 Prj.Attr.PM.
35117
35118 * Makefile.in: Add prj-attr-pm.o to gnatmake object list
35119
35120 * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
35121 instead of Elaboration_Checks).
35122
35123 * a-calend.adb: Minor reformatting
35124
351252004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
35126
35127 * gigi.h (maybe_pad_type): New declaration.
35128 (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
35129
35130 * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
35131
35132 * cuintp.c: Convert to use buildN.
35133
35134 * decl.c (maybe_pad_type): No longer static.
35135 (gnat_to_gnu_entity, case E_Function): Handle case of returning by
35136 target pointer.
35137 Convert to use buildN.
35138
35139 * trans.c (call_to_gnu): Add arg GNU_TARGET; support
35140 TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed.
35141 (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
35142 RHS.
35143 (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
35144 (gnat_gimplify_expr, case ADDR_EXPR): New case.
35145 Convert to use buildN.
35146
35147 * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
35148 TREE_READONLY for const.
35149 Convert to use buildN.
35150
35151 * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
35152 (create_var_decl): Refine when TREE_STATIC is set.
35153 Convert to use buildN.
35154
351552004-09-09 Gary Dismukes <dismukes@gnat.com>
35156
35157 * gnat_ugn.texi: Delete text relating to checking of ali and object
35158 consistency.
35159
35160 * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
35161 routines.
35162
351632004-09-09 Jose Ruiz <ruiz@act-europe.fr>
35164
35165 * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
35166 pragmas recognized by GNAT.
35167
35168 * gnat_rm.texi: Document pragma Detect_Blocking.
35169
35170 * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
35171 raise Program_Error if called from a protected operation.
35172
35173 * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
35174 the protected action nesting level.
35175 (Lock_Read_Only): When pragma Detect_Blocking is active increase the
35176 protected action nesting level.
35177 (Unlock): When pragma Detect_Blocking is active decrease the protected
35178 action nesting level.
35179
35180 * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
35181 Protected_Action_Nesting.
35182
35183 * s-taskin.ads: Adding the field Protected_Action_Nesting to the
35184 Common_ATCB record. It contains the dynamic level of protected action
35185 nesting for each task. It is needed for checking whether potentially
35186 blocking operations are called from protected operations.
35187 (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
35188 Detect_Blocking is active or not in the partition.
35189
35190 * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
35191 raise Program_Error if called from a protected operation.
35192 (Task_Entry_Call): When pragma Detect_Blocking is active, raise
35193 Program_Error if called from a protected operation.
35194 (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
35195 Program_Error if called from a protected operation.
35196
35197 * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
35198 raise Program_Error if called from a protected operation.
35199
35200 * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
35201 raise Program_Error if called from a protected operation, and increase
35202 the protected action nesting level.
35203 (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
35204 Program_Error if called from a protected operation, and increase the
35205 protected action nesting level.
35206 (Unlock_Entries): When pragma Detect_Blocking is active decrease the
35207 protected action nesting level.
35208
35209 * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
35210 raise Program_Error if called from a protected operation, and increase
35211 the protected action nesting level.
35212 (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
35213 Program_Error if called from a protected operation, and increase the
35214 protected action nesting level.
35215 (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
35216 raise Program_Error if called from a protected operation.
35217 (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
35218 active, raise Program_Error if called from a protected operation.
35219 (Unlock_Entry): When pragma Detect_Blocking is active decrease the
35220 protected action nesting level.
35221
35222 * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
35223 insertion of the statement raising Program_Error. The run time
35224 contains the required machinery for handling that.
35225
35226 * sem_util.ads: Change comment associated to procedure
35227 Check_Potentially_Blocking_Operation.
35228 This procedure does not insert a call for raising the exception because
35229 that is currently done by the run time.
35230
35231 * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
35232
35233 * init.c: Add the global variable __gl_detect_blocking that indicates
35234 whether pragma Detect_Blocking is active (1) or not (0). Needed for
35235 making the pragma available at run time.
35236 (__gnat_set_globals): Pass and update the detect_blocking parameter.
35237
35238 * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
35239 pragma Detect_Blocking is active.
35240
35241 * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
35242
35243 * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
35244 DB is found in the ali file. Any unit compiled with pragma
35245 Detect_Blocking active forces its effect in the whole partition.
35246
35247 * a-retide.adb (Delay_Until): Raise Program_Error if pragma
35248 Detect_Blocking is active and delay is called from a protected
35249 operation.
35250
35251 * bindgen.adb (Gen_Adainit_Ada): When generating the call to
35252 __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
35253 Detect_Blocking is active (0 otherwise).
35254 (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
35255 as Detect_Blocking parameter if pragma Detect_Blocking is active (0
35256 otherwise).
35257
352582004-09-09 Thomas Quinot <quinot@act-europe.fr>
35259
35260 * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
35261 GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
35262 package.
35263
35264 * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
35265 (Register_Receiving_Stub): Add Subp_Info formal parameter.
35266 Update API in placeholder implemetation of s-parint to reflect changes
35267 in distribution runtime library.
35268
35269 * sem_ch3.adb (Expand_Derived_Record): Rename to
35270 Expand_Record_Extension.
35271
35272 * sem_disp.adb (Check_Controlling_Formals): Improve error message for
35273 primitive operations of potentially distributed object types that have
35274 non-controlling anonymous access formals.
35275
35276 * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
35277 subprogram.
35278 New implementation of expansion for remote access-to-subprogram types,
35279 based on the RACW infrastructure.
35280 This version of sem_dist is compatible with PolyORB/DSA as well as
35281 GLADE.
35282
35283 * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
35284 Asynchrronous that applies to a remote access-to-subprogram type, mark
35285 the underlying RACW type as asynchronous.
35286
35287 * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
35288 __gnat_using_gnu_linker to 1.
35289
35290 * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
35291 g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
35292 GNAT.Perfect_Hash_Generators, and remove the empty
35293 GNAT.Perfect_Hash package.
35294
35295 * atree.adb: Minor reformatting
35296
35297 * exp_ch3.adb (Expand_Derived_Record): Rename to
35298 Expand_Record_Extension.
35299 (Build_Record_Init_Proc.Build_Assignment): The default expression in
35300 a component declaration must remain attached at that point in the
35301 tree so New_Copy_Tree copies it if the enclosing record type is derived.
35302 It is therefore necessary to take a copy of the expression when building
35303 the corresponding assignment statement in the init proc.
35304 As a side effect, in the case of a derived record type, we now see the
35305 original expression, without any rewriting that could have occurred
35306 during expansion of the ancestor type's init proc, and we do not need
35307 to go back to Original_Node.
35308
35309 * exp_ch3.ads (Expand_Derived_Record): Rename to
35310 Expand_Record_Extension.
35311
35312 * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
35313 Returns the RACW type used to implement a remote access-to-subprogram
35314 type.
35315 (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
35316 New subprograms. Used to create a proxy tagged object for a remote
35317 subprogram. The proxy object is used as the designated object
35318 for RAS values on the same partition (unless All_Calls_Remote applies).
35319 (Build_Get_Unique_RP_Call): New subprogram. Build a call to
35320 System.Partition_Interface.Get_Unique_Remote_Pointer.
35321 (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
35322 Renamed from Add_RAS_*_Attribute.
35323 (Add_Receiving_Stubs_To_Declarations): Generate a table of local
35324 subprograms.
35325 New implementation of expansion for remote access-to-subprogram types,
35326 based on the RACW infrastructure.
35327
35328 * exp_dist.ads (Copy_Specification): Update comment to note that this
35329 function can copy the specification from either a subprogram
35330 specification or an access-to-subprogram type definition.
35331
353322004-09-09 Ed Schonberg <schonberg@gnat.com>
35333
35334 * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
35335 in an instance, between an explicit subprogram an one inherited from a
35336 type derived from an actual.
35337
35338 * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
35339 add a polling call if the subprogram is to be inlined by the back-end,
35340 to avoid repeated calls with multiple inlinings.
35341
35342 * checks.adb (Apply_Alignment_Check): If the expression in the address
35343 clause is a call whose name is not a static entity (e.g. a dispatching
35344 call), treat as dynamic.
35345
353462004-09-09 Robert Dewar <dewar@gnat.com>
35347
35348 * g-trasym.ads: Minor reformatting
35349
35350 * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
35351 packed arrays, since unused bits are expected to be zero for a
35352 comparison.
35353
353542004-09-09 Eric Botcazou <ebotcazou@act-europe.fr>
35355
35356 * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
35357 comment.
35358
353592004-09-09 Pascal Obry <obry@gnat.com>
35360
35361 * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
35362 enable map file generation. Add the right option to generate the map
35363 file if Map_File is set to True.
35364
35365 * gnatdll.adb (Gen_Map_File): New variable.
35366 (Syntax): Add info about new -m (Map_File) option.
35367 (Parse_Command_Line): Add support for -m option.
35368 (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
35369 Minor reformatting.
35370
353712004-09-09 Laurent Pautet <pautet@act-europe.fr>
35372
35373 * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
35374 new gnatdist implementation.
35375 Define a subpackage isolating the output routines specific to this
35376 verbose mode.
35377
353782004-09-09 Joel Brobecker <brobecker@gnat.com>
35379
35380 * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
35381
35382 * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
35383
353842004-09-09 Cyrille Comar <comar@act-europe.fr>
35385
35386 * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
35387 internal unit.
35388
35389 * opt.ads: Add Ada_Version_Runtime constant used to decide which
35390 version of the language is used to compile the run time.
35391
353922004-09-09 Arnaud Charlet <charlet@act-europe.fr>
35393
35394 * sem_util.adb (Requires_Transient_Scope): Re-enable handling
35395 of variable length temporaries for function return now that the
35396 back-end and gigi support it.
35397
23c7b149 353982004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6cdb2c6e
AC
35399
35400 * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
35401
35402 * trans.c (struct stmt_group): Delete field GLOBAL.
35403 (gnat_init_stmt_group): Do not initialize it.
35404 (call_to_gnu): Use save_expr, not protect_multiple_eval.
35405 (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
35406 (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
35407 (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
35408 (start_stmt_group): Likewise.
35409 (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
35410
35411 * utils2.c (ggc.h): Include.
35412 (build_call_raise): Call build_int_cst, not build_int_2.
35413
35414 * utils.c (gnat_init_decl_processing): Fix arg to
35415 build_common_tree_nodes.
35416 (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
35417 (gnat_define_builtin): Set built_in_decls.
35418 (init_gigi_decls): Call build_int_cst, not build_int_2.
35419
35420 * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
35421 (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
35422 (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
35423 (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
35424 SET_TYPE_MODULE): Use them.
35425 (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
35426 (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
35427 (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
35428 SET_TYPE_ADA_SIZE): Likewise.
35429 (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
35430 (DECL_CONST_CORRESPONDING_VAR,
35431 SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
35432 (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
35433 (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
35434 (TYPE_RM_SIZE_NUM): New macro.
35435 (TYPE_RM_SIZE): Modified to use above.
35436
35437 * cuintp.c: (build_cst_from_int): New function.
35438 (UI_To_gnu): Use it.
35439
35440 * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
35441 (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
35442 (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
35443 MIN_EXPR for the size, copy it into new.
35444
23c7b149 354452004-09-01 Robert Dewar <dewar@gnat.com>
6cdb2c6e
AC
35446
35447 * exp_ch6.adb (Expand_Call): Properly handle validity checks for
35448 packed indexed component where array is an IN OUT formal. This
35449 generated garbage code previously.
35450
35451 * gnat_ugn.texi: Document -fverbose-asm
35452
35453 * gnat-style.texi: Minor updates (note that boolean constants and
35454 variables are joined with AND/OR rather than short circuit forms).
35455
23c7b149 354562004-09-01 Ed Schonberg <schonberg@gnat.com>
6cdb2c6e
AC
35457
35458 * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
35459 it is an upward conversion of an untagged type with no representation
35460 change.
35461
23c7b149 354622004-09-01 Thomas Quinot <quinot@act-europe.fr>
6cdb2c6e
AC
35463
35464 * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
35465 System.Partition_Interface.
35466
35467 * checks.adb (Apply_Access_Checks): Do not generate checks when
35468 expander is not active (but check for unset reference to prefix of
35469 dereference).
35470
35471 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
35472 pragma Debug as an if statement with a constant condition, for
35473 consistent treatment of entity references contained within the
35474 enclosed procedure call.
35475
23c7b149 354762004-09-01 Vincent Celier <celier@gnat.com>
6cdb2c6e
AC
35477
35478 * bindgen.adb: (Set_EA_Last): New procedure
35479 (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
35480 Set_EA_Last.
35481 (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
35482 (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
35483 linked without errors.
35484 (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
35485 ST and EA.
35486 (Gen_Exception_Table_C): Correct same bugs
35487
35488 * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
35489
35490 * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
35491 on Windows, make sure that the drive letter is in upper case.
35492
35493 * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
35494 Windows, when the drive letter is added and Case_Sensitive is True, the
35495 drive letter is forced to upper case.
35496
35497 * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
35498 to Options_2 for the call to MLib.Utl.Gcc.
35499
35500 * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
35501 directory separator when defining BASE_DIR.
35502
23c7b149 355032004-09-01 Pascal Obry <obry@gnat.com>
6cdb2c6e
AC
35504
35505 * gprcmd.adb (Extend): Do not output trailing directory separator. This
35506 is not needed and it confuses Windows GNU/make which does not report
35507 directory terminated by a slash as a directory.
35508 (gprcmd): Idem for "pwd" internal command.
35509
35510 * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
35511 target names rewrite to fix regressions with recent version of
35512 GNU/make. Starting with GNU/make 3.80 the pipe character was not
35513 handled properly anymore.
35514
4eb104c1
AS
355152004-09-01 Andreas Schwab <schwab@suse.de>
35516
35517 * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
35518 * raise.c [!IN_RTS]: Undef abort.
35519
6a6bfc8e
NS
355202004-08-27 Nathan Sidwell <nathan@codesourcery.com>
35521
ce552f75
NS
35522 * utils2.c (build_allocator): Use ssize_int.
35523
6a6bfc8e
NS
35524 * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
35525
f8b7bf58
AS
355262004-08-27 Andreas Schwab <schwab@suse.de>
35527
35528 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
35529
15793d0c
NS
355302004-08-25 Nathan Sidwell <nathan@codesourcery.com>
35531 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6615c446 35532
15793d0c
NS
35533 * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
35534
7d60be94
NS
355352004-08-25 Nathan Sidwell <nathan@codesourcery.com>
35536
35537 * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
35538 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
35539 * utils.c (init_gigi_decls): Likewise.
35540 * utils2.c (build_call_raise, build_allocator): Likewise.
6615c446 35541
8c1d6d62
NS
355422004-08-24 Nathan Sidwell <nathan@codesourcery.com>
35543
7d60be94 35544 * utils.c (gnat_init_decl_processing): Adjust
8c1d6d62
NS
35545 build_common_tree_nodes call.
35546
3224bead
NS
355472004-08-20 Nathan Sidwell <nathan@codesourcery.com>
35548
35549 * utils2.c (build_allocator): Use build_int_cst for negative
35550 size types.
35551
4766261d
RH
355522004-08-18 Richard Henderson <rth@redhat.com>
35553
35554 * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
35555
1f6c00df
NS
355562004-08-16 Nathan Sidwell <nathan@codesourcery.com>
35557
35558 * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
35559 call.s
35560 * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
35561 (gnat_to_gnu): Likewise.
35562
4c46b835
AC
355632004-08-16 Pascal Obry <obry@gnat.com>
35564
35565 * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
35566 backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
35567 option and not mdll anymore. Update comment.
35568
355692004-08-16 Pascal Obry <obry@gnat.com>
35570
35571 * bld.adb (Put_Include_Project): Properly handle directory separators
35572 on Windows.
35573
355742004-08-16 Ed Schonberg <schonberg@gnat.com>
35575
35576 * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
35577 decreasing the number of allocated junk nodes while searching for the
35578 appropriate subprogram.
35579
4a90aeeb
NS
355802004-08-15 Nathan Sidwell <nathan@codesourcery.com>
35581
35582 * cuintp.c (UI_To_gnu): Use build_int_cst..
35583 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
35584 * utils.c (init_gigi_decls): Likewise.
35585 * utils2.c (build_call_raise): Likewise.
35586
244e5a2c
AC
355872004-08-13 Olivier Hainque <hainque@act-europe.fr>
35588
35589 * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
35590 for a global aliased object with a variable size and an unconstrained
35591 nominal subtype, pretend there is no initializer if the one we have is
35592 incomplete, and avoid referencing an inexistant component in there. The
35593 part we have will be rebuilt anyway and the reference may confuse
35594 further operations.
35595
355962004-08-13 Thomas Quinot <quinot@act-europe.fr>
35597
35598 * einfo.ads: Minor reformatting
35599
35600 * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
35601 restrictions in the ALI if we only want to warn about violations.
35602
356032004-08-13 Vincent Celier <celier@gnat.com>
35604
35605 * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
35606 when creating a new Unit_Record in table Units.
35607
35608 * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
35609 that are violated, if any.
35610
35611 * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
35612 add directory separator if path already ends with a directory separator.
35613
356142004-08-13 Ed Schonberg <schonberg@gnat.com>
35615
35616 * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
35617 unit, this is an attempt to inline a construct that is not available in
35618 the current restricted mode, so abort rather than trying to continue.
35619
35620 * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
35621 discriminants that rename those of the parent, recover names of
35622 original discriminants for the constraint on the full view of the
35623 parent.
35624 (Complete_Private_Subtype): Do not create a subtype declaration if the
35625 subtype is an itype.
35626
35627 * gnat_rm.texi: Added section on implementation of discriminated
35628 records with default values for discriminants.
35629
356302004-08-13 Ed Schonberg <schonberg@gnat.com>
35631
35632 PR ada/15601
35633 * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
35634 the second operand is overloaded.
35635
1a186ec5
RH
356362004-08-10 Richard Henderson <rth@redhat.com>
35637
35638 * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
35639 add __builtin_alloca.
35640
89f1a702
RH
356412004-08-10 Richard Henderson <rth@redhat.com>
35642
35643 * config-lang.in (boot_language): Yes.
35644
5d09245e
AC
356452004-08-09 Thomas Quinot <quinot@act-europe.fr>
35646
35647 * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
35648 from complaining on potential uninitialized reference.
35649 Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
35650 new specification and test explicitly for non-zero return value.
35651
35652 * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
35653 returning C.int, to avoid using a derived boolean type.
35654
35655 * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
35656 Duplicate_Subexpr_No_Checks in preference to direct use of
35657 Remove_Side_Effects and New_Copy_Tree.
35658 Clear Comes_From_Source on prefix of 'Size attribute reference.
35659
35660 * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
35661 g-socthi-vxworks.adb: Change calls to
35662 GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
35663 and test explicitly for non-zero return value.
35664
6615c446 35665 * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
5d09245e
AC
35666 (Is_Socket_In_Set): Declare imported function as returning C.int, to
35667 avoid using a derived boolean type.
35668
356692004-08-09 Albert Lee <lee@gnat.com>
35670
35671 * system-irix-n32.ads: Refine tasking priority constants for IRIX.
35672
356732004-08-09 Pascal Obry <obry@gnat.com>
35674
35675 * gnat_ugn.texi: Document new way to build DLLs on Windows using
35676 GCC's -shared option.
35677
35678 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
35679 Options_2 parameter (options put after object files).
35680
356812004-08-09 Olivier Hainque <hainque@act-europe.fr>
35682
35683 * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
35684 ignore overflows on low and high bounds of an index to also account for
35685 differences in signedness between sizetype and gnu_index_subtype.
35686 These are as legitimate as the ones caused by a lower TYPE_PRECISION
35687 on sizetype.
35688
356892004-08-09 Robert Dewar <dewar@gnat.com>
35690
35691 * s-solita.ads, s-solita.adb: Minor reformatting
35692
35693 * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
35694 Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
35695 obsolescent section
35696 Add note that No_Implicit_Conditionals does not suppress
35697 run time constraint checks.
35698
35699 * vms_conv.ads: Minor reformatting
35700
35701 * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
35702 and necessary for following change).
35703 (Mark): Return new format Mark_Id containing sec stack address
35704 (Release): Use sec stack address from Mark_Id avoiding Self call
35705
35706 * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
35707 pointer (cleanup and necessary for following change).
35708 Define Mark_Id as record containing address of secondary stack, that way
35709 Release does not need to find the stack again, decreasing the number of
35710 calls to Self and improving efficiency.
35711
35712 * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
35713
35714 * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
35715 case variable into the individual case branches when possible.
35716
35717 * sem_ch11.adb: Minor reformatting
35718
35719 * prj.ads: Correct spelling of suffixs
35720
35721 * prj-nmsc.adb: Minor reformatting
35722 Correct spelling suffixs throughout (also in identifiers)
35723
35724 * freeze.adb: Minor spelling correction
35725
35726 * exp_ch2.adb: Cleanups to handling of Current_Value
35727 (no functional effect).
35728
35729 * bld.adb: Correct spelling of suffixs
35730
35731 * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
35732
357332004-08-09 Ed Schonberg <schonberg@gnat.com>
35734
35735 PR ada/15408
5d09245e
AC
35736 * sem_ch7.adb (Install_Private_Declarations): In the body of the
35737 package or of a child, private entities are both immediately_visible
35738 and not hidden.
35739
357402004-08-09 Ed Schonberg <schonberg@gnat.com>
35741
35742 * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
35743 there are no range checks on the value of the literal.
35744
35745 * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
35746 wrapped is the triggering alternative of an asynchronous select, action
35747 statements mustbe inserted before the select itself.
35748
35749 * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
35750 case where the prefix is a protected function call.
35751 (Resolve_Attribute, case 'Access): The attribute reference on a
35752 subprogram is legal in a generic body if the subprogram is declared
35753 elsewhere.
35754
357552004-08-09 Vincent Celier <celier@gnat.com>
35756
35757 * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
35758 languages, otherwise building the library may fail with unresolved
35759 symbols.
35760 (Compile_Sources): Do not build libraries if -c switch is used
35761
35762 * gnatlink.adb (Process_Args): New switches -M and -Mmap
35763 (Write_Usage): If map file creation is supported, output new switches
35764 -M and -Mmap.
35765 (Gnatlink): When -M is specified, add the necessary switch(es) to the
35766 gcc call, when supported.
35767
35768 * Makefile.in: Added indepsw.o to the object list for gnatlink
35769 Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
35770
35771 * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
35772 indepsw.adb, indepsw.ads: New files.
35773
357742004-08-09 Bernard Banner <banner@gnat.com>
35775
35776 * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
35777
35778 * Makefile.in: add section for vxworks x86
35779
357802004-08-09 Hristian Kirtchev <kirtchev@gnat.com>
35781
35782 * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
35783 per-object constrained components where the discriminant is of an
35784 Access type.
35785 (Build_Record_Init_Proc): Add condition to prevent the inheritance of
35786 the parent initialization procedure for derived Unchecked_Unions.
35787 Instead, derived Unchecked_Unions build their own initialization
35788 procedure.
35789 (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
35790 Check the body of the subprogram for details.
35791 (Freeze_Record_Type): Prevent the inheritance of discriminant checking
35792 functions for derived Unchecked_Union types by introducing a condition.
35793 Allow the creation of TSS equality functions for Unchecked_Unions.
35794 (Make_Eq_Case): Rename formal parameter Node to E in function signature.
35795 Add formal parameter Discr to function signature. Discr is used to
35796 control the generated case statement for Unchecked_Union types.
35797 (Make_Eq_If): Rename formal parameter Node to E in function signature.
35798
35799 * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
35800 Unchecked_Unions.
35801 Check the body of the subprogram for details.
35802 (Expand_Composite_Equality): Augment composite type equality to include
35803 correct handling of Unchecked_Union components.
35804 (Expand_N_In): Add condition to detect illegal membership tests when the
35805 subtype mark is a constrained Unchecked_Union and the expression lacks
35806 inferable discriminants, and build a Raise_Program_Error node.
35807 (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
35808 to detect types that contain components of unconstrained Unchecked_Union
35809 subtype. Add condition to detect equality between types that have an
35810 unconstrained Unchecked_Union component, and build a Raise_Program_Error
35811 node. Add condition to detect equality between Unchecked_Union types
35812 that lack inferable discriminants, and build a Raise_Program_Error node.
35813 Otherwise build a TSS equality function call.
35814 (Expand_N_Type_Conversion): Add condition to detect illegal conversions
35815 from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
35816 with the operand lacking inferable discriminants, and build a Raise_
35817 Program_Error node.
35818 (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
35819 composite equality.
35820 (Has_Inferable_Discriminants): Implement new predicate for objects and
35821 expressions of Unchecked_Union type. Check the body of subprogram for
35822 details.
35823 (Has_Unconstrained_UU_Components): Add function
35824 Component_Is_Unconstrained_UU. It is used to detect whether a single
35825 component is of an unconstrained Unchecked_Union subtype. Add function
35826 Variant_Is_Unconstrained_UU. It is used to detect whether a single
35827 component inside a variant is of an unconstrained Unchecked_Union type.
35828
35829 * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
35830 inferred discriminant values. Add condition to generate a case
35831 statement with an inferred discriminant as the switch.
35832 (Make_Component_List_Assign): Introduce a Boolean flag that determines
35833 the behaviour of the subprogram in the presence of an Unchecked_Union.
35834 Add condition to trigger the usage of the inferred discriminant value
35835 as the generated case statement switch.
35836 (Make_Field_Assign): Introduce a Boolean flag that determines the
35837 behaviour of the subprogram in the presence of an Unchecked_Union. Add
35838 condition to trigger the usage of the inferred discriminant value as
35839 the right-hand side of the generated assignment.
35840
35841 * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
35842 parameter generation when dealing with Unchecked_Unions.
35843
35844 * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
35845 checks for Unchecked_Unions.
35846
35847 * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
35848
35849 * exp_attr.adb (Expand_N_Attribute_Reference): Produce
35850 Raise_Program_Error nodes for the execution of Read and Write
35851 attributes of Unchecked_Union types and the execution of Input and
35852 Output attributes of Unchecked_Union types that lack default
35853 discriminant values.
35854
35855 * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
35856 Unchecked_Union. Add procedure Check_Component. It is used to inspect
35857 per-object constrained components of Unchecked_Unions for being
35858 Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
35859 check individual components withing a variant.
35860
35861 * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
35862 comparison of Unchecked_Unions.
35863 (Resolve_Equality_OP): Remove guard that prevents equality between
35864 Unchecked_Unions.
35865
35866 * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
35867 of component subtypes for Unchecked_Union components.
35868 (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
35869 since it is the actual subtype.
35870
35871 * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
35872 pass of Unchecked_Union subtypes as generic actuals to formal types
35873 that lack known_discriminant_parts or that are derived Unchecked_Union
35874 types, and do nothing. In any other case, produce an error message.
35875
35876 * sem_ch3.adb (Analyze_Component_Declaration): Add function
35877 Contains_POC. It determines whether a constraint uses the discriminant
35878 of an enclosing record type.
35879 Add condition to detect per-object constrained component and set the
35880 appropriate flag.
35881 (Derived_Type_Declaration): Remove guard that prevents derivation from
35882 Unchecked_Union types.
35883 (Process_Subtype): Remove quard that prevents the creation of Unchecked_
35884 Union subtypes.
35885
35886 * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
35887 references to Unchecked_Union discriminants.
35888
35889 * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
35890 formal generation when dealing with Unchecked_Unions.
35891 (Set_Actual_Subtypes): Add condition to prevent generation of actual
35892 subtypes for Unchecked_Unions.
35893
35894 * sem_ch7.adb (Analyze_Package_Specification): Add procedure
35895 Inspect_Unchecked_Union_Completion. It is used to detect incorrect
35896 completions of discriminated partial views by Unchecked_Unions and
35897 produce an error message.
35898
358992004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
35900
35901 * trans.c (struct stmt_group): New field, GLOBAL.
35902 (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
35903 (struct elab_info): New struct.
35904 (elab_info_list, gnu_elab_proc_stack): New variables.
35905 (Compilation_Unit_to_gnu): New procedure.
35906 (gigi): Call it and also handle elaboration procs we've saved.
35907 (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
35908 global field from parent.
35909 (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
35910 (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
35911 (start_stmt_group): Initialize global field from parent.
35912 (add_decl_expr): Set to global for current statement group.
35913 (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
35914 post.
35915
35916 * utils.c (global_bindings_p): True when no current_function_decl; no
35917 longer check current_binding_level.
35918
359192004-08-09 Ben Brosgol <brosgol@gnat.com>
35920
35921 * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
35922 choice.
35923
35924 * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
35925
160ff372
AS
359262004-08-06 Andreas Schwab <schwab@suse.de>
35927
35928 * utils.c (gnat_define_builtin): Remove second parameter of
35929 make_decl_rtl.
35930 (begin_subprog_body): Likewise.
35931
615cbd95
AC
359322004-07-26 Arnaud Charlet <charlet@act-europe.fr>
35933
35934 * sem_util.adb (Requires_Transient_Scope): Temporarily disable
35935 optimization, not supported by the tree-ssa back-end.
35936
359372004-07-26 Olivier Hainque <hainque@act-europe.fr>
35938
35939 * s-mastop-irix.adb: Update comments.
35940
35941 * a-except.adb (Exception_Information): Raise Constraint_Error if
35942 exception Id is Null_Id.
35943 This is required behavior, which is more reliably and clearly checked
35944 at the top level interface level.
35945
359462004-07-26 Javier Miranda <miranda@gnat.com>
35947
35948 * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
35949 call if a component has no default_expression and the box is used.
35950
35951 * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
35952 default_expression and you use box, it behaves as if you had declared a
35953 stand-alone object.
35954 (Resolve_Record_Aggregate): If a component has no default_expression and
35955 you use box, it behaves as if you had declared a stand-alone object.
35956
35957 * sem_ch10.adb (Install_Siblings): Do not make visible the private
35958 entities of private-with siblings.
35959
359602004-07-26 Ed Schonberg <schonberg@gnat.com>
35961
35962 * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
35963 for a component of an itype, set the parent pointer for analysis,
35964 there is no list in which to insert it.
35965
35966 * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
35967 bona-fide renamings, not for inherited operations.
35968
35969 * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
35970 actual for a formal that is an access parameter, create local
35971 finalization list even if the expression is not an aggregate.
35972
359732004-07-26 Ed Schonberg <schonberg@gnat.com>
35974
35975 PR ada/16213
35976 * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
35977 Diagnose properly illegal subprogram renamings that are library units.
35978
359792004-07-26 Ed Schonberg <schonberg@gnat.com>
35980
35981 PR ada/15588
35982 * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
35983 conversion rewritten as an unchecked conversion, check that original
35984 expression is a variable.
35985
35986 * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
35987 unchecked_conversion, create new node rather than rewriting in place,
35988 to preserve original construct.
35989
359902004-07-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
35991
35992 * gigi.h (gnat_expand_body): Deleted.
35993
35994 * Make-lang.in: (trans.o): Depends on function.h.
35995
35996 * misc.c: (gnat_expand_body): Moved to here.
35997
35998 * trans.c (gnat_expand_body_1): Deleted.
35999 (gnat_expand_body): Moved from here.
36000 (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
36001 (add_stmt): Check for marked visited with global_bindings_p.
36002 (gnat_gimplify_expr, case COMPONENT_REF): New case.
36003 (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
36004
36005 * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
36006 VIEW_CONVERT_EXPR if not operation type.
36007
36008 * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
36009 fat pointer.
36010
36011 * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
36012 changes: reformatting of negation operators, removing unneeded
36013 inequality comparison with zero, converting equality comparisons with
36014 zero to negations, changing int/0/1 to bool/false/true, replace calls
36015 to gigi_abort with abort, and various other similar changes.
36016
360172004-07-26 Vincent Celier <celier@gnat.com>
36018
36019 * gnatcmd.adb (GNATCmd): Add processing for new built-in command
36020 "setup".
36021
36022 * make.adb (Gnatmake): Fail when a library is not present and there is
36023 no object directory.
36024
36025 * mlib-prj.adb (Check_Library): No need to check if the library needs
36026 to be rebuilt if there is no object directory, hence no object files
36027 to build the library.
36028
36029 * opt.ads (Setup_Projects): New Boolean flag.
36030
36031 * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
36032 Location.
36033 Create directory when Kind /= "" and in "gnat setup". Report error if
36034 directory cannot be created.
36035 (Ada_Check): Create library interface copy dir if it does not exist
36036 and we are in "gnat setup".
36037 (Find_Sources): No error if in "gnat setup" and no Ada sources were
36038 found.
36039 (Language_Independent_Check): Create object directory, exec directory
36040 and/or library directory if they do not exist and we are in
36041 "gnat setup".
36042
36043 * vms_conv.ads: (Command_Type): New command Setup.
36044
36045 * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
36046
36047 * vms_data.ads: Add qualifiers/switches for new built-in command
36048 "setup".
36049
b785f485
RH
360502004-07-25 Richard Henderson <rth@redhat.com>
36051
36052 * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
36053 DECL_IGNORED_P on RESULT_DECL.
36054
35ae2ed8
AC
360552004-07-20 Olivier Hainque <hainque@act-europe.fr>
36056
36057 * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
36058 allocation and potentially overflowing update with
36059 Tailored_Exception_Information. Use the sec-stack free procedural
36060 interface to output Exception_Information instead.
36061
36062 * a-except.adb (To_Stderr): New subprogram for character, and string
36063 version moved from a-exextr to be visible from other separate units.
36064 (Tailored_Exception_Information): Remove the procedural version,
36065 previously used by the default Last_Chance_Handler and not any more.
36066 Adjust various comments.
36067
36068 * a-exexda.adb: Generalize the exception information procedural
36069 interface, to minimize the use of secondary stack and the need for
36070 local buffers when the info is to be output to stderr:
36071 (Address_Image): Removed.
36072 (Append_Info_Character): New subprogram, checking for overflows and
36073 outputing to stderr if buffer to fill is of length 0.
36074 (Append_Info_String): Output to stderr if buffer to fill is of length 0.
36075 (Append_Info_Address, Append_Info_Exception_Name,
36076 Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
36077 Append_Info_Basic_Exception_Traceback,
36078 Append_Info_Exception_Information): New subprograms.
36079 (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
36080 (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
36081 Exception_Info_Maxlength, Exception_Name_Length,
36082 Exception_Message_Length): New subprograms.
36083 (Exception_Information): Use Append_Info_Exception_Information.
36084 (Tailored_Exception_Information): Use
36085 Append_Info_Basic_Exception_Information.
36086 Export services for the default Last_Chance_Handler.
36087
36088 * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
36089 other separate units.
36090
360912004-07-20 Vincent Celier <celier@gnat.com>
36092
36093 * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
36094
360952004-07-20 Ed Schonberg <schonberg@gnat.com>
36096
36097 * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
36098 emit itype references for the designated types of component types that
36099 are declared outside of the full record declaration, and that may
36100 denote a partial view of that record type.
36101
361022004-07-20 Ed Schonberg <schonberg@gnat.com>
36103
36104 PR ada/15607
36105 * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
36106 which is the designated type in an access component declaration, to the
36107 list of incomplete dependents of the parent type, to avoid elaboration
36108 issues with out-of-scope subtypes.
36109 (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
36110 full view of the parent.
36111
361122004-07-20 Ed Schonberg <schonberg@gnat.com>
36113
36114 PR ada/15610
36115 * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
36116 entities that are hidden, such as references to generic actuals
36117 outside an instance.
36118
361192004-07-20 Javier Miranda <miranda@gnat.com>
36120
36121 * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
36122 support to the new notation.
36123 (Analyze_Selected_Component): Add call to Try_Object_Operation.
36124
361252004-07-20 Jose Ruiz <ruiz@act-europe.fr>
36126
36127 * s-taprob.adb: Adding the elaboration code required for initializing
36128 the tasking soft links that are common to the full and the restricted
36129 run times.
36130
36131 * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
36132 restricted run time has been moved to the package
36133 System.Soft_Links.Tasking.
36134
36135 * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
36136 restricted run time has been moved to the package
36137 System.Soft_Links.Tasking.
36138
36139 * Makefile.rtl: Add entry for s-solita.o in run-time library list.
36140
36141 * s-solita.ads, s-solita.adb: New files.
36142
361432004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
36144
36145 * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
36146 Case_Statement_to_gnu): Split off from gnat_to_gnu.
36147 (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
36148 Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
36149 Exception_Handler_to_gnu_zcx): Likewise.
36150
6e34d3a3
JM
361512004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
36152
36153 * gigi.h (builtin_function): Declare.
36154
523456db
AC
361552004-07-15 Robert Dewar <dewar@gnat.com>
36156
36157 * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
36158 reformatting
36159
36160 * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
36161 access values as an example of a warning.
36162
36163 * gnat_rm.texi: Document new attribute Has_Access_Values
36164
36165 * gnat-style.texi: Document that box comments belong on nested
36166 subprograms
36167
36168 * sem_util.ads (Has_Access_Values): Improved documentation
36169
36170 * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
36171
36172 * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
36173 (Process_Interface_Name): Call to this new procedure
36174 (Set_Extended_Import_Export_External_Name): Call to this new procedure
36175
36176 * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
36177
36178 * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
36179
36180 * einfo.ads: Minor comment typo fixed
36181
361822004-07-15 Jose Ruiz <ruiz@act-europe.fr>
36183
36184 * snames.adb: Add _atcb.
36185
36186 * snames.ads: Add Name_uATCB.
36187
36188 * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
36189 (in the expanded code) when using the restricted run time.
36190
36191 * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
36192 a in parameter in order to allow ATCBs to be preallocated (in the
36193 expanded code).
36194
36195 * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
36196 order to allow ATCBs to be preallocated. In case of error, the ATCB is
36197 deallocated in System.Tasking.Stages.
36198
36199 * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
36200 order to allow ATCBs to be preallocated.
36201
36202 * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
36203 here. It was previously done in Initialize_ATCB.
36204
36205 * rtsfind.ads: Make the Ada_Task_Control_Block visible.
36206
36207 * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
36208 Restricted run time.
36209
36210 * exp_ch3.adb: When using the Restricted run time, pass the
36211 preallocated Ada_Task_Control_Block when creating a task.
36212
362132004-07-15 Ed Schonberg <schonberg@gnat.com>
36214
36215 * sem_util.adb (Normalize_Actuals): If there are no actuals on a
36216 function call that is itself an actual in an enclosing call, diagnose
36217 problem here rather than assuming that resolution will catch it.
36218
36219 * sem_ch7.adb (Analyze_Package_Specification): If the specification is
36220 the local copy of a generic unit for a formal package, and the generic
36221 is a child unit, install private part of ancestors before compiling
36222 private part of spec.
36223
36224 * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
36225 use scope entities rather than tree structures, to handle properly
36226 parent units that are instances rewritten as bodies for inlining
36227 purposes.
36228
36229 * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
36230 Remove_Parents): Handle properly a parent unit that is an
36231 instantiation, when the unit has been rewritten as a body for inlining
36232 purposes.
36233
36234 * par.adb (Goto_List): Global variable to collect goto statements in a
36235 given unit, for use in detecting natural loops.
36236
36237 * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
36238 use in detecting natural loops.
36239
36240 * par-labl.adb (Find_Natural_Loops): Recognize loops create by
36241 backwards goto's, and rewrite as a infinite loop, to improve locality
36242 of temporaries.
36243
36244 * exp_util.adb (Force_Evaluation): Recognize a left-hand side
36245 subcomponent that includes an indexed reference, to prevent the
36246 generation of copies that would miscompile the desired assignment
36247 statement.
36248 (Build_Task_Image_Decls): Add a numeric suffix to
36249 generated name for string variable, to avoid spurious conflicts with
36250 the name of the type of a single protected object.
36251
36252 * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
36253 loop with an explicit exit statement, to avoid generating an
36254 out-of-range value with 'Succ leading to spurious constraint_errors
36255 when compiling with -gnatVo.
36256
362572004-07-15 Thomas Quinot <quinot@act-europe.fr>
36258
36259 * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
36260 might not be analyzed yet, even if its Etype is already set (case of an
36261 unchecked conversion built using Unchecked_Convert_To, for example).
36262 If the prefix has already been analyzed, this will be a nop anyway.
36263
36264 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
36265 controller type, or an assignment of a record type with controlled
36266 components, copy only user data, and leave the finalization chain
36267 pointers untouched.
36268
362692004-07-15 Vincent Celier <celier@gnat.com>
36270
36271 * make.adb (Collect_Arguments): Improve error message when attempting
36272 to compile a source not part of any project, when -x is not used.
36273
36274 * prj.ads: (Defined_Variable_Kind): New subtype
36275
36276 * prj-attr.adb (Register_New_Package): Two new procedures to register
36277 a package with or without its attributes.
36278 (Register_New_Attribute): Mew procedure to register a new attribute in a
36279 package.
36280 New attribute oriented subprograms: Attribute_Node_Id_Of,
36281 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
36282 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
36283 Next_Attribute.
36284 New package oriented subprograms: Package_Node_Id_Of,
36285 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
36286
36287 * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
36288 type.
36289 (Package_Node_Id): Now a private, self initialized type
36290 (Register_New_Package): New procedure to register a package with its
36291 attributes.
36292 New attribute oriented subprograms: Attribute_Node_Id_Of,
36293 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
36294 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
36295 Next_Attribute.
36296 New package oriented subprograms: Package_Node_Id_Of,
36297 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
36298
36299 * prj-dect.adb (Parse_Attribute_Declaration,
36300 Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
36301
36302 * prj-makr.adb (Make): Parse existing project file before creating
36303 other files. Fail if there was an error during parsing.
36304
36305 * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
36306 new spec of Prj.Attr.
36307
36308 * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
36309 to new spec of Prj.Attr.
36310
363112004-07-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
36312
36313 * utils2.c: Fix typo in comment.
36314
363152004-07-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
54805e13
RK
36316
36317 * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
36318 * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
36319
a1c7af89
AS
363202004-07-14 Andreas Schwab <schwab@suse.de>
36321
36322 * trans.c (gnat_init_stmt_group): Remove duplicate definition.
36323
a5cb3b30
AC
363242004-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
36325
36326 * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
36327 object type.
36328 (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
36329 TYPE_STUB_DECL.
36330
36331 * misc.c (gnat_types_compatible_p): New function.
36332 (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
36333 (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
36334
36335 * trans.c (gigi): Move processing of main N_Compilation_Unit here.
36336 (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
36337 (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
36338 (mark_visited): Don't mark dummy type.
6615c446 36339 (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
a5cb3b30
AC
36340 parameter, we must remove any LJM building from GNU_NAME.
36341 (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
36342 (pos_to_constructor): Use int_const_binop.
36343 (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
36344 PARM_DECL.
36345
36346 * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
36347 (gnat_pushlevel): Set TREE_USE on BLOCK node.
36348 (gnat_install_builtins): Add __builtin_memset.
36349
363502004-07-13 Olivier Hainque <hainque@act-europe.fr>
36351
36352 * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
36353 for a renaming, stabilize the initialization expression if we are at a
36354 local level. At the local level, uses of the renaming may be performed
36355 by a direct dereference of the initializing expression, and we don't
36356 want possible variables there to be evaluated for every use.
36357
36358 * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
36359 Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
36360 them on the way. Account for the fact that we may introduce side
36361 effects in the process.
36362
0976078c
RH
363632004-07-13 Richard Henderson <rth@redhat.com>
36364
36365 * misc.c (default_pass_by_ref): Use pass_by_reference.
36366
9dcf6e73
JM
363672004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
36368
36369 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
36370 LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
36371
ac45df5d
RH
363722004-07-08 Richard Henderson <rth@redhat.com>
36373
36374 * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
36375 commentary.
36376
15ce9ca2
AC
363772004-07-06 Vincent Celier <celier@gnat.com>
36378
36379 * vms_conv.ads: Minor reformatting.
36380 Alphabetical order for enumerated values of type Command_Type, to have
36381 the command in alphabetical order for the usage.
36382
36383 * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
36384 the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
36385
36386 * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
36387
36388 * makegpr.adb (Global_Archive_Exists): New global Boolean variable
36389 (Add_Archive_Path): Only add the global archive if there is one.
36390 (Build_Global_Archive): Set Global_Archive_Exists depending if there is
36391 or not any object file to put in the global archive, and don't build
36392 a global archive if there is none.
36393 (X_Switches): New table
36394 (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
36395 in the X_Switches table, if any.
36396 (Initialize): Make sure the X_Switches table is empty
36397 (Scan_Arg): Record -X switches in table X_Switches
36398
36399 * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
36400
36401 * make.adb: Minor comment fix
36402
36403 * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
36404 invoked with directory information, add the directory in front of the
36405 path.
36406
36407 * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
36408 invoked with directory information, add the directory in front of the
36409 path.
36410
36411 * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
36412 when Keep_Temporary_Files is False.
36413 (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
36414 directory information, add the directory in front of the path.
36415 When not on VMS, handle new switch -dn before the command to set
36416 Keep_Temporary_Files to True.
36417 (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
36418 everywhere.
36419
36420 * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
36421 invoked with directory information, add the directory in front of the
36422 path.
36423
364242004-07-06 Thomas Quinot <quinot@act-europe.fr>
36425
36426 * snames.ads, snames.adb (Name_Stub): New name for the distributed
36427 systems annex.
36428
36429 * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
36430 New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
36431
36432 * g-socket.adb (To_Timeval): Fix incorrect conversion of
36433 Selector_Duration to Timeval for the case of 0.0.
36434
36435 * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
36436 documentation from Evolve_And_Then.
36437
364382004-07-06 Jose Ruiz <ruiz@act-europe.fr>
36439
36440 * s-taprop-tru64.adb, s-taprop-os2.adb,
36441 s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
36442
364432004-07-06 Robert Dewar <dewar@gnat.com>
36444
36445 * s-osinte-hpux.ads, s-osinte-freebsd.ads,
36446 s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
36447 s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
36448 s-interr-sigaction.adb, s-taprop-irix-athread.adb,
36449 s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
36450 s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
36451 s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
36452 s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
36453 a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
36454 a-tags.ads, bindgen.ads, checks.adb, checks.adb,
36455 csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
36456 exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
36457 g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
36458 i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
36459 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
36460 sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
36461 sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
36462 s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
36463 s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
36464 s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
36465 vms_data.ads: Minor reformatting,
36466 Fix bad box comment format.
36467
36468 * gnat_rm.texi: Fix minor grammatical error
36469
36470 * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
36471
36472 * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
36473 more cases of discriminated records to be recognized as not needing a
36474 secondary stack.
36475 (Has_Access_Values): New function.
36476
36477 * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
36478
36479 * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
36480 Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
36481 with LRM terminology).
36482 Change terminology in comments primitive type => elementary type.
36483
364842004-07-06 Ed Schonberg <schonberg@gnat.com>
36485
36486 PR ada/15602
36487 * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
36488 parameters do not impose any requirements on the presence of a body.
36489
364902004-07-06 Ed Schonberg <schonberg@gnat.com>
36491
36492 PR ada/15593
36493 * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
36494 compilation unit and is in an open scope at the point of instantiation,
36495 assume that a body may be present later.
36496
364972004-07-06 Ed Schonberg <schonberg@gnat.com>
36498
36499 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
36500 Improve error message when specified size is not supported.
36501
36502 * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
36503 is never a primitive operation.
36504
cb42deba
AS
365052004-07-05 Andreas Schwab <schwab@suse.de>
36506
36507 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
36508 RECORD_OR_UNION_CHECK.
36509 (TYPE_CONTAINS_TEMPLATE_P): Likewise.
36510
98877933
KC
365112004-07-04 Kelley Cook <kcook@gcc.gnu.org>
36512
36513 * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
36514 dependency on xgnatugn, instead build it via a submake.
36515 (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
36516
8fff4fc1
RH
365172004-07-04 Richard Henderson <rth@redhat.com>
36518
36519 * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
36520
4dfa0342
RH
365212004-07-01 Richard Henderson <rth@redhat.com>
36522
36523 * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
36524 * utils.c (max_size): Likewise.
36525
909f21b3
RK
365262004-06-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
36527
36528 * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
36529 and rest_of_type_compilation; add arg to create_*_decl.
15cd18b9 36530 (annotate_decl_with_node): Deleted.
909f21b3
RK
36531 (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
36532 * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
36533 (get_current_block_context, gnat_pushdecl): New declarations.
36534 (gnat_init_stmt_group): Likewise.
36535 (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
36536 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
36537 (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
36538 (gnat_init): Call gnat_init_stmt_group.
36539 * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
36540 (gnu_pending_elaboration_list): Deleted.
36541 (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
36542 (gigi): Rearrange initialization calls and move some to last above.
36543 (gnat_to_gnu): If statement and not in procedure, go into elab proc.
36544 Delete calls to add_decl_expr; add arg to create_*_decl.
36545 (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
6615c446 36546 (gnat_to_gnu, case N_Subprogram_Body): Move some code to
909f21b3
RK
36547 begin_subprog_body and call it.
36548 Don't push and pop ggc context.
36549 (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
36550 (add_stmt): Remove handling of DECL_EXPR from here.
36551 If not in function, mark visited.
36552 (add_decl_expr): Put global at top level.
36553 Check for cases of DECL_INITIAL we have to handle here.
36554 (process_type): Add extra arg to create_type_decl.
36555 (build_unit_elab): Rework to just gimplify.
36556 * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
36557 (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
36558 (get_pending_elaborations, pending_elaborations_p): Likewise.
36559 (push_pending_elaborations, pop_pending_elaborations): Likewise.
36560 (get_elaboration_location, insert_elaboration_list): Likewise.
36561 (gnat_binding_level): Renamed from ada_binding_level.
36562 (init_gnat_to_gnu): Don't clear pending_elaborations.
36563 (global_bindings_p): Treat as global if no current_binding_level.
36564 (set_current_block_context): New function.
36565 (gnat_pushdecl): Renamed from pushdecl; major rework.
36566 All callers changed.
36567 (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
36568 (finish_record_type): Call call pushdecl for stub decl.
36569 (function_nesting_depth): Deleted.
36570 (begin_subprog_body): Delete obsolete code.
36571 * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
6615c446 36572
246d2ceb
AC
365732004-06-28 Robert Dewar <dewar@gnat.com>
36574
36575 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
36576 mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
36577 mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
36578 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
36579 a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
36580
36581 * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
36582 deal with problem of inefficient slices on machines with strict
36583 alignment, when the slice is a component of a composite.
36584
36585 * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
36586 machines, we need the check there as well.
36587
365882004-06-28 Ed Schonberg <schonberg@gnat.com>
36589
36590 * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
36591 determine safe copying direction for overlapping slice assignments
36592 when component is controlled.
36593
36594 * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
36595 formal derived type in the actual for a formal package are visible in
36596 the enclosing instance.
36597
365982004-06-28 Ed Schonberg <schonberg@gnat.com>
36599
36600 PR ada/15600
36601 * sem_util.adb (Trace_Components): Diagnose properly an illegal
36602 circularity involving a private type whose completion includes a
36603 self-referential component.
36604 (Enter_Name): Use Is_Inherited_Operation to distinguish a source
36605 renaming or an instantiation from an implicit derived operation.
36606
366072004-06-28 Pascal Obry <obry@gnat.com>
36608
36609 * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
36610 DLL.
36611 (Library_File_Name_For): Idem.
36612
366132004-06-28 Matthew Gingell <gingell@gnat.com>
36614
36615 * g-traceb.ads: Add explanatory note on the format of addresses
36616 expected by addr2line.
36617
366182004-06-28 Jerome Guitton <guitton@act-europe.fr>
36619
36620 * Makefile.in: Force debugging information on s-tasdeb.adb,
36621 a-except.adb and s-assert.adb needed by the debugger.
36622
366232004-06-28 Vincent Celier <celier@gnat.com>
36624
36625 * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
36626 Need_To_Build_Lib.
36627 (Gnatmake): Ditto.
36628
36629 * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
36630
36631 * prj.adb: Minor reformatting
36632 (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
36633
36634 * prj.ads: Comment updates
36635 Minor reformatting
36636 (Project_Data): Change Flag1 to Need_To_Build_Lib.
36637 Remove Flag2: not used.
36638
36639 * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
36640 declaration.
36641
36642 * gnat_ugn.texi: Put a "null;" declaration in one project file example
36643
36644 * gnat_rm.texi: Document Empty declarations "null;".
36645
36646 * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
36647 front of the linker options.
36648 (Link_Foreign): Put the global archives and the libraries in front of
36649 the linker options.
36650
366512004-06-28 Javier Miranda <miranda@gnat.com>
36652
36653 * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
36654 (RTU_Loaded): Code cleanup
36655 (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
36656 withed predefined units.
36657
36658 * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
36659 explicitly withed predefined units.
36660 Fix typo in comment
36661
36662 * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
36663 explicitly withed predefined units.
36664
bce3da32
RK
366652004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
36666
36667 * ada-tree.def (DECL_STMT): Deleted.
36668 * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
36669 (DECL_STMT_VAR): Deleted.
36670 * decl.c: add_decl_stmt now add_decl_expr.
36671 * gigi.h: Likewise.
36672 * trans.c: Likewise.
15cd18b9 36673 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
bce3da32
RK
36674 (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
36675 (add_stmt): Only handle padded type here.
36676 (add_stmt_with_node): Allow gnat_node to not be present.
36677 (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
36678 (gnat_gimplify_stmt, case DECL_STMT): Deleted.
36679 (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
36680 make a SAVE_EXPR for the entire fat pointer.
36681 * utils.c (pushdecl): Walk a DECL_EXPR in global case.
36682 (create_index_type): Make a DECL_EXPR.
36683 (end_subprog_body): Don't call allocate_struct_function here but
36684 do clear cfun.
36685
0da2c8ac
AC
366862004-06-25 Pascal Obry <obry@gnat.com>
36687
36688 * makegpr.adb (Build_Library): Remove parameter Lib_Address and
36689 Relocatable from Build_Dynamic_Library call.
36690
36691 * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
36692 Relocatable are now synonym.
36693
36694 * Makefile.in: Use s-parame-mingw.adb on MingW platform.
36695
36696 * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
36697 Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
36698 call.
36699
36700 * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
36701 Lib_Address and Relocatable.
36702 (Default_DLL_Address): Removed.
36703
6615c446
JO
36704 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
36705 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
0da2c8ac
AC
36706 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
36707 (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
36708 (Default_DLL_Address): Removed.
36709
36710 * mlib-tgt-mingw.adb: Ditto.
36711 (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
36712
36713 * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
36714 the initial thread stack size.
36715
36716 * a-strmap.ads: Move package L to private part as it is not used in
36717 the spec. Found while reading code.
36718
367192004-06-25 Olivier Hainque <hainque@act-europe.fr>
36720
36721 * tracebak.c: Introduce support for a GCC infrastructure based
36722 implementation of __gnat_backtrace.
36723
36724 * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
36725 any more. Use accessors instead. This eases maintenance and relaxes
36726 some alignment constraints.
36727 (_GNAT_Exception structure): Remove the Ada specific fields
36728 (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
36729 a-exexpr.adb.
36730 (is_handled_by, __gnat_eh_personality): Replace component references to
36731 exception structure by use of the new accessors.
36732
36733 * init.c (__gnat_initialize): Adjust comments to match the just
36734 reverted meaning of the -static link-time option.
36735
36736 * adaint.c (convert_addresses): Arrange not to define a stub for
36737 mips-irix any more, as we now want to rely on a real version from a
36738 recent libaddr2line.
36739
36740 * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
36741 the personality routine can use them and not have to rely on a C
36742 counterpart of the record anymore. This simplifies maintenance and
36743 relaxes the constraint of having Standard'Maximum_Alignment match
36744 BIGGEST_ALIGNMENT.
36745 Update comments, and add a section on the common header alignment issue.
36746
367472004-06-25 Geert Bosch <bosch@gnat.com>
36748
36749 * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
36750 polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
36751
367522004-06-25 Robert Dewar <dewar@gnat.com>
36753
36754 * gnat_rm.texi: Fix section on component clauses to indicate that the
36755 restriction on byte boundary placement still applies for bit packed
36756 arrays.
36757 Add comment on stack usage from Initialize_Scalars
36758
36759 * gnat_ugn.texi: Add documentation for -gnatyLnnn
36760
36761 * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
36762 limiting nesting level.
36763
36764 * usage.adb: Add line for -gnatyLnnn switch
36765
36766 * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
36767 sem_ch13.adb, exp_aggr.adb: Minor reformatting
36768
36769 * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
36770 type as well as on the subtype. This corrects a problem in freeze in
36771 setting alignments of atomic types.
36772
36773 * sem_eval.ads: Minor comment typo fixed
36774
36775 * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
36776 level. Minor reformatting.
36777
36778 * fname.adb (Is_Predefined_File_Name): Require a letter after the
36779 minus sign. This means that file names like a--b.adb will not be
36780 considered predefined.
36781
36782 * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
36783 record Test new flag and give diagnostic for bad component clause.
36784 (Freeze_Entity): Set alignment of array from component alignment in
36785 cases where this is safe to do.
36786
36787 * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
36788 arrays.
36789
36790 * cstand.adb: (Create_Standard): Set alignment of String to 1
36791
36792 * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
36793
36794 * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
36795 code in the common constrained array cases.
36796
36797 * a-storio.adb: Change implementation to avoid possible alignment
36798 problems on machines requiring strict alignment (data should be moved
36799 as type Buffer, not type Elmt).
36800
36801 * checks.adb (Apply_Array_Size_Check): Improve these checks by
36802 killing the overflow checks which we really do not need (64-bits is
36803 enough).
36804
368052004-06-25 Vincent Celier <celier@gnat.com>
36806
36807 * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
36808 (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
36809 inconditionally for the main project.
36810 (Recursive_Add_Archives.Add_Archive_Path): New procedure
36811 (Link_Executables.Check_Time_Stamps): New procedure
36812 (Link_Executables.Link_Foreign): New procedure
36813 Changes made to reduce nesting level of this package
36814 (Check): New procedure
36815 (Add_Switches): When not in quiet output, check that a switch is not
36816 the concatenation of several valid switches. If it is, issue a warning.
36817 (Build_Global_Archive): If the global archive is rebuilt, linking need
36818 to be done.
36819 (Compile_Sources): Rebuilding a library archive does not imply
36820 rebuilding the global archive.
36821 (Build_Global_Archive): New procedure
36822 (Build_Library): New name for Build_Archive, now only for library
36823 project
36824 (Check_Archive_Builder): New procedure
36825 (Create_Global_Archive_Dependency_File): New procedure
36826 (Gprmake): Call Build_Global_Archive before linking
36827 * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
36828 throughout.
36829 (Scan_Arg): Display the Copyright notice when -v is used
36830
36831 * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
36832 for gnatls.
36833
36834 * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
36835 COMPILE.
36836 Add new GNAT LIST qualifier /FILES=
36837 Added qualifier /DIRECTORY= to GNAT METRIC
36838 Added qualifier /FILES= to GNAT METRIC
36839 Added qualifier /FILES to GNAT PRETTY
36840
36841 * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
36842 to take into account both versions of the switch.
36843
36844 * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
36845 always be the last switch to the gcc driver. Disable switch storing so
36846 that switches automatically added by the gcc driver are not put in the
36847 ALI file.
36848
36849 * prj.adb (Project_Empty): Take into account changes in components of
36850 Project_Data.
36851
36852 * prj.ads (Languages_Processed): New enumaration value All_Languages.
36853
36854 * prj.ads (Project_Data): Remove component Lib_Elaboration: never
36855 used. Split Boolean component Ada_Sources_Present in two Boolean
36856 components Ada_Sources_Present and Other_Sources_Present.
36857 Minor reformatting
36858
36859 * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
36860 instead of Sources_Present.
36861 (Set_Ada_Paths.Add.Recursive_Add): Ditto
36862
36863 * prj-nmsc.adb: Minor reformatting
36864 (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
36865 (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
36866 Check_Ada_Naming_Scheme.
36867 Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
36868 throughout.
36869
36870 * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
36871 In_Limited.
36872 Make sure that all cycles where there is at least one "limited with"
36873 are detected.
36874 (Parse_Single_Project): New Boolean parameter In_Limited
36875
36876 * prj-proc.adb (Recursive_Check): When Process_Languages is
36877 All_Languages, call first Prj.Nmsc.Ada_Check, then
36878 Prj.Nmsc.Other_Languages_Check.
36879
36880 * prj-proc.adb (Process): Use Ada_Sources_Present or
36881 Other_Sources_Present (instead of Sources_Present) depending on
36882 Process_Languages.
36883
36884 * lang-specs.h: Keep -g and -m switches in the same order, and as the
36885 last switches.
36886
36887 * lib.adb (Switch_Storing_Enabled): New global Boolean flag
36888 (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
36889 False.
36890 (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
36891 False.
36892
36893 * lib.ads (Disable_Switch_Storing): New procedure.
36894
36895 * make.adb: Modifications to reduce nesting level of this package.
36896 (Check_Standard_Library): New procedure
36897 (Gnatmake.Check_Mains): New procedure
36898 (Gnatmake.Create_Binder_Mapping_File): New procedure
36899 (Compile_Sources.Compile): Add switch -gnatez as the last option
36900 (Display): Never display -gnatez
36901
6615c446 36902 * Makefile.generic:
0da2c8ac
AC
36903 When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
36904
36905 * gnatcmd.adb (Check_Project): New function
36906 (Process_Link): New procedure to reduce nesting depth
36907 (Check_Files): New procedure to reduce the nesting depth.
36908 For GNAT METRIC, include the inherited sources in extending projects.
36909 (GNATCmd): When GNAT LS is invoked with a project file and no files,
36910 add the list of files from the sources of the project file. If this list
36911 is too long, put it in a temp text files and use switch -files=
36912 (Delete_Temp_Config_Files): Delete the temp text file that contains
36913 a list of source for gnatpp or gnatmetric, if one has been created.
36914 (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
36915 in the project file is too large, create a temporary text file that
36916 list them and pass it to the tool with "-files=<temp text file>".
36917 (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
36918
36919 * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
36920 generated file is in not in Ada.
36921
36922 * gnatls.adb: Remove all parameters And_Save that are no longer used.
36923 (Scan_Ls_Arg): Add processing for -files=
36924 (Usage): Add line for -files=
36925
36926 * g-os_lib.adb (On_Windows): New global constant Boolean flag
36927 (Normalize_Pathname): When on Windows and the path starts with a
36928 directory separator, make sure that the resulting path will start with
36929 a drive letter.
36930
36931 * clean.adb (Clean_Archive): New procedure
36932 (Clean_Project): When there is non-Ada code, delete the global archive,
36933 the archive dependency files, the object files and their dependency
36934 files, if they exist.
36935 (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
36936
369372004-06-25 Thomas Quinot <quinot@act-europe.fr>
36938
36939 * sinfo.ads: Fix typo in comment.
36940
36941 * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
36942 the TSS for remote access-to-subprogram types, since these TSS are
36943 always present once the type has been analyzed.
36944 (RAS_E_Dereference): Same.
36945
36946 * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
36947 reference raises Bad_Attribute, mark the reference as analyzed so the
36948 node (and any children resulting from rewrites that could have occurred
36949 during the analysis that ultimately failed) is not analyzed again.
36950
36951 * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
36952
36953 * exp_dist.adb: Minor comment fix.
36954
36955 * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
36956 type is an anonymous access type, no unchecked deallocation of the
36957 allocated object can occur. If the object is controlled, attach it with
36958 a count of 1. This allows attachment to the Global_Final_List, if
36959 no other relevant list is available.
36960 (Get_Allocator_Final_List): For an anonymous access type that is
36961 the type of a discriminant or record component, the corresponding
36962 finalisation list is the one of the scope of the type.
36963
369642004-06-25 Ed Schonberg <schonberg@gnat.com>
36965
36966 * sem_ch3.adb (Replace_Type): When computing the signature of an
36967 inherited subprogram, use the first subtype if the derived type
36968 declaration has no constraint.
36969
36970 * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
36971 before applying previous optimization. Minor code cleanup.
36972
36973 * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
36974 placed at the beginning of an unpacked record without explicit
36975 alignment, a slice of it will be aligned and does not need a copy when
36976 used as an actual.
36977
369782004-06-25 Ed Schonberg <schonberg@gnat.com>
36979
36980 PR ada/15591
36981 PR ada/15592
36982 * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
36983 reference is written with expressions mimicking parameters.
36984
369852004-06-25 Hristian Kirtchev <kirtchev@gnat.com>
36986
36987 PR ada/15589
36988 * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
36989 STEP 2a. The constraints of a full type declaration of a derived record
36990 type are checked for conformance with those declared in the
36991 corresponding private extension declaration. The message
36992 "not conformant with previous declaration" is emitted if an error is
36993 detected.
36994
369952004-06-25 Vasiliy Fofanov <fofanov@act-europe.fr>
36996
36997 * g-traceb.ads: Document the need for -E binder switch in the spec.
36998
36999 * g-trasym.ads: Document the need for -E binder switch in the spec.
37000
370012004-06-25 Jose Ruiz <ruiz@act-europe.fr>
37002
37003 * sem_prag.adb: Add handling of pragma Detect_Blocking.
37004
37005 * snames.h, snames.ads, snames.adb: Add entry for pragma
37006 Detect_Blocking.
37007
37008 * s-rident.ads: Change reference to pragma Detect_Blocking.
37009
37010 * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
37011 system.ads.
37012
37013 * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
37014 to indicate whether pragma Detect_Blocking is active.
37015
37016 * par-prag.adb: Add entry for pragma Detect_Blocking.
37017
37018 * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
37019 of not handling WITH.
37020 Note that this replaces the previous update which was incorrect.
37021
370222004-06-25 Javier Miranda <miranda@gnat.com>
37023
37024 * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
37025 use-clauses to have a clean environment.
37026
37027 * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
37028 the installation of the use-clauses to stablish a clean environment in
37029 case of compilation of a separate unit; otherwise the call to
37030 use_one_package is protected by the barrier Applicable_Use.
37031
37032 * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
37033 the installation of the use-clauses to stablish a clean environment in
37034 case of compilation of a separate unit.
37035 (End_Use_Clauses): Minor comment cleanup.
37036
370372004-06-25 Sergey Rybin <rybin@act-europe.fr>
37038
37039 * gnat_ugn.texi: Add description of the gnatpp 'files' switch
37040
65355d53
RH
370412004-06-23 Richard Henderson <rth@redhat.com>
37042
37043 * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
37044
c0e3aa48
RK
370452004-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
37046
37047 * decl.c (elaborate_expression, elaborate_expression_1): Arguments
37048 now bool instead of int.
37049 (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
37050 * trans.c (gnu_switch_label_stack): New function.
37051 (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
37052 elaboration of renamed entity returns.
37053 (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
37054 (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
37055 (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
37056 (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
37057 DECL_SIZE_UNIT and simplify variable-sized case.
37058 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
37059 Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
37060 (gnat_stabilize_reference): Add arg to COMPONENT_REF.
37061 (build_unit_elab): Disable for now.
37062 * utils.c (mark_visited): New function.
37063 (pushdecl): Walk tree to call it for global decl.
37064 (update_pointer_to): Update all variants of pointer and ref types.
37065 Add arg to COMPONENT_REF.
37066 (convert): Likewise.
37067 Move check for converting between variants lower down.
37068 * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
37069 (build_allocator): Don't force type of MODIFY_EXPR.
37070 (gnat_mark_addressable, case VAR_DECL): Unconditionally call
37071 put_var_into_stack.
37072
966389ee
RK
370732004-06-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
37074
37075 * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
37076 * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
37077 * decl.c (gnat_to_gnu_entity): Also set force_global for imported
37078 subprograms.
37079 * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
37080 all callers changed.
37081 (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
37082 the way that EXIT_STMT finds the loop label.
37083 (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
37084 (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
37085 (add_stmt): Use annotate_with_locus insted of setting directly.
37086 (pos_to_construct): Set TREE_PURPOSE of each entry to index.
37087 (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
37088 * utils.c (gnat_install_builtins): Install __builtin_memcmp.
37089 (build_vms_descriptor): Add extra args to ARRAY_REF.
37090 (convert): Use VIEW_CONVERT_EXPR between aggregate types.
37091 * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
37092 New cases.
37093 (build_binary_op): Don't make explicit CONVERT_EXPR.
37094 Add extra rgs to ARRAY_REF.
37095
cc335f43
AC
370962004-06-14 Pascal Obry <obry@gnat.com>
37097
37098 * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
37099 Windows. Fix minor typo.
37100
37101 * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
37102 which is now supported on Windows. With this implementation using the
37103 Library Project feature is no different on Windows than on UNIX.
37104
371052004-06-14 Vincent Celier <celier@gnat.com>
37106
37107 * makegpr.adb (Compile_Sources): Nothing to do when there are no
37108 non-Ada sources.
37109
37110 * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
37111
37112 * prj-part.adb (Parse_Single_Project): When a duplicate project name is
37113 found, show the project name and the path of the previously parsed
37114 project file.
37115
371162004-06-14 Ed Schonberg <schonberg@gnat.com>
37117
37118 * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
37119 array, avoid copying the actual before the call.
37120
371212004-06-14 Thomas Quinot <quinot@act-europe.fr>
37122
37123 * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
37124 Instead, allocate memory on worst-case alignment assumptions, and then
37125 return an aligned address within the allocated zone.
37126
371272004-06-14 Robert Dewar <dewar@gnat.com>
37128
37129 * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
37130 elab entities in predefined units in No_Run_Time_Mode.
37131 (Gen_Adainit_C): Same fix
37132 (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
37133 units in No_Run_Time_Mode
37134 (Gen_Elab_Calls_C): Same fix
37135
37136 * symbols-vms-alpha.adb: Minor reformatting
37137
37138 * g-debpoo.ads: Minor reformatting
37139
37140 * lib.adb (In_Same_Extended_Unit): Version working on node id's
37141
37142 * lib.ads (In_Same_Extended_Unit): Version working on node id's
37143
37144 * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
37145 working on nodes.
37146
37147 * make.adb: Minor reformatting
37148
37149 * par-ch12.adb: Minor reformatting
37150
37151 * par-prag.adb: Add dummy entry for pragma Profile_Warnings
37152
37153 * prj-strt.adb: Minor reformatting
37154
37155 * restrict.ads, restrict.adb: Redo handling of profile restrictions to
37156 be more general.
37157
37158 * sem_attr.adb: Minor reformatting
37159
37160 * sem_ch7.adb: Minor reformatting
37161
37162 * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
37163 for type in the same unit as the object declaration.
37164
37165 * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
37166 static string expressions and not just string literals.
37167 Minor reformatting
37168 (Set_Warning): Reset restriction warning flag for restriction pragma
37169 Implement pragma Profile_Warnings
37170 Implement pragma Profile (Restricted)
37171 Give obolescent messages for old restrictions and pragmas
37172
37173 * snames.h, snames.ads, snames.adb: Add new entry for pragma
37174 Profile_Warnings.
37175
37176 * s-rident.ads: Add declarations for restrictions required by profile
37177 Restricted and profile Ravenscar.
37178
37179 * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
37180
37181 * gnat_ugn.texi: Correct some missing entries in the list of GNAT
37182 configuration pragmas.
37183
5453d5bd
AC
371842004-06-11 Vincent Celier <celier@gnat.com>
37185
37186 * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
37187 gnatsym, when symbol policy is Restricted.
37188
37189 * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
37190 gnatsym, when symbol policy is Restricted.
37191
37192 * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
37193 read the symbol file.
37194 (Finalize): Fail in symbol policy Restricted if a symbol in the original
37195 symbol file is not in the object files. Do not create a new symbol file
37196 when symbol policy is Restricted.
37197
37198 * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
37199 in Scng.
37200
37201 * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
37202 Restricted.
37203 (Usage): Line for new switch -R
37204
37205 * make.adb (Initialize): When the platform is not VMS, add the
37206 directory where gnatmake is invoked in the front of the path, if
37207 gnatmake is invoked with directory information. Change the Scan_Args
37208 while loop to a for loop.
37209 (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
37210 if Depth is equal or greater than the proposed depth, there is nothing
37211 to do.
37212 (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
37213 instead of 0.
37214
37215 * prj.ads: Add new symbol policy Restricted.
37216
37217 * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
37218 with the new parameters Check_All_Labels and Case_Location.
37219
37220 * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
37221 (Library_Symbol_File needs to be defined).
37222
37223 * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
37224 and Case_Location If Check_All_Labels is True, check that all values of
37225 the string type are used, and output warning(s) if they are not.
37226
37227 * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
37228 and Case_Location.
37229
37230 * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
37231
37232 * gnat_ugn.texi: Update documentation about the library directory in
37233 Library Projects.
37234
37235 * makegpr.adb (Display_Command): In verbose mode, also display the
37236 value of the CPATH env var, when the compiler is gcc.
37237 (Initialize): Change the Scan_Args while loop to a for loop
37238 (Compile_Individual_Sources): Change directory to object directory
37239 before compilations.
37240
37241 * symbols.ads: New symbol policy Restricted.
37242
372432004-06-11 Olivier Hainque <hainque@act-europe.fr>
37244
37245 * a-except.adb (Raise_After_Setup family): Remove. The responsibility
37246 is now taken care of internally in the Exception_Propagation package
37247 and does not require clients assistance any more.
37248
37249 * a-exexpr.adb (Is_Setup_And_Not_Propagated,
37250 Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
37251 functions. Helpers to maintain a predicate required in the handling of
37252 occurrence transfer between tasks.
37253 This is now handled internally and does not require clients assistance
37254 for the setup/propagate separation anymore.
37255 (Setup_Exception, Propagate_Exception): Simplify the Private_Data
37256 allocation strategy, handle the Setup_And_Not_Propagated predicate and
37257 document.
37258
37259 * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
37260 raise_after_setup, now that everything is handled internally within the
37261 setup/propagation engine.
37262
372632004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
37264
37265 * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
37266 Add additional conditions for the case of an actual being a simple
37267 name or literal. Improve inlining by preventing the generation
37268 of temporaries with a short lifetime (one use).
37269
372702004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
37271
37272 PR ada/15587
5453d5bd
AC
37273 * einfo.ads: Minor comment updates for Has_Completion and
37274 E_Constant list of flags.
37275
37276 * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
37277 and constant redeclarations now set the Has_Completion flag of their
37278 defining identifiers.
37279
37280 * sem_ch7.adb (Analyze_Package_Spec): Add procedure
37281 Inspect_Deferred_Constant_Completion.
37282 Used to detect private deferred constants that have not been completed
37283 either by a constant redeclaration or pragma Import. Emits error message
37284 "constant declaration requires initialization expression".
37285
37286 * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
37287 completes a deferred constant.
37288
372892004-06-11 Geert Bosch <bosch@gnat.com>
37290
37291 * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
37292
37293 * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
37294 calculating exponent for scaling denormal numbers.
37295 (Leading_Part): Properly raise Constraint_Error for zero or negative
37296 Adjustment.
37297 (Remainder): Properly raise Constraint_Error for zero divisor.
37298
372992004-06-11 Thomas Quinot <quinot@act-europe.fr>
37300
37301 * sem_util.adb: Minor reformatting.
37302
37303 * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
37304 dereference when accessing the entry parameter record.
37305 (Check_Array_Type): Always check for possible implicit dereference.
37306 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
37307 Abort if a pointer is still present (denoting that an implicit
37308 dereference was left in the tree by the front-end).
37309
37310 * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
37311 dereference when accessing the entry parameter record.
37312 (Check_Array_Type): Always check for possible implicit dereference.
37313 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
37314 Abort if a pointer is still present (denoting that an implicit
37315 dereference was left in the tree by the front-end).
37316
373172004-06-11 Emmanuel Briot <briot@act-europe.fr>
37318
37319 * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
37320 message, like the compiler itself does. Easier to parse the output.
37321
37322 * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
37323
37324 * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
37325 be base names, and not includes directories.
37326
373272004-06-11 Arnaud Charlet <charlet@act-europe.fr>
37328
37329 * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
37330 so that dependencies are properly taken into account by make.
37331
373322004-06-11 Arnaud Charlet <charlet@act-europe.fr>
37333
37334 PR ada/15622
37335 * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
37336 exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
37337
373382004-06-11 Jerome Guitton <guitton@act-europe.fr>
37339
37340 * Makefile.in (install-gnatlib): install target-specific run-time files.
37341
37342 * Make-lang.in: Remove obsolete targets.
37343
373442004-06-11 Ed Schonberg <schonberg@gnat.com>
37345
37346 * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
37347 specification, to catch misuses of program unit names.
37348
37349 * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
37350 superfluous conversions in an instance.
37351
373522004-06-11 Ed Schonberg <schonberg@gnat.com>
37353
37354 PR ada/15403
5453d5bd
AC
37355 * sem_ch12.adb (Save_References): If operator node has been folded to
37356 enumeration literal, associated_node must be discarded.
37357
373582004-06-11 Jose Ruiz <ruiz@act-europe.fr>
37359
37360 * s-stchop-vxworks.adb: Add required pragma Convention to
37361 Task_Descriptor because it is updated by a C function.
37362
a98f59be
AC
373632004-06-08 Arnaud Charlet <charlet@act-europe.fr>
37364
37365 PR ada/15568
a98f59be
AC
37366 * Makefile.in: Remove target specific SO_OPT on IRIX
37367
821e1ea1
RK
373682004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
37369
37370 * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
37371 (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
37372 (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
37373 (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
37374 (STMT_STMT, USE_STMT): New statement codes.
37375 (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
37376 * ada-tree.h: Reflect above changes.
15cd18b9 37377 (struct tree_loop_id): Deleted.
821e1ea1
RK
37378 (union lang_tree_node, struct lang_decl, struct lang_type):
37379 Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
37380 and DECL_LANGUAGE_SPECIFIC to reflect these changes.
37381 (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
37382 (IS_ADA_STMT): New macro.
37383 * decl.c (annotate_decl_with_node): New function.
37384 (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
37385 (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
37386 Call add_stmt_with_node to do needed assignments.
37387 Add call to update setjmp buffer directly, not via EXPR_STMT.
37388 (maybe_variable): Argment GNAT_NODE deleted.
37389 * gigi.h (maybe_variable): Likewise.
37390 (make_transform, add_stmt_with_node, set_block_for_group): New.
37391 (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
37392 (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
37393 (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
37394 (set_lineno, set_lineno_from_sloc): Likewise.
37395 (record_code_position, insert_code_for): Likewise.
37396 (gnat_poplevel): Now returns void.
37397 (end_subprog_body): Now takes argument.
37398 * misc.c (cgraph.h, tree-inline.h): New includes.
37399 (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
37400 (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
37401 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
37402 (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
37403 (gnat_parse_file): Don't set immediate_size_expand.
37404 Call cgraph functions.
37405 (gnat_expand_expr): Remove most cases.
37406 (record_code_position, insert_code_for): Remove from here.
37407 * trans.c (toplev.h, tree-gimple.h): Now included.
37408 (discard_file_names): Deleted.
37409 (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
37410 (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
37411 (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
37412 (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
37413 (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
37414 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
37415 (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
37416 (set_block_for_group, add_stmt_list): Likewise.
37417 (start_stmt_group): Renamed from start_block_stmt.
37418 (end_stmt_group): Likewise, from end_block_stmt.
37419 (build_stmt_group): Likewise, from build_block_stmt, also add arg.
37420 (gigi): Don't set discard_file_names or call set_lineno.
37421 Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
37422 (tree_transform): Deleted, now renamed to be gnat_to_gnu.
37423 Numerous changes throughout to reflect new names and complete
37424 function-at-a-time implementation.
37425 (gnat_expand_stmt): Delete or comment out all cases.
37426 (process_inlined_subprograms): Use add_stmt.
37427 (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
37428 call set_lineno; also remove unneeded block handling.
37429 (process_type): Remove unneeded block handling.
37430 (build_unit_elab): Remove calls to deleted functions.
37431 * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
37432 (tree-dump.h): Likewise.
37433 (struct ada_binding_level): Add field jmpbuf_decl.
37434 (gnat_define_builtin, gnat_install_builtins): New.
37435 (gnat_gimplify_function, gnat_finalize): Likewise.
37436 (gnat_poplevel): No longer return BLOCK, set it instead.
37437 Remove code dealing with nested functions.
37438 (gnat_init_decl_processing): Also set size_type_node.
37439 Call gnat_install_builtins.
37440 (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
37441 (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
37442 Remove special-case for "main".
37443 (end_subprog_body): Add arg and rework for tree-ssa.
37444 (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
37445 Add case for BOOLEAN_TYPE.
37446 * utils2.c (rtl.h): Now include.
37447 (build_call_raise): Test Debug_Flag_NN directly.
37448 (build_call_alloc_dealloc): Don't use local stack allocation for now.
37449 (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
37450 (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
37451
0ab80019
AC
374522004-06-07 Robert Dewar <dewar@gnat.com>
37453
37454 * a-direct.ads, einfo.ads: Minor comment updates
37455
37456 * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
37457 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
37458 s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
37459 s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
37460 s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
37461
37462 * s-interr-sigaction.adb: Remove unreferenced variable
37463 (Attached_Interrupts). Minor reformatting.
37464 Avoid use of variable I (replace by J).
37465
37466 * par-ch10.adb: Fix text of one error message
37467
37468 * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
37469 exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
37470 exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
37471 opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
37472 par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
37473 par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
6615c446 37474 sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
0ab80019
AC
37475 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
37476 sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
37477 sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
37478 snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
37479 2005 support.
37480
374812004-06-07 Doug Rupp <rupp@gnat.com>
37482
37483 * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
37484
37485 * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
37486
37487 * mlib-tgt-vms-ia64.adb: New file.
37488
37489 * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
37490 Add mlib-tgt-vms-ia64.adb
37491 Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
37492 Move to alpha specific ifeq section.
37493 Add VMS specific versions of symbols.adb
37494 Renaming of 5q vms files.
37495
37496 * 5qsystem.ads renamed to system-vms_64.ads.
37497
374982004-06-07 Vincent Celier <celier@gnat.com>
37499
37500 * a-calend.ads: Add a GNAT Note comment after function Time_Of to
37501 explain that when a time of day corresponding to the non existing hour
37502 on the day switching to DST is specified, Split may return a different
37503 value for Seconds.
37504
37505 * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
37506 to GNAT PRETTY.
37507
37508 * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
37509 (Normalize_Pathname): Only resolve VMS logical names when on VMS.
37510
37511 * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
37512 to False.
37513 If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
37514 the linking options.
37515 (Build_Library.Check_Libs): On VMS, if there is a dependency on
37516 g-trasym.ads, set Gtrasymobj_Needed to True.
37517
37518 * prj-attr.adb: Add new package Metrics for gnatmetric
37519
37520 * prj-nmsc.adb (Record_Other_Sources): Put source file names in
37521 canonical case to take into account files with upper case characters on
37522 Windows.
37523 (Ada_Check): Load the reference symbol file name in the name buffer to
37524 check it, not the symbol file name.
37525
37526 * snames.ads, snames.adb: Add standard name Metrics (name of project
37527 file package for gnatmetric).
37528
37529 * vms_conv.ads: Add Metric to Comment_Type
37530
37531 * vms_conv.adb (Initialize): Add component dor Metric in Command_List
37532
37533 * vms_data.ads: Add qualifiers for GNAT METRIC
37534
37535 * makegpr.adb (Link_Executables): Take into account the switches
37536 specified in package Linker of the main project.
37537
375382004-06-07 Thomas Quinot <quinot@act-europe.fr>
37539
37540 * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
37541 the index of the last element is Units.Last, not Units.Table'Last
37542 (which is usually not a valid index within the actually allocated
37543 storage for the table).
37544
37545 * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
37546 determines whether to generate a call to a checked storage pool
37547 Dereference action.
37548 Generate such a call only for a dereference that either comes from
37549 source, or is the result of rewriting a dereference that comes from
37550 source.
37551
375522004-06-07 Romain Berrendonner <berrendo@act-europe.fr>
37553
37554 * bindgen.adb (Gen_Output_File): Add support for GAP builds.
37555
375562004-06-07 Eric Botcazou <ebotcazou@act-europe.fr>
37557
37558 (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
37559 file level, elaborate the stride for inner dimensions in alignment
37560 units, not bytes.
37561
37562 * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
37563 in a comment.
37564
375652004-06-07 Javier Miranda <miranda@gnat.com>
37566
37567 * exp_ch6.adb: Correct wrong modification in previous patch
37568
375692004-06-07 Vasiliy Fofanov <fofanov@act-europe.fr>
37570
37571 * g-trasym.ads: Corrected comment to properly reflect level of support
37572 on VMS.
37573
375742004-06-07 Hristian Kirtchev <kirtchev@gnat.com>
37575
37576 * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
37577 includes case of a variable referenced on the left hand side of an
37578 assignment, therefore remove redundant code. Variables and prefixes of
37579 indexed or selected components are now marked as referenced on left
37580 hand side. Warnings are now properly emitted when variables or prefixes
37581 are assigned but not read.
37582
37583 * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
37584 left hand side referenced variables. Private access types do not
37585 produce the warning "variable ... is assigned but never read".
37586 Add also additional checks to left hand side referenced variables.
37587 Aliased, renamed objects and access types do not produce the warning
37588 "variable ... is assigned but never read" since other entities may read
37589 the memory location.
37590
375912004-06-07 Jerome Guitton <guitton@act-europe.fr>
37592
37593 * Makefile.in: In the powerpc/vxworks-specific section, restore
37594 EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
37595 by mistake).
37596
375972004-06-07 Ed Schonberg <schonberg@gnat.com>
37598
37599 * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
37600 predefined operators.
37601 Removes spurious type errors from g-trasym-vms.adb.
37602
37603 * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
37604 distinct from the operator appearing in the source, call appropriate
37605 routine to insert conversions when needed, and complete resolution of
37606 node.
37607 (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
37608 interpretations for rewritten right operand.
37609 (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
37610 the other operand is overloaded and the context is a type conversion.
37611
376122004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
37613
37614 * ada-tree.def (BLOCK_STMT): Now has two operands.
37615 (BREAK_STMT): New.
37616
37617 * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
37618
37619 * gigi.h: (gnat_poplevel): Now returns a tree.
37620
37621 * trans.c (end_block_stmt): Add arg; all callers changed.
37622 (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
37623 (start_block_stmt): Clear BLOCK_STMT_BLOCK.
37624 (add_stmt): Set TREE_TYPE.
37625 (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
37626 (gnat_expand_stmt, case BREAK_STMT): New case.
37627
37628 * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
37629
376302004-06-07 Jose Ruiz <ruiz@act-europe.fr>
37631
37632 * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
37633 procedure Set_Stack_Size that is not needed.
37634
376352004-06-07 Sergey Rybin <rybin@act-europe.fr>
37636
37637 * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
37638 used for gnatpp input file and for the files upon which it depends
37639
376402004-06-07 Ben Brosgol <brosgol@gnat.com>
37641
37642 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
37643
376442004-06-07 Arnaud Charlet <charlet@act-europe.fr>
37645
37646 * gnatvsn.ads: Bump version numbers appropriately.
37647 Add new build type.
37648
376492004-06-07 Pascal Obry <obry@gnat.com>
37650
37651 * gnat_ugn.texi: Improve comments about imported names and link names
37652 on Windows. Add a note about the requirement to use -k gnatdll's option
37653 when working with a DLL which has stripped stdcall symbols (no @nn
37654 suffix).
37655
8a36a0cc
AC
376562004-05-27 Vincent Celier <celier@gnat.com>
37657
37658 * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
37659 COMMENTS_LAYOUT=UNTOUCHED
37660
37661 * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
37662 symbols-vms-alpha.adb
37663
376642004-05-27 Thomas Quinot <quinot@act-europe.fr>
37665
37666 * sem.ads: Clarify documentation on checks suppression.
37667
37668 * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
37669
376702004-05-27 Ed Schonberg <schonberg@gnat.com>
37671
37672 * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
37673 the case of multiple derivations.
37674 (Is_Object_Reference): For a selected component, verify that the prefix
37675 is itself an object and not a value.
37676
37677 * sem_ch12.adb (Same_Instantiated_Constant): New name for
37678 Same_Instantiated_Entity.
37679 (Same_Instantiated_Variable): Subsidiary to
37680 Check_Formal_Package_Instance, to recognize actuals for in-out generic
37681 formals that are obtained from a previous formal package.
37682 (Instantiate_Subprogram_Body): Emit proper error when
37683 generating code and the proper body of a stub is missing.
37684
37685 * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
37686 has a universal interpretation, do the disambiguation here.
37687
37688 * exp_ch4.adb (Expand_N_Type_Conversion,
37689 Expand_N_Unchecked_Type_Conversion): Special handling when target type
37690 is Address, to avoid typing anomalies when Address is a visible integer
37691 type.
37692
37693 * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
37694 to determine whether a subprogram should not be marked Pure, even when
37695 declared in a pure package.
37696
376972004-05-27 Jose Ruiz <ruiz@act-europe.fr>
37698
37699 * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
37700
37701 * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
37702 Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
37703 Update the documentation about the Ravenscar profile, following the
37704 definition found in AI-249.
37705
37706 * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
37707 setting the Profile (Ravenscar). This must be done in addition to
37708 setting the required restrictions.
37709
37710 * rtsfind.ads: Add the set of operations defined in package
37711 Ada.Interrupts.
37712
37713 * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
37714 restriction.
37715
377162004-05-27 Eric Botcazou <ebotcazou@act-europe.fr>
37717
37718 lang-specs.h: Always require -c or -S and always redirect to /dev/null
37719 if -gnatc or -gnats is passed.
37720
377212004-05-27 Hristian Kirtchev <kirtchev@gnat.com>
37722
37723 * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
37724 a significant reference. Warnings are now properly emitted when a
37725 discriminated type is not referenced.
37726
37727 * lib-xref.adb (Generate_Reference): A deferred constant completion,
37728 record representation clause or record type discriminant does not
37729 produce a reference to its corresponding entity. Warnings are now
37730 properly emitted when deferred constants and record types are not
37731 referenced.
37732
377332004-05-27 Geert Bosch <bosch@gnat.com>
37734
37735 * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
37736 Fixes ACATS Annex G tests.
37737
377382004-05-27 Robert Dewar <dewar@gnat.com>
37739
37740 * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
37741 handling WITH
37742
377432004-05-27 Arnaud Charlet <charlet@act-europe.fr>
37744
37745 * s-interr.adb (Server_Task): Take into account case of early return
37746 from sigwait under e.g. linux.
37747
377482004-05-27 Sergey Rybin <rybin@act-europe.fr>
37749
37750 * gnat_ugn.texi: Add description for the new gnatpp options:
37751 -rnb - replace the original source without creating its backup copy
37752 -c0 - do not format comments
37753
0fb2ea01
AC
377542004-05-24 Geert Bosch <bosch@gnat.com>
37755
37756 * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
37757 with 192 bits of precision, sufficient to reduce a double-extended
37758 arguments X with a maximum relative error of T'Machine_Epsilon, for X
37759 in -2.0**32 .. 2.0**32.
37760 (Cos, Sin): Always reduce arguments of 1/4 Pi or larger, to prevent
37761 reduction by the processor, which only uses a 68-bit approximation of
37762 Pi.
37763 (Tan): Always reduce arguments and compute function either using
37764 the processor's fptan instruction, or by dividing sin and cos as needed.
37765
377662004-05-24 Doug Rupp <rupp@gnat.com>
37767
37768 * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
37769 gcc error on 32/64 bit VMS.
37770
377712004-05-24 Olivier Hainque <hainque@act-europe.fr>
37772
37773 * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
37774 since this is what we get for stack overflows although not documented
37775 as such.
37776 Document the issues which may require adjustments to our signal
37777 handlers.
37778
377792004-05-24 Ed Schonberg <schonberg@gnat.com>
37780
37781 * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
37782 enclosing dynamic scope if the instantiation is within a generic unit.
37783
377842004-05-24 Arnaud Charlet <charlet@act-europe.fr>
37785
37786 * exp_dbug.ads: Fix typo.
37787
37788 * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
37789 Rename it to its proper name: system-linux-ia64.ads
37790 (stamp-gnatlib1): Remove extra target specific run time files when
37791 setting up the rts directory.
37792
377932004-05-24 Javier Miranda <miranda@gnat.com>
37794
37795 * einfo.ads, einfo.adb (Limited_Views): Removed.
37796 (Limited_View): New attribute that replaces the previous one. It is
37797 now a bona fide package with the limited-view list through the
37798 first_entity and first_private attributes.
37799
37800 * sem_ch10.adb (Install_Private_With_Clauses): Give support to
37801 limited-private-with clause.
37802 (Install_Limited_Withed_Unit): Install the private declarations of a
37803 limited-private-withed package. Update the installation of the shadow
37804 entities according to the new structure (see Build_Limited_Views)
37805 (Build_Limited_Views): Replace the previous implementation of the
37806 limited view by a package entity that references the first shadow
37807 entity plus the first shadow private entity (required for limited-
37808 private-with clause)
37809 (New_Internal_Shadow_Entity): Code cleanup.
37810 (Remove_Limited_With_Clause): Update the implementation to undo the
37811 new work carried out by Build_Limited_Views.
37812 (Build_Chain): Complete documentation.
37813 Replace Ada0Y by Ada 0Y in comments
37814 Minor reformating
37815
37816 * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
37817 types the level of accessibility depends on the enclosing type
37818 declaration.
37819
37820 * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
37821 entities. Complete documentation of previous change.
37822
378232004-05-24 Robert Dewar <dewar@gnat.com>
37824
37825 * namet.adb: Minor reformatting
37826 Avoid use of name I (replace by J)
37827 Minor code restructuring
37828
37829 * sem_ch6.adb: Minor reformatting
37830
37831 * lib-writ.adb: Do not set restriction as active if this is a
37832 Restriction_Warning case.
37833
37834 * sem_prag.adb: Reset restriction warning flag if real pragma
37835 restriction encountered.
37836
37837 * s-htable.adb: Minor reformatting
37838 Change rotate count to 3 in Hash (improves hash for small strings)
37839
37840 * 5qsystem.ads: Add comments for type Address (no literals allowed).
37841
37842 * gnat_ugn.texi: Add new section of documentation "Code Generation
37843 Control", which describes the use of -m switches.
37844
378452004-05-24 Eric Botcazou <ebotcazou@act-europe.fr>
37846
a1db9d9c
AC
37847 trans.c (tree_transform) <N_Identifier>: Do the dereference directly
37848 through the DECL_INITIAL for renamed variables.
0fb2ea01 37849
7599f1b0
AC
378502004-05-24 Arnaud Charlet <charlet@act-europe.fr>
37851
37852 * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
37853
c37bb106
AC
378542004-05-19 Joel Brobecker <brobecker@gnat.com>
37855
37856 * exp_dbug.ads: Correct comments concerning handling of overloading,
37857 since we no longer use $ anymore.
37858
378592004-05-19 Sergey Rybin <rybin@act-europe.fr>
37860
37861 * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
37862 ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
37863 with illegal subunits.
37864
378652004-05-19 Ed Schonberg <schonberg@gnat.com>
37866
37867 * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
37868 body with front-end inlining enabled, check whether an inline pragma
37869 appears immediately after the body and applies to it.
37870
37871 * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
37872 enabled and the pragma appears after the body of the subprogram.
37873
b5e792e2
AC
378742004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
37875
37876 Part of function-at-a-time conversion
37877
37878 * misc.c (adjust_decl_rtl): Deleted.
37879 (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
37880 Define.
37881
37882 * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
37883 (add_decl_stmt, add_stmt, block_has_vars): New functions.
37884 (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
37885
37886 * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
37887 when making a decl.
37888 (gnat_to_gnu_entity): Likewise.
37889 Use add_stmt to update setjmp buffer.
37890 Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
37891 flush_addressof.
37892 No longer call adjust_decl_rtl.
37893 (DECL_INIT_BY_ASSIGN_P): New macro.
37894 (DECL_STMT_VAR): Likewise.
37895
37896 * trans.c (gigi): Call start_block_stmt to make the outermost
37897 BLOCK_STMT.
37898 (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
37899 Call start_block_stmt and end_block_stmt temporarily.
37900 Use gnat_expand_stmt instead of expand_expr_stmt.
37901 (add_decl_stmt): New function.
37902 (tree_transform): Call it.
37903 (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
37904 (end_block_stmt): Set type and NULL_STMT.
37905 (gnat_expand_stmt): Make recursize call instead of calling
37906 expand_expr_stmt.
37907 (gnat_expand_stmt, case DECL_STMT): New case.
37908 (set_lineno_from_sloc): Do nothing if global.
37909 (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
37910 (start_block_stmt, add_stmt, end_block_stmt): New functions.
37911 (build_block_stmt): Call them.
37912 (gnat_to_code): Don't expand NULL_STMT.
37913 (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
37914 args.
37915 (tree_transform): Likewise.
37916 (tree_transform, case N_Null_Statement): Return NULL_STMT.
37917 (gnat_expand_stmt, case NULL_STMT): New case.
37918 (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
37919 IF_STMT_TRUE.
37920
37921 * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
37922 TREE_ADDRESSABLE.
37923
37924 * utils.c (create_var_decl): Do not call expand_decl or
37925 expand_decl_init.
37926 Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
37927 Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
37928 here.
37929 (struct e_stack): Add chain_next to GTY.
37930 (struct binding_level): Deleted.
37931 (struct ada_binding_level): New struct.
37932 (free_block_chain): New.
37933 (global_binding_level, clear_binding_level): Deleted.
37934 (global_bindings_p): Rework to see if no chain.
37935 (kept_level_p, set_block): Deleted.
37936 (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
37937 new data structure and work directly on BLOCK node.
37938 (gnat_poplevel): Similarly.
37939 (get_decls): Look at BLOCK_VARS.
37940 (insert_block): Work directly on BLOCK node.
37941 (block_has_var): New function.
37942 (pushdecl): Rework for new binding structures.
37943 (gnat_init_decl_processing): Rename and rework calls to pushlevel and
37944 poplevel.
37945 (build_subprog_body): Likewise.
37946 (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
37947
37948 * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
37949
37950 * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
37951 (DECL_STMT_VAR): Likewise.
37952
379532004-05-17 Robert Dewar <dewar@gnat.com>
37954
37955 * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
37956 procedure
37957
37958 * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
37959 of restriction synonyums by using
37960 Restrict.Process_Restriction_Synonyms.
37961
37962 * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
37963
37964 * s-restri.ads (Tasking_Allowed): Correct missing comment
37965
37966 * s-rident.ads: Add entries for restriction synonyms
37967
37968 * ali.adb: Fix some problems with badly formatted ALI files that can
37969 result in infinite loops.
37970
37971 * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
37972 s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
37973 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
37974 s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
37975 s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
37976 s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
37977 s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
37978 s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
37979 s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
37980 a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
37981 exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
37982 s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
37983 s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
37984 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
37985 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
37986 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
37987 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
37988 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
37989 s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
37990 s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
37991 to Task_Id (minor cleanup).
37992
379932004-05-17 Vincent Celier <celier@gnat.com>
37994
37995 * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
37996 directory separator.
37997
37998 * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
37999 project being extended, if Languages is not declared in extending
38000 project.
38001
380022004-05-17 Javier Miranda <miranda@gnat.com>
38003
38004 * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
38005 limited view of a visible sibling.
38006
9bc856dd
AC
380072004-05-14 Robert Dewar <dewar@gnat.com>
38008
38009 * gnat_ugn.texi: Minor change to -gnatS documentation
38010
38011 * sprint.adb: Remove some instances of Assert (False) and for this
38012 purpose replace them by output of a ??? string.
38013
38014 * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
38015 Assert (False).
38016
38017 * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
38018 flag processing. This was suppressing required dependencies in
38019 No_Run_Time mode and is not needed since the binder does not generate
38020 references for things in libgnat anyway.
38021
38022 * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
38023 warning.
38024
380252004-05-14 Thomas Quinot <quinot@act-europe.fr>
38026
38027 * gnat_ugn.texi: Document AIX-specific issue with initialization of
38028 resolver library.
38029
38030 * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
38031 action for the case of an actual parameter in an init proc call.
38032
380332004-05-14 Ed Schonberg <schonberg@gnat.com>
38034
38035 * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
38036 subtype, check visible entities in base type.
38037
38038 * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
38039 actions if the object is a renaming.
38040
38041 * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
38042 Check_Formal_Package_Instance, to determine more precisely when the
38043 formal and the actual denote the same entity.
38044
380452004-05-14 Javier Miranda <miranda@gnat.com>
38046
38047 * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
38048
38049 * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
38050 corresponding to a private_with must be removed from visibility; it
38051 will be made visible later, just before we analyze the private part of
38052 the package.
38053 (Check_Private_Child_Unit): Allow private_with clauses in public
38054 siblings.
38055 (Install_Siblings): Make visible the private entities of private-withed
38056 siblings.
38057 (Install_Withed_Unit): Do not install the private withed unit if we
38058 are compiling a package declaration and the Private_With_OK flag was
38059 not set by the caller. These declarations will be installed later,
38060 just before we analyze the private part of the package.
38061
38062 * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
38063 during the evaluation of the expression that initializes the object,
38064 decorate it with the expected type to avoid cascade errors.
38065 Code cleanup.
38066
38067 * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
38068 subprogram we have to install the private_with clauses after its
38069 specification has been analyzed (as documented in AI-262.TXT).
38070
38071 * sem_ch8.adb (Has_Private_With): New function. Determines if the
38072 current compilation unit has a private with on a given entity.
38073 (Find_Direct_Name): Detect the Beaujolais problem described in
38074 AI-262.TXT
38075
38076 * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
38077 provides the functionality of the function Is_Ancestor that was
38078 previously available in sem_ch10. It has been renamed to avoid
38079 overloading.
38080
38081 * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
38082
380832004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
38084
38085 * utils.c (build_vms_descriptor): Use SImode pointers.
38086
380872004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr>
38088
38089 * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
38090
380912004-05-14 GNAT Script <nobody@gnat.com>
38092
38093 * Make-lang.in: Makefile automatically updated
38094
084c663c
AC
380952004-05-14 Arnaud Charlet <charlet@act-europe.fr>
38096
38097 Renaming of target specific files for clarity
38098
6615c446 38099 * Makefile.in: Rename GNAT target specific files.
084c663c
AC
38100
38101 * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
38102 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
38103 3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
38104 3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
38105 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
38106 3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
38107 42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
38108 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
38109 4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
38110 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
38111 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
38112 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
38113 51osinte.adb, 51osinte.ads, 51system.ads,
38114 52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
38115 55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
38116 56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
38117 56tpopsp.adb, 57system.ads, 58system.ads,
38118 5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
38119 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
38120 5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
38121 5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
38122 5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
38123 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
38124 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
38125 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
38126 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
38127 5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
38128 5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
38129 5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
38130 5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
38131 5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
38132 5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
38133 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
38134 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
38135 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
38136 5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
38137 5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
38138 5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
38139 5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
38140 5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
38141 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
38142 5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
38143 5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
38144 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
38145 5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
38146 5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
38147 5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
38148 5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
38149 5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
38150 5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
38151 5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
38152 5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
38153 5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
38154 7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
38155 7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
38156 7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
38157 7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
38158
38159 * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
38160 a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
38161 a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
38162 a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
38163 a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
38164 a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
38165 a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
38166 a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
38167 a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
38168 a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
38169 g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
38170 g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
38171 g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
38172 g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
38173 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
38174 g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
38175 g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
38176 g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
38177 interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
38178 mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
38179 mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
38180 mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
38181 s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
38182 s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
38183 s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
38184 s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
38185 s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
38186 s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
38187 s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
38188 s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
38189 s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
38190 s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
38191 s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
38192 s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
38193 s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
38194 s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
38195 s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
38196 s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
38197 s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
38198 s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
38199 s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
38200 s-osinte-vms.ads, s-osinte-vxworks.adb,
38201 s-osinte-vxworks.ads, s-osprim-mingw.adb,
38202 s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
38203 s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
38204 s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
38205 s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
38206 s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
38207 s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
38208 s-stchop-vxworks.adb, s-taprop-dummy.adb,
38209 s-taprop-hpux-dce.adb, s-taprop-irix.adb,
38210 s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
38211 s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
38212 s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
38213 s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
38214 s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
38215 s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
38216 s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
38217 s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
38218 s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
38219 s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
38220 s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
38221 s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
38222 s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
38223 s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
38224 s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
38225 s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
38226 s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
38227 symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
38228 system-hpux.ads, system-interix.ads, system-irix-n32.ads,
38229 system-irix-o32.ads, system-linux-x86_64.ads,
38230 system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
38231 system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
38232 system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
38233 system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
38234 system-vxworks-alpha.ads, system-vxworks-m68k.ads,
38235 system-vxworks-mips.ads, system-vxworks-ppc.ads,
38236 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
38237 above.
38238
90afe2c9
ZW
382392004-05-13 Zack Weinberg <zack@codesourcery.com>
38240
38241 * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
38242
6de9cd9a
DN
382432004-05-13 Diego Novillo <dnovillo@redhat.com>
38244
38245 Merge from tree-ssa-20020619-branch.
38246
38247 * config-lang.in (boot_language, build_by_default): Set
38248 to no.
38249 * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
38250 (max_size): Add static chain op for call_expr.
38251
f5657d67
RS
382522004-05-12 Richard Sandiford <rsandifo@redhat.com>
38253
38254 PR target/15331
38255 * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
38256
4413b636
RS
382572004-05-11 Roger Sayle <roger@eyesopen.com>
38258
38259 * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
38260 COND_EXPR.
38261
5950a3ac
AC
382622004-05-10 Doug Rupp <rupp@gnat.com>
38263
38264 * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
38265 system.aux_dec.
38266
38267 * s-auxdec.ads: Add Short_Address subtype (moved here from System).
38268
38269 * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
38270
38271 * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
38272 Fixes undefined symbols in IA64 gnatlib.
38273
38274 * 5vinmaop.adb: Reference s-auxdec for Short_Address.
38275
38276 * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
38277 Short_Address). This will be moved to system.auxdec.
38278
382792004-05-10 Thomas Quinot <quinot@act-europe.fr>
38280
38281 * sem_util.adb: Replace test for presence of a node that is always
38282 present with a call to Discard_Node.
38283
38284 * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
38285 Analyze on the library unit node after generation of distribution stub
38286 constructs. The call was a no-op because Unit_Node has already been
38287 Analyzed, and the tree fragments for the distribution stubs are
38288 analyzed as they are inserted in Exp_Dist.
38289 Update comment regarding to distribution stubs to reflect that we
38290 do not generate stub in separate files anymore.
38291
38292 * einfo.ads: Clarify the fact that a tagged private type has the
38293 E_Record_Type_With_Private Ekind.
38294
38295 * erroutc.adb: Minor reformatting
38296
38297 * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
38298 values if line length is increased using -gnatyM (noticed during code
38299 reading).
38300
38301 * eval_fat.adb: Minor reformatting
38302 Put spaces around exponentiation operator
38303
383042004-05-10 Ed Schonberg <schonberg@gnat.com>
38305
38306 PR ada/15005
38307 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
38308 has been rewritten as an explicit dereference, retrieve type of
38309 original node to check for possibly unconstrained record type.
38310
383112004-05-10 Ed Schonberg <schonberg@gnat.com>
38312
38313 * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
38314 overriding, use the operation of the parent unconditionally.
38315
38316 * sem_ch4.adb (Remove_Address_Interpretations): Remove address
38317 operation when either operand is a literal, to avoid further
38318 ambiguities.
38319
38320 * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
38321 overridden by a previous explicit declaration, mark the previous entity
38322 as overriding.
38323
38324 * sem_disp.adb (Check_Dispatching_Operation): New predicate
38325 Is_Visibly_Controlled, to determine whether a declaration of a
38326 primitive control operation for a derived type overrides an inherited
38327 one. Add warning if the explicit declaration does not override.
38328
383292004-05-10 Vincent Celier <celier@gnat.com>
38330
38331 * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
38332 some cases when the sources are no longer present.
38333
38334 * make.adb (Collect_Arguments): Fail if an external source, not part
38335 of any project need to be compiled, when switch -x has not been
38336 specified.
38337
38338 * makeusg.adb: Document new switch -x
38339
38340 * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
38341 defaulted to False.
38342
38343 * switch-m.adb (Scan_Make_Switches): New switch -x
38344
38345 * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
38346 gnatmake switch -x.
38347
38348 * gnat_ugn.texi: Document new gnatmake switch -x
38349
383502004-05-10 Eric Botcazou <ebotcazou@act-europe.fr>
38351
38352 * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
38353
38354 * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
38355 (process_attributes): Likewise.
38356
383572004-05-10 Joel Brobecker <brobecker@gnat.com>
38358
38359 * s-inmaop.ads: Fix spelling mistake in one of the comments.
38360
383612004-05-10 Robert Dewar <dewar@gnat.com>
38362
38363 * gnat_ugn.texi: Document that for config pragma files, the maximum
38364 line length is always 32767.
38365
38366 * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
38367 literals is now allowed.
38368
38369 * gnat-style.texi: Remove statement about splitting long lines before
38370 an operator rather than after, since we do not follow this rule at all.
38371 Clarify rule (really lack of rule) for spaces around exponentiation
38372
38373 * sem_elim.adb: Allow concatenation of string literals as well as a
38374 single string literal for pragma arguments.
38375
38376 * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
38377
38378 * a-textio.adb (Terminate_Line): Do not add line feed if nothing
38379 written for append case.
38380
38381 * frontend.adb: Changes to avoid checking max line length in config
38382 pragma files.
38383
38384 * g-os_lib.ads: Minor reformatting
38385
38386 * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
38387 wrong in any case. Instead use standard value. Noticed during code
38388 reading.
38389
38390 * opt.ads (Max_Line_Length): New field, used to implement removal of
38391 limitation on length of lines when scanning config pragma files.
38392
38393 * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
38394 makeutl.ads, makeutl.adb: Minor reformatting
38395
38396 * scn.adb: Do not check line length while scanning config pragma files
38397 Do not check line length while scanning out license information
38398
38399 * scng.adb: Changes to avoid line length checks while parsing config
38400 pragma files.
38401
384022004-05-10 GNAT Script <nobody@gnat.com>
38403
38404 * Make-lang.in: Makefile automatically updated
38405
48664302
AC
384062004-05-05 Arnaud Charlet <charlet@act-europe.fr>
38407
38408 * osint.adb (Find_Program_Name): Fix handling of VMS version
38409 number.
38410
aa720a54
AC
384112004-05-05 Emmanuel Briot <briot@act-europe.fr>
38412
38413 * g-os_lib.ads (Invalid_Time): New constant
38414
38415 * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
38416 return OS_Time instead of time_t to match what is imported by Ada.
38417 Now return -1 if the file doesn't exist, instead of a random value
38418
384192004-05-05 Robert Dewar <dewar@gnat.com>
38420
38421 * usage.adb: Add line for -gnatR?s switch
38422
38423 * sem_ch13.adb, exp_ch2.adb: Minor reformatting
38424
38425 * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
38426 and for Match (Data_First, Data_last)
38427
38428 * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
38429 written when we are dealing with multi-unit files.
38430
384312004-05-05 Jerome Guitton <guitton@act-europe.fr>
38432
38433 * Makefile.in: Remove unused targets and variables.
38434
384352004-05-05 Vincent Celier <celier@gnat.com>
38436
38437 * switch-m.adb: New gnatmake switch -eI
38438
38439 * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
38440 of new gnatmake switch -eInnn.
38441
38442 * makegpr.adb: Take into account new parameters Index and Src_Index in
38443 Prj.Util.
38444
38445 * clean.adb: Implement support for multi-unit sources, including new
38446 switch -i.
38447
38448 * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
38449 Src_Index.
38450
38451 * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
38452 (Extract_From_Q): New out parameter Index
38453 (Mark, Is_Marked): Subprograms moved to Makeutl
38454 (Switches_Of): New parameter Source_Index
38455 (Add_Switch): New parameter Index
38456 (Check): New parameter Source_Index
38457 (Collect_Arguments): New parameter Source_Index
38458 (Collect_Arguments_And_Compile): New parameter Source_Index
38459 (Compile): New parameter Source_Index
38460 Put subprograms in alphabetical order
38461 Add support for multi-source sources, including in project files.
38462
38463 * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
38464 (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
38465 Make.
38466
38467 * makeusg.adb: New gnatmake switch -eInnn
38468
38469 * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
38470 Prj.Util.Value_Of.
38471
38472 * opt.ads (Main_Index): New variable, defaulted to 0.
38473
38474 * osint.ads, osinte.adb (Add_File): New parameter Index
38475 (Current_Source_Index): New function
38476
38477 * prj.adb: Take into account new components Index and Src_Index
38478
38479 * prj.ads (String_Element): New component Index
38480 (Variable_Value): New component Index
38481 (Array_Element): New component Src_Index
38482
38483 * prj-attr.adb: Indicate that optional index may be specified for
38484 attributes Main, Executable, Spec, Body and some of Switches.
38485
38486 * prj-attr.ads (Attribute_Kind): New values for optional indexes
38487 (Attribute_Record): New component Optional_Index
38488
38489 * prj-com.ads (File_Name_Data): New component Index
38490
38491 * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
38492
38493 * prj-env.adb (Put): Output optional index
38494
38495 * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
38496 attributes Spec and Body.
38497
38498 * prj-nmsc.adb: Process optional indexes
38499
38500 * prj-pp.adb: Ouput "at" for optional indexes
38501
38502 * prj-proc.adb: Take into account optional indexes
38503
38504 * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
38505 Optional_Index. For string literal,
38506 process optional index when Optional_Index is True.
38507 (Parse_Expresion): New Boolean parameter Optional_Index
38508
38509 * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
38510 (Set_Source_Index_Of): New procedure
38511
38512 * prj-util.adb (Executable_Of, Value_Of): Take into account optional
38513 index.
38514
38515 * prj-util.ads (Executable_Of): New parameter Index
38516 (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
38517 New parameter Src_Index, defaulted to 0.
38518
385192004-05-05 Ed Schonberg <schonberg@gnat.com>
38520
38521 PR ada/15257
38522 * sem_ch3.adb (Access_Definition): If this is an access parameter
38523 whose designated type is imported through a limited_with clause, do
38524 not add the enclosing subprogram to the list of private dependents of
38525 the type.
38526
385272004-05-05 Ed Schonberg <schonberg@gnat.com>
38528
38529 PR ada/15258
38530 * sem_ch6.adb (Base_Types_Match): True if one type is imported through
38531 a limited_with clause, and the other is its non-limited view.
38532
385332004-05-05 Thomas Quinot <quinot@act-europe.fr>
38534
38535 * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
38536
90afe2c9 38537 * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
aa720a54
AC
38538 exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
38539 Stand.Boolean_Literals to produce references to entities
38540 Standard_False and Standard_True from compile-time computed boolean
38541 values.
38542
38543 * stand.ads (Boolean_Literals): New variable, provides the entity
38544 values for False and True, for use by the expander.
38545
385462004-05-05 Doug Rupp <rupp@gnat.com>
38547
38548 * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
38549 5vinmaop.adb: Unchecked convert Short_Address vice Address
38550
38551 * adaint.c, raise.c: Caste CRTL function return value
38552 to avoid gcc error on 32/64 bit IVMS.
38553
38554 * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
38555 target = IA64/VMS.
38556
38557 * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
38558
38559 * 5qsystem.ads (Address): Declare as Long_Integer
38560 (Short_Address): Declare as 32 bit subtype of Address
38561 Declare abstract address operations to avoid gratuitous ambiguities.
38562
385632004-05-05 Jose Ruiz <ruiz@act-europe.fr>
38564
38565 * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
38566 instead of the old Boolean_Entry_Barriers.
38567 Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
38568
385692004-05-05 GNAT Script <nobody@gnat.com>
38570
38571 * Make-lang.in: Makefile automatically updated
38572
1ab2888d
AC
385732004-05-03 Arnaud Charlet <charlet@act-europe.fr>
38574
38575 * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
38576
9f4fd324
AC
385772004-05-03 Olivier Hainque <hainque@act-europe.fr>
38578
38579 PR ada/15152
9f4fd324
AC
38580 * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
38581 alone. Replacing object references by literals is inappropriate in a
38582 so low level context.
38583
385842004-05-03 Arnaud Charlet <charlet@act-europe.fr>
38585
38586 * a-exexpr.adb: Add comments
38587
385882004-05-03 Joel Brobecker <brobecker@gnat.com>
38589
38590 * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
38591 declare the Ancestor_Tags array in Type_Specific_Data with a small size
38592 without risking a bounds check error when accessing one of its
38593 components.
38594 (Type_Specific_Data): Define Ancestor_Tags as a small array.
38595 This prevents us from hitting a limitation during the debug info
38596 generation when using stabs.
38597
38598 * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
38599 small array.
38600 This prevents us from hitting a limitation during the debug info
38601 generation when using stabs.
38602
386032004-05-03 Eric Botcazou <ebotcazou@act-europe.fr>
38604
38605 lang-specs.h: Remove -gnatz* from specs.
38606
386072004-05-03 Vincent Celier <celier@gnat.com>
38608
38609 * gprmake.adb, makegpr.ads, makegpr.adb: New files.
38610
38611 * Make-lang.in, Makefile.in: Add gprmake
38612
386132004-05-03 Thomas Quinot <quinot@act-europe.fr>
38614
38615 * sem_aggr.adb: Fix typo in comment.
38616
386172004-05-03 Robert Dewar <dewar@gnat.com>
38618
38619 * make.adb: Minor reformatting
38620
38621 * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
38622
38623 * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
38624 so that it works when address is not a private type.
38625
38626 * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
38627 properly with rewritten unchecked conversions. This prevents
38628 order-of-elaboration issues that can otherwise arise.
38629 (Minimum_Size): Don't check size of access types under VMS
38630
38631 * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
38632 interpretations of integer literals as type System.Address.
38633
38634 * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
38635 (Is_Descendent_Of): New function
38636
386372004-05-03 Jose Ruiz <ruiz@act-europe.fr>
38638
38639 * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
38640 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
38641 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
38642
38643 * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
38644 of the old Max_Entry_Queue_Depth.
38645
38646 * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
38647 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
38648 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
38649
38650 * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
38651 New entry for proper handling of Max_Entry_Queue_Depth.
38652 New entry for proper handling of No_Dynamic_Interrupts.
38653
38654 * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
38655 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
38656 Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
38657 the GNAT specific restriction Max_Entry_Queue_Depth.
38658 Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
38659 the GNAT specific restriction No_Dynamic_Interrupts.
38660
38661 * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
38662 instead of the old Boolean_Entry_Barriers.
38663 Use the new restriction No_Dynamic_Attachment instead of the old
38664 No_Dynamic_Interrupts.
38665
38666 * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
38667 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
38668
38669 * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
38670 of the old Max_Entry_Queue_Depth.
38671
386722004-05-03 GNAT Script <nobody@gnat.com>
38673
38674 * Make-lang.in: Makefile automatically updated
38675
d935a36e
AC
386762004-04-29 Ed Schonberg <schonberg@gnat.com>
38677
38678 * checks.adb (Enable_Range_Check): If the prefix of an index component
38679 is an access to an unconstrained array, perform check unconditionally.
38680
386812004-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
38682
38683 * decl.c (gnat_to_gnu_field): Also call make_packable_type if
38684 Component_Clause.
38685
386862004-04-29 Olivier Hainque <hainque@act-europe.fr>
38687
38688 * init.c (__gnat_install_handler, __gnat_error_handler): Remove
38689 alternate stack setting. There was no support for the tasking cases
38690 and the changes eventually caused a number of side-effect failures in
38691 the non-tasking case too.
38692
386932004-04-29 Eric Botcazou <ebotcazou@act-europe.fr>
38694
38695 lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
38696 -gnats is passed.
38697
386982004-04-29 Vincent Celier <celier@gnat.com>
38699
38700 * make.adb (Gnatmake): Increase max size of argument array for
38701 gnatbind for the potential addition of -F.
38702 If there are Stand-Alone Library projects, invoke gnatbind with -F to
38703 be sure that elaboration flags will be checked.
38704
38705 * switch-c.adb: Correct call to Scan_Pos for -gnateI
38706
387072004-04-29 Thomas Quinot <quinot@act-europe.fr>
38708
38709 * sem_warn.adb (Check_References): Move '<access-variable> may be
38710 null' warning out of under Warn_On_No_Value_Assigned.
38711
387122004-04-29 Ed Falis <falis@gnat.com>
38713
38714 * gnat_ugn.texi: Fixed texi error
38715
387162004-04-29 Robert Dewar <dewar@gnat.com>
38717
38718 * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
38719 abstract operations if they come from predefined files.
38720
38721 * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
38722 Dynamic, not RM).
38723
38724 * s-addope.adb: Correct obvious error in mod function
38725
387262004-04-28 Andrew W. Reynolds <awreynolds@mac.com>
38727
38728 * Makefile.in: Add target pairs for powerpc darwin*
38729 tasking support.
38730
38731 * a-intnam-darwin.ads, s-osinte-darwin.adb,
38732 s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
38733
ea16c81b
UW
387342004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
38735
38736 * Makefile.in: Add target macro definitions for s390*-linux*.
38737 * system-linux-s390.ads: New file.
38738 * system-linux-s390x.ads: New file.
38739
f0e6f845
JM
387402004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
38741
38742 * gnat_ugn.texi: Correct argument to @setfilename.
38743
e8c2eedc
UW
387442004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
38745
38746 * a-exexpr.adb (Unwind_Word): New data type.
38747 (Unwind_Exception): Use it as type of Private1 and Private2.
38748
38749 * raise.c (db_action_for): Fix debug printf.
38750
f2c9e65a
AC
387512004-04-27 Ed Schonberg <schonberg@gnat.com>
38752
38753 * a-wtmoio.ads: Formal type must be a modular type, not a signed
38754 integer type.
38755
387562004-04-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
38757
38758 * decl.c (gnat_to_gnu_entity, case object): Call
38759 __builtin_update_setjmp_buf.
38760
38761 * gigi.h (update_setjmp_buf): Deleted.
38762 (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
38763
38764 * misc.c: (update_setjmp_buf): Deleted.
38765
38766 * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
38767 around block of RTL.
38768
38769 * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
38770
35b7fa6a
AC
387712004-04-26 Thomas Quinot <quinot@act-europe.fr>
38772
38773 * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
38774 subprogram for which no pragma All_Calls_Remote applies, store the
38775 address of the real subprogram in the underlying record type, so local
38776 dereferences do not go through the PCS.
38777
387782004-04-26 Robert Dewar <dewar@gnat.com>
38779
38780 * i-c.ads: Add some type qualifications to avoid ambiguities when
38781 compiling with s-auxdec.ads and a non-private address type.
38782
387832004-04-26 Arnaud Charlet <charlet@act-europe.fr>
38784
38785 * Makefile.rtl: Fix error in previous check-in:
38786 Add s-addope.o to non tasking object list (rather than tasking object
38787 list).
38788
387892004-04-26 Javier Miranda <miranda@gnat.com>
38790
38791 * sem_aggr.adb: Fix typo in comments
38792 (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
38793 Required to check the null-exclusion attribute.
38794
38795 * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
38796 case of anonymous access types in record and array components. For a
38797 component definition the level is the same of the enclosing composite
38798 type.
38799
38800 * sem_ch3.adb (Analyze_Component_Declaration): In case of components
38801 that are anonymous access types the level of accessibility depends on
38802 the enclosing type declaration. In order to have this information, set
38803 the scope of the anonymous access type to the enclosing record type
38804 declaration.
38805 (Array_Type_Declaration): In case of components that are anonymous
38806 access types the level of accessibility depends on the enclosing type
38807 declaration. In order to have this information, set the scope of the
38808 anonymous access type to the enclosing array type declaration.
38809
38810 * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
38811 access type.
38812
38813 * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
38814 renaming of anonymous access-to-constant types allowed if and only if
38815 the renamed object is access-to-constant.
38816
38817 * sem_util.adb (Type_Access_Level): In case of anonymous access types
38818 that are component_definition or discriminants of a nonlimited type,
38819 the level is the same as that of the enclosing component type.
38820
388212004-04-26 Sergey Rybin <rybin@act-europe.fr>
38822
38823 * sem_elim.adb: Some minor code reorganization from code reading. Fix
38824 misprint in the function name (File_Name_Match).
38825
9e94c78f 388262004-04-23 Laurent Guerby <laurent@guerby.net>
5a944040 38827
90afe2c9 38828 * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
5a944040 38829 install.
90afe2c9 38830
d0fd1344
RO
388312004-04-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
38832
38833 * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
38834
cc4f0de1
AC
388352004-04-23 Emmanuel Briot <briot@act-europe.fr>
38836
38837 * adaint.c (__gnat_try_lock): No longer requires that the parent
38838 directory be writable, the directory itself is enough.
38839 (gnat_is_absolute_path): Change profile, so that the call from
38840 GNAT.OS_Lib can be made more efficient.
38841
38842 * adaint.h (gnat_is_absolute_path): Change profile, so that the call
38843 from GNAT.OS_Lib can be made more efficient.
38844
38845 * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
38846 one copy of the file name. Found by code reading.
38847
388482004-04-23 Vincent Celier <celier@gnat.com>
38849
38850 * gnat_ugn.texi: Add documentation for gnatmake switch -eL
38851 Correct documentation on gnatmake switches transmitted to the compiler
38852
38853 * ali.ads: Minor comment fix
38854
388552004-04-23 Javier Miranda <miranda@gnat.com>
38856
38857 * sem_ch6.adb: (Confirming Types): Code cleanup
38858
38859 * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
38860 subprogram types: E_Anonymous_Access_Subprogram_Type and
38861 E_Anonymous_Access_Protected_Subprogram_Type.
38862
388632004-04-23 Thomas Quinot <quinot@act-europe.fr>
38864
38865 * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
38866 whether a pragma All_Calls_Remote applies to the subprogram on which
38867 'Access is taken.
38868 No functional change is introduced by this revision; the new parameter
38869 will be used to allow calls to local RCI subprograms to be optimized
38870 to not use the PCS in the case where no pragma All_Calls_Remote applies,
38871 as is already done in the PolyORB implementation of the DSA.
38872
38873 * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
38874 whether a pragma All_Calls_Remote applies to the subprogram on which
38875 'Access is taken.
38876 No functional change is introduced by this revision; the new parameter
38877 will be used to allow calls to local RCI subprograms to be optimized
38878 to not use the PCS in the case where no pragma All_Calls_Remote applies,
38879 as is already done in the PolyORB implementation of the DSA.
38880
388812004-04-23 Robert Dewar <dewar@gnat.com>
38882
38883 * Makefile.rtl: Add entry for s-addope.o in run time library list
38884 * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
38885 * s-addope.ads, s-addope.adb: New files.
38886
90afe2c9
ZW
38887 * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
38888 s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
cc4f0de1
AC
38889 s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
38890 System.Address to be non-private and signed.
38891
38892 * sem_elim.adb: Minor reformatting (fairly extensive)
38893 Some minor code reorganization from code reading
38894 Add a couple of ??? comments
38895
388962004-04-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
38897
38898 * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
90afe2c9 38899 (tree_transform, case N_If_Statement): Remove non-determinism.
cc4f0de1
AC
38900
38901 * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
38902
389032004-04-23 Sergey Rybin <rybin@act-europe.fr>
38904
38905 * gnat_rm.texi: Small fixes in the changes made in the 'pragma
38906 Eliminate' section.
38907
38908 * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
38909 no longer used as a parameter name for Eliminate pragma).
38910
9e94c78f 389112004-04-22 Laurent Guerby <laurent@guerby.net>
78bad775
LG
38912
38913 PR optimization/14984
38914 PR optimization/14985
38915 * trans.c (gigi): Fix non determinism leading to bootstrap
38916 comparison failures.
38917
af4b9434
AC
389182004-04-21 Pascal Obry <obry@gnat.com>
38919
38920 * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
38921 passed to spawnvp() to properly handle program pathname with spaces on
38922 Win32.
38923
389242004-04-21 Emmanuel Briot <briot@act-europe.fr>
38925
38926 * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
38927 (Allocate, Deallocate, Free_Physically): Make sure the tasks are
38928 unlocked in case of exceptions.
38929
389302004-04-21 Joel Brobecker <brobecker@gnat.com>
38931
38932 * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
38933 This function does not exist anymore.
38934
389352004-04-21 Thomas Quinot <quinot@act-europe.fr>
38936
38937 * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
38938
38939 * link.c: Move variables to the __gnat name space.
38940
38941 * Makefile.in: list link.o explicitly when needed.
38942
38943 * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
38944
389452004-04-21 Javier Miranda <miranda@gnat.com>
38946
38947 * einfo.adb (Original_Access_Type): New subprogram
38948 (Set_Original_Access_Type): New subprogram
38949 (Write_Field21_Name): Write the name of the new field
38950
38951 * einfo.ads (Original_Access_Type): New field present in access to
38952 subprogram types.
38953 Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
38954 E_Anonymous_Access_Protected_Subprogram_Type.
38955
38956 * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
38957 subprogram types.
38958
38959 * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
38960 to anonymous access to subprogram types.
38961
38962 * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
38963 to subprogram types.
38964
38965 * sem_ch3.adb (Access_Definition): Complete decoration of entities
38966 corresponding to anonymous access to subprogram types.
38967 (Analyze_Component_Declaration): Add new actual to the call to
38968 subprogram replace_anonymous_access_to_protected_subprogram.
38969 (Array_Type_Declaration): Add new actual to the call to subprogram
38970 replace_anonymous_access_to_protected_subprogram.
38971 (Process_Discriminants): Add new actual to the call to subprogram
38972 replace_anonymous_access_to_protected_subprogram.
38973 (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
38974
38975 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
38976 formal.
38977
38978 * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
38979 access to subprogram types.
38980
38981 * sem_util.adb (Has_Declarations): Addition of package_specification
38982 nodes.
38983
389842004-04-21 Ed Schonberg <schonberg@gnat.com>
38985
38986 * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
38987 inlined flags to renamed entity only if in current unit.
38988
389892004-04-21 Thomas Quinot <quinot@act-europe.fr>
38990
38991 * s-parint.ads: Add DSA implementation marker.
38992
38993 * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
38994 value of System.Partition_Interface.DSA_Implementation to determine
38995 what version of the distributed systems annex is available (no
38996 implementation, GLADE, or PolyORB).
38997
389982004-04-21 Joel Brobecker <brobecker@gnat.com>
38999
39000 * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
39001
390022004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
39003
39004 * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
39005 with new type if alias sets differ.
39006 Fixes ACATS c41103b.
39007
390082004-04-21 Vincent Celier <celier@gnat.com>
39009
39010 * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
39011 Add array Lang_Args for the language specific compiling argument
39012 switches.
39013
39014 * gnat_ugn.texi: Explain in more details when a library is rebuilt.
39015
390162004-04-21 Sergey Rybin <rybin@act-europe.fr>
39017
39018 * gnat_rm.texi: Update the descripton of the Eliminate pragma
39019 according to the recent changes in the format of the parameters of the
39020 pragma (replacing Homonym_Number with Source_Location).
39021
7324bf49
AC
390222004-04-19 Arnaud Charlet <charlet@act-europe.fr>
39023
39024 * 5isystem.ads: Removed, unused.
39025
39026 * gnat_rm.texi: Redo 1.13 change.
39027
390282004-04-19 Robert Dewar <dewar@gnat.com>
39029
39030 * s-stoele.ads: Clean up definition of Storage_Offset (the new
39031 definition is cleaner, avoids the kludge of explicit Standard operator
39032 references, and also is consistent with a visible System.Address with
39033 no visible operations.
39034
39035 * s-geveop.adb: Add declarations to avoid assumption of visible
39036 operations on type System.Address (since these might not be available
39037 if Address is a non-private type for which the operations
39038 are made abstract).
39039
39040 * sem_eval.adb: Minor reformatting
39041
39042 * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
39043 s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
39044 reformatting (new function spec format).
39045
39046 * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
39047 s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
39048 s-caun64.adb: Add declarations to avoid assumption of visible
39049 operations on type System.Address (since these might not be available
39050 if Address is a non-private type for which the operations are made
39051 abstract).
39052
39053 * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
39054
39055 * exp_intr.adb: Minor comment update
39056
39057 * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
39058
39059 * 5omastop.adb: Add declarations to avoid assumption of visible
39060 operations on type System.Address (since these might not be available
39061 if Address is a non-private type for which the operations
39062 are made abstract).
39063
390642004-04-19 Vincent Celier <celier@gnat.com>
39065
39066 * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
39067
39068 * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
39069 defaulted to Ada.
39070
39071 * prj-proc.adb (Process): New Boolean parameter Process_Languages,
39072 defaulted to Ada.
39073 Call Check with Process_Languages.
39074 (Check): New Boolean parameter Process_Languages. Call Recursive_Check
39075 with Process_Languages.
39076 (Recursive_Check): New Boolean parameter Process_Languages. Call
39077 Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
39078 Process_Languages.
39079
39080 * prj-proc.ads (Process): New Boolean parameter Process_Languages,
39081
39082 * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
39083 parameter Ada_Main, defaulted to True.
39084 Check for Ada specific characteristics only when Ada_Main is True.
39085
39086 * opt.ads: (Follow_Links): New Boolean flag for gnatmake
39087
39088 * prj.adb: (Project_Empty): Add new Project_Data components.
39089
39090 * prj.ads: New types and tables for non Ada languages.
39091 (Project_Data): New components Languages, Impl_Suffixes,
39092 First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
39093 Include_Path, Include_Data_Set.
39094
39095 * prj-env.ads, prj-env.adb: Minor reformatting
39096
39097 * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
39098 Put subprograms in alphabetical order
39099
39100 * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
39101 defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
39102 Opt.Follow_Links.
39103
39104 * mlib-prj.adb: Back out modification in last version, as they are
39105 incorrect.
39106 (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
39107
39108 * make.adb: (Mains): Moved to package Makeutl
39109 (Linker_Opts): Moved to package Makeutl
39110 (Is_External_Assignment): Moved to package Makeutl
39111 (Test_If_Relative_Path): Moved to package Makeutl
39112 (Gnatmake): Move sorting of linker options to function
39113 Makeutl.Linker_Options_Switches.
39114
8f9df7d8
VC
39115 * makeutl.ads, makeutl.adb: New files.
39116
7324bf49
AC
39117 * Makefile.in: Add makeutl.o to the object files for gnatmake
39118
39119 * makeusg.adb: Add line for new switch -eL.
39120
39121 * gnatls.adb (Image): New function.
39122 (Output_Unit): If in verbose mode, output the list of restrictions
39123 specified by pragmas Restrictions.
39124
39125 * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
39126 Text_IO.
39127
39128 * a-calend.adb (Split): Shift the date by multiple of 56 years, if
39129 needed, to put it in the range 1970 (included) - 2026 (excluded).
39130 (Time_Of): Do not shift Unix_Min_Year (1970).
39131 Shift the date by multiple of 56 years, if needed, to put it in the
39132 range 1970 (included) - 2026 (excluded).
39133
39134 * adaint.h, adaint.c (__gnat_set_executable): New function.
39135
391362004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
39137
39138 * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
39139 and pop GC context.
39140 (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
39141 (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
39142 (tree_transform, case N_Procedure_Call_Statement): Build a tree.
39143 (tree_transform, case N_Code_Statement): Likewise.
39144 (gnat_expand_stmt, case LABEL_STMT): Don't look at
39145 LABEL_STMT_FIRST_IN_EH.
39146 (gnat_expand_stmt, case ASM_STMT): New case.
39147
39148 * utils2.c (build_unary_op): Properly set TREE_READONLY of
39149 UNCONSTRAINED_ARRAY_REF.
39150
39151 * utils.c (poplevel): Temporarily push/pop GC context around inline
39152 function expansion.
39153
39154 * decl.c (maybe_variable): Properly set TREE_READONLY of
39155 UNCONSTRAINED_ARRAY_REF.
39156 (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
39157
39158 * ada-tree.def: (ASM_STMT): New.
39159
39160 * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
39161 (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
39162 ASM_STMT_INPUT): New.
39163 (ASM_STMT_CLOBBER): Likewise.
39164
391652004-04-19 Thomas Quinot <quinot@act-europe.fr>
39166
39167 * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
39168 general rcheck mechanism to raise Program_Error for E.4(18), instead
39169 of a custom raiser in System.Partition_Interface.
39170 Part of general cleanup work before PolyORB integration.
39171
39172 * snames.ads, snames.adb: Add new runtime library entities and names
39173 for PolyORB DSA.
39174
39175 * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
39176 exp_dist.
39177 (Build_Subprogram_Id): New subprogram provided by exp_dist
39178 Code reorganisation in preparation for PolyORB integration.
39179
39180 * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
39181 exp_dist.
39182 (Build_Subprogram_Id): New subprogram provided by exp_dist
39183
39184 * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
39185 actual parameter types for call to dereference of an
39186 access-to-subprogram type.
39187
39188 * rtsfind.ads: Add new runtime library entities and names for PolyORB
39189 DSA.
39190
39191 * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
39192 instead, which has the same behaviour here since we never pass it a
39193 NULL pointer.
39194
39195 * link.c (run_path_option, Solaris case): Use -Wl, as for other
39196 platforms.
39197
39198 * Makefile.in: adjust object file lists for gnatlink and gnatmake
39199 to account for new dependency upon Interfaces.C.Strings + link.o
39200 For x86 FreeBSD, use 86numaux.
39201
39202 * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
39203 from Mlib.Tgt to Mlib.
39204
39205 * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
39206 target-independent.
39207
39208 * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
39209 target-specific versions of this subprogram, now implemented as a
39210 target-independent function in Mlib.
39211
39212 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
39213 5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
39214 (Linker_Library_Path_Option): Remove target-specific versions of this
39215 subprogram, now implemented as a target-independent function in Mlib.
39216
39217 * atree.adb: (Allocate_Initialize_Node): New subprogram.
39218 Factors out node table slots allocation.
39219 (Fix_Parents): New subprogram.
39220 Encapsulate the pattern of fixing up parent pointers for syntactic
39221 children of a rewritten node.
39222 (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
39223 (Rewrite): Use New_Copy when creating saved copy of original node.
39224 (Replace): Use Copy_Node to copy nodes.
39225
392262004-04-19 Javier Miranda <miranda@gnat.com>
39227
39228 * sprint.adb (Sprint_Node_Actual): Give support to the new
39229 Access_To_Subprogram node available in Access_Definition nodes. In
39230 addition, give support to the AI-231 node fields: null-exclusion,
39231 all-present, constant-present.
39232
39233 * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
39234
90afe2c9 39235 * sinfo.ads, sinfo.adb:
7324bf49
AC
39236 New field Access_To_Subprogram_Definition in Access_Definition nodes
39237
39238 * sem_ch6.adb (Process_Formals): Move here the code that creates and
39239 decorates internal subtype declaration corresponding to the
39240 null-excluding formal. This code was previously in Set_Actual_Subtypes.
39241 In addition, carry out some code cleanup on this code. In case of
39242 access to protected subprogram call
39243 Replace_Anonymous_Access_To_Protected_Subprogram.
39244 (Set_Actual_Subtypes): Code cleanup.
39245
39246 * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
39247 Find_Type in case of anonymous access renamings. Add warning in case of
39248 null-excluding attribute used in anonymous access renaming.
39249
39250 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
39251 subprogram
39252
39253 * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
39254 subprogram.
39255 (Access_Definition): In case of anonymous access to subprograms call
39256 the corresponding semantic routine to decorate the node.
39257 (Access_Subprogram_Declaration): Addition of some comments indicating
39258 some code that probably should be added here. Detected by comparison
39259 with the access_definition subprogram.
39260 (Analyze_Component_Declaration): In case of access to protected
39261 subprogram call Replace_Anonymous_Access_To_Protected.
39262 (Array_Type_Declaration): In case of access to protected subprogram call
39263 Replace_Anonymous_Access_To_Protected_Subprogram.
39264 (Process_Discriminants): In case of access to protected subprogram call
39265 Replace_Anonymous_Access_To_Protected_Subprogram.
39266
39267 * par.adb (P_Access_Definition): New formal that indicates if the
39268 null-exclusion part was present.
39269 (P_Access_Type_Definition): New formal that indicates if the caller has
39270 already parsed the null-excluding part.
39271
39272 * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
39273 (P_Identifier_Declarations): Code cleanup and give support to renamings
39274 of anonymous access to subprogram types.
39275 (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
39276 (P_Array_Type_Definition): Give support to AI-254.
39277 (P_Component_Items): Give support to AI-254.
39278 (P_Access_Definition): New formal that indicates if the header was
39279 already parsed by the caller.
39280 (P_Access_Type_Definition): New formal that indicates if the caller has
39281 already parsed the null-excluding part.
39282
39283 * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
39284 call to P_Access_Definition.
39285
392862004-04-19 Geert Bosch <bosch@gnat.com>
39287
39288 * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
39289 the delicate semantics of floating-point to integer conversion.
39290 (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
39291
39292 * eval_fat.adb (Machine_Mantissa): Moved to spec.
39293 (Machine_Radix): New function.
39294
39295 * eval_fat.ads (Machine_Mantissa): Moved from body for use in
39296 conversion checks.
39297 (Machine_Radix): New function also for use in conversion checks.
39298
392992004-04-19 Ed Schonberg <schonberg@gnat.com>
39300
39301 * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
39302
39303 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
39304 to decorate the access-to-protected subprogram and the equivalent type.
39305
39306 * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
39307 to anonymous access to subprogram types.
39308
39309 * exp_ch4.adb (Expand_N_In): Preserve Static flag before
39310 constant-folding, for legality checks in contexts that require an RM
39311 static expression.
39312
39313 * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
39314 temporary but stack checking is not enabled, increment serial number
39315 to so that symbol generation is consistent with and without stack
39316 checking.
39317
39318 * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
39319 independent on whether stack checking is enabled, caller must check
39320 the corresponding flag.
39321
39322 * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
39323 range checks.
39324 (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
39325 parent if it has discriminants.
39326 (Build_Derived_Private_Type): Constructed full view does
39327 not come from source.
39328 (Process_Discriminants): Default discriminants on a tagged type are
39329 legal if this is the internal completion of a private untagged
39330 derivation.
39331
39332 * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
39333 no constraint checks, because it corresponds to an existing object.
39334
39335 * sem_prag.adb (Process_Convention): Pragma applies
39336 only to subprograms in the same declarative part, i.e. the same unit,
39337 not the same scope.
39338
39339 * sem_res.adb (Valid_Conversion): In an instance or inlined body,
39340 ignore type mismatch on a numeric conversion if expression comes from
39341 expansion.
39342
393432004-04-19 Sergey Rybin <rybin@act-europe.fr>
39344
39345 * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
39346 Homonym_Number parameter, add processing for Source_Location parameter
39347 corresponding.
39348 (Check_Eliminated): Remove the check for homonym numbers, add the check
39349 for source location traces.
39350
39351 * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
39352 with Arg_Source_Location corresponding to the changes in the format of
39353 the pragma.
39354
39355 * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
39356 Eliminate pragma corresponding to the changes in the format of the
39357 pragma: Homonym_Number is replaced with Source_Location, two ways of
39358 distinguishing homonyms are mutially-exclusive.
39359
393602004-04-19 Joel Brobecker <brobecker@gnat.com>
39361
39362 * get_targ.ads (Get_No_Dollar_In_Label): Remove.
39363
39364 * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
39365 No_Dollar_In_Label, no longer necessary, as it is always True.
39366 (Strip_Suffixes): Likewise.
39367
393682004-04-19 Gary Dismukes <dismukes@gnat.com>
39369
39370 * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
39371 modulus for compatibility with size clause on targets with 16-bit
39372 Integer.
39373
39374 * layout.adb (Discrimify): In the case of private types, set Vtyp to
39375 full type to fix type mismatches on calls to size functions for
39376 discriminant-dependent array components.
39377
393782004-04-19 Jerome Guitton <guitton@act-europe.fr>
39379
39380 * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
39381 lib.
39382
393832004-04-19 Pascal Obry <obry@gnat.com>
39384
39385 * mdll-utl.adb (Locate): New version is idempotent.
39386
9e94c78f 393872004-04-17 Laurent Guerby <laurent@guerby.net>
fa795c69
LG
39388
39389 PR ada/14988 (partial)
39390 * impunit.adb: Fix typo.
90afe2c9 39391
cce0244b
NN
393922004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
39393
39394 * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
39395 and install-rts-cert targets. Remove all gnatlib and gnattools
39396 targets and all other rts-* targets (moved to libada). Remove (now)
39397 unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
39398 TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
39399
af152989
AC
394002004-04-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
39401
39402 * trans.c (tree_transform): Shortcut returning error_mark_node for
39403 statements in annotate_only_mode.
39404 (tree_transform, case N_Label, case N_Return_Statement,
39405 N_Goto_Statement): Make statement tree instead of generating code.
39406 (tree_transform, case N_Assignment_Statement): No longer check
39407 type_annotate_only.
39408 (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
39409 RETURN_STMT): New.
39410 (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
39411 New fcns.
39412 (gnat_to_gnu): Collect any RTL generated and deal with it.
39413 (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
39414 (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
39415 (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
39416
39417 * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
39418
39419 * ada-tree.def (EXPR_STMT): Fix typo in name.
39420 (BLOCK_STMT, IF_STMT): New nodes.
39421
39422 * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
39423 LABEL_STMT_FIRST_IN_EH): New macros.
39424 (RETURN_STMT_EXPR): Likewise.
39425
39426 * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
39427 IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
39428
394292004-04-08 Thomas Quinot <quinot@act-europe.fr>
39430
39431 * atree.ads: Correct documentation on extended nodes.
39432
39433 * link.c: Set run_path_option for FreeBSD.
39434
394352004-04-08 Vincent Celier <celier@gnat.com>
39436
39437 * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
39438 one of the ALI file, do not link with DEC lib.
39439
39440 * par.adb Remove the last two characters ("%s" or "%b") when checking
39441 if a language defined unit may be recompiled.
39442
394432004-04-08 Ed Schonberg <schonberg@gnat.com>
39444
39445 * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
39446 removal of abstract operation leaves no possible interpretation for
39447 expression.
39448
39449 * sem_eval.adb (Eval_Qualified_Expression): Use
39450 Set_Raises_Constraint_Error on node when needed, so that it does not
39451 get optimized away by subsequent optimizations.
39452
39453 * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
39454 operands even when they are not wrapped in a type conversion.
39455
394562004-04-08 Olivier Hainque <hainque@act-europe.fr>
39457
39458 * sem_prag.adb (Set_Exported): Warn about making static as result of
39459 export only when the export is coming from source. This may be not
39460 be true e.g. on VMS where we expand export pragmas for exception codes
39461 together with imported or exported exceptions, and we don't want the
39462 user to be warned about something he didn't write.
39463
394642004-04-08 Thomas Quinot <quinot@act-europe.fr>
39465
39466 * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
39467 duplication between normal entities and those declared as renamings.
39468 No functional change.
39469
90afe2c9 39470 * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
af152989
AC
39471 inline functions returning an unconstrained result.
39472
394732004-04-08 Eric Botcazou <ebotcazou@act-europe.fr>
39474
39475 * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
39476 conform to what other front-ends do.
39477
394782004-04-08 Doug Rupp <rupp@gnat.com>
39479
39480 * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
39481 libraries.
39482
3984e89a
AC
394832004-04-06 Pascal Obry <obry@gnat.com>
39484
39485 * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
39486
39487 * osint.adb (Program_Name): Do not look past a directory separator.
39488
394892004-04-06 Thomas Quinot <quinot@act-europe.fr>
39490
39491 * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
39492
39493 * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
39494 requirement for preserving a copy of the original assignment node.
39495
39496 * sinfo.ads: Update comment (Original_Tree -> Original_Node).
39497
394982004-04-06 Olivier Hainque <hainque@act-europe.fr>
39499
39500 (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
39501 when supported.
39502
395032004-04-06 Ed Schonberg <schonberg@gnat.com>
39504
39505 * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
39506 operator calls in functional notation, and apply
39507 Universal_Interpretation to operands, not to their type.
39508
395092004-04-06 Robert Dewar <dewar@gnat.com>
39510
39511 * 5wdirval.adb: Minor reformatting
39512
395132004-04-06 Ed Falis <falis@gnat.com>
39514
39515 * gnat_rm.texi: Improve a reference to the GCC manual
39516
30c20106
AC
395172004-04-05 Vincent Celier <celier@gnat.com>
39518
39519 * adaint.h, adaint.c: Add function __gnat_named_file_length
39520
39521 * impunit.adb: Add Ada.Directories to the list
39522
39523 * Makefile.in: Add VMS and Windows versions of
39524 Ada.Directories.Validity package body.
39525
39526 * Makefile.rtl: Add a-direct and a-dirval
39527
39528 * mlib-tgt.ads: Minor comment update.
39529
39530 * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
39531 a-direct.ads, a-direct.adb: New files.
39532
395332004-04-05 Vincent Celier <celier@gnat.com>
39534
39535 PR ada/13620
39536 * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
39537 just to the compiler.
39538
395392004-04-05 Robert Dewar <dewar@gnat.com>
39540
39541 * a-except.adb (Exception_Name_Simple): Make sure lower bound of
39542 returned string is 1.
39543
39544 * ali-util.adb: Use proper specific form for Warnings (Off, entity)
39545
39546 * eval_fat.ads: Minor reformatting
39547
39548 * g-curexc.ads: Document that lower bound of returned string values
39549 is always one.
39550
39551 * gnatlink.adb: Add ??? comment for previous change
39552 (need to document why this is VMS specific)
39553
39554 * s-stoele.ads: Minor reformatting
39555
39556 * tbuild.ads: Minor reformatting throughout (new function specs)
39557
39558 * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
39559 after WITH.
39560
39561 * scng.adb: Minor reformatting
39562
395632004-04-05 Geert Bosch <bosch@gnat.com>
39564
39565 * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
39566 (Leading_Part): Still perform truncation to machine number if the
39567 specified radix_digits is greater or equal to machine_mantissa.
39568
395692004-04-05 Javier Miranda <miranda@gnat.com>
39570
39571 * par-ch3.adb: Complete documentation of previous change
39572 Correct wrong syntax documentation of the OBJECT_DECLARATION rule
39573 (aliased must appear before constant).
39574
39575 * par-ch4.adb: Complete documentation of previous change.
39576
39577 * par-ch6.adb: Complete documentation of previous change.
39578
39579 * sinfo.ads: Fix typo in commment.
39580
395812004-04-05 Ed Schonberg <schonberg@gnat.com>
39582
39583 * sem_ch3.adb (Inherit_Components): If derived type is private and has
39584 stored discriminants, use its discriminants to constrain parent type,
39585 as is done for non-private derived record types.
39586
39587 * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
39588 Ada 2005 AI-310: an abstract non-dispatching operation is not a
39589 candidate interpretation in an overloaded call.
39590
39591 * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
39592 expression is Null and target type is not an access type (e.g. a
39593 non-private address type).
39594
395952004-04-05 Thomas Quinot <quinot@act-europe.fr>
39596
39597 * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
39598 statement whose right-hand side is an inlined call, save a copy of the
39599 original assignment subtree to preserve enough consistency for
39600 Analyze_Assignment to proceed.
39601
39602 * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
39603 complete assignment subtree which is now unnecessary, as the expansion
39604 of inlined call has been improved to preserve a consistent assignment
39605 tree. Note_Possible_Modification must be called only
39606 after checks have been applied, or else unnecessary checks will
39607 be generated.
39608
39609 * sem_util.adb (Note_Possible_Modification): Reorganise the handling
39610 of explicit dereferences that do not Come_From_Source:
39611 - be selective on cases where we must go back to the dereferenced
39612 pointer (an assignment to an implicit dereference must not be
39613 recorded as modifying the pointer);
39614 - do not rely on Original_Node being present (Analyze_Assignment
39615 calls Note_Possible_Modification on a copied tree).
39616
39617 * sem_warn.adb (Check_References): When an unset reference to a pointer
39618 that is never assigned is encountered, prefer '<pointer> may be null'
39619 warning over '<pointer> is never assigned a value'.
39620
396212004-04-05 Ramon Fernandez <fernandez@gnat.com>
39622
39623 * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
39624 the ABI.
39625
396262004-04-05 Olivier Hainque <hainque@act-europe.fr>
39627
39628 * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
39629 libexc. We currently don't reference anything in this library and
39630 linking it in triggers linker warnings we don't want to see.
39631
39632 * init.c: Update comments.
39633
4f976745
RK
396342004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
39635
39636 * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
39637 * utils.c (create_field_decl): Likewise.
39638 * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
39639
6da7d579
AC
396402004-04-02 Arnaud Charlet <charlet@act-europe.fr>
39641
39642 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
39643 Replace ifinfo by ifnottex, to make makeinfo --html happy again.
39644 Add info directory entry and category.
39645
18c6ada9
JH
396462004-04-02 Jan Hubicka <jh@suse.cz>
39647
39648 * utils.c: Include function.h
39649 (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
39650
7cd4527e
AC
396512004-04-01 Arnaud Charlet <charlet@act-europe.fr>
39652
39653 PR ada/14150
39654 * Make-lang.in: Clean up generation of documentation
39655
39656 * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
39657
39658 * xgnatug.adb: Removed, replaced by xgnatugn.adb
39659
39660 * xgnatugn.adb: Replaces xgnatug.adb
39661
39662 * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
39663
39664 * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
39665
39666 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
39667 gnat_ug_wnt.texi: Removed.
39668
0c250f07
AC
396692004-04-01 Arnaud Charlet <charlet@act-europe.fr>
39670
39671 * utils2.c: Update copyright notice.
39672
6b6fcd3e
AC
396732004-04-01 Robert Dewar <dewar@gnat.com>
39674
39675 * checks.adb: Minor reformatting throughout
39676 Note that prev checkin added RM reference to alignment warning
39677
396782004-04-01 Ed Schonberg <schonberg@gnat.com>
39679
39680 * exp_aggr.adb (Get_Component_Val): Treat a string literal as
39681 non-static when building aggregate for bit-packed array.
39682
39683 * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
39684 function call that is itself the actual in a procedure call, build
39685 temporary for it.
39686
39687 * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
39688 a string literal, create a temporary for it, constant folding only
39689 handles scalars here.
39690
396912004-04-01 Vincent Celier <celier@gnat.com>
39692
39693 * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
39694 Error_Msg_SP): New empty procedures to instantiate the Scanner.
39695 (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
39696 tokens.
39697 (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
39698 (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
39699 and get the checksum.
39700
39701 * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
39702 already in the Q.
39703 Increase the Marking_Label at the end of the Multiple_Main_Loop,
39704 instead of at the beginning.
39705
39706 * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
39707 directly.
39708 (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
39709 on VMS.
39710
39711 * osint.ads (Multi_Unit_Index_Character): New Character global variable
39712
39713 * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
39714 not '~' directly.
39715
39716 * par.adb: Remove test on file name to detect language defined units.
39717 Add test on unit name, after parsing, to detect language defined units
39718 that are not compiled with -gnatg (except System.RPC and its children)
39719
39720 * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
39721 following units without style checking.
39722
39723 * switch-c.adb: Change -gnatC to -gnateI
39724
39725 * usage.adb: Document new switch -gnateInnn
39726
39727 * scng.adb (Accumulate_Token_Checksum): New procedure
39728 (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
39729 word or literal number.
39730 (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
39731 numbers.
39732
397332004-04-01 Thomas Quinot <quinot@act-europe.fr>
39734
39735 * a-tasatt.adb,
39736 g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
39737 switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
39738 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
39739 5vtpopde.adb: Add missing 'constant' keywords.
39740
397412004-04-01 Javier Miranda <miranda@gnat.com>
39742
39743 * par-ch4.adb: (P_Allocator): Code cleanup
39744
39745 * sem_ch3.adb (Access_Definition): Properly set the null-excluding
39746 attribute.
39747
39748 * sinfo.ads: Complete documentation of previous change
39749
397502004-04-01 Pascal Obry <obry@gnat.com>
39751
39752 * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
39753 only on VMS. This special handling was done because an old GNU/ld bug
39754 on Windows which has been fixed.
39755
397562004-04-01 GNAT Script <nobody@gnat.com>
39757
39758 * Make-lang.in: Makefile automatically updated
39759
8df83eae
RK
397602004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
39761
39762 * decl.c (gnat_to_gnu_entity, make_type_from_size):
39763 Use TYPE_UNSIGNED, not TREE_UNSIGNED.
39764 * trans.c (tree_transform, convert_with_check): Likewise.
39765 * utils.c (gnat_signed_or_unsigned_type): Likewise.
39766 (build_vms_descriptor, unchecked_convert): Likewise.
39767 * utils2.c (nonbinary_modular_operation): Likewise.
39768
2820d220
AC
397692004-03-29 Javier Miranda <miranda@gnat.com>
39770
39771 * checks.adb (Null_Exclusion_Static_Checks): New subprogram
39772 (Install_Null_Excluding_Check): Local subprogram that determines whether
39773 an access node requires a runtime access check and if so inserts the
39774 appropriate run-time check.
39775 (Apply_Access_Check): Call Install_Null_Excluding check if required
39776 (Apply_Constraint_Check): Call Install_Null_Excluding check if required
39777
39778 * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
39779
39780 * einfo.ads: Fix typo in comment
39781
39782 * exp_ch3.adb (Build_Assignment): Generate conversion to the
39783 null-excluding type to force the corresponding run-time check.
39784 (Expand_N_Object_Declaration): Generate conversion to the null-excluding
39785 type to force the corresponding run-time check.
39786
39787 * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
39788 the null-excluding type to force the corresponding run-time check.
39789
39790 * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
39791 case of access types unless they have the null-excluding attribute.
39792
39793 * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
39794 part.
39795
39796 * exp_util.ads: Fix typo in comment
39797
39798 * par.adb (P_Null_Exclusion): New subprogram
39799 (P_Subtype_Indication): New formal that indicates if the null-excluding
39800 part has been scanned-out and it was present
39801
39802 * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
39803
39804 * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
39805 (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
39806 type to force the corresponding run-time check
39807 (Resolve_Aggregate): Propagate the null-excluding attribute to the array
39808 components
39809 (Resolve_Array_Aggregate): Carry out some static checks
39810 (Resolve_Record_Aggregate.Get_Value): Carry out some static check
39811
39812 * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
39813 attribute must be set only if specified by means of the null-excluding
39814 part. In addition, we must also propagate the access-constant attribute
39815 if present.
39816 (Access_Subprogram_Declaration, Access_Type_Declaration,
39817 Analyze_Component_Declaration, Analyze_Object_Declaration,
39818 Array_Type_Declaration, Process_Discriminants,
39819 Analyze_Subtype_Declaration): Propagate the null-excluding attribute
39820 and carry out some static checks.
39821 (Build_Derived_Access_Type): Set the null-excluding attribute
39822 (Derived_Type_Declaration, Process_Subtype): Carry out some static
39823 checks.
39824
39825 * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
39826
39827 * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
39828
39829 * sem_ch6.adb (Process_Formals): Carry out some static checks.
39830 (Set_Actual_Subtypes): Generate null-excluding subtype if the
39831 null-excluding part was present; it is not required to be done here in
39832 case of anonymous access types.
39833 (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
39834 value.
39835
39836 * sem_res.adb (Resolve_Actuals): Carry out some static check
39837 (Resolve_Null): Allow null in anonymous access
39838
39839 * sinfo.adb: New subprogram Null_Exclusion_Present
39840 All_Present and Constant_Present available on access_definition nodes
39841
39842 * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
39843 object_declaration, derived_type_definition, component_definition,
39844 discriminant_specification, access_to_object_definition,
39845 access_function_definition, allocator, access_procedure_definition,
39846 access_definition, parameter_specification, All_Present and
39847 Constant_Present flags available on access_definition nodes.
39848
398492004-03-29 Robert Dewar <dewar@gnat.com>
39850
39851 * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
39852 gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
39853 opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
39854 par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
39855 sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
39856 sem_prag.adb: Updates to handle multiple units/file
39857
39858 * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
39859
39860 * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
39861 sem_util.adb: Minor reformatting
39862
39863 * sem_ch12.adb: Add comment for previous change
39864
398652004-03-29 Laurent Pautet <pautet@act-europe.fr>
39866
39867 * osint.adb (Executable_Prefix): Set Exec_Name to the current
39868 executable name when not initialized. Otherwise, use its current value.
39869
39870 * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
39871 initialize it to another executable name than the current one. This
39872 allows to configure paths for an executable name (gnatmake) different
39873 from the current one (gnatdist).
39874
398752004-03-29 Ed Schonberg <schonberg@gnat.com>
39876
39877 * exp_ch6.adb (Expand_Call): A call to a function declared in the
39878 current unit cannot be inlined if it appears in the body of a withed
39879 unit, to avoid order of elaboration problems in gigi.
39880
39881 * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
39882 information for protected (wrapper) operation as well, to simplify gdb
39883 use.
39884
39885 * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
39886 protected body, indicate that the entity for the generated spec comes
39887 from source, to ensure that references are properly generated for it.
39888 (Build_Body_To_Inline): Do not inline a function that returns a
39889 controlled type.
39890
39891 * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
39892 apply convention to homonyms that are declared explicitly.
39893
39894 * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
39895 that renames an equality operator and the operands are overloaded,
39896 resolve them with the declared formal types, before rewriting as an
39897 operator.
39898
398992004-03-29 GNAT Script <nobody@gnat.com>
39900
39901 * Make-lang.in: Makefile automatically updated
39902
6d11af89
AC
399032004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr>
39904
39905 * memtrack.adb: Log realloc calls, which are treated as free followed
39906 by alloc.
39907
399082004-03-25 Vincent Celier <celier@gnat.com>
39909
39910 * prj-makr.adb (Process_Directories): Detect when a file contains
39911 several units. Do not include such files in the config pragmas or
39912 in the naming scheme.
39913
39914 * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
39915 Resolve links only when not in Trusted_Mode.
39916 (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
39917 Do not resolve links for the display names.
39918
39919 * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
39920 resolve links when computing the display names.
39921
399222004-03-25 Thomas Quinot <quinot@act-europe.fr>
39923
39924 * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
39925 attribute reference does not denote a subtype, it can be any
39926 expression that has a classwide type, potentially after an implicit
39927 dereference. In particular, the prefix can be a view conversion for
39928 a classwide type (for which Is_Object_Reference holds), but it can
39929 also be a value conversion for an access-to-classwide type. In the
39930 latter case, there is an implicit dereference, and the original node
39931 for the prefix does not verify Is_Object_Reference.
39932
39933 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
39934 conversion of a discriminant-dependent component of a mutable object
39935 is one itself.
39936
399372004-03-25 Ed Schonberg <schonberg@gnat.com>
39938
39939 * freeze.adb (Freeze_Entity): When an inherited subprogram is
39940 inherited, has convention C, and has unconstrained array parameters,
39941 place the corresponding warning on the derived type declaration rather
39942 than the original subprogram.
39943
39944 * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
39945 indication on renaming declaration, if formal has a box and actual
39946 is absent.
39947
39948 * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
39949 determine whether to generate an implicit or explicit reference to
39950 the renamed entity.
39951
39952 * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
39953 subprogram renaming comes from a defaulted formal subprogram in an
39954 instance.
39955
399562004-03-25 Gary Dismukes <dismukes@gnat.com>
39957
39958 * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
39959 value expressions to ensure that calls within a component definition
39960 will be checked (since those are evaluated during the record type's
39961 elaboration).
39962
399632004-03-25 Arnaud Charlet <charlet@act-europe.fr>
39964
39965 * s-tpobop.adb: Code clean up:
39966 (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
39967 code.
39968 (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
39969
399702004-03-25 Jose Ruiz <ruiz@act-europe.fr>
39971
39972 * Makefile.in: Clean up in the ravenscar run time.
39973
22421b79
RK
399742004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
39975
39976 * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
39977 of No_Strict_Aliasing to build_pointer_type_for_mode.
39978 * utils.c (update_pointer_to): Walk pointer and ref chains.
39979
24105bab
AC
399802004-03-22 Cyrille Comar <comar@act-europe.fr>
39981
39982 * ali.ads: Fix Comment about Dynamic_Elab.
39983
39984 * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
39985 Has_RACW, Is_Generic, etc.)
39986 (Output_Object, Gnatls): Take into account ALI files not attached to
39987 an object.
39988
399892004-03-22 Vincent Celier <celier@gnat.com>
39990
39991 * gprep.adb: Change all String_Access to Name_Id
39992 (Is_ASCII_Letter): new function
39993 (Double_File_Name_Buffer): New procedure
39994 (Preprocess_Infile_Name): New procedure
39995 (Process_Files): New procedure
39996 (Gnatprep): Check if output and input are existing directories.
39997 Call Process_Files to do the real job.
39998
399992004-03-22 Robert Dewar <dewar@gnat.com>
40000
40001 * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
40002 s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
40003
400042004-03-22 Sergey Rybin <rybin@act-europe.fr>
40005
40006 * scn.adb (Contains): Add check for EOF, is needed for a degenerated
40007 case when the source contains only comments.
40008
400092004-03-22 Ed Schonberg <schonberg@gnat.com>
40010
40011 * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
40012 declaration for a child subprogram body that acts as a spec, indicate
40013 that the entity in the declaration needs debugging information.
40014
40015 * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
40016 full view if the subtype is created for a constrained record component;
40017 gigi has enough information to construct the record, and there is no
40018 place in the tree for the declaration.
40019
40020 * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
40021 serial number for the dummy body that is built for analysis, to avoid
40022 inconsistencies in the generation of internal names when compiling
40023 with -gnatN.
40024
400252004-03-22 Thomas Quinot <quinot@act-europe.fr>
40026
40027 * sem_util.adb (Is_Object_Reference): A view conversion denotes an
40028 object.
40029
400302004-03-22 GNAT Script <nobody@gnat.com>
40031
40032 * Make-lang.in: Makefile automatically updated
40033
6fce44af
RK
400342004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
40035
40036 * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
40037 * trans.c (tree_transform, emit_index_check): Likewise.
40038 * utils.c (build_template): Likewise.
40039 (max_size, convert): Remove handling of WITH_RECORD_EXPR.
40040 (maybe_unconstrained_array, unchecked_convert): Likewise.
40041 * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
40042 (build_unary_op): Likewise.
40043 (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
40044 (fill_vms_descriptor): Likewise.
40045 (build_call_alloc_dealloc): Likewise.
40046 ALIGN is unsigned.
40047 * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
40048
802f6d4b
JM
400492004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
40050
40051 PR other/14630
40052 * gnat_ug.texi: Add info directory category and entry.
40053 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
40054 gnat_ug_wnt.texi: Regenerate.
40055
30f3b32b
AC
400562004-03-19 Arnaud Charlet <charlet@act-europe.fr>
40057
40058 * ada-tree.h: Update copyright notice.
40059 Minor reformatting.
40060
400612004-03-19 Olivier Hainque <hainque@act-europe.fr>
40062
40063 * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
40064 as regular exception objects and not as mere integers representing the
40065 condition code. The latter approach required some dynamics to mask off
40066 severity bits, which did not fit well into the GCC table based model.
40067 (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
40068 exception data objects. We don't it and it would conflict with the other
40069 external symbol we have to generate for such exceptions.
40070
40071 * trans.c (tree_transform, case N_Exception_Handler): Remove part of
40072 the special code for VMS exceptions, since these are now represented
40073 as regular exceptions objects.
40074
7548281d
RK
400752004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
40076
40077 * decl.c (debug_no_type_hash): Remove.
40078 (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
40079 * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
40080
9e94c78f 400812004-03-19 Laurent Guerby <laurent@guerby.net>
dbee7ab9 40082
90afe2c9 40083 * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
dbee7ab9 40084 aggregate, allows bootstrap from 3.3 on powerpc-darwin.
90afe2c9 40085
eb34af89
RK
400862004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
40087
40088 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
40089 (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
40090 (TYPE_RM_SIZE_INT): Directly use type.values.
40091 (TREE_LOOP_ID): Clean up check.
40092 * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
40093 TYPE_VALUES, not TYPE_FIELDS.
40094 * trans.c (convert_with_check): Delay access of bounds of basetype
40095 until sure is numeric.
40096
a336eaca
AC
400972004-03-18 Arnaud Charlet <charlet@act-europe.fr>
40098
40099 * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
40100
40101 Code clean up:
40102 * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
40103 5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
40104 Specific.Set instead of direct call to e.g pthread_setspecific.
40105
401062004-03-18 Thomas Quinot <quinot@act-europe.fr>
40107
40108 * adaint.c: Update comments.
40109
40110 * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
40111 GNATLIB_SHARED for FreeBSD.
40112
401132004-03-18 Jose Ruiz <ruiz@act-europe.fr>
40114
40115 * init.c [VxWorks]: Do not fix the stack size for the environment task.
40116 When needed (stack checking) the stack size is retrieved
40117 from the VxWorks kernel.
40118
40119 * Makefile.in: Flag -nostdinc is required when building the run time
40120 for avoiding looking for files in the base compiler.
40121 Add the VxWorks specific version of the package body for
40122 System.Stack_checking.Operations (5zstchop.adb).
40123
40124 * Make-lang.in: Add the object file for
40125 System.Stack_Checking.Operations.
40126
40127 * Makefile.rtl: Add object file for the package
40128 System.Stack_Checking.Operations.
40129
40130 * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
40131
40132 * s-stache.ads, s-stache.adb: Move the operations related to stack
40133 checking from this package to package System.Stack_Checking.Operations.
40134 This way, stack checking operations are only linked in the final
40135 executable when using the -fstack-check flag.
40136
401372004-03-18 Doug Rupp <rupp@gnat.com>
40138
40139 * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
40140 Reorganize ifeq's.
40141
40142 * 5qsystem.ads, 5xcrtl.ads: New files.
40143
401442004-03-18 Vincent Celier <celier@gnat.com>
40145
40146 * prj.adb (Reset): Reset hash table Files_Htable
40147
40148 * prj-env.adb (Source_Paths, Object_Paths): New tables.
40149 (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
40150 the procedures Add_To_Path_File.
40151 (Set_Ada_Paths): Accumulate source and object dirs in the tables,
40152 making sure that each directory is present only once and, for object
40153 dirs, when a directory already present is added, the duplicate is
40154 removed and the directory is always put as the last in the table.
40155 Write the path files at the end of these accumulations.
40156
40157 * prj-nmsc.adb (Record_Source): Add source file name in hash table
40158 Files_Htable for all sources.
40159
40160 * prj-proc.adb (Process): Remove restrictions between not directly
40161 related extending projects.
40162
401632004-03-18 Emmanuel Briot <briot@act-europe.fr>
40164
40165 * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
40166 (Find_Sources): Minor speed optimization.
40167
40168 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
40169 parameter Trusted_Mode.
40170
401712004-03-18 Sergey Rybin <rybin@act-europe.fr>
40172
40173 * scn.adb (Determine_License): Take into account a degenerated case
40174 when the source contains only comments.
40175
401762004-03-18 Ed Schonberg <schonberg@gnat.com>
40177
40178 * sem_warn.adb (Check_References): For a warning on a selected
40179 component that does not come from source, locate an uninitialized
40180 component of the record type to produce a more precise error message.
40181
e6f69614
AC
401822004-03-15 Jerome Guitton <guitton@act-europe.fr>
40183
40184 * 3zsoccon.ads: Fix multicast options.
40185
40186 * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
40187 in the spec.
40188
401892004-03-15 Robert Dewar <dewar@gnat.com>
40190
40191 * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
40192 pragma used for a private type.
40193
40194 * lib-xref.adb (Generate_Reference): Do not generate warning if
40195 reference is in a different unit from the pragma Unreferenced.
40196
40197 * 5vtpopde.adb: Minor reformatting
40198 Fix casing of To_Task_ID
40199
40200 * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
40201 flag if we have an unchecked conversion to an access type in the same
40202 unit.
40203
402042004-03-15 Geert Bosch <bosch@gnat.com>
40205
40206 * a-ngcoty.adb (Modulus): In alternate formula for large real or
40207 imaginary parts, use Double precision throughout.
40208
40209 * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
40210 we want to be able to compile run-time with -gnata for testing, but
40211 this may also be instantiated in user code that is compiled with -gnata.
40212
402132004-03-15 Olivier Hainque <hainque@act-europe.fr>
40214
40215 * s-stalib.ads (Exception_Code): New type, to represent Import/Export
40216 codes. Having a separate type for this is useful to enforce consistency
40217 throughout the various run-time units.
40218 (Exception_Data): Use Exception_Code for Import_Code.
40219
40220 * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
40221 Natural and Integer in various places.
40222 (Register_VMS_Exception): Use Base_Code_In to compute the exception code
40223 with the severity bits masked off.
40224 (Register_VMS_Exception): Handle the additional exception data pointer
40225 argument.
40226
40227 * raise.c (_GNAT_Exception structure): Remove the handled_by_others
40228 component, now reflected by an exported accessor.
40229 (is_handled_by): New routine to compute whether the propagated
40230 occurrence matches some handler choice specification. Extracted out of
40231 get_action_description_for, and expanded to take care of the VMS
40232 specifities.
40233 (get_action_description_for): Use is_handled_by instead of an explicit
40234 complex condition to decide if the current choice at hand catches the
40235 propagated occurrence.
40236
40237 * raise.h (Exception_Code): New type for C.
40238
40239 * rtsfind.ads (RE_Id, RE_Unit_Table): Add
40240 System.Standard_Library.Exception_Code, to allow references from the
40241 pragma import/export expander.
40242
40243 * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
40244 New accessors to allow easy access to GNAT exception data
40245 characteristics.
40246 (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
40247 redundant Handled_By_Others component, helper for the personality
40248 routine which will now be able to call the appropriate exception data
40249 accessor instead.
40250
40251 * cstand.adb (Create_Standard): Adjust the type of the Import_Code
40252 component of Standard_Exception_Type to be the closest possible to
40253 Exception_Code in System.Standard_Library, that we cannot get at this
40254 point. Expand a ??? comment to notify that this type node should
40255 probably be rewritten later on.
40256
40257 * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
40258 registration call to include a pointer to the exception object in the
40259 arguments.
40260
40261 * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
40262 instead of int and explicit bitmasks.
40263
402642004-03-15 Vincent Celier <celier@gnat.com>
40265
40266 * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
40267 equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
40268
40269 * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
40270 longer needed now that it is in the spec of
40271 System.Tasking.Task_Attributes.
40272
40273 * adaint.h, adaint.c: (__gnat_create_output_file): New function
40274
40275 * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
40276
40277 * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
40278
40279 * make.adb (Gnatmake): Do not check the executable suffix; it is being
40280 taken care of in Scan_Make_Arg.
40281 (Scan_Make_Arg): Add the executable suffix only if the argument
40282 following -o, in canonical case, does not end with the executable
40283 suffix. When in verbose mode and executable file name does not end
40284 with executable suffix, output the executable name, in canonical case.
40285
40286 * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
40287 to avoid warnings when instantiating Ada.Task_Attributes.
40288 Minor reformating.
40289
40290 * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
40291 in the correct order.
40292
40293 * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
40294 redirect standard output and error to a file for the invocation of the
40295 compiler, then read the file.
40296
40297 * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
40298 directory, instead of the Value.
40299 (Find_Source_Dirs): Remove useless code & comments.
40300
403012004-03-15 Ed Schonberg <schonberg@gnat.com>
40302
40303 * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
40304 tagged type is inherited, and the parent operation is not frozen yet,
40305 force generation of a freeze node for the inherited operation, so the
40306 corresponding dispatch entry is properly initialized.
40307 (Make_Predefined_Primitive_Specs): Check that return type is Boolean
40308 when looking for user-defined equality operation.
40309
40310 * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
40311 boolean when locating primitive equality of tagged component.
40312
40313 * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
40314 bit-aligned field and the right-hand side a string literal, introduce
40315 a temporary before expanding assignment into a loop.
40316
40317 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
40318 priority in full, to ensure that any expanded subepxressions of it are
40319 elaborated in the scope of the init_proc.
40320
40321 * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
40322 after object declaration, skipping over code that may have been
40323 generated for validity checks.
40324
40325 * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
40326 discriminants, ignore the known discriminants of its full view, if
40327 any, to check legality.
40328
40329 * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
40330 component if type has unknown discriminants.
40331 (Analyze_Private_Extension_Declaration): Discriminant constraint is
40332 null if type has unknown discriminants.
40333
40334 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
40335 for end label when present.
40336
40337 * s-fileio.adb (Open): When called with a C_Stream, use given name for
40338 temporary file, rather than an empty string.
40339
403402004-03-15 Ed Falis <falis@gnat.com>
40341
40342 * s-thread.adb: Removed, no longer used.
40343
403442004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
40345
40346 * decl.c (target.h): Now include.
40347 (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
40348 in new build_pointer_from_mode calls for non-fat/non-thin pointer.
40349 (validate_size): For POINTER_TYPE, get smallest size permitted on
40350 machine.
40351
40352 * fe.h: Sort Einfo decls and add Set_Mechanism.
40353
40354 * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
40355 (ada/decl.o): Depends on target.h.
40356
40357 * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
40358 FUNCTION_BOUNDARY; always use TYPE_ALIGN.
40359
403602004-03-15 Thomas Quinot <quinot@act-europe.fr>
40361
40362 * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
40363
40364 * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
40365 Insert_Dereference_Action when rewriting an implicit dereference into
40366 an explicit one, this will be taken care of during expansion of the
40367 explicit dereference.
40368 (Expand_N_Slice): Same. Always do the rewriting, even for the case
40369 of non-packed slices, since the dereference action generated by
40370 expansion of the explicit dereference is needed in any case.
40371 (Expand_N_Selected_Component): When rewriting an implicit dereference,
40372 analyze and resolve the rewritten explicit dereference so it is seen
40373 by the expander.
40374 (Insert_Dereference_Action): This procedure is now called only for the
40375 expansion of an N_Explcit_Dereference_Node. Do insert a check even for
40376 dereferences that do not come from source (including explicit
40377 dereferences resulting from rewriting implicit ones), but do not
40378 recursively insert a check for the dereference nodes contained within
40379 the check.
40380 (Insert_Dereference_Action): Clarify and correct comment.
40381
e4c9c075
PB
403822004-03-08 Paolo Bonzini <bonzini@gnu.org>
40383
40384 PR ada/14131
40385 Move language detection to the top level.
40386 * config-lang.in: Build by default.
40387
8a6a52dc
AC
403882004-03-05 Robert Dewar <dewar@gnat.com>
40389
40390 * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
40391
40392 * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
40393 i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
90afe2c9 40394 5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
8a6a52dc
AC
40395 5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
40396 unchecked conversion to spec to avoid warnings.
40397
40398 * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
40399 to Task_ID
40400
40401 * 7stpopsp.adb: Correct casing in To_Task_ID call
40402
40403 * a-strsea.ads, a-strsea.adb: Minor reformatting
40404
40405 * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
40406
40407 * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
40408 Adjust Max_Msg_Length to be clearly large enough.
40409
40410 * fe.h: Define In_Same_Source_Unit
40411
40412 * osint.adb: Add pragma Warnings Off to suppress warnings
40413 * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
40414 aliasing warnings.
40415
40416 * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
40417
40418 * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
40419
40420 * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
40421
40422 * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
40423
40424 * sem_prag.adb: Implement pragma No_Strict_Aliasing.
40425
40426 * sinfo.ads: Remove obsolete comment on validate unchecked conversion
40427 node. We now do generate them for gcc back end.
40428
40429 * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
40430 warning.
40431
40432 * sinput-c.adb: Fix bad name in header.
40433 Add pragma Warnings Off to suppress aliasing warning.
40434
40435 * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
40436
40437 * snames.h, snames.ads, snames.adb: Add entry for pragma
40438 No_Strict_Aliasing.
40439
404402004-03-05 Vincent Celier <celier@gnat.com>
40441
40442 * prj-com.ads: Add hash table Files_Htable to check when a file name
40443 is already a source of another project.
40444
40445 * prj-nmsc.adb (Record_Source): Before recording a new source, check
40446 if its file name is not already a source of another project. Report an
40447 error if it is.
40448
40449 * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
40450 source file name, call gnatpp with all the sources of the main project.
40451
40452 * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
40453 of file names.
40454
40455 * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
40456 NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
40457 /RUNTIME_SYSTEM=, converted to --RTS=
40458 /NOTABS, converted to -notabs
40459
404602004-03-05 Pascal Obry <obry@gnat.com>
40461
40462 * make.adb: Minor reformatting.
40463
404642004-03-05 Ed Schonberg <schonberg@gnat.com>
40465
40466 Part of implemention of AI-262.
40467 * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
40468
40469 * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
40470 procedure.
40471
40472 * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
40473 when component type is a partially constrained class-wide subtype.
40474 (Constrain_Discriminated_Type): If parent type has unknown
40475 discriminants, a constraint is illegal, even if full view has
40476 discriminants.
40477 (Build_Derived_Record_Type): Inherit discriminants when deriving a type
40478 with unknown discriminants whose full view is a discriminated record.
40479
40480 * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
40481 flag, to handle properly derivations of tagged types with unknown
40482 discriminants.
40483 (Analyze_Package_Spec, Analyze_Package_Body): Install
40484 Private_With_Clauses before analyzing private part or body.
40485
40486 * einfo.ads: Indicate that both Has_Unknown_Discriminants and
40487 Has_Discriminants can be true for a given type (documentation).
40488
404892004-03-05 Arnaud Charlet <charlet@act-europe.fr>
40490
40491 * s-restri.ads: Fix license (GPL->GMGPL).
40492
40493 * s-tassta.adb: Minor reformatting.
40494
40495 * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
40496 by calls to Exit_One_ATC_Level, since additional clean up is performed
40497 by this function.
40498
40499 * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
40500 by calls to Exit_One_ATC_Level, since additional clean up is performed
40501 by this function.
40502
405032004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
40504
40505 * trans.c: Reflect GCC changes to fix bootstrap problem.
40506 Add warning for suspicious aliasing unchecked conversion.
40507
405082004-03-05 GNAT Script <nobody@gnat.com>
40509
40510 * Make-lang.in: Makefile automatically updated
40511
555360a5
AC
405122004-03-02 Emmanuel Briot <briot@act-europe.fr>
40513
40514 * ali.adb (Read_Instantiation_Instance): Do not modify the
40515 current_file_num when reading information about instantiations, since
40516 this corrupts files in later references.
40517
405182004-03-02 Vincent Celier <celier@gnat.com>
40519
40520 * bcheck.adb (Check_Consistency): Get the full path of an ALI file
40521 before checking if it is read-only.
40522
40523 * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
40524 of SRC_DIRS and eliminate duplicates.
40525
40526 * gprcmd.adb: Replace command "path" with command "path_sep" to return
40527 the path separator.
40528 (Usage): Document path_sep
40529
40530 * Makefile.generic: For Ada and GNU C++ cases, link directly with the
40531 C++ compiler. No need for a script.
40532 Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
40533 Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
40534 subst.
40535
40536 * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
40537 where there are Ada sources.
40538 (Set_Ada_Paths): Only add to the include path the source dirs of project
40539 with Ada sources.
40540 (Add_To_Path): Add the Display_Values of the directories, not their
40541 Values.
40542
40543 * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
40544 data.
40545
40546 * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
40547 is not No_Name.
40548 (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
40549 Value is canonicalized.
40550 (Language_Independent_Check): Do not copy Value to Display_Value when
40551 canonicalizing Value.
40552
40553 * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
40554 path to find limited with cycles.
40555 (Parse_Single_Project): Use canonical cased path to find the end of a
40556 with cycle.
40557
405582004-03-02 Ed Schonberg <schonberg@gnat.com>
40559
40560 * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
40561 and not a child unit.
40562
40563 * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
40564 appear in a with_clause.
40565
40566 * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
40567 only happen in type_annotate mode, do not try to elaborate it.
40568
40569 * exp_util.adb (Force_Evaluation): If expression is a selected
40570 component on the left of an assignment, use a renaming rather than a
40571 temporary to remove side effects.
40572
40573 * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
40574 inlined instance body, which is analyzed before the end of the
40575 enclosing scope.
40576
405772004-03-02 Robert Dewar <dewar@gnat.com>
40578
40579 * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
40580 sem_ch4.adb: Use new feature for substitution of keywords in VMS
40581
40582 * errout.ads, errout.adb: Implement new circuit for substitution of
40583 keywords in VMS.
40584
40585 * sem_case.adb (Analyze_Choices): Place message properly when case is
40586 a subtype reference rather than an explicit range.
40587
40588 * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
40589
405902004-03-02 Doug Rupp <rupp@gnat.com>
40591
40592 * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
40593
405942004-03-02 Thomas Quinot <quinot@act-europe.fr>
40595
40596 * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
40597
405982004-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
40599
40600 * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
40601 BLKmode bitfield.
40602
8a7988f5
AC
406032004-02-25 Robert Dewar <dewar@gnat.com>
40604
40605 * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
40606 55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
40607 5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
40608 5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
40609 5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
40610 5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
40611 the defining instance of the type to avoid aliasing problems.
40612 Fix copyright header. Fix bad comments in package header.
40613
40614 * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
40615
406162004-02-25 Ed Schonberg <schonberg@gnat.com>
40617
40618 * exp_ch2.adb (Param_Entity): Handle properly formals that have been
40619 rewritten as references when aliased through an address clause.
40620
40621 * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
40622 whether call can be interpreted as an indirect call to the result of a
40623 parameterless function call returning an access subprogram.
40624
406252004-02-25 Arnaud Charlet <charlet@act-europe.fr>
40626
40627 Code clean up:
40628 * exp_ch7.adb (Make_Clean): Remove generation of calls to
40629 Unlock[_Entries], since this is now done by Service_Entries directly.
40630
40631 * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
40632
40633 * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
40634 Requeue_Call for better code readability. Change spec and update calls:
40635 PO_Service_Entries now unlock the PO on exit.
40636 (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
40637 PO_Service_Entries.
40638
40639 * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
40640
40641 * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
40642
406432004-02-25 Sergey Rybin <rybin@act-europe.fr>
40644
40645 * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
40646 protected subprogram call and analyzing the result of such expanding
40647 in case when the called protected subprogram is eliminated.
40648
40649 * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
40650 names.
40651
406522004-02-25 Jerome Guitton <guitton@act-europe.fr>
40653
40654 * Makefile.in: Clean ups.
40655
6871ba5f
AC
406562004-02-23 Ed Schonberg <schonberg@gnat.com>
40657
40658 * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
40659 protected operations if original subprogram is flagged as eliminated.
40660 (Expand_N_Subprogram_Body): For a protected operation, create
40661 discriminals for next operation before checking whether the operation
40662 is eliminated.
40663
40664 * exp_ch9.adb (Expand_N_Protected_Body,
40665 Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
40666 for internal protected operations if the original subprogram is
40667 eliminated.
40668
40669 * sem_elim.adb (Check_Eliminated): Handle properly protected operations
40670 declared in a single protected object.
40671
406722004-02-23 Vincent Celier <celier@gnat.com>
40673
40674 * prj-attr.adb: Make attribute Builder'Executable an associative array,
40675 case insensitive if file names are case insensitive, instead of a
40676 standard associative array.
40677
40678 * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
40679 them as case insensitive on platforms where the file names are case
40680 sensitive.
40681
40682 * prj-part.adb (Parse_Single_Project): Make sure, when checking if
40683 project file has already been parsed that canonical path are compared.
40684
406852004-02-23 Robert Dewar <dewar@gnat.com>
40686
40687 * sinput-c.ads: Correct bad unit title in header
40688
40689 * freeze.adb: Minor reformatting
40690
406912004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
40692
40693 * trans.c (tree_transform, case N_Procedure_Call_Statement): For
40694 nonaddressable COMPONENT_REF that is removing padding that we are
40695 taking the address of, take the address of the padded record instead
40696 if item is variable size.
40697
6e059adb
AC
406982004-02-20 Robert Dewar <dewar@gnat.com>
40699
40700 * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
40701
407022004-02-20 Ed Schonberg <schonberg@gnat.com>
40703
40704 * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
40705 itype references for the constrained designated type of a component
40706 whose base type is already frozen.
40707
407082004-02-20 Arnaud Charlet <charlet@act-europe.fr>
40709
40710 * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
40711 avoid GCC warnings.
40712
407132004-02-20 Sergey Rybin <rybin@act-europe.fr>
40714
40715 * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
40716 identifier for a phantom package that rewrites the formal package
40717 declaration with a box. The Add semantic decorations for the defining
40718 identifier from the original node (that represents the formal package).
40719
88e3a2a3
MK
407202004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
40721
40722 * Make-lang.in (ada/stamp-sdefault): Use the top level
40723 move-if-change.
40724
4221057e
RH
407252004-02-19 Richard Henderson <rth@redhat.com>
40726
40727 * misc.c (record_code_position): Add third build arg for RTL_EXPR.
40728
5c1c8a03
AC
407292004-02-18 Emmanuel Briot <briot@act-europe.fr>
40730
40731 * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
40732 Scan_ALI can be used for multiple ALI files without reinitializing
40733 between calls.
40734
407352004-02-18 Robert Dewar <dewar@gnat.com>
40736
40737 * debug.adb: Minor reformatting.
40738
407392004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
40740
40741 * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
40742 to zero if there is an address clause.
40743
407442004-02-18 Thomas Quinot <quinot@act-europe.fr>
40745
40746 * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
40747
407482004-02-18 Gary Dismukes <dismukes@gnat.com>
40749
40750 * layout.adb (Layout_Component_List): Revise generation of call to
40751 discriminant-checking function to pass selections of all of the type's
40752 discriminants rather than just the variant-controlling discriminant.
40753
407542004-02-18 Olivier Hainque <hainque@act-europe.fr>
40755
40756 * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
40757 fail in the current setup and triggers spurious system error messages.
40758 Pretend it occurred and failed instead.
40759
407602004-02-18 Vincent Celier <celier@gnat.com>
40761
40762 * bld.adb: Mark FLDFLAGS as saved
40763 (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
40764 it is not the root project. Put each directory to be
40765 extended between double quotes to prevent it to be expanded on Windows.
40766 (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
40767 the project file. Set them back to their initial values if they have not
40768 been set in the project file.
40769
40770 * gprcmd.adb: (Gprdebug, Debug): New global variables
40771 (Display_Command): New procedure
40772 (Usage): Document new command "linkopts"
40773 Call Display_Command when env var GPRDEBUG has the value "TRUE"
40774 Implement new command "linkopts"
40775 Remove quotes that may be around arguments for "extend"
40776 Always call Normalize_Pathname with arguments formatted for the platform
40777
40778 * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
40779 Change @echo to @$(display) in target clean to be able to clean silently
40780
40781 * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
40782
40783 * prj-part.adb (Project_Path_Name_Of): Do not put final result in
40784 canonical case.
40785
40786 * prj-part.adb (Parse_Single_Project): Always call with From_Extended
40787 = Extending_All when current project is an extending all project.
40788
40789 * vms_conv.adb (Output_File_Expected): New Boolean global variable,
40790 set to True only for LINK command, after Unix switch -o.
40791 (Process_Arguments): Set Output_File_Expected to True for LINK command
40792 after Unix switch -o. When Output_File_Expected is True, never add an
40793 extension to a file name.
40794
40795 * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
40796 option file name, only to the --for-linker= switch.
40797 (Option_File_Name): If option file name do not end with ".opt", append
40798 "/OPTIONS".
40799
408002004-02-18 GNAT Script <nobody@gnat.com>
40801
40802 * Make-lang.in: Makefile automatically updated
40803
80bcb4d2
MK
408042004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
40805
40806 * Make-lang.in (stamp-sdefault): Do not depend on
40807 move-if-change.
40808
1daa84b6
ZW
408092004-02-12 Zack Weinberg <zack@codesourcery.com>
40810
40811 * config-lang.in: Disable Ada by default until probe logic for
40812 a bootstrap Ada compiler can be moved to the top level configure
40813 script.
40814
18c0ecbe
AC
408152004-02-12 Olivier Hainque <hainque@act-europe.fr>
40816
40817 * decl.c (components_to_record): Don't claim that the internal fields
40818 we make to hold the variant parts are semantically addressable, because
40819 they are not.
40820
40821 * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
40822 adjust the comment describing the modular type form when we can use it.
40823 (Install_PAT): Account for the Esiz renaming.
40824
40825 * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
40826 sc_onstack context indication before raising the exception to which
40827 the signal is mapped. Allows better handling of later signals possibly
40828 triggered by the resumed user code if the exception is handled.
40829
408302004-02-12 Arnaud Charlet <charlet@act-europe.fr>
40831
40832 * 5zinit.adb: Removed, no longer used.
40833
408342004-02-12 Robert Dewar <dewar@gnat.com>
40835
40836 * ali.adb: Remove separating space between parameters on R line. Makes
40837 format consistent with format used by the binder for Set_Globals call.
40838
40839 * atree.ads, atree.adb: Minor reformatting (new function header format)
40840
40841 * bindgen.adb: Add Run-Time Globals documentation section containing
40842 detailed documentation of the globals passed from the binder file to
40843 the run time.
40844
40845 * gnatls.adb: Minor reformatting
40846
40847 * init.c (__gnat_set_globals): Add note pointing to documentation in
40848 bindgen.
40849
40850 * lib-writ.ads, lib-writ.adb: Remove separating space between
40851 parameters on R line.
40852 Makes format consistent with format used by the binder for Set_Globals
40853 call.
40854
40855 * osint.ads: Add 2004 to copyright notice
40856 Minor reformatting
40857
40858 * snames.ads: Correct capitalization of FIFO_Within_Priorities
40859 Noticed during code reading, documentation issue only
40860
40861 * usage.adb: Remove junk line for obsolete C switch
40862 Noticed during code reading
40863
408642004-02-12 Vincent Celier <celier@gnat.com>
40865
40866 * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
40867 extend for each directory, so that multiple /** directories are
40868 extended individually.
40869 (Recursive_Process): Set the default for LANGUAGES to ada
40870
40871 * gprcmd.adb: Define new command "ignore", to do nothing.
40872 Implement new comment "path".
40873
40874 * Makefile.generic: Suppress output when SILENT is set
40875 Make sure that when compiler for C/C++ is gcc, the correct -x switch is
40876 used, so that the correct compiler is invoked.
40877 When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
40878 CXX_INCLUDE_PATH, to avoid failure with too long command lines.
40879
408802004-02-12 Jerome Guitton <guitton@act-europe.fr>
40881
40882 * Makefile.in: Clean ups and remove obsolete targets.
40883
408842004-02-12 Ed Schonberg <schonberg@gnat.com>
40885
40886 * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
40887 predicate declared in exp_util.
40888
40889 * exp_util.adb: Add comments.
40890
40891 * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
40892 visibility before compiling context of the subunit.
40893
40894 * sem_res.adb (Check_Parameterless_Call): If the context expects a
40895 value but the name is a procedure, do not attempt to analyze as a call,
40896 in order to obtain more telling diagnostics.
40897
40898 * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
40899 'Access on parameterless function calls.
40900 (Normalize_Actuals): For a parameterless function call with missing
40901 actuals, defer diagnostic until resolution of enclosing call.
40902
40903 * sem_util.adb (Wrong_Type): If the context type is an access to
40904 subprogram and the expression is a procedure name, suggest a missing
40905 'attribute.
40906
c1dcfa14
AC
409072004-02-10 Arnaud Charlet <charlet@act-europe.fr>,
40908 Nathanael Nerode <neroden@gcc.gnu.org>
40909
6f7f72f9
EB
40910 PR ada/6637
40911 PR ada/5911
c1dcfa14 40912 Merge with libada-branch:
90afe2c9 40913 * config-lang.in: Build libada only when ada is built.
c1dcfa14 40914
2e071734
AC
409152004-02-09 Ed Schonberg <schonberg@gnat.com>
40916
40917 * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
40918 for a tagged type, verify that both formals have the same type.
40919
40920 * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
40921 temporary when the formal is an in-parameter and the actual a possibly
40922 unaligned slice.
40923
40924 * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
40925 when expansion is disabled, to ensure proper name capture with
40926 overloaded literals. Condition can be of any boolean type, resolve
40927 accordingly.
40928
40929 * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
40930 renaming is for a formal subprogram with a default operator name, and
40931 there is a usable operator that is visible at the point of
40932 instantiation.
40933
409342004-02-09 Robert Dewar <dewar@gnat.com>
40935
40936 * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
40937 rewrite to ignore errors in ali files, intended to allow tools downward
40938 compatibility with new versions of ali files.
40939
40940 * ali.ads: Add new parameter Ignore_Errors
40941
40942 * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
40943 duplicating the error message giving the file with restrictions.
40944
40945 * debug.adb: Add debug flag I for gnatbind
40946
40947 * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
40948 operators for the case where the operator is a defining operator.
40949
40950 * exp_ch3.adb: Minor reformatting (new function spec format).
40951
40952 * exp_ch4.adb: Add comment for previous change, and make minor
40953 adjustment to loop to always check for improper loop termination.
40954 Minor reformatting throughout (new function spec format).
40955
40956 * gnatbind.adb: Implement -di debug flag for gnatbind
40957
40958 * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
40959
40960 * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
40961
40962 * lib-load.adb: Fix bad assertion.
40963 Found by testing and code reading.
40964 Minor reformatting.
40965
40966 * lib-load.ads: Minor reformatting.
40967
40968 * lib-writ.adb: There is only one R line now.
40969
40970 * lib-writ.ads: Add documentation on making downward compatible changes
40971 to ali files so old tools work with new ali files.
40972 There is only one R line now.
40973 Add documentation on format incompatibilities (with special GPS note)
40974
40975 * namet.ads, namet.adb: (Is_Operator_Name): New procedure
40976
40977 * par-load.adb: Minor reformatting
40978
40979 * sem_ch8.adb: Fix to error message from last update
40980 Minor reformatting and restructuring of code from last update
40981
40982 * par-prag.adb, snames.adb, snames.ads, snames.h,
40983 sem_prag.adb: Implement pragma Profile.
40984
40985 * stylesw.adb: Implement -gnatyN switch to turn off all style check
40986 options.
40987
40988 * usage.adb: Add line for -gnatyN switch
40989
40990 * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
40991
a41ea816
AC
409922004-02-09 Albert Lee <lee@gnat.com>
40993
40994 * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
40995
409962004-02-09 Ed Schonberg <schonberg@gnat.com>
40997
40998 * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
40999 slices.
41000
41001 * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
41002 is nested in an instance that is not frozen yet, to avoid
41003 order-of-elaboration problems in gigi.
41004
41005 * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
41006 body the attribute is legal.
41007
410082004-02-09 Robert Dewar <dewar@gnat.com>
41009
41010 * s-rident.ads: Minor comment correction
41011
41012 * targparm.adb: Remove dependence on uintp completely. There was
41013 always a bug in Make in that it called Targparm before initializing
41014 the Uint package. The old code appeared to get away with this, but
41015 the new code did not! This caused an assertion error in gnatmake.
41016
41017 * targparm.ads: Fix bad comment, restriction pragmas with parameters
41018 are indeed fully supported.
41019
725c60f8
AM
410202004-02-06 Alan Modra <amodra@bigpond.net.au>
41021
41022 * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
41023
136e64db
KH
410242004-02-05 Kazu Hirata <kazu@cs.umass.edu>
41025
41026 * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
41027 with targetm.calls.promote_prototypes.
41028
06effe87
AC
410292004-02-04 Robert Dewar <dewar@gnat.com>
41030
41031 * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
41032 ali.ads, gprcmd.adb: Minor reformatting
41033
41034 * bindgen.adb: Output restrictions string for new style restrictions
41035 handling
41036
41037 * impunit.adb: Add s-rident.ads (System.Rident) and
41038 s-restri (System.Restrictions)
41039
41040 * lib-writ.adb: Fix bug in writing restrictions string (last few
41041 entries wrong)
41042
41043 * s-restri.ads, s-restri.adb: Change name Restrictions to
41044 Run_Time_Restrictions to avoid conflict with package name.
41045 Add circuit to read and acquire run time restrictions.
41046
410472004-02-04 Jose Ruiz <ruiz@act-europe.fr>
41048
41049 * restrict.ads, restrict.adb: Use the new restriction
41050 No_Task_Attributes_Package instead of the old No_Task_Attributes.
41051
41052 * sem_prag.adb: No_Task_Attributes is a synonym of
41053 No_Task_Attributes_Package.
41054
41055 * snames.ads, snames.adb: New entry for proper handling of
41056 No_Task_Attributes.
41057
41058 * s-rident.ads: Adding restriction No_Task_Attributes_Package
41059 (AI-00249) that supersedes the GNAT specific restriction
41060 No_Task_Attributes.
41061
410622004-02-04 Ed Schonberg <schonberg@gnat.com>
41063
90afe2c9 41064 * sem_prag.adb:
06effe87
AC
41065 (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
41066 body, an identifier may be wrapped in an unchecked conversion.
41067
410682004-02-04 Vincent Celier <celier@gnat.com>
41069
41070 * lib-writ.ads: Comment update for the W lines
41071
41072 * bld.adb: (Expression): An empty string list is static
41073
41074 * fname-uf.adb: Minor comment update
41075
41076 * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
41077
41078 * gnatbind.adb: Initialize Cumulative_Restrictions with the
41079 restrictions on the target.
41080
2fb00d7f
KH
410812004-02-03 Kazu Hirata <kazu@cs.umass.edu>
41082
41083 * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
41084 gen_rtx.
41085
5ed23e25
AC
410862004-02-02 Arnaud Charlet <charlet@gnat.com>
41087
41088 * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
41089
6e937c1c
AC
410902004-02-02 Vincent Celier <celier@gnat.com>
41091
41092 * gprcmd.adb (Check_Args): If condition is false, print the invoked
41093 comment before the usage.
41094 Gprcmd: Fail when command is not recognized.
41095 (Usage): Document command "prefix"
41096
41097 * g-md5.adb (Digest): Process last block.
41098 (Update): Do not process last block. Store remaining characters and
41099 length in Context.
41100
41101 * g-md5.ads (Update): Document that several call to update are
41102 equivalent to one call with the concatenated string.
41103 (Context): Add fields to allow new Update behaviour.
41104
41105 * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
41106 defaulted to False.
41107 When May_Fail is True and no existing file can be found, return No_File.
41108
41109 * 6vcstrea.adb: Inlined functions are now wrappers to implementation
41110 functions.
41111
41112 * lib-writ.adb (Write_With_Lines): When body file does not exist, use
41113 spec file name instead on the W line.
41114
411152004-02-02 Robert Dewar <dewar@gnat.com>
41116
41117 * ali.adb: Read and acquire info from new format restrictions lines
41118
41119 * bcheck.adb: Add circuits for checking restrictions with parameters
41120
41121 * bindgen.adb: Output dummy restrictions data
41122 To be changed later
41123
41124 * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
41125 exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
41126 freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
41127 sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
41128 sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
41129
41130 * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
41131 the warning message on access to possibly uninitialized variable S)
41132 Minor changes for new restrictions handling.
41133
41134 * gnatbind.adb: Minor reformatting
41135 Minor changes for new restrictions handling
41136 Move circuit for -r processing here from bcheck (cleaner)
41137
41138 * gnatcmd.adb, gnatlink.adb: Minor reformatting
41139
41140 * lib-writ.adb: Output new format restrictions lines
41141
41142 * lib-writ.ads: Document new R format lines for new restrictions
41143 handling.
41144
41145 * s-restri.ads/adb: New files
41146
41147 * Makefile.rtl: Add entry for s-restri.ads/adb
41148
41149 * par-ch3.adb: Fix bad error messages starting with upper case letter
41150 Minor reformatting
41151
41152 * restrict.adb: Major rewrite throughout for new restrictions handling
41153 Major point is to handle restrictions with parameters
41154
41155 * restrict.ads: Major changes in interface to handle restrictions with
41156 parameters. Also generally simplifies setting of restrictions.
41157
41158 * snames.ads/adb: New entry for proper handling of No_Requeue
41159
41160 * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
41161 restriction counting.
41162 Other minor changes for new restrictions handling
41163
41164 * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
41165 Restriction_Warnings now allows full parameter notation
41166 Major rewrite of Restrictions for new restrictions handling
41167
411682004-02-02 Javier Miranda <miranda@gnat.com>
41169
41170 * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
41171 syntax rule for object renaming declarations.
41172 (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
41173 component definitions.
41174
41175 * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
41176 components.
41177 (Array_Type_Declaration): Give support to access components. In addition
41178 it was also modified to reflect the name of the object in anonymous
41179 array types. The old code did not take into account that it is possible
41180 to have an unconstrained anonymous array with an initial value.
41181 (Check_Or_Process_Discriminants): Allow access discriminant in
41182 non-limited types.
41183 (Process_Discriminants): Allow access discriminant in non-limited types
41184 Initialize the new Access_Definition field in N_Object_Renaming_Decl
41185 node. Change Ada0Y to Ada 0Y in comments
41186
41187 * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
41188 equality operators.
41189 Change Ada0Y to Ada 0Y in comments
41190
41191 * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
41192 renamings Change Ada0Y to Ada 0Y in comments
41193
41194 * sem_type.adb (Find_Unique_Type): Give support to the equality
41195 operators for universal access types
41196 Change Ada0Y to Ada 0Y in comments
41197
41198 * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
41199
41200 * sinfo.ads (N_Component_Definition): Addition of Access_Definition
41201 field.
41202 (N_Object_Renaming_Declaration): Addition of Access_Definition field
41203 Change Ada0Y to Ada 0Y in comments
41204
41205 * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
41206 component definition and object renaming nodes
41207 Change Ada0Y to Ada 0Y in comments
41208
412092004-02-02 Jose Ruiz <ruiz@act-europe.fr>
41210
41211 * restrict.adb: Use the new restriction identifier
41212 No_Requeue_Statements instead of the old No_Requeue for defining the
41213 restricted profile.
41214
41215 * sem_ch9.adb (Analyze_Requeue): Check the new restriction
41216 No_Requeue_Statements.
41217
41218 * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
41219 that supersedes the GNAT specific restriction No_Requeue. The later is
41220 kept for backward compatibility.
41221
412222004-02-02 Ed Schonberg <schonberg@gnat.com>
41223
41224 * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
41225 5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
41226 pragma and fix incorrect ones.
41227
41228 * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
41229 warning if the pragma is redundant.
41230
412312004-02-02 Thomas Quinot <quinot@act-europe.fr>
41232
41233 * 5staprop.adb: Add missing 'constant' keywords.
41234
41235 * Makefile.in: use consistent value for SYMLIB on
41236 platforms where libaddr2line is supported.
41237
412382004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
41239
41240 * utils.c (end_subprog_body): Do not call rest_of_compilation if just
41241 annotating types.
41242
412432004-02-02 Olivier Hainque <hainque@act-europe.fr>
41244
41245 * init.c (__gnat_install_handler): Setup an alternate stack for signal
41246 handlers in the environment thread. This allows proper propagation of
41247 an exception on stack overflows in this thread even when the builtin
41248 ABI stack-checking scheme is used without support for a stack reserve
41249 region.
41250
41251 * utils.c (create_field_decl): Augment the head comment about bitfield
41252 creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
41253 here, because the former is not accurate enough at this point.
41254 Let finish_record_type decide instead.
41255 Don't make a bitfield if the field is to be addressable.
41256 Always set a size for the field if the record is packed, to ensure the
41257 checks for bitfield creation are triggered.
41258 (finish_record_type): During last pass over the fields, clear
41259 DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
41260 not covered by the calls to layout_decl. Adjust DECL_NONADDRESSABLE_P
41261 from DECL_BIT_FIELD.
41262
71cbe2c1
KC
412632004-01-30 Kelley Cook <kcook@gcc.gnu.org>
41264
90afe2c9 41265 * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
71cbe2c1
KC
41266 (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
41267 (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
41268
7f996f90
RO
412692004-01-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
41270
41271 * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
41272
41273 * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
41274 (ZCX_By_Default): Likewise.
41275 (Front_End_ZCX_Support): Likewise.
41276
41277 * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
41278 (Initialize_Lock): Mark Level unreferenced.
41279 (Sleep): Mark Reason unreferenced.
41280 (Timed_Sleep): Likewise.
41281 (Wakeup): Likewise.
41282 (Exit_Task): Use Result.
41283 (Check_No_Locks): Mark Self_ID unreferenced.
90afe2c9 41284
7f996f90
RO
41285 * 5gtasinf.adb (New_Sproc): Make Attr constant.
41286 (Bound_Thread_Attributes): Make Sproc constant.
41287 (New_Bound_Thread_Attributes): Likewise.
41288
26fd4eae
AC
412892004-01-26 Ed Schonberg <schonberg@gnat.com>
41290
41291 * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
41292 one-dimensional array an slice assignments, when component type is
41293 controlled.
41294
41295 * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
41296 component type is controlled, and control_actions are in effect, use
41297 TSS procedure rather than generating inline code.
41298
41299 * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
41300 arrays with controlled components.
41301
413022004-01-26 Vincent Celier <celier@gnat.com>
41303
41304 * gnatcmd.adb (GNATCmd): Add specification of argument file on the
41305 command line for the non VMS case.
41306
41307 * gnatlink.adb (Process_Binder_File): When building object file, if
41308 GNU linker is used, put all object paths between quotes, to prevent ld
41309 error when there are unusual characters (such as '!') in the paths.
41310
41311 * Makefile.generic: When there are sources in Ada and the main is in
41312 C/C++, invoke gnatmake with -B, instead of -z.
41313
41314 * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
41315 from VMS_Conversion.
41316 (Process_Argument): New procedure, extracted from VMS_Conversion. Add
41317 specification of argument file on the command line.
41318
413192004-01-26 Bernard Banner <banner@gnat.com>
41320
41321 * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
41322
413232004-01-26 Ed Schonberg <schonberg@gnat.com>
41324
41325 * snames.adb: Update copyright notice.
41326 Add info on slice assignment for controlled arrays.
41327
b7e429ab
AC
413282004-01-23 Robert Dewar <dewar@gnat.com>
41329
41330 * exp_aggr.adb: Minor reformatting
41331
41332 * exp_ch9.adb: Minor code clean up
41333 Minor reformatting
41334 Fix bad character in comment
41335
41336 PR ada/13471
41337 * targparm.adb (Get_Target_Parameters): Give clean abort error on
41338 unexpected end of file, along with more detailed message.
41339
413402004-01-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
41341
41342 * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
41343 PAT.
41344
41345 * decl.c (copy_alias_set): New function.
41346 (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
41347
413482004-01-23 Doug Rupp <rupp@gnat.com>
41349
41350 * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
41351 lib$${file} in case subsequent character is not a separator.
41352
413532004-01-23 Vincent Celier <celier@gnat.com>
41354
41355 * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
41356 when the GCC version is at least 3.
41357
41358 * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
41359 Remove all "Opt.", to prepare for opt split
41360
41361 * prj-part.adb (Parse_Single_Project): New Boolean out parameter
41362 Extends_All. Set to True when the project parsed is an extending all
41363 project. Fails for importing an extending all project only when the
41364 imported project is an extending all project.
41365 (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
41366 depending on the value of Extends_All returned.
41367
41368 * prj-proc.adb (Process): Check that no project shares its object
41369 directory with a project that extends it, directly or indirectly,
41370 including a virtual project.
41371 Check that no project extended by another project shares its object
41372 directory with another also extended project.
41373
41374 * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
41375 Kind = N_With_Clause
41376
41377 * prj-tree.ads: Minor reformatting
41378 Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
41379
413802004-01-23 Ed Schonberg <schonberg@gnat.com>
41381
41382 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
41383 applies to a type with an incomplete view, use full view in Name of
41384 clause, for consistency with uses of Get_Attribute_Definition_Clause.
41385
413862004-01-23 Arnaud Charlet <charlet@act-europe.fr>
41387
41388 * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
41389 SCHED_RR, since other values are not supported by this policy.
41390 (Initialize): Move initialization of mutex attribute to package
41391 elaboration, to prevent early access to this variable.
41392
41393 * Makefile.in: Remove mention of Makefile.adalib, unused.
41394
b291953f
AC
41395 * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
41396 1ssecsta.ads: Removed, unused.
b7e429ab 41397
adc04486
AC
413982004-01-21 Javier Miranda <miranda@gnat.com>
41399
41400 * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
41401 entity if already built in the current scope.
41402
41403 * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
41404 reminder in internal scopes. Required for nested limited aggregates.
41405
414062004-01-21 Doug Rupp <rupp@gnat.com>
41407
41408 * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
41409 VMS. Replace all occurences of libgnat- and libgnarl- with
41410 libgnat$(hyphen) and libgnarl$(hyphen).
41411 Fixed shared library build problem on VMS.
41412
414132004-01-21 Robert Dewar <dewar@gnat.com>
41414
41415 * mlib-prj.adb: Minor reformatting
41416
414172004-01-21 Thomas Quinot <quinot@act-europe.fr>
41418
41419 * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
41420 'constant' keywords for declaration of pointers that are not modified.
41421
41422 * exp_pakd.adb: Fix English in comment.
41423
414242004-01-21 Ed Schonberg <schonberg@gnat.com>
41425
41426 PR ada/10889
41427 * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
41428 copy all attributes of the parent, including the foreign language
41429 convention.
41430
414312004-01-21 Sergey Rybin <rybin@act-europe.fr>
41432
41433 PR ada/10565
41434 * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
41435 for 'delay until' statement.
41436
a541f69d
KC
414372004-01-20 Kelley Cook <kcook@gcc.gnu.org>
41438
41439 * Make-lang.in: Replace $(docdir) with doc.
41440 (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
41441 doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
41442 to use consistent MAKEINFO rule.
41443 (ada.man, ada.srcman): Dummy entry.
41444 (ADA_INFOFILES): Define.
41445 (ada.info, ada.srcinfo): New rules.
41446
c01a9391
AC
414472004-01-19 Arnaud Charlet <charlet@act-europe.fr>
41448
41449 * utils.c: Update copyright notice, missed in previous change.
41450
414512004-01-19 Vincent Celier <celier@gnat.com>
41452
41453 * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
41454 args if Bind is True. Set First_ALI, if not already done.
41455 (Build_Library): For Stand Alone Libraries, extract from one ALI file
41456 an eventual --RTS switch, for gnatbind, and all backend switches +
41457 --RTS, for linking.
41458
414592004-01-19 Robert Dewar <dewar@gnat.com>
41460
41461 * sem_attr.adb, memtrack.adb: Minor reformatting
41462
414632004-01-19 Ed Schonberg <schonberg@gnat.com>
41464
41465 * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
41466 that rename enumeration literals. This is properly done in sem_eval.
41467
41468 * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
41469 to functions that rename enumeration literals.
41470
41471 * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
41472 functions that rename enumeration literals.
41473
510d1e80
KH
414742004-01-16 Kazu Hirata <kazu@cs.umass.edu>
41475
41476 * Make-lang.in (utils.o): Depend on target.h.
41477 * utils.c: Include target.h.
41478 (process_attributes): Use targetm.have_named_sections instead
41479 of ASM_OUTPUT_SECTION_NAME.
41480
fbf3e0dd
AJ
414812004-01-16 Andreas Jaeger <aj@suse.de>
41482
41483 * Makefile.in: Add $(DESTDIR).
41484
acd47d2a
AC
414852004-01-15 Olivier Hainque <hainque@act-europe.fr>
41486
41487 * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
41488 also when not defining if a Size clause applies. That information is
41489 not to be ignored.
41490
414912004-01-15 Arnaud Charlet <charlet@act-europe.fr>
41492
41493 * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
41494 symbolic links for the shared gnat run time when needed.
41495
414962004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr>
41497
41498 * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
41499 for writing, and terminate with an error message if not.
41500
415012004-01-15 Ed Schonberg <schonberg@gnat.com>
41502
41503 * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
41504 warning on an access to subprogram in an instance, when the target
41505 type is declared in the same generic unit.
41506 (Eval_Attribute): If 'access is known to fail accessibility check,
41507 rewrite as a raise statement.
41508
415092004-01-15 GNAT Script <nobody@gnat.com>
41510
41511 * Make-lang.in: Makefile automatically updated
41512
03787dfd
KC
415132004-01-15 Kelley Cook <kcook@gcc.gnu.org>
41514
41515 * Make-lang.in (ada.srcextra): Dummy entry.
41516
73e232f0
KC
415172004-01-14 Kelley Cook <kcook@gcc.gnu.org>
41518
41519 * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
41520
9bc43c53
AC
415212004-01-13 Ed Schonberg <schonberg@gnat.com>
41522
41523 * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
41524 components that are initialized with aggregates.
41525
415262004-01-13 Vincent Celier <celier@gnat.com>
41527
41528 * gnatlink.adb (Process_Binder_File): To find directory of shared
41529 libgcc, if "gcc-lib" is not a subdirectory, look for the last
41530 subdirectory "lib" in the path of the shared libgnat or libgnarl.
41531
41532 * make.adb (Gnatmake): If GCC version is at least 3, link with
41533 -shared-libgcc, when there is at least one shared library project.
41534
41535 * opt.ads (GCC_Version): New integer constant.
41536
41537 * adaint.c (get_gcc_version): New function.
41538
415392004-01-13 Robert Dewar <dewar@gnat.com>
41540
41541 * sem_dist.adb, sem_res.adb, sem_util.adb,
41542 sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
41543 exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
41544
415452004-01-13 Thomas Quinot <quinot@act-europe.fr>
41546
41547 * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
41548 g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
41549 declarations.
41550
8b52de7b
AC
415512004-01-12 Arnaud Charlet <charlet@act-europe.fr>
41552
f6ea0188
AC
41553 * misc.c: Remove trailing spaces.
41554 Update copyright notice missed in previous change.
41555
8b52de7b
AC
41556 PR ada/13572
41557 * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
41558 prefix/share/make
41559
41560 * Makefile.generic: Update copyright.
41561 Add license notice.
41562
41563 * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
41564 of prefix/share/make.
41565
41566 * Makefile.prolog: Update copyright.
41567 Add license notice.
41568
415692004-01-12 Laurent Pautet <pautet@act-europe.fr>
41570
41571 * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
41572 3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
41573 g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
41574 instead of String.
41575
41576 * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
41577 signature.
41578
415792004-01-12 Javier Miranda <miranda@gnat.com>
41580
41581 * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
41582 exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
41583 sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
41584 sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
41585 Component_Definition node.
41586
415872004-01-12 Ed Falis <falis@gnat.com>
41588
41589 * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
41590
415912004-01-12 Thomas Quinot <quinot@act-europe.fr>
41592
41593 * link.c: Change default libgnat kind to STATIC for FreeBSD.
41594
415952004-01-12 Bernard Banner <banner@gnat.com>
41596
41597 * Makefile.in: map 86numaux to a-numaux for x86_64
41598
415992004-01-12 Ed Schonberg <schonberg@gnat.com>
41600
41601 * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
41602 generated to rename a generic actual, go to the actual itself, the
41603 subtype is not a user-visible entity.
41604
41605 * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
41606 part is a private subtype, reset the visibility of its full view, if
41607 any, to be consistent.
41608
41609 PR ada/13417
41610 * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
41611 to use a generic package G as a formal package for another generic
41612 declared within G.
41613
416142004-01-12 Robert Dewar <dewar@gnat.com>
41615
41616 * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
41617
41618 * usage.adb: Remove mention of obsolete -gnatwb switch
41619 Noticed during code reading
41620
416212004-01-12 Jerome Guitton <guitton@act-europe.fr>
41622
41623 * 1ssecsta.adb: Minor changes for -gnatwa warnings
41624
416252004-01-12 GNAT Script <nobody@gnat.com>
41626
41627 * Make-lang.in: Makefile automatically updated
41628
0fab64a3
MM
416292004-01-09 Mark Mitchell <mark@codesourcery.com>
41630
41631 * misc.c (gnat_expand_expr): Add alt_rtl parameter.
41632
47527624
RO
416332004-01-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
41634
41635 * link.c [sgi] (shared_libgnat_default): Change to STATIC.
41636
dedebde1
KC
416372004-01-05 Kelley Cook <kcook@gcc.gnu.org>
41638
fbf3e0dd 41639 * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
dedebde1
KC
41640 Update comment and copyright date.
41641 * stamp-xgnatug: Delete.
41642
91b1417d
AC
416432004-01-05 Robert Dewar <dewar@gnat.com>
41644
41645 * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
41646 be modified by the binder generated main program if the -D switch is
41647 used.
41648
41649 * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
41650 imported functions (since now we expect this to be done for imported
41651 functions)
41652
41653 * 5vtaprop.adb: Add several ??? for sections requiring more comments
41654 Minor reformatting throughout
41655
41656 * 5zinit.adb: Minor reformatting
41657 Add 2004 to copyright date
41658 Minor changes to avoid -gnatwa warnings
41659 Correct some instances of using OR instead of OR ELSE (noted while
41660 doing reformatting)
41661
41662 * sprint.adb: Minor updates to avoid -gnatwa warnings
41663
fbf3e0dd 41664 * s-secsta.ads, s-secsta.adb:
91b1417d
AC
41665 (SS_Get_Max): New function to obtain high water mark for ss stack
41666 Default_Secondary_Stack is not a constant since it may be modified by
41667 the binder generated main program if the -D switch is used.
41668
41669 * switch-b.adb: New -Dnnn switch for binder
41670
fbf3e0dd 41671 * switch-c.adb:
91b1417d
AC
41672 Make -gnatg imply all warnings currently in -gnatwa
41673
41674 * vms_conv.adb: Minor reformatting
41675 Add 2004 to copyright notice
41676 Add 2004 to printed copyright notice
41677
41678 * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
41679 3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
41680 5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
41681 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
41682 5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
41683 5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
41684 5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
41685 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
41686 5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
41687 5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
41688 6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
41689 vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
41690 xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
41691 sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
41692 checks.adb, clean.adb, cstand.adb, einfo.ads,
41693 einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
41694 exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
41695 prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
41696 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
41697 g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
41698 lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
41699 Minor reformatting and code clean ups.
41700 Minor changes to prevent -gnatwa warnings
41701
41702 * ali.adb: Minor reformatting and cleanup of code
41703 Acquire new SS indication of secondary stack use from ali files
41704
41705 * a-numaux.ads: Add Pure_Function pragmas for all imported functions
41706 (since now we expect this to be done for imported functions)
41707
41708 * bindgen.adb: Generate call to modify default secondary stack size if
41709 -Dnnn switch given
41710
41711 * bindusg.adb: Add line for new -D switch
41712
41713 * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
41714 replacement name for Type_May_Have_Non_Bit_Aligned_Components!
41715 Add circuitry for both records and arrays to avoid gigi
41716 processing if the type involved has non-bit-aligned components
41717
41718 * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
41719 N_String_Literal node always references an E_String_Literal_Subtype
41720 entity. This may not be true in the future.
41721 (Possible_Bit_Aligned_Component): Move processing of
41722 Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
41723
41724 * exp_ch6.adb (Expand_Thread_Body): Pick up
41725 Default_Secondary_Stack_Size as variable so that we get value modified
41726 by possible -Dnnn binder parameter.
41727
41728 * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
41729 (Type_May_Have_Bit_Aligned_Components): New function.
41730
41731 * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
41732 (Type_May_Have_Bit_Aligned_Components): New function.
41733
41734 * fe.h: (Set_Identifier_Casing): Fix prototype.
41735 Add declaration for Sem_Elim.Eliminate_Error_Msg.
41736 Minor reformatting.
41737
41738 * freeze.adb (Freeze_Entity): Add RM reference to error message about
41739 importing constant atomic/volatile objects.
41740 (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
41741 unless explicit Pure_Function pragma given, to avoid insidious bug of
41742 call to non-pure imported function getting eliminated.
41743
41744 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
41745 gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
41746 gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
41747 Add 2004 to printed copyright notice
41748
41749 * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
41750 stack used.
41751
41752 * Makefile.rtl: Add entry for g-sestin.o
41753 g-sestin.ads: New file.
41754
41755 * mdll.adb: Minor changes to avoid -gnatwa warnings
41756
41757 * mlib-tgt.adb: Minor reformatting
41758
41759 * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
41760 New switch Sec_Stack_Used (GNAT, GNATBIND)
41761 Make Default_Secondary_Stack_Size a variable instead of a constant,
41762 so that it can be modified by the new -Dnnn bind switch.
41763
41764 * rtsfind.adb (Load_Fail): Give full error message in configurable
41765 run-time mode if all_errors mode is set. This was not done in the case
41766 of a file not found, which was an oversight.
41767 Note if secondary stack unit is used by compiler.
41768
41769 * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
41770 ineffective elaborate all pragmas on non-visible packages (this
41771 happened when a renamed subprogram was called). Now the elaborate all
41772 always goes on the package containing the renaming rather than the one
41773 containing the renamed subprogram.
41774
41775 * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
41776 (Process_Eliminate_Pragma): Add parameter to capture pragma location.
41777
41778 * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
41779 has an Etype that references an E_String_Literal.
41780 (Eval_String_Literal): Avoid assumption that N_String_Literal node
41781 always references an E_String_Literal_Subtype entity. This may not
41782 be true in the future.
41783
41784 * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
41785 pragma location.
41786
41787 * sem_res.adb (Resolve): Specialize msg for function name used in proc
41788 call.
41789
417902004-01-05 Ed Falis <falis@gnat.com>
41791
41792 * g-debuti.adb: Replaced direct boolean operator with short-circuit
41793 form.
41794
417952004-01-05 Vincent Celier <celier@gnat.com>
41796
41797 * bld.adb: Minor comment updates
41798 (Process_Declarative_Items): Correct incorrect name (Index_Name instead
41799 of Item_Name).
41800
41801 * make.adb (Gnatmake): Special process for files to compile/check when
41802 -B is specified. Fail when there are only foreign mains in attribute
41803 Main of the project file and -B is not specified. Do not skip bind/link
41804 steps when -B is specified.
41805
41806 * makeusg.adb: Document new switch -B
41807
41808 * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
41809
41810 * switch-m.adb: (Scan_Make_Switches): Process -B switch
41811
41812 * vms_data.ads: Add new GNAT PRETTY qualifier
41813 /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
41814
418152004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
41816
41817 * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
41818 case.
41819
41820 * misc.c (gnat_printable_name): If VERBOSITY is 2, call
41821 Set_Identifier_Casing.
41822
41823 * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
41824 has size that overflows.
41825
418262004-01-05 Gary Dismukes <dismukes@gnat.com>
41827
41828 * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
41829 -gnatwa warning on static condition.
41830
418312004-01-05 Doug Rupp <rupp@gnat.com>
41832
41833 * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
41834
418352004-01-05 Arnaud Charlet <charlet@act-europe.fr>
41836
41837 * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
41838 all attributes, including read-only attribute.
41839
418402004-01-05 Pascal Obry <obry@gnat.com>
41841
41842 * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
41843 library naming scheme.
41844
41845 * mlib-prj.adb (Build_Library): Generate different names for the static
41846 or dynamic version of the GNAT runtime. This is needed to support the
41847 new shared library naming scheme.
41848 (Process_Binder_File): Add detection of shared library in binder file
41849 based on the new naming scheme.
41850
41851 * gnatlink.adb (Process_Binder_File): Properly detect the new naming
41852 scheme for the shared runtime libraries.
41853
41854 * Makefile.in:
41855 (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
41856 scheme.
41857 (install-gnatlib): Do not create symlinks for shared libraries.
41858 (gnatlib-shared-default): Idem.
41859 (gnatlib-shared-dual-win32): New target. Not used for now as the
41860 auto-import feature does not support arrays/records.
41861 (gnatlib-shared-win32): Do not create copy for the shared libraries.
41862 (gnatlib-shared-vms): Fix shared runtime libraries names.
41863
41864 * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
41865 dependent runtime shared library name.
41866
418672004-01-05 Vasiliy Fofanov <fofanov@act-europe.fr>
41868
41869 * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
41870 than the object.
41871
418722004-01-05 Ed Schonberg <schonberg@gnat.com>
41873
41874 * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
41875 protected objects when allocator has a subtype indication, not a
41876 qualified expression. Note that qualified expressions may have to be
41877 checked when limited aggregates are implemented.
41878
41879 * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
41880 pure, emit warning.
41881 (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
41882 subprogram is imported, remove warning.
41883
418842004-01-05 Geert Bosch <bosch@gnat.com>
41885
41886 * s-poosiz.adb: Update copyright notice.
41887 (Allocate): Use Task_Lock to protect against concurrent access.
41888 (Deallocate): Likewise.
41889
418902004-01-05 Joel Brobecker <brobecker@gnat.com>
41891
41892 * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
41893 comment.
41894
2ab127f3
KC
418952003-12-23 Kelley Cook <kcook@gcc.gnu.org>
41896
41897 * gnat_ug.texi: Force a CVS commit by updating copyright.
41898 * gnat_ug_vxw.texi: Regenerate.
41899 * gnat_ug_wnt.texi: Regenerate.
41900 * gnat_ug_vms.texi: Regenerate.
41901 * gnat_ug_unx.texi: Regenerate.
41902
aed8bfdc
KH
419032003-12-20 Kazu Hirata <kazu@cs.umass.edu>
41904
41905 * trans.c: Remove uses of "register" specifier in
41906 declarations of local variables.
41907
90c2f1de
KC
419082003-12-18 Kelley Cook <kcook@gcc.gnu.org>
41909
41910 * stamp-xgnatug: New stamp file.
41911 * Make-lang.in (stamp-xgnatug): New stamp file and comment.
41912 (ada/doctools/xgnatug): Add $(build_exeext).
41913 (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
41914 ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
41915
891a6e79
AC
419162003-12-17 Ed Falis <falis@gnat.com>
41917
41918 * a-elchha.adb (Tailored_Exception_Information): made Info constant to
41919 eliminate warning.
41920
41921 * a-exextr.adb: Add context clause for
41922 Ada.Exceptions.Last_Chance_Handler.
41923
419242003-12-17 Sergey Rybin <rybin@act-europe.fr>
41925
41926 * cstand.adb (Create_Standard): Change the way how the declaration of
41927 the Duration type is created (making it the same way as it is for all
41928 the other standard types).
41929
419302003-12-17 Robert Dewar <dewar@gnat.com>
41931
41932 * s-crtl.ads: Fix header format
41933 Change Pure to Preelaborate
41934
419352003-12-17 Ed Schonberg <schonberg@gnat.com>
41936
41937 * checks.adb (Selected_Length_Checks): Generate an Itype reference for
41938 the expression type only if it is declared in the current unit.
41939
41940 * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
41941 are universal and already analyzed, as can occur in constrained
41942 subcomponents that depend on discriminants, when one constraint is a
41943 subtype mark.
41944
41945 * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
41946 type Any_Fixed is legal as the argument of a conversion, if only one
41947 fixed-point type is in context.
41948
419492003-12-17 GNAT Script <nobody@gnat.com>
41950
41951 * Make-lang.in: Makefile automatically updated
41952
209db2bf
AC
419532003-12-15 Robert Dewar <dewar@gnat.com>
41954
41955 * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
41956 sec stack size.
41957
419582003-12-15 Vincent Celier <celier@gnat.com>
41959
41960 * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
41961 (Gnatchop): Do not set failure status when reporting the number of
41962 warnings.
41963
419642003-12-15 Doug Rupp <rupp@gnat.com>
41965
41966 * s-ctrl.ads: New file.
41967
41968 * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
41969
41970 * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
41971 (GNATBIND_OBJS): Add ada/s-crtl.o.
41972
41973 * Makefile.in [VMS]: Clean up ifeq rules.
41974
41975 * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
41976 a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
41977 g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
41978 s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
41979 s-tasdeb.adb: Update copyright.
41980 Import System.CRTL.
41981 Make minor modifications to use System.CRTL declared functions instead
41982 of importing locally.
41983
419842003-12-15 GNAT Script <nobody@gnat.com>
41985
41986 * Make-lang.in: Makefile automatically updated
41987
a9f4e3d2
AC
419882003-12-11 Ed Falis <falis@gnat.com>
41989
41990 * 5zinit.adb: Clean up.
41991
41992 * 5zintman.adb (Notify_Exception): replaced case statement with a call
41993 to __gnat_map_signal, imported from init.c to support
41994 signal -> exception mappings that depend on the vxWorks version.
41995
fbf3e0dd 41996 * init.c:
a9f4e3d2
AC
41997 Created and exported __gnat_map_signal to support signal -> exception
41998 mapping that is dependent on the VxWorks version.
41999 Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
42000
420012003-12-11 Vasiliy Fofanv <fofanov@act-europe.fr>
42002
42003 * 5wosinte.ads: Link with -mthreads switch.
42004
420052003-12-11 Arnaud Charlet <charlet@act-europe.fr>
42006
42007 * init.c (__gnat_install_handler [NetBSD]): Set
42008 __gnat_handler_installed, as done on all other platforms.
42009 Remove duplicated code.
42010
420112003-12-11 Jerome Guitton <guitton@act-europe.fr>
42012
42013 * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
42014
420152003-12-11 Thomas Quinot <quinot@act-europe.fr>
42016
42017 * sinfo.ads: Fix inconsistent example code in comment.
42018
420192003-12-11 Robert Dewar <dewar@gnat.com>
42020
42021 * a-tiinau.adb: Add a couple of comments
42022
42023 * sem_ch3.adb: Minor reformatting
42024
fbf3e0dd 42025 * sem_prag.adb:
a9f4e3d2
AC
42026 Fix bad prototype of Same_Base_Type in body (code reading cleanup)
42027 Minor reformatting throughout
42028
420292003-12-11 Ed Schonberg <schonberg@gnat.com>
42030
42031 * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
42032 bounds of a loop, create a separate block in order to generate proper
42033 cleanup actions to prevent memory leaks.
42034
42035 * sem_res.adb (Resolve_Call): After a call to
42036 Establish_Transient_Scope, the call may be rewritten and relocated, in
42037 which case no further processing is needed.
42038
42039 * sem_util.adb: (Wrong_Type): Refine previous fix.
42040 Fixes ACATS regressions.
42041
42042 PR ada/13353
a9f4e3d2
AC
42043 * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
42044 be inlined.
42045
c45b6ae0
AC
420462003-12-08 Jerome Guitton <guitton@act-europe.fr>
42047
42048 * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
42049 i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
42050 obsolete files.
42051
42052 * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
42053 (rts-zfp): Ditto.
42054
420552003-12-08 Robert Dewar <dewar@gnat.com>
42056
42057 * 7sintman.adb: Minor reformatting
42058
42059 * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
42060 standard linker options to get standard libraries linked. We now plan
42061 to provide dummy versions of these libraries to match the appropriate
42062 configurable run-time (e.g. if a library is not needed at all, provide
42063 a dummy empty library).
42064
42065 * targparm.ads: Configurable_Run_Time mode no longer affects linker
42066 options (-L parameters and standard libraries). What we plan to do is
42067 to provide dummy libraries where the libraries are not required.
42068
42069 * gnatbind.adb: Minor comment improvement
42070
420712003-12-08 Javier Miranda <miranda@gnat.com>
42072
42073 * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
42074 aggregate in the parent. Otherwise constants with limited aggregates
42075 are not supported. Add new formal to pass the component type (Ctype).
42076 It is required to call the corresponding IP subprogram in case of
42077 default initialized components.
42078 (Gen_Assign): In case of default-initialized component, generate a
42079 call to the IP subprogram associated with the component.
42080 (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
42081 of aggregate with default initialized components.
42082 (Has_Default_Init_Comps): Improve implementation to recursively check
42083 all the present expressions.
42084
42085 * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
42086 to indicate that the initialization call corresponds to a
42087 default-initialized component of an aggregate.
42088 In case of default initialized aggregate with tasks this parameter is
42089 used to generate a null string (this is just a workaround that must be
42090 improved later). In case of discriminants, this parameter is used to
42091 generate a selected component node that gives access to the discriminant
42092 value.
42093
42094 * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
42095 subprogram, based on Build_Task_Allocate_Block, but adapted to expand
42096 allocated aggregates with default-initialized components.
42097
42098 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
42099 the box notation is used in positional aggregates.
42100
421012003-12-08 Samuel Tardieu <tardieu@act-europe.fr>
42102
42103 * lib.ads: Fix typo in comment
42104
421052003-12-08 Vincent Celier <celier@gnat.com>
42106
42107 * prj.adb (Project_Empty): New component Unkept_Comments
42108 (Scan): Remove procedure; moved to Prj.Err.
42109
42110 * prj.ads (Project_Data): New Boolean component Unkept_Comments
42111 (Scan): Remove procedure; moved to Prj.Err.
42112
42113 * prj-dect.adb: Manage comments for the different declarations.
42114
42115 * prj-part.adb (With_Record): New component Node
42116 (Parse): New Boolean parameter Store_Comments, defaulted to False.
42117 Set the scanner to return ends of line and comments as tokens, if
42118 Store_Comments is True.
42119 (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
42120 comments are associated with these nodes. Store the node IDs in the
42121 With_Records.
42122 (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
42123 With_Records.
42124 (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
42125 the N_Project node. Call Tree.Save and Tree.Reset before scanning the
42126 current project. Call Tree.Restore afterwards. Set the various nodes
42127 for comment storage (Next_End, End_Of_Line, Previous_Line,
42128 Previous_End).
42129
42130 * prj-part.ads (Parse): New Boolean parameter Store_Comments,
42131 defaulted to False.
42132
42133 * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
42134 to False. When Truncated is True, truncate the string, never go to the
42135 next line.
42136 (Write_End_Of_Line_Comment): New procedure
42137 (Print): Process comments for nodes N_With_Clause,
42138 N_Package_Declaration, N_String_Type_Declaration,
42139 N_Attribute_Declaration, N_Typed_Variable_Declaration,
42140 N_Variable_Declaration, N_Case_Construction, N_Case_Item.
42141 Process nodes N_Comment.
42142
42143 * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
42144 without comments and there are some comments, set the flag
42145 Unkept_Comments to True.
42146 (Scan): If there are comments, set the flag Unkept_Comments to True and
42147 clear the comments.
42148 (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
42149 (Next_End_Nodes: New table
42150 (Comment_Zones_Of): New function
42151 (Scan): New procedure; moved from Prj. Accumulate comments in the
42152 Comments table and set end of line comments, comments after, after end
42153 and before end.
42154 (Add_Comments): New procedure
42155 (Save, Restore, Seset_State): New procedures
42156 (There_Are_Unkept_Comments): New function
42157 (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
42158 (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
42159 procedures.
42160 (First_Comment_After, First_Comment_After_End): New functions
42161 (First_Comment_Before, First_Comment_Before_End): New functions
42162 (Next_Comment): New function
42163 (End_Of_Line_Comment, Follows_Empty_Line,
42164 Is_Followed_By_Empty_Line): New functions
42165 (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
42166 (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
42167 (Set_Next_Comment): New procedure
42168 (Default_Project_Node): Associate comment before if the node can store
42169 comments.
42170
42171 * scans.ads (Token_Type): New enumeration value Tok_Comment
42172 (Comment_Id): New global variable
42173
42174 * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
42175 defaulted to False.
42176 (Scan): Store position of start of comment. If comments are tokens, set
42177 Comment_Id and set Token to Tok_Comment when scanning a comment.
42178 (Set_Comment_As_Token): New procedure
42179
42180 * sinput-p.adb: Update Copyright notice
42181 (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
42182 that no longer exists.
42183
421842003-12-08 Javier Miranda <miranda@gnat.com>
42185
42186 * sem_aggr.adb: Add dependence on Exp_Tss package
42187 Correct typo in comment
42188 (Resolve_Aggregate): In case of array aggregates set the estimated
42189 type of the aggregate before calling resolve. This is needed to know
42190 the name of the corresponding IP in case of limited array aggregates.
42191 (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
42192 in case of default initialized array components.
42193
42194 * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
42195 types. Required to give support to limited aggregates in generic
42196 formals.
42197
421982003-12-08 Ed Schonberg <schonberg@gnat.com>
42199
42200 * sem_ch3.adb (Check_Initialization): For legality purposes, an
42201 inlined body functions like an instantiation.
42202 (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
42203 until bounds are analyzed, to diagnose premature use of type.
42204
42205 * sem_util.adb (Wrong_Type): Improve error message when the type of
42206 the expression is used prematurely.
42207
422082003-12-08 GNAT Script <nobody@gnat.com>
42209
42210 * Make-lang.in: Makefile automatically updated
42211
0875a894
AC
422122003-12-08 Arnaud Charlet <charlet@act-europe.fr>
42213
7618d510
AC
42214 * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
42215 they are automatically generated by Make-lang.in and cause nothing but
0875a894
AC
42216 maintenance troubles.
42217
5b4994bc
AC
422182003-12-05 Thomas Quinot <quinot@act-europe.fr>
42219
42220 * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
42221 version of this unit).
42222
422232003-12-05 Olivier Hainque <hainque@act-europe.fr>
42224
42225 * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
42226 5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
42227 5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
42228 the body of System.Interrupt_Management common to several targets.
42229 Update copyright notice when appropriate.
42230
42231 * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
42232 constant.
42233
42234 * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
42235 to ensure that the kernel fills in the interrupted context structure
42236 before calling a signal handler, which is necessary to be able to
42237 unwind past it. Update the copyright notice.
42238
422392003-12-05 Jerome Guitton <guitton@act-europe.fr>
42240
42241 * a-elchha.ads: New file.
42242
42243 * a-elchha.adb: New default last chance handler. Contents taken from
42244 Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
42245
42246 * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
42247 is moved to a-elchha.adb to provide a target-independent default last
42248 chance handler.
42249
42250 * Makefile.rtl: Add a-elchha.o
42251
42252 * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
42253
422542003-12-05 Ed Schonberg <schonberg@gnat.com>
42255
42256 * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
42257 declared in an instance, do not inline the call if the instance is not
42258 frozen yet, to prevent order of elaboration problems.
42259
42260 * sem_prag.adb: Add comments for previous fix.
42261
422622003-12-05 Samuel Tardieu <tardieu@act-europe.fr>
42263
42264 * g-table.adb: Use the right variable in Set_Item.
42265 Update copyright notice.
42266
422672003-12-05 Arnaud Charlet <charlet@act-europe.fr>
42268
42269 * Makefile.in: Remove unused rules.
42270
422712003-12-05 Vincent Celier <celier@gnat.com>
42272
42273 * switch-c.adb (Scan_Front_End_Switches): Remove processing of
42274 -nostdlib. Not needed here after all.
42275
efdfd311
AC
422762003-12-03 Thomas Quinot <quinot@act-europe.fr>
42277
42278 PR ada/11724
fbf3e0dd 42279 * adaint.h, adaint.c, g-os_lib.ads:
efdfd311
AC
42280 Do not assume that the offset argument to lseek(2) is a 32 bit integer,
42281 on some platforms (including FreeBSD), it is a 64 bit value.
42282 Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
42283
422842003-12-03 Arnaud Charlet <charlet@act-europe.fr>
42285
42286 * gnatvsn.ads (Library_Version): Now contain only the relevant
42287 version info.
42288 (Verbose_Library_Version): New constant.
42289
42290 * g-spipat.adb, g-awk.adb, g-debpoo.adb,
42291 g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
42292 s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
42293
42294 * gnatlbr.adb: Clean up: replace Library_Version by
42295 Verbose_Library_Version.
42296
fbf3e0dd 42297 * make.adb, lib-writ.adb, exp_attr.adb:
efdfd311
AC
42298 Clean up: replace Library_Version by Verbose_Library_Version.
42299
42300 * 5lintman.adb: Removed.
42301
fbf3e0dd 42302 * Makefile.in:
efdfd311
AC
42303 Update and simplify computation of LIBRARY_VERSION.
42304 Fix computation of GSMATCH_VERSION.
42305 5lintman.adb is no longer used: replaced by 7sintman.adb.
42306
423072003-12-03 Robert Dewar <dewar@gnat.com>
42308
fbf3e0dd 42309 * exp_ch5.adb:
efdfd311
AC
42310 (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
42311 name. Modified to consider small non-bit-packed arrays as troublesome
42312 and in need of component-by-component assigment expansion.
42313
423142003-12-03 Vincent Celier <celier@gnat.com>
42315
42316 * lang-specs.h: Process nostdlib as nostdinc
42317
42318 * back_end.adb: Update Copyright notice
42319 (Scan_Compiler_Arguments): Process -nostdlib directly.
42320
423212003-12-03 Jose Ruiz <ruiz@act-europe.fr>
42322
fbf3e0dd 42323 * Makefile.in:
efdfd311
AC
42324 When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
42325 redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
42326 included in HIE_NONE_TARGET_PAIRS.
42327
423282003-12-03 Ed Schonberg <schonberg@gnat.com>
42329
fbf3e0dd 42330 * sem_attr.adb:
efdfd311
AC
42331 (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
42332 is legal in an instance, because legality is cheched in the template.
42333
fbf3e0dd 42334 * sem_prag.adb:
efdfd311
AC
42335 (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
42336 appplied to an unchecked conversion of a formal parameter.
42337
fbf3e0dd 42338 * sem_warn.adb:
efdfd311
AC
42339 (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
42340 variables.
42341
423422003-12-03 Olivier Hainque <hainque@act-europe.fr>
42343
42344 * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
42345 routines. The second one is new functionality to deal with backtracing
42346 through signal handlers.
42347 (unwind): Split into the two separate subroutines above.
42348 Update the documentation, and deal properly with sizeof (REG) different
42349 from sizeof (void*).
42350
08aa9a4a
AC
423512003-12-01 Nicolas Setton <setton@act-europe.fr>
42352
42353 * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
42354 so that the debugger can reliably access the value of the parameter,
42355 and therefore is able to display the exception name when an exception
42356 breakpoint is reached.
42357
423582003-12-01 Thomas Quinot <quinot@act-europe.fr>
42359
42360 * fmap.adb: Fix typo in warning message.
42361
42362 * g-socket.ads, g-socket.adb: Make Free a visible instance of
42363 Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
42364
423652003-12-01 Vincent Celier <celier@gnat.com>
42366
42367 * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
42368 ther is no Afile.
42369 (Build_Library): Get the switches only if Default_Switches is declared
42370 in package Binder.
42371
423722003-12-01 Ed Schonberg <schonberg@gnat.com>
42373
42374 * exp_ch6.adb (Expand_Actuals): When applying validity checks to
42375 actuals that are indexed components, reanalyze actual to ensure that
42376 packed array references are properly expanded.
42377
42378 * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
42379 attempted assignment to a discriminant.
42380
423812003-12-01 Robert Dewar <dewar@gnat.com>
42382
42383 * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
42384 reformatting.
42385
42386 * switch-c.adb: Minor reformatting of comments
42387
423882003-12-01 Arnaud Charlet <charlet@act-europe.fr>
42389
42390 * Makefile.in: Clean ups.
42391
423922003-12-01 GNAT Script <nobody@gnat.com>
42393
42394 * Make-lang.in: Makefile automatically updated
42395
c6135994
AC
423962003-12-01 Arnaud Charlet <charlet@act-europe.fr>
42397
42398 * 5wsystem.ads: Disable zero cost exception, not ready yet.
42399
51a30506
UW
424002003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
42401
42402 * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
42403 to force serialization.
42404
81a5b587
AC
424052003-11-26 Thomas Quinot <quinot@act-europe.fr>
42406
fbf3e0dd 42407 * g-socket.ads, g-socket.adb:
81a5b587
AC
42408 Clarify documentation of function Stream. Introduce a Free procedure
42409 to release the returned Stream once it becomes unused.
42410
42411 * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
42412
424132003-11-26 Arnaud Charlet <charlet@act-europe.fr>
42414
42415 (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
42416 since NT 4 cannot handle timeout values that are too large,
42417 e.g. DWORD'Last - 1.
42418
424192003-11-26 Ed Schonberg <schonberg@gnat.com>
42420
fbf3e0dd 42421 * exp_ch4.adb:
81a5b587
AC
42422 (Expand_N_Slice): Recognize all cases of slices that appear as actuals
42423 in procedure calls and whose expansion must be deferred.
42424
42425 * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
42426 is in exp_ch4.
42427
fbf3e0dd 42428 * sem_ch3.adb:
81a5b587
AC
42429 (Build_Derived_Array_Type): Create operator for unconstrained type
42430 if ancestor is unconstrained.
42431
424322003-11-26 Vincent Celier <celier@gnat.com>
42433
42434 * make.adb (Project_Object_Directory): New global variable
42435 (Change_To_Object_Directory): New procedure
42436 (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
42437 of Change_Dir directly. Do not change working directory to object
42438 directory of main project after each compilation.
42439 (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
42440 directly.
42441 Change to object directory of main project before binding step.
42442 (Initialize): Initialize Project_Object_Directory to No_Project
42443
fbf3e0dd 42444 * mlib-prj.adb:
81a5b587
AC
42445 (Build_Library): Take into account Builder'Default_Switches ("Ada") when
42446 binding a Stand-Alone Library.
42447
42448 * output.adb: Update Copyright notice
42449 (Write_Char): Output buffer when full
42450
424512003-11-26 Robert Dewar <dewar@gnat.com>
42452
42453 * sem_ch13.adb: (Check_Size): Reset size if size is too small
42454
fbf3e0dd 42455 * sem_ch13.ads:
81a5b587
AC
42456 (Check_Size): Fix documentation to include bit-packed array case
42457
42458 * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
42459
42460 * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
42461
42462 * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
42463
9e94c78f 424642003-11-24 Arnaud Charlet <charlet@act-europe.fr>
d4c47b51
AC
42465
42466 PR ada/13142
42467 * utils.c (init_gigi_decls): Change name of built-in setjmp to
42468 __builtin_setjmp, since this is apparently needed by recent
42469 non Ada changes.
42470
7677e9e0
RO
424712003-11-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
42472
d4c47b51 42473 * adadecode.c: Only include ctype.h if not IN_GCC.
7677e9e0
RO
42474 (__gnat_decode): Use ISDIGIT from safe-ctype.h.
42475
6c1e24d3
AC
424762003-11-24 Jose Ruiz <ruiz@act-europe.fr>
42477
fbf3e0dd 42478 * Makefile.in:
6c1e24d3
AC
42479 Use 5zintman.ads for VxWorks targets. This file avoid confusion between
42480 signals and interrupts.
42481
42482 * 5zintman.ads: New File.
42483
42484 * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
42485 add exception signals to the set of unmasked signals.
42486
fbf3e0dd 42487 * 5ztaprop.adb:
6c1e24d3
AC
42488 Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
42489 between signals and interrupts.
42490 Add to Unblocked_Signal_Mask the set of signals that are in
42491 Keep_Unmasked.
42492
fbf3e0dd 42493 * 7sinmaop.adb:
6c1e24d3
AC
42494 Adding a check to see whether the Interrupt_ID we want to unmask is in
42495 the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
42496 reason is that the index type of the Keep_Unmasked array is not always
42497 Interrupt_ID; it may be a subtype of Interrupt_ID.
42498
424992003-11-24 Gary Dismukes <dismukes@gnat.com>
42500
fbf3e0dd 42501 * exp_util.adb:
6c1e24d3
AC
42502 (Remove_Side_Effects): Condition constantness of object created for a
42503 an unchecked type conversion on the constantness of the expression
42504 to ensure the correct value for 'Constrained when passing components
42505 of view-converted class-wide objects.
42506
425072003-11-24 Robert Dewar <dewar@gnat.com>
42508
42509 * par-load.adb (Load): Improve handling of misspelled and missing units
42510 Removes several cases of compilation abandoned messages
42511
42512 * lib.adb: (Remove_Unit): New procedure
42513
42514 * lib.ads: (Remove_Unit): New procedure
42515
42516 * lib-load.adb: Minor reformatting
42517
425182003-11-24 Vincent Celier <celier@gnat.com>
42519
fbf3e0dd 42520 * make.adb:
6c1e24d3
AC
42521 (Gnatmake, Initialize): Call Usage instead of Makeusg directly
42522 (Marking_Label): Label to mark processed source files. Incremented for
42523 each executable.
42524 (Gnatmake): Increase Marking_Labet for each executable
42525 (Is_Marked): Compare against marking label
42526 (Mark): Mark with marking label
42527
425282003-11-24 Jerome Guitton <guitton@act-europe.fr>
42529
fbf3e0dd 42530 * s-thread.ads:
6c1e24d3
AC
42531 Move the declaration of the TSD for System.Threads to System.Soft_Links.
42532 Add some comments.
42533
42534 * Makefile.in: Added target pair for s-thread.adb for cert runtime.
42535 (rts-cert): build a single relocatable object for the run-time lib.
42536 Fix perms.
42537
425382003-11-24 Vasiliy Fofanov <fofanov@act-europe.fr>
42539
fbf3e0dd 42540 * Make-lang.in:
6c1e24d3
AC
42541 Use gnatls rather than gcc to obtain the location of GNAT RTL for
42542 crosstools build.
42543
425442003-11-24 Sergey Rybin <rybin@act-europe.fr>
42545
42546 * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
42547 can not use it as before (that is, as a variable) when dumping it into
42548 the tree file. Add a local variable to store the result of this
42549 function and to be used as the string to be written into the tree.
42550
42551 * scn.adb (Initialize_Scanner): Add comments explaining the recent
42552 changes.
42553
42554 * sinput.adb (Source_First, Source_Last): In case of
42555 Internal_Source_File, replace returning attributes of
42556 Internal_Source_Ptr (which is wrong) with returning attributes of
42557 Internal_Source.
42558
425592003-11-24 Ed Schonberg <schonberg@gnat.com>
42560
fbf3e0dd 42561 * sem_ch3.adb:
6c1e24d3
AC
42562 (New_Concatenation_Op): Proper name for New_Binary_Operator, only
42563 used for implicit concatenation operators.
42564 Code cleanup.
42565
fbf3e0dd 42566 * sem_elab.adb:
6c1e24d3
AC
42567 (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
42568 task bodies that are in the scope of a Suppress pragma.
42569 (Check_A Call): Use the flag to prevent spurious elaboration checks.
42570
fbf3e0dd 42571 * sinfo.ads, sinfo.adb:
6c1e24d3
AC
42572 New flag No_Elaboration_Check on function/procedure calls, to properly
42573 suppress checks on calls in task bodies that are within a local suppress
42574 pragma.
42575
fbf3e0dd 42576 * exp_ch4.adb:
6c1e24d3
AC
42577 (Expand_Concatenate_Other): Use the proper integer type for the
42578 expression for the upper bound, to avoid universal_integer computations
42579 when possible.
42580
6f2aeb72
KC
425812003-11-21 Kelley Cook <kcook@gcc.gnu.org>
42582
42583 * .cvsignore: Delete.
42584
e9f85cd6
AS
425852003-11-21 Andreas Schwab <schwab@suse.de>
42586
42587 * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
42588
4e074baf
VF
425892003-11-21 Vasiliy Fofanov <fofanov@act-europe.fr>
42590
42591 * 5wsystem.ads: Enable zero cost exception.
42592
f1f9fe30
AC
425932003-11-21 Jerome Guitton <guitton@act-europe.fr>
42594
42595 * 5ztiitho.adb: Remove an unreferenced variable.
42596
425972003-11-21 Thomas Quinot <quinot@act-europe.fr>
42598
42599 * adaint.c: For FreeBSD, use mkstemp.
42600
426012003-11-21 Arnaud Charlet <charlet@act-europe.fr>
42602
42603 * gnatlbr.adb: Now reference Gnat_Static_Version_String.
42604
426052003-11-21 Robert Dewar <dewar@gnat.com>
42606
42607 * bld.adb: Remove useless USE of gnatvsn
42608
42609 * gnatchop.adb: Minor reformatting
42610 Clean up version handling to be more consistent
42611
42612 * gnatxref.adb: Minor reformatting
42613
42614 * gprcmd.adb: Minor reformatting
42615 Fix output of copyright to be more consistent with other tools
42616
426172003-11-21 Vincent Celier <celier@gnat.com>
42618
42619 * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
42620
426212003-11-21 Sergey Rybin <rybin@act-europe.fr>
42622
42623 * atree.adb (Initialize): Add initializations for global variables
42624 used in New_Copy_Tree.
42625
42626 * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
42627 Internal_Source_File as the actual).
42628 Put the set of statements creating Any_Character before the set of
42629 statements creating Any_Array to have Any_Character fully initialized
42630 when it is used in creating Any_Array.
42631
42632 * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
42633 not call Scan in case if the actual is Internal_Source_File
42634 Add 2003 to copyright note.
42635
42636 * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
42637 processing Internal_Source_File.
42638
42639 * types.ads: Add the constant Internal_Source_File representing the
42640 source buffer for artificial source-code-like strings created within
42641 the compiler (the definition of Source_File_Index is changed).
42642
c5b2a8ae
AC
426432003-11-20 Arnaud Charlet <charlet@act-europe.fr>
42644
42645 * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
42646 56system.ads: New file, FreeBSD version.
42647
a03ad584
JM
426482003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
42649
42650 * Make-lang.in (ada.extraclean): Delete.
42651
19f0526a
AC
426522003-11-19 Arnaud Charlet <charlet@act-europe.fr>
42653
42654 * gnatmem.adb: Clean up verbose output.
42655
42656 * gprcmd.adb: Change copyright to FSF.
42657
426582003-11-19 Vincent Celier <celier@gnat.com>
42659
42660 * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
42661 and Version (ignored).
42662
42663 * symbols.ads: (Policy): New type
42664 (Initialize): New parameter Reference, Symbol_Policy and
42665 Library_Version.
42666 Remove parameter Force.
42667 Minor reformatting.
42668
42669 * snames.ads, snames.adbadb: New standard names
42670 Library_Reference_Symbol_File and Library_Symbol_Policy
42671
fbf3e0dd 42672 * mlib-prj.adb:
19f0526a
AC
42673 (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
42674 project.
42675
fbf3e0dd 42676 * mlib-tgt.adb:
19f0526a
AC
42677 (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
42678
42679 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
42680
42681 * prj.adb: (Project_Empty): New component Symbol_Data
42682
42683 * prj.ads: (Policy, Symbol_Record): New types
42684 (Project_Data): New component Symbol_Data
42685
fbf3e0dd 42686 * prj-attr.adb:
19f0526a
AC
42687 New attributes Library_Symbol_File, Library_Symbol_Policy and
42688 Library_Reference_Symbol_File.
42689
fbf3e0dd 42690 * prj-nmsc.adb:
19f0526a
AC
42691 (Ada_Check): When project is a Stand-Alone library project, process
42692 attribute Library_Symbol_File, Library_Symbol_Policy and
42693 Library_Reference_Symbol_File.
42694
42695 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
42696 5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
42697 5sml-tgt.adb (Build_Dynamic_Library): New parameter
42698 Symbol_Data (ignored).
42699
42700 * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
42701 (Build_Dynamic_Library): New parameter Symbol_Data. New internal
42702 functions Option_File_Name and Version_String. Set new options of
42703 gnatsym related to symbol file, symbol policy and reference symbol
42704 file.
42705
fbf3e0dd 42706 * 5vsymbol.adb:
19f0526a
AC
42707 Extensive modifications to take into account the reference symbol file,
42708 the symbol policy, the library version and to put in the symbol file the
42709 minor and major IDs.
42710
42711 * bld.adb (Process_Declarative_Items): Put second argument of
42712 gprcmd to_absolute between single quotes, to avoid problems with
42713 Windows.
42714
42715 * bld-io.adb: Update Copyright notice.
42716 (Flush): Remove last character of a line, if it is a back slash, to
42717 avoid make problems.
42718
fbf3e0dd 42719 * gnatsym.adb:
19f0526a
AC
42720 Implement new scheme with reference symbol file and symbol policy.
42721
42722 * g-os_lib.ads: (Is_Directory): Clarify comment
42723
427242003-11-19 Robert Dewar <dewar@gnat.com>
42725
42726 * atree.adb: Move New_Copy_Tree global variables to head of package
42727
42728 * errout.adb: Minor reformatting
42729
427302003-11-19 Javier Miranda <miranda@gnat.com>
42731
42732 * sem_ch4.adb: (Diagnose_Call): Improve error message.
42733 Add reference to Ada0Y (AI-50217)
42734
42735 * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
42736 sem_util.adb: Add reference to AI-50217
42737
42738 * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
42739
42740 * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
42741
42742 * sem_aggr.adb: Complete documentation of AI-287 changes
42743
42744 * par-ch4.adb: Document previous changes.
42745
42746 * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
42747 sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
42748 Ada0Y (AI-50217)
42749
42750 * exp_aggr.adb: Add references to AI-287 in previous changes
42751
427522003-11-19 Ed Schonberg <schonberg@gnat.com>
42753
fbf3e0dd 42754 * exp_ch6.adb:
19f0526a
AC
42755 (Add_Call_By_Copy_Node): Do not original node of rewritten expression
42756 in the rewriting is the result of an inlined call.
42757
42758 * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
42759 parameter is a type conversion, use original node to construct the
42760 post-call assignment, because expression may have been rewritten, e.g.
42761 if it is a packed array.
42762
fbf3e0dd 42763 * sem_attr.adb:
19f0526a
AC
42764 (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
42765 body, just as it is in an instance.
42766 Categorization routines
42767
42768 * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
42769 Instantiate_Object): Set proper sloc reference for message on missing
42770 actual.
42771
427722003-11-19 Thomas Quinot <quinot@act-europe.fr>
42773
42774 * Makefile.in: Add FreeBSD libgnat pairs.
42775
42776 * usage.adb: Fix typo in usage message.
42777
427782003-11-19 Jerome Guitton <guitton@act-europe.fr>
42779
42780 * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
42781 s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
42782 pragma Thread_Body.
42783 Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
42784
42785 * s-thread.adb: This file is now a dummy implementation of
42786 System.Thread.
42787
427882003-11-19 Sergey Rybin <rybin@act-europe.fr>
42789
42790 * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
42791
427922003-11-19 Emmanuel Briot <briot@act-europe.fr>
42793
42794 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
42795 instanciation references in the parent type description.
42796
0d77ab84
AC
427972003-11-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
42798
42799 * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
42800
42801 * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
42802 TYPE_PRECISION directly from esize.
42803
428042003-11-18 Thomas Quinot <quinot@act-europe.fr>
42805
fbf3e0dd 42806 * cstreams.c:
0d77ab84
AC
42807 Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
42808
42809 * init.c: Initialization routines for FreeBSD
42810
42811 * link.c: Link info for FreeBSD
42812
42813 * sysdep.c: Add the case of FreeBSD
42814
cb7a5092
AC
428152003-11-17 Jerome Guitton <guitton@act-europe.fr>
42816
42817 * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
42818 already called in System.Threads.
42819
42820 * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
42821 environment task, as it has been moved to System.Threads.Initialization.
42822
428232003-11-17 Arnaud Charlet <charlet@act-europe.fr>
42824
42825 * adaint.c (__gnatlib_install_locks): Only reference
42826 __gnat_install_locks on VMS, since other platforms can avoid using
42827 --enable-threads=gnat
42828
428292003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
42830
42831 * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
42832
42833 * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
42834 TYPE_PACKED_ARRAY_TYPE_P.
42835 (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
42836
42837 Part of PR ada/12806
42838 * utils.c (float_type_for_precision): Renamed from float_type_for_size.
42839 Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
42840
428412003-11-17 Vincent Celier <celier@gnat.com>
42842
42843 * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
42844 to False.
42845 Do not set exit status to Failure when Warning is True.
42846 (Gnatchop): Make errors "no compilation units found" and
42847 "no source files written" warnings only.
42848
42849 * make.adb (Gnatmake): When using a project file, set
42850 Look_In_Primary_Dir to False.
42851 (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
42852 and Local_Configuration_Pragmas in the project where they are declared
42853 not an extending project which might have inherited them.
42854
42855 * osint.adb (Locate_File): If Name is already an absolute path, do not
42856 look for a directory.
42857
42858 * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
42859 -gnats (Check_Syntax) is used, issue only a warning, not an error.
42860
42861 * prj.adb (Register_Default_Naming_Scheme): Add new component Project
42862 in objects of type Variable_Value.
42863
42864 * prj.ads: (Variable_Value): New component Project
42865
42866 * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
42867 is in a project extended by Project.
42868
42869 * prj-proc.adb (Add_Attributes): New parameter Project. Set component
42870 Project of Variable_Values to this new parameter value.
42871 (Expression): Set component Project of Variable_Values.
42872 (Process_Declarative_Items): Call Add_Attributes with parameter Project.
42873 Set the component Project in array elements.
42874
428752003-11-17 Sergey Rybin <rybin@act-europe.fr>
42876
42877 * errout.adb: (Initialize): Add initialization for error nodes.
42878
42879 * sem_ch12.adb (Initialize): Add missing initializations for
42880 Exchanged_Views and Hidden_Entities.
42881
428822003-11-17 Ed Schonberg <schonberg@gnat.com>
42883
42884 * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
42885 already instantiated tree for use in subsequent inlining.
42886 (Analyze_Associations, Instantiate_Formal_Subprogram,
42887 Instantiate_Object): improve error message for mismatch in
42888 instantiations.
42889
42890 * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
42891 instantiations of subprograms declared in instances.
42892
428932003-11-17 Javier Miranda <miranda@gnat.com>
42894
42895 * sem_ch4.adb (Analyze_Allocator): Previous modification must be
42896 executed only under the Extensions_Allowed flag.
42897
428982003-11-17 Robert Dewar <dewar@gnat.com>
42899
42900 * a-exexda.adb (Address_Image): Fix documentation to indicate leading
42901 zeroes suppressed.
42902 (Address_Image): Fix bug of returning 0x instead of 0x0
42903 Minor reformatting (function specs).
42904
42905 * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
42906 (missed case of 33-63)
42907
42908 * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
42909
42910 * s-thread.adb: Add comments for pragma Restriction
42911
42912 * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
42913 sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
42914
429152003-11-17 Ed Falis <falis@gnat.com>
42916
42917 * s-thread.adb: Added No_Tasking restriction for this implementation.
42918
429192003-11-17 Emmanuel Briot <briot@act-europe.fr>
42920
42921 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
42922 instanciation references in the parent type description.
42923
429242003-11-17 GNAT Script <nobody@gnat.com>
42925
42926 * Make-lang.in: Makefile automatically updated
42927
7d60db05
JM
429282003-11-16 Jason Merrill <jason@redhat.com>
42929
42930 * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
42931 and TAGS files that include them for each front end.
42932
c0040397
AJ
429332003-11-14 Andreas Jaeger <aj@suse.de>
42934
a477ab83 42935 * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
fbf3e0dd 42936 is the canonical version.
a477ab83
AJ
42937 * misc.c (gnat_handle_option): Likewise.
42938
c0040397
AJ
42939 * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
42940
42941 * 5nsystem.ads: New file for x86_64-linux-gnu.
42942
95a6aaf9
AC
429432003-11-14 Arnaud Charlet <charlet@act-europe.fr>
42944
262cc585 42945 * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
95a6aaf9 42946
4a4fe537
AC
42947 * comperr.adb: Fix logic in previous change.
42948
65356e64
AC
429492003-11-13 Vincent Celier <celier@gnat.com>
42950
42951 * 5bml-tgt.adb (Build_Dynamic_Library): Use
42952 Osint.Include_Dir_Default_Prefix instead of
42953 Sdefault.Include_Dir_Default_Name.
42954
42955 * gnatlbr.adb: Update Copyright notice
42956 (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
42957 Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
42958 instead of Sdefault.Object_Dir_Default_Name
42959
c0040397 42960 * gnatlink.adb:
65356e64
AC
42961 (Process_Binder_File): Never suppress the option following -Xlinker
42962
c0040397 42963 * mdll-utl.adb:
65356e64
AC
42964 (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
42965 Sdefault.Object_Dir_Default_Name.
42966
c0040397 42967 * osint.ads, osint.adb:
65356e64
AC
42968 (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
42969 Minor reformatting.
42970
42971 * vms_conv.ads: Minor reformating
42972 Remove GNAT STANDARD and GNAT PSTA
42973
c0040397 42974 * vms_conv.adb:
65356e64
AC
42975 Allow GNAT MAKE to have several files on the command line.
42976 (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
42977 Sdefault.Object_Dir_Default_Name.
42978 Minor Reformating
42979 Remove data for GNAT STANDARD
42980
c0040397 42981 * vms_data.ads:
65356e64
AC
42982 Add new compiler qualifier /PRINT_STANDARD (-gnatS)
42983 Remove data for GNAT STANDARD
42984 Remove options and documentation for -gnatwb/-gnatwB: these warning
42985 options no longer exist.
42986
429872003-11-13 Ed Falis <falis@gnat.com>
42988
42989 * 5zthrini.adb: (Init_RTS): Made visible
42990
c0040397 42991 * 5zthrini.adb:
65356e64
AC
42992 (Register): Removed unnecessary call to taskVarGet that checked whether
42993 an ATSD was already set as a task var for the argument thread.
42994
c0040397 42995 * s-thread.adb:
65356e64
AC
42996 Updated comment to reflect that this is a VxWorks version
42997 Added context clause for System.Threads.Initialization
42998 Added call to System.Threads.Initialization.Init_RTS
42999
430002003-11-13 Jerome Guitton <guitton@act-europe.fr>
43001
c0040397 43002 * 5zthrini.adb:
65356e64
AC
43003 (Init_RTS): New procedure, for the initialization of the run-time lib.
43004
c0040397 43005 * s-thread.adb:
65356e64
AC
43006 Remove dependancy on System.Init, so that this file can be used in the
43007 AE653 sequential run-time lib.
43008
430092003-11-13 Robert Dewar <dewar@gnat.com>
43010
43011 * bindgen.adb: Minor reformatting
43012
430132003-11-13 Ed Schonberg <schonberg@gnat.com>
43014
c0040397 43015 * checks.adb:
65356e64
AC
43016 (Apply_Discriminant_Check): Do no apply check if target type is derived
43017 from source type with no applicable constraint.
43018
c0040397 43019 * lib-writ.adb:
65356e64
AC
43020 (Ensure_System_Dependency): Do not apply the style checks that may have
43021 been specified for the main unit.
43022
c0040397 43023 * sem_ch8.adb:
65356e64
AC
43024 (Find_Selected_Component): Further improvement in error message, with
43025 RM reference.
43026
c0040397 43027 * sem_res.adb:
65356e64
AC
43028 (Resolve): Handle properly the case of an illegal overloaded protected
43029 procedure.
43030
430312003-11-13 Javier Miranda <miranda@gnat.com>
43032
c0040397 43033 * exp_aggr.adb:
65356e64
AC
43034 (Has_Default_Init_Comps): New function to check the presence of
43035 default initialization in an aggregate.
43036 (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
43037 extension aggregate of a limited record. In addition, a new formal
43038 was added to do not initialize the record controller (if any) during
43039 this recursive expansion of ancestors.
43040 (Init_Controller): Add support for limited record components.
43041 (Expand_Record_Aggregate): In case of default initialized components
43042 convert the aggregate into a set of assignments.
43043
43044 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
43045 describing the new syntax.
43046 Nothing else needed to be done because this subprogram delegates part of
43047 its work to P_Precord_Or_Array_Component_Association.
43048 (P_Record_Or_Array_Component_Association): Give support to the new
43049 syntax for default initialization of components.
43050
c0040397 43051 * sem_aggr.adb:
65356e64
AC
43052 (Resolve_Aggregate): Relax the strictness of the frontend in case of
43053 limited aggregates.
43054 (Resolve_Record_Aggregate): Give support to default initialized
43055 components.
43056 (Get_Value): In case of default initialized components, duplicate
43057 the corresponding default expression (from the record type
43058 declaration). In case of default initialization in the *others*
43059 choice, do not check that all components have the same type.
43060 (Resolve_Extension_Aggregate): Give support to limited extension
43061 aggregates.
43062
c0040397 43063 * sem_ch3.adb:
65356e64
AC
43064 (Check_Initialization): Relax the strictness of the front-end in case
43065 of aggregate and extension aggregates. This test is now done in
43066 Get_Value in a per-component manner.
43067
43068 * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
43069 expression corresponds to a limited aggregate. This test is now done
43070 in Get_Value.
43071
43072 * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
43073 Box_Present flag.
43074
43075 * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
43076 present in an N_Component_Association node
43077
430782003-11-13 Thomas Quinot <quinot@act-europe.fr>
43079
43080 * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
43081 type-conformant entry only if they are homographs.
43082
430832003-11-13 GNAT Script <nobody@gnat.com>
43084
43085 * Make-lang.in: Makefile automatically updated
43086
49add53f
RO
430872003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
43088
43089 * adadecode.c: Use <> form of include for ctype.h.
43090 * sysdep.c [IN_RTS]: Use <> form of include for time.h.
43091
94bae1cc
RO
430922003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
43093
43094 * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
43095 Works around PR middle-end/6552.
43096
463f452c
AC
430972003-11-10 Ed Falis <falis@gnat.com>
43098
43099 * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
43100
43101 * 5zinit.adb: (Install_Handler): Moved back to spec
43102 (Install_Signal_Handlers): Deleted
43103
43104 * 5zthrini.adb: Added context clause for System.Storage_Elements
43105 (Register): Only handles creation of taskVar; initialization moved to
43106 Thread_Body_Enter.
43107 (Reset_TSD): Deleted; replaced by Thread_Body_Enter
43108 Added declaration of environment task secondary stack and
43109 initialization.
43110
43111 * s-thread.adb: Implement bodies for thread body processing
43112
c0040397 43113 * s-thread.ads:
463f452c
AC
43114 Added comment identifying supported targets for pragma Thread_Body.
43115
431162003-11-10 Pascal Obry <obry@gnat.com>
43117
43118 * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
43119 GNAT_MAX_PATH_LEN.
43120
c0040397 43121 * s-fileio.adb:
463f452c
AC
43122 (Open): Properly check for string length before copying into the buffer.
43123 Raises Name_Error if buffer is too small. Note that this was a potential
43124 buffer overflow.
43125
431262003-11-10 Romain Berrendonner <berrendo@act-europe.fr>
43127
43128 * bindgen.adb, comperr.adb: Code clean ups.
43129 * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
43130
431312003-11-10 Sergey Rybin <rybin@act-europe.fr>
43132
43133 * gnat1drv.adb: Add call to Sem_Elim.Initialize.
43134
431352003-11-10 Vincent Celier <celier@gnat.com>
43136
c0040397 43137 * gprcmd.adb:
463f452c
AC
43138 (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
43139 installation.
43140
43141 * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
43142
43143 * prj.adb: (Project_Empty): Add new boolean component Virtual
43144
43145 * prj.ads: (Virtual_Prefix): New constant string
43146 (Project_Data): New boolean component Virtual
43147
43148 * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
43149 a library project is extended by a virtual extending project.
43150
c0040397 43151 * prj-part.adb:
463f452c
AC
43152 Modifications throughout to implement extending-all project, including:
43153 (Virtual_Hash, Processed_Hash): New hash tables
43154 (Create_Virtual_Extending_Project): New procedure
43155 (Look_For_Virtual_Projects_For): New procedure
43156
c0040397 43157 * prj-proc.adb:
463f452c
AC
43158 (Process): After checking the projects, if main project is an
43159 extending-all project, set the object directory of all virtual extending
43160 project to the object directory of the main project.
43161 Adjust error message when a virtual extending project has the same
43162 object directory as an project being extended.
43163 (Recursive_Process): If name starts with the virtual prefix, set Virtual
43164 to True in the project data.
43165
c0040397 43166 * prj-tree.adb:
463f452c
AC
43167 (Default_Project_Node): Add new boolean component Extending_All
43168 (Is_Extending_All): New function
43169 (Set_Is_Extending_All): New procedure
43170
43171 * prj-tree.ads: (Is_Extending_All): New function
43172 (Set_Is_Extending_All): New procedure
43173 (Project_Node_Record): New boolean component Extending_All
43174
43175 * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
43176
c0040397 43177 * vms_data.ads:
463f452c
AC
43178 Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
43179
43180 * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
43181 "gprcmd prefix" to define it.
43182
431832003-11-10 Thomas Quinot <quinot@act-europe.fr>
43184
43185 * einfo.ads: Fix a typo and remove an extraneous word in comments.
43186
c0040397 43187 * lib-load.adb:
463f452c
AC
43188 (Create_Dummy_Package_Unit): Set the scope of the entity for the
43189 created dummy package to Standard_Standard, not to itself, to
43190 defend other parts of the front-end against encoutering a cycle in
43191 the scope chain.
43192
c0040397 43193 * sem_ch10.adb:
463f452c
AC
43194 (Analyze_With_Clause): When setting the entities for the successive
43195 N_Expanded_Names that constitute the name of a child unit, do not
43196 attempt to go further than Standard_Standard in the chain of scopes.
43197 This case arises from the placeholder units created by
43198 Create_Dummy_Package_Unit in the case of a with_clause for a
43199 nonexistent child unit.
43200
432012003-11-10 Ed Schonberg <schonberg@gnat.com>
43202
c0040397 43203 * exp_ch6.adb:
463f452c
AC
43204 (Expand_Thread_Body): Place subprogram on scope stack, so that new
43205 declarations are given the proper scope.
43206
c0040397 43207 * sem_ch13.adb:
463f452c
AC
43208 (Check_Expr_Constants): Reject an expression that contains a constant
43209 created during expansion, and that appears after the object to which
43210 the address clause applies.
43211
43212 * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
43213 Analyze_Iteration_Scheme, to rewrite a loop parameter specification
43214 that uses 'Range of a function call with controlled components, so
43215 that the function result can be finalized before starting the loop.
43216
c0040397 43217 * sem_ch8.adb:
463f452c
AC
43218 (Find_Selected_Component): Improve error message when prefix is
43219 an implicit dereference of an incomplete type.
43220
432212003-11-10 Robert Dewar <dewar@gnat.com>
43222
43223 * opt.ads: New Print_Standard flag for -gnatS switch
43224
43225 * sem_ch13.adb: Remove some additional checks for unaligned arrays
43226
43227 * cstand.adb (Create_Standard): Print out package standard if -gnatS
43228 switch set
43229
43230 * debug.adb: Update doc for -gnatds to discuss relationship with new
43231 -gnatS flag
43232
43233 * sinfo.adb: Add new field Entity_Or_Associated_Node
43234
43235 * sinfo.ads: Add new field Entity_Or_Associated_Node
43236 Update documentation for Associated_Node and Entity fields to clarify
43237 relationship and usage.
43238
c0040397 43239 * sprint.adb:
463f452c
AC
43240 (Write_Id): Properly process Associated_Node field in generic template
43241
c0040397 43242 * switch-c.adb:
463f452c
AC
43243 Recognize new -gnatS switch for printing package Standard
43244 This replaces gnatpsta
43245
c0040397 43246 * usage.adb:
463f452c
AC
43247 Add line for new -gnatS switch for printing package Standard
43248 This replaces gnatpsta
43249
c77c5f2e
AJ
432502003-11-10 Andreas Jaeger <aj@suse.de>
43251
43252 * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
43253 integer.
43254
5c90f17f
AC
432552003-11-10 Arnaud Charlet <charlet@act-europe.fr>
43256
43257 * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
43258 by gnat1.
43259
139f0d1e
AC
432602003-11-10 Arnaud Charlet <charlet@act-europe.fr>
43261
43262 * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
43263 no longer needed.
43264
43265 * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
43266
43267 * sysdep.c: Add handling of cygwin.
43268
f3e4c05c
GS
432692003-11-10 GNAT Script <nobody@gnat.com>
43270
43271 * Make-lang.in: Makefile automatically updated
43272
2cdc8909
AC
432732003-11-10 Arnaud Charlet <charlet@act-europe.fr>
43274
43275 PR 12950
43276 * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
43277 functions. Used to handle dynamic prefix relocation, via set_std_prefix.
43278 Replace GNAT_ROOT by GCC_ROOT.
43279
43280 * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
43281
37783865
ZW
432822003-11-06 Zack Weinberg <zack@codesourcery.com>
43283
43284 * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
43285 and update for changed meaning of GET_MODE_BITSIZE.
43286
6bc1c519
AC
432872003-11-04 Doug Rupp <rupp@gnat.com>
43288
43289 * sysdep.c: Problem discovered during IA64 VMS port.
43290 [VMS] #include <unixio.h> to get proper prototypes.
43291
37783865 43292 * adaint.c:
6bc1c519
AC
43293 Issues discovered/problems fixed during IA64 VMS port.
43294 [VMS] #define _POSIX_EXIT for proper semantics.
43295 [VMS] #include <unixio.h> for proper prototypes.
43296 [VMS] (fork): #define IA64 version.
43297 (__gnat_os_exit): Remove unnecessary VMS specific code.
43298
432992003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
43300
43301 Part of PR ada/12806
6bc1c519
AC
43302 * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
43303 tree, not integer.
43304
37783865 43305 * decl.c:
6bc1c519
AC
43306 (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
43307 not integer.
43308
43309 * targtyps.c, decl.c, misc.c,
43310 gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
43311 routines to work around change in FP sizing semantics in GCC.
43312
37783865 43313 * utils.c:
6bc1c519
AC
43314 (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
43315
43316 * gigi.h: (enumerate_modes): New function.
43317
43318 * Make-lang.in: (ada/misc.o): Add real.h.
43319
43320 * misc.c: (enumerate_modes): New function.
43321
433222003-11-04 Robert Dewar <dewar@gnat.com>
43323
43324 * 3vtrasym.adb: Minor reformatting
43325 Use terminology encoded/decoded name, rather than C++ specific notion
43326 of mangling (this is the terminology used throughout GNAT).
43327
43328 * einfo.h: Regenerated
43329
43330 * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
43331
37783865 43332 * exp_ch6.adb:
6bc1c519
AC
43333 (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
43334
43335 * par-prag.adb: Add dummy entry for Thread_Body pragma
43336
37783865 43337 * rtsfind.ads:
6bc1c519
AC
43338 Add entries for System.Threads entities for thread body processing
43339
37783865 43340 * sem_attr.adb:
6bc1c519
AC
43341 (Analyze_Pragma, Access attributes): Check these are not applied to a
43342 thread body, since this is not permitted
43343
43344 * sem_prag.adb: Add processing for Thread_Body pragma.
43345 Minor comment fix.
43346
37783865 43347 * sem_res.adb:
6bc1c519
AC
43348 (Resolve_Call): Check for incorrect attempt to call a thread body
43349 procedure with a direct call.
43350
43351 * snames.ads, snames.adb: Add entry for Thread_Body pragma
43352 Add names associated with thread body expansion
43353
43354 * snames.h: Add entry for Thread_Body pragma
43355
43356 * s-thread.adb: Add entries for thread body processing
43357 These are dummy bodies so far
43358
43359 * s-thread.ads: Add documentation on thread body handling.
43360 Add entries for thread body processing.
43361
433622003-11-04 Javier Miranda <miranda@gnat.com>
43363
37783865 43364 * sem_ch10.adb:
6bc1c519
AC
43365 (Build_Limited_Views): Return after posting an error in case of limited
43366 with_clause on subprograms, generics, instances or generic renamings
43367 (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
43368 on subprograms, generics, instances or generic renamings
43369
433702003-11-04 Arnaud Charlet <charlet@act-europe.fr>
43371
43372 * raise.c (setup_to_install): Correct mistake in last revision; two
43373 arguments out of order.
43374
43375 * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
43376 gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
43377 notice, missed in previous change.
43378 Remove trailing blanks and other style errors introduced in previous
43379 change.
43380
433812003-11-04 Olivier Hainque <hainque@act-europe.fr>
43382
43383 * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
43384 rid of the wrapper for a LJM type, ensuring we don't do that if the
43385 field is addressable. This avoids potential low level type view
43386 mismatches later on, for instance in a by-reference argument passing
43387 process.
43388
433892003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
43390
43391 * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
43392 aligned at byte boundary.
43393
433942003-11-04 Joel Brobecker <brobecker@gnat.com>
43395
43396 * decl.c (components_to_record): Do not delete the empty variants from
43397 the end of the union type.
43398
433992003-11-04 Ed Schonberg <schonberg@gnat.com>
43400
43401 * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
43402 operation for a derived type, an explicit declaration may use a local
43403 subtype of Boolean.
43404
434052003-11-04 Vincent Celier <celier@gnat.com>
43406
43407 * make.adb (Gnatmake): Allow main sources on the command line with a
43408 library project when it is only for compilation (no binding or
43409 linking).
43410
487e9fff
RO
434112003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
43412
43413 * Makefile.in: Remove many duplicate variables.
43414
63069342
KC
434152003-11-03 Kelley Cook <kcook@gcc.gnu.org>
43416
43417 * Make-lang.in (dvi): Move targets to $(docobjdir).
43418 (gnat_ug_vms.dvi): Simplify rule and adjust target.
43419 (gnat_ug_wnt.dvi): Likewise.
43420 (gnat_ug_unx.dvi): Likewise.
43421 (gnat_ug_vxw.dvi): Likewise.
43422 (gnat_rm.dvi): Likewise.
43423 (gnat-style.dvi): Likewise.
43424
c2edc52b
KC
434252003-10-31 Kelley Cook <kcook@gcc.gnu.org>
43426
43427 * gigi.h: Missed commit from update for C90.
43428
14df9585
KC
434292003-10-31 Kelley Cook <kcook@gcc.gnu.org>
43430
43431 * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
43432
acd8e984
AS
434332003-10-31 Andreas Schwab <schwab@suse.de>
43434
43435 * raise.c (get_action_description_for): Fix typo in last change.
43436
b2c62c45
NN
434372003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
43438
43439 PR ada/12761
43440 * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
43441 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
43442
9373164a
KC
434432003-10-30 Kelley Cook <kcook@gcc.gnu.org>
43444
43445 * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
43446 ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
43447 gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
43448 sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
43449 trans.c, utils.c, utils2.c: Convert function prototypes to C90.
43450
bde58e32
AC
434512003-10-30 Vasiliy Fofanov <fofanov@act-europe.fr>
43452
37783865 43453 * 3vtrasym.adb:
bde58e32
AC
43454 Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
43455 numbers when symbol name is too long.
43456
434572003-10-30 Ed Falis <falis@gnat.com>
43458
43459 * g-signal.ads, g-signal.adb: New files
43460
43461 * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
43462
43463 * Makefile.rtl: Introduce GNAT.Signals
43464
434652003-10-30 Robert Dewar <dewar@gnat.com>
43466
43467 * freeze.adb: Minor reformatting
43468
43469 * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
43470
37783865
ZW
43471 * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
43472 par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
bde58e32
AC
43473 New handling of Id_Check parameter to improve recognition of keywords
43474 used as identifiers.
43475 Update copyright notice to include 2003
43476
657a9dd9
AC
434772003-10-29 Robert Dewar <dewar@gnat.com>
43478
43479 * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
43480 sem_ch10.adb: Minor reformatting
43481
43482 * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
43483 (Expand_Assign_Record): Test right hand side for bit unaligned as well
43484
434852003-10-29 Vasiliy Fofanov <fofanov@act-europe.fr>
43486
37783865 43487 * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
657a9dd9
AC
43488 Support for TBK$SYMBOLIZE-based symbolic traceback.
43489
434902003-10-29 Jose Ruiz <ruiz@act-europe.fr>
43491
37783865 43492 * exp_disp.adb:
657a9dd9
AC
43493 Revert previous change, that did not work well when pragma No_Run_Time
43494 was used in conjunction with a run-time other than ZFP.
43495
434962003-10-29 Vincent Celier <celier@gnat.com>
43497
37783865 43498 * make.adb:
657a9dd9
AC
43499 (Gnatmake): When there are no Ada mains in attribute Main, disable the
43500 bind and link steps only is switch -z is not used.
43501
435022003-10-29 Arnaud Charlet <charlet@act-europe.fr>
43503
43504 * Makefile.generic: Remove duplicated setting of CC.
43505
43506 * Makefile.prolog: Set CC to gcc by default, to override make's
43507 default (cc).
43508
43509 * einfo.h: Regenerated.
43510
435112003-10-29 Ed Schonberg <schonberg@gnat.com>
43512
43513 * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
43514 current body, after compiling subunit.
43515
43516 * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
43517 when in deleted code, because gigi needs properly ordered freeze
43518 actions to annotate types.
43519
43520 * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
43521 prevent the premature freezing of record type that contains
43522 subcomponents with a private type that does not yet have a completion.
43523
435242003-10-29 Javier Miranda <miranda@gnat.com>
43525
37783865 43526 * sem_ch12.adb:
657a9dd9
AC
43527 (Analyze_Package_Instantiation): Check that instances can not be used in
43528 limited with_clauses.
43529
37783865 43530 * sem_ch8.adb:
657a9dd9
AC
43531 (Analyze_Package_Renaming): Check that limited withed packages cannot
43532 be renamed. Improve text on error messages related to limited
43533 with_clauses.
43534
43535 * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
43536
43537 * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
43538 Update copyright notice.
43539
43540 * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
43541 (Install_Limited_Context_Clauses): New subprogram that isolates all the
43542 checks required for limited context_clauses and installs the limited
43543 view.
43544 (Install_Limited_Withed_Unit): Complete its documentation.
43545 (Analyze_Context): Check that limited with_clauses are only allowed in
43546 package specs.
43547 (Install_Context): Call Install_Limited_Context_Clauses after the
43548 parents have been installed.
43549 (Install_Limited_Withed_Unit): Add documentation. Mark the installed
43550 package as 'From_With_Type'; this mark indicates that the limited view
43551 is installed. Used to check bad usages of limited with_clauses.
43552 (Build_Limited_Views): Do not add shadow entities to the scope's list
43553 of entities. Do not add real entities to the Non_Limited_Views chain.
43554 Improve error notification.
43555 (Remove_Context_Clauses): Remove context clauses in two phases:
43556 limited views first and regular views later (to maintain the
43557 stack model).
43558 (Remove_Limited_With_Clause): If the package is analyzed then reinstall
43559 its visible entities.
43560
435612003-10-29 Thomas Quinot <quinot@act-europe.fr>
43562
43563 * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
43564 with any type that Is_Fixed_Point_Type.
43565
43566 * sinfo.ads: Fix documentation for Associated_Node attribute.
43567
435682003-10-29 Sergey Rybin <rybin@act-europe.fr>
43569
43570 * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
43571 both '-gnatc' and '-gnatt' are specified.
43572
43573 * atree.adb (Initialize): Add initialization for Node_Count (set to
43574 zero).
43575
435762003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
43577
43578 * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
43579 do not consider as Pure.
43580
43581 Part of implementation of function-at-a-time:
43582
43583 * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
43584 (tree_transform): Add new argument to build_component_ref.
43585 (tree_transform, case N_Assignment_Statement): Make and return an
43586 EXPR_STMT.
43587 (tree_transform): If result IS_STMT, set flags and return it.
43588 (gnat_expand_stmt, set_lineno_from_sloc): New functions.
43589
43590 * utils2.c (build_simple_component_ref, build_component_ref): Add new
43591 arg, NO_FOLD_P.
43592 (build_binary_op, case EQ_EXPR): Pass additional arg to it.
43593 (build_allocator): Likewise.
43594
43595 * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
43596 Add new arg to build_component_ref.
43597 (maybe_unconstrained_array, unchecked_convert): Likewise.
43598
43599 * ada-tree.def (EXPR_STMT): New code.
43600
43601 * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
43602
43603 * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
43604 build_component_ref calls.
43605
43606 * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
43607
43608 * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
43609 (build_component_ref): Add new argument, NO_FOLD_P.
43610
ecad994d
AC
436112003-10-27 Arnaud Charlet <charlet@act-europe.fr>
43612
43613 * Makefile.generic: Add missing substitution on object_deps handling.
43614
6f7f72f9 43615 PR ada/5909
ecad994d
AC
43616 * Make-lang.in (check-ada): Enable ACATS test suite.
43617
436182003-10-27 Robert Dewar <dewar@gnat.com>
43619
37783865 43620 * exp_ch3.adb:
ecad994d
AC
43621 (Freeze_Array_Type): We do not need an initialization routine for types
43622 derived from String or Wide_String. They should be treated the same
43623 as String and Wide_String themselves. This caused problems with the
43624 use of Initialize_Scalars.
43625
37783865 43626 * exp_ch5.adb:
ecad994d
AC
43627 (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
43628 composites. This allows use of component clauses that are not byte
43629 aligned.
43630
37783865 43631 * sem_prag.adb:
ecad994d
AC
43632 (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
43633 is an attempt to pack an array of atomic objects.
43634
43635 * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
43636
436372003-10-27 Pascal Obry <obry@gnat.com>
43638
37783865 43639 * g-dirope.adb:
ecad994d
AC
43640 (Basename): Check for drive letters in a pathname only on DOS based OS.
43641
436422003-10-27 Vincent Celier <celier@gnat.com>
43643
37783865 43644 * make.adb:
ecad994d
AC
43645 (Gnatmake): When unable to change dir to the object dir, display the
43646 content of the parent dir of the obj dir, to try to understand why this
43647 happens.
43648
436492003-10-27 GNAT Script <nobody@gnat.com>
43650
43651 * Make-lang.in: Makefile automatically updated
43652
436532003-10-27 Ed Schonberg <schonberg@gnat.com>
43654
37783865 43655 * sem_ch12.adb:
ecad994d
AC
43656 (Inline_Instance_Body): Indicate that the save/restore of use_clauses
43657 should not be done in Save/Restore_Scope_Stack, because it is performed
43658 locally.
43659
37783865 43660 * sem_ch8.adb:
ecad994d
AC
43661 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
43662 whether use clauses should be removed/restored.
43663
37783865 43664 * sem_ch8.ads:
ecad994d
AC
43665 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
43666 whether use clauses should be removed/restored.
43667
b6b3c138
AJ
436682003-10-26 Andreas Jaeger <aj@suse.de>
43669
43670 * Makefile.in: Remove duplicated lines.
43671
b6d83931
AC
436722003-10-24 Arnaud Charlet <charlet@act-europe.fr>
43673
43674 * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
43675 minimize the differences with ACT tree.
43676
43677 * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
43678 gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
43679 Gnatvsn.Gnat_Static_Version_String to reduce differences between
43680 ACT and FSF trees.
43681
436822003-10-24 Pascal Obry <obry@gnat.com>
43683
6f7f72f9 43684 PR ada/12014
b6d83931
AC
43685 * adadecode.c (ostrcpy): New function.
43686 (__gnat_decode): Use ostrcpy of strcpy.
43687 (has_prefix): Set first parameter a const.
43688 (has_suffix): Set first parameter a const.
43689 Update copyright notice. Fix source name in header.
43690 Removes a trailing space.
b6d83931
AC
43691
436922003-10-24 Jose Ruiz <ruiz@act-europe.fr>
43693
b6b3c138 43694 * exp_disp.adb:
b6d83931
AC
43695 Remove the test against being in No_Run_Time_Mode before generating a
43696 call to Register_Tag. It is redundant with the test against the
43697 availability of the function Register_Tag.
43698
436992003-10-24 Vincent Celier <celier@gnat.com>
43700
43701 * g-catiio.adb: (Month_Name): Correct spelling of February
43702
43703 * make.adb: (Mains): New package
43704 (Initialize): Call Mains.Delete
43705 (Gnatmake): Check that each main on the command line is a source of a
43706 project file and, if there are several mains, each of them is a source
43707 of the same project file.
43708 (Gnatmake): When a foreign language is specified in attribute Languages,
43709 no main is specified on the command line and attribute Mains is not
43710 empty, only build the Ada main. If there is no Ada main, just compile
43711 the Ada sources and their closure.
43712 (Gnatmake): If a main is specified on the command line with directory
43713 information, check that the source exists and, if it does, that the path
43714 is the actual path of a source of a project.
43715
b6b3c138 43716 * prj-env.adb:
b6d83931
AC
43717 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
43718 Full_Path is True, return the full path instead of the simple file name.
43719 (Project_Of): New function
43720
b6b3c138 43721 * prj-env.ads:
b6d83931
AC
43722 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
43723 defaulted to False.
43724 (Project_Of): New function
43725
437262003-10-24 Arnaud Charlet <charlet@act-europe.fr>
43727
b6b3c138 43728 * Makefile.generic:
b6d83931
AC
43729 Ensure objects of main project are always checked and rebuilt if needed.
43730 Set CC to gcc by default.
43731 Prepare new handling of link by creating a global archive (not activated
43732 yet).
43733
43734 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
43735 stringt.h: Update copyright notice. Remove trailing blanks.
43736 Fix source name in header.
43737
437382003-10-24 Robert Dewar <dewar@gnat.com>
43739
43740 * sem_ch12.adb: Minor reformatting
43741
b6b3c138 43742 * sem_ch3.adb:
b6d83931
AC
43743 Minor reformatting (including new function return style throughout)
43744
b6b3c138 43745 * sem_ch3.ads:
b6d83931
AC
43746 Minor reformatting (including new function return style throughout)
43747
437482003-10-24 Arnaud Charlet <charlet@act-europe.fr>
43749
43750 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
43751 stringt.h: Update copyright notice. Remove trailing blanks.
43752 Fix source name in header.
43753
437542003-10-24 GNAT Script <nobody@gnat.com>
43755
43756 * Make-lang.in: Makefile automatically updated
43757
b4e2d709
NN
437582003-10-23 Nathanael Nerode <neroden@gcc.gnu.org>
43759
43760 * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
43761 stringt.h: Convert to ISO C90 declarations and definitions.
43762
9d7d51be
AC
437632003-10-23 Thomas Quinot <quinot@act-europe.fr>
43764
6f7f72f9 43765 PR ada/11978
9d7d51be
AC
43766 * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
43767 External_Tag attribute definition clauses.
43768
437692003-10-23 Ed Schonberg <schonberg@gnat.com>
43770
6f7f72f9 43771 PR ada/7613
9d7d51be
AC
43772 * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
43773 child unit, generate a fully qualified name to avoid spurious errors
43774 when the context contains renamings of different child units with
43775 the same simple name.
43776
43777 * exp_dbug.ads: Add documentation on name qualification for renamings
43778 of child units.
43779
437802003-10-23 Robert Dewar <dewar@gnat.com>
43781
43782 * g-regpat.ads, g-regpat.adb: Minor reformatting
43783
437842003-10-23 Jose Ruiz <ruiz@act-europe.fr>
43785
43786 * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
43787
437882003-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
43789
43790 * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
43791 Machine call.
43792
43793 * urealp.h: (Machine): Update to proper definition.
43794
6d244bbe
AC
437952003-10-23 Arnaud Charlet <charlet@act-europe.fr>
43796
43797 * init.c, adaint.c: Minor reformatting.
43798
8f4eb34b
DS
437992003-10-23 Danny Smith <dannysmith@users.sourceforge.net>
43800
6d244bbe 43801 * adaint.c (w32_epoch_offset): Define static const at file level.
8f4eb34b
DS
43802 (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
43803 rather than t_create, t_access in call to GetFileTime. Use union
43804 to convert between FILETIME and unsigned long long.
43805 (__gnat_file_time_name): Test for invalid file handle.
43806 (__gnat_set_filetime_name): Support win32 targets using
43807 w32api SetFileTime.
43808
25412599
DS
438092003-10-22 Danny Smith <dannysmith@users.sourceforge.net>
43810
43811 * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
43812
43813 * ctrl_c.c (__gnat_int_handler): Remove declaration.
43814
43815 * decl.c (creat_concat_name): Const-ify prefix.
43816
43817 * adaint.c: Include ctype.h if __MINGW32__.
43818 (__gnat_readlink): Mark arguments as possibly unused.
43819 (__gnat_symlink): Likewise.
43820 (__gnat_is_symbolic_link): Likewise.
43821 (__gnat_portable_spawn): Likewise. Cast last arg of spawnvp to match
43822 declaration
b6b3c138 43823 (__gnat_file_time_name): Don't declare struct stat statbuf when
25412599
DS
43824 not needed.
43825 (__gnat_is_absolute_path): Add parenthesis around condition of
43826 'if' statement to avoid warning.
43827 (__gnat_plist_init): Specify void as parameter.
43828 (plist_enter): Likewise.
43829 (plist_leave): Likewise.
43830 (remove_handle): Make static. Initialize prev.
43831
698a5e79
AC
438322003-10-22 Arnaud Charlet <charlet@act-europe.fr>
43833
6f7f72f9
EB
43834 PR ada/10110
43835 * Makefile.in: Disable build of gnatpsta.
698a5e79
AC
43836 * cstreams.c (__gnat_full_name): Minor improvements and clean up
43837 of previous change.
43838
e97c30aa
RO
438392003-10-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
43840
43841 * tracebak.c (MAX): Avoid redefinition warning.
43842
43843 * init.c [sgi] (__gnat_error_handler): Remove i, unused.
43844 Change msg to const char *.
43845 (__gnat_install_handler): Remove ss, unused.
43846 [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
43847 to const char *.
43848 * cstreams.c (__gnat_full_name): Declare p only when used.
43849 (__gnat_full_name) [sgi] Return buffer.
43850
65f1ebd1
AC
438512003-10-22 Arnaud Charlet <charlet@act-europe.fr>
43852
43853 * mingw32.h: New file.
0c644933
AC
43854 * gnat_wrapper.adb: New file.
43855
6d244bbe 438562003-10-22 Jerome Roussel <roussel@act-europe.fr>
0c644933
AC
43857
43858 * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
43859 string match a pre compiled regular expression (the corresponding
43860 version of the function working on a raw regular expression)
43861 Fix typos in various comments
43862 Update copyright notice in spec
43863
6d244bbe 438642003-10-21 Gary Dismukes <dismukes@gnat.com>
0c644933 43865
b6b3c138 43866 * exp_ch3.adb:
0c644933
AC
43867 (Component_Needs_Simple_Initialization): Return False when the type is a
43868 packed bit array. Revise spec comments to document this case.
43869
b6b3c138 43870 * exp_prag.adb:
0c644933
AC
43871 (Expand_Pragma_Import): Set any expression on the imported object to
43872 empty to avoid initializing imported objects (in particular this
43873 covers the case of zero-initialization of bit arrays).
43874 Update copyright notice.
43875
6d244bbe 438762003-10-21 Ed Schonberg <schonberg@gnat.com>
0c644933 43877
b6b3c138 43878 * sem_ch12.adb:
0c644933
AC
43879 (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
43880 a subunit is missing.
43881 (Instantiate_Subprogram_Body): If body of function is missing, set type
43882 of return expression explicitly in dummy body, to prevent cascaded
43883 errors when a subunit is missing.
43884 Fixes PR 5677.
43885
b6b3c138 43886 * sem_ch3.adb:
0c644933
AC
43887 (Access_Subprogram_Declaration): Verify that return type is valid.
43888 Fixes PR 8693.
43889
b6b3c138 43890 * sem_elab.adb:
0c644933
AC
43891 (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
43892 generic.
43893 Fixes PR 12318.
43894
b6b3c138 43895 * sem_util.adb:
0c644933
AC
43896 (Corresponding_Discriminant): If the scope of the discriminant is a
43897 private type without discriminant, use its full view.
43898 Fixes PR 8247.
65f1ebd1 43899
fbf5a39b
AC
439002003-10-21 Arnaud Charlet <charlet@act-europe.fr>
43901
43902 * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
43903 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
43904 3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
43905 55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
43906 56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
43907 59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
43908 5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
43909 5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
43910 5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
43911 5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
43912 5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
43913 5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
43914 5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
43915 5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
43916 7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
43917 a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
43918 a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
43919 a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
43920 bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
43921 erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
43922 err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
43923 g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
43924 g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
43925 g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
43926 g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
43927 g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
43928 g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
43929 gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
43930 g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
43931 g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
43932 i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
43933 prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
43934 prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
43935 s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
43936 s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
43937 s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
43938 s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
43939 s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
43940 s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
43941 s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
43942 s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
43943 socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
43944 s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
43945 s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
43946 s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
43947 styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
43948 s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
43949 tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
43950 vms_conv.ads, vms_conv.adb, vms_data.ads,
43951 vxaddr2line.adb: Files added. Merge with ACT tree.
43952
43953 * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
43954 5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
43955 5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
43956 5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
43957 g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
43958 s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
43959 s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
43960 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
43961 s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
43962 s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
43963
43964 * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
43965 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
43966 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
43967 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
43968 4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
43969 4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
43970 4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
43971 4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
43972 51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
43973 53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
43974 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
43975 5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
43976 5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
43977 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
43978 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
43979 5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
43980 5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
43981 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
43982 5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
43983 5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
43984 5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
43985 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
43986 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
43987 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
43988 5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
43989 5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
43990 5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
43991 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
43992 5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
43993 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
43994 5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
43995 5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
43996 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
43997 5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
43998 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
43999 7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
44000 7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
44001 a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
44002 a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
44003 a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
44004 a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
44005 a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
44006 ali.adb, ali.ads, ali-util.adb, ali-util.ads,
44007 a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
44008 a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
44009 a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
44010 a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
44011 a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
44012 a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
44013 a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
44014 a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
44015 a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
44016 a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
44017 a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
44018 a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
44019 atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
44020 a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
44021 a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
44022 bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
44023 checks.adb, checks.ads, cio.c, comperr.adb,
44024 comperr.ads, csets.adb, cstand.adb, cstreams.c,
44025 debug_a.adb, debug_a.ads, debug.adb, decl.c,
44026 einfo.adb, einfo.ads, errout.adb, errout.ads,
44027 eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
44028 expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
44029 exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
44030 exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
44031 exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
44032 exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
44033 exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
44034 exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
44035 exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
44036 fe.h, fmap.adb, fmap.ads, fname.adb,
44037 fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
44038 freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
44039 g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
44040 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
44041 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
44042 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
44043 g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
44044 g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
44045 g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
44046 g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
44047 g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
44048 g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
44049 g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
44050 g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
44051 gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
44052 gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
44053 gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
44054 gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
44055 gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
44056 g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
44057 g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
44058 g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
44059 g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
44060 g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
44061 g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
44062 g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
44063 g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
44064 i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
44065 i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
44066 inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
44067 itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
44068 layout.adb, lib.adb, lib.ads, lib-list.adb,
44069 lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
44070 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
44071 link.c, live.adb, make.adb, make.ads,
44072 Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
44073 mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
44074 mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
44075 misc.c, mkdir.c, mlib.adb, mlib.ads,
44076 mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
44077 mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
44078 namet.adb, namet.ads, namet.h, nlists.ads,
44079 nlists.h, nmake.adt, opt.adb, opt.ads,
44080 osint.adb, osint.ads, osint-b.adb, osint-c.adb,
44081 par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
44082 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
44083 par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
44084 par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
44085 prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
44086 prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
44087 prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
44088 prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
44089 prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
44090 prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
44091 prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
44092 prj-util.adb, prj-util.ads, raise.c, raise.h,
44093 repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
44094 rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
44095 s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
44096 s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
44097 scans.ads, scn.adb, scn.ads, s-crc32.adb,
44098 s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
44099 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
44100 sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
44101 sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
44102 sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
44103 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
44104 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
44105 sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
44106 sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
44107 sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
44108 sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
44109 sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
44110 s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
44111 s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
44112 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
44113 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
44114 s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
44115 s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
44116 s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
44117 sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
44118 sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
44119 sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
44120 s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
44121 s-memory.adb, s-memory.ads, snames.adb, snames.ads,
44122 snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
44123 s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
44124 s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
44125 s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
44126 s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
44127 s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
44128 s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
44129 s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
44130 s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
44131 s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
44132 s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
44133 s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
44134 s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
44135 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
44136 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
44137 s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
44138 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
44139 stringt.adb, stringt.ads, stringt.h, style.ads,
44140 stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
44141 s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
44142 s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
44143 switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
44144 s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
44145 table.adb, table.ads, targparm.adb, targparm.ads,
44146 targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
44147 trans.c, tree_io.adb, treepr.adb, treeprs.adt,
44148 ttypes.ads, types.ads, types.h, uintp.adb,
44149 uintp.ads, uintp.h, uname.adb, urealp.adb,
44150 urealp.ads, urealp.h, usage.adb, utils2.c,
44151 utils.c, validsw.adb, validsw.ads, widechar.adb,
44152 xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
44153 xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
44154 einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
44155 gnatvsn.ads: Merge with ACT tree.
44156
44157 * gnatvsn.adb: Rewritten in a simpler and more efficient way.
44158
97ae108d
MM
441592003-10-20 Mark Mitchell <mark@codesourcery.com>
44160
de696511
MM
44161 * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
44162 (gnat_ug_vmx.info): Likewise.
44163 (gnat_ug_vxw.info): Likewise.
44164 (gnat_ug_wnt.info): Likewise.
44165 (gnat_rm.info): Likewise.
44166 (gnat-style.info): Likewise.
44167
97ae108d
MM
44168 * Make-lang.in (ada.install-info): Remove target.
44169 (info): New target.
44170 (install-info): Likewise.
44171 (gnat_ug_unx.info): Simplify rule.
44172 (gnat_ug_vmx.info): Likewise.
44173 (gnat_ug_vxw.info): Likewise.
44174 (gnat_ug_wnt.info): Likewise.
44175 (gnat_rm.info): Likewise.
44176 (gnat-style.info): Likewise.
44177
43aba518
NN
441782003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
44179
44180 * Make-lang.in: Replace uses of $(target_alias) with
44181 $(target_noncanonical).
44182 * ada/Makefile.in: Remove unused mention of $(target_alias).
44183
62b81e45
MM
441842003-10-06 Mark Mitchell <mark@codesourcery.com>
44185
44186 * Make-lang.in (ada.info): Replace with ...
44187 (info): ... this.
44188 (ada.dvi): Replace with ...
44189 (dvi): ... this.
44190
783be936
ZW
441912003-09-29 Zack Weinberg <zack@codesourcery.com>
44192
44193 * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
44194 initialize dconstp5 and dconstmp5.
44195
177560b2
RH
441962003-09-28 Richard Henderson <rth@redhat.com>
44197
44198 * trans.c (tree_transform): Update call to expand_asm_operands.
44199
f31686a3
RH
442002003-09-21 Richard Henderson <rth@redhat.com>
44201
44202 * trans.c, utils.c: Revert.
44203
7e2af53a
RH
442042003-09-21 Richard Henderson <rth@redhat.com>
44205
44206 * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
44207 change to const.
44208
5f1e32fa
MM
442092003-09-04 Michael Matz <matz@suse.de>
44210
44211 * misc.c: Include "target.h".
44212 * Make-lang.in (misc.o): Add dependency on target.h.
44213
61f71b34
DD
442142003-09-03 DJ Delorie <dj@redhat.com>
44215
44216 * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
44217 hook.
44218
2ed26f6b
ZW
442192003-08-30 Zack Weinberg <zack@codesourcery.com>
44220
44221 * Makefile.in: Update substitutions to match changes to
44222 configure. Use include directives instead of @-insertions
44223 to read in host and target fragments. Add a rule to
44224 regenerate ada/Makefile.
44225
b2e608ca
NB
442262003-07-18 Neil Booth <neil@daikokuya.co.uk>
44227
44228 * lang-options.h: Remove.
44229 * lang.opt: Add help text.
44230
0cea056b
NS
442312003-07-07 Nathan Sidwell <nathan@codesourcery.com>
44232
44233 * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
44234 calls.
44235
cb66e385
NB
442362003-07-06 Neil Booth <neil@daikokuya.co.uk>
44237
44238 * misc.c (gnat_handle_option): Don't handle filenames.
44239
9e94c78f 442402003-07-04 H.J. Lu <hongjiu.lu@intel.com>
8c90b13a
L
44241
44242 * Make-lang.in: Replace PWD with PWD_COMMAND.
44243 * Makefile.adalib: Likewise.
44244 * Makefile.in: Likewise.
44245
9c286213
MK
442462003-07-04 Matt Kraai <kraai@alumni.cmu.edu>
44247
44248 * misc.c (gnat_argv): Revert last change.
44249 (gnat_handle_option, gnat_init_options): Copy arguments.
44250
b9add449
NB
442512003-07-03 Neil Booth <neil@daikokuya.co.uk>
44252
9c286213 44253 * misc.c (gnat_argv): Make const.
b9add449 44254
836d77a9
NB
442552003-07-02 Neil Booth <neil@daikokuya.co.uk>
44256
44257 * misc.c (save_argc, save_argv): Keep non-static!
44258
b86f6cd9
NB
442592003-07-02 Neil Booth <neil@daikokuya.co.uk>
44260
44261 * misc.c (save_argc, save_argv): Make static.
44262 (gnat_init_options): New prototype.
44263 (gnat_init_options): Update.
44264
6344b1f1
MK
442652003-07-01 Matt Kraai <kraai@alumni.cmu.edu>
44266
44267 * gnat_ug.texi: Remove unlikely characters from @vars.
44268 * gnat_ug_vms.texi: Regenerate.
44269
2e040219
NS
442702003-06-27 Nathan Sidwell <nathan@codesourcery.com>
44271
44272 * misc.c (record_code_position): Adjust emit_note call.
44273
9eee5e72
NB
442742003-06-26 Neil Booth <neil@daikokuya.co.uk>
44275
44276 * misc.c (gnat_handle_option): Don't check for missing arguments.
44277
1f9cc6db
NS
442782003-06-20 Nathan Sidwell <nathan@codesourcery.com>
44279
44280 * utils.c (end_subprog_body): Adjust expand_function_end call.
44281
23d6baa3
MK
442822003-06-16 Matt Kraai <kraai@alumni.cmu.edu>
44283
44284 * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
44285 Bind_Main_Program.
44286
be43ab4e
NB
442872003-06-15 Neil Booth <neil@daikokuya.co.uk>
44288
44289 * lang.opt: Declare Ada.
44290 * misc.c (gnat_init_options): Update.
44291
ee6b0296
NS
442922003-06-14 Nathan Sidwell <nathan@codesourcery.com>
44293
44294 * utils.c (begin_subprog_body): Adjust init_function_start call.
44295
d7b42618
NB
442962003-06-14 Neil Booth <neil@daikokuya.co.uk>
44297
44298 * Make-lang.in: Update to use options.c and options.h.
44299 * misc.c: Include options.h not aoptions.h.
44300 (gnat_handle_option): Abort on unrecognized switch.
44301 (gnat_init_options): Request Ada switches.
44302
57eb6503
NB
443032003-06-14 Neil Booth <neil@daikokuya.co.uk>
44304
44305 * lang.opt: Add -Wall.
44306 * misc.c (gnat_handle_option): Handle it.
44307
70fd6569
NB
443082003-06-12 Neil Booth <neil@daikokuya.co.uk>
44309
44310 * misc.c (gnat_handle_option): Fix warnings.
44311
8cdea5a1
MK
443122003-06-11 Matt Kraai <kraai@alumni.cmu.edu>
44313
44314 * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
44315
3c900cb5
NB
443162003-06-11 Neil Booth <neil@daikokuya.co.uk>
44317
44318 * Make-lang.in: Update to handle command-line options.
44319 * lang.opt: New file.
44320 * misc.c: Include aoptions.h.
44321 (cl_options_count, cl_options): Remove.
44322 (gnat_handle_option): New.
44323 (gnat_decode_option): Remove.
44324 (LANG_HOOKS_DECODE_OPTION): Remove.
44325 (LANG_HOOKS_HANDLE_OPTION): Override.
44326
e8face4c
NN
443272003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
44328
44329 * init.c, misc.c, trans.c, utils.c: Remove dead code.
44330
4665e56c
NN
443312003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
44332
44333 * Makefile.in: Replace "host_canonical" with "host" for autoconf
44334 substitution.
44335
a165c302
NB
443362003-06-08 Neil Booth <neil@daikokuya.co.uk>
44337
44338 * Make-lang.in: Update.
44339 * misc.c: Include opts.h. Define cl_options_count and cl_options.
44340
2772ef3e
NB
443412003-06-07 Neil Booth <neil@daikokuya.co.uk>
44342
44343 * misc.c (gnat_init_options): Update.
44344
d8277a55
MK
443452003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
44346
44347 * Make-lang.in (ada/b_gnatb.o-warn): Remove.
44348 * bindgen.adb (Gen_Main_C): Mark ensure_reference with
44349 __attribute__ ((__unused__)).
44350
602a82f3 443512003-06-05 Jan Hubicka <jh@suse.cz>
8f231b5d
JH
44352
44353 * Make-lang.in: Add support for stageprofile and stagefeedback
44354
3aa07c6d
MK
443552003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
44356
44357 * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
44358 (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
44359
f1093866
MK
443602003-06-04 Matt Kraai <kraai@alumni.cmu.edu>
44361
44362 * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
44363 Remove non-VMS directive.
44364 (Switches for gnatlbr, Optimization Levels): Remove non-VMS
44365 alternatives.
44366 (Examples of gnatls Usage): Remove VMS alternative.
dee2df72
OH
44367
443682003-06-04 Olivier Hainque <hainque@act-europe.fr>
44369
6f7f72f9 44370 PR ada/9953
2ed26f6b
ZW
44371 * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
44372 and turn ZCX_By_Default back to False since the underlying support
44373 is not quite there yet.
dee2df72 44374
80eaf415
AJ
443752003-06-01 Andreas Jaeger <aj@suse.de>
44376
44377 * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
44378 and ROUND_TYPE_SIZE_UNIT.
44379
9e94c78f 443802003-05-22 Geert Bosch <bosch@gnat.com>
36f9020c
GB
44381
44382 * gnat_rm.texi : Remove reference to Ada Core Technologies.
44383
e7b5f0c9
NS
443842003-05-03 Nathan Sidwell <nathan@codesourcery.com>
44385
44386 * trans.c (tree_transform): Use location_t and input_location
44387 directly.
44388 (build_unit_elab): Likewise.
44389 * utils.c (create_label_decl): Likewise.
44390
d479d37f
NS
443912003-05-01 Nathan Sidwell <nathan@codesourcery.com>
44392
561712fe
NS
44393 * trans.c (tree_transform, build_unit_elab,
44394 set_lineno): Rename lineno to input_line.
d479d37f
NS
44395 * utils.c (pushdecl, create_label_decl, begin_subprog_body,
44396 end_subprog_body): Likewise.
44397 * utils2.c (build_call_raise): Likewise.
44398
9e94c78f 443992003-05-01 Laurent Guerby <guerby@acm.org>
4f9335cd 44400
2ed26f6b
ZW
44401 PR ada/10546
44402 * 5iosinte.ads: Increase pthread_cond_t size to match recent
44403 LinuxThread and NPTL version, merge from ACT.
80eaf415 44404
0864034e
ZW
444052003-04-28 Zack Weinberg <zack@codesourcery.com>
44406
44407 * utils.c (convert): No need to clear TREE_CST_RTL.
44408
9e94c78f 444092003-04-23 Geert Bosch <bosch@gnat.com>
bcea76b6
GB
44410
44411 * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
44412 1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
44413 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
44414 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
44415 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
44416 4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
44417 4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
44418 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
44419 4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
44420 4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
44421 4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
44422 4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
44423 52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
44424 5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
44425 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
44426 5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
44427 5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
44428 5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
44429 5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
44430 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
44431 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
44432 5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
44433 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
44434 5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
44435 5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
44436 5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
44437 5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
44438 5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
44439 5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
44440 5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
44441 5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
44442 5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
44443 5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
44444 5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
44445 5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
44446 5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
44447 5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
44448 5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
44449 5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
44450 5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
44451 5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
44452 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
44453 5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
44454 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
44455 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
44456 7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
44457 7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
44458 9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
44459 a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
44460 a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
44461 a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
44462 a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
44463 a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
44464 a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
44465 a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
44466 a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
44467 a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
44468 a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
44469 a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
44470 a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
44471 a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
44472 a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
44473 a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
44474 a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
44475 a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
44476 a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
44477 a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
44478 a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
44479 a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
44480 a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
44481 a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
44482 a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
44483 a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
44484 a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
44485 a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
44486 a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
44487 a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
44488 a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
44489 a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
44490 a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
44491 a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
44492 a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
44493 a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
44494 a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
44495 a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
44496 a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
44497 a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
44498 a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
44499 a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
44500 a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
44501 a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
44502 a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
44503 a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
44504 a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
44505 a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
44506 a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
44507 a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
44508 a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
44509 a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
44510 a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
44511 a-wttest.ads, ada-tree.h, ada.ads, ada.h,
44512 adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
44513 ali.adb, ali.ads, alloc.ads, argv.c,
44514 atree.adb, atree.ads, atree.h, aux-io.c,
44515 back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
44516 binde.adb, binde.ads, binderr.adb, binderr.ads,
44517 bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
44518 butil.adb, butil.ads, cal.c, calendar.ads,
44519 casing.adb, casing.ads, ceinfo.adb, checks.adb,
44520 checks.ads, cio.c, comperr.adb, comperr.ads,
44521 config-lang.in, csets.adb, csets.ads, csinfo.adb,
44522 cstand.adb, cstand.ads, cuintp.c, debug.adb,
44523 debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
44524 dec-io.ads, dec.ads, deftarg.c, directio.ads,
44525 einfo.adb, einfo.ads, elists.adb, elists.ads,
44526 elists.h, errno.c, errout.adb, errout.ads,
44527 eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
44528 exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
44529 exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
44530 exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
44531 exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
44532 exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
44533 exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
44534 exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
44535 exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
44536 exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
44537 exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
44538 exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
44539 exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
44540 exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
44541 exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
44542 fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
44543 fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
44544 freeze.adb, freeze.ads, frontend.adb, frontend.ads,
44545 g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
44546 g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
44547 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
44548 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
44549 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
44550 g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
44551 g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
44552 g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
44553 g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
44554 g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
44555 g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
44556 g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
44557 g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
44558 g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
44559 g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
44560 g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
44561 g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
44562 g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
44563 g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
44564 g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
44565 g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
44566 g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
44567 get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
44568 gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
44569 gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
44570 gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
44571 gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
44572 gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
44573 gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
44574 gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
44575 hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
44576 i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
44577 i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
44578 i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
44579 i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
44580 i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
44581 i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
44582 inline.adb, inline.ads, interfac.ads, ioexcept.ads,
44583 itypes.adb, itypes.ads, krunch.adb, krunch.ads,
44584 layout.adb, layout.ads, lib-list.adb, lib-load.adb,
44585 lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
44586 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
44587 lib.adb, lib.ads, live.adb, live.ads,
44588 machcode.ads, make.adb, make.ads, makeusg.adb,
44589 makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
44590 mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
44591 memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
44592 mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
44593 mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
44594 mlib.ads, namet.adb, namet.ads, nlists.adb,
44595 nlists.ads, opt.adb, opt.ads, osint-b.adb,
44596 osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
44597 osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
44598 osint.ads, output.adb, output.ads, par-ch10.adb,
44599 par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
44600 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
44601 par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
44602 par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
44603 par-tchk.adb, par-util.adb, par.adb, par.ads,
44604 prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
44605 prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
44606 prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
44607 prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
44608 prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
44609 prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
44610 prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
44611 prj.adb, prj.ads, repinfo.adb, repinfo.ads,
44612 restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
44613 rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
44614 s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
44615 s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
44616 s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
44617 s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
44618 s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
44619 s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
44620 s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
44621 s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
44622 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
44623 s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
44624 s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
44625 s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
44626 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
44627 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
44628 s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
44629 s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
44630 s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
44631 s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
44632 s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
44633 s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
44634 s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
44635 s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
44636 s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
44637 s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
44638 s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
44639 s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
44640 s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
44641 s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
44642 s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
44643 s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
44644 s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
44645 s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
44646 s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
44647 s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
44648 s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
44649 s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
44650 s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
44651 s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
44652 s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
44653 s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
44654 s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
44655 s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
44656 s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
44657 s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
44658 s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
44659 s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
44660 s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
44661 s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
44662 s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
44663 s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
44664 s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
44665 s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
44666 s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
44667 s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
44668 s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
44669 s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
44670 s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
44671 s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
44672 s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
44673 s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
44674 s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
44675 s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
44676 s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
44677 s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
44678 s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
44679 s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
44680 s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
44681 s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
44682 s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
44683 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
44684 s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
44685 s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
44686 s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
44687 s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
44688 s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
44689 s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
44690 s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
44691 s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
44692 s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
44693 s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
44694 s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
44695 s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
44696 s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
44697 s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
44698 s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
44699 s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
44700 s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
44701 s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
44702 s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
44703 s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
44704 s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
44705 s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
44706 s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
44707 scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
44708 sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
44709 sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
44710 sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
44711 sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
44712 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
44713 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
44714 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
44715 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
44716 sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
44717 sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
44718 sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
44719 sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
44720 sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
44721 sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
44722 sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
44723 sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
44724 sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
44725 sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
44726 sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
44727 sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
44728 snames.ads, sprint.adb, sprint.ads, stand.adb,
44729 stand.ads, stringt.adb, stringt.ads, style.adb,
44730 style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
44731 switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
44732 switch-m.ads, switch.adb, switch.ads, system.ads,
44733 table.adb, table.ads, targparm.adb, targparm.ads,
44734 tbuild.adb, tbuild.ads, text_io.ads, trans.c,
44735 tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
44736 tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
44737 ttypef.ads, ttypes.ads, types.adb, types.ads,
44738 uintp.adb, uintp.ads, uname.adb, uname.ads,
44739 unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
44740 usage.adb, usage.ads, validsw.adb, validsw.ads,
44741 widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
44742 xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
44743 xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
44744 formatting and other trivial changes from ACT.
44745
dcf92453
ZW
447462003-04-12 Zack Weinberg <zack@codesourcery.com>
44747
44748 * gigi.h, utils2.c (build_constructor):
44749 Rename gnat_build_constructor. Use build_constructor.
44750 * decl.c (gnat_to_gnu_entity)
44751 * trans.c (tree_transform, pos_to_constructor, extract_values)
44752 * ada/utils.c (build_template, convert_to_fat_pointer, convert)
44753 (unchecked_convert)
44754 * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
44755 (fill_vms_descriptor):
44756 Update to match.
44757
d78e771d
ZW
447582003-04-06 Zack Weinberg <zack@codesourcery.com>
44759
44760 * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
44761 * misc.c (gnat_tree_size): New function.
44762 (LANG_HOOKS_TREE_SIZE): Override.
44763
78d55cc8
JM
447642003-04-03 Jason Merrill <jason@redhat.com>
44765
44766 * misc.c (gnat_adjust_rli): #if 0.
44767
9e94c78f 447682003-03-31 Geert Bosch <bosch@gnat.com>
b174e2d4
GB
44769
44770 PR ada/10020
44771 * link.c : Fix misspelled "const" keyword
44772
f29a2bd1
MM
447732003-03-23 Mark Mitchell <mark@codesourcery.com>
44774
44775 PR c++/7086
44776 * utils2.c: Adjust calls to put_var_into_stack.
44777
08e247b1
NN
447782003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
44779
44780 * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
44781
4bfec483
NB
447822003-03-08 Neil Booth <neil@daikokuya.co.uk>
44783
44784 * misc.c (gnat_init): Update for new prototype.
44785
3d713bb8
GB
447862003-03-05 Olivier Hainque <hainque@gnat.com>
44787
44788 ada/9961
78d55cc8
JM
44789 * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
44790 warning, and fix return type for the IN_RTS && !SJLJ case.
3d713bb8 44791
8b89fcdf
TT
447922003-03-04 Tom Tromey <tromey@redhat.com>
44793
44794 * Make-lang.in (ada.tags): New target.
44795
3d713bb8 447962003-03-04 Olivier Hainque <hainque@act-europe.fr>
23cae84f
OH
44797
44798 ada/9911
44799 * a-except.adb (Unwind_RaiseException): Import a GNAT specific
44800 wrapper, which name remains constant whatever underlying GCC
44801 scheme.
44802
44803 * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
44804 the stable interface needed for a-except.
44805
f4ae98be
AJ
448062003-03-02 Andreas Jaeger <aj@suse.de>
44807
44808 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
44809 gnat_ug_wnt.texi: Regenerate.
44810
9e94c78f 448112003-03-02 Laurent Guerby <guerby@acm.org>
5348742b 44812
f4ae98be 44813 * Makefile.in (install-gnatlib): Match previous change there
5348742b 44814 so it works.
f4ae98be 44815
8c108db2
AS
448162003-02-28 Andreas Schwab <schwab@suse.de>
44817
44818 * Make-lang.in (install-gnatlib): Change to ada directory before
44819 running make instead of using ada/Makefile directly.
44820
601d71bc
BE
448212003-02-18 Ben Elliston <bje@redhat.com>
44822
6f7f72f9 44823 Part of PR ada/9406
601d71bc
BE
44824 * gnat_ug.texi (Binder output file): Grammar fix.
44825
bf7c02dd
BE
448262003-02-18 Ben Elliston <bje@redhat.com>
44827
44828 PR other/7350
44829 * 5qtaprop.adb (Sleep): Fix typo in comment.
44830
b3a8389d
JM
448312003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
44832
44833 * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
44834 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
44835 gnat_ug_wnt.texi: Regenerate.
44836
9e94c78f 448372003-02-03 Christian Cornelssen <ccorn@cs.tu-berlin.de>
5da14cb5
CC
44838
44839 * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
44840 be created if necessary.
44841 (ada.install-common): Let $(DESTDIR)$(bindir) be created
44842 if necessary. Remove erroneous and redundant gnatchop
44843 installation commands. Test for gnatdll before attempting
44844 to install it.
44845 (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
44846 and gnatdll from all plausible locations.
44847
271bd540
RS
448482003-02-01 Richard Sandiford <rsandifo@redhat.com>
44849
44850 * utils2.c (build_unary_op): Don't check flag_volatile.
44851 * gnat_ug.texi: Remove -fvolatile from example.
44852 * gnat_ug_vxw.texi: Likewise.
44853
9e94c78f 448542003-01-29 Laurent Guerby <guerby@acm.org>
c1cc6a51 44855
d78e771d
ZW
44856 PR ada/8344
44857 * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
44858 * Makefile.in: match previous change.
44859 * Make-lang.in: match previous change.
c1cc6a51 44860
9e94c78f 448612003-01-29 Joel Sherrill <joel@OARcorp.com>
c4039eb0
JS
44862
44863 * 5rosinte.ads: Add SIGXCPU.
44864 * 5rtpopsp.adb: New file.
44865 * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
44866 * Makefile.in: Recognize more RTEMS targets and add the RTEMS
44867 specific file 5rtpopsp.adb.
44868 * adaint.h: Add include of <stdio.h> when target is RTEMS. This
44869 is likely needed for all newlib targets.
44870 * init.c: Add RTEMS specific version of __gnat_initialize().
44871
00d29f7d
RO
448722003-01-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
44873
44874 * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
44875
437026ef
RO
448762003-01-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
44877
44878 * init.c (__gnat_error_handler): Make msg const.
44879
44880 * gmem.c (convert_addresses): Move declaration ...
44881 * adaint.h: ... here.
44882 * adaint.c (convert_addresses): Adapt addrs type to match
44883 prototype.
44884
44885 * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
44886
e12825cd
AS
448872003-01-24 Andreas Schwab <schwab@suse.de>
44888
44889 * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
44890 size_t to avoid warning.
44891
a8729406
ZW
448922003-01-21 Zack Weinberg <zack@codesourcery.com>
44893
b09b91b9 44894 * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
a8729406 44895
17211ab5
GK
448962003-01-09 Geoffrey Keating <geoffk@apple.com>
44897
44898 * gnat_rm.texi: Remove RCS version number.
44899
44900 * ada-tree.h (union lang_tree_node): Add chain_next option.
44901
1d27195c
CC
449022003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
44903
44904 * Make-lang.in (ada.install-info, ada.install-common,
44905 ada.uninstall): Prepend $(DESTDIR) to the destination
44906 directory in all (un)installation commands.
44907 * Makefile.in (install-gnatlib, install-rts): Ditto.
44908
bdefb2ab
JM
449092002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
44910
44911 * gnat_rm.texi, gnat_ug.texi: Use @copying.
44912 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
44913 gnat_ug_wnt.texi: Regenerate.
44914
46d40353
JM
449152002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
44916
44917 * gnat_rm.texi: Include gcc-common.texi. Use GCC version number
44918 only.
44919 * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
44920 $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
44921 $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
44922 ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
44923 ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
44924 $(srcdir)/doc/include/gcc-common.texi.
44925
9e94c78f 449262002-12-15 Geert Bosch <bosch@gnat.com>
d2f97d3e
GB
44927
44928 * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
44929
9e94c78f 449302002-12-14 Geert Bosch <bosch@gnat.com>
93a81b02 44931
6f7f72f9 44932 PR ada/5690
4977bab6
ZW
44933 * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
44934 case of a body created for a Renaming_As_Body, on which
6f7f72f9 44935 conformance checks are not performed.
4977bab6
ZW
44936
449372002-11-30 Zack Weinberg <zack@codesourcery.com>
44938
44939 * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
44940 utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
44941 not already included.
44942 * Make-lang.in: Update dependencies.
93a81b02 44943
dfc15546
NN
449442002-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
44945 * adaint.c (__gnat_tmp_name): Better, but good enough for now,
4977bab6 44946 solution to buffer overflow bug on GNU/Linux.
dfc15546 44947
8b54424d 449482002-11-14 Nathanael Nerode <neroden@gcc.gnu.org>
6f7f72f9
EB
44949
44950 PR ada/5856
44951 PR ada/6919
8b54424d
NN
44952 * bindgen.adb: Remove all references to Public_Version.
44953 * comperr.adb: Remove all references to Public_Version and
44954 GNATPRO_Version; correct bug reporting instructions.
44955 * comperr.ads: Change to match bug box.
44956 * gnatvsn.ads: Remove all references to Public version and
44957 GNATPRO version.
44958
cc41268d 449592002-11-13 Nathanael Nerode <neroden@gcc.gnu.org>
6f7f72f9 44960
1a083c0e
NN
44961 PR ada/6919
44962 * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
44963 GNU/Linux.
44964
cc41268d
NN
44965 PR ada/6558
44966 * config-lang.in: Remove diff_excludes.
44967
1c7b0712 449682002-11-05 Graham Stott <graham.stott@btinternet.com>
6f7f72f9 44969
1c7b0712
GS
44970 PR ada/8358
44971 * trans.c (gnu_pending_elaboration_lists): New GC root.
4977bab6 44972 (build_unit_elab): Use..
1c7b0712 44973
9e94c78f 449742002-10-30 Geert Bosch <bosch@gnat.com>
6f7f72f9 44975
1c4048ca
GB
44976 PR ada/6558
44977 * misc.c : Include optabs.h
44978
44979 * Make-lang.in (misc.o): Add dependency on optabs.h
44980
9e94c78f 449812002-10-29 Geert Bosch <bosch@gnat.com>
6f7f72f9 44982
4977bab6 44983 PR ada/6558
f0d96f9c
GB
44984 * Make-lang.in (gnatbind): Depend on CONFIG_H
44985
a7512dec 449862002-10-29 Geert bosch <bosch@gnat.com>
6f7f72f9 44987
4977bab6
ZW
44988 PR ada/6558
44989 * misc.c: Unrevert misc.c (1.13)
a7512dec 44990
c6362f4f
NN
449912002-10-28 Nathanael Nerode <neroden@gcc.gnu.org>
44992
44993 * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
44994 maintainership comments.
44995
449962002-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
6f7f72f9 44997
91ed4b19 44998 PR ada/5904
4977bab6
ZW
44999 * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
45000 5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
45001 5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
45002 7staprop.adb: Correct statements in comments about
91ed4b19
NN
45003 maintainership of GNAT.
45004
1f02b6af 45005 PR ada/5904
4977bab6
ZW
45006 * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
45007 gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
45008 osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
45009 osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
45010 s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
45011 s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
45012 sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
1f02b6af
NN
45013 switch-c.ads switch-m.adb switch-m.ads: Correct statements in
45014 comments about maintainership of GNAT.
45015
71ff80dc 45016 PR ada/6919 (forward port of patch for PR ada/5904)
4977bab6
ZW
45017 * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
45018 4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
45019 4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
45020 4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
45021 4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
45022 4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
45023 4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
45024 52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
45025 5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
45026 5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
45027 5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
45028 5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
45029 5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
45030 5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
45031 5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
45032 5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
45033 5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
45034 5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
45035 5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
45036 5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
45037 5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
45038 5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
45039 5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
45040 5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
45041 5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
45042 5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
45043 5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
45044 5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
45045 7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
45046 a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
45047 a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
45048 a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
45049 a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
45050 a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
45051 a-except.adb a-except.ads a-excpol.adb a-exctra.adb
45052 a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
45053 a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
45054 a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
45055 a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
45056 a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
45057 a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
45058 a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
45059 a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
45060 a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
45061 a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
45062 a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
45063 a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
45064 a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
45065 a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
45066 a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
45067 a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
45068 a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
45069 a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
45070 a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
45071 a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
45072 a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
45073 a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
45074 a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
45075 a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
45076 a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
45077 a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
45078 a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
45079 a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
45080 a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
45081 a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
45082 a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
45083 a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
45084 a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
45085 adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
45086 alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
45087 back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
45088 binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
45089 bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
45090 ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
45091 csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
45092 cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
45093 debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
45094 einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
45095 errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
45096 exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
45097 exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
45098 exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
45099 exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
45100 exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
45101 exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
45102 exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
45103 exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
45104 exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
45105 exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
45106 exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
45107 exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
45108 exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
45109 final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
45110 fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
45111 freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
45112 g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
45113 g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
45114 gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
45115 gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
45116 gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
45117 gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
45118 gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
45119 gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
45120 i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
45121 i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
45122 i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
45123 i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
45124 impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
45125 itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
45126 lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
45127 lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
45128 lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
45129 lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
45130 makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
45131 namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
45132 nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
45133 osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
45134 par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
45135 par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
45136 par-endh.adb par-labl.adb par-load.adb par-prag.adb
45137 par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
45138 prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
45139 prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
45140 prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
45141 prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
45142 prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
45143 prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
45144 repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
45145 rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
45146 s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
45147 s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
45148 s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
45149 s-direio.adb s-direio.ads s-except.ads s-exctab.adb
45150 s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
45151 s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
45152 s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
45153 s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
45154 s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
45155 s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
45156 s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
45157 s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
45158 s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
45159 s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
45160 s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
45161 s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
45162 s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
45163 s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
45164 s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
45165 s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
45166 s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
45167 s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
45168 s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
45169 s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
45170 s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
45171 s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
45172 s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
45173 s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
45174 s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
45175 s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
45176 s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
45177 s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
45178 s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
45179 s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
45180 s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
45181 s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
45182 s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
45183 s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
45184 s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
45185 s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
45186 s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
45187 s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
45188 s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
45189 s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
45190 s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
45191 s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
45192 s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
45193 s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
45194 s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
45195 s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
45196 s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
45197 s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
45198 s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
45199 s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
45200 s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
45201 s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
45202 s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
45203 s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
45204 s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
45205 s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
45206 s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
45207 s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
45208 s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
45209 s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
45210 s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
45211 s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
45212 s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
45213 s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
45214 s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
45215 s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
45216 s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
45217 s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
45218 s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
45219 s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
45220 s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
45221 s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
45222 s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
45223 s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
45224 s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
45225 s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
45226 s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
45227 s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
45228 scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
45229 sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
45230 sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
45231 sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
45232 sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
45233 sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
45234 sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
45235 sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
45236 sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
45237 sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
45238 sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
45239 sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
45240 sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
45241 sem_type.adb sem_type.ads sem_util.adb sem_util.ads
45242 sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
45243 sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
45244 sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
45245 sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
45246 snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
45247 stringt.ads stringt.h style.adb style.ads stylesw.adb
45248 stylesw.ads switch.adb switch.ads sysdep.c system.ads
45249 table.adb table.ads targparm.adb targparm.ads targtyps.c
45250 tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
45251 tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
45252 treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
45253 types.adb types.ads types.h uintp.adb uintp.ads uintp.h
45254 uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
45255 usage.ads utils.c utils2.c validsw.adb validsw.ads
45256 widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
45257 xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
71ff80dc
NN
45258 xtreeprs.adb: Correct statements in comments about maintainership
45259 of GNAT.
45260
b4f94ac1
ZW
452612002-09-23 Zack Weinberg <zack@codesourcery.com>
45262
45263 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
45264 * Makefile.in (TOOLS_LIBS): Add ../../version.o.
45265 * gnatvsn.ads: Gnat_Version_String is now a function.
45266 * gnatvsn.adb: New file. When asked for Gnat_Version_String,
45267 copy the C version_string into a String and return it.
45268 * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
45269 gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
45270 Remove pragma Ident (Gnat_Version_String). If this was the
45271 sole use of package Gnatvsn, remove the with statement too.
45272 * gnat1drv.adb: Tweak -gnatv output.
45273
eaff3bf8
RH
452742002-09-17 Richard Henderson <rth@redhat.com>
45275
45276 * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
45277 * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
45278 * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
45279 (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
45280 * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
45281 and real_2expN instead of a loop.
45282 * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
45283 (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
45284
9e94c78f
EB
452852002-08-25 Andre Leis <a.leis@gmx.net>
45286 David Billinghurst <David.Billinghurst@riotinto.com>
d241f75b 45287
f4ae98be 45288 * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
d241f75b 45289
4320085a
RO
452902002-08-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
45291
45292 * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
45293 Remove $(CONFIG_H) dependency.
45294
22aa533e
NS
452952002-08-08 Nathan Sidwell <nathan@codesourcery.com>
45296
45297 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
45298
1dcd444b
KG
452992002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
45300
45301 * adadecode.c (ada_demangle): Use xstrdup in lieu of
45302 xmalloc/strcpy.
45303 * misc.c (gnat_decode_option): Likewise.
45304
7bc7d27b
FW
453052002-07-15 Florian Weimer <fw@deneb.enyo.de>
45306
45307 * make.adb (Add_Switch): Make Generic_Position a procedure. The
45308 function approach did not work well because of a side effect (the
45309 function call could reallocate the table which was being indexed
45310 using its result). Fixes ada/4851. [RESURRECTED]
45311
6a2dd09a
RS
453122002-07-01 Roger Sayle <roger@eyesopen.com>
45313
45314 * ada/utils.c (builtin_function): Accept an additional parameter.
45315
c168bbd7
AJ
453162002-06-28 Andreas Jaeger <aj@suse.de>
45317
45318 PR ada/7144
45319 * Makefile.in: Fix typo in comment, patch by Adrian Knoth
45320 <adi@thur.de>.
45321
b41e09a7
KG
453222002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
45323
45324 * Makefile.in (SHELL): Set to @SHELL@.
45325
62c71f4b
KG
453262002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
45327
45328 * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
45329 array size calculation.
45330
94213cff
AJ
453312002-06-04 Andreas Jaeger <aj@suse.de>
45332
45333 * Make-lang.in (gnatbind): Readd rule that has been lost in last
45334 patch.
45335
e2500fed
GK
453362002-06-03 Geoffrey Keating <geoffk@redhat.com>
45337
45338 Merge from pch-branch:
45339
45340 * config-lang.in (gtfiles): Add ada-tree.h.
45341 * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
45342 (SET_TYPE_MODULUS): New.
45343 (SET_TYPE_INDEX): New.
45344 (SET_TYPE_DIGITS_VALUE): New.
45345 (SET_TYPE_RM_SIZE): New.
45346 (SET_TYPE_UNCONSTRAINED_ARRAY): New.
45347 (SET_TYPE_ADA_SIZE): New.
45348 (SET_TYPE_ACTUAL_BOUNDS): New.
45349 (SET_DECL_CONST_CORRESPONDING_VAR): New.
45350 (SET_DECL_ORIGINAL_FIELD): New.
45351 (TREE_LOOP_ID): Correct typo.
45352 * decl.c: Use new macros.
45353 * utils.c: Include debug.h, use new macros.
94213cff 45354 * utils2.c: Use new macros.
e2500fed
GK
45355
45356 * ada-tree.h: Update all macros for new tree description.
45357 (struct tree_loop_id): New.
45358 (union lang_tree_node): New.
45359 (struct lang_decl): New.
45360 (struct lang_type): New.
45361 * misc.c (gnat_mark_tree): Delete.
45362 (LANG_HOOKS_MARK_TREE): Delete.
45363 * trans.c (tree_transform): No longer any need to cast
45364 for TREE_LOOP_ID.
45365
45366 * utils.c (struct language_function): New dummy structure.
45367
45368 * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
45369 (misc.o): Likewise.
45370 (utils.o): Likewise; also gtype-ada.h.
45371 * Make-lang.in (gnat1): Add dependency on s-gtype.
45372 (gnatbind): Add dependency on $(CONFIG_H).
45373 * utils.c: Correct last #include.
45374 (stuct e_stack): Remove unnecessary 'static'.
45375 (mark_e_stack): Remove unused prototype.
45376
45377 * scn-nlit.adb: Remove whitespace after version number to
45378 keep lines under 80 chars.
45379 * snames.adb: Likewise.
45380 * treepr.ads: Likewise.
94213cff 45381
e2500fed
GK
45382 * Makefile.in (decl.o): Include gt-ada-<filename>.h.
45383 (misc.o): Likewise.
45384 (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
45385 * config-lang.in (gtfiles): New.
45386 * decl.c: Use gengtype for roots.
45387 * gigi.h: Use gengtype for roots.
45388 * trans.c: Use gengtype for roots.
45389 * utils.c: Use gengtype for roots, marking. Include gtype-ada.h.
45390
27e511e0
GDR
453912002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
45392
45393 * misc.c (gnat_init): Adjust setting of internal_error_function.
45394
113dc143
JM
453952002-06-01 Joseph S. Myers <jsm28@cam.ac.uk>
45396
45397 * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
45398 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
45399 gnat_ug_wnt.texi: Regenerate.
45400
5321fb3e
FW
454012002-05-31 Florian Weimer <fw@deneb.enyo.de>
45402
15e6136e
FW
45403 * 5ntaprop.adb (with System.OS_Primitives): Remove.
45404
019310ac
FW
45405 * cstreams.c (max_path_len): Move from here ...
45406 * adaint.c (__gnat_max_path_len): ... to here.
45407 * adaint.c (__gnat_max_path_len): Declare.
45408 * g-dirope.adb (Max_Path): Adjust.
45409 * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
94213cff 45410 * i-cstrea.ads (max_path_len): Adjust.
019310ac
FW
45411 * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
45412 * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
45413
5321fb3e
FW
45414 * Makefile.in, Make-lang.in: Documentation is now built in
45415 Make-lang.in. Store Info and generated Texinfo files in the
45416 source directory.
45417 * gnat_ug.texi: Remove CVS keywords, correct version number.
45418 Set file name correctly.
45419
45420 * gnat_ug_*.texi: Add.
45421 * .cvsignore: Ignore generated Texinfo files.
45422
b1c12c4b
ZW
454232002-05-30 Zack Weinberg <zack@codesourcery.com>
45424
45425 * ada.h: Add MI guard macro.
45426 (SUBTYPE): Define constants with an anonymous enum, not static
45427 const variables.
45428 (IN): Cast constants to appropriate type before use.
45429
ead33da9
JM
454302002-05-26 Joseph S. Myers <jsm28@cam.ac.uk>
45431
45432 * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
45433 (experimental)".
45434
7d600178
RO
454352002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
45436
45437 * Make-lang.in (CP, ECHO): Copy from Makefile.in.
45438 (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
45439 (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
45440 (ALL_ADA_CFLAGS): Likewise.
45441 (ADA_INCLUDES): Likewise.
45442 Adapt for new working dir.
45443 (GNATBIND): Use Makefile.in version.
45444 (.SUFFIXES): Copy from Makefile.in.
45445 (ada-warn): Define.
45446 (.adb.o, .ads.o): Copy from Makefile.in.
45447 Added $(OUTPUT_OPTION).
45448 (GNAT1_C_OBJS): Moved from Makefile.in.
45449 Prefix with ada subdir.
45450 (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
45451 (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
45452 Adapt for new working dir.
45453 (EXTRA_GNATBIND_OBJS): Likewise.
45454 (ADA_BACKEND): Moved from Makefile.in.
45455 Renamed to avoid conflict with global BACKEND.
45456 Use that one.
45457 (TARGET_ADA_SRCS): Moved from Makefile.in.
45458 (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
45459 Use ADA_BACKEND.
45460 (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
45461 (ada_extra_files): Moved from Makefile.in.
45462 Prefix with ada subdir.
45463 (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
45464 (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
45465 (ada/nmake.ads): Likewise.
45466 (update-sources): Moved from Makefile.in.
45467 Prefix with ada subdir.
45468 (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
45469 (ADA_TREE_H): Likewise.
45470 (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
45471 (ada/memtrack.o): Likewise.
45472 (ada/adadecode.o): Likewise.
45473 Update dependencies.
45474 (ada/adaint.o): New.
45475 (ada/argv.o): Moved from Makefile.in.
45476 Prefix with ada subdir.
94213cff 45477 Update dependencies.
7d600178
RO
45478 (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
45479 (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
45480 (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
45481 Prefix with ada subdir.
45482 (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
45483 (GNAT DEPENDENCIES): Regenerate.
45484 * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
45485 toplevel Makefile.in.
45486 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
45487 (TARGET_ADA_SRCS): Removed.
45488 (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
45489 (GNATBIND_OBJS): Likewise.
45490 (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
45491 (BACKEND): Removed.
45492 (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
45493 (TREE_H): Likewise.
45494 (ada_extra_files): Likewise.
45495 (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
45496 (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
45497 (update-sources): Likewise.
45498 (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
45499 (ADA_TREE_H): Likewise.
45500 (adadecoce.o): Likewise.
45501 (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
45502 (GNAT DEPENDENCIES): Likewise.
45503
1e6347d8
RO
455042002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
45505
45506 * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
45507 * Makefile.in: Likewise.
45508
db80834f
RO
455092002-05-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
45510
45511 * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
45512 Restore $(CONFIG_H) and prefix.o dependencies.
45513 (ada.stage[1-4]): Depend on stage?-start.
45514
45515 * Makefile.in (b_gnatb.c): Depend on interfac.o.
45516
ac293f98
JW
455172002-05-02 Jim Wilson <wilson@redhat.com>
45518
45519 * utils.c (finish_record_type): Change record_size to record_type.
45520
b303008e
JDA
455212001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
45522
45523 * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
45524 (ALL_ADA_CFLAGS): Define. Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
45525 ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
94213cff 45526
ff45c01e
NB
455272002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
45528
45529 * misc.c (gnat_parse_file): Update.
45530
349ae713
NB
455312002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
45532
45533 * misc.c (gnat_init): Don't set lang_attribute_common.
45534
ace133aa
JM
455352002-04-21 Joseph S. Myers <jsm28@cam.ac.uk>
45536
45537 * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
45538
5c558dd9
FW
455392002-04-21 Florian Weimer <fw@deneb.enyo.de>
45540
b4f94ac1 45541 * gnat_ug.texi: New file.
88e1739c 45542
5c558dd9
FW
45543 * gnat_rm.texi: Do not include texiplus.texi. Include fdl.texi
45544 instead of gfdl.texi
45545
45546 * xgnatug.adb, ug_words: New files.
45547
45548 * Makefile.in (doc, dvi): New targets. Build gnat_ug_*,
b4f94ac1 45549 gnat_rm and gnat-style manuals.
5c558dd9 45550
7a228918
NB
455512002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
45552
45553 * gigi.h (incomplete_type_error): Remove.
45554 * utils.c (incomplete_type_error): Remove.
45555
b2123dc0
MM
455562002-04-16 Mark Mitchell <mark@codesourcery.com>
45557
45558 * trans.c (tree_transform): Add has_scope argument to
45559 expand_start_stmt_expr.
45560
78ef5b89
NB
455612002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
45562
45563 * gigi.h (truthvalue_conversion): Rename.
45564 * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
45565 * trans.c (tree_transform): Update.
45566 * utils2.c (truthvalue_conversion): Rename, update.
45567 (build_binary_op, build_unary_op): Update.
45568
a71742a8
LG
455692002-04-04 Laurent Guerby <guerby@acm.org>
45570
45571 * make.adb: Implement -margs, remove restriction about file name placement.
45572 * makeusg.adb: Documentation update.
45573 * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
45574 * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
45575
82a4b025
NB
455762002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
45577
45578 * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
45579 (builtin_function): Similarly.
45580
dffd7eb6
NB
455812002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
45582
45583 * decl.c (gnat_to_gnu_entity): Update.
45584 * gigi.h (mark_addressable): Rename.
45585 * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
45586 * trans.c (tree_transform): Update.
45587 * utils.c (create_var_decl): Update.
45588 * util2.c (build_binary_op, build_unary_op,
45589 fill_vms_descriptor): Update.
45590 (mark_addressable): Rename, update.
45591
ceef8ce4
NB
455922002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
45593
45594 * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
45595 Rename.
45596 * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
45597 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
45598 * trans.c (tree_transform, convert_with_check): Update.
45599 * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
45600 Rename.
45601
48a7a235
NB
456022002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
45603
45604 * gigi.h (finish_incomplete_decl): Rename.
45605 * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
45606 * utils.c (gnat_init_decl_processing): Don't set hook.
45607 (finish_incomplete_decl): Rename.
45608
1d5af871
AS
456092002-03-29 Andreas Schwab <schwab@suse.de>
45610
45611 * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
45612 directory.
45613
9e94c78f 456142001-03-28 Robert Dewar <dewar@gnat.com>
8cbb664e
MG
45615
45616 * checks.ads:
45617 (Remove_Checks): New procedure
45618
45619 * checks.adb:
45620 (Remove_Checks): New procedure
45621
45622 * exp_util.adb:
45623 Use new Duplicate_Subexpr functions
45624 (Duplicate_Subexpr_No_Checks): New procedure
45625 (Duplicate_Subexpr_No_Checks_Orig): New procedure
45626 (Duplicate_Subexpr): Restore original form (checks duplicated)
45627 (Duplicate_Subexpr): Call Remove_Checks
45628
82a4b025 45629 * exp_util.ads:
8cbb664e
MG
45630 (Duplicate_Subexpr_No_Checks): New procedure
45631 (Duplicate_Subexpr_No_Checks_Orig): New procedure
45632 Add 2002 to copyright notice
45633
45634 * sem_util.adb: Use new Duplicate_Subexpr functions
45635
82a4b025 45636 * sem_eval.adb:
8cbb664e
MG
45637 (Eval_Indexed_Component): This is the place to call
45638 Constant_Array_Ref and to replace the value. We simply merge
45639 the code of this function in here, since it is now no longer
45640 used elsewhere. This fixes the problem of the back end not
45641 realizing we were clever enough to see that this was
45642 constant.
45643 (Expr_Val): Remove call to Constant_Array_Ref
45644 (Expr_Rep_Val): Remove call to Constant_Array_Ref
45645 Minor reformatting
45646 (Constant_Array_Ref): Deal with string literals (patch
45647 suggested by Zack Weinberg on the gcc list)
45648
9e94c78f 456492001-03-28 Ed Schonberg <schonber@gnat.com>
8cbb664e 45650
82a4b025 45651 * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
8cbb664e
MG
45652 Duplicate_Subexpr_Move_Checks.
45653
82a4b025 45654 * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
8cbb664e
MG
45655 Duplicate_Subexpr_Move_Checks.
45656
82a4b025
NB
45657 * sem_eval.adb: (Constant_Array_Ref): Verify that constant
45658 value of array exists before retrieving it (it may a private
8cbb664e
MG
45659 protected component in a function).
45660
9e94c78f 456612002-03-28 Geert Bosch <bosch@gnat.com>
792c4e74
GB
45662
45663 * prj-pp.adb : New file.
45664
45665 * prj-pp.ads : New file.
45666
915e8bad
AJ
456672002-03-28 Andreas Jaeger <aj@suse.de>
45668
45669 * Makefile.in (stamp-sdefault): Fix path for Makefile.
45670
0840811c
NB
456712002-03-28 Neil Booth <neil@daikokuya.demon.co.uk>
45672
45673 * misc.c (gnat_expand_expr): Move prototype.
45674
7ffb4fd2
NB
456752002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
45676
45677 * misc.c (insert_default_attributes): Remove.
45678
c9d892a8
NB
456792002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
45680
45681 * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
45682 (gnat_init): Don't set hook.
45683 (gnat_expand_expr): Fix prototype.
45684
31c816cf
NB
456852002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
45686
45687 * misc.c (ggc_p): Remove.
45688
ef83161c
GB
456892002-03-27 Geert Bosch <bosch@gnat.com>
45690
45691 * prj-makr.ads, prj-makr.adb : New files.
45692
4f0ade92
NB
456932002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
45694
45695 * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
45696 (lang_mark_tree): Make static, rename.
45697
c88770e9
NB
456982002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
45699
45700 * misc.c (maybe_build_cleanup): Remove.
45701
05671968
NB
457022002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
45703
45704 * gigi.h (yyparse): Remove.
45705
ad42149c
FW
457062002-03-23 Florian Weimer <fw@deneb.enyo.de>
45707
9e94c78f 45708 From Ben Brosgol <brosgol@gnat.com>
82a4b025 45709 * gnat_rm.texi: Sync with ACT version.
ad42149c 45710
7afff7cf
NB
457112002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
45712
45713 * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
45714 (gnat_init): Remove old hook.
45715
52dabb6c
NB
457162002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
45717
45718 * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
45719 (yyparse): Rename gnat_parse_file.
45720
6cbcc541
GK
457212002-03-14 Geoffrey Keating <geoffk@redhat.com>
45722
45723 Delete all lines containing "$Revision:".
45724 * xeinfo.adb: Don't look for revision numbers.
45725 * xnmake.adb: Likewise.
45726 * xsinfo.adb: Likewise.
45727 * xsnames.adb: Likewise.
45728 * xtreeprs.adb: Likewise.
45729
2f9834e8
KG
457302002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
45731
45732 * misc.c (gnat_tree_code_type, gnat_tree_code_length,
45733 gnat_tree_code_name): Delete.
45734 (tree_code_type, tree_code_length, tree_code_name): Define.
45735 (gnat_init): Don't try to copy into the various tree_code
45736 arrays.
45737
63adb4ff
RH
457382002-03-11 Richard Henderson <rth@redhat.com>
45739
45740 * Makefile.in (.NOTPARALLEL): Add fake tag.
45741
43ff4547
GB
457422002-03-07 Geert Bosch <bosch@gnat.com>
45743
82a4b025
NB
45744 * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
45745 s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
45746 switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
43ff4547
GB
45747 switch-m.adb, switch-m.ads : New files.
45748
07fc65c4
GB
457492002-03-07 Geert Bosch <bosch@gnat.com>
45750
45751 * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
45752 4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
45753 4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
45754 4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
45755 5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
45756 5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
45757 5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
45758 5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
45759 5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
45760 5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
45761 5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
45762 5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
45763 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
45764 5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
45765 5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
45766 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
45767 5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
45768 5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
45769 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
45770 5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
45771 7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
45772 Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
45773 a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
45774 a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
45775 a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
45776 a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
45777 a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
45778 a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
45779 a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
45780 adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
45781 atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
45782 bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
45783 csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
45784 einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
45785 eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
45786 exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
45787 exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
45788 exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
45789 exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
45790 exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
45791 expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
45792 freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
45793 g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
45794 g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
45795 g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
45796 g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
45797 g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
45798 g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
45799 gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
45800 gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
45801 gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
45802 i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
45803 impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
45804 lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
45805 lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
45806 memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
45807 mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
45808 nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
45809 output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
45810 par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
45811 prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
45812 prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
45813 prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
45814 rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
45815 s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
45816 s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
45817 s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
45818 s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
45819 s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
45820 s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
45821 s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
45822 s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
45823 s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
45824 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
45825 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
45826 s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
45827 s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
45828 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
45829 s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
45830 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
45831 sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
45832 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
45833 sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
45834 sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
45835 sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
45836 sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
45837 sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
45838 sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
45839 sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
45840 snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
45841 stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
45842 table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
45843 tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
45844 treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
45845 types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
45846 utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
45847 xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
45848
45849 * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
45850 g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
45851 mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
45852 osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
45853
45854 * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
45855 5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
45856
45857 * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
45858 to mdll-fil.ad[bs] and mdll-util.ad[bs]
45859
45860 * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
45861 from mdllfile.ad[bs] and mdlltool.ad[bs]
45862
ca7558fc
KG
458632002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
45864
45865 * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
45866 lieu of explicit sizeof/sizeof.
45867
63e1b1c4
NB
458682002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
45869
45870 * misc.c (copy_lang_decl): Remove.
45871
f458d1d5
ZW
458722002-02-27 Zack Weinberg <zack@codesourcery.com>
45873
45874 * misc.c: Delete traditional-mode-related code copied from the
45875 C front end but not used, or used only to permit the compiler
45876 to link.
45877
21e09952
RH
458782002-02-07 Richard Henderson <rth@redhat.com>
45879
45880 * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
45881 * adaint.h (__gnat_to_gm_time): Update prototype.
45882
ead39bdf 458832002-01-30 Richard Henderson <rth@redhat.com>
e803a64b
RH
45884
45885 * trans.c (tree_transform) [N_Loop_Statement]: Use
45886 expand_exit_loop_top_cond.
45887
72ac12bf
RH
458882001-12-23 Richard Henderson <rth@redhat.com>
45889
45890 * utils.c (end_subprog_body): Push GC context around
45891 rest_of_compilation for nested functions.
45892
14aacce7
RH
458932001-12-23 Richard Henderson <rth@redhat.com>
45894
45895 * 5nosinte.ads: Get definition of "int" from Interfaces.C.
45896
b3d45d87
FW
458972001-12-23 Florian Weimer <fw@deneb.enyo.de>
45898
ece2d1b8
FW
45899 * gnat-style.texi (Declarations and Types): Remove ancient style
45900 rule which was mandated by code generation issues.
82a4b025 45901
b3d45d87
FW
45902 * gnat-style.texi (header): Add @dircategory, @direntry.
45903 (title page): Remove date.
45904 (general) Add @./@: where approriate, and two spaces after the
45905 full stop at the end of a sentence. Use @samp markup when
45906 referring concrete lexical entities (keywords, attribute names
45907 etc.), and @syntax for ARM grammar elements. Use @r for English
45908 text in comments. Use @emph for emphasis. Change "if-statements"
45909 etc. to "if statements" (without @samp). Break long lines. Make
45910 casing of section names consistent.
45911 (Identifiers): Use @samp markup for variable names.
45912 (Comments): Use @samp markup for comment characters. Line-end
45913 comments may follow any Ada code, not just statements. Fix
45914 misspelling of "Integer" as "integer".
45915 (Loop statements): Do not use variable name "I", use "J".
45916 (Subprogram Declarations): Document alignment.
45917 (Subprogram Bodies, Block statements): Document empty line before
45918 "begin".
45919
7a73ad55
FW
459202001-12-22 Florian Weimer <fw@deneb.enyo.de>
45921
45922 * make.adb (Add_Switch): Make Generic_Position a procedure. The
45923 function approach did not work well because of a side effect (the
45924 function call could reallocate the table which was being indexed
45925 using its result). Fixes ada/4851.
45926
9e94c78f 459272001-12-19 Robert Dewar <dewar@gnat.com>
17c5c8a5
GB
45928
45929 * bindgen.adb: Minor reformatting
82a4b025 45930
17c5c8a5 45931 * cstand.adb: Minor reformatting
82a4b025 45932
17c5c8a5
GB
45933 * fmap.adb: Minor reformatting
45934 Change name from Add for Add_To_File_Map (Add is much too generic)
45935 Change Path_Name_Of to Mapped_Path_Name
45936 Change File_Name_Of to Mapped_File_Name
45937 Fix copyright dates in header
82a4b025 45938
17c5c8a5
GB
45939 * fmap.ads:
45940 Change name from Add for Add_To_File_Map (Add is much too generic)
45941 Change Path_Name_Of to Mapped_Path_Name
45942 Change File_Name_Of to Mapped_File_Name
45943 Fix copyright dates in header
82a4b025 45944
17c5c8a5
GB
45945 * fname-uf.adb: Minor reformatting. New names of stuff in Fmap.
45946 Add use clause for Fmap.
82a4b025 45947
17c5c8a5 45948 * make.adb: Minor reformatting
82a4b025 45949
17c5c8a5
GB
45950 * osint.adb: Minor reformatting. Change of names in Fmap.
45951 Add use clause for Fmap.
82a4b025 45952
17c5c8a5 45953 * prj-env.adb: Minor reformatting
82a4b025 45954
17c5c8a5 45955 * prj-env.ads: Minor reformatting
82a4b025 45956
07fc65c4
GB
45957 * switch.adb: Minor reformatting. Do proper raise of Bad_Switch if
45958 error found (there were odd exceptions to this general rule in
17c5c8a5 45959 -gnatec/-gnatem processing)
82a4b025 45960
9e94c78f 459612001-12-19 Olivier Hainque <hainque@gnat.com>
17c5c8a5 45962
07fc65c4
GB
45963 * raise.c (__gnat_eh_personality): Exception handling personality
45964 routine for Ada. Still in rough state, inspired from the C++ version
17c5c8a5 45965 and still containing a bunch of debugging artifacts.
07fc65c4 45966 (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
17c5c8a5 45967 inspired from the C++ library.
82a4b025 45968
07fc65c4 45969 * raise.c (eh_personality): Add comments. Part of work for the GCC 3
17c5c8a5 45970 exception handling integration.
82a4b025 45971
9e94c78f 459722001-12-19 Arnaud Charlet <charlet@gnat.com>
17c5c8a5
GB
45973
45974 * Makefile.in: Remove use of 5smastop.adb which is obsolete.
45975 (HIE_SOURCES): Add s-secsta.ad{s,b}.
45976 (HIE_OBJS): Add s-fat*.o
07fc65c4 45977 (RAVEN_SOURCES): Remove files that are no longer required. Add
17c5c8a5
GB
45978 interrupt handling files.
45979 (RAVEN_MOD): Removed, no longer needed.
82a4b025 45980
9e94c78f 459812001-12-19 Robert Dewar <dewar@gnat.com>
17c5c8a5
GB
45982
45983 * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
45984 Add 2001 to copyright date
82a4b025 45985
07fc65c4 45986 * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
17c5c8a5 45987 need to force universal inlining for these cases.
82a4b025 45988
9e94c78f 459892001-12-19 Arnaud Charlet <charlet@gnat.com>
17c5c8a5 45990
07fc65c4 45991 * s-taprob.adb: Minor clean ups so that this unit can be used in
17c5c8a5 45992 Ravenscar HI.
82a4b025 45993
17c5c8a5
GB
45994 * exp_ch7.adb: Allow use of secondary stack in HI mode.
45995 Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
82a4b025 45996
9e94c78f 459972001-12-19 Vincent Celier <celier@gnat.com>
17c5c8a5 45998
07fc65c4 45999 * prj-tree.ads (Project_Node_Record): Add comments for components
17c5c8a5 46000 Pkg_Id and Case_Insensitive.
82a4b025 46001
9e94c78f 460022001-12-19 Pascal Obry <obry@gnat.com>
17c5c8a5
GB
46003
46004 * g-socket.adb: Minor reformatting. Found while reading code.
82a4b025 46005
9e94c78f 460062001-12-19 Robert Dewar <dewar@gnat.com>
17c5c8a5
GB
46007
46008 * prj-tree.ads: Minor reformatting
46009
38be19f6
JM
460102001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
46011
46012 * config-lang.in (diff_excludes): Remove.
46013
9e94c78f 460142001-12-17 Ed Schonberg <schonber@gnat.com>
6510f4c9 46015
07fc65c4
GB
46016 * sem_res.adb (Resolve_Selected_Component): do not generate a
46017 discriminant check if the selected component is a component of
6510f4c9
GB
46018 the argument of an initialization procedure.
46019
07fc65c4
GB
46020 * trans.c (tree_transform, case of arithmetic operators): If result
46021 type is private, the gnu_type is the base type of the full view,
6510f4c9 46022 given that the full view itself may be a subtype.
82a4b025 46023
9e94c78f 460242001-12-17 Robert Dewar <dewar@gnat.com>
6510f4c9
GB
46025
46026 * sem_res.adb: Minor reformatting
82a4b025 46027
07fc65c4
GB
46028 * trans.c (tree_transform, case N_Real_Literal): Add missing third
46029 parameter in call to Machine (unknown horrible effects from this
6510f4c9 46030 omission).
82a4b025 46031
6510f4c9
GB
46032 * urealp.h: Add definition of Round_Even for call to Machine
46033 Add third parameter for Machine
82a4b025 46034
9e94c78f 460352001-12-17 Ed Schonberg <schonber@gnat.com>
6510f4c9 46036
07fc65c4 46037 * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
6510f4c9 46038 predefined units in No_Run_Time mode.
82a4b025 46039
9e94c78f 460402001-12-17 Richard Kenner <kenner@gnat.com>
6510f4c9
GB
46041
46042 * misc.c (insn-codes.h): Now include.
82a4b025 46043
9e94c78f 460442001-12-17 Olivier Hainque <hainque@gnat.com>
6510f4c9 46045
07fc65c4 46046 * a-except.adb: Preparation work for future integration of the GCC 3
6510f4c9
GB
46047 exception handling mechanism
46048 (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
46049 to factorize previous code sequences and make them externally callable,
46050 e.g. for the Ada personality routine when the GCC 3 mechanism is used.
46051 (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
46052 Use the new notification routines.
82a4b025 46053
9e94c78f 460542001-12-17 Emmanuel Briot <briot@gnat.com>
6510f4c9
GB
46055
46056 * prj-tree.ads (First_Choice_Of): Document the when others case
82a4b025 46057
9e94c78f 460582001-12-17 Arnaud Charlet <charlet@gnat.com>
6510f4c9 46059
07fc65c4 46060 * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
6510f4c9 46061 HI-E mode, in order to support Ravenscar profile properly.
82a4b025 46062
07fc65c4 46063 * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
6510f4c9 46064 mode on 32 bits targets.
82a4b025 46065
9e94c78f 460662001-12-17 Vincent Celier <celier@gnat.com>
6510f4c9
GB
46067
46068 * fmap.adb: Initial version.
82a4b025 46069
6510f4c9 46070 * fmap.ads: Initial version.
82a4b025 46071
6510f4c9
GB
46072 * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
46073 If search is successfully done, add to mapping.
82a4b025 46074
6510f4c9 46075 * frontend.adb: Initialize the mapping if a -gnatem switch was used.
82a4b025 46076
6510f4c9
GB
46077 * make.adb:
46078 (Gnatmake): Add new local variable Mapping_File_Name.
46079 Create mapping file when using project file(s).
46080 Delete mapping file before exiting.
82a4b025 46081
6510f4c9 46082 * opt.ads (Mapping_File_Name): New variable
82a4b025 46083
6510f4c9 46084 * osint.adb (Find_File): Use path name found in mapping, if any.
82a4b025 46085
6510f4c9 46086 * prj-env.adb (Create_Mapping_File): New procedure
82a4b025 46087
6510f4c9 46088 * prj-env.ads (Create_Mapping_File): New procedure.
82a4b025 46089
07fc65c4 46090 * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
6510f4c9 46091 (Mapping_File)
82a4b025 46092
6510f4c9 46093 * usage.adb: Add entry for new switch -gnatem.
82a4b025 46094
6510f4c9 46095 * Makefile.in: Add dependencies for fmap.o.
82a4b025 46096
9e94c78f 460972001-12-17 Ed Schonberg <schonber@gnat.com>
6510f4c9 46098
07fc65c4 46099 * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
6510f4c9
GB
46100 is a package instantiation rewritten as a package body.
46101 (Install_Withed_Unit): Undo previous change, now redundant.
82a4b025 46102
9e94c78f 461032001-12-17 Gary Dismuke <dismukes@gnat.com>
6510f4c9
GB
46104
46105 * layout.adb:
46106 (Compute_Length): Move conversion to Unsigned to callers.
46107 (Get_Max_Size): Convert Len expression to Unsigned after calls to
46108 Compute_Length and Determine_Range.
46109 (Layout_Array_Type): Convert Len expression to Unsigned after calls to
46110 Compute_Length and Determine_Range.
46111 Above changes fix problem with length computation for supernull arrays
07fc65c4 46112 where Max (Len, 0) wasn't getting applied due to the Unsigned
6510f4c9 46113 conversion used by Compute_Length.
82a4b025 46114
9e94c78f 461152001-12-17 Arnaud Charlet <charlet@gnat.com>
6510f4c9
GB
46116
46117 * rtsfind.ads:
46118 (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
46119 System.Secondary_Stack.
46120 (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
46121 in HI-E mode.
46122 Remove unused entity RE_Exception_Data.
82a4b025 46123
6510f4c9 46124 * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
82a4b025 46125
6510f4c9
GB
46126 * rident.ads (No_Secondary_Stack): New restriction.
46127
9e94c78f 461282001-12-17 Joel Brobecker <brobecke@gnat.com>
3a77b68d 46129
07fc65c4 46130 * gnat_rm.texi: Fix minor typos. Found while reading the section
3a77b68d
GB
46131 regarding "Bit_Order Clauses" that was sent to a customer.
46132 Very interesting documentation!
82a4b025 46133
9e94c78f 461342001-12-17 Robert Dewar <dewar@gnat.com>
3a77b68d 46135
07fc65c4
GB
46136 * sem_case.adb (Choice_Image): Avoid creating improper character
46137 literal names by using the routine Set_Character_Literal_Name. This
3a77b68d 46138 fixes bombs in certain error message cases.
82a4b025 46139
9e94c78f 461402001-12-17 Arnaud Charlet <charlet@gnat.com>
3a77b68d
GB
46141
46142 * a-reatim.adb: Minor reformatting.
82a4b025 46143
9e94c78f 461442001-12-17 Ed Schonberg <schonber@gnat.com>
3a77b68d 46145
07fc65c4
GB
46146 * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
46147 case where the formal is an extension of another formal in the current
3a77b68d 46148 unit or in a parent generic unit.
82a4b025 46149
9e94c78f 461502001-12-17 Arnaud Charlet <charlet@gnat.com>
3a77b68d 46151
07fc65c4 46152 * s-tposen.adb: Update comments. Minor reformatting.
3a77b68d 46153 Minor code clean up.
82a4b025 46154
3a77b68d 46155 * s-tarest.adb: Update comments. Minor code reorganization.
82a4b025 46156
9e94c78f 461572001-12-17 Gary Dismukes <dismukes@gnat.com>
3a77b68d 46158
07fc65c4 46159 * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
3a77b68d 46160 when Java_VM.
82a4b025 46161
9e94c78f 461622001-12-17 Robert Dewa <dewar@gnat.com>
3a77b68d
GB
46163
46164 * exp_attr.adb: Minor reformatting
82a4b025 46165
9e94c78f 461662001-12-17 Ed Schonberg <schonber@gnat.com>
3a77b68d 46167
07fc65c4 46168 * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
3a77b68d
GB
46169 derivations nested within a child unit: verify that the parent
46170 type is declared in an outer scope.
82a4b025 46171
9e94c78f 461722001-12-17 Robert Dewar <dewar@gnat.com>
3a77b68d
GB
46173
46174 * sem_ch12.adb: Minor reformatting
82a4b025 46175
9e94c78f 461762001-12-17 Ed Schonberg <schonber@gnat.com>
3a77b68d 46177
07fc65c4
GB
46178 * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
46179 warning if current unit is a predefined one, from which bodies may
3a77b68d 46180 have been deleted.
82a4b025 46181
9e94c78f 461822001-12-17 Robert Dewar <dewar@gnat.com>
3a77b68d
GB
46183
46184 * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
46185 Fix header format. Add 2001 to copyright date.
82a4b025 46186
07fc65c4 46187 * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
3a77b68d
GB
46188 which caused CE during compilation if checks were enabled.
46189
9e94c78f 461902001-12-17 Vincent Celier <celier@gnat.com>
79503fdd
GB
46191
46192 * make.adb:
46193 (Switches_Of): New function
46194 (Test_If_Relative_Path): New procedure
46195 (Add_Switches): Use new function Switches_Of
46196 (Collect_Arguments_And_Compile): Use new function Switches_Of.
46197 When using a project file, test if there are any relative
46198 search path. Fail if there are any.
07fc65c4
GB
46199 (Gnatmake): Only add switches for the primary directory when not using
46200 a project file. When using a project file, change directory to the
46201 object directory of the main project file. When using a project file,
46202 test if there are any relative search path. Fail if there are any.
46203 When using a project file, fail if specified executable is relative
46204 path with directory information, and prepend executable, if not
46205 specified as an absolute path, with the exec directory. Make sure
79503fdd 46206 that only one -o switch is transmitted to the linker.
82a4b025 46207
79503fdd 46208 * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
82a4b025 46209
79503fdd
GB
46210 * prj-nmsc.adb:
46211 (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
46212 when using a non standard naming scheme.
46213 (Check_Ada_Naming_Scheme): Make sure that error messages
46214 do not raise exceptions.
46215 (Is_Illegal_Append): Return True if there is no dot in the suffix.
46216 (Language_Independent_Check): Check the exec directory.
82a4b025 46217
79503fdd 46218 * prj.adb (Project_Empty): Add new component Exec_Directory
82a4b025 46219
79503fdd
GB
46220 * prj.ads:
46221 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
46222 (Project_Data): Add component Exec_Directory
82a4b025 46223
79503fdd 46224 * snames.adb: Updated to match snames.ads revision 1.215
82a4b025 46225
79503fdd 46226 * snames.ads: Added Exec_Dir
82a4b025 46227
9e94c78f 462282001-12-17 Robert Dewar <dewar@gnat.com>
79503fdd
GB
46229
46230 * make.adb: Minor reformatting
82a4b025 46231
79503fdd 46232 * prj-nmsc.adb: Minor reformatting
82a4b025 46233
79503fdd 46234 * snames.adb: Updated to match snames.ads
82a4b025 46235
79503fdd
GB
46236 * snames.ads: Alphebetize entries for project file
46237
9e94c78f 462382001-12-17 Ed Schonberg <schonber@gnat.com>
79503fdd 46239
07fc65c4 46240 * trans.c (process_freeze_entity): Do nothing if the entity is a
79503fdd 46241 subprogram that was already elaborated.
82a4b025 46242
9e94c78f 462432001-12-17 Richard Kenner <kenner@gnat.com>
82a4b025 46244
07fc65c4 46245 * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
79503fdd
GB
46246 and Esize if object is referenced via pointer.
46247
9e94c78f 462482001-12-17 Ed Schonberg <schonber@gnat.com>
855ff2e1 46249
07fc65c4 46250 * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
855ff2e1 46251 is discrete before analyzing choices.
82a4b025 46252
9e94c78f 462532001-12-17 Joel Brobecker <brobecke@gnat.com>
855ff2e1 46254
07fc65c4
GB
46255 * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
46256 containing the name of the Ada Main Program. This string is mainly
855ff2e1
GB
46257 intended for the debugger.
46258 (Gen_Output_File_C): Do the equivalent change when generating a C file.
82a4b025 46259
9e94c78f 462602001-12-17 Robert Dewar <dewar@gnat.com>
855ff2e1
GB
46261
46262 * ali.adb: Set new Dummy_Entry field in dependency entry
82a4b025 46263
855ff2e1 46264 * ali.ads: Add Dummy_Entry field to source dependency table
82a4b025 46265
855ff2e1 46266 * bcheck.adb (Check_Consistency): Ignore dummy D lines
82a4b025 46267
855ff2e1 46268 * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
82a4b025 46269
855ff2e1 46270 * lib-writ.ads: Document dummy D lines for missing files.
82a4b025 46271
855ff2e1
GB
46272 * types.ads: (Dummy_Time_Stamp): New value for non-existant files
46273
9e94c78f 462742001-12-17 Robert Dewar <dewar@gnat.com>
c1c22e7a
GB
46275
46276 * ali.adb: Type reference does not reset current file.
82a4b025 46277
c1c22e7a 46278 * ali.adb: Recognize and scan renaming reference
82a4b025 46279
c1c22e7a 46280 * ali.ads: Add spec for storing renaming references.
82a4b025 46281
c1c22e7a 46282 * lib-xref.ads: Add documentation for handling of renaming references
82a4b025 46283
c1c22e7a 46284 * lib-xref.adb: Implement output of renaming reference.
82a4b025 46285
c1c22e7a
GB
46286 * checks.adb:
46287 (Determine_Range): Document local variables
46288 (Determine_Range): Make sure Hbound is initialized. It looks as though
46289 there could be a real problem here with an uninitialized reference
46290 to Hbound, but no actual example of failure has been found.
82a4b025 46291
9e94c78f 462922001-12-17 Laurent Pautet <pautet@gnat.com>
c1c22e7a
GB
46293
46294 * g-socket.ads:
46295 Fix comment of Shutdown_Socket and Close_Socket. These functions
46296 should not fail silently because if they are called twice, this
46297 probably means that there is a race condition in the user program.
46298 Anyway, this behaviour is consistent with the rest of this unit.
46299 When an error occurs, an exception is raised with the error message
46300 as exception message.
46301
9e94c78f 463022001-12-17 Robert Dewar <dewar@gnat.com>
7eb7bb07 46303
07fc65c4 46304 * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
7eb7bb07 46305 that it happens before modification of Sloc values for -gnatD.
82a4b025 46306
07fc65c4 46307 * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
7eb7bb07 46308 so that it happens before modification of Sloc values for -gnatD.
82a4b025 46309
7eb7bb07
RD
46310 * switch.adb: Minor reformatting
46311
b6434700
RH
463122001-12-15 Richard Henderson <rth@redhat.com>
46313
46314 * sem_ch7.adb: Wrap comment.
46315
44d6a706
JM
463162001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
46317
46318 * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
46319 5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
46320 5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
46321 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
46322 5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
46323 7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
46324 a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
46325 a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
46326 cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
46327 exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
46328 exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
46329 g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
46330 gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
46331 make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
46332 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
46333 repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
46334 s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
46335 s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
46336 s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
46337 s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
46338 sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
46339 sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
46340 sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
46341 sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
46342 spelling errors.
46343
9e94c78f 463442001-12-14 Vincent Celier <celier@gnat.com>
226ada7a 46345
07fc65c4 46346 * osint.adb(Create_Debug_File): When an object file is specified,
226ada7a 46347 put the .dg file in the same directory as the object file.
82a4b025 46348
9e94c78f 463492001-12-14 Robert Dewar <dewar@gnat.com>
226ada7a
GB
46350
46351 * osint.adb: Minor reformatting
82a4b025 46352
07fc65c4 46353 * lib-xref.adb (Output_Instantiation): New procedure to generate
226ada7a 46354 instantiation references.
82a4b025 46355
226ada7a 46356 * lib-xref.ads: Add documentation of handling of generic references.
82a4b025 46357
07fc65c4 46358 * ali.adb (Read_Instantiation_Ref): New procedure to read
226ada7a 46359 instantiation references
82a4b025 46360
226ada7a 46361 * ali.ads: Add spec for storing instantiation references
82a4b025 46362
226ada7a 46363 * bindusg.adb: Minor reformatting
82a4b025 46364
226ada7a 46365 * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 46366
226ada7a 46367 * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 46368
226ada7a 46369 * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 46370
226ada7a 46371 * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 46372
226ada7a
GB
46373 * csets.ads:
46374 Fix header format
46375 Add 2001 to copyright date
46376 Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 46377
9e94c78f 463782001-12-14 Matt Gingell <gingell@gnat.com>
226ada7a 46379
07fc65c4 46380 * adaint.c: mktemp is a macro on Lynx and can not be used as an
226ada7a 46381 expression.
82a4b025 46382
9e94c78f 463832001-12-14 Richard Kenner <kenner@gnat.com>
226ada7a 46384
07fc65c4 46385 * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
226ada7a 46386 if operand is CONSTRUCTOR.
82a4b025 46387
9e94c78f 463882001-12-14 Ed Schonberg <schonber@gnat.com>
226ada7a 46389
07fc65c4
GB
46390 * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
46391 before emiting check on right-hand side, so that exception information
226ada7a
GB
46392 is correct.
46393
9e94c78f 463942001-12-14 Richard Kenner <kenner@gnat.com>
82a4b025 46395
07fc65c4 46396 * utils.c (create_var_decl): Throw away initializing expression
226ada7a 46397 if just annotating types and non-constant.
82a4b025 46398
9e94c78f 463992001-12-14 Vincent Celier <celier@gnat.com>
226ada7a
GB
46400
46401 * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
46402 Default_Ada_...
82a4b025 46403
07fc65c4 46404 * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
226ada7a
GB
46405 Remove functions.
46406 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
82a4b025 46407
07fc65c4 46408 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
226ada7a
GB
46409 Remove functions.
46410 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
46411
9b94bf9e
JM
464122001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
46413
46414 * ChangeLog: Remove piece of diff output.
46415
9e94c78f 464162001-12-14 Geert Bosch <bosch@gnat.com>
449d2be3
GB
46417
46418 * config-lang.in: Update copyright notice
46419
46420 * layout.adb: Remove commented out code.
46421
46422 * mdllfile.ads: Update copyright notice. Fix header format.
46423
46424 * sem_case.ads: Likewise.
46425
46426 * sem_ch3.adb: Minor reformatting.
46427
9e94c78f 464282001-12-12 Geert Bosch <bosch@gnat.com>
e5bd5cb4
GB
46429
46430 * freeze.ads: Update copyright date.
46431
46432 * g-comlin.ads: Minor reformatting.
46433
46434 * gnat-style.texi: Fix typo.
46435
9e94c78f 464362001-12-12 Geert Bosch <bosch@gnat.com>
b468d8ec
GB
46437
46438 * einfo.h: Regenerate.
46439
9e94c78f 464402001-12-12 Ed Schonberg <schonber@gnat.com>
ed7da216 46441
07fc65c4 46442 * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
ed7da216 46443 on known node types, rather than untyped fields. Further cleanups.
82a4b025 46444
9e94c78f 464452001-12-12 Robert Dewar <dewar@gnat.com>
ed7da216
GB
46446
46447 * sem_ch12.adb:
46448 (Save_Entity_Descendant): Minor comment update.
46449 (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
07fc65c4 46450 of an N_Attribute_Reference node. As per note below, this does not
ed7da216 46451 eliminate need for Associated_Node in attribute ref nodes.
07fc65c4 46452 (Associated_Node): Documentation explicitly mentions attribute
ed7da216 46453 reference nodes, since this field is used in such nodes.
82a4b025 46454
ed7da216
GB
46455 * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
46456
9e94c78f 464572001-12-12 Robert Dewar <dewar@gnat.com>
de76a39c
GB
46458
46459 * s-stalib.adb: Add more comments on with statements being needed
82a4b025 46460
de76a39c 46461 * par-ch12.adb: Minor reformatting
82a4b025 46462
de76a39c 46463 * prj-dect.ads: Fix copyright header
82a4b025 46464
07fc65c4 46465 * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
de76a39c 46466 inputs fit in 32 bits, but the result still overflows.
82a4b025 46467
de76a39c 46468 * s-fatgen.ads: Minor comment improvement
82a4b025 46469
9e94c78f 464702001-12-12 Ed Schonberg <schonber@gnat.com>
de76a39c 46471
07fc65c4
GB
46472 * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
46473 formal derived type, look for an inherited component from the full
de76a39c 46474 view of the parent, if any.
82a4b025 46475
9e94c78f 464762001-12-12 Robert Dewar <dewar@gnat.com>
de76a39c
GB
46477
46478 * checks.ads (Apply_Alignment_Check): New procedure.
82a4b025 46479
07fc65c4
GB
46480 * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
46481 ensure that the alignment of objects with address clauses is
de76a39c
GB
46482 appropriate, and raise PE if not.
46483
07fc65c4 46484 * exp_util.ads (Must_Be_Aligned): Removed, replaced by
de76a39c 46485 Exp_Pakd.Known_Aligned_Enough
82a4b025 46486
de76a39c
GB
46487 * mdllfile.ads: Minor reformatting
46488
46489 * mlib-fil.ads: Minor reformatting
82a4b025 46490
9e94c78f 464912001-12-12 Ed Schonberg <schonber@gnat.com>
de76a39c 46492
07fc65c4
GB
46493 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
46494 fix to any component reference if enclosing record has non-standard
de76a39c 46495 representation.
82a4b025 46496
9e94c78f 464972001-12-12 Vincent Celier <celier@gnat.com>
de76a39c 46498
07fc65c4 46499 * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
de76a39c 46500 Iteration
82a4b025 46501
9e94c78f 465022001-12-12 Ed Schonberg <schonber@gnat.com>
de76a39c 46503
07fc65c4 46504 * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
de76a39c 46505 sem_attr.
82a4b025 46506
9e94c78f 465072001-12-12 Robert Dewar <dewar@gnat.com>
de76a39c
GB
46508
46509 * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
82a4b025 46510
9e94c78f 465112001-12-12 Emmanuel Briot <briot@gnat.com>
de76a39c
GB
46512
46513 * g-regexp.adb: Remove all debug code, since it isn't required anymore,
46514 and it adds dependencies to system.io.
82a4b025 46515
9e94c78f 465162001-12-12 Pascal Obry <obry@gnat.com>
de76a39c 46517
07fc65c4 46518 * g-dirope.adb (Expand_Path.Var): Correctly detect end of
de76a39c
GB
46519 variable name.
46520
9e94c78f 465212001-12-11 Ed Schonberg <schonber@gnat.com>
0b09835f
ES
46522
46523 * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
07fc65c4
GB
46524 that is the parent of other generics, the instance body replaces the
46525 instance node. Retrieve the instance of the spec, which is the one
0b09835f
ES
46526 that is visible in clients and within the body.
46527
9e94c78f 465282001-12-11 Vincent Celier <celier@gnat.com>
598c3446
GB
46529
46530 * gnatmain.adb: Initial version.
82a4b025 46531
598c3446 46532 * gnatmain.ads: Initial version.
82a4b025 46533
598c3446 46534 * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
82a4b025 46535
598c3446 46536 * snames.adb: Updated to match snames.ads.
82a4b025 46537
598c3446 46538 * snames.ads: Added Gnatstub.
82a4b025 46539
9e94c78f 465402001-12-11 Vincent Celier <celier@gnat.com>
598c3446 46541
07fc65c4 46542 * prj-attr.adb (Initialization_Data): Change name from
598c3446 46543 Initialisation_Data.
82a4b025 46544
9e94c78f 465452001-12-11 Emmanuel Briot <briot@gnat.com>
598c3446
GB
46546
46547 * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
46548 + and * applied to backslashed expressions like \r.
82a4b025 46549
9e94c78f 465502001-12-11 Vasiliy Fofanov <fofanov@gnat.com>
598c3446 46551
07fc65c4 46552 * g-os_lib.ads: String_List type added, Argument_List type is now
598c3446 46553 subtype of String_List.
82a4b025 46554
9e94c78f 465552001-12-11 Robert Dewar <dewar@gnat.com>
598c3446
GB
46556
46557 * g-os_lib.ads: Change copyright to FSF
46558 Add comments for String_List type
82a4b025 46559
9e94c78f 465602001-12-11 Vincent Celier <celier@gnat.com>
598c3446 46561
07fc65c4 46562 * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
598c3446
GB
46563 string to the buffer).
46564
9e94c78f 465652001-12-11 Ed Schonberg <schonber@gnat.com>
7fb754a1
GB
46566
46567 * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
46568 sem_attr.
82a4b025 46569
7fb754a1 46570 * sem_attr.adb: Simplify previous fix for Address.
07fc65c4
GB
46571 (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
46572 to avoid anomalies where the bound of the type appears to raise
7fb754a1
GB
46573 constraint error.
46574
9e94c78f 465752001-12-11 Robert Dewar <dewar@gnat.com>
7fb754a1 46576
07fc65c4 46577 * lib-xref.adb (Output_Refs): Make sure pointers are always properly
7fb754a1 46578 handled.
82a4b025 46579
9e94c78f 465802001-12-11 Ed Schonber <schonber@gnat.com>
7fb754a1 46581
07fc65c4 46582 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
7fb754a1 46583 renamed unit before checking for recursive instantiations.
82a4b025 46584
9e94c78f 465852001-12-11 Emmanuel Briot <briot@gnat.com>
7fb754a1
GB
46586
46587 * prj.ads: Add comments for some of the fields.
46588
9e94c78f 465892001-12-11 Robert Dewar <dewar@gnat.com>
0873bafc 46590
07fc65c4 46591 * lib-xref.adb (Output_Refs): Don't output type references outside
0873bafc 46592 the main unit if they are not otherwise referenced.
82a4b025 46593
9e94c78f 465942001-12-11 Ed Schonberg <schonber@gnat.com>
0873bafc 46595
07fc65c4 46596 * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
0873bafc 46597 code and diagnose additional illegal uses
82a4b025 46598
07fc65c4 46599 * sem_util.adb (Is_Object_Reference): An indexed component is an
0873bafc 46600 object only if the prefix is.
82a4b025 46601
9e94c78f 466022001-12-11 Vincent Celier <celier@gnat.com>
0873bafc
GB
46603
46604 * g-diopit.adb: Initial version.
82a4b025 46605
0873bafc 46606 * g-diopit.ads: Initial version.
82a4b025 46607
0873bafc
GB
46608 * g-dirope.adb:
46609 (Expand_Path): Avoid use of Unbounded_String
46610 (Find, Wildcard_Iterator): Moved to child package Iteration
82a4b025 46611
0873bafc 46612 * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
82a4b025 46613
9e94c78f 466142001-12-11 Robert Dewar <dewar@gnat.com>
0873bafc
GB
46615
46616 * sem_attr.adb: Minor reformatting
46617
9e94c78f 466182001-12-11 Ed Schonberg <schonber@gnat.com>
d087cd96
GB
46619
46620 * sem_ch3.adb: Clarify some ???.
82a4b025 46621
9e94c78f 466222001-12-11 Robert Dewar <dewar@gnat.com>
d087cd96 46623
07fc65c4 46624 * exp_util.adb (Must_Be_Aligned): Removed, replaced by
d087cd96 46625 Exp_Pakd.Known_Aligned_Enough
82a4b025 46626
07fc65c4 46627 * sem_ch13.adb (Check_Address_Alignment): Removed, extended
d087cd96
GB
46628 version is moved to Exp_Ch13.
46629
9e94c78f 466302001-12-11 Robert Dewar <dewar@gnat.com>
d087cd96
GB
46631
46632 * einfo.ads: Minor reformatting
82a4b025 46633
d087cd96 46634 * exp_ch5.adb: Add comment for previous.change
82a4b025 46635
d087cd96 46636 * ali.adb: New interface for extended typeref stuff.
82a4b025 46637
d087cd96 46638 * ali.ads: New interface for typeref stuff.
82a4b025 46639
d087cd96 46640 * checks.adb (Apply_Alignment_Check): New procedure.
82a4b025 46641
d087cd96 46642 * debug.adb: Add -gnatdM for modified ALI output
82a4b025 46643
d087cd96 46644 * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
82a4b025 46645
07fc65c4
GB
46646 * lib-xref.adb: Extend generation of <..> notation to cover
46647 subtype/object types. Note that this is a complete rewrite,
46648 getting rid of the very nasty quadratic algorithm previously
d087cd96 46649 used for derived type output.
82a4b025 46650
07fc65c4
GB
46651 * lib-xref.ads: Extend description of <..> notation to cover
46652 subtype/object types. Uses {..} for these other cases.
d087cd96 46653 Also use (..) for pointer types.
82a4b025 46654
d087cd96 46655 * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
82a4b025 46656
07fc65c4 46657 * exp_pakd.adb: Minor reformatting. Note that prevous RH should say:
d087cd96
GB
46658 (Known_Aligned_Enough): Replaces Must_Be_Aligned.
46659
9e94c78f 466602001-12-11 Vincent Celier <celier@gnat.com>
290986ed
GB
46661
46662 * gnatcmd.adb:
46663 Changed /COMPILE_ONLY to /ACTIONS=COMPILE
46664 Changed /BIND_ONLY to /ACTIONS=BIND
46665 Changed /LINK_ONLY to /ACTIONS=LINK
82a4b025 46666
290986ed
GB
466672001-12-11 Ed Schonberg <schonber@gnat.com>
46668
46669 * sem_ch8.adb (Find_Selected_Component): improved search for a
46670 candidate package in case of error.
82a4b025 46671
290986ed
GB
46672 * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
46673 chain back on scope stack before reinstalling use clauses.
82a4b025 46674
290986ed
GB
46675 * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
46676 is enabled, do not kill the code for the condition, to preserve
46677 warning.
46678
9e94c78f 466792001-12-11 Robert Dewar <dewar@gnat.com>
84157f51 46680
07fc65c4 46681 * checks.adb (Insert_Valid_Check): Apply validity check to expression
84157f51
GB
46682 of conversion, not to result of conversion.
46683
9e94c78f 466842001-12-11 Ed Schonberg <schonber@gnat.com>
82a4b025 46685
07fc65c4
GB
46686 * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
46687 before freezing parent. If the declarations are mutually recursive,
46688 an access to the current record type may be frozen before the
84157f51
GB
46689 derivation is complete.
46690
9e94c78f 466912001-12-05 Vincent Celier <celier@gnat.com>
7ffa903f 46692
07fc65c4 46693 * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
7ffa903f 46694 -c /COMPILE_ONLY, -l /LINK_ONLY
82a4b025 46695
7ffa903f
VC
46696 * opt.ads:
46697 (Bind_Only): New Flag
46698 (Link_Only): New flag
82a4b025 46699
07fc65c4 46700 * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
7ffa903f 46701 and -l (Link_Only)
82a4b025 46702
7ffa903f 46703 * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
82a4b025 46704
7ffa903f
VC
46705 * make.adb:
46706 (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
46707 (Gnatmake): Set the step flags. Only perform a step if the
46708 corresponding step flag is True.
46709 (Scan_Make_Arg): Reset the bind and link step flags when -u
46710 or -gnatc has been specified.
46711
9e94c78f 467122001-12-05 Ed Schonberg <schonber@gnat.com>
f91b40db 46713
07fc65c4 46714 * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
f91b40db 46715 get bounds from right operand.
82a4b025 46716
f91b40db 46717 * sem_eval.adb: Minor reformatting
82a4b025 46718
07fc65c4 46719 * exp_util.adb (Make_Literal_Range): use bound of literal rather
f91b40db 46720 than Index'First, its lower bound may be different from 1.
82a4b025 46721
07fc65c4 46722 * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
f91b40db 46723 and C48009J
82a4b025 46724
9e94c78f 467252001-12-05 Vincent Celier <celier@gnat.com>
f91b40db
GB
46726
46727 * prj-nmsc.adb Minor reformatting
82a4b025 46728
07fc65c4 46729 * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
f91b40db 46730 set and libraries are not supported.
82a4b025 46731
9e94c78f 467322001-12-05 Ed Schonberg <schonber@gnat.com>
f91b40db 46733
07fc65c4
GB
46734 * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
46735 private view explicitly, so the back-end can treat as a global
f91b40db
GB
46736 when appropriate.
46737
9e94c78f 467382001-12-05 Ed Schonberg <schonber@gnat.com>
45d04cbb
GB
46739
46740 * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
46741 unit, always replace instance node with new body, for ASIS use.
46742
9e94c78f 467432001-12-05 Vincent Celier <celier@gnat.com>
82a4b025 46744
07fc65c4
GB
46745 * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
46746 libraries are not supported and both attributes Library_Name and
45d04cbb 46747 Library_Dir are specified.
82a4b025 46748
07fc65c4 46749 * prj-proc.adb (Expression): Set location of Result to location of
45d04cbb 46750 first term.
82a4b025 46751
45d04cbb
GB
46752 * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
46753 (prj-nmsc is now importing MLib.Tgt)
82a4b025 46754
45d04cbb
GB
46755 * prj-proc.adb: Put the change indicated above that was forgotten.
46756
9e94c78f 467572001-12-05 Robert Dewar <dewar@gnat.com>
84436014
RD
46758
46759 * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
46760
9e94c78f 467612001-12-05 Ed Schonberg <schonber@gnat.com>
7ae0dcd8
ES
46762
46763 * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
46764 constraint, introduce explicit subtype declaration and derive from it.
82a4b025 46765
7ae0dcd8
ES
46766 * sem_ch3.adb: Minor reformatting
46767
9e94c78f 467682001-12-05 Robert Dewar <dewar@gnat.com>
c9a4817d 46769
07fc65c4 46770 * checks.adb (Determine_Range): Increase cache size for checks.
c9a4817d 46771 Minor reformatting
82a4b025 46772
c9a4817d
RD
46773 * exp_ch6.adb: Minor reformatting
46774 (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
46775 a parameter whose root type is System.Address, since treating such
46776 subprograms as pure in the code generator is almost surely a mistake
46777 that will lead to unexpected results.
82a4b025 46778
07fc65c4 46779 * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
c9a4817d 46780 change handling of conversions.
82a4b025 46781
c9a4817d
RD
46782 * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
46783
9e94c78f 467842001-12-05 Ed Schonberg <schonber@gnat.com>
2514b839 46785
07fc65c4
GB
46786 * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
46787 aggregate with static wrong size, attach generated Raise node to
2514b839
ES
46788 declaration.
46789
9e94c78f 467902001-12-05 Robert Dewar <dewar@gnat.com>
457b6274 46791
07fc65c4 46792 * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
457b6274
RD
46793 Fixes compilation abandoned bomb in B24009B.
46794
9e94c78f 467952001-12-05 Ed Schonberg <schonber@gnat.com>
19349925
ES
46796
46797 * sem_ch12.adb:
46798 Document use of Associated_Node on Selected_Components.
46799 (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
46800 to clarify use of untyped descendant fields.
46801
9e94c78f 468022001-12-05 Robert Dewar <dewar@gnat.com>
6663c393
RD
46803
46804 * prj-dect.ads: Add ??? comment
46805 Add 2001 to copyright notice (was not done in after all)
82a4b025 46806
6663c393 46807 * prj-part.adb: Minor reformatting. Reword one awkward error message.
82a4b025 46808
6663c393 46809 * prj.ads: Minor reformatting throughout, and add some ??? comments
82a4b025 46810
6663c393
RD
46811 * snames.ads: Minor reformatting
46812
9e94c78f 468132001-12-05 Geert Bosch <bosch@gnat.com>
d7b2a6af
GB
46814
46815 * snames.adb: Autoupdate
46816
9e94c78f 468172001-12-05 Vincent Celier <celier@gnat.com>
fbc9a404
VC
46818
46819 * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
82a4b025 46820
fbc9a404 46821 * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
82a4b025 46822
fbc9a404 46823 * prj-env.adb: Minor comment changes (modifying -> extends).
82a4b025 46824
fbc9a404 46825 * prj-nmsc.adb: Minor comment changes (modifying -> extends).
82a4b025 46826
07fc65c4 46827 * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
fbc9a404 46828 Tok_Extends.
82a4b025 46829
fbc9a404 46830 * prj.adb (Initialize): Change Modifying to Extends.
82a4b025 46831
fbc9a404 46832 * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
82a4b025 46833
fbc9a404 46834 * prj.ads: Minor comment change (Modifying -> extending).
82a4b025 46835
fbc9a404
VC
46836 * snames.ads: Change modifying to extends.
46837
9e94c78f 468382001-12-05 Robert Dewar <dewar@gnat.com>
7cff0b1b 46839
07fc65c4 46840 * sem_warn.adb: Remove stuff for conditionals, we are not going to
7cff0b1b 46841 do this after all.
82a4b025 46842
07fc65c4 46843 * sem_warn.ads: Remove stuff for conditionals, we are not going to
7cff0b1b
RD
46844 do this after all. Add 2001 to copyright notice
46845
9e94c78f 468462001-12-04 Geert Bosch <bosch@gnat.com>
4f56ebb7
GB
46847
46848 * einfo.h, sinfo.h, treeprs.ads: Regenerate.
46849
9e94c78f 468502001-12-04 Robert Dewar <dewar@gnat.com>
053defdf 46851
07fc65c4
GB
46852 * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
46853 location if we already have errors. Stops some cases of cascaded
053defdf 46854 errors.
82a4b025 46855
053defdf
RD
46856 * errout.adb: Improve comment.
46857
9e94c78f 468582001-12-04 Robert Dewar <dewar@gnat.com>
f311e166
RD
46859
46860 * sem_ch12.adb:
46861 (Analyze_Formal_Type_Definition): Defend against Error.
46862 (Analyze_Formal_Subprogram): Defend against Error.
82a4b025 46863
07fc65c4 46864 * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
f311e166
RD
46865 remove following semicolon if present. Removes cascaded error.
46866
9e94c78f 468672001-12-04 Douglas B. Rupp <rupp@gnat.com>
d61bd65a
DR
46868
46869 * bindgen.adb:
46870 (Gen_Exception_Table_Ada): Write "begin" and then return if Num
46871 exceptions equals 0.
46872 (Gen_Exception_Table_C): Return if Num exceptions equals 0.
46873 Fixes PIWG E tests (which have to be run with -gnatL).
46874
9e94c78f 468752001-12-04 Robert Dewar <dewar@gnat.com>
4ba603e2
RD
46876
46877 * einfo.ads: Minor reformatting
46878
9e94c78f 468792001-12-04 Ed Schonberg <schonber@gnat.com>
57568d91 46880
07fc65c4
GB
46881 * einfo.ads: Block_Node points to the identifier of the block, not to
46882 the block node itself, to preserve the link when the block is
46883 rewritten, e.g. within an if-statement with a static condition.
82a4b025 46884
07fc65c4 46885 * inline.adb (Cleanup_Scopes): recover block statement from block
57568d91 46886 entity using new meaning of Block_Node.
82a4b025 46887
07fc65c4 46888 * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
57568d91
ES
46889 identifier of block node, rather than to node itself.
46890
9e94c78f 468912001-12-04 Gary Dismukes <dismukes@gnat.com>
82a4b025 46892
0815d36a
GD
46893 * layout.adb:
46894 (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
46895 (Discrimify): Go back to setting the Etypes of the selected component
07fc65c4 46896 because the Vname component does not exist at this point and will
0815d36a
GD
46897 fail name resolution. Also set Analyzed.
46898 Remove with and use of Sem_Res.
46899
9e94c78f 469002001-12-04 Arnaud Charlet <charlet@gnat.com>
edc0f304
AC
46901
46902 * Makefile.in: (HIE_SOURCES): add s-fat*.
46903
9e94c78f 469042001-12-04 Robert Dewar <dewar@gnat.com>
32213142
RD
46905
46906 * sem_attr.adb:
46907 (Compile_Time_Known_Attribute): New procedure.
46908 (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
46909 proper range check.
46910
9e94c78f 469112001-12-04 Ed Schonberg <schonber@gnat.com>
c0def2ad 46912
07fc65c4 46913 * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
c0def2ad
ES
46914 processing discriminants to diagnose illegal default values.
46915
9e94c78f 469162001-12-04 Ed Schonberg <schonber@gnat.com>
ee0a48c5 46917
07fc65c4
GB
46918 * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
46919 access discriminant within a type extension that constrains its
ee0a48c5
ES
46920 parent discriminants.
46921
9e94c78f 469222001-12-04 Ed Schonberg <schonber@gnat.com>
dd5875a6 46923
07fc65c4 46924 * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
dd5875a6 46925 is malformed, use instance of Any_Id to allow analysis to proceed.
82a4b025 46926
07fc65c4 46927 * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
dd5875a6
ES
46928 type definition is illegal.
46929 (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
46930 misplaced.
46931
9e94c78f 469322001-12-04 Ed Schonberg <schonber@gnat.com>
c2a41e57 46933
07fc65c4 46934 * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
c2a41e57
ES
46935 constants.
46936
9e94c78f 469372001-12-04 Robert Dewar <dewar@gnat.com>
0ae84753
RD
46938
46939 * errout.adb: Minor reformatting
46940
9e94c78f 469412001-12-04 Robert Dewar <dewar@gnat.com>
63db260e
RD
46942
46943 * exp_util.adb: Minor reformatting from last change
82a4b025 46944
07fc65c4
GB
46945 * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
46946 which is a rewriting of an expression, traverse the original
63db260e
RD
46947 expression to remove warnings that may have been posted on it.
46948
9e94c78f 469492001-12-04 Ed Schonberg <schonber@gnat.com>
c6d289f4 46950
07fc65c4 46951 * exp_util.adb (Must_Be_Aligned): Return false for a component of a
c6d289f4
ES
46952 record that has other packed components.
46953
9e94c78f 469542001-12-04 Douglass B. Rupp <rupp@gnat.com>
5917e80d
DR
46955
46956 * adaint.c: Minor cleanups.
46957
9e94c78f 469582001-12-04 Douglass B. Rupp <rupp@gnat.com>
2c70f9dd
DR
46959
46960 * adaint.c: Do not use utime.h on vxworks.
46961
9e94c78f 469622001-12-04 Arnaud Charlet <charlet@gnat.com>
e59b3387 46963
07fc65c4 46964 * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
e59b3387
AC
46965 more confusion than it solves.
46966
9e94c78f 469672001-12-04 Geert bosch <bosch@gnat.com>
e288604a
GB
46968
46969 * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
46970
5ac21013
GB
469712001-12-04 Geert Bosch <bosch@gnat.com>
46972
07fc65c4 46973 * Makefile.in (update-sources): New target.
5ac21013
GB
46974 For use by gcc_release script.
46975
9e94c78f 469762001-12-04 Ed Schonberg <schonber@gnat.com>
7dd5bd5e 46977
07fc65c4 46978 * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
7dd5bd5e
ES
46979 a configuration pragma, it is now legal wherever a pragma can appear.
46980
a078a589
ZW
469812001-12-04 Zack Weinberg <zack@codesourcery.com>
46982
46983 * Makefile.in: Don't set ALL. Delete @cross_defines@,
46984 @cross_overrides@, @build_overrides@ stanzas. INTERNAL_CFLAGS
46985 is now @CROSS@ -DIN_GCC; update comment.
46986
9e94c78f 469872001-12-04 Robert Dewar <dewar@gnat.com>
0839863c
GB
46988
46989 * einfo.adb (Has_Pragma_Pure_Function): New flag.
46990 Fix problem that stopped ceinfo from working
82a4b025 46991
0839863c 46992 * einfo.ads (Has_Pragma_Pure_Function): New flag.
82a4b025 46993
0839863c
GB
46994 * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
46995
9e94c78f 469962001-12-04 Douglas B. Rupp <rupp@gnat.com>
9678de49
DR
46997
46998 * gnatchop.adb:
46999 (File_Time_Stamp): New procedure.
47000 (Preserve_Mode): New boolean.
47001 (Write_Unit): Pass time stamp.
47002 Implement -p switch (preserve time stamps).
82a4b025 47003
9678de49 47004 * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
82a4b025 47005
9678de49 47006 * gnatchop.adb: Do usage info for -p switch
82a4b025 47007
9678de49 47008 * adaint.h (__gnat_set_file_time_name): New function
82a4b025 47009
9678de49 47010 * adaint.c (__gnat_set_file_time_name): Implement
82a4b025 47011
9678de49
DR
47012 * adaint.h: Fix typo
47013
9e94c78f 470142001-12-03 Robert Dewar <dewar@gnat.com>
3b9a13c4 47015
667e5c5d 47016 * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
b4f94ac1 47017 have Associated_Node.
3b9a13c4 47018
9e94c78f 470192001-12-03 Robert Dewar <dewar@gnat.com>
767b404e
RD
47020
47021 * prj-proc.adb: Minor reformatting
667e5c5d 47022
767b404e
RD
47023 * make.adb: Minor reformatting
47024
9e94c78f 470252001-12-03 Geert Bosch <bosch@gnat.com>
11ac71ba 47026
667e5c5d 47027 * make.adb: Minor reformatting.
11ac71ba 47028
ef3d4d6e 470292001-12-03 Robert Dewar <dewar@gnat.com>
b1446533
RD
47030
47031 * sem_ch12.adb: Minor reformatting
47032
9e94c78f 470332001-12-03 Ed Schonberg <schonber@gnat.com>
d6d32b24 47034
667e5c5d
AJ
47035 * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
47036 push Standard on the stack before analyzing the instance body,
d6d32b24 47037 in order to have a clean visibility environment.
667e5c5d
AJ
47038
47039 * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
d6d32b24 47040
9e94c78f 470412001-12-03 Ed Schonberg <schonber@gnat.com>
13f08f03 47042
667e5c5d 47043 * sem_ch12.adb (Instantiate_Package_Body): Protect against double
13f08f03
ES
47044 instantiation of a body that contains an inlined body.
47045
9e94c78f 470462001-12-03 Ed Schonberg <schonber@gnat.com>
3bd6c100
ES
47047
47048 * sem_ch12.adb:
47049 (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
47050 to prevent freezing within formal packages.
47051 (Freeze_Subprogram_Body): If body comes from another instance that
47052 appeared before its own body, place freeze node at end of current
47053 declarative part, to prevent a back-end crash.
47054 (Inline_Instance_Body): Handle properly a package instance within
47055 a subprogram instance that is a child unit.
47056
58d07d8f
GS
470572001-12-01 Graham Stott <grahams@redhat.com>
47058
47059 * Makefile.in (misc.o): Add missing $(srcdir) prefix
47060 and add optabs.h dependency.
47061
47062 * misc.c: Include optabs.h
47063 (gnat_tree_code_type): Make static and const.
47064 (gnat_tree_code_length): Likewise.
47065 (gnat_tree_code_name): Likewise.
47066 (update_setjmp_buf): Obtain operands mode from insn_data.
47067
c87222f0
RH
470682001-11-29 Richard Henderson <rth@redhat.com>
47069
47070 * init.c: Remove obsolete dwarf2 frame.h section.
47071
d3945f0a
JM
470722001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
47073
47074 * Make-lang.in (ada.generated-manpages): New dummy target.
47075
9e94c78f 470762001-11-29 Ed Schonberg <schonber@gnat.com>
9f639397 47077
667e5c5d
AJ
47078 * g-os_lib.adb (Add_To_Command): use explicit loop to move string
47079 into Command, an array conversion is illegal here. Uncovered by
9f639397
ES
47080 ACATS B460005.
47081
9e94c78f 470822001-11-28 Geert Bosch <bosch@gnat.com>
c835e5c6
GB
47083
47084 * init.c: Minor whitespace changes.
47085
9e94c78f 470862001-11-28 Doug Rupp <rupp@gnat.com>
49bb4548 47087
667e5c5d 47088 * init.c: (__gnat_install_handler,VMS): Increase size of alternate
49bb4548
DR
47089 signal stack.
47090
ea2417e5
ZW
470912001-11-28 Zack Weinberg <zack@codesourcery.com>
47092
47093 * misc.c (gnat_expand_constant): Move declaration above
47094 definition of lang_hooks.
47095 (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
47096 (gnat_init): lang_expand_constant no longer exists.
47097
47098 (internal_error_function): Remove #ifdef HAVE_VPRINTF. We
47099 always have vprintf.
47100 (gnat_init): Always call set_internal_error_function.
47101
f8e0aa73
AJ
471022001-11-27 Andreas Jaeger <aj@suse.de>
47103
47104 * Makefile.in (stamp-tool_src_dir): Use symbolic link.
47105
d99b0e79
LG
471062001-11-27 Laurent Guerby <guerby@acm.org>
47107
47108 * Makefile.in: Regenerate Ada dependencies.
47109
3f0496e5
RH
471102001-11-26 Richard Henderson <rth@redhat.com>
47111
47112 * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
47113 gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
47114 gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
47115
92fa4733
LG
471162001-11-25 Laurent Guerby <guerby@acm.org>
47117
47118 * sysdep.c (rts_get_*): Fix style.
47119
07626501
LG
471202001-11-19 Laurent Guerby <guerby@acm.org>
47121
47122 * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
47123 since it is of no apparent use and cause warnings.
47124
22703ccc
NB
471252001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
47126
47127 * misc.c (gnat_decode_option, gnat_init_options): Make definitions
47128 static too.
47129 (gnat_init): Don't return NULL.
47130 (finish_parse): Remove.
47131
b0df4321
LG
471322001-11-17 Laurent Guerby <guerby@acm.org>
47133
47134 * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
47135 * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
47136 * io-aux.c: Provide K&R prototypes to all functions, reformat code.
47137 * lang-spec.h: Add missing struct field to silence warnings.
47138 * sysdep.c (rts_get_*): Provide K&R prototype.
47139 * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
47140 * traceback.c (Unlock_Task, Lock_Task): Likewise.
47141 * tracebak.c (__gnat_backtrace): Remove unused variable.
47142 * utils.c (end_subprog_body): Move to K&R style.
47143
d215024f
RK
47144Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
47145
47146 * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
47147
f5e99456
NB
471482001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
47149
47150 * misc.c (gnat_init): Change prototype. Include the
47151 functionality of the old init_parse and init_decl_processing.
47152 (gnat_init_decl_processing): New prototype.
47153 (init_parse): Remove.
47154 * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
47155
5d69f816
NB
471562001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
47157
47158 * misc.c (gnat_print_decl, gnat_print_type): Renamed.
47159 (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
47160 (print_lang_statistics, lang_print_xnode, print_lang_identifier,
47161 set_yydebug): Remove.
47162
3ac88239
NB
471632001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
47164
47165 * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
47166 (struct lang_hooks): Constify.
47167 (language_string, lang_identify): Remove.
47168 * utils.c (init_decl_processing): Update.
47169
d23c55c2
NB
471702001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
47171
47172 * misc.c: Include langhooks-def.h.
47173 * Makefile.in: Update.
47174
9e94c78f 471752001-10-30 Robert Dewar <dewar@gnat.com>
04a1b79c
RD
47176
47177 * style.adb:
47178 (Check_Identifier): Rewrite circuit to be compatible with use of letters
47179 in the upper half of ASCII.
47180 (Check_Identifier): Minor reformatting
47181
9e94c78f 471822001-10-30 Geert Bosch <bosch@gnat.com>
81fa2d39 47183
f8e0aa73 47184 * (Associated_Node, Set_Associated_Node): Do not check for
81fa2d39
GB
47185 Freeze_Entity.
47186
9e94c78f 471872001-10-30 Robert Dewar <dewar@gnat.com>
ffc5527f
RD
47188
47189 * a-reatim.ads: Minor reformatting
47190
9e94c78f 471912001-10-30 Robert Dewar <dewar@gnat.com>
865335eb 47192
f8e0aa73 47193 * gnatdll.adb: Minor reformatting throughout. Many ??? added for
865335eb
RD
47194 undocumented declarations.
47195
9e94c78f 471962001-10-30 Pascal Obry <obry@gnat.com>
5e257178 47197
f8e0aa73 47198 * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
5e257178
PO
47199 to the binder and linker.
47200 Minor style fix.
f8e0aa73 47201
5e257178
PO
47202 * mdll.ads: Fix layout. Update copyright notice.
47203
47204 * mdll.adb: Fix layout. Update copyright notice.
47205
9e94c78f 472062001-10-30 Robert Dewar <dewar@gnat.com>
1753e0ad
RD
47207
47208 * usage.adb: Minor fix to output for -gnaty.
47209
9e94c78f 472102001-10-30 Ed Schonberg <schonber@gnat.com>
84bfdde0 47211
f8e0aa73
AJ
47212 * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
47213 to accommodate all its possible values.
84bfdde0 47214
f8e0aa73 47215 * a-reatim.adb (Split): Special-case handling of Time_Span_First
84bfdde0
ES
47216 and of small absolute values of T.
47217
9e94c78f 472182001-10-30 Richard Kenner <kenner@gnat.com>
c296e5fc 47219
f8e0aa73
AJ
47220 * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
47221 set_mem_attributes since not needed and wrong if RESULT if a REG;
c296e5fc
RK
47222 fixes ACATS failures.
47223
9e94c78f 472242001-10-30 Geert Bosch <bosch@gnat.com>
07c809df
GB
47225
47226 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
47227 s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
47228
9e94c78f 472292001-10-30 Robert Dewar <dewar@gnat.com>
f8e0aa73 47230
54d22416 47231 * bindusg.adb: Undocument -f switch.
f8e0aa73 47232
54d22416 47233 * gnatcmd.adb: Remove /FULL_ELABORATION.
f8e0aa73
AJ
47234
47235 * opt.ads (Force_RM_Elaboration_Order): Document that this is
54d22416 47236 obsolescent.
f8e0aa73 47237
54d22416 47238 * gnatbind.adb: Output new warning for use of obsolescent -f switch.
f8e0aa73 47239
54d22416
RD
47240 * gnatbind.adb: Minor update of warning msg.
47241
9e94c78f 472422001-10-30 Vincent Celier <celier@gnat.com>
af5cf6f8 47243
f8e0aa73 47244 * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
af5cf6f8 47245 for project file switches (-P (/PROJECT_FILE=),
f8e0aa73 47246 -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
af5cf6f8
VC
47247 or MEDIUM or HIGH)
47248
9e94c78f 472492001-10-30 Geert Bosch <bosch@gnat.com>
984bc4c3
GB
47250
47251 * decl.c: Minor whitespace fixes.
47252
9e94c78f 472532001-10-30 Richard Kenner <kenner@gnat.com>
5dece937
RK
47254
47255 * utils2.c (build_allocator): Test for SIZE overflow in array case too
47256
9e94c78f 472572001-10-30 Geert Bosch <bosch@gnat.com>
de4bf6cb 47258
f8e0aa73 47259 * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
de4bf6cb 47260 Found due to GCC 3.0 warning of using uninitialized value.
f8e0aa73 47261
de4bf6cb
GB
47262 * layout.adb:
47263 (Get_Max_Size): Use variant record for tracking value/expression.
47264 Makes logic clearer and prevents warnings for uninitialized variables.
47265 (Layout_Array_Type): Use variant record for tracking value/expression.
47266 Makes logic clearer and prevents warnings for uninitialized variables.
47267
9e94c78f 472682001-10-30 Robert Dewar <dewar@gnat.com>
f5e44987
RD
47269
47270 * lib.adb: Minor reformatting
47271
47272 * s-taprop.ads: Minor reformatting
47273
45659035 472742001-10-29 Laurent Guerby <guerby@acm.org>
f8e0aa73 47275
45659035
GB
47276 * init.c:
47277 (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
47278 const.
47279 (_gnat_error_handler): Make MSG const.
47280
9e94c78f 472812001-10-29 Richard Kenner <kenner@gnat.com>
45659035
GB
47282
47283 * sysdep.c: Fix localtime_r problem on LynxOS.
47284 Also remove #elif to avoid warnings.
f8e0aa73
AJ
47285
47286 * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
45659035 47287 used by this.
f8e0aa73 47288
45659035
GB
47289 * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
47290
638e383e
JM
472912001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
47292
47293 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
47294 exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
47295 g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
47296 g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
47297 layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
47298 s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
47299 sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
47300 sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
47301 sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
47302 types.ads, urealp.adb: Fix spelling errors.
47303
9e94c78f 473042001-10-27 Laurent Guerby <guerby@acm.org>
97f6baa0
LG
47305
47306 * trans.c (gigi): Fix non determinism leading to bootstrap
47307 comparison failures for debugging information.
47308
46b58b8c
FW
473092001-10-26 Florian Weimer <fw@deneb.enyo.de>
47310
47311 * gnat_rm.texi: Use @./@: where appropriate.
47312
9e94c78f 473132001-10-26 Robert Dewar <dewar@gnat.com>
30151c7b
RD
47314
47315 * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
47316
9e94c78f 473172001-10-26 Richard Kenner <kenner@gnat.com>
c0b1738d
RK
47318
47319 * gmem.c (__gnat_gmem_read_next): Properly check for EOF
47320
9e94c78f 473212001-10-26 Richard Kenner <kenner@gnat.com>
5b09c153 47322
f8e0aa73 47323 * decl.c (validate_size): Modify message for bad size to avoid
5b09c153
RK
47324 implication that compiler is modifying the size.
47325
9e94c78f 473262001-10-26 Robert Dewar <dewar@gnat.com>
4d553668
RD
47327
47328 * prj-util.adb: Minor reformatting. Fix bad header format.
47329
9e94c78f 473302001-10-26 Robert Dewar <dewar@gnat.com>
3e542a58
RD
47331
47332 * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
f8e0aa73 47333
3e542a58 47334 * sinfo.ads: Clarify use of Associated_Node (documentation only).
f8e0aa73
AJ
47335
47336 * sem_ch12.adb: Change Node4 to Associated_Node. Change
47337 Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
3e542a58
RD
47338 much more narrowly in places where needed. These are cleanups.
47339
9e94c78f 473402001-10-26 Joel Brobecker <brobecke@gnat.com>
0bf08bfe
JB
47341
47342 * 5zosinte.ads (null_pthread): new constant.
f8e0aa73 47343
0bf08bfe
JB
47344 * 5ztaprop.adb:
47345 (Initialize_TCB): Initialize thread ID to null, to be able to verify
47346 later that this field has been set.
47347 (Finalize_TCB): ditto.
47348 (Suspend_Task): Verify that the thread ID is not null before using it.
47349 (Resume_Task): ditto.
f8e0aa73 47350
0bf08bfe
JB
47351 * s-tasdeb.adb:
47352 (Resume_All_Tasks): Lock the tasks list before using it.
47353 (Suspend_All_Tasks): ditto.
47354
9e94c78f 473552001-10-26 Richard Kenner <kenner@gnat.com>
7a3a8c06 47356
f8e0aa73 47357 * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
7a3a8c06
RK
47358 Make constant variant of designated type for Is_Access_Constant.
47359 Call update_pointer_to with main variant.
f8e0aa73
AJ
47360
47361 * trans.c (process_freeze_entity, process_type):
7a3a8c06 47362 Call update_pointer_to on main variant.
f8e0aa73 47363
7a3a8c06
RK
47364 * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
47365 If main variant, update all other variants.
f8e0aa73
AJ
47366
47367 * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
7a3a8c06
RK
47368 TREE_STATIC.
47369
9e94c78f 473702001-10-26 Robert Dewar <dewar@gnat.com>
a160babb
RD
47371
47372 * prj-util.adb: Minor reformatting
47373
9e94c78f 473742001-10-26 Robert Dewar <dewar@gnat.com>
b403bd17
RD
47375
47376 * prj-util.adb: Minor reformatting
47377
9e94c78f 473782001-10-26 Robert Dewar <dewar@gnat.com>
5fc3b4c7
RD
47379
47380 * prj-attr.adb: Minor reformatting throughout
47381
9e94c78f 473822001-10-26 Robert Dewar <dewar@gnat.com>
8c736034
RD
47383
47384 * prj-attr.ads: Minor reformatting
47385 Add ??? comment (this whole spec has almost no comments)
47386
9e94c78f 473872001-10-26 Vincent Celier <celier@gnat.com>
47d5b6ed 47388
f8e0aa73 47389 * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
b4f94ac1 47390 ("//") that precede the drive letter on Interix.
47d5b6ed 47391
9e94c78f 473922001-10-26 Geert Bosch <bosch@gnat.com>
41af791f
GB
47393
47394 * gnat_rm.texi: Add GNAT Reference Manual.
47395
9e94c78f 473962001-10-25 Robert Dewar <dewar@gnat.com>
ed4a1468 47397
f8e0aa73 47398 * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
b4f94ac1 47399 is Error. Similar change for other renaming cases.
ed4a1468 47400
9e94c78f 474012001-10-25 Robert Dewar <dewar@gnat.com>
24377ae4
RD
47402
47403 * s-atacco.ads: Add pragma Inline_Always for functions.
47404 Fix header format. Add copyright 2001
47405
9e94c78f 474062001-10-25 Ed Schonberg <schonber@gnat.com>
fef3204e 47407
f8e0aa73 47408 * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
b4f94ac1 47409 return Error rather than Empty so that analysis can proceed.
fef3204e 47410
9e94c78f 474112001-10-25 Ed Schonberg <schonber@gnat.com>
dfc69d80 47412
f8e0aa73 47413 * sem_util.adb (Enter_Name): better handling of cascaded error
b4f94ac1 47414 messages when a unit appears in its own context.
dfc69d80 47415
9e94c78f 474162001-10-25 Ed Schonberg <schonber@gnat.com>
5a15af62 47417
f8e0aa73 47418 * sem_util.adb (Defining_Entity): in case of error, attach created
b4f94ac1 47419 entity to specification, so that semantic analysis can proceed.
5a15af62 47420
9e94c78f 474212001-10-25 Robert Dewar <dewar@gnat.com>
2b881d53 47422
f8e0aa73 47423 * sem_util.adb
b4f94ac1 47424 (Defining_Entity): Deal with Error.
2b881d53
RD
47425 (Process_End_Label): Deal with bad end label for.
47426
9e94c78f 474272001-10-25 Ed Schonberg <schonber@gnat.com>
578053f2 47428
f8e0aa73 47429 * sem_elab.adb (Check_A_Call): refine message when call is in an
578053f2
ES
47430 instance but callee is not declared in the generic unit.
47431
9e94c78f 474322001-10-25 Ed Schonberg <schonber@gnat.com>
f8e0aa73
AJ
47433
47434 * sem_elab.adb (Check_A_Call): check for renaming before finding the
0597ce0b
ES
47435 enclosing unit, which may already be different from the calling unit.
47436
9e94c78f 474372001-10-25 Geert Bosch <bosch@gnat.com>
3de6e6da
GB
47438
47439 * 4gintnam.ads: fix header format.
47440
9e94c78f 474412001-10-25 Ed Schonberg <schonber@gnat.com>
6f311316 47442
f8e0aa73 47443 * sem_res.adb (Resolve_Call): if the call is actually an indexing
b4f94ac1
ZW
47444 operation on the result of a parameterless call, perform elaboration
47445 check after the node has been properly rewritten.
f8e0aa73
AJ
47446
47447 * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
b4f94ac1
ZW
47448 inlined within the generic tree, the defining identifier is not a
47449 compilation_unit.
6f311316 47450
9e94c78f 474512001-10-25 Ed Schonberg <schonber@gnat.com>
17be0cdf 47452
f8e0aa73 47453 * sem_res.adb (Resolve): special-case resolution of Null in an
b4f94ac1 47454 instance or an inlined body to avoid view conflicts.
f8e0aa73
AJ
47455
47456 * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
b4f94ac1 47457 compatibility by retrieving the access type of the generic copy.
17be0cdf 47458
9e94c78f 474592001-10-25 Robert Dewar <dewar@gnat.com>
ce9e9122
RD
47460
47461 * sem_ch3.adb:
47462 (Analyze_Number_Declaration): Handle error expression.
47463 (Signed_Integer_Type_Declaration): Handle error bound.
47464 (Analyze_Subtype_Indication): Handle error range.
f8e0aa73 47465
ce9e9122
RD
47466 * sem_util.adb (Get_Index_Bounds): Check for Error.
47467
9e94c78f 474682001-10-25 Robert Dewar <dewar@gnat.com>
e12fbc9e 47469
f8e0aa73 47470 * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
e12fbc9e
RD
47471 in no run time mode.
47472
9e94c78f 474732001-10-25 Pascal Obry <obry@gnat.com>
52b80488 47474
f8e0aa73 47475 * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
b4f94ac1 47476 mode case for ALLOC case.
f8e0aa73
AJ
47477
47478 * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
b4f94ac1 47479 all platforms. Improvement of last change.
52b80488 47480
9e94c78f 474812001-10-25 Robert Dewar <dewar@gnat.com>
316ad9c5
RD
47482
47483 * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
47484
1a7e4df4
GB
474852001-10-25 Geert Bosch <bosch@gnat.com>
47486
47487 * osint.adb (Is_Relative): Remove duplicate.
47488
9e94c78f 474892001-10-25 Pascal Obry <obry@gnat.com>
90a9fff2 47490
f8e0aa73 47491 * osint.adb (Read_Default_Search_Dirs): correctly detect relative
b4f94ac1 47492 pathnames in UNIX and DOS style with drive letter.
90a9fff2 47493 (Is_Relative): new routine.
f8e0aa73 47494
90a9fff2 47495 * osint.adb: Minor reformatting
f8e0aa73
AJ
47496
47497 * osint.adb (Is_Relative): implementation using
b4f94ac1 47498 GNAT.OS_Lib.Is_Absolute_Path. Better fix.
90a9fff2 47499
9e94c78f 475002001-10-25 Pascal Obry <obry@gnat.com>
5c1ba4cc 47501
f8e0aa73 47502 * g-dirope.adb (Basename): correctly compute offset between the
b4f94ac1 47503 original Path and the translated one.
f8e0aa73 47504
5c1ba4cc
PO
47505 * g-dirope.adb: (Base_Name): add some comments.
47506
9e94c78f 475072001-10-25 Robert Dewar <dewar@gnat.com>
a7fb206d 47508
f8e0aa73 47509 * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
b4f94ac1 47510 in HIE mode, avoids compilation abandoned message
f8e0aa73 47511
a7fb206d 47512 * exp_imgv.adb: Correct typo in previous change
f8e0aa73 47513
a7fb206d
RD
47514 * exp_imgv.adb: Correct typo in previous change (not my day!)
47515
9e94c78f 475162001-10-25 Robert Dewar <dewar@gnat.com>
e6a7e62e
RD
47517
47518 * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
47519
9e94c78f 475202001-10-25 Pascal Obry <obry@gnat.com>
75c09e7d 47521
f8e0aa73 47522 * g-awk.ads: Move all pragma inlines next to the routine
0d2b8e0b 47523 declarations. This is more uniform with other GNAT spec.
75c09e7d 47524
0d2b8e0b 475252001-10-22 Geert Bosch <bosch@gnat.com>
d2740a69
GB
47526
47527 * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
47528
0d2b8e0b 475292001-10-19 Geert Bosch <bosch@gnat.com>
d7ac9bdd
GB
47530
47531 * Makefile.in (tools, gnattools): Remove gnatmem.
47532
17ed6335
RH
475332001-10-17 Richard Henderson <rth@redhat.com>
47534
47535 * Makefile.in (misc.o): Depend on langhooks.h.
47536 * misc.c: Include it.
47537 (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
47538 (LANG_HOOKS_DECODE_OPTION): New.
47539 (lang_hooks): Use LANG_HOOKS_INITIALIZER.
47540
f2436274
FW
475412001-10-16 Florian Weimer <fw@deneb.enyo.de>
47542
47543 * trans.c (tree_transform): Adjust to recent change in
47544 expand_asm_operands to implement named asm operands.
47545
b14127e6
ES
475462001-10-11 Ed Schonberg <schonber@gnat.com>
47547
f8e0aa73 47548 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
b14127e6
ES
47549 renaming of discriminant for mutable record type.
47550
e70ee92a
RD
475512001-10-11 Robert Dewar <dewar@gnat.com>
47552
47553 * validsw.adb: Properly save -gnatVn status.
47554
9e94c78f 475552001-10-11 Robert Dewar <dewar@gnat.com>
f8e0aa73 47556
9a5621d7
RD
47557 * usage.adb: Add lines for V switch.
47558
f8e0aa73 47559 * gnatcmd.adb (COMPILE): Revise translations for -gnatV
9a5621d7
RD
47560 (/VALIDITY_CHECKING).
47561
9e94c78f 475622001-10-11 Ed Schonberg <schonber@gnat.com>
45667f04 47563
f8e0aa73 47564 * sem_type.adb (Add_One_Interp): an operator for a type declared in
45667f04
ES
47565 an extension of System is known to be visible.
47566
9e94c78f 475672001-10-11 Ed Schonberg <schonber@gnat.com>
c3de5c4c 47568
f8e0aa73 47569 * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
c3de5c4c
ES
47570 properly. Fixes regression on ACATS C34005G.
47571
9e94c78f 475722001-10-11 Robert Dewar <dewar@gnat.com>
4fa964a6 47573
f8e0aa73 47574 * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
4fa964a6
RD
47575 loop in generic instance, since this is likely not very useful.
47576
9e94c78f 475772001-10-11 Robert Dewar <dewar@gnat.com>
0868e09c 47578
f8e0aa73 47579 * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
0868e09c 47580 the error message for high integrity mode.
f8e0aa73
AJ
47581
47582 * rtsfind.adb (RTE): Give message if we try to find an entity that
0868e09c 47583 is not available in high integrity mode.
f8e0aa73 47584
0868e09c
RD
47585 * rtsfind.ads:
47586 (OK_To_Use_In_HIE_Mode): New array.
47587 (RTE): May return Empty in high integrity mode.
f8e0aa73
AJ
47588
47589 * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
47590 OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
47591
47592 * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
47593 unit if not inlined always and in no runtime mode. Fixes problem
0868e09c 47594 caused by new Rtsfind changes.
f8e0aa73
AJ
47595
47596 * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
0868e09c 47597 body is deleted.
f8e0aa73
AJ
47598
47599 * rtsfind.adb (RTE): Make sure we do not try to load unit after
0868e09c
RD
47600 giving message for entity not available in high integrity mode.
47601
9e94c78f 476022001-10-11 Pascal Obry <obry@gnat.com>
f8e0aa73 47603
934abf9c
PO
47604 * impunit.adb: Add GNAT.CRC32.
47605
9e94c78f 476062001-10-11 Ed Schonberg <schonber@gnat.com>
3c72bea4 47607
f8e0aa73
AJ
47608 * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
47609 properly the case where one universal operand in a non-static
3c72bea4
ES
47610 exponentiation of a real literal.
47611
9e94c78f 476122001-10-11 Ed Schonberg <schonber@gnat.com>
44d8d2bb 47613
f8e0aa73
AJ
47614 * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
47615 clause, return the gobal finalization list, for lack of anthing else.
44d8d2bb 47616
9e94c78f 476172001-10-11 Ed Schonberg <schonber@gnat.com>
9e2b9627 47618
f8e0aa73
AJ
47619 * exp_ch7.adb (Make_Transient_Block): if statement is within
47620 exception handler, always use new transient scope to place Clean
9e2b9627
ES
47621 procedure.
47622
9e94c78f 476232001-10-11 Pascal Obry <obry@gnat.com>
cfac6e9f
PO
47624
47625 * Makefile.in:
47626 (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
47627 (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
47628 (GNATLS_RTL_OBJS): add g-crc32.o
47629 (GNATMAKE_RTL_OBJS): add g-crc32.o
f8e0aa73 47630
cfac6e9f
PO
47631 * ali-util.adb:
47632 (CRC_Match): new function.
f8e0aa73 47633 (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
cfac6e9f
PO
47634 instead of the previous simple checksum algorithm.
47635 (Time_Stamp_Mismatch): use CRC_Match for comparison.
47636 (Set_Source_Table): idem.
f8e0aa73 47637
cfac6e9f 47638 * ali-util.ads:
f8e0aa73 47639 (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
cfac6e9f
PO
47640 instead of simple checksum.
47641 (CRC_Match): new function.
47642 (CRC_Error): new constant.
f8e0aa73
AJ
47643
47644 * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
47645 a CRC now and not a simple checksum. A CRC uses lower-case hex
cfac6e9f 47646 letters, fixes ambiguity in parsing.
f8e0aa73
AJ
47647
47648 * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
cfac6e9f 47649 is what this variable will store.
f8e0aa73 47650
cfac6e9f 47651 * bcheck.adb: Change reference to chechsum in comments by CRC.
f8e0aa73
AJ
47652 (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
47653 rename All_Checksum_Match to All_CRC_Match. Change due to API
47654 renaming since now GNAT does not use a simple checksum but a
cfac6e9f 47655 CRC using GNAT.CRC32.
f8e0aa73
AJ
47656
47657 * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
cfac6e9f 47658 now and not anymore a simple checksum.
f8e0aa73
AJ
47659
47660 * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
cfac6e9f 47661 places.
f8e0aa73 47662
cfac6e9f 47663 * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
f8e0aa73 47664
cfac6e9f
PO
47665 * scans.adb:
47666 (Restore_Scan_State): rename Checksum to CRC.
47667 (Save_Scan_State): idem.
f8e0aa73 47668
cfac6e9f
PO
47669 * scans.ads:
47670 With GNAT.CRC32.
47671 (Checksum): rename to CRC.
47672 (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
f8e0aa73
AJ
47673
47674 * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
cfac6e9f 47675 GNAT.CRC32). Update copyright notice.
f8e0aa73
AJ
47676
47677 * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
cfac6e9f 47678 GNAT.CRC32). Update copyright notice.
f8e0aa73 47679
cfac6e9f
PO
47680 * scn.adb:
47681 (Accumulate_Checksum): removed.
47682 (Update): new procedure. Add a wide-character into the CRC.
f8e0aa73 47683
cfac6e9f
PO
47684 * sinput-l.adb:
47685 (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
f8e0aa73 47686 (Load_File): fix initialization of S (change Source_Checksum to
cfac6e9f 47687 Source_CRC)
f8e0aa73
AJ
47688
47689 * sinput-p.adb (Load_Project_File): rename Source_Checksum to
cfac6e9f 47690 Source_CRC in S initialization.
f8e0aa73 47691
cfac6e9f 47692 * sinput.adb (Source_Checksum): renamed to Source_CRC.
f8e0aa73 47693
cfac6e9f
PO
47694 * sinput.ads (Source_Checksum): renamed to Source_CRC.
47695 Update comments for the CRC.
f8e0aa73 47696
cfac6e9f 47697 * types.adb (Hex): Use lowercase for the letter part.
f8e0aa73
AJ
47698
47699 * types.ads (Get_Hex_String): Returns the hexadecimal representation
47700 for a word. This is currently used only for CRC. In previous version,
47701 the checksum was using a representation with all letter being
47702 upper-case. With the new implementation (using CRC) we do not remove
47703 the 32th bit of the CRC, so we can have an upper-case starting letter
47704 in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
47705 It is ambigous since the CRC was optional and could be followed by
47706 options like EB, EE. So now this routines uses lower-case letter for
47707 the hexadecimal representation. Strange enough only lower case letters
cfac6e9f 47708 where checked in Scan_ALI (even if this was not a possible case).
f8e0aa73 47709
cfac6e9f 47710 * gnatvsn.ads (Library_Version): changed to 3.15a.
f8e0aa73
AJ
47711
47712 * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
cfac6e9f 47713 for the compiler.
f8e0aa73
AJ
47714
47715 * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
cfac6e9f 47716 for the compiler.
f8e0aa73 47717
cfac6e9f
PO
47718 * ali-util.adb: Redo previous change to avoid using word CRC everywhere
47719 Add 2001 to copyright notice
47720 (Accumulate_Checksum): Modify to use System.CRC32.
f8e0aa73
AJ
47721
47722 * ali-util.ads: Redo changes of previous revision to continue to use
cfac6e9f 47723 the word Checksum. Add 2001 to copyright notice.
f8e0aa73 47724
cfac6e9f
PO
47725 * ali.adb: Undo some of previous changes, not needed.
47726 Keep the change for lower case letters in the checksum.
f8e0aa73 47727
cfac6e9f
PO
47728 * ali.ads: Undo previous change not needed.
47729
47730 * bcheck.adb: Undo most of previous change, not needed.
47731 But do use Checksums_Match for checksum comparison.
f8e0aa73 47732
cfac6e9f
PO
47733 * gnatls.adb: Undo most of previous change, not needed.
47734 But do use Checksums_Match for comparing checksums.
f8e0aa73 47735
cfac6e9f 47736 * lib-load.adb: Undo previous change, not needed.
f8e0aa73 47737
cfac6e9f 47738 * lib-writ.adb: Undo previous change, not needed.
f8e0aa73
AJ
47739
47740 * lib-writ.ads: Document that checksums use lower case,
cfac6e9f 47741 not upper case letters.
f8e0aa73 47742
cfac6e9f 47743 * scans.adb: Undo previous change, not needed
f8e0aa73 47744
cfac6e9f 47745 * scans.ads: Undo previous change, not needed.
f8e0aa73 47746
cfac6e9f 47747 * scn-nlit.adb: Undo previous changes, not needed.
f8e0aa73 47748
cfac6e9f 47749 * scn-slit.adb: Undo previous change, not needed. Fix header format.
f8e0aa73 47750
cfac6e9f
PO
47751 * scn.adb:
47752 (Accumulate_Checksum): Use System.CRC32.
47753 (Initialize_Checksum): New procedure.
47754 Remove other changes of previous revision.
f8e0aa73 47755
cfac6e9f 47756 * sinput-p.adb: Undo previous change, not needed.
f8e0aa73 47757
cfac6e9f
PO
47758 * sinput.adb: Undo previous change, not needed.
47759
47760 * sinput-l.adb: Undo previous change, not needed.
f8e0aa73
AJ
47761
47762 * sinput.ads: Undo previous change, not needed. Keep only comment
cfac6e9f 47763 on new checksum algorithm
f8e0aa73 47764
cfac6e9f
PO
47765 * Makefile.in: Add s-crc32 as needed, remove g-crc32.
47766 Also remove a-tags and a-stream from GNAT sources.
f8e0aa73 47767
cfac6e9f 47768 * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
f8e0aa73 47769
cfac6e9f
PO
47770 * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
47771
4d6d06a5
GB
477722001-10-11 Geert Bosch <bosch@gnat.com>
47773
47774 * einfo.h: Regenerate.
47775
47776 * nmake.ads: Regenerate.
47777
47778 * nmake.adb: Regenerate.
47779
47780 * sinfo.h: Regenerate.
47781
47782 * treeprs.adb: Regenerate.
47783
c97412e2
GB
477842001-10-10 Geert Bosch <bosch@gnat.com>
47785
47786 * gnat-style.texi: New file describing coding guidelines for Ada.
f8e0aa73 47787
9e94c78f 477882001-10-10 Ed Schonberg <schonber@gnat.com>
b83018ca 47789
f8e0aa73 47790 * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
b83018ca
ES
47791 is Flag174.
47792
e834fe1f
GB
477932001-10-10 Geert Bosch <bosch@gnat.com>
47794
47795 * snames.ads: Add new names for project facility.
47796
47797 * snames.adb: Update to reflect snames.ads changes.
47798
47799 * snames.h: Update to reflect snames.ads changes.
47800
9e94c78f 478012001-10-10 Vincent Celier <celier@gnat.com>
b30668b7
VC
47802
47803 * make.adb:
47804 (Add_Switches): reflect the changes for the switches attributes
47805 Default_Switches indexed by the programming language,
47806 Switches indexed by the file name.
47807 (Collect_Arguments_And_Compile): Idem.
47808 Reflect the attribute name changes.
f8e0aa73 47809
b30668b7
VC
47810 * prj-attr.adb:
47811 (Initialisation_Data): Change the names of some packages and
47812 attributes.
47813 (Initialize): process case insensitive associative arrays.
f8e0aa73 47814
b30668b7
VC
47815 * prj-attr.ads:
47816 (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
f8e0aa73 47817
b30668b7
VC
47818 * prj-dect.adb:
47819 (Parse_Attribute_Declaration): For case insensitive associative
47820 arrays, set the index string to lower case.
f8e0aa73 47821
b30668b7
VC
47822 * prj-env.adb:
47823 Reflect the changes of the project attributes.
f8e0aa73 47824
b30668b7
VC
47825 * prj-nmsc.adb:
47826 Replace Check_Naming_Scheme by Ada_Check and
47827 Language_Independent_Check.
f8e0aa73 47828
b30668b7
VC
47829 * prj-nmsc.ads:
47830 Replaced Check_Naming_Scheme by 2 procedures:
47831 Ada_Check and Language_Independent_Check.
f8e0aa73 47832
b30668b7
VC
47833 * prj-proc.adb:
47834 (Process_Declarative_Items): For case-insensitive associative
47835 arrays, set the index string to lower case.
47836 (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
47837 Prj.Nmsc.Check_Naming_Scheme.
f8e0aa73 47838
b30668b7
VC
47839 * prj-tree.adb:
47840 (Case_Insensitive): New function
47841 (Set_Case_Insensitive): New procedure
f8e0aa73 47842
b30668b7
VC
47843 * prj-tree.ads:
47844 (Case_Insensitive): New function
47845 (Set_Case_Insensitive): New procedure
47846 (Project_Node_Record): New flag Case_Insensitive.
f8e0aa73 47847
b30668b7
VC
47848 * prj-util.adb:
47849 (Value_Of): new function to get the string value of a single
47850 string variable or attribute.
f8e0aa73 47851
b30668b7
VC
47852 * prj-util.ads:
47853 (Value_Of): new function to get the string value of a single
47854 string variable or attribute.
f8e0aa73 47855
b30668b7
VC
47856 * prj.adb:
47857 (Ada_Default_Spec_Suffix): New function
47858 (Ada_Default_Impl_Suffix): New function
47859 Change definitions of several constants to reflect
47860 new components of record types.
f8e0aa73 47861
b30668b7
VC
47862 * prj.ads:
47863 (Naming_Data): Change several components to reflect new
47864 elements of naming schemes.
47865 (Project_Data): New flags Sources_Present and
47866 Language_Independent_Checked.
47867 (Ada_Default_Spec_Suffix): New function.
47868 (Ada_Default_Impl_Suffix): New function.
f8e0aa73 47869
b30668b7
VC
47870 * snames.ads:
47871 Modification of predefined names for project manager: added
47872 Implementation, Specification_Exceptions, Implementation_Exceptions,
47873 Specification_Suffix, Implementation_Suffix, Separate_Suffix,
47874 Default_Switches, _Languages, Builder, Cross_Reference,
47875 Finder. Removed Body_Part, Specification_Append, Body_Append,
47876 Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
47877 Gnatlink.
f8e0aa73 47878
b30668b7
VC
47879 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
47880 Add comments.
f8e0aa73 47881
b30668b7
VC
47882 * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
47883 not that it is Nil_Variable_Value.
f8e0aa73 47884
b30668b7
VC
47885 * prj.ads: Add ??? for uncommented declarations
47886
9e94c78f 478872001-10-10 Ed Schonberg <schonber@gnat.com>
662e57b4 47888
f8e0aa73
AJ
47889 * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
47890 constant, do not indicate possible modification, so that gigi can
662e57b4
ES
47891 treat it as a bona fide constant.
47892
9e94c78f 478932001-10-10 Robert Dewar <dewar@gnat.com>
72e4357f
RD
47894
47895 * sem_prag.adb: Add processing for pragma External.
f8e0aa73 47896
72e4357f 47897 * snames.ads: Add entry for pragma External.
f8e0aa73 47898
72e4357f 47899 * par-prag.adb: Add pragma External.
f8e0aa73 47900
72e4357f
RD
47901 * snames.adb: Updated to match snames.ads.
47902
9e94c78f 479032001-10-10 Ed Schonberg <schonber@gnat.com>
7bc1c7df
ES
47904
47905 * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
47906 a dynamic task if the allocator appears in an indexed assignment
47907 or selected component assignment.
f8e0aa73
AJ
47908
47909 * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
47910 For a dynamic task in an assignment statement, use target of
7bc1c7df
ES
47911 assignment to generate meaningful name.
47912
9e94c78f 479132001-10-10 Ed Schonberg <schonber@gnat.com>
c84700e7 47914
f8e0aa73 47915 * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
c84700e7
ES
47916 a generic package.
47917
47918 * einfo.ads: Body_Entity is also defined for generic package.
47919 Documentation change only
f8e0aa73
AJ
47920
47921 * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
47922 others_choice for a discriminated component initialization,
47923 convert discriminant references into the corresponding discriminals.
47924
47925 * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
47926 only if original type is private and expression has to be wrapped
c84700e7 47927 in a conversion.
f8e0aa73
AJ
47928
47929 * checks.adb:
47930 (Apply_Constraint_Check): Do not perform length check
c84700e7 47931 if expression is an aggregate with only an others_choice.
f8e0aa73 47932 (Length_N_Cond): two references to the same in_parameter
c84700e7
ES
47933 (typically the discriminal in an init_proc) denote the same value.
47934 Two useful optimization uncovered by bugfixes above.
47935
9e94c78f 479362001-10-10 Robert Dewar <dewar@gnat.com>
d8d80dcd 47937
f8e0aa73 47938 * xeinfo.adb: Change int to char in translation of enumeration types.
d8d80dcd
RD
47939 This fixes a problem in the C representation of component alignment.
47940 Add 2001 to copyright notice
47941
9e94c78f 479422001-10-10 Richard Kenner <kenner@gnat.com>
a8fee948 47943
f8e0aa73 47944 * decl.c: (validate_size): Do check size of object of integral type
a8fee948
RK
47945 if it is a packed array type.
47946
9e94c78f 479472001-10-10 Richard Kenner <kenner@gnat.com>
c2d7fe59 47948
f8e0aa73 47949 * decl.c: (gnat_to_gnu_entity, case object): Also materialize
c2d7fe59
RK
47950 VAR_DECL for constant if not Is_Public but -O0.
47951
fb75e100
RK
479522001-10-10 Richard Kenner <kenner@gnat.com>
47953
47954 * misc.c (struct lang_hooks): Add new initializer to match GCC change.
47955
1724557a
GB
479562001-10-10 Geert Bosch <bosch@gnat.com>
47957
f8e0aa73 47958 * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
1724557a
GB
47959 use '/' as switch character, allowing for absolute file names.
47960
9f2f9eb6
JM
479612001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
47962
47963 * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
47964 FSF address.
47965
8fecf41d
GB
479662001-10-08 Geert Bosch <bosch@gnat.com>
47967
47968 * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
47969 Automatically build utilities when files need to be regenerated.
47970
589f1edf
GB
479712001-10-08 Geert Bosch <bosch@gnat.com>
47972
47973 * xsnames.adb: New utility for updating snames.ads and snames.adb
47974
67f28219
ZW
479752001-10-08 Zack Weinberg <zack@codesourcery.com>
47976
47977 * Make-lang.in (ADAFLAGS): Add -W -Wall.
47978 (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
47979 (gnat1): Also depend on attribs.o.
47980 (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
47981 * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
47982 (ADAC): Set to @ADAC@ in stage1, $(CC) later.
47983 (ADAFLAGS): Add -W -Wall.
47984 (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
47985 take out CFLAGS.
47986
47987 (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
47988 s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
47989 s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
47990 Use $(ADAC), not $(CC), as compilation command.
47991
47992 (gnattools): Depend directly on tools to build, don't use
47993 recursive make.
47994 (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
47995
47996 * einfo.h, sinfo.h: New files (autogenerated).
47997
295ef2bb
RH
479982001-10-08 Richard Henderson <rth@redhat.com>
47999
48000 * comperr.adb (Abort_In_Progress): New.
48001 (Compiler_Abort): Use it to prevent recursion.
48002
9e94c78f 480032001-10-08 Robert Dewar <dewar@gnat.com>
5c736541
RD
48004
48005 * atree.adb: Set Error_Posted in Error node, helps error recovery.
67f28219
ZW
48006
48007 * par-endh.adb (Output_End_Expected): We should also not test
5c736541 48008 Error_Posted on the Error node, since now it is always set.
67f28219
ZW
48009
48010 * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
5c736541 48011 to help error recovery. Part of general work on 9407-004.
67f28219 48012
5c736541 48013 * par.adb: Add ??? for misuse of error
67f28219 48014
5c736541
RD
48015 * sem_res.adb:
48016 (Resolve): Defend against Error, fixes 9407-003.
48017 (Resolve_Discrete_Subtype_Indication): Defend against Error.
67f28219
ZW
48018
48019 * sinfo.ads (N_Error): Now has Etype field (which will be set
5c736541
RD
48020 to Any_Type to help error recovery).
48021
9e94c78f 480222001-10-08 Richard Kenner <kenner@gnat.com>
a153ae15
RK
48023
48024 * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
48025 Consistently set MEM attributes from expression; fixes
48026 bootstrap failure on x86.
48027
9e94c78f 480282001-10-08 Geert Bosch <bosch@gnat.com>
743f3c7b
GB
48029
48030 * 5oosinte.adb: Add 2001 to copyright notice.
48031
9e94c78f 480322001-10-08 Geert Bosch <bosch@gnat.com>
210c4ef4
GB
48033
48034 * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
48035
48036 * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
48037
cc712abf
JM
480382001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
48039
48040 * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
48041
9e94c78f 480422001-10-05 Geert Bosch <bosch@gnat.com>
4c4abc0f
GB
48043
48044 * adaint.h: Small formatting fix.
48045
7f50e2e3
GB
480462001-10-04 Geert Bosch <bosch@gnat.com>
48047
48048 * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
48049 Arg is int, not FILE *, in dummy version of functions.
67f28219 48050
7f50e2e3
GB
48051 * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
48052 Arg is int, not FILE *.
48053
5d1a9698
GB
480542001-10-04 Geert Bosch <bosch@gnat.com>
48055
48056 * 3lsoccon.ads: Added file, missed with initial check ins.
67f28219 48057
5d1a9698
GB
48058 * 4lintnam.ads: Fix header format.
48059 Change Linux to GNU/Linux.
67f28219 48060
5d1a9698
GB
48061 * 5iosinte.adb: Change Linux to GNU/Linux.
48062
48063 * 5iosinte.ads: Change Linux to GNU/Linux.
67f28219 48064
5d1a9698 48065 * 5itaprop.adb: Change Linux to GNU/Linux.
67f28219 48066
5d1a9698
GB
48067 * 5itaspri.ads: Change Linux to GNU/Linux.
48068 Update copyright notice.
67f28219 48069
5d1a9698 48070 * 5lintman.adb: Change Linux to GNU/Linux.
67f28219 48071
5d1a9698 48072 * 5lml-tgt.adb: Change Linux to GNU/Linux.
67f28219 48073
5d1a9698 48074 * 5losinte.ads: Change Linux to GNU/Linux.
67f28219 48075
5d1a9698 48076 * 5lsystem.ads: Change Linux to GNU/Linux.
67f28219 48077
5d1a9698 48078 * 5qosinte.adb: Change Linux to GNU/Linux.
67f28219 48079
5d1a9698 48080 * 5qosinte.ads: Change Linux to GNU/Linux.
67f28219 48081
5d1a9698 48082 * 5qparame.ads: Change Linux to GNU/Linux.
67f28219 48083
5d1a9698 48084 * 5qtaprop.adb: Change Linux to GNU/Linux.
67f28219 48085
5d1a9698
GB
48086 * 5qtaspri.ads: Change Linux to GNU/Linux.
48087 Add 2001 to copyright notice.
67f28219 48088
5d1a9698
GB
48089 * 5vintman.ads: Change Linux to GNU/Linux.
48090 Fix header format. Add 2001 to copyright notice.
67f28219 48091
5d1a9698 48092 * g-soccon.ads: Change Linux to GNU/Linux.
67f28219 48093
5d1a9698
GB
48094 * g-trasym.ads: Change Linux to GNU/Linux.
48095 Add 2001 to copyright notice.
67f28219 48096
5d1a9698 48097 * memtrack.adb: Change Linux to GNU/Linux.
67f28219 48098
5d1a9698
GB
48099 * s-intman.ads: Change Linux to GNU/Linux.
48100 Add 2001 to copyright notice. Fix header format.
67f28219 48101
5d1a9698 48102 * s-stache.adb: Change Linux to GNU/Linux.
67f28219 48103
5d1a9698 48104 * adaint.c: Change Linux to GNU/Linux.
67f28219 48105
5d1a9698 48106 * cio.c: Change Linux to GNU/Linux.
67f28219 48107
5d1a9698 48108 * cstreams.c: Change Linux to GNU/Linux.
67f28219 48109
5d1a9698 48110 * init.c: Change Linux to GNU/Linux.
67f28219 48111
5d1a9698 48112 * gmem.c: Change Linux to GNU/Linux.
67f28219 48113
5d1a9698
GB
48114 * tracebak.c: Change Linux to GNU/Linux.
48115
48116
c25ca2d7
GB
481172001-10-02 Geert Bosch <bosch@gnat.com>
48118
48119 * misc.c (insert_default_attributes): Add dummy version.
This page took 6.714242 seconds and 5 git commands to generate.