]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ada/ChangeLog
re PR ada/13897 (gnat does not implement tasking on powerpc)
[thirdparty/gcc.git] / gcc / ada / ChangeLog
1 2004-10-04 Bernard Banner <banner@gnat.com>
2
3 PR ada/13897
4
5 * Makefile.in: Add section for powerpc linux
6 Add variant i-vxwork-x86.ads
7
8 * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
9
10 2004-10-04 Olivier Hainque <hainque@act-europe.fr>
11
12 * init.c (__gnat_initialize): Call an Ada subprogram to perform the
13 table registration calls when need be. Ensures no reference to the crt
14 ctors symbol are issued in the SJLJ case, which avoids possible
15 undefined symbol errors in the case of modules to be statically linked
16 with the kernel.
17
18 2004-10-04 Javier Miranda <miranda@gnat.com>
19
20 * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
21 in-line the code corresponding to subprogram Analyze_Actuals. In
22 addition, analyze the actuals only in case of subprogram call.
23
24 2004-10-04 Ed Falis <falis@gnat.com>
25
26 * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
27
28 2004-10-04 Sergey Rybin <rybin@act-europe.fr>
29
30 * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
31 in the documentation.
32
33 2004-10-04 Robert Dewar <dewar@gnat.com>
34
35 * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
36 IF and CASE.
37 (Analyze_Block_Statement): Add circuitry to detect following dead code
38 (Check_Unreachable_Code): Handle case of block exit
39
40 2004-10-04 Robert Dewar <dewar@gnat.com>
41
42 * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
43 (XMatchD): Avoid warning for Logic_Error call
44
45 2004-10-04 Robert Dewar <dewar@gnat.com>
46
47 * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
48 consider expressions buried within a procedure actual to be an actual.
49 This caused some blowups with uses of packed slices within a procedure
50 actual.
51
52 2004-10-04 Robert Dewar <dewar@gnat.com>
53
54 * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
55 longer need to be initialized to zero.
56 (Get_Simple_Init_Val): Modular packed arrays no longer need to be
57 initialized to zero.
58
59 * checks.adb (Expr_Known_Valid): Packed arrays are now always
60 considered valid, even if the representation is modular. That's correct
61 now that we no longer initialize packed modular arrays to zero.
62
63 * exp_dbug.ads: Clarify documentation on handling of PAD and JM
64 suffixes. These are now documented as the only cases in which the
65 debugger ignores outer records.
66 Previously, the spec allowed arbitrary suffixes for this purpose.
67 Change name of LJM to JM for packed array pad records
68 Create separate section on packed array handling, and add a whole new
69 set of comments to this section describing the situation with packed
70 modular types and justification requirements depending on endianness.
71
72 2004-10-04 Robert Dewar <dewar@gnat.com>
73
74 * a-except.adb: Add a comment for last change
75
76 * einfo.ads: Minor spelling correction in comment
77
78 * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
79
80 * sem_ch11.adb: Fix a case of using | instead of \ for continuation
81 messages.
82
83 * sem_util.ads: Minor comment update
84
85 2004-10-04 Ed Schonberg <schonberg@gnat.com>
86
87 * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
88 Inline_Always when in Configurable_Run_Time mode.
89
90 * sem_prag.adb (Process_Convention): If entity is an inherited
91 subprogram, apply convention to parent subprogram if in same scope.
92 (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
93 when in Configurable_Run_Time mode.
94
95 2004-10-04 Ed Schonberg <schonberg@gnat.com>
96
97 * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
98 class_wide type after component list has been inherited.
99
100 2004-10-04 Ed Schonberg <schonberg@gnat.com>
101
102 * sem_ch12.adb (Check_Generic_Actuals): New predicate
103 Denotes_Previous_Actual, to handle properly the case of a private
104 actual that is also the component type of a subsequent array actual.
105 The visibility status of the first actual is not affected when the
106 second is installed.
107 (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
108 make fully recursive the treatment of formals of packages declared
109 with a box.
110 (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
111 the above on exit from an instantiation.
112 (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
113 current instantiation which is now complete.
114 (Analyze_Package_Instantiation): No instantiated body is needed if the
115 main unit is generic. Efficient, and avoid anomalies when a instance
116 appears in a package accessed through rtsfind.
117
118 2004-10-04 Ed Schonberg <schonberg@gnat.com>
119
120 * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
121 do not generate a declaration for a temporary if the call is part of a
122 library-level instantiation.
123
124 2004-10-04 Ed Schonberg <schonberg@gnat.com>
125
126 * sem_util.adb (Explain_Limited_Type): Ignore internal components when
127 searching for a limited component to flag.
128
129 * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
130 expansion of Input, to account for the fact that the implicit call
131 generated by the attribute reference must freeze the user-defined
132 stream subprogram. This is only relevant to 'Input, because it can
133 appear in an object declaration, prior to the body of the subprogram.
134
135 * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
136 expansion can proceed and further errors uncovered.
137 (Minor clean up): Fix cases of using | instead of \ for continuation
138 messages.
139
140 2004-10-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
141
142 * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
143
144 * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
145 (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
146 Use gcc_assert and gcc_unreachable.
147
148 * decl.c (gnat_to_gnu_entity, case object): Check and process a
149 specified alignment before validating size.
150 (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
151 stripped-down declaration for the type of the inner field when making
152 a JM type.
153
154 * utils.c (finish_record_type): Do not compute the size in units
155 incrementally. Instead compute it once for the rep clause case.
156 Use gcc_assert and gcc_unreachable.
157
158 2004-10-04 Vincent Celier <celier@gnat.com>
159
160 * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
161 in file name.
162 (Is_Valid_Path_Name): Take '/' as a directory separator.
163
164 2004-10-04 Vincent Celier <celier@gnat.com>
165
166 * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
167 (Extended_Project) only if Extended_Project is defined, to avoid
168 assertion error.
169 (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
170 resolved path.
171 (Parse_Single_Project): Ditto.
172
173 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
174 Add_To_Project_Path for virtual projects.
175
176 2004-10-04 Vincent Celier <celier@gnat.com>
177
178 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
179 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
180 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
181 mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
182 parameter Options_2.
183
184 * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
185 Build_Dynamic_Library with an empty Options_2.
186
187 * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
188 default anymore.
189
190 * makegpr.adb (Get_Imported_Directories.add): Remove trailing
191 directory separator, if any.
192 (Gprmake): Do not allow mains on the command line for library projects.
193 Do not attempt to link when the project is a library project.
194 (Library_Opts): New table to store Library_Options.
195 (Build_Library): If Library_Options is specified, pass these options
196 when building a shared library.
197
198 2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
199
200 * s-tposen.adb (Service_Entry): The object must be always unlocked at
201 the end of this procedure now that the unlock operation was inserted
202 by the expander.
203
204 2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
205
206 * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
207 corresponding to the Preallocated_Stacks flags in System.
208 (Get_Target_Parameters): Including the processing for
209 Preallocated_Stacks.
210
211 * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
212 system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
213 system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
214 system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
215 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
216 system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
217 system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
218 system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
219 system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
220 system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
221 system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
222 used to signal whether the compiler creates the required stacks and
223 descriptors for the different tasks (when True) or it is done by the
224 underlying operating system at run time (when False).
225 It is initially set to False in all targets.
226
227 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
228 if it is supported by the target.
229 (Make_Task_Create_Call): Pass the stack address if it has been
230 previously created. Otherwise pass a Null_Address.
231
232 * snames.adb: Add _stack.
233
234 * snames.ads: Add Name_uStack. Required to allow the expander to
235 statically allocated task stacks.
236
237 * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
238 Stack_Address argument.
239 Check that its value is equal to Null_Address because this target does
240 not support the static stack allocation.
241
242 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
243
244 * usage.adb: Change "pragma inline" to "pragma Inline" in information
245 and error messages
246
247 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
248
249 * exp_dist.adb: Split declaration of asynchronous flag out of
250 Add_RACW_Read_Attribute.
251 Minor reformatting for better alignment with PolyORB version.
252 Store the entity for the asynchronous flag of an RACW, rather than the
253 expression, in the asynchronous flags table. This will allow this flag
254 to be used in other subprograms beside Add_RACW_Read_Attribute.
255
256 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
257
258 * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
259 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
260 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
261 g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
262 g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads: Add new
263 sockets constant MSG_NOSIGNAL (Linux-specific).
264 Add new sockets constant MSG_Forced_Flags, list of flags to be set on
265 all Send operations.
266 For Linux, set MSG_NOSIGNAL on all send operations to prevent them
267 from trigerring SIGPIPE.
268 Rename components to avoid clash with Ada 2005 possible reserved
269 word 'interface'.
270 (Check_Selector): When the select system call returns with an error
271 condition, propagate Socket_Error to the caller.
272
273 2004-10-01 Jan Hubicka <jh@suse.cz>
274
275 * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
276
277 2004-09-23 Robert Dewar <dewar@gnat.com>
278
279 PR ada/17540
280
281 * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
282 instead do this at freeze time (we won't do it if there is an address
283 clause).
284 Change "pragma inline" to "pragma Inline" in information and error
285 messages.
286 Minor reformatting.
287
288 * freeze.adb (Check_Address_Clause): Remove previous change, not the
289 right way of doing things after all.
290 (Freeze_Entity): For object, set Is_Public for imported entities
291 unless there is an address clause present.
292
293 2004-09-21 Olivier Hainque <hainque@act-europe.fr>
294
295 * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
296 dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
297 ensures proper handling of types with rep clauses, which might have
298 their TYPE_SIZE set already.
299
300 2004-09-21 Robert Dewar <dewar@gnat.com>
301
302 * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
303 packed array types in both little- and big-endian cases. This change
304 ensures that we no longer count on the unused bits being initialized
305 for such types (and in particular ensures that equality testing will
306 only read the relevant bits).
307 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
308 These changes mean that we no longer need to initialize small packed
309 arrays.
310 (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
311 optimization to an LJM field as to its parent field.
312
313 * ada-tree.h, trans.c, utils.c, utils2.c:
314 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
315
316 2004-09-20 Jan Hubicka <jh@suse.cz>
317
318 * utils.c (gnat_finalize): Remove.
319 (end_subprog_body): Directly call cgraph_finalize_function;
320 do not lower the nested functions.
321
322 2004-09-20 Robert Dewar <dewar@gnat.com>
323
324 PR ada/17540
325
326 * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
327 if an address clause is present, since that means that the Import
328 should be ignored.
329
330 2004-09-20 Arnaud Charlet <charlet@act-europe.fr>
331
332 * 5tsystem.ads: Removed, no longer used.
333
334 2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
335 Zack Weinberg <zack@codesourcery.com>
336
337 * ada-tree.def: Use tree_code_class enumeration constants
338 instead of code letters.
339 * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
340 Update for new tree-class enumeration constants.
341
342 2004-09-17 Vincent Celier <celier@gnat.com>
343
344 * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
345 capabilities of the general project manager.
346
347 2004-09-09 Vincent Celier <celier@gnat.com>
348
349 * a-direct.ads: Add pragma Ada_05
350 (Directory_Entry_Type): Give default value to component Kind to avoid
351 not initialized warnings.
352
353 * a-direct.adb (Current_Directory): Remove directory separator at the
354 end.
355 (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
356 an existing directory.
357 (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
358 (Size (String)): Function C_Size returns Long_Integer, not File_Size.
359 Convert the result to File_Size.
360
361 * prj.ads: (Project_Error): New exception
362
363 * prj-attr.adb: Except in procedure Initialize, Fail comes from
364 Prj.Com, not from Osint.
365 (Attrs, Package_Attributes): Tables moved to private part of spec
366 (Add_Attribute, Add_Unknown_Package): Moved to new child package
367 Prj.Attr.PM.
368 (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
369 Prj.Project_Error after call to Fail.
370 (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
371 Fail. Check that package name is not already in use.
372
373 * prj-attr.ads: Comment updates to indicate that all subprograms may be
374 used by tools, not only by the project manager, and to indicate that
375 exception Prj.Prj_Error may be raised in case of problem.
376 (Add_Unknown_Package, Add_Attribute): Moved to new child package
377 Prj.Attr.PM.
378 (Attrs, Package_Attributes): Table instantiations moved from the body to
379 the private part to be accessible from Prj.Attr.PM body.
380
381 * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
382 from new package Prj.Attr.PM.
383 (Parse_Attribute_Declaration): Call Add_Attribute from new package
384 Prj.Attr.PM.
385
386 * Makefile.in: Add prj-attr-pm.o to gnatmake object list
387
388 * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
389 instead of Elaboration_Checks).
390
391 * a-calend.adb: Minor reformatting
392
393 2004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
394
395 * gigi.h (maybe_pad_type): New declaration.
396 (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
397
398 * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
399
400 * cuintp.c: Convert to use buildN.
401
402 * decl.c (maybe_pad_type): No longer static.
403 (gnat_to_gnu_entity, case E_Function): Handle case of returning by
404 target pointer.
405 Convert to use buildN.
406
407 * trans.c (call_to_gnu): Add arg GNU_TARGET; support
408 TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed.
409 (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
410 RHS.
411 (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
412 (gnat_gimplify_expr, case ADDR_EXPR): New case.
413 Convert to use buildN.
414
415 * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
416 TREE_READONLY for const.
417 Convert to use buildN.
418
419 * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
420 (create_var_decl): Refine when TREE_STATIC is set.
421 Convert to use buildN.
422
423 2004-09-09 Gary Dismukes <dismukes@gnat.com>
424
425 * gnat_ugn.texi: Delete text relating to checking of ali and object
426 consistency.
427
428 * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
429 routines.
430
431 2004-09-09 Jose Ruiz <ruiz@act-europe.fr>
432
433 * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
434 pragmas recognized by GNAT.
435
436 * gnat_rm.texi: Document pragma Detect_Blocking.
437
438 * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
439 raise Program_Error if called from a protected operation.
440
441 * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
442 the protected action nesting level.
443 (Lock_Read_Only): When pragma Detect_Blocking is active increase the
444 protected action nesting level.
445 (Unlock): When pragma Detect_Blocking is active decrease the protected
446 action nesting level.
447
448 * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
449 Protected_Action_Nesting.
450
451 * s-taskin.ads: Adding the field Protected_Action_Nesting to the
452 Common_ATCB record. It contains the dynamic level of protected action
453 nesting for each task. It is needed for checking whether potentially
454 blocking operations are called from protected operations.
455 (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
456 Detect_Blocking is active or not in the partition.
457
458 * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
459 raise Program_Error if called from a protected operation.
460 (Task_Entry_Call): When pragma Detect_Blocking is active, raise
461 Program_Error if called from a protected operation.
462 (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
463 Program_Error if called from a protected operation.
464
465 * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
466 raise Program_Error if called from a protected operation.
467
468 * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
469 raise Program_Error if called from a protected operation, and increase
470 the protected action nesting level.
471 (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
472 Program_Error if called from a protected operation, and increase the
473 protected action nesting level.
474 (Unlock_Entries): When pragma Detect_Blocking is active decrease the
475 protected action nesting level.
476
477 * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
478 raise Program_Error if called from a protected operation, and increase
479 the protected action nesting level.
480 (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
481 Program_Error if called from a protected operation, and increase the
482 protected action nesting level.
483 (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
484 raise Program_Error if called from a protected operation.
485 (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
486 active, raise Program_Error if called from a protected operation.
487 (Unlock_Entry): When pragma Detect_Blocking is active decrease the
488 protected action nesting level.
489
490 * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
491 insertion of the statement raising Program_Error. The run time
492 contains the required machinery for handling that.
493
494 * sem_util.ads: Change comment associated to procedure
495 Check_Potentially_Blocking_Operation.
496 This procedure does not insert a call for raising the exception because
497 that is currently done by the run time.
498
499 * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
500
501 * init.c: Add the global variable __gl_detect_blocking that indicates
502 whether pragma Detect_Blocking is active (1) or not (0). Needed for
503 making the pragma available at run time.
504 (__gnat_set_globals): Pass and update the detect_blocking parameter.
505
506 * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
507 pragma Detect_Blocking is active.
508
509 * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
510
511 * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
512 DB is found in the ali file. Any unit compiled with pragma
513 Detect_Blocking active forces its effect in the whole partition.
514
515 * a-retide.adb (Delay_Until): Raise Program_Error if pragma
516 Detect_Blocking is active and delay is called from a protected
517 operation.
518
519 * bindgen.adb (Gen_Adainit_Ada): When generating the call to
520 __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
521 Detect_Blocking is active (0 otherwise).
522 (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
523 as Detect_Blocking parameter if pragma Detect_Blocking is active (0
524 otherwise).
525
526 2004-09-09 Thomas Quinot <quinot@act-europe.fr>
527
528 * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
529 GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
530 package.
531
532 * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
533 (Register_Receiving_Stub): Add Subp_Info formal parameter.
534 Update API in placeholder implemetation of s-parint to reflect changes
535 in distribution runtime library.
536
537 * sem_ch3.adb (Expand_Derived_Record): Rename to
538 Expand_Record_Extension.
539
540 * sem_disp.adb (Check_Controlling_Formals): Improve error message for
541 primitive operations of potentially distributed object types that have
542 non-controlling anonymous access formals.
543
544 * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
545 subprogram.
546 New implementation of expansion for remote access-to-subprogram types,
547 based on the RACW infrastructure.
548 This version of sem_dist is compatible with PolyORB/DSA as well as
549 GLADE.
550
551 * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
552 Asynchrronous that applies to a remote access-to-subprogram type, mark
553 the underlying RACW type as asynchronous.
554
555 * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
556 __gnat_using_gnu_linker to 1.
557
558 * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
559 g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
560 GNAT.Perfect_Hash_Generators, and remove the empty
561 GNAT.Perfect_Hash package.
562
563 * atree.adb: Minor reformatting
564
565 * exp_ch3.adb (Expand_Derived_Record): Rename to
566 Expand_Record_Extension.
567 (Build_Record_Init_Proc.Build_Assignment): The default expression in
568 a component declaration must remain attached at that point in the
569 tree so New_Copy_Tree copies it if the enclosing record type is derived.
570 It is therefore necessary to take a copy of the expression when building
571 the corresponding assignment statement in the init proc.
572 As a side effect, in the case of a derived record type, we now see the
573 original expression, without any rewriting that could have occurred
574 during expansion of the ancestor type's init proc, and we do not need
575 to go back to Original_Node.
576
577 * exp_ch3.ads (Expand_Derived_Record): Rename to
578 Expand_Record_Extension.
579
580 * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
581 Returns the RACW type used to implement a remote access-to-subprogram
582 type.
583 (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
584 New subprograms. Used to create a proxy tagged object for a remote
585 subprogram. The proxy object is used as the designated object
586 for RAS values on the same partition (unless All_Calls_Remote applies).
587 (Build_Get_Unique_RP_Call): New subprogram. Build a call to
588 System.Partition_Interface.Get_Unique_Remote_Pointer.
589 (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
590 Renamed from Add_RAS_*_Attribute.
591 (Add_Receiving_Stubs_To_Declarations): Generate a table of local
592 subprograms.
593 New implementation of expansion for remote access-to-subprogram types,
594 based on the RACW infrastructure.
595
596 * exp_dist.ads (Copy_Specification): Update comment to note that this
597 function can copy the specification from either a subprogram
598 specification or an access-to-subprogram type definition.
599
600 2004-09-09 Ed Schonberg <schonberg@gnat.com>
601
602 * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
603 in an instance, between an explicit subprogram an one inherited from a
604 type derived from an actual.
605
606 * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
607 add a polling call if the subprogram is to be inlined by the back-end,
608 to avoid repeated calls with multiple inlinings.
609
610 * checks.adb (Apply_Alignment_Check): If the expression in the address
611 clause is a call whose name is not a static entity (e.g. a dispatching
612 call), treat as dynamic.
613
614 2004-09-09 Robert Dewar <dewar@gnat.com>
615
616 * g-trasym.ads: Minor reformatting
617
618 * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
619 packed arrays, since unused bits are expected to be zero for a
620 comparison.
621
622 2004-09-09 Eric Botcazou <ebotcazou@act-europe.fr>
623
624 * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
625 comment.
626
627 2004-09-09 Pascal Obry <obry@gnat.com>
628
629 * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
630 enable map file generation. Add the right option to generate the map
631 file if Map_File is set to True.
632
633 * gnatdll.adb (Gen_Map_File): New variable.
634 (Syntax): Add info about new -m (Map_File) option.
635 (Parse_Command_Line): Add support for -m option.
636 (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
637 Minor reformatting.
638
639 2004-09-09 Laurent Pautet <pautet@act-europe.fr>
640
641 * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
642 new gnatdist implementation.
643 Define a subpackage isolating the output routines specific to this
644 verbose mode.
645
646 2004-09-09 Joel Brobecker <brobecker@gnat.com>
647
648 * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
649
650 * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
651
652 2004-09-09 Cyrille Comar <comar@act-europe.fr>
653
654 * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
655 internal unit.
656
657 * opt.ads: Add Ada_Version_Runtime constant used to decide which
658 version of the language is used to compile the run time.
659
660 2004-09-09 Arnaud Charlet <charlet@act-europe.fr>
661
662 * sem_util.adb (Requires_Transient_Scope): Re-enable handling
663 of variable length temporaries for function return now that the
664 back-end and gigi support it.
665
666 2004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
667
668 * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
669
670 * trans.c (struct stmt_group): Delete field GLOBAL.
671 (gnat_init_stmt_group): Do not initialize it.
672 (call_to_gnu): Use save_expr, not protect_multiple_eval.
673 (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
674 (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
675 (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
676 (start_stmt_group): Likewise.
677 (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
678
679 * utils2.c (ggc.h): Include.
680 (build_call_raise): Call build_int_cst, not build_int_2.
681
682 * utils.c (gnat_init_decl_processing): Fix arg to
683 build_common_tree_nodes.
684 (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
685 (gnat_define_builtin): Set built_in_decls.
686 (init_gigi_decls): Call build_int_cst, not build_int_2.
687
688 * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
689 (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
690 (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
691 (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
692 SET_TYPE_MODULE): Use them.
693 (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
694 (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
695 (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
696 SET_TYPE_ADA_SIZE): Likewise.
697 (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
698 (DECL_CONST_CORRESPONDING_VAR,
699 SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
700 (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
701 (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
702 (TYPE_RM_SIZE_NUM): New macro.
703 (TYPE_RM_SIZE): Modified to use above.
704
705 * cuintp.c: (build_cst_from_int): New function.
706 (UI_To_gnu): Use it.
707
708 * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
709 (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
710 (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
711 MIN_EXPR for the size, copy it into new.
712
713 2004-09-01 Robert Dewar <dewar@gnat.com>
714
715 * exp_ch6.adb (Expand_Call): Properly handle validity checks for
716 packed indexed component where array is an IN OUT formal. This
717 generated garbage code previously.
718
719 * gnat_ugn.texi: Document -fverbose-asm
720
721 * gnat-style.texi: Minor updates (note that boolean constants and
722 variables are joined with AND/OR rather than short circuit forms).
723
724 2004-09-01 Ed Schonberg <schonberg@gnat.com>
725
726 * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
727 it is an upward conversion of an untagged type with no representation
728 change.
729
730 2004-09-01 Thomas Quinot <quinot@act-europe.fr>
731
732 * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
733 System.Partition_Interface.
734
735 * checks.adb (Apply_Access_Checks): Do not generate checks when
736 expander is not active (but check for unset reference to prefix of
737 dereference).
738
739 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
740 pragma Debug as an if statement with a constant condition, for
741 consistent treatment of entity references contained within the
742 enclosed procedure call.
743
744 2004-09-01 Vincent Celier <celier@gnat.com>
745
746 * bindgen.adb: (Set_EA_Last): New procedure
747 (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
748 Set_EA_Last.
749 (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
750 (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
751 linked without errors.
752 (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
753 ST and EA.
754 (Gen_Exception_Table_C): Correct same bugs
755
756 * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
757
758 * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
759 on Windows, make sure that the drive letter is in upper case.
760
761 * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
762 Windows, when the drive letter is added and Case_Sensitive is True, the
763 drive letter is forced to upper case.
764
765 * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
766 to Options_2 for the call to MLib.Utl.Gcc.
767
768 * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
769 directory separator when defining BASE_DIR.
770
771 2004-09-01 Pascal Obry <obry@gnat.com>
772
773 * gprcmd.adb (Extend): Do not output trailing directory separator. This
774 is not needed and it confuses Windows GNU/make which does not report
775 directory terminated by a slash as a directory.
776 (gprcmd): Idem for "pwd" internal command.
777
778 * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
779 target names rewrite to fix regressions with recent version of
780 GNU/make. Starting with GNU/make 3.80 the pipe character was not
781 handled properly anymore.
782
783 2004-09-01 Andreas Schwab <schwab@suse.de>
784
785 * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
786 * raise.c [!IN_RTS]: Undef abort.
787
788 2004-08-27 Nathan Sidwell <nathan@codesourcery.com>
789
790 * utils2.c (build_allocator): Use ssize_int.
791
792 * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
793
794 2004-08-27 Andreas Schwab <schwab@suse.de>
795
796 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
797
798 2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
799 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
800
801 * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
802
803 2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
804
805 * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
806 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
807 * utils.c (init_gigi_decls): Likewise.
808 * utils2.c (build_call_raise, build_allocator): Likewise.
809
810 2004-08-24 Nathan Sidwell <nathan@codesourcery.com>
811
812 * utils.c (gnat_init_decl_processing): Adjust
813 build_common_tree_nodes call.
814
815 2004-08-20 Nathan Sidwell <nathan@codesourcery.com>
816
817 * utils2.c (build_allocator): Use build_int_cst for negative
818 size types.
819
820 2004-08-18 Richard Henderson <rth@redhat.com>
821
822 * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
823
824 2004-08-16 Nathan Sidwell <nathan@codesourcery.com>
825
826 * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
827 call.s
828 * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
829 (gnat_to_gnu): Likewise.
830
831 2004-08-16 Pascal Obry <obry@gnat.com>
832
833 * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
834 backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
835 option and not mdll anymore. Update comment.
836
837 2004-08-16 Pascal Obry <obry@gnat.com>
838
839 * bld.adb (Put_Include_Project): Properly handle directory separators
840 on Windows.
841
842 2004-08-16 Ed Schonberg <schonberg@gnat.com>
843
844 * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
845 decreasing the number of allocated junk nodes while searching for the
846 appropriate subprogram.
847
848 2004-08-15 Nathan Sidwell <nathan@codesourcery.com>
849
850 * cuintp.c (UI_To_gnu): Use build_int_cst..
851 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
852 * utils.c (init_gigi_decls): Likewise.
853 * utils2.c (build_call_raise): Likewise.
854
855 2004-08-13 Olivier Hainque <hainque@act-europe.fr>
856
857 * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
858 for a global aliased object with a variable size and an unconstrained
859 nominal subtype, pretend there is no initializer if the one we have is
860 incomplete, and avoid referencing an inexistant component in there. The
861 part we have will be rebuilt anyway and the reference may confuse
862 further operations.
863
864 2004-08-13 Thomas Quinot <quinot@act-europe.fr>
865
866 * einfo.ads: Minor reformatting
867
868 * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
869 restrictions in the ALI if we only want to warn about violations.
870
871 2004-08-13 Vincent Celier <celier@gnat.com>
872
873 * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
874 when creating a new Unit_Record in table Units.
875
876 * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
877 that are violated, if any.
878
879 * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
880 add directory separator if path already ends with a directory separator.
881
882 2004-08-13 Ed Schonberg <schonberg@gnat.com>
883
884 * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
885 unit, this is an attempt to inline a construct that is not available in
886 the current restricted mode, so abort rather than trying to continue.
887
888 * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
889 discriminants that rename those of the parent, recover names of
890 original discriminants for the constraint on the full view of the
891 parent.
892 (Complete_Private_Subtype): Do not create a subtype declaration if the
893 subtype is an itype.
894
895 * gnat_rm.texi: Added section on implementation of discriminated
896 records with default values for discriminants.
897
898 2004-08-13 Ed Schonberg <schonberg@gnat.com>
899
900 PR ada/15601
901 * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
902 the second operand is overloaded.
903
904 2004-08-10 Richard Henderson <rth@redhat.com>
905
906 * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
907 add __builtin_alloca.
908
909 2004-08-10 Richard Henderson <rth@redhat.com>
910
911 * config-lang.in (boot_language): Yes.
912
913 2004-08-09 Thomas Quinot <quinot@act-europe.fr>
914
915 * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
916 from complaining on potential uninitialized reference.
917 Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
918 new specification and test explicitly for non-zero return value.
919
920 * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
921 returning C.int, to avoid using a derived boolean type.
922
923 * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
924 Duplicate_Subexpr_No_Checks in preference to direct use of
925 Remove_Side_Effects and New_Copy_Tree.
926 Clear Comes_From_Source on prefix of 'Size attribute reference.
927
928 * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
929 g-socthi-vxworks.adb: Change calls to
930 GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
931 and test explicitly for non-zero return value.
932
933 * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
934 (Is_Socket_In_Set): Declare imported function as returning C.int, to
935 avoid using a derived boolean type.
936
937 2004-08-09 Albert Lee <lee@gnat.com>
938
939 * system-irix-n32.ads: Refine tasking priority constants for IRIX.
940
941 2004-08-09 Pascal Obry <obry@gnat.com>
942
943 * gnat_ugn.texi: Document new way to build DLLs on Windows using
944 GCC's -shared option.
945
946 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
947 Options_2 parameter (options put after object files).
948
949 2004-08-09 Olivier Hainque <hainque@act-europe.fr>
950
951 * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
952 ignore overflows on low and high bounds of an index to also account for
953 differences in signedness between sizetype and gnu_index_subtype.
954 These are as legitimate as the ones caused by a lower TYPE_PRECISION
955 on sizetype.
956
957 2004-08-09 Robert Dewar <dewar@gnat.com>
958
959 * s-solita.ads, s-solita.adb: Minor reformatting
960
961 * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
962 Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
963 obsolescent section
964 Add note that No_Implicit_Conditionals does not suppress
965 run time constraint checks.
966
967 * vms_conv.ads: Minor reformatting
968
969 * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
970 and necessary for following change).
971 (Mark): Return new format Mark_Id containing sec stack address
972 (Release): Use sec stack address from Mark_Id avoiding Self call
973
974 * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
975 pointer (cleanup and necessary for following change).
976 Define Mark_Id as record containing address of secondary stack, that way
977 Release does not need to find the stack again, decreasing the number of
978 calls to Self and improving efficiency.
979
980 * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
981
982 * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
983 case variable into the individual case branches when possible.
984
985 * sem_ch11.adb: Minor reformatting
986
987 * prj.ads: Correct spelling of suffixs
988
989 * prj-nmsc.adb: Minor reformatting
990 Correct spelling suffixs throughout (also in identifiers)
991
992 * freeze.adb: Minor spelling correction
993
994 * exp_ch2.adb: Cleanups to handling of Current_Value
995 (no functional effect).
996
997 * bld.adb: Correct spelling of suffixs
998
999 * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
1000
1001 2004-08-09 Ed Schonberg <schonberg@gnat.com>
1002
1003 PR ada/15408
1004
1005 * sem_ch7.adb (Install_Private_Declarations): In the body of the
1006 package or of a child, private entities are both immediately_visible
1007 and not hidden.
1008
1009 2004-08-09 Ed Schonberg <schonberg@gnat.com>
1010
1011 * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
1012 there are no range checks on the value of the literal.
1013
1014 * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
1015 wrapped is the triggering alternative of an asynchronous select, action
1016 statements mustbe inserted before the select itself.
1017
1018 * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
1019 case where the prefix is a protected function call.
1020 (Resolve_Attribute, case 'Access): The attribute reference on a
1021 subprogram is legal in a generic body if the subprogram is declared
1022 elsewhere.
1023
1024 2004-08-09 Vincent Celier <celier@gnat.com>
1025
1026 * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
1027 languages, otherwise building the library may fail with unresolved
1028 symbols.
1029 (Compile_Sources): Do not build libraries if -c switch is used
1030
1031 * gnatlink.adb (Process_Args): New switches -M and -Mmap
1032 (Write_Usage): If map file creation is supported, output new switches
1033 -M and -Mmap.
1034 (Gnatlink): When -M is specified, add the necessary switch(es) to the
1035 gcc call, when supported.
1036
1037 * Makefile.in: Added indepsw.o to the object list for gnatlink
1038 Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
1039
1040 * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
1041 indepsw.adb, indepsw.ads: New files.
1042
1043 2004-08-09 Bernard Banner <banner@gnat.com>
1044
1045 * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
1046
1047 * Makefile.in: add section for vxworks x86
1048
1049 2004-08-09 Hristian Kirtchev <kirtchev@gnat.com>
1050
1051 * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
1052 per-object constrained components where the discriminant is of an
1053 Access type.
1054 (Build_Record_Init_Proc): Add condition to prevent the inheritance of
1055 the parent initialization procedure for derived Unchecked_Unions.
1056 Instead, derived Unchecked_Unions build their own initialization
1057 procedure.
1058 (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
1059 Check the body of the subprogram for details.
1060 (Freeze_Record_Type): Prevent the inheritance of discriminant checking
1061 functions for derived Unchecked_Union types by introducing a condition.
1062 Allow the creation of TSS equality functions for Unchecked_Unions.
1063 (Make_Eq_Case): Rename formal parameter Node to E in function signature.
1064 Add formal parameter Discr to function signature. Discr is used to
1065 control the generated case statement for Unchecked_Union types.
1066 (Make_Eq_If): Rename formal parameter Node to E in function signature.
1067
1068 * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
1069 Unchecked_Unions.
1070 Check the body of the subprogram for details.
1071 (Expand_Composite_Equality): Augment composite type equality to include
1072 correct handling of Unchecked_Union components.
1073 (Expand_N_In): Add condition to detect illegal membership tests when the
1074 subtype mark is a constrained Unchecked_Union and the expression lacks
1075 inferable discriminants, and build a Raise_Program_Error node.
1076 (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
1077 to detect types that contain components of unconstrained Unchecked_Union
1078 subtype. Add condition to detect equality between types that have an
1079 unconstrained Unchecked_Union component, and build a Raise_Program_Error
1080 node. Add condition to detect equality between Unchecked_Union types
1081 that lack inferable discriminants, and build a Raise_Program_Error node.
1082 Otherwise build a TSS equality function call.
1083 (Expand_N_Type_Conversion): Add condition to detect illegal conversions
1084 from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
1085 with the operand lacking inferable discriminants, and build a Raise_
1086 Program_Error node.
1087 (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
1088 composite equality.
1089 (Has_Inferable_Discriminants): Implement new predicate for objects and
1090 expressions of Unchecked_Union type. Check the body of subprogram for
1091 details.
1092 (Has_Unconstrained_UU_Components): Add function
1093 Component_Is_Unconstrained_UU. It is used to detect whether a single
1094 component is of an unconstrained Unchecked_Union subtype. Add function
1095 Variant_Is_Unconstrained_UU. It is used to detect whether a single
1096 component inside a variant is of an unconstrained Unchecked_Union type.
1097
1098 * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
1099 inferred discriminant values. Add condition to generate a case
1100 statement with an inferred discriminant as the switch.
1101 (Make_Component_List_Assign): Introduce a Boolean flag that determines
1102 the behaviour of the subprogram in the presence of an Unchecked_Union.
1103 Add condition to trigger the usage of the inferred discriminant value
1104 as the generated case statement switch.
1105 (Make_Field_Assign): Introduce a Boolean flag that determines the
1106 behaviour of the subprogram in the presence of an Unchecked_Union. Add
1107 condition to trigger the usage of the inferred discriminant value as
1108 the right-hand side of the generated assignment.
1109
1110 * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
1111 parameter generation when dealing with Unchecked_Unions.
1112
1113 * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
1114 checks for Unchecked_Unions.
1115
1116 * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
1117
1118 * exp_attr.adb (Expand_N_Attribute_Reference): Produce
1119 Raise_Program_Error nodes for the execution of Read and Write
1120 attributes of Unchecked_Union types and the execution of Input and
1121 Output attributes of Unchecked_Union types that lack default
1122 discriminant values.
1123
1124 * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
1125 Unchecked_Union. Add procedure Check_Component. It is used to inspect
1126 per-object constrained components of Unchecked_Unions for being
1127 Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
1128 check individual components withing a variant.
1129
1130 * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
1131 comparison of Unchecked_Unions.
1132 (Resolve_Equality_OP): Remove guard that prevents equality between
1133 Unchecked_Unions.
1134
1135 * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
1136 of component subtypes for Unchecked_Union components.
1137 (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
1138 since it is the actual subtype.
1139
1140 * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
1141 pass of Unchecked_Union subtypes as generic actuals to formal types
1142 that lack known_discriminant_parts or that are derived Unchecked_Union
1143 types, and do nothing. In any other case, produce an error message.
1144
1145 * sem_ch3.adb (Analyze_Component_Declaration): Add function
1146 Contains_POC. It determines whether a constraint uses the discriminant
1147 of an enclosing record type.
1148 Add condition to detect per-object constrained component and set the
1149 appropriate flag.
1150 (Derived_Type_Declaration): Remove guard that prevents derivation from
1151 Unchecked_Union types.
1152 (Process_Subtype): Remove quard that prevents the creation of Unchecked_
1153 Union subtypes.
1154
1155 * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
1156 references to Unchecked_Union discriminants.
1157
1158 * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
1159 formal generation when dealing with Unchecked_Unions.
1160 (Set_Actual_Subtypes): Add condition to prevent generation of actual
1161 subtypes for Unchecked_Unions.
1162
1163 * sem_ch7.adb (Analyze_Package_Specification): Add procedure
1164 Inspect_Unchecked_Union_Completion. It is used to detect incorrect
1165 completions of discriminated partial views by Unchecked_Unions and
1166 produce an error message.
1167
1168 2004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1169
1170 * trans.c (struct stmt_group): New field, GLOBAL.
1171 (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
1172 (struct elab_info): New struct.
1173 (elab_info_list, gnu_elab_proc_stack): New variables.
1174 (Compilation_Unit_to_gnu): New procedure.
1175 (gigi): Call it and also handle elaboration procs we've saved.
1176 (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
1177 global field from parent.
1178 (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
1179 (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
1180 (start_stmt_group): Initialize global field from parent.
1181 (add_decl_expr): Set to global for current statement group.
1182 (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
1183 post.
1184
1185 * utils.c (global_bindings_p): True when no current_function_decl; no
1186 longer check current_binding_level.
1187
1188 2004-08-09 Ben Brosgol <brosgol@gnat.com>
1189
1190 * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
1191 choice.
1192
1193 * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
1194
1195 2004-08-06 Andreas Schwab <schwab@suse.de>
1196
1197 * utils.c (gnat_define_builtin): Remove second parameter of
1198 make_decl_rtl.
1199 (begin_subprog_body): Likewise.
1200
1201 2004-07-26 Arnaud Charlet <charlet@act-europe.fr>
1202
1203 * sem_util.adb (Requires_Transient_Scope): Temporarily disable
1204 optimization, not supported by the tree-ssa back-end.
1205
1206 2004-07-26 Olivier Hainque <hainque@act-europe.fr>
1207
1208 * s-mastop-irix.adb: Update comments.
1209
1210 * a-except.adb (Exception_Information): Raise Constraint_Error if
1211 exception Id is Null_Id.
1212 This is required behavior, which is more reliably and clearly checked
1213 at the top level interface level.
1214
1215 2004-07-26 Javier Miranda <miranda@gnat.com>
1216
1217 * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
1218 call if a component has no default_expression and the box is used.
1219
1220 * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
1221 default_expression and you use box, it behaves as if you had declared a
1222 stand-alone object.
1223 (Resolve_Record_Aggregate): If a component has no default_expression and
1224 you use box, it behaves as if you had declared a stand-alone object.
1225
1226 * sem_ch10.adb (Install_Siblings): Do not make visible the private
1227 entities of private-with siblings.
1228
1229 2004-07-26 Ed Schonberg <schonberg@gnat.com>
1230
1231 * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
1232 for a component of an itype, set the parent pointer for analysis,
1233 there is no list in which to insert it.
1234
1235 * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
1236 bona-fide renamings, not for inherited operations.
1237
1238 * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
1239 actual for a formal that is an access parameter, create local
1240 finalization list even if the expression is not an aggregate.
1241
1242 2004-07-26 Ed Schonberg <schonberg@gnat.com>
1243
1244 PR ada/16213
1245 * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
1246 Diagnose properly illegal subprogram renamings that are library units.
1247
1248 2004-07-26 Ed Schonberg <schonberg@gnat.com>
1249
1250 PR ada/15588
1251 * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
1252 conversion rewritten as an unchecked conversion, check that original
1253 expression is a variable.
1254
1255 * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
1256 unchecked_conversion, create new node rather than rewriting in place,
1257 to preserve original construct.
1258
1259 2004-07-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1260
1261 * gigi.h (gnat_expand_body): Deleted.
1262
1263 * Make-lang.in: (trans.o): Depends on function.h.
1264
1265 * misc.c: (gnat_expand_body): Moved to here.
1266
1267 * trans.c (gnat_expand_body_1): Deleted.
1268 (gnat_expand_body): Moved from here.
1269 (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
1270 (add_stmt): Check for marked visited with global_bindings_p.
1271 (gnat_gimplify_expr, case COMPONENT_REF): New case.
1272 (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
1273
1274 * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
1275 VIEW_CONVERT_EXPR if not operation type.
1276
1277 * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
1278 fat pointer.
1279
1280 * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
1281 changes: reformatting of negation operators, removing unneeded
1282 inequality comparison with zero, converting equality comparisons with
1283 zero to negations, changing int/0/1 to bool/false/true, replace calls
1284 to gigi_abort with abort, and various other similar changes.
1285
1286 2004-07-26 Vincent Celier <celier@gnat.com>
1287
1288 * gnatcmd.adb (GNATCmd): Add processing for new built-in command
1289 "setup".
1290
1291 * make.adb (Gnatmake): Fail when a library is not present and there is
1292 no object directory.
1293
1294 * mlib-prj.adb (Check_Library): No need to check if the library needs
1295 to be rebuilt if there is no object directory, hence no object files
1296 to build the library.
1297
1298 * opt.ads (Setup_Projects): New Boolean flag.
1299
1300 * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
1301 Location.
1302 Create directory when Kind /= "" and in "gnat setup". Report error if
1303 directory cannot be created.
1304 (Ada_Check): Create library interface copy dir if it does not exist
1305 and we are in "gnat setup".
1306 (Find_Sources): No error if in "gnat setup" and no Ada sources were
1307 found.
1308 (Language_Independent_Check): Create object directory, exec directory
1309 and/or library directory if they do not exist and we are in
1310 "gnat setup".
1311
1312 * vms_conv.ads: (Command_Type): New command Setup.
1313
1314 * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
1315
1316 * vms_data.ads: Add qualifiers/switches for new built-in command
1317 "setup".
1318
1319 2004-07-25 Richard Henderson <rth@redhat.com>
1320
1321 * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
1322 DECL_IGNORED_P on RESULT_DECL.
1323
1324 2004-07-20 Olivier Hainque <hainque@act-europe.fr>
1325
1326 * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
1327 allocation and potentially overflowing update with
1328 Tailored_Exception_Information. Use the sec-stack free procedural
1329 interface to output Exception_Information instead.
1330
1331 * a-except.adb (To_Stderr): New subprogram for character, and string
1332 version moved from a-exextr to be visible from other separate units.
1333 (Tailored_Exception_Information): Remove the procedural version,
1334 previously used by the default Last_Chance_Handler and not any more.
1335 Adjust various comments.
1336
1337 * a-exexda.adb: Generalize the exception information procedural
1338 interface, to minimize the use of secondary stack and the need for
1339 local buffers when the info is to be output to stderr:
1340 (Address_Image): Removed.
1341 (Append_Info_Character): New subprogram, checking for overflows and
1342 outputing to stderr if buffer to fill is of length 0.
1343 (Append_Info_String): Output to stderr if buffer to fill is of length 0.
1344 (Append_Info_Address, Append_Info_Exception_Name,
1345 Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
1346 Append_Info_Basic_Exception_Traceback,
1347 Append_Info_Exception_Information): New subprograms.
1348 (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
1349 (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
1350 Exception_Info_Maxlength, Exception_Name_Length,
1351 Exception_Message_Length): New subprograms.
1352 (Exception_Information): Use Append_Info_Exception_Information.
1353 (Tailored_Exception_Information): Use
1354 Append_Info_Basic_Exception_Information.
1355 Export services for the default Last_Chance_Handler.
1356
1357 * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
1358 other separate units.
1359
1360 2004-07-20 Vincent Celier <celier@gnat.com>
1361
1362 * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
1363
1364 2004-07-20 Ed Schonberg <schonberg@gnat.com>
1365
1366 * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
1367 emit itype references for the designated types of component types that
1368 are declared outside of the full record declaration, and that may
1369 denote a partial view of that record type.
1370
1371 2004-07-20 Ed Schonberg <schonberg@gnat.com>
1372
1373 PR ada/15607
1374 * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
1375 which is the designated type in an access component declaration, to the
1376 list of incomplete dependents of the parent type, to avoid elaboration
1377 issues with out-of-scope subtypes.
1378 (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
1379 full view of the parent.
1380
1381 2004-07-20 Ed Schonberg <schonberg@gnat.com>
1382
1383 PR ada/15610
1384 * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
1385 entities that are hidden, such as references to generic actuals
1386 outside an instance.
1387
1388 2004-07-20 Javier Miranda <miranda@gnat.com>
1389
1390 * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
1391 support to the new notation.
1392 (Analyze_Selected_Component): Add call to Try_Object_Operation.
1393
1394 2004-07-20 Jose Ruiz <ruiz@act-europe.fr>
1395
1396 * s-taprob.adb: Adding the elaboration code required for initializing
1397 the tasking soft links that are common to the full and the restricted
1398 run times.
1399
1400 * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
1401 restricted run time has been moved to the package
1402 System.Soft_Links.Tasking.
1403
1404 * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
1405 restricted run time has been moved to the package
1406 System.Soft_Links.Tasking.
1407
1408 * Makefile.rtl: Add entry for s-solita.o in run-time library list.
1409
1410 * s-solita.ads, s-solita.adb: New files.
1411
1412 2004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1413
1414 * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
1415 Case_Statement_to_gnu): Split off from gnat_to_gnu.
1416 (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
1417 Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
1418 Exception_Handler_to_gnu_zcx): Likewise.
1419
1420 2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
1421
1422 * gigi.h (builtin_function): Declare.
1423
1424 2004-07-15 Robert Dewar <dewar@gnat.com>
1425
1426 * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
1427 reformatting
1428
1429 * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
1430 access values as an example of a warning.
1431
1432 * gnat_rm.texi: Document new attribute Has_Access_Values
1433
1434 * gnat-style.texi: Document that box comments belong on nested
1435 subprograms
1436
1437 * sem_util.ads (Has_Access_Values): Improved documentation
1438
1439 * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
1440
1441 * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
1442 (Process_Interface_Name): Call to this new procedure
1443 (Set_Extended_Import_Export_External_Name): Call to this new procedure
1444
1445 * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
1446
1447 * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
1448
1449 * einfo.ads: Minor comment typo fixed
1450
1451 2004-07-15 Jose Ruiz <ruiz@act-europe.fr>
1452
1453 * snames.adb: Add _atcb.
1454
1455 * snames.ads: Add Name_uATCB.
1456
1457 * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
1458 (in the expanded code) when using the restricted run time.
1459
1460 * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
1461 a in parameter in order to allow ATCBs to be preallocated (in the
1462 expanded code).
1463
1464 * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
1465 order to allow ATCBs to be preallocated. In case of error, the ATCB is
1466 deallocated in System.Tasking.Stages.
1467
1468 * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
1469 order to allow ATCBs to be preallocated.
1470
1471 * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
1472 here. It was previously done in Initialize_ATCB.
1473
1474 * rtsfind.ads: Make the Ada_Task_Control_Block visible.
1475
1476 * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
1477 Restricted run time.
1478
1479 * exp_ch3.adb: When using the Restricted run time, pass the
1480 preallocated Ada_Task_Control_Block when creating a task.
1481
1482 2004-07-15 Ed Schonberg <schonberg@gnat.com>
1483
1484 * sem_util.adb (Normalize_Actuals): If there are no actuals on a
1485 function call that is itself an actual in an enclosing call, diagnose
1486 problem here rather than assuming that resolution will catch it.
1487
1488 * sem_ch7.adb (Analyze_Package_Specification): If the specification is
1489 the local copy of a generic unit for a formal package, and the generic
1490 is a child unit, install private part of ancestors before compiling
1491 private part of spec.
1492
1493 * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
1494 use scope entities rather than tree structures, to handle properly
1495 parent units that are instances rewritten as bodies for inlining
1496 purposes.
1497
1498 * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
1499 Remove_Parents): Handle properly a parent unit that is an
1500 instantiation, when the unit has been rewritten as a body for inlining
1501 purposes.
1502
1503 * par.adb (Goto_List): Global variable to collect goto statements in a
1504 given unit, for use in detecting natural loops.
1505
1506 * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
1507 use in detecting natural loops.
1508
1509 * par-labl.adb (Find_Natural_Loops): Recognize loops create by
1510 backwards goto's, and rewrite as a infinite loop, to improve locality
1511 of temporaries.
1512
1513 * exp_util.adb (Force_Evaluation): Recognize a left-hand side
1514 subcomponent that includes an indexed reference, to prevent the
1515 generation of copies that would miscompile the desired assignment
1516 statement.
1517 (Build_Task_Image_Decls): Add a numeric suffix to
1518 generated name for string variable, to avoid spurious conflicts with
1519 the name of the type of a single protected object.
1520
1521 * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
1522 loop with an explicit exit statement, to avoid generating an
1523 out-of-range value with 'Succ leading to spurious constraint_errors
1524 when compiling with -gnatVo.
1525
1526 2004-07-15 Thomas Quinot <quinot@act-europe.fr>
1527
1528 * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
1529 might not be analyzed yet, even if its Etype is already set (case of an
1530 unchecked conversion built using Unchecked_Convert_To, for example).
1531 If the prefix has already been analyzed, this will be a nop anyway.
1532
1533 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
1534 controller type, or an assignment of a record type with controlled
1535 components, copy only user data, and leave the finalization chain
1536 pointers untouched.
1537
1538 2004-07-15 Vincent Celier <celier@gnat.com>
1539
1540 * make.adb (Collect_Arguments): Improve error message when attempting
1541 to compile a source not part of any project, when -x is not used.
1542
1543 * prj.ads: (Defined_Variable_Kind): New subtype
1544
1545 * prj-attr.adb (Register_New_Package): Two new procedures to register
1546 a package with or without its attributes.
1547 (Register_New_Attribute): Mew procedure to register a new attribute in a
1548 package.
1549 New attribute oriented subprograms: Attribute_Node_Id_Of,
1550 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
1551 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
1552 Next_Attribute.
1553 New package oriented subprograms: Package_Node_Id_Of,
1554 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
1555
1556 * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
1557 type.
1558 (Package_Node_Id): Now a private, self initialized type
1559 (Register_New_Package): New procedure to register a package with its
1560 attributes.
1561 New attribute oriented subprograms: Attribute_Node_Id_Of,
1562 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
1563 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
1564 Next_Attribute.
1565 New package oriented subprograms: Package_Node_Id_Of,
1566 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
1567
1568 * prj-dect.adb (Parse_Attribute_Declaration,
1569 Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
1570
1571 * prj-makr.adb (Make): Parse existing project file before creating
1572 other files. Fail if there was an error during parsing.
1573
1574 * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
1575 new spec of Prj.Attr.
1576
1577 * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
1578 to new spec of Prj.Attr.
1579
1580 2004-07-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1581
1582 * utils2.c: Fix typo in comment.
1583
1584 2004-07-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1585
1586 * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
1587 * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
1588
1589 2004-07-14 Andreas Schwab <schwab@suse.de>
1590
1591 * trans.c (gnat_init_stmt_group): Remove duplicate definition.
1592
1593 2004-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1594
1595 * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
1596 object type.
1597 (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
1598 TYPE_STUB_DECL.
1599
1600 * misc.c (gnat_types_compatible_p): New function.
1601 (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
1602 (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
1603
1604 * trans.c (gigi): Move processing of main N_Compilation_Unit here.
1605 (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
1606 (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
1607 (mark_visited): Don't mark dummy type.
1608 (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
1609 parameter, we must remove any LJM building from GNU_NAME.
1610 (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
1611 (pos_to_constructor): Use int_const_binop.
1612 (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
1613 PARM_DECL.
1614
1615 * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
1616 (gnat_pushlevel): Set TREE_USE on BLOCK node.
1617 (gnat_install_builtins): Add __builtin_memset.
1618
1619 2004-07-13 Olivier Hainque <hainque@act-europe.fr>
1620
1621 * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
1622 for a renaming, stabilize the initialization expression if we are at a
1623 local level. At the local level, uses of the renaming may be performed
1624 by a direct dereference of the initializing expression, and we don't
1625 want possible variables there to be evaluated for every use.
1626
1627 * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
1628 Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
1629 them on the way. Account for the fact that we may introduce side
1630 effects in the process.
1631
1632 2004-07-13 Richard Henderson <rth@redhat.com>
1633
1634 * misc.c (default_pass_by_ref): Use pass_by_reference.
1635
1636 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
1637
1638 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
1639 LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
1640
1641 2004-07-08 Richard Henderson <rth@redhat.com>
1642
1643 * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
1644 commentary.
1645
1646 2004-07-06 Vincent Celier <celier@gnat.com>
1647
1648 * vms_conv.ads: Minor reformatting.
1649 Alphabetical order for enumerated values of type Command_Type, to have
1650 the command in alphabetical order for the usage.
1651
1652 * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
1653 the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
1654
1655 * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
1656
1657 * makegpr.adb (Global_Archive_Exists): New global Boolean variable
1658 (Add_Archive_Path): Only add the global archive if there is one.
1659 (Build_Global_Archive): Set Global_Archive_Exists depending if there is
1660 or not any object file to put in the global archive, and don't build
1661 a global archive if there is none.
1662 (X_Switches): New table
1663 (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
1664 in the X_Switches table, if any.
1665 (Initialize): Make sure the X_Switches table is empty
1666 (Scan_Arg): Record -X switches in table X_Switches
1667
1668 * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
1669
1670 * make.adb: Minor comment fix
1671
1672 * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
1673 invoked with directory information, add the directory in front of the
1674 path.
1675
1676 * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
1677 invoked with directory information, add the directory in front of the
1678 path.
1679
1680 * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
1681 when Keep_Temporary_Files is False.
1682 (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
1683 directory information, add the directory in front of the path.
1684 When not on VMS, handle new switch -dn before the command to set
1685 Keep_Temporary_Files to True.
1686 (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
1687 everywhere.
1688
1689 * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
1690 invoked with directory information, add the directory in front of the
1691 path.
1692
1693 2004-07-06 Thomas Quinot <quinot@act-europe.fr>
1694
1695 * snames.ads, snames.adb (Name_Stub): New name for the distributed
1696 systems annex.
1697
1698 * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
1699 New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
1700
1701 * g-socket.adb (To_Timeval): Fix incorrect conversion of
1702 Selector_Duration to Timeval for the case of 0.0.
1703
1704 * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
1705 documentation from Evolve_And_Then.
1706
1707 2004-07-06 Jose Ruiz <ruiz@act-europe.fr>
1708
1709 * s-taprop-tru64.adb, s-taprop-os2.adb,
1710 s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
1711
1712 2004-07-06 Robert Dewar <dewar@gnat.com>
1713
1714 * s-osinte-hpux.ads, s-osinte-freebsd.ads,
1715 s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
1716 s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
1717 s-interr-sigaction.adb, s-taprop-irix-athread.adb,
1718 s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
1719 s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
1720 s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
1721 s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
1722 a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
1723 a-tags.ads, bindgen.ads, checks.adb, checks.adb,
1724 csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
1725 exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
1726 g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
1727 i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
1728 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
1729 sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
1730 sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
1731 s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
1732 s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
1733 s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
1734 vms_data.ads: Minor reformatting,
1735 Fix bad box comment format.
1736
1737 * gnat_rm.texi: Fix minor grammatical error
1738
1739 * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
1740
1741 * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
1742 more cases of discriminated records to be recognized as not needing a
1743 secondary stack.
1744 (Has_Access_Values): New function.
1745
1746 * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
1747
1748 * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
1749 Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
1750 with LRM terminology).
1751 Change terminology in comments primitive type => elementary type.
1752
1753 2004-07-06 Ed Schonberg <schonberg@gnat.com>
1754
1755 PR ada/15602
1756 * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
1757 parameters do not impose any requirements on the presence of a body.
1758
1759 2004-07-06 Ed Schonberg <schonberg@gnat.com>
1760
1761 PR ada/15593
1762 * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
1763 compilation unit and is in an open scope at the point of instantiation,
1764 assume that a body may be present later.
1765
1766 2004-07-06 Ed Schonberg <schonberg@gnat.com>
1767
1768 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
1769 Improve error message when specified size is not supported.
1770
1771 * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
1772 is never a primitive operation.
1773
1774 2004-07-05 Andreas Schwab <schwab@suse.de>
1775
1776 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
1777 RECORD_OR_UNION_CHECK.
1778 (TYPE_CONTAINS_TEMPLATE_P): Likewise.
1779
1780 2004-07-04 Kelley Cook <kcook@gcc.gnu.org>
1781
1782 * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
1783 dependency on xgnatugn, instead build it via a submake.
1784 (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
1785
1786 2004-07-04 Richard Henderson <rth@redhat.com>
1787
1788 * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
1789
1790 2004-07-01 Richard Henderson <rth@redhat.com>
1791
1792 * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
1793 * utils.c (max_size): Likewise.
1794
1795 2004-06-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1796
1797 * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
1798 and rest_of_type_compilation; add arg to create_*_decl.
1799 (annotate_decl_with_node): Deleted.
1800 (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
1801 * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
1802 (get_current_block_context, gnat_pushdecl): New declarations.
1803 (gnat_init_stmt_group): Likewise.
1804 (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
1805 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
1806 (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
1807 (gnat_init): Call gnat_init_stmt_group.
1808 * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
1809 (gnu_pending_elaboration_list): Deleted.
1810 (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
1811 (gigi): Rearrange initialization calls and move some to last above.
1812 (gnat_to_gnu): If statement and not in procedure, go into elab proc.
1813 Delete calls to add_decl_expr; add arg to create_*_decl.
1814 (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
1815 (gnat_to_gnu, case N_Subprogram_Body): Move some code to
1816 begin_subprog_body and call it.
1817 Don't push and pop ggc context.
1818 (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
1819 (add_stmt): Remove handling of DECL_EXPR from here.
1820 If not in function, mark visited.
1821 (add_decl_expr): Put global at top level.
1822 Check for cases of DECL_INITIAL we have to handle here.
1823 (process_type): Add extra arg to create_type_decl.
1824 (build_unit_elab): Rework to just gimplify.
1825 * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
1826 (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
1827 (get_pending_elaborations, pending_elaborations_p): Likewise.
1828 (push_pending_elaborations, pop_pending_elaborations): Likewise.
1829 (get_elaboration_location, insert_elaboration_list): Likewise.
1830 (gnat_binding_level): Renamed from ada_binding_level.
1831 (init_gnat_to_gnu): Don't clear pending_elaborations.
1832 (global_bindings_p): Treat as global if no current_binding_level.
1833 (set_current_block_context): New function.
1834 (gnat_pushdecl): Renamed from pushdecl; major rework.
1835 All callers changed.
1836 (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
1837 (finish_record_type): Call call pushdecl for stub decl.
1838 (function_nesting_depth): Deleted.
1839 (begin_subprog_body): Delete obsolete code.
1840 * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
1841
1842 2004-06-28 Robert Dewar <dewar@gnat.com>
1843
1844 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
1845 mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
1846 mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
1847 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
1848 a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
1849
1850 * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
1851 deal with problem of inefficient slices on machines with strict
1852 alignment, when the slice is a component of a composite.
1853
1854 * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
1855 machines, we need the check there as well.
1856
1857 2004-06-28 Ed Schonberg <schonberg@gnat.com>
1858
1859 * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
1860 determine safe copying direction for overlapping slice assignments
1861 when component is controlled.
1862
1863 * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
1864 formal derived type in the actual for a formal package are visible in
1865 the enclosing instance.
1866
1867 2004-06-28 Ed Schonberg <schonberg@gnat.com>
1868
1869 PR ada/15600
1870 * sem_util.adb (Trace_Components): Diagnose properly an illegal
1871 circularity involving a private type whose completion includes a
1872 self-referential component.
1873 (Enter_Name): Use Is_Inherited_Operation to distinguish a source
1874 renaming or an instantiation from an implicit derived operation.
1875
1876 2004-06-28 Pascal Obry <obry@gnat.com>
1877
1878 * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
1879 DLL.
1880 (Library_File_Name_For): Idem.
1881
1882 2004-06-28 Matthew Gingell <gingell@gnat.com>
1883
1884 * g-traceb.ads: Add explanatory note on the format of addresses
1885 expected by addr2line.
1886
1887 2004-06-28 Jerome Guitton <guitton@act-europe.fr>
1888
1889 * Makefile.in: Force debugging information on s-tasdeb.adb,
1890 a-except.adb and s-assert.adb needed by the debugger.
1891
1892 2004-06-28 Vincent Celier <celier@gnat.com>
1893
1894 * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
1895 Need_To_Build_Lib.
1896 (Gnatmake): Ditto.
1897
1898 * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
1899
1900 * prj.adb: Minor reformatting
1901 (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
1902
1903 * prj.ads: Comment updates
1904 Minor reformatting
1905 (Project_Data): Change Flag1 to Need_To_Build_Lib.
1906 Remove Flag2: not used.
1907
1908 * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
1909 declaration.
1910
1911 * gnat_ugn.texi: Put a "null;" declaration in one project file example
1912
1913 * gnat_rm.texi: Document Empty declarations "null;".
1914
1915 * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
1916 front of the linker options.
1917 (Link_Foreign): Put the global archives and the libraries in front of
1918 the linker options.
1919
1920 2004-06-28 Javier Miranda <miranda@gnat.com>
1921
1922 * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
1923 (RTU_Loaded): Code cleanup
1924 (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
1925 withed predefined units.
1926
1927 * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
1928 explicitly withed predefined units.
1929 Fix typo in comment
1930
1931 * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
1932 explicitly withed predefined units.
1933
1934 2004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1935
1936 * ada-tree.def (DECL_STMT): Deleted.
1937 * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
1938 (DECL_STMT_VAR): Deleted.
1939 * decl.c: add_decl_stmt now add_decl_expr.
1940 * gigi.h: Likewise.
1941 * trans.c: Likewise.
1942 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
1943 (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
1944 (add_stmt): Only handle padded type here.
1945 (add_stmt_with_node): Allow gnat_node to not be present.
1946 (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
1947 (gnat_gimplify_stmt, case DECL_STMT): Deleted.
1948 (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
1949 make a SAVE_EXPR for the entire fat pointer.
1950 * utils.c (pushdecl): Walk a DECL_EXPR in global case.
1951 (create_index_type): Make a DECL_EXPR.
1952 (end_subprog_body): Don't call allocate_struct_function here but
1953 do clear cfun.
1954
1955 2004-06-25 Pascal Obry <obry@gnat.com>
1956
1957 * makegpr.adb (Build_Library): Remove parameter Lib_Address and
1958 Relocatable from Build_Dynamic_Library call.
1959
1960 * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
1961 Relocatable are now synonym.
1962
1963 * Makefile.in: Use s-parame-mingw.adb on MingW platform.
1964
1965 * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
1966 Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
1967 call.
1968
1969 * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
1970 Lib_Address and Relocatable.
1971 (Default_DLL_Address): Removed.
1972
1973 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
1974 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
1975 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
1976 (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
1977 (Default_DLL_Address): Removed.
1978
1979 * mlib-tgt-mingw.adb: Ditto.
1980 (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
1981
1982 * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
1983 the initial thread stack size.
1984
1985 * a-strmap.ads: Move package L to private part as it is not used in
1986 the spec. Found while reading code.
1987
1988 2004-06-25 Olivier Hainque <hainque@act-europe.fr>
1989
1990 * tracebak.c: Introduce support for a GCC infrastructure based
1991 implementation of __gnat_backtrace.
1992
1993 * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
1994 any more. Use accessors instead. This eases maintenance and relaxes
1995 some alignment constraints.
1996 (_GNAT_Exception structure): Remove the Ada specific fields
1997 (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
1998 a-exexpr.adb.
1999 (is_handled_by, __gnat_eh_personality): Replace component references to
2000 exception structure by use of the new accessors.
2001
2002 * init.c (__gnat_initialize): Adjust comments to match the just
2003 reverted meaning of the -static link-time option.
2004
2005 * adaint.c (convert_addresses): Arrange not to define a stub for
2006 mips-irix any more, as we now want to rely on a real version from a
2007 recent libaddr2line.
2008
2009 * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
2010 the personality routine can use them and not have to rely on a C
2011 counterpart of the record anymore. This simplifies maintenance and
2012 relaxes the constraint of having Standard'Maximum_Alignment match
2013 BIGGEST_ALIGNMENT.
2014 Update comments, and add a section on the common header alignment issue.
2015
2016 2004-06-25 Geert Bosch <bosch@gnat.com>
2017
2018 * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
2019 polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
2020
2021 2004-06-25 Robert Dewar <dewar@gnat.com>
2022
2023 * gnat_rm.texi: Fix section on component clauses to indicate that the
2024 restriction on byte boundary placement still applies for bit packed
2025 arrays.
2026 Add comment on stack usage from Initialize_Scalars
2027
2028 * gnat_ugn.texi: Add documentation for -gnatyLnnn
2029
2030 * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
2031 limiting nesting level.
2032
2033 * usage.adb: Add line for -gnatyLnnn switch
2034
2035 * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
2036 sem_ch13.adb, exp_aggr.adb: Minor reformatting
2037
2038 * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
2039 type as well as on the subtype. This corrects a problem in freeze in
2040 setting alignments of atomic types.
2041
2042 * sem_eval.ads: Minor comment typo fixed
2043
2044 * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
2045 level. Minor reformatting.
2046
2047 * fname.adb (Is_Predefined_File_Name): Require a letter after the
2048 minus sign. This means that file names like a--b.adb will not be
2049 considered predefined.
2050
2051 * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
2052 record Test new flag and give diagnostic for bad component clause.
2053 (Freeze_Entity): Set alignment of array from component alignment in
2054 cases where this is safe to do.
2055
2056 * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
2057 arrays.
2058
2059 * cstand.adb: (Create_Standard): Set alignment of String to 1
2060
2061 * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
2062
2063 * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
2064 code in the common constrained array cases.
2065
2066 * a-storio.adb: Change implementation to avoid possible alignment
2067 problems on machines requiring strict alignment (data should be moved
2068 as type Buffer, not type Elmt).
2069
2070 * checks.adb (Apply_Array_Size_Check): Improve these checks by
2071 killing the overflow checks which we really do not need (64-bits is
2072 enough).
2073
2074 2004-06-25 Vincent Celier <celier@gnat.com>
2075
2076 * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
2077 (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
2078 inconditionally for the main project.
2079 (Recursive_Add_Archives.Add_Archive_Path): New procedure
2080 (Link_Executables.Check_Time_Stamps): New procedure
2081 (Link_Executables.Link_Foreign): New procedure
2082 Changes made to reduce nesting level of this package
2083 (Check): New procedure
2084 (Add_Switches): When not in quiet output, check that a switch is not
2085 the concatenation of several valid switches. If it is, issue a warning.
2086 (Build_Global_Archive): If the global archive is rebuilt, linking need
2087 to be done.
2088 (Compile_Sources): Rebuilding a library archive does not imply
2089 rebuilding the global archive.
2090 (Build_Global_Archive): New procedure
2091 (Build_Library): New name for Build_Archive, now only for library
2092 project
2093 (Check_Archive_Builder): New procedure
2094 (Create_Global_Archive_Dependency_File): New procedure
2095 (Gprmake): Call Build_Global_Archive before linking
2096 * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
2097 throughout.
2098 (Scan_Arg): Display the Copyright notice when -v is used
2099
2100 * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
2101 for gnatls.
2102
2103 * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
2104 COMPILE.
2105 Add new GNAT LIST qualifier /FILES=
2106 Added qualifier /DIRECTORY= to GNAT METRIC
2107 Added qualifier /FILES= to GNAT METRIC
2108 Added qualifier /FILES to GNAT PRETTY
2109
2110 * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
2111 to take into account both versions of the switch.
2112
2113 * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
2114 always be the last switch to the gcc driver. Disable switch storing so
2115 that switches automatically added by the gcc driver are not put in the
2116 ALI file.
2117
2118 * prj.adb (Project_Empty): Take into account changes in components of
2119 Project_Data.
2120
2121 * prj.ads (Languages_Processed): New enumaration value All_Languages.
2122
2123 * prj.ads (Project_Data): Remove component Lib_Elaboration: never
2124 used. Split Boolean component Ada_Sources_Present in two Boolean
2125 components Ada_Sources_Present and Other_Sources_Present.
2126 Minor reformatting
2127
2128 * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
2129 instead of Sources_Present.
2130 (Set_Ada_Paths.Add.Recursive_Add): Ditto
2131
2132 * prj-nmsc.adb: Minor reformatting
2133 (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
2134 (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
2135 Check_Ada_Naming_Scheme.
2136 Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
2137 throughout.
2138
2139 * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
2140 In_Limited.
2141 Make sure that all cycles where there is at least one "limited with"
2142 are detected.
2143 (Parse_Single_Project): New Boolean parameter In_Limited
2144
2145 * prj-proc.adb (Recursive_Check): When Process_Languages is
2146 All_Languages, call first Prj.Nmsc.Ada_Check, then
2147 Prj.Nmsc.Other_Languages_Check.
2148
2149 * prj-proc.adb (Process): Use Ada_Sources_Present or
2150 Other_Sources_Present (instead of Sources_Present) depending on
2151 Process_Languages.
2152
2153 * lang-specs.h: Keep -g and -m switches in the same order, and as the
2154 last switches.
2155
2156 * lib.adb (Switch_Storing_Enabled): New global Boolean flag
2157 (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
2158 False.
2159 (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
2160 False.
2161
2162 * lib.ads (Disable_Switch_Storing): New procedure.
2163
2164 * make.adb: Modifications to reduce nesting level of this package.
2165 (Check_Standard_Library): New procedure
2166 (Gnatmake.Check_Mains): New procedure
2167 (Gnatmake.Create_Binder_Mapping_File): New procedure
2168 (Compile_Sources.Compile): Add switch -gnatez as the last option
2169 (Display): Never display -gnatez
2170
2171 * Makefile.generic:
2172 When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
2173
2174 * gnatcmd.adb (Check_Project): New function
2175 (Process_Link): New procedure to reduce nesting depth
2176 (Check_Files): New procedure to reduce the nesting depth.
2177 For GNAT METRIC, include the inherited sources in extending projects.
2178 (GNATCmd): When GNAT LS is invoked with a project file and no files,
2179 add the list of files from the sources of the project file. If this list
2180 is too long, put it in a temp text files and use switch -files=
2181 (Delete_Temp_Config_Files): Delete the temp text file that contains
2182 a list of source for gnatpp or gnatmetric, if one has been created.
2183 (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
2184 in the project file is too large, create a temporary text file that
2185 list them and pass it to the tool with "-files=<temp text file>".
2186 (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
2187
2188 * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
2189 generated file is in not in Ada.
2190
2191 * gnatls.adb: Remove all parameters And_Save that are no longer used.
2192 (Scan_Ls_Arg): Add processing for -files=
2193 (Usage): Add line for -files=
2194
2195 * g-os_lib.adb (On_Windows): New global constant Boolean flag
2196 (Normalize_Pathname): When on Windows and the path starts with a
2197 directory separator, make sure that the resulting path will start with
2198 a drive letter.
2199
2200 * clean.adb (Clean_Archive): New procedure
2201 (Clean_Project): When there is non-Ada code, delete the global archive,
2202 the archive dependency files, the object files and their dependency
2203 files, if they exist.
2204 (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
2205
2206 2004-06-25 Thomas Quinot <quinot@act-europe.fr>
2207
2208 * sinfo.ads: Fix typo in comment.
2209
2210 * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
2211 the TSS for remote access-to-subprogram types, since these TSS are
2212 always present once the type has been analyzed.
2213 (RAS_E_Dereference): Same.
2214
2215 * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
2216 reference raises Bad_Attribute, mark the reference as analyzed so the
2217 node (and any children resulting from rewrites that could have occurred
2218 during the analysis that ultimately failed) is not analyzed again.
2219
2220 * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
2221
2222 * exp_dist.adb: Minor comment fix.
2223
2224 * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
2225 type is an anonymous access type, no unchecked deallocation of the
2226 allocated object can occur. If the object is controlled, attach it with
2227 a count of 1. This allows attachment to the Global_Final_List, if
2228 no other relevant list is available.
2229 (Get_Allocator_Final_List): For an anonymous access type that is
2230 the type of a discriminant or record component, the corresponding
2231 finalisation list is the one of the scope of the type.
2232
2233 2004-06-25 Ed Schonberg <schonberg@gnat.com>
2234
2235 * sem_ch3.adb (Replace_Type): When computing the signature of an
2236 inherited subprogram, use the first subtype if the derived type
2237 declaration has no constraint.
2238
2239 * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
2240 before applying previous optimization. Minor code cleanup.
2241
2242 * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
2243 placed at the beginning of an unpacked record without explicit
2244 alignment, a slice of it will be aligned and does not need a copy when
2245 used as an actual.
2246
2247 2004-06-25 Ed Schonberg <schonberg@gnat.com>
2248
2249 PR ada/15591
2250 PR ada/15592
2251 * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
2252 reference is written with expressions mimicking parameters.
2253
2254 2004-06-25 Hristian Kirtchev <kirtchev@gnat.com>
2255
2256 PR ada/15589
2257 * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
2258 STEP 2a. The constraints of a full type declaration of a derived record
2259 type are checked for conformance with those declared in the
2260 corresponding private extension declaration. The message
2261 "not conformant with previous declaration" is emitted if an error is
2262 detected.
2263
2264 2004-06-25 Vasiliy Fofanov <fofanov@act-europe.fr>
2265
2266 * g-traceb.ads: Document the need for -E binder switch in the spec.
2267
2268 * g-trasym.ads: Document the need for -E binder switch in the spec.
2269
2270 2004-06-25 Jose Ruiz <ruiz@act-europe.fr>
2271
2272 * sem_prag.adb: Add handling of pragma Detect_Blocking.
2273
2274 * snames.h, snames.ads, snames.adb: Add entry for pragma
2275 Detect_Blocking.
2276
2277 * s-rident.ads: Change reference to pragma Detect_Blocking.
2278
2279 * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
2280 system.ads.
2281
2282 * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
2283 to indicate whether pragma Detect_Blocking is active.
2284
2285 * par-prag.adb: Add entry for pragma Detect_Blocking.
2286
2287 * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
2288 of not handling WITH.
2289 Note that this replaces the previous update which was incorrect.
2290
2291 2004-06-25 Javier Miranda <miranda@gnat.com>
2292
2293 * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
2294 use-clauses to have a clean environment.
2295
2296 * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
2297 the installation of the use-clauses to stablish a clean environment in
2298 case of compilation of a separate unit; otherwise the call to
2299 use_one_package is protected by the barrier Applicable_Use.
2300
2301 * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
2302 the installation of the use-clauses to stablish a clean environment in
2303 case of compilation of a separate unit.
2304 (End_Use_Clauses): Minor comment cleanup.
2305
2306 2004-06-25 Sergey Rybin <rybin@act-europe.fr>
2307
2308 * gnat_ugn.texi: Add description of the gnatpp 'files' switch
2309
2310 2004-06-23 Richard Henderson <rth@redhat.com>
2311
2312 * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
2313
2314 2004-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2315
2316 * decl.c (elaborate_expression, elaborate_expression_1): Arguments
2317 now bool instead of int.
2318 (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
2319 * trans.c (gnu_switch_label_stack): New function.
2320 (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
2321 elaboration of renamed entity returns.
2322 (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
2323 (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
2324 (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
2325 (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
2326 DECL_SIZE_UNIT and simplify variable-sized case.
2327 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
2328 Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
2329 (gnat_stabilize_reference): Add arg to COMPONENT_REF.
2330 (build_unit_elab): Disable for now.
2331 * utils.c (mark_visited): New function.
2332 (pushdecl): Walk tree to call it for global decl.
2333 (update_pointer_to): Update all variants of pointer and ref types.
2334 Add arg to COMPONENT_REF.
2335 (convert): Likewise.
2336 Move check for converting between variants lower down.
2337 * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
2338 (build_allocator): Don't force type of MODIFY_EXPR.
2339 (gnat_mark_addressable, case VAR_DECL): Unconditionally call
2340 put_var_into_stack.
2341
2342 2004-06-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2343
2344 * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
2345 * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
2346 * decl.c (gnat_to_gnu_entity): Also set force_global for imported
2347 subprograms.
2348 * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
2349 all callers changed.
2350 (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
2351 the way that EXIT_STMT finds the loop label.
2352 (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
2353 (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
2354 (add_stmt): Use annotate_with_locus insted of setting directly.
2355 (pos_to_construct): Set TREE_PURPOSE of each entry to index.
2356 (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
2357 * utils.c (gnat_install_builtins): Install __builtin_memcmp.
2358 (build_vms_descriptor): Add extra args to ARRAY_REF.
2359 (convert): Use VIEW_CONVERT_EXPR between aggregate types.
2360 * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
2361 New cases.
2362 (build_binary_op): Don't make explicit CONVERT_EXPR.
2363 Add extra rgs to ARRAY_REF.
2364
2365 2004-06-14 Pascal Obry <obry@gnat.com>
2366
2367 * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
2368 Windows. Fix minor typo.
2369
2370 * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
2371 which is now supported on Windows. With this implementation using the
2372 Library Project feature is no different on Windows than on UNIX.
2373
2374 2004-06-14 Vincent Celier <celier@gnat.com>
2375
2376 * makegpr.adb (Compile_Sources): Nothing to do when there are no
2377 non-Ada sources.
2378
2379 * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
2380
2381 * prj-part.adb (Parse_Single_Project): When a duplicate project name is
2382 found, show the project name and the path of the previously parsed
2383 project file.
2384
2385 2004-06-14 Ed Schonberg <schonberg@gnat.com>
2386
2387 * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
2388 array, avoid copying the actual before the call.
2389
2390 2004-06-14 Thomas Quinot <quinot@act-europe.fr>
2391
2392 * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
2393 Instead, allocate memory on worst-case alignment assumptions, and then
2394 return an aligned address within the allocated zone.
2395
2396 2004-06-14 Robert Dewar <dewar@gnat.com>
2397
2398 * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
2399 elab entities in predefined units in No_Run_Time_Mode.
2400 (Gen_Adainit_C): Same fix
2401 (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
2402 units in No_Run_Time_Mode
2403 (Gen_Elab_Calls_C): Same fix
2404
2405 * symbols-vms-alpha.adb: Minor reformatting
2406
2407 * g-debpoo.ads: Minor reformatting
2408
2409 * lib.adb (In_Same_Extended_Unit): Version working on node id's
2410
2411 * lib.ads (In_Same_Extended_Unit): Version working on node id's
2412
2413 * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
2414 working on nodes.
2415
2416 * make.adb: Minor reformatting
2417
2418 * par-ch12.adb: Minor reformatting
2419
2420 * par-prag.adb: Add dummy entry for pragma Profile_Warnings
2421
2422 * prj-strt.adb: Minor reformatting
2423
2424 * restrict.ads, restrict.adb: Redo handling of profile restrictions to
2425 be more general.
2426
2427 * sem_attr.adb: Minor reformatting
2428
2429 * sem_ch7.adb: Minor reformatting
2430
2431 * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
2432 for type in the same unit as the object declaration.
2433
2434 * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
2435 static string expressions and not just string literals.
2436 Minor reformatting
2437 (Set_Warning): Reset restriction warning flag for restriction pragma
2438 Implement pragma Profile_Warnings
2439 Implement pragma Profile (Restricted)
2440 Give obolescent messages for old restrictions and pragmas
2441
2442 * snames.h, snames.ads, snames.adb: Add new entry for pragma
2443 Profile_Warnings.
2444
2445 * s-rident.ads: Add declarations for restrictions required by profile
2446 Restricted and profile Ravenscar.
2447
2448 * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
2449
2450 * gnat_ugn.texi: Correct some missing entries in the list of GNAT
2451 configuration pragmas.
2452
2453 2004-06-11 Vincent Celier <celier@gnat.com>
2454
2455 * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
2456 gnatsym, when symbol policy is Restricted.
2457
2458 * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
2459 gnatsym, when symbol policy is Restricted.
2460
2461 * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
2462 read the symbol file.
2463 (Finalize): Fail in symbol policy Restricted if a symbol in the original
2464 symbol file is not in the object files. Do not create a new symbol file
2465 when symbol policy is Restricted.
2466
2467 * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
2468 in Scng.
2469
2470 * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
2471 Restricted.
2472 (Usage): Line for new switch -R
2473
2474 * make.adb (Initialize): When the platform is not VMS, add the
2475 directory where gnatmake is invoked in the front of the path, if
2476 gnatmake is invoked with directory information. Change the Scan_Args
2477 while loop to a for loop.
2478 (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
2479 if Depth is equal or greater than the proposed depth, there is nothing
2480 to do.
2481 (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
2482 instead of 0.
2483
2484 * prj.ads: Add new symbol policy Restricted.
2485
2486 * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
2487 with the new parameters Check_All_Labels and Case_Location.
2488
2489 * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
2490 (Library_Symbol_File needs to be defined).
2491
2492 * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
2493 and Case_Location If Check_All_Labels is True, check that all values of
2494 the string type are used, and output warning(s) if they are not.
2495
2496 * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
2497 and Case_Location.
2498
2499 * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
2500
2501 * gnat_ugn.texi: Update documentation about the library directory in
2502 Library Projects.
2503
2504 * makegpr.adb (Display_Command): In verbose mode, also display the
2505 value of the CPATH env var, when the compiler is gcc.
2506 (Initialize): Change the Scan_Args while loop to a for loop
2507 (Compile_Individual_Sources): Change directory to object directory
2508 before compilations.
2509
2510 * symbols.ads: New symbol policy Restricted.
2511
2512 2004-06-11 Olivier Hainque <hainque@act-europe.fr>
2513
2514 * a-except.adb (Raise_After_Setup family): Remove. The responsibility
2515 is now taken care of internally in the Exception_Propagation package
2516 and does not require clients assistance any more.
2517
2518 * a-exexpr.adb (Is_Setup_And_Not_Propagated,
2519 Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
2520 functions. Helpers to maintain a predicate required in the handling of
2521 occurrence transfer between tasks.
2522 This is now handled internally and does not require clients assistance
2523 for the setup/propagate separation anymore.
2524 (Setup_Exception, Propagate_Exception): Simplify the Private_Data
2525 allocation strategy, handle the Setup_And_Not_Propagated predicate and
2526 document.
2527
2528 * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
2529 raise_after_setup, now that everything is handled internally within the
2530 setup/propagation engine.
2531
2532 2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
2533
2534 * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
2535 Add additional conditions for the case of an actual being a simple
2536 name or literal. Improve inlining by preventing the generation
2537 of temporaries with a short lifetime (one use).
2538
2539 2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
2540
2541 PR ada/15587
2542
2543 * einfo.ads: Minor comment updates for Has_Completion and
2544 E_Constant list of flags.
2545
2546 * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
2547 and constant redeclarations now set the Has_Completion flag of their
2548 defining identifiers.
2549
2550 * sem_ch7.adb (Analyze_Package_Spec): Add procedure
2551 Inspect_Deferred_Constant_Completion.
2552 Used to detect private deferred constants that have not been completed
2553 either by a constant redeclaration or pragma Import. Emits error message
2554 "constant declaration requires initialization expression".
2555
2556 * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
2557 completes a deferred constant.
2558
2559 2004-06-11 Geert Bosch <bosch@gnat.com>
2560
2561 * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
2562
2563 * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
2564 calculating exponent for scaling denormal numbers.
2565 (Leading_Part): Properly raise Constraint_Error for zero or negative
2566 Adjustment.
2567 (Remainder): Properly raise Constraint_Error for zero divisor.
2568
2569 2004-06-11 Thomas Quinot <quinot@act-europe.fr>
2570
2571 * sem_util.adb: Minor reformatting.
2572
2573 * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
2574 dereference when accessing the entry parameter record.
2575 (Check_Array_Type): Always check for possible implicit dereference.
2576 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
2577 Abort if a pointer is still present (denoting that an implicit
2578 dereference was left in the tree by the front-end).
2579
2580 * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
2581 dereference when accessing the entry parameter record.
2582 (Check_Array_Type): Always check for possible implicit dereference.
2583 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
2584 Abort if a pointer is still present (denoting that an implicit
2585 dereference was left in the tree by the front-end).
2586
2587 2004-06-11 Emmanuel Briot <briot@act-europe.fr>
2588
2589 * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
2590 message, like the compiler itself does. Easier to parse the output.
2591
2592 * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
2593
2594 * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
2595 be base names, and not includes directories.
2596
2597 2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
2598
2599 * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
2600 so that dependencies are properly taken into account by make.
2601
2602 2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
2603
2604 PR ada/15622
2605 * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
2606 exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
2607
2608 2004-06-11 Jerome Guitton <guitton@act-europe.fr>
2609
2610 * Makefile.in (install-gnatlib): install target-specific run-time files.
2611
2612 * Make-lang.in: Remove obsolete targets.
2613
2614 2004-06-11 Ed Schonberg <schonberg@gnat.com>
2615
2616 * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
2617 specification, to catch misuses of program unit names.
2618
2619 * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
2620 superfluous conversions in an instance.
2621
2622 2004-06-11 Ed Schonberg <schonberg@gnat.com>
2623
2624 PR ada/15403
2625
2626 * sem_ch12.adb (Save_References): If operator node has been folded to
2627 enumeration literal, associated_node must be discarded.
2628
2629 2004-06-11 Jose Ruiz <ruiz@act-europe.fr>
2630
2631 * s-stchop-vxworks.adb: Add required pragma Convention to
2632 Task_Descriptor because it is updated by a C function.
2633
2634 2004-06-08 Arnaud Charlet <charlet@act-europe.fr>
2635
2636 PR ada/15568
2637
2638 * Makefile.in: Remove target specific SO_OPT on IRIX
2639
2640 2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2641
2642 * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
2643 (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
2644 (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
2645 (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
2646 (STMT_STMT, USE_STMT): New statement codes.
2647 (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
2648 * ada-tree.h: Reflect above changes.
2649 (struct tree_loop_id): Deleted.
2650 (union lang_tree_node, struct lang_decl, struct lang_type):
2651 Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
2652 and DECL_LANGUAGE_SPECIFIC to reflect these changes.
2653 (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
2654 (IS_ADA_STMT): New macro.
2655 * decl.c (annotate_decl_with_node): New function.
2656 (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
2657 (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
2658 Call add_stmt_with_node to do needed assignments.
2659 Add call to update setjmp buffer directly, not via EXPR_STMT.
2660 (maybe_variable): Argment GNAT_NODE deleted.
2661 * gigi.h (maybe_variable): Likewise.
2662 (make_transform, add_stmt_with_node, set_block_for_group): New.
2663 (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
2664 (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
2665 (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
2666 (set_lineno, set_lineno_from_sloc): Likewise.
2667 (record_code_position, insert_code_for): Likewise.
2668 (gnat_poplevel): Now returns void.
2669 (end_subprog_body): Now takes argument.
2670 * misc.c (cgraph.h, tree-inline.h): New includes.
2671 (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
2672 (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
2673 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
2674 (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
2675 (gnat_parse_file): Don't set immediate_size_expand.
2676 Call cgraph functions.
2677 (gnat_expand_expr): Remove most cases.
2678 (record_code_position, insert_code_for): Remove from here.
2679 * trans.c (toplev.h, tree-gimple.h): Now included.
2680 (discard_file_names): Deleted.
2681 (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
2682 (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
2683 (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
2684 (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
2685 (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
2686 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
2687 (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
2688 (set_block_for_group, add_stmt_list): Likewise.
2689 (start_stmt_group): Renamed from start_block_stmt.
2690 (end_stmt_group): Likewise, from end_block_stmt.
2691 (build_stmt_group): Likewise, from build_block_stmt, also add arg.
2692 (gigi): Don't set discard_file_names or call set_lineno.
2693 Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
2694 (tree_transform): Deleted, now renamed to be gnat_to_gnu.
2695 Numerous changes throughout to reflect new names and complete
2696 function-at-a-time implementation.
2697 (gnat_expand_stmt): Delete or comment out all cases.
2698 (process_inlined_subprograms): Use add_stmt.
2699 (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
2700 call set_lineno; also remove unneeded block handling.
2701 (process_type): Remove unneeded block handling.
2702 (build_unit_elab): Remove calls to deleted functions.
2703 * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
2704 (tree-dump.h): Likewise.
2705 (struct ada_binding_level): Add field jmpbuf_decl.
2706 (gnat_define_builtin, gnat_install_builtins): New.
2707 (gnat_gimplify_function, gnat_finalize): Likewise.
2708 (gnat_poplevel): No longer return BLOCK, set it instead.
2709 Remove code dealing with nested functions.
2710 (gnat_init_decl_processing): Also set size_type_node.
2711 Call gnat_install_builtins.
2712 (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
2713 (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
2714 Remove special-case for "main".
2715 (end_subprog_body): Add arg and rework for tree-ssa.
2716 (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
2717 Add case for BOOLEAN_TYPE.
2718 * utils2.c (rtl.h): Now include.
2719 (build_call_raise): Test Debug_Flag_NN directly.
2720 (build_call_alloc_dealloc): Don't use local stack allocation for now.
2721 (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
2722 (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
2723
2724 2004-06-07 Robert Dewar <dewar@gnat.com>
2725
2726 * a-direct.ads, einfo.ads: Minor comment updates
2727
2728 * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
2729 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
2730 s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
2731 s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
2732 s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
2733
2734 * s-interr-sigaction.adb: Remove unreferenced variable
2735 (Attached_Interrupts). Minor reformatting.
2736 Avoid use of variable I (replace by J).
2737
2738 * par-ch10.adb: Fix text of one error message
2739
2740 * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
2741 exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
2742 exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
2743 opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
2744 par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
2745 par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
2746 sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
2747 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
2748 sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
2749 sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
2750 snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
2751 2005 support.
2752
2753 2004-06-07 Doug Rupp <rupp@gnat.com>
2754
2755 * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
2756
2757 * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
2758
2759 * mlib-tgt-vms-ia64.adb: New file.
2760
2761 * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
2762 Add mlib-tgt-vms-ia64.adb
2763 Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
2764 Move to alpha specific ifeq section.
2765 Add VMS specific versions of symbols.adb
2766 Renaming of 5q vms files.
2767
2768 * 5qsystem.ads renamed to system-vms_64.ads.
2769
2770 2004-06-07 Vincent Celier <celier@gnat.com>
2771
2772 * a-calend.ads: Add a GNAT Note comment after function Time_Of to
2773 explain that when a time of day corresponding to the non existing hour
2774 on the day switching to DST is specified, Split may return a different
2775 value for Seconds.
2776
2777 * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
2778 to GNAT PRETTY.
2779
2780 * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
2781 (Normalize_Pathname): Only resolve VMS logical names when on VMS.
2782
2783 * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
2784 to False.
2785 If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
2786 the linking options.
2787 (Build_Library.Check_Libs): On VMS, if there is a dependency on
2788 g-trasym.ads, set Gtrasymobj_Needed to True.
2789
2790 * prj-attr.adb: Add new package Metrics for gnatmetric
2791
2792 * prj-nmsc.adb (Record_Other_Sources): Put source file names in
2793 canonical case to take into account files with upper case characters on
2794 Windows.
2795 (Ada_Check): Load the reference symbol file name in the name buffer to
2796 check it, not the symbol file name.
2797
2798 * snames.ads, snames.adb: Add standard name Metrics (name of project
2799 file package for gnatmetric).
2800
2801 * vms_conv.ads: Add Metric to Comment_Type
2802
2803 * vms_conv.adb (Initialize): Add component dor Metric in Command_List
2804
2805 * vms_data.ads: Add qualifiers for GNAT METRIC
2806
2807 * makegpr.adb (Link_Executables): Take into account the switches
2808 specified in package Linker of the main project.
2809
2810 2004-06-07 Thomas Quinot <quinot@act-europe.fr>
2811
2812 * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
2813 the index of the last element is Units.Last, not Units.Table'Last
2814 (which is usually not a valid index within the actually allocated
2815 storage for the table).
2816
2817 * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
2818 determines whether to generate a call to a checked storage pool
2819 Dereference action.
2820 Generate such a call only for a dereference that either comes from
2821 source, or is the result of rewriting a dereference that comes from
2822 source.
2823
2824 2004-06-07 Romain Berrendonner <berrendo@act-europe.fr>
2825
2826 * bindgen.adb (Gen_Output_File): Add support for GAP builds.
2827
2828 2004-06-07 Eric Botcazou <ebotcazou@act-europe.fr>
2829
2830 (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
2831 file level, elaborate the stride for inner dimensions in alignment
2832 units, not bytes.
2833
2834 * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
2835 in a comment.
2836
2837 2004-06-07 Javier Miranda <miranda@gnat.com>
2838
2839 * exp_ch6.adb: Correct wrong modification in previous patch
2840
2841 2004-06-07 Vasiliy Fofanov <fofanov@act-europe.fr>
2842
2843 * g-trasym.ads: Corrected comment to properly reflect level of support
2844 on VMS.
2845
2846 2004-06-07 Hristian Kirtchev <kirtchev@gnat.com>
2847
2848 * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
2849 includes case of a variable referenced on the left hand side of an
2850 assignment, therefore remove redundant code. Variables and prefixes of
2851 indexed or selected components are now marked as referenced on left
2852 hand side. Warnings are now properly emitted when variables or prefixes
2853 are assigned but not read.
2854
2855 * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
2856 left hand side referenced variables. Private access types do not
2857 produce the warning "variable ... is assigned but never read".
2858 Add also additional checks to left hand side referenced variables.
2859 Aliased, renamed objects and access types do not produce the warning
2860 "variable ... is assigned but never read" since other entities may read
2861 the memory location.
2862
2863 2004-06-07 Jerome Guitton <guitton@act-europe.fr>
2864
2865 * Makefile.in: In the powerpc/vxworks-specific section, restore
2866 EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
2867 by mistake).
2868
2869 2004-06-07 Ed Schonberg <schonberg@gnat.com>
2870
2871 * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
2872 predefined operators.
2873 Removes spurious type errors from g-trasym-vms.adb.
2874
2875 * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
2876 distinct from the operator appearing in the source, call appropriate
2877 routine to insert conversions when needed, and complete resolution of
2878 node.
2879 (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
2880 interpretations for rewritten right operand.
2881 (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
2882 the other operand is overloaded and the context is a type conversion.
2883
2884 2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2885
2886 * ada-tree.def (BLOCK_STMT): Now has two operands.
2887 (BREAK_STMT): New.
2888
2889 * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
2890
2891 * gigi.h: (gnat_poplevel): Now returns a tree.
2892
2893 * trans.c (end_block_stmt): Add arg; all callers changed.
2894 (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
2895 (start_block_stmt): Clear BLOCK_STMT_BLOCK.
2896 (add_stmt): Set TREE_TYPE.
2897 (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
2898 (gnat_expand_stmt, case BREAK_STMT): New case.
2899
2900 * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
2901
2902 2004-06-07 Jose Ruiz <ruiz@act-europe.fr>
2903
2904 * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
2905 procedure Set_Stack_Size that is not needed.
2906
2907 2004-06-07 Sergey Rybin <rybin@act-europe.fr>
2908
2909 * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
2910 used for gnatpp input file and for the files upon which it depends
2911
2912 2004-06-07 Ben Brosgol <brosgol@gnat.com>
2913
2914 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
2915
2916 2004-06-07 Arnaud Charlet <charlet@act-europe.fr>
2917
2918 * gnatvsn.ads: Bump version numbers appropriately.
2919 Add new build type.
2920
2921 2004-06-07 Pascal Obry <obry@gnat.com>
2922
2923 * gnat_ugn.texi: Improve comments about imported names and link names
2924 on Windows. Add a note about the requirement to use -k gnatdll's option
2925 when working with a DLL which has stripped stdcall symbols (no @nn
2926 suffix).
2927
2928 2004-05-27 Vincent Celier <celier@gnat.com>
2929
2930 * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
2931 COMMENTS_LAYOUT=UNTOUCHED
2932
2933 * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
2934 symbols-vms-alpha.adb
2935
2936 2004-05-27 Thomas Quinot <quinot@act-europe.fr>
2937
2938 * sem.ads: Clarify documentation on checks suppression.
2939
2940 * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
2941
2942 2004-05-27 Ed Schonberg <schonberg@gnat.com>
2943
2944 * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
2945 the case of multiple derivations.
2946 (Is_Object_Reference): For a selected component, verify that the prefix
2947 is itself an object and not a value.
2948
2949 * sem_ch12.adb (Same_Instantiated_Constant): New name for
2950 Same_Instantiated_Entity.
2951 (Same_Instantiated_Variable): Subsidiary to
2952 Check_Formal_Package_Instance, to recognize actuals for in-out generic
2953 formals that are obtained from a previous formal package.
2954 (Instantiate_Subprogram_Body): Emit proper error when
2955 generating code and the proper body of a stub is missing.
2956
2957 * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
2958 has a universal interpretation, do the disambiguation here.
2959
2960 * exp_ch4.adb (Expand_N_Type_Conversion,
2961 Expand_N_Unchecked_Type_Conversion): Special handling when target type
2962 is Address, to avoid typing anomalies when Address is a visible integer
2963 type.
2964
2965 * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
2966 to determine whether a subprogram should not be marked Pure, even when
2967 declared in a pure package.
2968
2969 2004-05-27 Jose Ruiz <ruiz@act-europe.fr>
2970
2971 * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
2972
2973 * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
2974 Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
2975 Update the documentation about the Ravenscar profile, following the
2976 definition found in AI-249.
2977
2978 * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
2979 setting the Profile (Ravenscar). This must be done in addition to
2980 setting the required restrictions.
2981
2982 * rtsfind.ads: Add the set of operations defined in package
2983 Ada.Interrupts.
2984
2985 * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
2986 restriction.
2987
2988 2004-05-27 Eric Botcazou <ebotcazou@act-europe.fr>
2989
2990 lang-specs.h: Always require -c or -S and always redirect to /dev/null
2991 if -gnatc or -gnats is passed.
2992
2993 2004-05-27 Hristian Kirtchev <kirtchev@gnat.com>
2994
2995 * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
2996 a significant reference. Warnings are now properly emitted when a
2997 discriminated type is not referenced.
2998
2999 * lib-xref.adb (Generate_Reference): A deferred constant completion,
3000 record representation clause or record type discriminant does not
3001 produce a reference to its corresponding entity. Warnings are now
3002 properly emitted when deferred constants and record types are not
3003 referenced.
3004
3005 2004-05-27 Geert Bosch <bosch@gnat.com>
3006
3007 * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
3008 Fixes ACATS Annex G tests.
3009
3010 2004-05-27 Robert Dewar <dewar@gnat.com>
3011
3012 * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
3013 handling WITH
3014
3015 2004-05-27 Arnaud Charlet <charlet@act-europe.fr>
3016
3017 * s-interr.adb (Server_Task): Take into account case of early return
3018 from sigwait under e.g. linux.
3019
3020 2004-05-27 Sergey Rybin <rybin@act-europe.fr>
3021
3022 * gnat_ugn.texi: Add description for the new gnatpp options:
3023 -rnb - replace the original source without creating its backup copy
3024 -c0 - do not format comments
3025
3026 2004-05-24 Geert Bosch <bosch@gnat.com>
3027
3028 * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
3029 with 192 bits of precision, sufficient to reduce a double-extended
3030 arguments X with a maximum relative error of T'Machine_Epsilon, for X
3031 in -2.0**32 .. 2.0**32.
3032 (Cos, Sin): Always reduce arguments of 1/4 Pi or larger, to prevent
3033 reduction by the processor, which only uses a 68-bit approximation of
3034 Pi.
3035 (Tan): Always reduce arguments and compute function either using
3036 the processor's fptan instruction, or by dividing sin and cos as needed.
3037
3038 2004-05-24 Doug Rupp <rupp@gnat.com>
3039
3040 * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
3041 gcc error on 32/64 bit VMS.
3042
3043 2004-05-24 Olivier Hainque <hainque@act-europe.fr>
3044
3045 * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
3046 since this is what we get for stack overflows although not documented
3047 as such.
3048 Document the issues which may require adjustments to our signal
3049 handlers.
3050
3051 2004-05-24 Ed Schonberg <schonberg@gnat.com>
3052
3053 * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
3054 enclosing dynamic scope if the instantiation is within a generic unit.
3055
3056 2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
3057
3058 * exp_dbug.ads: Fix typo.
3059
3060 * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
3061 Rename it to its proper name: system-linux-ia64.ads
3062 (stamp-gnatlib1): Remove extra target specific run time files when
3063 setting up the rts directory.
3064
3065 2004-05-24 Javier Miranda <miranda@gnat.com>
3066
3067 * einfo.ads, einfo.adb (Limited_Views): Removed.
3068 (Limited_View): New attribute that replaces the previous one. It is
3069 now a bona fide package with the limited-view list through the
3070 first_entity and first_private attributes.
3071
3072 * sem_ch10.adb (Install_Private_With_Clauses): Give support to
3073 limited-private-with clause.
3074 (Install_Limited_Withed_Unit): Install the private declarations of a
3075 limited-private-withed package. Update the installation of the shadow
3076 entities according to the new structure (see Build_Limited_Views)
3077 (Build_Limited_Views): Replace the previous implementation of the
3078 limited view by a package entity that references the first shadow
3079 entity plus the first shadow private entity (required for limited-
3080 private-with clause)
3081 (New_Internal_Shadow_Entity): Code cleanup.
3082 (Remove_Limited_With_Clause): Update the implementation to undo the
3083 new work carried out by Build_Limited_Views.
3084 (Build_Chain): Complete documentation.
3085 Replace Ada0Y by Ada 0Y in comments
3086 Minor reformating
3087
3088 * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
3089 types the level of accessibility depends on the enclosing type
3090 declaration.
3091
3092 * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
3093 entities. Complete documentation of previous change.
3094
3095 2004-05-24 Robert Dewar <dewar@gnat.com>
3096
3097 * namet.adb: Minor reformatting
3098 Avoid use of name I (replace by J)
3099 Minor code restructuring
3100
3101 * sem_ch6.adb: Minor reformatting
3102
3103 * lib-writ.adb: Do not set restriction as active if this is a
3104 Restriction_Warning case.
3105
3106 * sem_prag.adb: Reset restriction warning flag if real pragma
3107 restriction encountered.
3108
3109 * s-htable.adb: Minor reformatting
3110 Change rotate count to 3 in Hash (improves hash for small strings)
3111
3112 * 5qsystem.ads: Add comments for type Address (no literals allowed).
3113
3114 * gnat_ugn.texi: Add new section of documentation "Code Generation
3115 Control", which describes the use of -m switches.
3116
3117 2004-05-24 Eric Botcazou <ebotcazou@act-europe.fr>
3118
3119 trans.c (tree_transform) <N_Identifier>: Do the dereference directly
3120 through the DECL_INITIAL for renamed variables.
3121
3122 2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
3123
3124 * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
3125
3126 2004-05-19 Joel Brobecker <brobecker@gnat.com>
3127
3128 * exp_dbug.ads: Correct comments concerning handling of overloading,
3129 since we no longer use $ anymore.
3130
3131 2004-05-19 Sergey Rybin <rybin@act-europe.fr>
3132
3133 * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
3134 ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
3135 with illegal subunits.
3136
3137 2004-05-19 Ed Schonberg <schonberg@gnat.com>
3138
3139 * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
3140 body with front-end inlining enabled, check whether an inline pragma
3141 appears immediately after the body and applies to it.
3142
3143 * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
3144 enabled and the pragma appears after the body of the subprogram.
3145
3146 2004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3147
3148 Part of function-at-a-time conversion
3149
3150 * misc.c (adjust_decl_rtl): Deleted.
3151 (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
3152 Define.
3153
3154 * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
3155 (add_decl_stmt, add_stmt, block_has_vars): New functions.
3156 (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
3157
3158 * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
3159 when making a decl.
3160 (gnat_to_gnu_entity): Likewise.
3161 Use add_stmt to update setjmp buffer.
3162 Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
3163 flush_addressof.
3164 No longer call adjust_decl_rtl.
3165 (DECL_INIT_BY_ASSIGN_P): New macro.
3166 (DECL_STMT_VAR): Likewise.
3167
3168 * trans.c (gigi): Call start_block_stmt to make the outermost
3169 BLOCK_STMT.
3170 (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
3171 Call start_block_stmt and end_block_stmt temporarily.
3172 Use gnat_expand_stmt instead of expand_expr_stmt.
3173 (add_decl_stmt): New function.
3174 (tree_transform): Call it.
3175 (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
3176 (end_block_stmt): Set type and NULL_STMT.
3177 (gnat_expand_stmt): Make recursize call instead of calling
3178 expand_expr_stmt.
3179 (gnat_expand_stmt, case DECL_STMT): New case.
3180 (set_lineno_from_sloc): Do nothing if global.
3181 (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
3182 (start_block_stmt, add_stmt, end_block_stmt): New functions.
3183 (build_block_stmt): Call them.
3184 (gnat_to_code): Don't expand NULL_STMT.
3185 (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
3186 args.
3187 (tree_transform): Likewise.
3188 (tree_transform, case N_Null_Statement): Return NULL_STMT.
3189 (gnat_expand_stmt, case NULL_STMT): New case.
3190 (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
3191 IF_STMT_TRUE.
3192
3193 * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
3194 TREE_ADDRESSABLE.
3195
3196 * utils.c (create_var_decl): Do not call expand_decl or
3197 expand_decl_init.
3198 Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
3199 Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
3200 here.
3201 (struct e_stack): Add chain_next to GTY.
3202 (struct binding_level): Deleted.
3203 (struct ada_binding_level): New struct.
3204 (free_block_chain): New.
3205 (global_binding_level, clear_binding_level): Deleted.
3206 (global_bindings_p): Rework to see if no chain.
3207 (kept_level_p, set_block): Deleted.
3208 (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
3209 new data structure and work directly on BLOCK node.
3210 (gnat_poplevel): Similarly.
3211 (get_decls): Look at BLOCK_VARS.
3212 (insert_block): Work directly on BLOCK node.
3213 (block_has_var): New function.
3214 (pushdecl): Rework for new binding structures.
3215 (gnat_init_decl_processing): Rename and rework calls to pushlevel and
3216 poplevel.
3217 (build_subprog_body): Likewise.
3218 (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
3219
3220 * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
3221
3222 * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
3223 (DECL_STMT_VAR): Likewise.
3224
3225 2004-05-17 Robert Dewar <dewar@gnat.com>
3226
3227 * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
3228 procedure
3229
3230 * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
3231 of restriction synonyums by using
3232 Restrict.Process_Restriction_Synonyms.
3233
3234 * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
3235
3236 * s-restri.ads (Tasking_Allowed): Correct missing comment
3237
3238 * s-rident.ads: Add entries for restriction synonyms
3239
3240 * ali.adb: Fix some problems with badly formatted ALI files that can
3241 result in infinite loops.
3242
3243 * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
3244 s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
3245 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
3246 s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
3247 s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
3248 s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
3249 s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
3250 s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
3251 s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
3252 a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
3253 exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
3254 s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
3255 s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
3256 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
3257 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
3258 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
3259 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
3260 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
3261 s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
3262 s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
3263 to Task_Id (minor cleanup).
3264
3265 2004-05-17 Vincent Celier <celier@gnat.com>
3266
3267 * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
3268 directory separator.
3269
3270 * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
3271 project being extended, if Languages is not declared in extending
3272 project.
3273
3274 2004-05-17 Javier Miranda <miranda@gnat.com>
3275
3276 * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
3277 limited view of a visible sibling.
3278
3279 2004-05-14 Robert Dewar <dewar@gnat.com>
3280
3281 * gnat_ugn.texi: Minor change to -gnatS documentation
3282
3283 * sprint.adb: Remove some instances of Assert (False) and for this
3284 purpose replace them by output of a ??? string.
3285
3286 * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
3287 Assert (False).
3288
3289 * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
3290 flag processing. This was suppressing required dependencies in
3291 No_Run_Time mode and is not needed since the binder does not generate
3292 references for things in libgnat anyway.
3293
3294 * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
3295 warning.
3296
3297 2004-05-14 Thomas Quinot <quinot@act-europe.fr>
3298
3299 * gnat_ugn.texi: Document AIX-specific issue with initialization of
3300 resolver library.
3301
3302 * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
3303 action for the case of an actual parameter in an init proc call.
3304
3305 2004-05-14 Ed Schonberg <schonberg@gnat.com>
3306
3307 * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
3308 subtype, check visible entities in base type.
3309
3310 * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
3311 actions if the object is a renaming.
3312
3313 * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
3314 Check_Formal_Package_Instance, to determine more precisely when the
3315 formal and the actual denote the same entity.
3316
3317 2004-05-14 Javier Miranda <miranda@gnat.com>
3318
3319 * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
3320
3321 * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
3322 corresponding to a private_with must be removed from visibility; it
3323 will be made visible later, just before we analyze the private part of
3324 the package.
3325 (Check_Private_Child_Unit): Allow private_with clauses in public
3326 siblings.
3327 (Install_Siblings): Make visible the private entities of private-withed
3328 siblings.
3329 (Install_Withed_Unit): Do not install the private withed unit if we
3330 are compiling a package declaration and the Private_With_OK flag was
3331 not set by the caller. These declarations will be installed later,
3332 just before we analyze the private part of the package.
3333
3334 * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
3335 during the evaluation of the expression that initializes the object,
3336 decorate it with the expected type to avoid cascade errors.
3337 Code cleanup.
3338
3339 * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
3340 subprogram we have to install the private_with clauses after its
3341 specification has been analyzed (as documented in AI-262.TXT).
3342
3343 * sem_ch8.adb (Has_Private_With): New function. Determines if the
3344 current compilation unit has a private with on a given entity.
3345 (Find_Direct_Name): Detect the Beaujolais problem described in
3346 AI-262.TXT
3347
3348 * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
3349 provides the functionality of the function Is_Ancestor that was
3350 previously available in sem_ch10. It has been renamed to avoid
3351 overloading.
3352
3353 * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
3354
3355 2004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3356
3357 * utils.c (build_vms_descriptor): Use SImode pointers.
3358
3359 2004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr>
3360
3361 * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
3362
3363 2004-05-14 GNAT Script <nobody@gnat.com>
3364
3365 * Make-lang.in: Makefile automatically updated
3366
3367 2004-05-14 Arnaud Charlet <charlet@act-europe.fr>
3368
3369 Renaming of target specific files for clarity
3370
3371 * Makefile.in: Rename GNAT target specific files.
3372
3373 * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
3374 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
3375 3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
3376 3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
3377 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
3378 3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
3379 42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
3380 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
3381 4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
3382 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
3383 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
3384 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
3385 51osinte.adb, 51osinte.ads, 51system.ads,
3386 52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
3387 55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
3388 56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
3389 56tpopsp.adb, 57system.ads, 58system.ads,
3390 5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
3391 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
3392 5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
3393 5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
3394 5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
3395 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
3396 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
3397 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
3398 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
3399 5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
3400 5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
3401 5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
3402 5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
3403 5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
3404 5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
3405 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
3406 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
3407 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
3408 5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
3409 5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
3410 5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
3411 5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
3412 5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
3413 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
3414 5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
3415 5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
3416 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
3417 5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
3418 5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
3419 5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
3420 5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
3421 5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
3422 5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
3423 5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
3424 5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
3425 5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
3426 7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
3427 7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
3428 7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
3429 7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
3430
3431 * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
3432 a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
3433 a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
3434 a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
3435 a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
3436 a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
3437 a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
3438 a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
3439 a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
3440 a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
3441 g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
3442 g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
3443 g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
3444 g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
3445 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
3446 g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
3447 g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
3448 g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
3449 interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
3450 mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
3451 mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
3452 mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
3453 s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
3454 s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
3455 s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
3456 s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
3457 s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
3458 s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
3459 s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
3460 s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
3461 s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
3462 s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
3463 s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
3464 s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
3465 s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
3466 s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
3467 s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
3468 s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
3469 s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
3470 s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
3471 s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
3472 s-osinte-vms.ads, s-osinte-vxworks.adb,
3473 s-osinte-vxworks.ads, s-osprim-mingw.adb,
3474 s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
3475 s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
3476 s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
3477 s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
3478 s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
3479 s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
3480 s-stchop-vxworks.adb, s-taprop-dummy.adb,
3481 s-taprop-hpux-dce.adb, s-taprop-irix.adb,
3482 s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
3483 s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
3484 s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
3485 s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
3486 s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
3487 s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
3488 s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
3489 s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
3490 s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
3491 s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
3492 s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
3493 s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
3494 s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
3495 s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
3496 s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
3497 s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
3498 s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
3499 symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
3500 system-hpux.ads, system-interix.ads, system-irix-n32.ads,
3501 system-irix-o32.ads, system-linux-x86_64.ads,
3502 system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
3503 system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
3504 system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
3505 system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
3506 system-vxworks-alpha.ads, system-vxworks-m68k.ads,
3507 system-vxworks-mips.ads, system-vxworks-ppc.ads,
3508 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
3509 above.
3510
3511 2004-05-13 Zack Weinberg <zack@codesourcery.com>
3512
3513 * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
3514
3515 2004-05-13 Diego Novillo <dnovillo@redhat.com>
3516
3517 Merge from tree-ssa-20020619-branch.
3518
3519 * config-lang.in (boot_language, build_by_default): Set
3520 to no.
3521 * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
3522 (max_size): Add static chain op for call_expr.
3523
3524 2004-05-12 Richard Sandiford <rsandifo@redhat.com>
3525
3526 PR target/15331
3527 * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
3528
3529 2004-05-11 Roger Sayle <roger@eyesopen.com>
3530
3531 * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
3532 COND_EXPR.
3533
3534 2004-05-10 Doug Rupp <rupp@gnat.com>
3535
3536 * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
3537 system.aux_dec.
3538
3539 * s-auxdec.ads: Add Short_Address subtype (moved here from System).
3540
3541 * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
3542
3543 * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
3544 Fixes undefined symbols in IA64 gnatlib.
3545
3546 * 5vinmaop.adb: Reference s-auxdec for Short_Address.
3547
3548 * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
3549 Short_Address). This will be moved to system.auxdec.
3550
3551 2004-05-10 Thomas Quinot <quinot@act-europe.fr>
3552
3553 * sem_util.adb: Replace test for presence of a node that is always
3554 present with a call to Discard_Node.
3555
3556 * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
3557 Analyze on the library unit node after generation of distribution stub
3558 constructs. The call was a no-op because Unit_Node has already been
3559 Analyzed, and the tree fragments for the distribution stubs are
3560 analyzed as they are inserted in Exp_Dist.
3561 Update comment regarding to distribution stubs to reflect that we
3562 do not generate stub in separate files anymore.
3563
3564 * einfo.ads: Clarify the fact that a tagged private type has the
3565 E_Record_Type_With_Private Ekind.
3566
3567 * erroutc.adb: Minor reformatting
3568
3569 * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
3570 values if line length is increased using -gnatyM (noticed during code
3571 reading).
3572
3573 * eval_fat.adb: Minor reformatting
3574 Put spaces around exponentiation operator
3575
3576 2004-05-10 Ed Schonberg <schonberg@gnat.com>
3577
3578 PR ada/15005
3579 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
3580 has been rewritten as an explicit dereference, retrieve type of
3581 original node to check for possibly unconstrained record type.
3582
3583 2004-05-10 Ed Schonberg <schonberg@gnat.com>
3584
3585 * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
3586 overriding, use the operation of the parent unconditionally.
3587
3588 * sem_ch4.adb (Remove_Address_Interpretations): Remove address
3589 operation when either operand is a literal, to avoid further
3590 ambiguities.
3591
3592 * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
3593 overridden by a previous explicit declaration, mark the previous entity
3594 as overriding.
3595
3596 * sem_disp.adb (Check_Dispatching_Operation): New predicate
3597 Is_Visibly_Controlled, to determine whether a declaration of a
3598 primitive control operation for a derived type overrides an inherited
3599 one. Add warning if the explicit declaration does not override.
3600
3601 2004-05-10 Vincent Celier <celier@gnat.com>
3602
3603 * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
3604 some cases when the sources are no longer present.
3605
3606 * make.adb (Collect_Arguments): Fail if an external source, not part
3607 of any project need to be compiled, when switch -x has not been
3608 specified.
3609
3610 * makeusg.adb: Document new switch -x
3611
3612 * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
3613 defaulted to False.
3614
3615 * switch-m.adb (Scan_Make_Switches): New switch -x
3616
3617 * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
3618 gnatmake switch -x.
3619
3620 * gnat_ugn.texi: Document new gnatmake switch -x
3621
3622 2004-05-10 Eric Botcazou <ebotcazou@act-europe.fr>
3623
3624 * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
3625
3626 * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
3627 (process_attributes): Likewise.
3628
3629 2004-05-10 Joel Brobecker <brobecker@gnat.com>
3630
3631 * s-inmaop.ads: Fix spelling mistake in one of the comments.
3632
3633 2004-05-10 Robert Dewar <dewar@gnat.com>
3634
3635 * gnat_ugn.texi: Document that for config pragma files, the maximum
3636 line length is always 32767.
3637
3638 * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
3639 literals is now allowed.
3640
3641 * gnat-style.texi: Remove statement about splitting long lines before
3642 an operator rather than after, since we do not follow this rule at all.
3643 Clarify rule (really lack of rule) for spaces around exponentiation
3644
3645 * sem_elim.adb: Allow concatenation of string literals as well as a
3646 single string literal for pragma arguments.
3647
3648 * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
3649
3650 * a-textio.adb (Terminate_Line): Do not add line feed if nothing
3651 written for append case.
3652
3653 * frontend.adb: Changes to avoid checking max line length in config
3654 pragma files.
3655
3656 * g-os_lib.ads: Minor reformatting
3657
3658 * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
3659 wrong in any case. Instead use standard value. Noticed during code
3660 reading.
3661
3662 * opt.ads (Max_Line_Length): New field, used to implement removal of
3663 limitation on length of lines when scanning config pragma files.
3664
3665 * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
3666 makeutl.ads, makeutl.adb: Minor reformatting
3667
3668 * scn.adb: Do not check line length while scanning config pragma files
3669 Do not check line length while scanning out license information
3670
3671 * scng.adb: Changes to avoid line length checks while parsing config
3672 pragma files.
3673
3674 2004-05-10 GNAT Script <nobody@gnat.com>
3675
3676 * Make-lang.in: Makefile automatically updated
3677
3678 2004-05-05 Arnaud Charlet <charlet@act-europe.fr>
3679
3680 * osint.adb (Find_Program_Name): Fix handling of VMS version
3681 number.
3682
3683 2004-05-05 Emmanuel Briot <briot@act-europe.fr>
3684
3685 * g-os_lib.ads (Invalid_Time): New constant
3686
3687 * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
3688 return OS_Time instead of time_t to match what is imported by Ada.
3689 Now return -1 if the file doesn't exist, instead of a random value
3690
3691 2004-05-05 Robert Dewar <dewar@gnat.com>
3692
3693 * usage.adb: Add line for -gnatR?s switch
3694
3695 * sem_ch13.adb, exp_ch2.adb: Minor reformatting
3696
3697 * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
3698 and for Match (Data_First, Data_last)
3699
3700 * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
3701 written when we are dealing with multi-unit files.
3702
3703 2004-05-05 Jerome Guitton <guitton@act-europe.fr>
3704
3705 * Makefile.in: Remove unused targets and variables.
3706
3707 2004-05-05 Vincent Celier <celier@gnat.com>
3708
3709 * switch-m.adb: New gnatmake switch -eI
3710
3711 * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
3712 of new gnatmake switch -eInnn.
3713
3714 * makegpr.adb: Take into account new parameters Index and Src_Index in
3715 Prj.Util.
3716
3717 * clean.adb: Implement support for multi-unit sources, including new
3718 switch -i.
3719
3720 * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
3721 Src_Index.
3722
3723 * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
3724 (Extract_From_Q): New out parameter Index
3725 (Mark, Is_Marked): Subprograms moved to Makeutl
3726 (Switches_Of): New parameter Source_Index
3727 (Add_Switch): New parameter Index
3728 (Check): New parameter Source_Index
3729 (Collect_Arguments): New parameter Source_Index
3730 (Collect_Arguments_And_Compile): New parameter Source_Index
3731 (Compile): New parameter Source_Index
3732 Put subprograms in alphabetical order
3733 Add support for multi-source sources, including in project files.
3734
3735 * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
3736 (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
3737 Make.
3738
3739 * makeusg.adb: New gnatmake switch -eInnn
3740
3741 * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
3742 Prj.Util.Value_Of.
3743
3744 * opt.ads (Main_Index): New variable, defaulted to 0.
3745
3746 * osint.ads, osinte.adb (Add_File): New parameter Index
3747 (Current_Source_Index): New function
3748
3749 * prj.adb: Take into account new components Index and Src_Index
3750
3751 * prj.ads (String_Element): New component Index
3752 (Variable_Value): New component Index
3753 (Array_Element): New component Src_Index
3754
3755 * prj-attr.adb: Indicate that optional index may be specified for
3756 attributes Main, Executable, Spec, Body and some of Switches.
3757
3758 * prj-attr.ads (Attribute_Kind): New values for optional indexes
3759 (Attribute_Record): New component Optional_Index
3760
3761 * prj-com.ads (File_Name_Data): New component Index
3762
3763 * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
3764
3765 * prj-env.adb (Put): Output optional index
3766
3767 * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
3768 attributes Spec and Body.
3769
3770 * prj-nmsc.adb: Process optional indexes
3771
3772 * prj-pp.adb: Ouput "at" for optional indexes
3773
3774 * prj-proc.adb: Take into account optional indexes
3775
3776 * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
3777 Optional_Index. For string literal,
3778 process optional index when Optional_Index is True.
3779 (Parse_Expresion): New Boolean parameter Optional_Index
3780
3781 * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
3782 (Set_Source_Index_Of): New procedure
3783
3784 * prj-util.adb (Executable_Of, Value_Of): Take into account optional
3785 index.
3786
3787 * prj-util.ads (Executable_Of): New parameter Index
3788 (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
3789 New parameter Src_Index, defaulted to 0.
3790
3791 2004-05-05 Ed Schonberg <schonberg@gnat.com>
3792
3793 PR ada/15257
3794 * sem_ch3.adb (Access_Definition): If this is an access parameter
3795 whose designated type is imported through a limited_with clause, do
3796 not add the enclosing subprogram to the list of private dependents of
3797 the type.
3798
3799 2004-05-05 Ed Schonberg <schonberg@gnat.com>
3800
3801 PR ada/15258
3802 * sem_ch6.adb (Base_Types_Match): True if one type is imported through
3803 a limited_with clause, and the other is its non-limited view.
3804
3805 2004-05-05 Thomas Quinot <quinot@act-europe.fr>
3806
3807 * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
3808
3809 * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
3810 exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
3811 Stand.Boolean_Literals to produce references to entities
3812 Standard_False and Standard_True from compile-time computed boolean
3813 values.
3814
3815 * stand.ads (Boolean_Literals): New variable, provides the entity
3816 values for False and True, for use by the expander.
3817
3818 2004-05-05 Doug Rupp <rupp@gnat.com>
3819
3820 * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
3821 5vinmaop.adb: Unchecked convert Short_Address vice Address
3822
3823 * adaint.c, raise.c: Caste CRTL function return value
3824 to avoid gcc error on 32/64 bit IVMS.
3825
3826 * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
3827 target = IA64/VMS.
3828
3829 * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
3830
3831 * 5qsystem.ads (Address): Declare as Long_Integer
3832 (Short_Address): Declare as 32 bit subtype of Address
3833 Declare abstract address operations to avoid gratuitous ambiguities.
3834
3835 2004-05-05 Jose Ruiz <ruiz@act-europe.fr>
3836
3837 * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
3838 instead of the old Boolean_Entry_Barriers.
3839 Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
3840
3841 2004-05-05 GNAT Script <nobody@gnat.com>
3842
3843 * Make-lang.in: Makefile automatically updated
3844
3845 2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
3846
3847 * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
3848
3849 2004-05-03 Olivier Hainque <hainque@act-europe.fr>
3850
3851 PR ada/15152
3852
3853 * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
3854 alone. Replacing object references by literals is inappropriate in a
3855 so low level context.
3856
3857 2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
3858
3859 * a-exexpr.adb: Add comments
3860
3861 2004-05-03 Joel Brobecker <brobecker@gnat.com>
3862
3863 * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
3864 declare the Ancestor_Tags array in Type_Specific_Data with a small size
3865 without risking a bounds check error when accessing one of its
3866 components.
3867 (Type_Specific_Data): Define Ancestor_Tags as a small array.
3868 This prevents us from hitting a limitation during the debug info
3869 generation when using stabs.
3870
3871 * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
3872 small array.
3873 This prevents us from hitting a limitation during the debug info
3874 generation when using stabs.
3875
3876 2004-05-03 Eric Botcazou <ebotcazou@act-europe.fr>
3877
3878 lang-specs.h: Remove -gnatz* from specs.
3879
3880 2004-05-03 Vincent Celier <celier@gnat.com>
3881
3882 * gprmake.adb, makegpr.ads, makegpr.adb: New files.
3883
3884 * Make-lang.in, Makefile.in: Add gprmake
3885
3886 2004-05-03 Thomas Quinot <quinot@act-europe.fr>
3887
3888 * sem_aggr.adb: Fix typo in comment.
3889
3890 2004-05-03 Robert Dewar <dewar@gnat.com>
3891
3892 * make.adb: Minor reformatting
3893
3894 * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
3895
3896 * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
3897 so that it works when address is not a private type.
3898
3899 * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
3900 properly with rewritten unchecked conversions. This prevents
3901 order-of-elaboration issues that can otherwise arise.
3902 (Minimum_Size): Don't check size of access types under VMS
3903
3904 * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
3905 interpretations of integer literals as type System.Address.
3906
3907 * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
3908 (Is_Descendent_Of): New function
3909
3910 2004-05-03 Jose Ruiz <ruiz@act-europe.fr>
3911
3912 * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
3913 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
3914 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
3915
3916 * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
3917 of the old Max_Entry_Queue_Depth.
3918
3919 * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
3920 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
3921 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
3922
3923 * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
3924 New entry for proper handling of Max_Entry_Queue_Depth.
3925 New entry for proper handling of No_Dynamic_Interrupts.
3926
3927 * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
3928 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
3929 Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
3930 the GNAT specific restriction Max_Entry_Queue_Depth.
3931 Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
3932 the GNAT specific restriction No_Dynamic_Interrupts.
3933
3934 * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
3935 instead of the old Boolean_Entry_Barriers.
3936 Use the new restriction No_Dynamic_Attachment instead of the old
3937 No_Dynamic_Interrupts.
3938
3939 * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
3940 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
3941
3942 * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
3943 of the old Max_Entry_Queue_Depth.
3944
3945 2004-05-03 GNAT Script <nobody@gnat.com>
3946
3947 * Make-lang.in: Makefile automatically updated
3948
3949 2004-04-29 Ed Schonberg <schonberg@gnat.com>
3950
3951 * checks.adb (Enable_Range_Check): If the prefix of an index component
3952 is an access to an unconstrained array, perform check unconditionally.
3953
3954 2004-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3955
3956 * decl.c (gnat_to_gnu_field): Also call make_packable_type if
3957 Component_Clause.
3958
3959 2004-04-29 Olivier Hainque <hainque@act-europe.fr>
3960
3961 * init.c (__gnat_install_handler, __gnat_error_handler): Remove
3962 alternate stack setting. There was no support for the tasking cases
3963 and the changes eventually caused a number of side-effect failures in
3964 the non-tasking case too.
3965
3966 2004-04-29 Eric Botcazou <ebotcazou@act-europe.fr>
3967
3968 lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
3969 -gnats is passed.
3970
3971 2004-04-29 Vincent Celier <celier@gnat.com>
3972
3973 * make.adb (Gnatmake): Increase max size of argument array for
3974 gnatbind for the potential addition of -F.
3975 If there are Stand-Alone Library projects, invoke gnatbind with -F to
3976 be sure that elaboration flags will be checked.
3977
3978 * switch-c.adb: Correct call to Scan_Pos for -gnateI
3979
3980 2004-04-29 Thomas Quinot <quinot@act-europe.fr>
3981
3982 * sem_warn.adb (Check_References): Move '<access-variable> may be
3983 null' warning out of under Warn_On_No_Value_Assigned.
3984
3985 2004-04-29 Ed Falis <falis@gnat.com>
3986
3987 * gnat_ugn.texi: Fixed texi error
3988
3989 2004-04-29 Robert Dewar <dewar@gnat.com>
3990
3991 * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
3992 abstract operations if they come from predefined files.
3993
3994 * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
3995 Dynamic, not RM).
3996
3997 * s-addope.adb: Correct obvious error in mod function
3998
3999 2004-04-28 Andrew W. Reynolds <awreynolds@mac.com>
4000
4001 * Makefile.in: Add target pairs for powerpc darwin*
4002 tasking support.
4003
4004 * a-intnam-darwin.ads, s-osinte-darwin.adb,
4005 s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
4006
4007 2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
4008
4009 * Makefile.in: Add target macro definitions for s390*-linux*.
4010 * system-linux-s390.ads: New file.
4011 * system-linux-s390x.ads: New file.
4012
4013 2004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
4014
4015 * gnat_ugn.texi: Correct argument to @setfilename.
4016
4017 2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
4018
4019 * a-exexpr.adb (Unwind_Word): New data type.
4020 (Unwind_Exception): Use it as type of Private1 and Private2.
4021
4022 * raise.c (db_action_for): Fix debug printf.
4023
4024 2004-04-27 Ed Schonberg <schonberg@gnat.com>
4025
4026 * a-wtmoio.ads: Formal type must be a modular type, not a signed
4027 integer type.
4028
4029 2004-04-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4030
4031 * decl.c (gnat_to_gnu_entity, case object): Call
4032 __builtin_update_setjmp_buf.
4033
4034 * gigi.h (update_setjmp_buf): Deleted.
4035 (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
4036
4037 * misc.c: (update_setjmp_buf): Deleted.
4038
4039 * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
4040 around block of RTL.
4041
4042 * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
4043
4044 2004-04-26 Thomas Quinot <quinot@act-europe.fr>
4045
4046 * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
4047 subprogram for which no pragma All_Calls_Remote applies, store the
4048 address of the real subprogram in the underlying record type, so local
4049 dereferences do not go through the PCS.
4050
4051 2004-04-26 Robert Dewar <dewar@gnat.com>
4052
4053 * i-c.ads: Add some type qualifications to avoid ambiguities when
4054 compiling with s-auxdec.ads and a non-private address type.
4055
4056 2004-04-26 Arnaud Charlet <charlet@act-europe.fr>
4057
4058 * Makefile.rtl: Fix error in previous check-in:
4059 Add s-addope.o to non tasking object list (rather than tasking object
4060 list).
4061
4062 2004-04-26 Javier Miranda <miranda@gnat.com>
4063
4064 * sem_aggr.adb: Fix typo in comments
4065 (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
4066 Required to check the null-exclusion attribute.
4067
4068 * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
4069 case of anonymous access types in record and array components. For a
4070 component definition the level is the same of the enclosing composite
4071 type.
4072
4073 * sem_ch3.adb (Analyze_Component_Declaration): In case of components
4074 that are anonymous access types the level of accessibility depends on
4075 the enclosing type declaration. In order to have this information, set
4076 the scope of the anonymous access type to the enclosing record type
4077 declaration.
4078 (Array_Type_Declaration): In case of components that are anonymous
4079 access types the level of accessibility depends on the enclosing type
4080 declaration. In order to have this information, set the scope of the
4081 anonymous access type to the enclosing array type declaration.
4082
4083 * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
4084 access type.
4085
4086 * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
4087 renaming of anonymous access-to-constant types allowed if and only if
4088 the renamed object is access-to-constant.
4089
4090 * sem_util.adb (Type_Access_Level): In case of anonymous access types
4091 that are component_definition or discriminants of a nonlimited type,
4092 the level is the same as that of the enclosing component type.
4093
4094 2004-04-26 Sergey Rybin <rybin@act-europe.fr>
4095
4096 * sem_elim.adb: Some minor code reorganization from code reading. Fix
4097 misprint in the function name (File_Name_Match).
4098
4099 2004-04-23 Laurent GUERBY <laurent@guerby.net>
4100
4101 * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
4102 install.
4103
4104 2004-04-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4105
4106 * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
4107
4108 2004-04-23 Emmanuel Briot <briot@act-europe.fr>
4109
4110 * adaint.c (__gnat_try_lock): No longer requires that the parent
4111 directory be writable, the directory itself is enough.
4112 (gnat_is_absolute_path): Change profile, so that the call from
4113 GNAT.OS_Lib can be made more efficient.
4114
4115 * adaint.h (gnat_is_absolute_path): Change profile, so that the call
4116 from GNAT.OS_Lib can be made more efficient.
4117
4118 * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
4119 one copy of the file name. Found by code reading.
4120
4121 2004-04-23 Vincent Celier <celier@gnat.com>
4122
4123 * gnat_ugn.texi: Add documentation for gnatmake switch -eL
4124 Correct documentation on gnatmake switches transmitted to the compiler
4125
4126 * ali.ads: Minor comment fix
4127
4128 2004-04-23 Javier Miranda <miranda@gnat.com>
4129
4130 * sem_ch6.adb: (Confirming Types): Code cleanup
4131
4132 * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
4133 subprogram types: E_Anonymous_Access_Subprogram_Type and
4134 E_Anonymous_Access_Protected_Subprogram_Type.
4135
4136 2004-04-23 Thomas Quinot <quinot@act-europe.fr>
4137
4138 * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
4139 whether a pragma All_Calls_Remote applies to the subprogram on which
4140 'Access is taken.
4141 No functional change is introduced by this revision; the new parameter
4142 will be used to allow calls to local RCI subprograms to be optimized
4143 to not use the PCS in the case where no pragma All_Calls_Remote applies,
4144 as is already done in the PolyORB implementation of the DSA.
4145
4146 * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
4147 whether a pragma All_Calls_Remote applies to the subprogram on which
4148 'Access is taken.
4149 No functional change is introduced by this revision; the new parameter
4150 will be used to allow calls to local RCI subprograms to be optimized
4151 to not use the PCS in the case where no pragma All_Calls_Remote applies,
4152 as is already done in the PolyORB implementation of the DSA.
4153
4154 2004-04-23 Robert Dewar <dewar@gnat.com>
4155
4156 * Makefile.rtl: Add entry for s-addope.o in run time library list
4157 * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
4158 * s-addope.ads, s-addope.adb: New files.
4159
4160 * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
4161 s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
4162 s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
4163 System.Address to be non-private and signed.
4164
4165 * sem_elim.adb: Minor reformatting (fairly extensive)
4166 Some minor code reorganization from code reading
4167 Add a couple of ??? comments
4168
4169 2004-04-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4170
4171 * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
4172 (tree_transform, case N_If_Statement): Remove non-determinism.
4173
4174 * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
4175
4176 2004-04-23 Sergey Rybin <rybin@act-europe.fr>
4177
4178 * gnat_rm.texi: Small fixes in the changes made in the 'pragma
4179 Eliminate' section.
4180
4181 * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
4182 no longer used as a parameter name for Eliminate pragma).
4183
4184 2004-04-22 Laurent GUERBY <laurent@guerby.net>
4185
4186 PR optimization/14984
4187 PR optimization/14985
4188 * trans.c (gigi): Fix non determinism leading to bootstrap
4189 comparison failures.
4190
4191 2004-04-21 Pascal Obry <obry@gnat.com>
4192
4193 * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
4194 passed to spawnvp() to properly handle program pathname with spaces on
4195 Win32.
4196
4197 2004-04-21 Emmanuel Briot <briot@act-europe.fr>
4198
4199 * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
4200 (Allocate, Deallocate, Free_Physically): Make sure the tasks are
4201 unlocked in case of exceptions.
4202
4203 2004-04-21 Joel Brobecker <brobecker@gnat.com>
4204
4205 * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
4206 This function does not exist anymore.
4207
4208 2004-04-21 Thomas Quinot <quinot@act-europe.fr>
4209
4210 * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
4211
4212 * link.c: Move variables to the __gnat name space.
4213
4214 * Makefile.in: list link.o explicitly when needed.
4215
4216 * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
4217
4218 2004-04-21 Javier Miranda <miranda@gnat.com>
4219
4220 * einfo.adb (Original_Access_Type): New subprogram
4221 (Set_Original_Access_Type): New subprogram
4222 (Write_Field21_Name): Write the name of the new field
4223
4224 * einfo.ads (Original_Access_Type): New field present in access to
4225 subprogram types.
4226 Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
4227 E_Anonymous_Access_Protected_Subprogram_Type.
4228
4229 * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
4230 subprogram types.
4231
4232 * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
4233 to anonymous access to subprogram types.
4234
4235 * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
4236 to subprogram types.
4237
4238 * sem_ch3.adb (Access_Definition): Complete decoration of entities
4239 corresponding to anonymous access to subprogram types.
4240 (Analyze_Component_Declaration): Add new actual to the call to
4241 subprogram replace_anonymous_access_to_protected_subprogram.
4242 (Array_Type_Declaration): Add new actual to the call to subprogram
4243 replace_anonymous_access_to_protected_subprogram.
4244 (Process_Discriminants): Add new actual to the call to subprogram
4245 replace_anonymous_access_to_protected_subprogram.
4246 (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
4247
4248 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
4249 formal.
4250
4251 * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
4252 access to subprogram types.
4253
4254 * sem_util.adb (Has_Declarations): Addition of package_specification
4255 nodes.
4256
4257 2004-04-21 Ed Schonberg <schonberg@gnat.com>
4258
4259 * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
4260 inlined flags to renamed entity only if in current unit.
4261
4262 2004-04-21 Thomas Quinot <quinot@act-europe.fr>
4263
4264 * s-parint.ads: Add DSA implementation marker.
4265
4266 * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
4267 value of System.Partition_Interface.DSA_Implementation to determine
4268 what version of the distributed systems annex is available (no
4269 implementation, GLADE, or PolyORB).
4270
4271 2004-04-21 Joel Brobecker <brobecker@gnat.com>
4272
4273 * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
4274
4275 2004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4276
4277 * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
4278 with new type if alias sets differ.
4279 Fixes ACATS c41103b.
4280
4281 2004-04-21 Vincent Celier <celier@gnat.com>
4282
4283 * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
4284 Add array Lang_Args for the language specific compiling argument
4285 switches.
4286
4287 * gnat_ugn.texi: Explain in more details when a library is rebuilt.
4288
4289 2004-04-21 Sergey Rybin <rybin@act-europe.fr>
4290
4291 * gnat_rm.texi: Update the descripton of the Eliminate pragma
4292 according to the recent changes in the format of the parameters of the
4293 pragma (replacing Homonym_Number with Source_Location).
4294
4295 2004-04-19 Arnaud Charlet <charlet@act-europe.fr>
4296
4297 * 5isystem.ads: Removed, unused.
4298
4299 * gnat_rm.texi: Redo 1.13 change.
4300
4301 2004-04-19 Robert Dewar <dewar@gnat.com>
4302
4303 * s-stoele.ads: Clean up definition of Storage_Offset (the new
4304 definition is cleaner, avoids the kludge of explicit Standard operator
4305 references, and also is consistent with a visible System.Address with
4306 no visible operations.
4307
4308 * s-geveop.adb: Add declarations to avoid assumption of visible
4309 operations on type System.Address (since these might not be available
4310 if Address is a non-private type for which the operations
4311 are made abstract).
4312
4313 * sem_eval.adb: Minor reformatting
4314
4315 * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
4316 s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
4317 reformatting (new function spec format).
4318
4319 * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
4320 s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
4321 s-caun64.adb: Add declarations to avoid assumption of visible
4322 operations on type System.Address (since these might not be available
4323 if Address is a non-private type for which the operations are made
4324 abstract).
4325
4326 * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
4327
4328 * exp_intr.adb: Minor comment update
4329
4330 * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
4331
4332 * 5omastop.adb: Add declarations to avoid assumption of visible
4333 operations on type System.Address (since these might not be available
4334 if Address is a non-private type for which the operations
4335 are made abstract).
4336
4337 2004-04-19 Vincent Celier <celier@gnat.com>
4338
4339 * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
4340
4341 * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
4342 defaulted to Ada.
4343
4344 * prj-proc.adb (Process): New Boolean parameter Process_Languages,
4345 defaulted to Ada.
4346 Call Check with Process_Languages.
4347 (Check): New Boolean parameter Process_Languages. Call Recursive_Check
4348 with Process_Languages.
4349 (Recursive_Check): New Boolean parameter Process_Languages. Call
4350 Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
4351 Process_Languages.
4352
4353 * prj-proc.ads (Process): New Boolean parameter Process_Languages,
4354
4355 * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
4356 parameter Ada_Main, defaulted to True.
4357 Check for Ada specific characteristics only when Ada_Main is True.
4358
4359 * opt.ads: (Follow_Links): New Boolean flag for gnatmake
4360
4361 * prj.adb: (Project_Empty): Add new Project_Data components.
4362
4363 * prj.ads: New types and tables for non Ada languages.
4364 (Project_Data): New components Languages, Impl_Suffixes,
4365 First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
4366 Include_Path, Include_Data_Set.
4367
4368 * prj-env.ads, prj-env.adb: Minor reformatting
4369
4370 * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
4371 Put subprograms in alphabetical order
4372
4373 * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
4374 defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
4375 Opt.Follow_Links.
4376
4377 * mlib-prj.adb: Back out modification in last version, as they are
4378 incorrect.
4379 (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
4380
4381 * make.adb: (Mains): Moved to package Makeutl
4382 (Linker_Opts): Moved to package Makeutl
4383 (Is_External_Assignment): Moved to package Makeutl
4384 (Test_If_Relative_Path): Moved to package Makeutl
4385 (Gnatmake): Move sorting of linker options to function
4386 Makeutl.Linker_Options_Switches.
4387
4388 * makeutl.ads, makeutl.adb: New files.
4389
4390 * Makefile.in: Add makeutl.o to the object files for gnatmake
4391
4392 * makeusg.adb: Add line for new switch -eL.
4393
4394 * gnatls.adb (Image): New function.
4395 (Output_Unit): If in verbose mode, output the list of restrictions
4396 specified by pragmas Restrictions.
4397
4398 * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
4399 Text_IO.
4400
4401 * a-calend.adb (Split): Shift the date by multiple of 56 years, if
4402 needed, to put it in the range 1970 (included) - 2026 (excluded).
4403 (Time_Of): Do not shift Unix_Min_Year (1970).
4404 Shift the date by multiple of 56 years, if needed, to put it in the
4405 range 1970 (included) - 2026 (excluded).
4406
4407 * adaint.h, adaint.c (__gnat_set_executable): New function.
4408
4409 2004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4410
4411 * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
4412 and pop GC context.
4413 (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
4414 (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
4415 (tree_transform, case N_Procedure_Call_Statement): Build a tree.
4416 (tree_transform, case N_Code_Statement): Likewise.
4417 (gnat_expand_stmt, case LABEL_STMT): Don't look at
4418 LABEL_STMT_FIRST_IN_EH.
4419 (gnat_expand_stmt, case ASM_STMT): New case.
4420
4421 * utils2.c (build_unary_op): Properly set TREE_READONLY of
4422 UNCONSTRAINED_ARRAY_REF.
4423
4424 * utils.c (poplevel): Temporarily push/pop GC context around inline
4425 function expansion.
4426
4427 * decl.c (maybe_variable): Properly set TREE_READONLY of
4428 UNCONSTRAINED_ARRAY_REF.
4429 (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
4430
4431 * ada-tree.def: (ASM_STMT): New.
4432
4433 * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
4434 (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
4435 ASM_STMT_INPUT): New.
4436 (ASM_STMT_CLOBBER): Likewise.
4437
4438 2004-04-19 Thomas Quinot <quinot@act-europe.fr>
4439
4440 * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
4441 general rcheck mechanism to raise Program_Error for E.4(18), instead
4442 of a custom raiser in System.Partition_Interface.
4443 Part of general cleanup work before PolyORB integration.
4444
4445 * snames.ads, snames.adb: Add new runtime library entities and names
4446 for PolyORB DSA.
4447
4448 * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
4449 exp_dist.
4450 (Build_Subprogram_Id): New subprogram provided by exp_dist
4451 Code reorganisation in preparation for PolyORB integration.
4452
4453 * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
4454 exp_dist.
4455 (Build_Subprogram_Id): New subprogram provided by exp_dist
4456
4457 * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
4458 actual parameter types for call to dereference of an
4459 access-to-subprogram type.
4460
4461 * rtsfind.ads: Add new runtime library entities and names for PolyORB
4462 DSA.
4463
4464 * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
4465 instead, which has the same behaviour here since we never pass it a
4466 NULL pointer.
4467
4468 * link.c (run_path_option, Solaris case): Use -Wl, as for other
4469 platforms.
4470
4471 * Makefile.in: adjust object file lists for gnatlink and gnatmake
4472 to account for new dependency upon Interfaces.C.Strings + link.o
4473 For x86 FreeBSD, use 86numaux.
4474
4475 * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
4476 from Mlib.Tgt to Mlib.
4477
4478 * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
4479 target-independent.
4480
4481 * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
4482 target-specific versions of this subprogram, now implemented as a
4483 target-independent function in Mlib.
4484
4485 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
4486 5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
4487 (Linker_Library_Path_Option): Remove target-specific versions of this
4488 subprogram, now implemented as a target-independent function in Mlib.
4489
4490 * atree.adb: (Allocate_Initialize_Node): New subprogram.
4491 Factors out node table slots allocation.
4492 (Fix_Parents): New subprogram.
4493 Encapsulate the pattern of fixing up parent pointers for syntactic
4494 children of a rewritten node.
4495 (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
4496 (Rewrite): Use New_Copy when creating saved copy of original node.
4497 (Replace): Use Copy_Node to copy nodes.
4498
4499 2004-04-19 Javier Miranda <miranda@gnat.com>
4500
4501 * sprint.adb (Sprint_Node_Actual): Give support to the new
4502 Access_To_Subprogram node available in Access_Definition nodes. In
4503 addition, give support to the AI-231 node fields: null-exclusion,
4504 all-present, constant-present.
4505
4506 * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
4507
4508 * sinfo.ads, sinfo.adb:
4509 New field Access_To_Subprogram_Definition in Access_Definition nodes
4510
4511 * sem_ch6.adb (Process_Formals): Move here the code that creates and
4512 decorates internal subtype declaration corresponding to the
4513 null-excluding formal. This code was previously in Set_Actual_Subtypes.
4514 In addition, carry out some code cleanup on this code. In case of
4515 access to protected subprogram call
4516 Replace_Anonymous_Access_To_Protected_Subprogram.
4517 (Set_Actual_Subtypes): Code cleanup.
4518
4519 * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
4520 Find_Type in case of anonymous access renamings. Add warning in case of
4521 null-excluding attribute used in anonymous access renaming.
4522
4523 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
4524 subprogram
4525
4526 * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
4527 subprogram.
4528 (Access_Definition): In case of anonymous access to subprograms call
4529 the corresponding semantic routine to decorate the node.
4530 (Access_Subprogram_Declaration): Addition of some comments indicating
4531 some code that probably should be added here. Detected by comparison
4532 with the access_definition subprogram.
4533 (Analyze_Component_Declaration): In case of access to protected
4534 subprogram call Replace_Anonymous_Access_To_Protected.
4535 (Array_Type_Declaration): In case of access to protected subprogram call
4536 Replace_Anonymous_Access_To_Protected_Subprogram.
4537 (Process_Discriminants): In case of access to protected subprogram call
4538 Replace_Anonymous_Access_To_Protected_Subprogram.
4539
4540 * par.adb (P_Access_Definition): New formal that indicates if the
4541 null-exclusion part was present.
4542 (P_Access_Type_Definition): New formal that indicates if the caller has
4543 already parsed the null-excluding part.
4544
4545 * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
4546 (P_Identifier_Declarations): Code cleanup and give support to renamings
4547 of anonymous access to subprogram types.
4548 (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
4549 (P_Array_Type_Definition): Give support to AI-254.
4550 (P_Component_Items): Give support to AI-254.
4551 (P_Access_Definition): New formal that indicates if the header was
4552 already parsed by the caller.
4553 (P_Access_Type_Definition): New formal that indicates if the caller has
4554 already parsed the null-excluding part.
4555
4556 * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
4557 call to P_Access_Definition.
4558
4559 2004-04-19 Geert Bosch <bosch@gnat.com>
4560
4561 * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
4562 the delicate semantics of floating-point to integer conversion.
4563 (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
4564
4565 * eval_fat.adb (Machine_Mantissa): Moved to spec.
4566 (Machine_Radix): New function.
4567
4568 * eval_fat.ads (Machine_Mantissa): Moved from body for use in
4569 conversion checks.
4570 (Machine_Radix): New function also for use in conversion checks.
4571
4572 2004-04-19 Ed Schonberg <schonberg@gnat.com>
4573
4574 * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
4575
4576 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
4577 to decorate the access-to-protected subprogram and the equivalent type.
4578
4579 * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
4580 to anonymous access to subprogram types.
4581
4582 * exp_ch4.adb (Expand_N_In): Preserve Static flag before
4583 constant-folding, for legality checks in contexts that require an RM
4584 static expression.
4585
4586 * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
4587 temporary but stack checking is not enabled, increment serial number
4588 to so that symbol generation is consistent with and without stack
4589 checking.
4590
4591 * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
4592 independent on whether stack checking is enabled, caller must check
4593 the corresponding flag.
4594
4595 * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
4596 range checks.
4597 (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
4598 parent if it has discriminants.
4599 (Build_Derived_Private_Type): Constructed full view does
4600 not come from source.
4601 (Process_Discriminants): Default discriminants on a tagged type are
4602 legal if this is the internal completion of a private untagged
4603 derivation.
4604
4605 * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
4606 no constraint checks, because it corresponds to an existing object.
4607
4608 * sem_prag.adb (Process_Convention): Pragma applies
4609 only to subprograms in the same declarative part, i.e. the same unit,
4610 not the same scope.
4611
4612 * sem_res.adb (Valid_Conversion): In an instance or inlined body,
4613 ignore type mismatch on a numeric conversion if expression comes from
4614 expansion.
4615
4616 2004-04-19 Sergey Rybin <rybin@act-europe.fr>
4617
4618 * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
4619 Homonym_Number parameter, add processing for Source_Location parameter
4620 corresponding.
4621 (Check_Eliminated): Remove the check for homonym numbers, add the check
4622 for source location traces.
4623
4624 * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
4625 with Arg_Source_Location corresponding to the changes in the format of
4626 the pragma.
4627
4628 * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
4629 Eliminate pragma corresponding to the changes in the format of the
4630 pragma: Homonym_Number is replaced with Source_Location, two ways of
4631 distinguishing homonyms are mutially-exclusive.
4632
4633 2004-04-19 Joel Brobecker <brobecker@gnat.com>
4634
4635 * get_targ.ads (Get_No_Dollar_In_Label): Remove.
4636
4637 * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
4638 No_Dollar_In_Label, no longer necessary, as it is always True.
4639 (Strip_Suffixes): Likewise.
4640
4641 2004-04-19 Gary Dismukes <dismukes@gnat.com>
4642
4643 * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
4644 modulus for compatibility with size clause on targets with 16-bit
4645 Integer.
4646
4647 * layout.adb (Discrimify): In the case of private types, set Vtyp to
4648 full type to fix type mismatches on calls to size functions for
4649 discriminant-dependent array components.
4650
4651 2004-04-19 Jerome Guitton <guitton@act-europe.fr>
4652
4653 * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
4654 lib.
4655
4656 2004-04-19 Pascal Obry <obry@gnat.com>
4657
4658 * mdll-utl.adb (Locate): New version is idempotent.
4659
4660 2004-04-17 Laurent Guerby <laurent@guerby.net>
4661
4662 PR ada/14988 (partial)
4663 * impunit.adb: Fix typo.
4664
4665 2004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
4666
4667 * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
4668 and install-rts-cert targets. Remove all gnatlib and gnattools
4669 targets and all other rts-* targets (moved to libada). Remove (now)
4670 unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
4671 TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
4672
4673 2004-04-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4674
4675 * trans.c (tree_transform): Shortcut returning error_mark_node for
4676 statements in annotate_only_mode.
4677 (tree_transform, case N_Label, case N_Return_Statement,
4678 N_Goto_Statement): Make statement tree instead of generating code.
4679 (tree_transform, case N_Assignment_Statement): No longer check
4680 type_annotate_only.
4681 (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
4682 RETURN_STMT): New.
4683 (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
4684 New fcns.
4685 (gnat_to_gnu): Collect any RTL generated and deal with it.
4686 (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
4687 (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
4688 (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
4689
4690 * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
4691
4692 * ada-tree.def (EXPR_STMT): Fix typo in name.
4693 (BLOCK_STMT, IF_STMT): New nodes.
4694
4695 * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
4696 LABEL_STMT_FIRST_IN_EH): New macros.
4697 (RETURN_STMT_EXPR): Likewise.
4698
4699 * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
4700 IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
4701
4702 2004-04-08 Thomas Quinot <quinot@act-europe.fr>
4703
4704 * atree.ads: Correct documentation on extended nodes.
4705
4706 * link.c: Set run_path_option for FreeBSD.
4707
4708 2004-04-08 Vincent Celier <celier@gnat.com>
4709
4710 * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
4711 one of the ALI file, do not link with DEC lib.
4712
4713 * par.adb Remove the last two characters ("%s" or "%b") when checking
4714 if a language defined unit may be recompiled.
4715
4716 2004-04-08 Ed Schonberg <schonberg@gnat.com>
4717
4718 * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
4719 removal of abstract operation leaves no possible interpretation for
4720 expression.
4721
4722 * sem_eval.adb (Eval_Qualified_Expression): Use
4723 Set_Raises_Constraint_Error on node when needed, so that it does not
4724 get optimized away by subsequent optimizations.
4725
4726 * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
4727 operands even when they are not wrapped in a type conversion.
4728
4729 2004-04-08 Olivier Hainque <hainque@act-europe.fr>
4730
4731 * sem_prag.adb (Set_Exported): Warn about making static as result of
4732 export only when the export is coming from source. This may be not
4733 be true e.g. on VMS where we expand export pragmas for exception codes
4734 together with imported or exported exceptions, and we don't want the
4735 user to be warned about something he didn't write.
4736
4737 2004-04-08 Thomas Quinot <quinot@act-europe.fr>
4738
4739 * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
4740 duplication between normal entities and those declared as renamings.
4741 No functional change.
4742
4743 * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
4744 inline functions returning an unconstrained result.
4745
4746 2004-04-08 Eric Botcazou <ebotcazou@act-europe.fr>
4747
4748 * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
4749 conform to what other front-ends do.
4750
4751 2004-04-08 Doug Rupp <rupp@gnat.com>
4752
4753 * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
4754 libraries.
4755
4756 2004-04-06 Pascal Obry <obry@gnat.com>
4757
4758 * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
4759
4760 * osint.adb (Program_Name): Do not look past a directory separator.
4761
4762 2004-04-06 Thomas Quinot <quinot@act-europe.fr>
4763
4764 * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
4765
4766 * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
4767 requirement for preserving a copy of the original assignment node.
4768
4769 * sinfo.ads: Update comment (Original_Tree -> Original_Node).
4770
4771 2004-04-06 Olivier Hainque <hainque@act-europe.fr>
4772
4773 (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
4774 when supported.
4775
4776 2004-04-06 Ed Schonberg <schonberg@gnat.com>
4777
4778 * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
4779 operator calls in functional notation, and apply
4780 Universal_Interpretation to operands, not to their type.
4781
4782 2004-04-06 Robert Dewar <dewar@gnat.com>
4783
4784 * 5wdirval.adb: Minor reformatting
4785
4786 2004-04-06 Ed Falis <falis@gnat.com>
4787
4788 * gnat_rm.texi: Improve a reference to the GCC manual
4789
4790 2004-04-05 Vincent Celier <celier@gnat.com>
4791
4792 * adaint.h, adaint.c: Add function __gnat_named_file_length
4793
4794 * impunit.adb: Add Ada.Directories to the list
4795
4796 * Makefile.in: Add VMS and Windows versions of
4797 Ada.Directories.Validity package body.
4798
4799 * Makefile.rtl: Add a-direct and a-dirval
4800
4801 * mlib-tgt.ads: Minor comment update.
4802
4803 * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
4804 a-direct.ads, a-direct.adb: New files.
4805
4806 2004-04-05 Vincent Celier <celier@gnat.com>
4807
4808 PR ada/13620
4809 * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
4810 just to the compiler.
4811
4812 2004-04-05 Robert Dewar <dewar@gnat.com>
4813
4814 * a-except.adb (Exception_Name_Simple): Make sure lower bound of
4815 returned string is 1.
4816
4817 * ali-util.adb: Use proper specific form for Warnings (Off, entity)
4818
4819 * eval_fat.ads: Minor reformatting
4820
4821 * g-curexc.ads: Document that lower bound of returned string values
4822 is always one.
4823
4824 * gnatlink.adb: Add ??? comment for previous change
4825 (need to document why this is VMS specific)
4826
4827 * s-stoele.ads: Minor reformatting
4828
4829 * tbuild.ads: Minor reformatting throughout (new function specs)
4830
4831 * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
4832 after WITH.
4833
4834 * scng.adb: Minor reformatting
4835
4836 2004-04-05 Geert Bosch <bosch@gnat.com>
4837
4838 * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
4839 (Leading_Part): Still perform truncation to machine number if the
4840 specified radix_digits is greater or equal to machine_mantissa.
4841
4842 2004-04-05 Javier Miranda <miranda@gnat.com>
4843
4844 * par-ch3.adb: Complete documentation of previous change
4845 Correct wrong syntax documentation of the OBJECT_DECLARATION rule
4846 (aliased must appear before constant).
4847
4848 * par-ch4.adb: Complete documentation of previous change.
4849
4850 * par-ch6.adb: Complete documentation of previous change.
4851
4852 * sinfo.ads: Fix typo in commment.
4853
4854 2004-04-05 Ed Schonberg <schonberg@gnat.com>
4855
4856 * sem_ch3.adb (Inherit_Components): If derived type is private and has
4857 stored discriminants, use its discriminants to constrain parent type,
4858 as is done for non-private derived record types.
4859
4860 * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
4861 Ada 2005 AI-310: an abstract non-dispatching operation is not a
4862 candidate interpretation in an overloaded call.
4863
4864 * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
4865 expression is Null and target type is not an access type (e.g. a
4866 non-private address type).
4867
4868 2004-04-05 Thomas Quinot <quinot@act-europe.fr>
4869
4870 * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
4871 statement whose right-hand side is an inlined call, save a copy of the
4872 original assignment subtree to preserve enough consistency for
4873 Analyze_Assignment to proceed.
4874
4875 * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
4876 complete assignment subtree which is now unnecessary, as the expansion
4877 of inlined call has been improved to preserve a consistent assignment
4878 tree. Note_Possible_Modification must be called only
4879 after checks have been applied, or else unnecessary checks will
4880 be generated.
4881
4882 * sem_util.adb (Note_Possible_Modification): Reorganise the handling
4883 of explicit dereferences that do not Come_From_Source:
4884 - be selective on cases where we must go back to the dereferenced
4885 pointer (an assignment to an implicit dereference must not be
4886 recorded as modifying the pointer);
4887 - do not rely on Original_Node being present (Analyze_Assignment
4888 calls Note_Possible_Modification on a copied tree).
4889
4890 * sem_warn.adb (Check_References): When an unset reference to a pointer
4891 that is never assigned is encountered, prefer '<pointer> may be null'
4892 warning over '<pointer> is never assigned a value'.
4893
4894 2004-04-05 Ramon Fernandez <fernandez@gnat.com>
4895
4896 * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
4897 the ABI.
4898
4899 2004-04-05 Olivier Hainque <hainque@act-europe.fr>
4900
4901 * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
4902 libexc. We currently don't reference anything in this library and
4903 linking it in triggers linker warnings we don't want to see.
4904
4905 * init.c: Update comments.
4906
4907 2004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4908
4909 * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
4910 * utils.c (create_field_decl): Likewise.
4911 * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
4912
4913 2004-04-02 Arnaud Charlet <charlet@act-europe.fr>
4914
4915 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
4916 Replace ifinfo by ifnottex, to make makeinfo --html happy again.
4917 Add info directory entry and category.
4918
4919 2004-04-02 Jan Hubicka <jh@suse.cz>
4920
4921 * utils.c: Include function.h
4922 (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
4923
4924 2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
4925
4926 PR ada/14150
4927 * Make-lang.in: Clean up generation of documentation
4928
4929 * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
4930
4931 * xgnatug.adb: Removed, replaced by xgnatugn.adb
4932
4933 * xgnatugn.adb: Replaces xgnatug.adb
4934
4935 * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
4936
4937 * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
4938
4939 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
4940 gnat_ug_wnt.texi: Removed.
4941
4942 2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
4943
4944 * utils2.c: Update copyright notice.
4945
4946 2004-04-01 Robert Dewar <dewar@gnat.com>
4947
4948 * checks.adb: Minor reformatting throughout
4949 Note that prev checkin added RM reference to alignment warning
4950
4951 2004-04-01 Ed Schonberg <schonberg@gnat.com>
4952
4953 * exp_aggr.adb (Get_Component_Val): Treat a string literal as
4954 non-static when building aggregate for bit-packed array.
4955
4956 * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
4957 function call that is itself the actual in a procedure call, build
4958 temporary for it.
4959
4960 * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
4961 a string literal, create a temporary for it, constant folding only
4962 handles scalars here.
4963
4964 2004-04-01 Vincent Celier <celier@gnat.com>
4965
4966 * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
4967 Error_Msg_SP): New empty procedures to instantiate the Scanner.
4968 (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
4969 tokens.
4970 (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
4971 (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
4972 and get the checksum.
4973
4974 * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
4975 already in the Q.
4976 Increase the Marking_Label at the end of the Multiple_Main_Loop,
4977 instead of at the beginning.
4978
4979 * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
4980 directly.
4981 (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
4982 on VMS.
4983
4984 * osint.ads (Multi_Unit_Index_Character): New Character global variable
4985
4986 * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
4987 not '~' directly.
4988
4989 * par.adb: Remove test on file name to detect language defined units.
4990 Add test on unit name, after parsing, to detect language defined units
4991 that are not compiled with -gnatg (except System.RPC and its children)
4992
4993 * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
4994 following units without style checking.
4995
4996 * switch-c.adb: Change -gnatC to -gnateI
4997
4998 * usage.adb: Document new switch -gnateInnn
4999
5000 * scng.adb (Accumulate_Token_Checksum): New procedure
5001 (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
5002 word or literal number.
5003 (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
5004 numbers.
5005
5006 2004-04-01 Thomas Quinot <quinot@act-europe.fr>
5007
5008 * a-tasatt.adb,
5009 g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
5010 switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
5011 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
5012 5vtpopde.adb: Add missing 'constant' keywords.
5013
5014 2004-04-01 Javier Miranda <miranda@gnat.com>
5015
5016 * par-ch4.adb: (P_Allocator): Code cleanup
5017
5018 * sem_ch3.adb (Access_Definition): Properly set the null-excluding
5019 attribute.
5020
5021 * sinfo.ads: Complete documentation of previous change
5022
5023 2004-04-01 Pascal Obry <obry@gnat.com>
5024
5025 * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
5026 only on VMS. This special handling was done because an old GNU/ld bug
5027 on Windows which has been fixed.
5028
5029 2004-04-01 GNAT Script <nobody@gnat.com>
5030
5031 * Make-lang.in: Makefile automatically updated
5032
5033 2004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5034
5035 * decl.c (gnat_to_gnu_entity, make_type_from_size):
5036 Use TYPE_UNSIGNED, not TREE_UNSIGNED.
5037 * trans.c (tree_transform, convert_with_check): Likewise.
5038 * utils.c (gnat_signed_or_unsigned_type): Likewise.
5039 (build_vms_descriptor, unchecked_convert): Likewise.
5040 * utils2.c (nonbinary_modular_operation): Likewise.
5041
5042 2004-03-29 Javier Miranda <miranda@gnat.com>
5043
5044 * checks.adb (Null_Exclusion_Static_Checks): New subprogram
5045 (Install_Null_Excluding_Check): Local subprogram that determines whether
5046 an access node requires a runtime access check and if so inserts the
5047 appropriate run-time check.
5048 (Apply_Access_Check): Call Install_Null_Excluding check if required
5049 (Apply_Constraint_Check): Call Install_Null_Excluding check if required
5050
5051 * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
5052
5053 * einfo.ads: Fix typo in comment
5054
5055 * exp_ch3.adb (Build_Assignment): Generate conversion to the
5056 null-excluding type to force the corresponding run-time check.
5057 (Expand_N_Object_Declaration): Generate conversion to the null-excluding
5058 type to force the corresponding run-time check.
5059
5060 * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
5061 the null-excluding type to force the corresponding run-time check.
5062
5063 * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
5064 case of access types unless they have the null-excluding attribute.
5065
5066 * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
5067 part.
5068
5069 * exp_util.ads: Fix typo in comment
5070
5071 * par.adb (P_Null_Exclusion): New subprogram
5072 (P_Subtype_Indication): New formal that indicates if the null-excluding
5073 part has been scanned-out and it was present
5074
5075 * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
5076
5077 * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
5078 (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
5079 type to force the corresponding run-time check
5080 (Resolve_Aggregate): Propagate the null-excluding attribute to the array
5081 components
5082 (Resolve_Array_Aggregate): Carry out some static checks
5083 (Resolve_Record_Aggregate.Get_Value): Carry out some static check
5084
5085 * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
5086 attribute must be set only if specified by means of the null-excluding
5087 part. In addition, we must also propagate the access-constant attribute
5088 if present.
5089 (Access_Subprogram_Declaration, Access_Type_Declaration,
5090 Analyze_Component_Declaration, Analyze_Object_Declaration,
5091 Array_Type_Declaration, Process_Discriminants,
5092 Analyze_Subtype_Declaration): Propagate the null-excluding attribute
5093 and carry out some static checks.
5094 (Build_Derived_Access_Type): Set the null-excluding attribute
5095 (Derived_Type_Declaration, Process_Subtype): Carry out some static
5096 checks.
5097
5098 * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
5099
5100 * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
5101
5102 * sem_ch6.adb (Process_Formals): Carry out some static checks.
5103 (Set_Actual_Subtypes): Generate null-excluding subtype if the
5104 null-excluding part was present; it is not required to be done here in
5105 case of anonymous access types.
5106 (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
5107 value.
5108
5109 * sem_res.adb (Resolve_Actuals): Carry out some static check
5110 (Resolve_Null): Allow null in anonymous access
5111
5112 * sinfo.adb: New subprogram Null_Exclusion_Present
5113 All_Present and Constant_Present available on access_definition nodes
5114
5115 * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
5116 object_declaration, derived_type_definition, component_definition,
5117 discriminant_specification, access_to_object_definition,
5118 access_function_definition, allocator, access_procedure_definition,
5119 access_definition, parameter_specification, All_Present and
5120 Constant_Present flags available on access_definition nodes.
5121
5122 2004-03-29 Robert Dewar <dewar@gnat.com>
5123
5124 * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
5125 gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
5126 opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
5127 par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
5128 sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
5129 sem_prag.adb: Updates to handle multiple units/file
5130
5131 * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
5132
5133 * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
5134 sem_util.adb: Minor reformatting
5135
5136 * sem_ch12.adb: Add comment for previous change
5137
5138 2004-03-29 Laurent Pautet <pautet@act-europe.fr>
5139
5140 * osint.adb (Executable_Prefix): Set Exec_Name to the current
5141 executable name when not initialized. Otherwise, use its current value.
5142
5143 * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
5144 initialize it to another executable name than the current one. This
5145 allows to configure paths for an executable name (gnatmake) different
5146 from the current one (gnatdist).
5147
5148 2004-03-29 Ed Schonberg <schonberg@gnat.com>
5149
5150 * exp_ch6.adb (Expand_Call): A call to a function declared in the
5151 current unit cannot be inlined if it appears in the body of a withed
5152 unit, to avoid order of elaboration problems in gigi.
5153
5154 * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
5155 information for protected (wrapper) operation as well, to simplify gdb
5156 use.
5157
5158 * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
5159 protected body, indicate that the entity for the generated spec comes
5160 from source, to ensure that references are properly generated for it.
5161 (Build_Body_To_Inline): Do not inline a function that returns a
5162 controlled type.
5163
5164 * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
5165 apply convention to homonyms that are declared explicitly.
5166
5167 * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
5168 that renames an equality operator and the operands are overloaded,
5169 resolve them with the declared formal types, before rewriting as an
5170 operator.
5171
5172 2004-03-29 GNAT Script <nobody@gnat.com>
5173
5174 * Make-lang.in: Makefile automatically updated
5175
5176 2004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr>
5177
5178 * memtrack.adb: Log realloc calls, which are treated as free followed
5179 by alloc.
5180
5181 2004-03-25 Vincent Celier <celier@gnat.com>
5182
5183 * prj-makr.adb (Process_Directories): Detect when a file contains
5184 several units. Do not include such files in the config pragmas or
5185 in the naming scheme.
5186
5187 * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
5188 Resolve links only when not in Trusted_Mode.
5189 (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
5190 Do not resolve links for the display names.
5191
5192 * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
5193 resolve links when computing the display names.
5194
5195 2004-03-25 Thomas Quinot <quinot@act-europe.fr>
5196
5197 * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
5198 attribute reference does not denote a subtype, it can be any
5199 expression that has a classwide type, potentially after an implicit
5200 dereference. In particular, the prefix can be a view conversion for
5201 a classwide type (for which Is_Object_Reference holds), but it can
5202 also be a value conversion for an access-to-classwide type. In the
5203 latter case, there is an implicit dereference, and the original node
5204 for the prefix does not verify Is_Object_Reference.
5205
5206 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
5207 conversion of a discriminant-dependent component of a mutable object
5208 is one itself.
5209
5210 2004-03-25 Ed Schonberg <schonberg@gnat.com>
5211
5212 * freeze.adb (Freeze_Entity): When an inherited subprogram is
5213 inherited, has convention C, and has unconstrained array parameters,
5214 place the corresponding warning on the derived type declaration rather
5215 than the original subprogram.
5216
5217 * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
5218 indication on renaming declaration, if formal has a box and actual
5219 is absent.
5220
5221 * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
5222 determine whether to generate an implicit or explicit reference to
5223 the renamed entity.
5224
5225 * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
5226 subprogram renaming comes from a defaulted formal subprogram in an
5227 instance.
5228
5229 2004-03-25 Gary Dismukes <dismukes@gnat.com>
5230
5231 * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
5232 value expressions to ensure that calls within a component definition
5233 will be checked (since those are evaluated during the record type's
5234 elaboration).
5235
5236 2004-03-25 Arnaud Charlet <charlet@act-europe.fr>
5237
5238 * s-tpobop.adb: Code clean up:
5239 (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
5240 code.
5241 (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
5242
5243 2004-03-25 Jose Ruiz <ruiz@act-europe.fr>
5244
5245 * Makefile.in: Clean up in the ravenscar run time.
5246
5247 2004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5248
5249 * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
5250 of No_Strict_Aliasing to build_pointer_type_for_mode.
5251 * utils.c (update_pointer_to): Walk pointer and ref chains.
5252
5253 2004-03-22 Cyrille Comar <comar@act-europe.fr>
5254
5255 * ali.ads: Fix Comment about Dynamic_Elab.
5256
5257 * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
5258 Has_RACW, Is_Generic, etc.)
5259 (Output_Object, Gnatls): Take into account ALI files not attached to
5260 an object.
5261
5262 2004-03-22 Vincent Celier <celier@gnat.com>
5263
5264 * gprep.adb: Change all String_Access to Name_Id
5265 (Is_ASCII_Letter): new function
5266 (Double_File_Name_Buffer): New procedure
5267 (Preprocess_Infile_Name): New procedure
5268 (Process_Files): New procedure
5269 (Gnatprep): Check if output and input are existing directories.
5270 Call Process_Files to do the real job.
5271
5272 2004-03-22 Robert Dewar <dewar@gnat.com>
5273
5274 * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
5275 s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
5276
5277 2004-03-22 Sergey Rybin <rybin@act-europe.fr>
5278
5279 * scn.adb (Contains): Add check for EOF, is needed for a degenerated
5280 case when the source contains only comments.
5281
5282 2004-03-22 Ed Schonberg <schonberg@gnat.com>
5283
5284 * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
5285 declaration for a child subprogram body that acts as a spec, indicate
5286 that the entity in the declaration needs debugging information.
5287
5288 * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
5289 full view if the subtype is created for a constrained record component;
5290 gigi has enough information to construct the record, and there is no
5291 place in the tree for the declaration.
5292
5293 * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
5294 serial number for the dummy body that is built for analysis, to avoid
5295 inconsistencies in the generation of internal names when compiling
5296 with -gnatN.
5297
5298 2004-03-22 Thomas Quinot <quinot@act-europe.fr>
5299
5300 * sem_util.adb (Is_Object_Reference): A view conversion denotes an
5301 object.
5302
5303 2004-03-22 GNAT Script <nobody@gnat.com>
5304
5305 * Make-lang.in: Makefile automatically updated
5306
5307 2004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5308
5309 * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
5310 * trans.c (tree_transform, emit_index_check): Likewise.
5311 * utils.c (build_template): Likewise.
5312 (max_size, convert): Remove handling of WITH_RECORD_EXPR.
5313 (maybe_unconstrained_array, unchecked_convert): Likewise.
5314 * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
5315 (build_unary_op): Likewise.
5316 (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
5317 (fill_vms_descriptor): Likewise.
5318 (build_call_alloc_dealloc): Likewise.
5319 ALIGN is unsigned.
5320 * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
5321
5322 2004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
5323
5324 PR other/14630
5325 * gnat_ug.texi: Add info directory category and entry.
5326 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
5327 gnat_ug_wnt.texi: Regenerate.
5328
5329 2004-03-19 Arnaud Charlet <charlet@act-europe.fr>
5330
5331 * ada-tree.h: Update copyright notice.
5332 Minor reformatting.
5333
5334 2004-03-19 Olivier Hainque <hainque@act-europe.fr>
5335
5336 * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
5337 as regular exception objects and not as mere integers representing the
5338 condition code. The latter approach required some dynamics to mask off
5339 severity bits, which did not fit well into the GCC table based model.
5340 (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
5341 exception data objects. We don't it and it would conflict with the other
5342 external symbol we have to generate for such exceptions.
5343
5344 * trans.c (tree_transform, case N_Exception_Handler): Remove part of
5345 the special code for VMS exceptions, since these are now represented
5346 as regular exceptions objects.
5347
5348 2004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5349
5350 * decl.c (debug_no_type_hash): Remove.
5351 (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
5352 * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
5353
5354 2004-03-19 Laurent Guerby <laurent@guerby.net>
5355
5356 * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
5357 aggregate, allows bootstrap from 3.3 on powerpc-darwin.
5358
5359 2004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5360
5361 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
5362 (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
5363 (TYPE_RM_SIZE_INT): Directly use type.values.
5364 (TREE_LOOP_ID): Clean up check.
5365 * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
5366 TYPE_VALUES, not TYPE_FIELDS.
5367 * trans.c (convert_with_check): Delay access of bounds of basetype
5368 until sure is numeric.
5369
5370 2004-03-18 Arnaud Charlet <charlet@act-europe.fr>
5371
5372 * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
5373
5374 Code clean up:
5375 * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
5376 5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
5377 Specific.Set instead of direct call to e.g pthread_setspecific.
5378
5379 2004-03-18 Thomas Quinot <quinot@act-europe.fr>
5380
5381 * adaint.c: Update comments.
5382
5383 * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
5384 GNATLIB_SHARED for FreeBSD.
5385
5386 2004-03-18 Jose Ruiz <ruiz@act-europe.fr>
5387
5388 * init.c [VxWorks]: Do not fix the stack size for the environment task.
5389 When needed (stack checking) the stack size is retrieved
5390 from the VxWorks kernel.
5391
5392 * Makefile.in: Flag -nostdinc is required when building the run time
5393 for avoiding looking for files in the base compiler.
5394 Add the VxWorks specific version of the package body for
5395 System.Stack_checking.Operations (5zstchop.adb).
5396
5397 * Make-lang.in: Add the object file for
5398 System.Stack_Checking.Operations.
5399
5400 * Makefile.rtl: Add object file for the package
5401 System.Stack_Checking.Operations.
5402
5403 * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
5404
5405 * s-stache.ads, s-stache.adb: Move the operations related to stack
5406 checking from this package to package System.Stack_Checking.Operations.
5407 This way, stack checking operations are only linked in the final
5408 executable when using the -fstack-check flag.
5409
5410 2004-03-18 Doug Rupp <rupp@gnat.com>
5411
5412 * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
5413 Reorganize ifeq's.
5414
5415 * 5qsystem.ads, 5xcrtl.ads: New files.
5416
5417 2004-03-18 Vincent Celier <celier@gnat.com>
5418
5419 * prj.adb (Reset): Reset hash table Files_Htable
5420
5421 * prj-env.adb (Source_Paths, Object_Paths): New tables.
5422 (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
5423 the procedures Add_To_Path_File.
5424 (Set_Ada_Paths): Accumulate source and object dirs in the tables,
5425 making sure that each directory is present only once and, for object
5426 dirs, when a directory already present is added, the duplicate is
5427 removed and the directory is always put as the last in the table.
5428 Write the path files at the end of these accumulations.
5429
5430 * prj-nmsc.adb (Record_Source): Add source file name in hash table
5431 Files_Htable for all sources.
5432
5433 * prj-proc.adb (Process): Remove restrictions between not directly
5434 related extending projects.
5435
5436 2004-03-18 Emmanuel Briot <briot@act-europe.fr>
5437
5438 * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
5439 (Find_Sources): Minor speed optimization.
5440
5441 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
5442 parameter Trusted_Mode.
5443
5444 2004-03-18 Sergey Rybin <rybin@act-europe.fr>
5445
5446 * scn.adb (Determine_License): Take into account a degenerated case
5447 when the source contains only comments.
5448
5449 2004-03-18 Ed Schonberg <schonberg@gnat.com>
5450
5451 * sem_warn.adb (Check_References): For a warning on a selected
5452 component that does not come from source, locate an uninitialized
5453 component of the record type to produce a more precise error message.
5454
5455 2004-03-15 Jerome Guitton <guitton@act-europe.fr>
5456
5457 * 3zsoccon.ads: Fix multicast options.
5458
5459 * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
5460 in the spec.
5461
5462 2004-03-15 Robert Dewar <dewar@gnat.com>
5463
5464 * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
5465 pragma used for a private type.
5466
5467 * lib-xref.adb (Generate_Reference): Do not generate warning if
5468 reference is in a different unit from the pragma Unreferenced.
5469
5470 * 5vtpopde.adb: Minor reformatting
5471 Fix casing of To_Task_ID
5472
5473 * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
5474 flag if we have an unchecked conversion to an access type in the same
5475 unit.
5476
5477 2004-03-15 Geert Bosch <bosch@gnat.com>
5478
5479 * a-ngcoty.adb (Modulus): In alternate formula for large real or
5480 imaginary parts, use Double precision throughout.
5481
5482 * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
5483 we want to be able to compile run-time with -gnata for testing, but
5484 this may also be instantiated in user code that is compiled with -gnata.
5485
5486 2004-03-15 Olivier Hainque <hainque@act-europe.fr>
5487
5488 * s-stalib.ads (Exception_Code): New type, to represent Import/Export
5489 codes. Having a separate type for this is useful to enforce consistency
5490 throughout the various run-time units.
5491 (Exception_Data): Use Exception_Code for Import_Code.
5492
5493 * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
5494 Natural and Integer in various places.
5495 (Register_VMS_Exception): Use Base_Code_In to compute the exception code
5496 with the severity bits masked off.
5497 (Register_VMS_Exception): Handle the additional exception data pointer
5498 argument.
5499
5500 * raise.c (_GNAT_Exception structure): Remove the handled_by_others
5501 component, now reflected by an exported accessor.
5502 (is_handled_by): New routine to compute whether the propagated
5503 occurrence matches some handler choice specification. Extracted out of
5504 get_action_description_for, and expanded to take care of the VMS
5505 specifities.
5506 (get_action_description_for): Use is_handled_by instead of an explicit
5507 complex condition to decide if the current choice at hand catches the
5508 propagated occurrence.
5509
5510 * raise.h (Exception_Code): New type for C.
5511
5512 * rtsfind.ads (RE_Id, RE_Unit_Table): Add
5513 System.Standard_Library.Exception_Code, to allow references from the
5514 pragma import/export expander.
5515
5516 * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
5517 New accessors to allow easy access to GNAT exception data
5518 characteristics.
5519 (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
5520 redundant Handled_By_Others component, helper for the personality
5521 routine which will now be able to call the appropriate exception data
5522 accessor instead.
5523
5524 * cstand.adb (Create_Standard): Adjust the type of the Import_Code
5525 component of Standard_Exception_Type to be the closest possible to
5526 Exception_Code in System.Standard_Library, that we cannot get at this
5527 point. Expand a ??? comment to notify that this type node should
5528 probably be rewritten later on.
5529
5530 * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
5531 registration call to include a pointer to the exception object in the
5532 arguments.
5533
5534 * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
5535 instead of int and explicit bitmasks.
5536
5537 2004-03-15 Vincent Celier <celier@gnat.com>
5538
5539 * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
5540 equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
5541
5542 * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
5543 longer needed now that it is in the spec of
5544 System.Tasking.Task_Attributes.
5545
5546 * adaint.h, adaint.c: (__gnat_create_output_file): New function
5547
5548 * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
5549
5550 * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
5551
5552 * make.adb (Gnatmake): Do not check the executable suffix; it is being
5553 taken care of in Scan_Make_Arg.
5554 (Scan_Make_Arg): Add the executable suffix only if the argument
5555 following -o, in canonical case, does not end with the executable
5556 suffix. When in verbose mode and executable file name does not end
5557 with executable suffix, output the executable name, in canonical case.
5558
5559 * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
5560 to avoid warnings when instantiating Ada.Task_Attributes.
5561 Minor reformating.
5562
5563 * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
5564 in the correct order.
5565
5566 * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
5567 redirect standard output and error to a file for the invocation of the
5568 compiler, then read the file.
5569
5570 * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
5571 directory, instead of the Value.
5572 (Find_Source_Dirs): Remove useless code & comments.
5573
5574 2004-03-15 Ed Schonberg <schonberg@gnat.com>
5575
5576 * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
5577 tagged type is inherited, and the parent operation is not frozen yet,
5578 force generation of a freeze node for the inherited operation, so the
5579 corresponding dispatch entry is properly initialized.
5580 (Make_Predefined_Primitive_Specs): Check that return type is Boolean
5581 when looking for user-defined equality operation.
5582
5583 * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
5584 boolean when locating primitive equality of tagged component.
5585
5586 * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
5587 bit-aligned field and the right-hand side a string literal, introduce
5588 a temporary before expanding assignment into a loop.
5589
5590 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
5591 priority in full, to ensure that any expanded subepxressions of it are
5592 elaborated in the scope of the init_proc.
5593
5594 * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
5595 after object declaration, skipping over code that may have been
5596 generated for validity checks.
5597
5598 * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
5599 discriminants, ignore the known discriminants of its full view, if
5600 any, to check legality.
5601
5602 * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
5603 component if type has unknown discriminants.
5604 (Analyze_Private_Extension_Declaration): Discriminant constraint is
5605 null if type has unknown discriminants.
5606
5607 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
5608 for end label when present.
5609
5610 * s-fileio.adb (Open): When called with a C_Stream, use given name for
5611 temporary file, rather than an empty string.
5612
5613 2004-03-15 Ed Falis <falis@gnat.com>
5614
5615 * s-thread.adb: Removed, no longer used.
5616
5617 2004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5618
5619 * decl.c (target.h): Now include.
5620 (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
5621 in new build_pointer_from_mode calls for non-fat/non-thin pointer.
5622 (validate_size): For POINTER_TYPE, get smallest size permitted on
5623 machine.
5624
5625 * fe.h: Sort Einfo decls and add Set_Mechanism.
5626
5627 * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
5628 (ada/decl.o): Depends on target.h.
5629
5630 * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
5631 FUNCTION_BOUNDARY; always use TYPE_ALIGN.
5632
5633 2004-03-15 Thomas Quinot <quinot@act-europe.fr>
5634
5635 * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
5636
5637 * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
5638 Insert_Dereference_Action when rewriting an implicit dereference into
5639 an explicit one, this will be taken care of during expansion of the
5640 explicit dereference.
5641 (Expand_N_Slice): Same. Always do the rewriting, even for the case
5642 of non-packed slices, since the dereference action generated by
5643 expansion of the explicit dereference is needed in any case.
5644 (Expand_N_Selected_Component): When rewriting an implicit dereference,
5645 analyze and resolve the rewritten explicit dereference so it is seen
5646 by the expander.
5647 (Insert_Dereference_Action): This procedure is now called only for the
5648 expansion of an N_Explcit_Dereference_Node. Do insert a check even for
5649 dereferences that do not come from source (including explicit
5650 dereferences resulting from rewriting implicit ones), but do not
5651 recursively insert a check for the dereference nodes contained within
5652 the check.
5653 (Insert_Dereference_Action): Clarify and correct comment.
5654
5655 2004-03-08 Paolo Bonzini <bonzini@gnu.org>
5656
5657 PR ada/14131
5658 Move language detection to the top level.
5659 * config-lang.in: Build by default.
5660
5661 2004-03-05 Robert Dewar <dewar@gnat.com>
5662
5663 * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
5664
5665 * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
5666 i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
5667 5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
5668 5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
5669 unchecked conversion to spec to avoid warnings.
5670
5671 * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
5672 to Task_ID
5673
5674 * 7stpopsp.adb: Correct casing in To_Task_ID call
5675
5676 * a-strsea.ads, a-strsea.adb: Minor reformatting
5677
5678 * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
5679
5680 * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
5681 Adjust Max_Msg_Length to be clearly large enough.
5682
5683 * fe.h: Define In_Same_Source_Unit
5684
5685 * osint.adb: Add pragma Warnings Off to suppress warnings
5686 * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
5687 aliasing warnings.
5688
5689 * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
5690
5691 * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
5692
5693 * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
5694
5695 * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
5696
5697 * sem_prag.adb: Implement pragma No_Strict_Aliasing.
5698
5699 * sinfo.ads: Remove obsolete comment on validate unchecked conversion
5700 node. We now do generate them for gcc back end.
5701
5702 * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
5703 warning.
5704
5705 * sinput-c.adb: Fix bad name in header.
5706 Add pragma Warnings Off to suppress aliasing warning.
5707
5708 * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
5709
5710 * snames.h, snames.ads, snames.adb: Add entry for pragma
5711 No_Strict_Aliasing.
5712
5713 2004-03-05 Vincent Celier <celier@gnat.com>
5714
5715 * prj-com.ads: Add hash table Files_Htable to check when a file name
5716 is already a source of another project.
5717
5718 * prj-nmsc.adb (Record_Source): Before recording a new source, check
5719 if its file name is not already a source of another project. Report an
5720 error if it is.
5721
5722 * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
5723 source file name, call gnatpp with all the sources of the main project.
5724
5725 * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
5726 of file names.
5727
5728 * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
5729 NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
5730 /RUNTIME_SYSTEM=, converted to --RTS=
5731 /NOTABS, converted to -notabs
5732
5733 2004-03-05 Pascal Obry <obry@gnat.com>
5734
5735 * make.adb: Minor reformatting.
5736
5737 2004-03-05 Ed Schonberg <schonberg@gnat.com>
5738
5739 Part of implemention of AI-262.
5740 * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
5741
5742 * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
5743 procedure.
5744
5745 * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
5746 when component type is a partially constrained class-wide subtype.
5747 (Constrain_Discriminated_Type): If parent type has unknown
5748 discriminants, a constraint is illegal, even if full view has
5749 discriminants.
5750 (Build_Derived_Record_Type): Inherit discriminants when deriving a type
5751 with unknown discriminants whose full view is a discriminated record.
5752
5753 * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
5754 flag, to handle properly derivations of tagged types with unknown
5755 discriminants.
5756 (Analyze_Package_Spec, Analyze_Package_Body): Install
5757 Private_With_Clauses before analyzing private part or body.
5758
5759 * einfo.ads: Indicate that both Has_Unknown_Discriminants and
5760 Has_Discriminants can be true for a given type (documentation).
5761
5762 2004-03-05 Arnaud Charlet <charlet@act-europe.fr>
5763
5764 * s-restri.ads: Fix license (GPL->GMGPL).
5765
5766 * s-tassta.adb: Minor reformatting.
5767
5768 * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
5769 by calls to Exit_One_ATC_Level, since additional clean up is performed
5770 by this function.
5771
5772 * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
5773 by calls to Exit_One_ATC_Level, since additional clean up is performed
5774 by this function.
5775
5776 2004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5777
5778 * trans.c: Reflect GCC changes to fix bootstrap problem.
5779 Add warning for suspicious aliasing unchecked conversion.
5780
5781 2004-03-05 GNAT Script <nobody@gnat.com>
5782
5783 * Make-lang.in: Makefile automatically updated
5784
5785 2004-03-02 Emmanuel Briot <briot@act-europe.fr>
5786
5787 * ali.adb (Read_Instantiation_Instance): Do not modify the
5788 current_file_num when reading information about instantiations, since
5789 this corrupts files in later references.
5790
5791 2004-03-02 Vincent Celier <celier@gnat.com>
5792
5793 * bcheck.adb (Check_Consistency): Get the full path of an ALI file
5794 before checking if it is read-only.
5795
5796 * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
5797 of SRC_DIRS and eliminate duplicates.
5798
5799 * gprcmd.adb: Replace command "path" with command "path_sep" to return
5800 the path separator.
5801 (Usage): Document path_sep
5802
5803 * Makefile.generic: For Ada and GNU C++ cases, link directly with the
5804 C++ compiler. No need for a script.
5805 Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
5806 Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
5807 subst.
5808
5809 * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
5810 where there are Ada sources.
5811 (Set_Ada_Paths): Only add to the include path the source dirs of project
5812 with Ada sources.
5813 (Add_To_Path): Add the Display_Values of the directories, not their
5814 Values.
5815
5816 * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
5817 data.
5818
5819 * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
5820 is not No_Name.
5821 (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
5822 Value is canonicalized.
5823 (Language_Independent_Check): Do not copy Value to Display_Value when
5824 canonicalizing Value.
5825
5826 * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
5827 path to find limited with cycles.
5828 (Parse_Single_Project): Use canonical cased path to find the end of a
5829 with cycle.
5830
5831 2004-03-02 Ed Schonberg <schonberg@gnat.com>
5832
5833 * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
5834 and not a child unit.
5835
5836 * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
5837 appear in a with_clause.
5838
5839 * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
5840 only happen in type_annotate mode, do not try to elaborate it.
5841
5842 * exp_util.adb (Force_Evaluation): If expression is a selected
5843 component on the left of an assignment, use a renaming rather than a
5844 temporary to remove side effects.
5845
5846 * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
5847 inlined instance body, which is analyzed before the end of the
5848 enclosing scope.
5849
5850 2004-03-02 Robert Dewar <dewar@gnat.com>
5851
5852 * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
5853 sem_ch4.adb: Use new feature for substitution of keywords in VMS
5854
5855 * errout.ads, errout.adb: Implement new circuit for substitution of
5856 keywords in VMS.
5857
5858 * sem_case.adb (Analyze_Choices): Place message properly when case is
5859 a subtype reference rather than an explicit range.
5860
5861 * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
5862
5863 2004-03-02 Doug Rupp <rupp@gnat.com>
5864
5865 * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
5866
5867 2004-03-02 Thomas Quinot <quinot@act-europe.fr>
5868
5869 * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
5870
5871 2004-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5872
5873 * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
5874 BLKmode bitfield.
5875
5876 2004-02-25 Robert Dewar <dewar@gnat.com>
5877
5878 * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
5879 55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
5880 5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
5881 5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
5882 5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
5883 5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
5884 the defining instance of the type to avoid aliasing problems.
5885 Fix copyright header. Fix bad comments in package header.
5886
5887 * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
5888
5889 2004-02-25 Ed Schonberg <schonberg@gnat.com>
5890
5891 * exp_ch2.adb (Param_Entity): Handle properly formals that have been
5892 rewritten as references when aliased through an address clause.
5893
5894 * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
5895 whether call can be interpreted as an indirect call to the result of a
5896 parameterless function call returning an access subprogram.
5897
5898 2004-02-25 Arnaud Charlet <charlet@act-europe.fr>
5899
5900 Code clean up:
5901 * exp_ch7.adb (Make_Clean): Remove generation of calls to
5902 Unlock[_Entries], since this is now done by Service_Entries directly.
5903
5904 * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
5905
5906 * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
5907 Requeue_Call for better code readability. Change spec and update calls:
5908 PO_Service_Entries now unlock the PO on exit.
5909 (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
5910 PO_Service_Entries.
5911
5912 * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
5913
5914 * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
5915
5916 2004-02-25 Sergey Rybin <rybin@act-europe.fr>
5917
5918 * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
5919 protected subprogram call and analyzing the result of such expanding
5920 in case when the called protected subprogram is eliminated.
5921
5922 * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
5923 names.
5924
5925 2004-02-25 Jerome Guitton <guitton@act-europe.fr>
5926
5927 * Makefile.in: Clean ups.
5928
5929 2004-02-23 Ed Schonberg <schonberg@gnat.com>
5930
5931 * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
5932 protected operations if original subprogram is flagged as eliminated.
5933 (Expand_N_Subprogram_Body): For a protected operation, create
5934 discriminals for next operation before checking whether the operation
5935 is eliminated.
5936
5937 * exp_ch9.adb (Expand_N_Protected_Body,
5938 Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
5939 for internal protected operations if the original subprogram is
5940 eliminated.
5941
5942 * sem_elim.adb (Check_Eliminated): Handle properly protected operations
5943 declared in a single protected object.
5944
5945 2004-02-23 Vincent Celier <celier@gnat.com>
5946
5947 * prj-attr.adb: Make attribute Builder'Executable an associative array,
5948 case insensitive if file names are case insensitive, instead of a
5949 standard associative array.
5950
5951 * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
5952 them as case insensitive on platforms where the file names are case
5953 sensitive.
5954
5955 * prj-part.adb (Parse_Single_Project): Make sure, when checking if
5956 project file has already been parsed that canonical path are compared.
5957
5958 2004-02-23 Robert Dewar <dewar@gnat.com>
5959
5960 * sinput-c.ads: Correct bad unit title in header
5961
5962 * freeze.adb: Minor reformatting
5963
5964 2004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5965
5966 * trans.c (tree_transform, case N_Procedure_Call_Statement): For
5967 nonaddressable COMPONENT_REF that is removing padding that we are
5968 taking the address of, take the address of the padded record instead
5969 if item is variable size.
5970
5971 2004-02-20 Robert Dewar <dewar@gnat.com>
5972
5973 * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
5974
5975 2004-02-20 Ed Schonberg <schonberg@gnat.com>
5976
5977 * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
5978 itype references for the constrained designated type of a component
5979 whose base type is already frozen.
5980
5981 2004-02-20 Arnaud Charlet <charlet@act-europe.fr>
5982
5983 * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
5984 avoid GCC warnings.
5985
5986 2004-02-20 Sergey Rybin <rybin@act-europe.fr>
5987
5988 * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
5989 identifier for a phantom package that rewrites the formal package
5990 declaration with a box. The Add semantic decorations for the defining
5991 identifier from the original node (that represents the formal package).
5992
5993 2004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
5994
5995 * Make-lang.in (ada/stamp-sdefault): Use the top level
5996 move-if-change.
5997
5998 2004-02-19 Richard Henderson <rth@redhat.com>
5999
6000 * misc.c (record_code_position): Add third build arg for RTL_EXPR.
6001
6002 2004-02-18 Emmanuel Briot <briot@act-europe.fr>
6003
6004 * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
6005 Scan_ALI can be used for multiple ALI files without reinitializing
6006 between calls.
6007
6008 2004-02-18 Robert Dewar <dewar@gnat.com>
6009
6010 * debug.adb: Minor reformatting.
6011
6012 2004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6013
6014 * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
6015 to zero if there is an address clause.
6016
6017 2004-02-18 Thomas Quinot <quinot@act-europe.fr>
6018
6019 * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
6020
6021 2004-02-18 Gary Dismukes <dismukes@gnat.com>
6022
6023 * layout.adb (Layout_Component_List): Revise generation of call to
6024 discriminant-checking function to pass selections of all of the type's
6025 discriminants rather than just the variant-controlling discriminant.
6026
6027 2004-02-18 Olivier Hainque <hainque@act-europe.fr>
6028
6029 * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
6030 fail in the current setup and triggers spurious system error messages.
6031 Pretend it occurred and failed instead.
6032
6033 2004-02-18 Vincent Celier <celier@gnat.com>
6034
6035 * bld.adb: Mark FLDFLAGS as saved
6036 (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
6037 it is not the root project. Put each directory to be
6038 extended between double quotes to prevent it to be expanded on Windows.
6039 (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
6040 the project file. Set them back to their initial values if they have not
6041 been set in the project file.
6042
6043 * gprcmd.adb: (Gprdebug, Debug): New global variables
6044 (Display_Command): New procedure
6045 (Usage): Document new command "linkopts"
6046 Call Display_Command when env var GPRDEBUG has the value "TRUE"
6047 Implement new command "linkopts"
6048 Remove quotes that may be around arguments for "extend"
6049 Always call Normalize_Pathname with arguments formatted for the platform
6050
6051 * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
6052 Change @echo to @$(display) in target clean to be able to clean silently
6053
6054 * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
6055
6056 * prj-part.adb (Project_Path_Name_Of): Do not put final result in
6057 canonical case.
6058
6059 * prj-part.adb (Parse_Single_Project): Always call with From_Extended
6060 = Extending_All when current project is an extending all project.
6061
6062 * vms_conv.adb (Output_File_Expected): New Boolean global variable,
6063 set to True only for LINK command, after Unix switch -o.
6064 (Process_Arguments): Set Output_File_Expected to True for LINK command
6065 after Unix switch -o. When Output_File_Expected is True, never add an
6066 extension to a file name.
6067
6068 * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
6069 option file name, only to the --for-linker= switch.
6070 (Option_File_Name): If option file name do not end with ".opt", append
6071 "/OPTIONS".
6072
6073 2004-02-18 GNAT Script <nobody@gnat.com>
6074
6075 * Make-lang.in: Makefile automatically updated
6076
6077 2004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
6078
6079 * Make-lang.in (stamp-sdefault): Do not depend on
6080 move-if-change.
6081
6082 2004-02-12 Zack Weinberg <zack@codesourcery.com>
6083
6084 * config-lang.in: Disable Ada by default until probe logic for
6085 a bootstrap Ada compiler can be moved to the top level configure
6086 script.
6087
6088 2004-02-12 Olivier Hainque <hainque@act-europe.fr>
6089
6090 * decl.c (components_to_record): Don't claim that the internal fields
6091 we make to hold the variant parts are semantically addressable, because
6092 they are not.
6093
6094 * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
6095 adjust the comment describing the modular type form when we can use it.
6096 (Install_PAT): Account for the Esiz renaming.
6097
6098 * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
6099 sc_onstack context indication before raising the exception to which
6100 the signal is mapped. Allows better handling of later signals possibly
6101 triggered by the resumed user code if the exception is handled.
6102
6103 2004-02-12 Arnaud Charlet <charlet@act-europe.fr>
6104
6105 * 5zinit.adb: Removed, no longer used.
6106
6107 2004-02-12 Robert Dewar <dewar@gnat.com>
6108
6109 * ali.adb: Remove separating space between parameters on R line. Makes
6110 format consistent with format used by the binder for Set_Globals call.
6111
6112 * atree.ads, atree.adb: Minor reformatting (new function header format)
6113
6114 * bindgen.adb: Add Run-Time Globals documentation section containing
6115 detailed documentation of the globals passed from the binder file to
6116 the run time.
6117
6118 * gnatls.adb: Minor reformatting
6119
6120 * init.c (__gnat_set_globals): Add note pointing to documentation in
6121 bindgen.
6122
6123 * lib-writ.ads, lib-writ.adb: Remove separating space between
6124 parameters on R line.
6125 Makes format consistent with format used by the binder for Set_Globals
6126 call.
6127
6128 * osint.ads: Add 2004 to copyright notice
6129 Minor reformatting
6130
6131 * snames.ads: Correct capitalization of FIFO_Within_Priorities
6132 Noticed during code reading, documentation issue only
6133
6134 * usage.adb: Remove junk line for obsolete C switch
6135 Noticed during code reading
6136
6137 2004-02-12 Vincent Celier <celier@gnat.com>
6138
6139 * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
6140 extend for each directory, so that multiple /** directories are
6141 extended individually.
6142 (Recursive_Process): Set the default for LANGUAGES to ada
6143
6144 * gprcmd.adb: Define new command "ignore", to do nothing.
6145 Implement new comment "path".
6146
6147 * Makefile.generic: Suppress output when SILENT is set
6148 Make sure that when compiler for C/C++ is gcc, the correct -x switch is
6149 used, so that the correct compiler is invoked.
6150 When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
6151 CXX_INCLUDE_PATH, to avoid failure with too long command lines.
6152
6153 2004-02-12 Jerome Guitton <guitton@act-europe.fr>
6154
6155 * Makefile.in: Clean ups and remove obsolete targets.
6156
6157 2004-02-12 Ed Schonberg <schonberg@gnat.com>
6158
6159 * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
6160 predicate declared in exp_util.
6161
6162 * exp_util.adb: Add comments.
6163
6164 * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
6165 visibility before compiling context of the subunit.
6166
6167 * sem_res.adb (Check_Parameterless_Call): If the context expects a
6168 value but the name is a procedure, do not attempt to analyze as a call,
6169 in order to obtain more telling diagnostics.
6170
6171 * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
6172 'Access on parameterless function calls.
6173 (Normalize_Actuals): For a parameterless function call with missing
6174 actuals, defer diagnostic until resolution of enclosing call.
6175
6176 * sem_util.adb (Wrong_Type): If the context type is an access to
6177 subprogram and the expression is a procedure name, suggest a missing
6178 'attribute.
6179
6180 2004-02-10 Arnaud Charlet <charlet@act-europe.fr>,
6181 Nathanael Nerode <neroden@gcc.gnu.org>
6182
6183 PR ada/6637, PR ada/5911
6184 Merge with libada-branch:
6185 * config-lang.in: Build libada only when ada is built.
6186
6187 2004-02-09 Ed Schonberg <schonberg@gnat.com>
6188
6189 * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
6190 for a tagged type, verify that both formals have the same type.
6191
6192 * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
6193 temporary when the formal is an in-parameter and the actual a possibly
6194 unaligned slice.
6195
6196 * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
6197 when expansion is disabled, to ensure proper name capture with
6198 overloaded literals. Condition can be of any boolean type, resolve
6199 accordingly.
6200
6201 * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
6202 renaming is for a formal subprogram with a default operator name, and
6203 there is a usable operator that is visible at the point of
6204 instantiation.
6205
6206 2004-02-09 Robert Dewar <dewar@gnat.com>
6207
6208 * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
6209 rewrite to ignore errors in ali files, intended to allow tools downward
6210 compatibility with new versions of ali files.
6211
6212 * ali.ads: Add new parameter Ignore_Errors
6213
6214 * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
6215 duplicating the error message giving the file with restrictions.
6216
6217 * debug.adb: Add debug flag I for gnatbind
6218
6219 * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
6220 operators for the case where the operator is a defining operator.
6221
6222 * exp_ch3.adb: Minor reformatting (new function spec format).
6223
6224 * exp_ch4.adb: Add comment for previous change, and make minor
6225 adjustment to loop to always check for improper loop termination.
6226 Minor reformatting throughout (new function spec format).
6227
6228 * gnatbind.adb: Implement -di debug flag for gnatbind
6229
6230 * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
6231
6232 * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
6233
6234 * lib-load.adb: Fix bad assertion.
6235 Found by testing and code reading.
6236 Minor reformatting.
6237
6238 * lib-load.ads: Minor reformatting.
6239
6240 * lib-writ.adb: There is only one R line now.
6241
6242 * lib-writ.ads: Add documentation on making downward compatible changes
6243 to ali files so old tools work with new ali files.
6244 There is only one R line now.
6245 Add documentation on format incompatibilities (with special GPS note)
6246
6247 * namet.ads, namet.adb: (Is_Operator_Name): New procedure
6248
6249 * par-load.adb: Minor reformatting
6250
6251 * sem_ch8.adb: Fix to error message from last update
6252 Minor reformatting and restructuring of code from last update
6253
6254 * par-prag.adb, snames.adb, snames.ads, snames.h,
6255 sem_prag.adb: Implement pragma Profile.
6256
6257 * stylesw.adb: Implement -gnatyN switch to turn off all style check
6258 options.
6259
6260 * usage.adb: Add line for -gnatyN switch
6261
6262 * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
6263
6264 2004-02-09 Albert Lee <lee@gnat.com>
6265
6266 * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
6267
6268 2004-02-09 Ed Schonberg <schonberg@gnat.com>
6269
6270 * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
6271 slices.
6272
6273 * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
6274 is nested in an instance that is not frozen yet, to avoid
6275 order-of-elaboration problems in gigi.
6276
6277 * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
6278 body the attribute is legal.
6279
6280 2004-02-09 Robert Dewar <dewar@gnat.com>
6281
6282 * s-rident.ads: Minor comment correction
6283
6284 * targparm.adb: Remove dependence on uintp completely. There was
6285 always a bug in Make in that it called Targparm before initializing
6286 the Uint package. The old code appeared to get away with this, but
6287 the new code did not! This caused an assertion error in gnatmake.
6288
6289 * targparm.ads: Fix bad comment, restriction pragmas with parameters
6290 are indeed fully supported.
6291
6292 2004-02-06 Alan Modra <amodra@bigpond.net.au>
6293
6294 * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
6295
6296 2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
6297
6298 * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
6299 with targetm.calls.promote_prototypes.
6300
6301 2004-02-04 Robert Dewar <dewar@gnat.com>
6302
6303 * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
6304 ali.ads, gprcmd.adb: Minor reformatting
6305
6306 * bindgen.adb: Output restrictions string for new style restrictions
6307 handling
6308
6309 * impunit.adb: Add s-rident.ads (System.Rident) and
6310 s-restri (System.Restrictions)
6311
6312 * lib-writ.adb: Fix bug in writing restrictions string (last few
6313 entries wrong)
6314
6315 * s-restri.ads, s-restri.adb: Change name Restrictions to
6316 Run_Time_Restrictions to avoid conflict with package name.
6317 Add circuit to read and acquire run time restrictions.
6318
6319 2004-02-04 Jose Ruiz <ruiz@act-europe.fr>
6320
6321 * restrict.ads, restrict.adb: Use the new restriction
6322 No_Task_Attributes_Package instead of the old No_Task_Attributes.
6323
6324 * sem_prag.adb: No_Task_Attributes is a synonym of
6325 No_Task_Attributes_Package.
6326
6327 * snames.ads, snames.adb: New entry for proper handling of
6328 No_Task_Attributes.
6329
6330 * s-rident.ads: Adding restriction No_Task_Attributes_Package
6331 (AI-00249) that supersedes the GNAT specific restriction
6332 No_Task_Attributes.
6333
6334 2004-02-04 Ed Schonberg <schonberg@gnat.com>
6335
6336 * sem_prag.adb:
6337 (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
6338 body, an identifier may be wrapped in an unchecked conversion.
6339
6340 2004-02-04 Vincent Celier <celier@gnat.com>
6341
6342 * lib-writ.ads: Comment update for the W lines
6343
6344 * bld.adb: (Expression): An empty string list is static
6345
6346 * fname-uf.adb: Minor comment update
6347
6348 * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
6349
6350 * gnatbind.adb: Initialize Cumulative_Restrictions with the
6351 restrictions on the target.
6352
6353 2004-02-03 Kazu Hirata <kazu@cs.umass.edu>
6354
6355 * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
6356 gen_rtx.
6357
6358 2004-02-02 Arnaud Charlet <charlet@gnat.com>
6359
6360 * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
6361
6362 2004-02-02 Vincent Celier <celier@gnat.com>
6363
6364 * gprcmd.adb (Check_Args): If condition is false, print the invoked
6365 comment before the usage.
6366 Gprcmd: Fail when command is not recognized.
6367 (Usage): Document command "prefix"
6368
6369 * g-md5.adb (Digest): Process last block.
6370 (Update): Do not process last block. Store remaining characters and
6371 length in Context.
6372
6373 * g-md5.ads (Update): Document that several call to update are
6374 equivalent to one call with the concatenated string.
6375 (Context): Add fields to allow new Update behaviour.
6376
6377 * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
6378 defaulted to False.
6379 When May_Fail is True and no existing file can be found, return No_File.
6380
6381 * 6vcstrea.adb: Inlined functions are now wrappers to implementation
6382 functions.
6383
6384 * lib-writ.adb (Write_With_Lines): When body file does not exist, use
6385 spec file name instead on the W line.
6386
6387 2004-02-02 Robert Dewar <dewar@gnat.com>
6388
6389 * ali.adb: Read and acquire info from new format restrictions lines
6390
6391 * bcheck.adb: Add circuits for checking restrictions with parameters
6392
6393 * bindgen.adb: Output dummy restrictions data
6394 To be changed later
6395
6396 * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
6397 exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
6398 freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
6399 sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
6400 sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
6401
6402 * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
6403 the warning message on access to possibly uninitialized variable S)
6404 Minor changes for new restrictions handling.
6405
6406 * gnatbind.adb: Minor reformatting
6407 Minor changes for new restrictions handling
6408 Move circuit for -r processing here from bcheck (cleaner)
6409
6410 * gnatcmd.adb, gnatlink.adb: Minor reformatting
6411
6412 * lib-writ.adb: Output new format restrictions lines
6413
6414 * lib-writ.ads: Document new R format lines for new restrictions
6415 handling.
6416
6417 * s-restri.ads/adb: New files
6418
6419 * Makefile.rtl: Add entry for s-restri.ads/adb
6420
6421 * par-ch3.adb: Fix bad error messages starting with upper case letter
6422 Minor reformatting
6423
6424 * restrict.adb: Major rewrite throughout for new restrictions handling
6425 Major point is to handle restrictions with parameters
6426
6427 * restrict.ads: Major changes in interface to handle restrictions with
6428 parameters. Also generally simplifies setting of restrictions.
6429
6430 * snames.ads/adb: New entry for proper handling of No_Requeue
6431
6432 * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
6433 restriction counting.
6434 Other minor changes for new restrictions handling
6435
6436 * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
6437 Restriction_Warnings now allows full parameter notation
6438 Major rewrite of Restrictions for new restrictions handling
6439
6440 2004-02-02 Javier Miranda <miranda@gnat.com>
6441
6442 * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
6443 syntax rule for object renaming declarations.
6444 (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
6445 component definitions.
6446
6447 * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
6448 components.
6449 (Array_Type_Declaration): Give support to access components. In addition
6450 it was also modified to reflect the name of the object in anonymous
6451 array types. The old code did not take into account that it is possible
6452 to have an unconstrained anonymous array with an initial value.
6453 (Check_Or_Process_Discriminants): Allow access discriminant in
6454 non-limited types.
6455 (Process_Discriminants): Allow access discriminant in non-limited types
6456 Initialize the new Access_Definition field in N_Object_Renaming_Decl
6457 node. Change Ada0Y to Ada 0Y in comments
6458
6459 * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
6460 equality operators.
6461 Change Ada0Y to Ada 0Y in comments
6462
6463 * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
6464 renamings Change Ada0Y to Ada 0Y in comments
6465
6466 * sem_type.adb (Find_Unique_Type): Give support to the equality
6467 operators for universal access types
6468 Change Ada0Y to Ada 0Y in comments
6469
6470 * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
6471
6472 * sinfo.ads (N_Component_Definition): Addition of Access_Definition
6473 field.
6474 (N_Object_Renaming_Declaration): Addition of Access_Definition field
6475 Change Ada0Y to Ada 0Y in comments
6476
6477 * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
6478 component definition and object renaming nodes
6479 Change Ada0Y to Ada 0Y in comments
6480
6481 2004-02-02 Jose Ruiz <ruiz@act-europe.fr>
6482
6483 * restrict.adb: Use the new restriction identifier
6484 No_Requeue_Statements instead of the old No_Requeue for defining the
6485 restricted profile.
6486
6487 * sem_ch9.adb (Analyze_Requeue): Check the new restriction
6488 No_Requeue_Statements.
6489
6490 * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
6491 that supersedes the GNAT specific restriction No_Requeue. The later is
6492 kept for backward compatibility.
6493
6494 2004-02-02 Ed Schonberg <schonberg@gnat.com>
6495
6496 * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
6497 5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
6498 pragma and fix incorrect ones.
6499
6500 * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
6501 warning if the pragma is redundant.
6502
6503 2004-02-02 Thomas Quinot <quinot@act-europe.fr>
6504
6505 * 5staprop.adb: Add missing 'constant' keywords.
6506
6507 * Makefile.in: use consistent value for SYMLIB on
6508 platforms where libaddr2line is supported.
6509
6510 2004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6511
6512 * utils.c (end_subprog_body): Do not call rest_of_compilation if just
6513 annotating types.
6514
6515 2004-02-02 Olivier Hainque <hainque@act-europe.fr>
6516
6517 * init.c (__gnat_install_handler): Setup an alternate stack for signal
6518 handlers in the environment thread. This allows proper propagation of
6519 an exception on stack overflows in this thread even when the builtin
6520 ABI stack-checking scheme is used without support for a stack reserve
6521 region.
6522
6523 * utils.c (create_field_decl): Augment the head comment about bitfield
6524 creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
6525 here, because the former is not accurate enough at this point.
6526 Let finish_record_type decide instead.
6527 Don't make a bitfield if the field is to be addressable.
6528 Always set a size for the field if the record is packed, to ensure the
6529 checks for bitfield creation are triggered.
6530 (finish_record_type): During last pass over the fields, clear
6531 DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
6532 not covered by the calls to layout_decl. Adjust DECL_NONADDRESSABLE_P
6533 from DECL_BIT_FIELD.
6534
6535 2004-01-30 Kelley Cook <kcook@gcc.gnu.org>
6536
6537 * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
6538 (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
6539 (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
6540
6541 2004-01-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6542
6543 * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
6544
6545 * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
6546 (ZCX_By_Default): Likewise.
6547 (Front_End_ZCX_Support): Likewise.
6548
6549 * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
6550 (Initialize_Lock): Mark Level unreferenced.
6551 (Sleep): Mark Reason unreferenced.
6552 (Timed_Sleep): Likewise.
6553 (Wakeup): Likewise.
6554 (Exit_Task): Use Result.
6555 (Check_No_Locks): Mark Self_ID unreferenced.
6556
6557 * 5gtasinf.adb (New_Sproc): Make Attr constant.
6558 (Bound_Thread_Attributes): Make Sproc constant.
6559 (New_Bound_Thread_Attributes): Likewise.
6560
6561 2004-01-26 Ed Schonberg <schonberg@gnat.com>
6562
6563 * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
6564 one-dimensional array an slice assignments, when component type is
6565 controlled.
6566
6567 * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
6568 component type is controlled, and control_actions are in effect, use
6569 TSS procedure rather than generating inline code.
6570
6571 * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
6572 arrays with controlled components.
6573
6574 2004-01-26 Vincent Celier <celier@gnat.com>
6575
6576 * gnatcmd.adb (GNATCmd): Add specification of argument file on the
6577 command line for the non VMS case.
6578
6579 * gnatlink.adb (Process_Binder_File): When building object file, if
6580 GNU linker is used, put all object paths between quotes, to prevent ld
6581 error when there are unusual characters (such as '!') in the paths.
6582
6583 * Makefile.generic: When there are sources in Ada and the main is in
6584 C/C++, invoke gnatmake with -B, instead of -z.
6585
6586 * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
6587 from VMS_Conversion.
6588 (Process_Argument): New procedure, extracted from VMS_Conversion. Add
6589 specification of argument file on the command line.
6590
6591 2004-01-26 Bernard Banner <banner@gnat.com>
6592
6593 * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
6594
6595 2004-01-26 Ed Schonberg <schonberg@gnat.com>
6596
6597 * snames.adb: Update copyright notice.
6598 Add info on slice assignment for controlled arrays.
6599
6600 2004-01-23 Robert Dewar <dewar@gnat.com>
6601
6602 * exp_aggr.adb: Minor reformatting
6603
6604 * exp_ch9.adb: Minor code clean up
6605 Minor reformatting
6606 Fix bad character in comment
6607
6608 PR ada/13471
6609 * targparm.adb (Get_Target_Parameters): Give clean abort error on
6610 unexpected end of file, along with more detailed message.
6611
6612 2004-01-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6613
6614 * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
6615 PAT.
6616
6617 * decl.c (copy_alias_set): New function.
6618 (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
6619
6620 2004-01-23 Doug Rupp <rupp@gnat.com>
6621
6622 * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
6623 lib$${file} in case subsequent character is not a separator.
6624
6625 2004-01-23 Vincent Celier <celier@gnat.com>
6626
6627 * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
6628 when the GCC version is at least 3.
6629
6630 * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
6631 Remove all "Opt.", to prepare for opt split
6632
6633 * prj-part.adb (Parse_Single_Project): New Boolean out parameter
6634 Extends_All. Set to True when the project parsed is an extending all
6635 project. Fails for importing an extending all project only when the
6636 imported project is an extending all project.
6637 (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
6638 depending on the value of Extends_All returned.
6639
6640 * prj-proc.adb (Process): Check that no project shares its object
6641 directory with a project that extends it, directly or indirectly,
6642 including a virtual project.
6643 Check that no project extended by another project shares its object
6644 directory with another also extended project.
6645
6646 * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
6647 Kind = N_With_Clause
6648
6649 * prj-tree.ads: Minor reformatting
6650 Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
6651
6652 2004-01-23 Ed Schonberg <schonberg@gnat.com>
6653
6654 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
6655 applies to a type with an incomplete view, use full view in Name of
6656 clause, for consistency with uses of Get_Attribute_Definition_Clause.
6657
6658 2004-01-23 Arnaud Charlet <charlet@act-europe.fr>
6659
6660 * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
6661 SCHED_RR, since other values are not supported by this policy.
6662 (Initialize): Move initialization of mutex attribute to package
6663 elaboration, to prevent early access to this variable.
6664
6665 * Makefile.in: Remove mention of Makefile.adalib, unused.
6666
6667 * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
6668 1ssecsta.ads: Removed, unused.
6669
6670 2004-01-21 Javier Miranda <miranda@gnat.com>
6671
6672 * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
6673 entity if already built in the current scope.
6674
6675 * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
6676 reminder in internal scopes. Required for nested limited aggregates.
6677
6678 2004-01-21 Doug Rupp <rupp@gnat.com>
6679
6680 * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
6681 VMS. Replace all occurences of libgnat- and libgnarl- with
6682 libgnat$(hyphen) and libgnarl$(hyphen).
6683 Fixed shared library build problem on VMS.
6684
6685 2004-01-21 Robert Dewar <dewar@gnat.com>
6686
6687 * mlib-prj.adb: Minor reformatting
6688
6689 2004-01-21 Thomas Quinot <quinot@act-europe.fr>
6690
6691 * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
6692 'constant' keywords for declaration of pointers that are not modified.
6693
6694 * exp_pakd.adb: Fix English in comment.
6695
6696 2004-01-21 Ed Schonberg <schonberg@gnat.com>
6697
6698 PR ada/10889
6699 * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
6700 copy all attributes of the parent, including the foreign language
6701 convention.
6702
6703 2004-01-21 Sergey Rybin <rybin@act-europe.fr>
6704
6705 PR ada/10565
6706 * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
6707 for 'delay until' statement.
6708
6709 2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
6710
6711 * Make-lang.in: Replace $(docdir) with doc.
6712 (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
6713 doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
6714 to use consistent MAKEINFO rule.
6715 (ada.man, ada.srcman): Dummy entry.
6716 (ADA_INFOFILES): Define.
6717 (ada.info, ada.srcinfo): New rules.
6718
6719 2004-01-19 Arnaud Charlet <charlet@act-europe.fr>
6720
6721 * utils.c: Update copyright notice, missed in previous change.
6722
6723 2004-01-19 Vincent Celier <celier@gnat.com>
6724
6725 * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
6726 args if Bind is True. Set First_ALI, if not already done.
6727 (Build_Library): For Stand Alone Libraries, extract from one ALI file
6728 an eventual --RTS switch, for gnatbind, and all backend switches +
6729 --RTS, for linking.
6730
6731 2004-01-19 Robert Dewar <dewar@gnat.com>
6732
6733 * sem_attr.adb, memtrack.adb: Minor reformatting
6734
6735 2004-01-19 Ed Schonberg <schonberg@gnat.com>
6736
6737 * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
6738 that rename enumeration literals. This is properly done in sem_eval.
6739
6740 * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
6741 to functions that rename enumeration literals.
6742
6743 * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
6744 functions that rename enumeration literals.
6745
6746 2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
6747
6748 * Make-lang.in (utils.o): Depend on target.h.
6749 * utils.c: Include target.h.
6750 (process_attributes): Use targetm.have_named_sections instead
6751 of ASM_OUTPUT_SECTION_NAME.
6752
6753 2004-01-16 Andreas Jaeger <aj@suse.de>
6754
6755 * Makefile.in: Add $(DESTDIR).
6756
6757 2004-01-15 Olivier Hainque <hainque@act-europe.fr>
6758
6759 * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
6760 also when not defining if a Size clause applies. That information is
6761 not to be ignored.
6762
6763 2004-01-15 Arnaud Charlet <charlet@act-europe.fr>
6764
6765 * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
6766 symbolic links for the shared gnat run time when needed.
6767
6768 2004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr>
6769
6770 * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
6771 for writing, and terminate with an error message if not.
6772
6773 2004-01-15 Ed Schonberg <schonberg@gnat.com>
6774
6775 * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
6776 warning on an access to subprogram in an instance, when the target
6777 type is declared in the same generic unit.
6778 (Eval_Attribute): If 'access is known to fail accessibility check,
6779 rewrite as a raise statement.
6780
6781 2004-01-15 GNAT Script <nobody@gnat.com>
6782
6783 * Make-lang.in: Makefile automatically updated
6784
6785 2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
6786
6787 * Make-lang.in (ada.srcextra): Dummy entry.
6788
6789 2004-01-14 Kelley Cook <kcook@gcc.gnu.org>
6790
6791 * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
6792
6793 2004-01-13 Ed Schonberg <schonberg@gnat.com>
6794
6795 * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
6796 components that are initialized with aggregates.
6797
6798 2004-01-13 Vincent Celier <celier@gnat.com>
6799
6800 * gnatlink.adb (Process_Binder_File): To find directory of shared
6801 libgcc, if "gcc-lib" is not a subdirectory, look for the last
6802 subdirectory "lib" in the path of the shared libgnat or libgnarl.
6803
6804 * make.adb (Gnatmake): If GCC version is at least 3, link with
6805 -shared-libgcc, when there is at least one shared library project.
6806
6807 * opt.ads (GCC_Version): New integer constant.
6808
6809 * adaint.c (get_gcc_version): New function.
6810
6811 2004-01-13 Robert Dewar <dewar@gnat.com>
6812
6813 * sem_dist.adb, sem_res.adb, sem_util.adb,
6814 sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
6815 exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
6816
6817 2004-01-13 Thomas Quinot <quinot@act-europe.fr>
6818
6819 * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
6820 g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
6821 declarations.
6822
6823 2004-01-12 Arnaud Charlet <charlet@act-europe.fr>
6824
6825 * misc.c: Remove trailing spaces.
6826 Update copyright notice missed in previous change.
6827
6828 PR ada/13572
6829 * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
6830 prefix/share/make
6831
6832 * Makefile.generic: Update copyright.
6833 Add license notice.
6834
6835 * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
6836 of prefix/share/make.
6837
6838 * Makefile.prolog: Update copyright.
6839 Add license notice.
6840
6841 2004-01-12 Laurent Pautet <pautet@act-europe.fr>
6842
6843 * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
6844 3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
6845 g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
6846 instead of String.
6847
6848 * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
6849 signature.
6850
6851 2004-01-12 Javier Miranda <miranda@gnat.com>
6852
6853 * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
6854 exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
6855 sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
6856 sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
6857 Component_Definition node.
6858
6859 2004-01-12 Ed Falis <falis@gnat.com>
6860
6861 * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
6862
6863 2004-01-12 Thomas Quinot <quinot@act-europe.fr>
6864
6865 * link.c: Change default libgnat kind to STATIC for FreeBSD.
6866
6867 2004-01-12 Bernard Banner <banner@gnat.com>
6868
6869 * Makefile.in: map 86numaux to a-numaux for x86_64
6870
6871 2004-01-12 Ed Schonberg <schonberg@gnat.com>
6872
6873 * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
6874 generated to rename a generic actual, go to the actual itself, the
6875 subtype is not a user-visible entity.
6876
6877 * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
6878 part is a private subtype, reset the visibility of its full view, if
6879 any, to be consistent.
6880
6881 PR ada/13417
6882 * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
6883 to use a generic package G as a formal package for another generic
6884 declared within G.
6885
6886 2004-01-12 Robert Dewar <dewar@gnat.com>
6887
6888 * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
6889
6890 * usage.adb: Remove mention of obsolete -gnatwb switch
6891 Noticed during code reading
6892
6893 2004-01-12 Jerome Guitton <guitton@act-europe.fr>
6894
6895 * 1ssecsta.adb: Minor changes for -gnatwa warnings
6896
6897 2004-01-12 GNAT Script <nobody@gnat.com>
6898
6899 * Make-lang.in: Makefile automatically updated
6900
6901 2004-01-09 Mark Mitchell <mark@codesourcery.com>
6902
6903 * misc.c (gnat_expand_expr): Add alt_rtl parameter.
6904
6905 2004-01-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6906
6907 * link.c [sgi] (shared_libgnat_default): Change to STATIC.
6908
6909 2004-01-05 Kelley Cook <kcook@gcc.gnu.org>
6910
6911 * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
6912 Update comment and copyright date.
6913 * stamp-xgnatug: Delete.
6914
6915 2004-01-05 Robert Dewar <dewar@gnat.com>
6916
6917 * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
6918 be modified by the binder generated main program if the -D switch is
6919 used.
6920
6921 * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
6922 imported functions (since now we expect this to be done for imported
6923 functions)
6924
6925 * 5vtaprop.adb: Add several ??? for sections requiring more comments
6926 Minor reformatting throughout
6927
6928 * 5zinit.adb: Minor reformatting
6929 Add 2004 to copyright date
6930 Minor changes to avoid -gnatwa warnings
6931 Correct some instances of using OR instead of OR ELSE (noted while
6932 doing reformatting)
6933
6934 * sprint.adb: Minor updates to avoid -gnatwa warnings
6935
6936 * s-secsta.ads, s-secsta.adb:
6937 (SS_Get_Max): New function to obtain high water mark for ss stack
6938 Default_Secondary_Stack is not a constant since it may be modified by
6939 the binder generated main program if the -D switch is used.
6940
6941 * switch-b.adb: New -Dnnn switch for binder
6942
6943 * switch-c.adb:
6944 Make -gnatg imply all warnings currently in -gnatwa
6945
6946 * vms_conv.adb: Minor reformatting
6947 Add 2004 to copyright notice
6948 Add 2004 to printed copyright notice
6949
6950 * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
6951 3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
6952 5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
6953 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
6954 5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
6955 5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
6956 5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
6957 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
6958 5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
6959 5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
6960 6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
6961 vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
6962 xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
6963 sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
6964 checks.adb, clean.adb, cstand.adb, einfo.ads,
6965 einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
6966 exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
6967 prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
6968 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
6969 g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
6970 lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
6971 Minor reformatting and code clean ups.
6972 Minor changes to prevent -gnatwa warnings
6973
6974 * ali.adb: Minor reformatting and cleanup of code
6975 Acquire new SS indication of secondary stack use from ali files
6976
6977 * a-numaux.ads: Add Pure_Function pragmas for all imported functions
6978 (since now we expect this to be done for imported functions)
6979
6980 * bindgen.adb: Generate call to modify default secondary stack size if
6981 -Dnnn switch given
6982
6983 * bindusg.adb: Add line for new -D switch
6984
6985 * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
6986 replacement name for Type_May_Have_Non_Bit_Aligned_Components!
6987 Add circuitry for both records and arrays to avoid gigi
6988 processing if the type involved has non-bit-aligned components
6989
6990 * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
6991 N_String_Literal node always references an E_String_Literal_Subtype
6992 entity. This may not be true in the future.
6993 (Possible_Bit_Aligned_Component): Move processing of
6994 Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
6995
6996 * exp_ch6.adb (Expand_Thread_Body): Pick up
6997 Default_Secondary_Stack_Size as variable so that we get value modified
6998 by possible -Dnnn binder parameter.
6999
7000 * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
7001 (Type_May_Have_Bit_Aligned_Components): New function.
7002
7003 * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
7004 (Type_May_Have_Bit_Aligned_Components): New function.
7005
7006 * fe.h: (Set_Identifier_Casing): Fix prototype.
7007 Add declaration for Sem_Elim.Eliminate_Error_Msg.
7008 Minor reformatting.
7009
7010 * freeze.adb (Freeze_Entity): Add RM reference to error message about
7011 importing constant atomic/volatile objects.
7012 (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
7013 unless explicit Pure_Function pragma given, to avoid insidious bug of
7014 call to non-pure imported function getting eliminated.
7015
7016 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
7017 gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
7018 gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
7019 Add 2004 to printed copyright notice
7020
7021 * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
7022 stack used.
7023
7024 * Makefile.rtl: Add entry for g-sestin.o
7025 g-sestin.ads: New file.
7026
7027 * mdll.adb: Minor changes to avoid -gnatwa warnings
7028
7029 * mlib-tgt.adb: Minor reformatting
7030
7031 * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
7032 New switch Sec_Stack_Used (GNAT, GNATBIND)
7033 Make Default_Secondary_Stack_Size a variable instead of a constant,
7034 so that it can be modified by the new -Dnnn bind switch.
7035
7036 * rtsfind.adb (Load_Fail): Give full error message in configurable
7037 run-time mode if all_errors mode is set. This was not done in the case
7038 of a file not found, which was an oversight.
7039 Note if secondary stack unit is used by compiler.
7040
7041 * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
7042 ineffective elaborate all pragmas on non-visible packages (this
7043 happened when a renamed subprogram was called). Now the elaborate all
7044 always goes on the package containing the renaming rather than the one
7045 containing the renamed subprogram.
7046
7047 * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
7048 (Process_Eliminate_Pragma): Add parameter to capture pragma location.
7049
7050 * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
7051 has an Etype that references an E_String_Literal.
7052 (Eval_String_Literal): Avoid assumption that N_String_Literal node
7053 always references an E_String_Literal_Subtype entity. This may not
7054 be true in the future.
7055
7056 * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
7057 pragma location.
7058
7059 * sem_res.adb (Resolve): Specialize msg for function name used in proc
7060 call.
7061
7062 2004-01-05 Ed Falis <falis@gnat.com>
7063
7064 * g-debuti.adb: Replaced direct boolean operator with short-circuit
7065 form.
7066
7067 2004-01-05 Vincent Celier <celier@gnat.com>
7068
7069 * bld.adb: Minor comment updates
7070 (Process_Declarative_Items): Correct incorrect name (Index_Name instead
7071 of Item_Name).
7072
7073 * make.adb (Gnatmake): Special process for files to compile/check when
7074 -B is specified. Fail when there are only foreign mains in attribute
7075 Main of the project file and -B is not specified. Do not skip bind/link
7076 steps when -B is specified.
7077
7078 * makeusg.adb: Document new switch -B
7079
7080 * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
7081
7082 * switch-m.adb: (Scan_Make_Switches): Process -B switch
7083
7084 * vms_data.ads: Add new GNAT PRETTY qualifier
7085 /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
7086
7087 2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7088
7089 * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
7090 case.
7091
7092 * misc.c (gnat_printable_name): If VERBOSITY is 2, call
7093 Set_Identifier_Casing.
7094
7095 * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
7096 has size that overflows.
7097
7098 2004-01-05 Gary Dismukes <dismukes@gnat.com>
7099
7100 * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
7101 -gnatwa warning on static condition.
7102
7103 2004-01-05 Doug Rupp <rupp@gnat.com>
7104
7105 * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
7106
7107 2004-01-05 Arnaud Charlet <charlet@act-europe.fr>
7108
7109 * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
7110 all attributes, including read-only attribute.
7111
7112 2004-01-05 Pascal Obry <obry@gnat.com>
7113
7114 * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
7115 library naming scheme.
7116
7117 * mlib-prj.adb (Build_Library): Generate different names for the static
7118 or dynamic version of the GNAT runtime. This is needed to support the
7119 new shared library naming scheme.
7120 (Process_Binder_File): Add detection of shared library in binder file
7121 based on the new naming scheme.
7122
7123 * gnatlink.adb (Process_Binder_File): Properly detect the new naming
7124 scheme for the shared runtime libraries.
7125
7126 * Makefile.in:
7127 (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
7128 scheme.
7129 (install-gnatlib): Do not create symlinks for shared libraries.
7130 (gnatlib-shared-default): Idem.
7131 (gnatlib-shared-dual-win32): New target. Not used for now as the
7132 auto-import feature does not support arrays/records.
7133 (gnatlib-shared-win32): Do not create copy for the shared libraries.
7134 (gnatlib-shared-vms): Fix shared runtime libraries names.
7135
7136 * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
7137 dependent runtime shared library name.
7138
7139 2004-01-05 Vasiliy Fofanov <fofanov@act-europe.fr>
7140
7141 * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
7142 than the object.
7143
7144 2004-01-05 Ed Schonberg <schonberg@gnat.com>
7145
7146 * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
7147 protected objects when allocator has a subtype indication, not a
7148 qualified expression. Note that qualified expressions may have to be
7149 checked when limited aggregates are implemented.
7150
7151 * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
7152 pure, emit warning.
7153 (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
7154 subprogram is imported, remove warning.
7155
7156 2004-01-05 Geert Bosch <bosch@gnat.com>
7157
7158 * s-poosiz.adb: Update copyright notice.
7159 (Allocate): Use Task_Lock to protect against concurrent access.
7160 (Deallocate): Likewise.
7161
7162 2004-01-05 Joel Brobecker <brobecker@gnat.com>
7163
7164 * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
7165 comment.
7166
7167 2003-12-23 Kelley Cook <kcook@gcc.gnu.org>
7168
7169 * gnat_ug.texi: Force a CVS commit by updating copyright.
7170 * gnat_ug_vxw.texi: Regenerate.
7171 * gnat_ug_wnt.texi: Regenerate.
7172 * gnat_ug_vms.texi: Regenerate.
7173 * gnat_ug_unx.texi: Regenerate.
7174
7175 2003-12-20 Kazu Hirata <kazu@cs.umass.edu>
7176
7177 * trans.c: Remove uses of "register" specifier in
7178 declarations of local variables.
7179
7180 2003-12-18 Kelley Cook <kcook@gcc.gnu.org>
7181
7182 * stamp-xgnatug: New stamp file.
7183 * Make-lang.in (stamp-xgnatug): New stamp file and comment.
7184 (ada/doctools/xgnatug): Add $(build_exeext).
7185 (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
7186 ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
7187
7188 2003-12-17 Ed Falis <falis@gnat.com>
7189
7190 * a-elchha.adb (Tailored_Exception_Information): made Info constant to
7191 eliminate warning.
7192
7193 * a-exextr.adb: Add context clause for
7194 Ada.Exceptions.Last_Chance_Handler.
7195
7196 2003-12-17 Sergey Rybin <rybin@act-europe.fr>
7197
7198 * cstand.adb (Create_Standard): Change the way how the declaration of
7199 the Duration type is created (making it the same way as it is for all
7200 the other standard types).
7201
7202 2003-12-17 Robert Dewar <dewar@gnat.com>
7203
7204 * s-crtl.ads: Fix header format
7205 Change Pure to Preelaborate
7206
7207 2003-12-17 Ed Schonberg <schonberg@gnat.com>
7208
7209 * checks.adb (Selected_Length_Checks): Generate an Itype reference for
7210 the expression type only if it is declared in the current unit.
7211
7212 * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
7213 are universal and already analyzed, as can occur in constrained
7214 subcomponents that depend on discriminants, when one constraint is a
7215 subtype mark.
7216
7217 * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
7218 type Any_Fixed is legal as the argument of a conversion, if only one
7219 fixed-point type is in context.
7220
7221 2003-12-17 GNAT Script <nobody@gnat.com>
7222
7223 * Make-lang.in: Makefile automatically updated
7224
7225 2003-12-15 Robert Dewar <dewar@gnat.com>
7226
7227 * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
7228 sec stack size.
7229
7230 2003-12-15 Vincent Celier <celier@gnat.com>
7231
7232 * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
7233 (Gnatchop): Do not set failure status when reporting the number of
7234 warnings.
7235
7236 2003-12-15 Doug Rupp <rupp@gnat.com>
7237
7238 * s-ctrl.ads: New file.
7239
7240 * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
7241
7242 * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
7243 (GNATBIND_OBJS): Add ada/s-crtl.o.
7244
7245 * Makefile.in [VMS]: Clean up ifeq rules.
7246
7247 * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
7248 a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
7249 g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
7250 s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
7251 s-tasdeb.adb: Update copyright.
7252 Import System.CRTL.
7253 Make minor modifications to use System.CRTL declared functions instead
7254 of importing locally.
7255
7256 2003-12-15 GNAT Script <nobody@gnat.com>
7257
7258 * Make-lang.in: Makefile automatically updated
7259
7260 2003-12-11 Ed Falis <falis@gnat.com>
7261
7262 * 5zinit.adb: Clean up.
7263
7264 * 5zintman.adb (Notify_Exception): replaced case statement with a call
7265 to __gnat_map_signal, imported from init.c to support
7266 signal -> exception mappings that depend on the vxWorks version.
7267
7268 * init.c:
7269 Created and exported __gnat_map_signal to support signal -> exception
7270 mapping that is dependent on the VxWorks version.
7271 Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
7272
7273 2003-12-11 Vasiliy Fofanv <fofanov@act-europe.fr>
7274
7275 * 5wosinte.ads: Link with -mthreads switch.
7276
7277 2003-12-11 Arnaud Charlet <charlet@act-europe.fr>
7278
7279 * init.c (__gnat_install_handler [NetBSD]): Set
7280 __gnat_handler_installed, as done on all other platforms.
7281 Remove duplicated code.
7282
7283 2003-12-11 Jerome Guitton <guitton@act-europe.fr>
7284
7285 * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
7286
7287 2003-12-11 Thomas Quinot <quinot@act-europe.fr>
7288
7289 * sinfo.ads: Fix inconsistent example code in comment.
7290
7291 2003-12-11 Robert Dewar <dewar@gnat.com>
7292
7293 * a-tiinau.adb: Add a couple of comments
7294
7295 * sem_ch3.adb: Minor reformatting
7296
7297 * sem_prag.adb:
7298 Fix bad prototype of Same_Base_Type in body (code reading cleanup)
7299 Minor reformatting throughout
7300
7301 2003-12-11 Ed Schonberg <schonberg@gnat.com>
7302
7303 * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
7304 bounds of a loop, create a separate block in order to generate proper
7305 cleanup actions to prevent memory leaks.
7306
7307 * sem_res.adb (Resolve_Call): After a call to
7308 Establish_Transient_Scope, the call may be rewritten and relocated, in
7309 which case no further processing is needed.
7310
7311 * sem_util.adb: (Wrong_Type): Refine previous fix.
7312 Fixes ACATS regressions.
7313
7314 PR ada/13353
7315
7316 * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
7317 be inlined.
7318
7319 2003-12-08 Jerome Guitton <guitton@act-europe.fr>
7320
7321 * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
7322 i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
7323 obsolete files.
7324
7325 * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
7326 (rts-zfp): Ditto.
7327
7328 2003-12-08 Robert Dewar <dewar@gnat.com>
7329
7330 * 7sintman.adb: Minor reformatting
7331
7332 * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
7333 standard linker options to get standard libraries linked. We now plan
7334 to provide dummy versions of these libraries to match the appropriate
7335 configurable run-time (e.g. if a library is not needed at all, provide
7336 a dummy empty library).
7337
7338 * targparm.ads: Configurable_Run_Time mode no longer affects linker
7339 options (-L parameters and standard libraries). What we plan to do is
7340 to provide dummy libraries where the libraries are not required.
7341
7342 * gnatbind.adb: Minor comment improvement
7343
7344 2003-12-08 Javier Miranda <miranda@gnat.com>
7345
7346 * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
7347 aggregate in the parent. Otherwise constants with limited aggregates
7348 are not supported. Add new formal to pass the component type (Ctype).
7349 It is required to call the corresponding IP subprogram in case of
7350 default initialized components.
7351 (Gen_Assign): In case of default-initialized component, generate a
7352 call to the IP subprogram associated with the component.
7353 (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
7354 of aggregate with default initialized components.
7355 (Has_Default_Init_Comps): Improve implementation to recursively check
7356 all the present expressions.
7357
7358 * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
7359 to indicate that the initialization call corresponds to a
7360 default-initialized component of an aggregate.
7361 In case of default initialized aggregate with tasks this parameter is
7362 used to generate a null string (this is just a workaround that must be
7363 improved later). In case of discriminants, this parameter is used to
7364 generate a selected component node that gives access to the discriminant
7365 value.
7366
7367 * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
7368 subprogram, based on Build_Task_Allocate_Block, but adapted to expand
7369 allocated aggregates with default-initialized components.
7370
7371 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
7372 the box notation is used in positional aggregates.
7373
7374 2003-12-08 Samuel Tardieu <tardieu@act-europe.fr>
7375
7376 * lib.ads: Fix typo in comment
7377
7378 2003-12-08 Vincent Celier <celier@gnat.com>
7379
7380 * prj.adb (Project_Empty): New component Unkept_Comments
7381 (Scan): Remove procedure; moved to Prj.Err.
7382
7383 * prj.ads (Project_Data): New Boolean component Unkept_Comments
7384 (Scan): Remove procedure; moved to Prj.Err.
7385
7386 * prj-dect.adb: Manage comments for the different declarations.
7387
7388 * prj-part.adb (With_Record): New component Node
7389 (Parse): New Boolean parameter Store_Comments, defaulted to False.
7390 Set the scanner to return ends of line and comments as tokens, if
7391 Store_Comments is True.
7392 (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
7393 comments are associated with these nodes. Store the node IDs in the
7394 With_Records.
7395 (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
7396 With_Records.
7397 (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
7398 the N_Project node. Call Tree.Save and Tree.Reset before scanning the
7399 current project. Call Tree.Restore afterwards. Set the various nodes
7400 for comment storage (Next_End, End_Of_Line, Previous_Line,
7401 Previous_End).
7402
7403 * prj-part.ads (Parse): New Boolean parameter Store_Comments,
7404 defaulted to False.
7405
7406 * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
7407 to False. When Truncated is True, truncate the string, never go to the
7408 next line.
7409 (Write_End_Of_Line_Comment): New procedure
7410 (Print): Process comments for nodes N_With_Clause,
7411 N_Package_Declaration, N_String_Type_Declaration,
7412 N_Attribute_Declaration, N_Typed_Variable_Declaration,
7413 N_Variable_Declaration, N_Case_Construction, N_Case_Item.
7414 Process nodes N_Comment.
7415
7416 * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
7417 without comments and there are some comments, set the flag
7418 Unkept_Comments to True.
7419 (Scan): If there are comments, set the flag Unkept_Comments to True and
7420 clear the comments.
7421 (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
7422 (Next_End_Nodes: New table
7423 (Comment_Zones_Of): New function
7424 (Scan): New procedure; moved from Prj. Accumulate comments in the
7425 Comments table and set end of line comments, comments after, after end
7426 and before end.
7427 (Add_Comments): New procedure
7428 (Save, Restore, Seset_State): New procedures
7429 (There_Are_Unkept_Comments): New function
7430 (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
7431 (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
7432 procedures.
7433 (First_Comment_After, First_Comment_After_End): New functions
7434 (First_Comment_Before, First_Comment_Before_End): New functions
7435 (Next_Comment): New function
7436 (End_Of_Line_Comment, Follows_Empty_Line,
7437 Is_Followed_By_Empty_Line): New functions
7438 (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
7439 (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
7440 (Set_Next_Comment): New procedure
7441 (Default_Project_Node): Associate comment before if the node can store
7442 comments.
7443
7444 * scans.ads (Token_Type): New enumeration value Tok_Comment
7445 (Comment_Id): New global variable
7446
7447 * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
7448 defaulted to False.
7449 (Scan): Store position of start of comment. If comments are tokens, set
7450 Comment_Id and set Token to Tok_Comment when scanning a comment.
7451 (Set_Comment_As_Token): New procedure
7452
7453 * sinput-p.adb: Update Copyright notice
7454 (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
7455 that no longer exists.
7456
7457 2003-12-08 Javier Miranda <miranda@gnat.com>
7458
7459 * sem_aggr.adb: Add dependence on Exp_Tss package
7460 Correct typo in comment
7461 (Resolve_Aggregate): In case of array aggregates set the estimated
7462 type of the aggregate before calling resolve. This is needed to know
7463 the name of the corresponding IP in case of limited array aggregates.
7464 (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
7465 in case of default initialized array components.
7466
7467 * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
7468 types. Required to give support to limited aggregates in generic
7469 formals.
7470
7471 2003-12-08 Ed Schonberg <schonberg@gnat.com>
7472
7473 * sem_ch3.adb (Check_Initialization): For legality purposes, an
7474 inlined body functions like an instantiation.
7475 (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
7476 until bounds are analyzed, to diagnose premature use of type.
7477
7478 * sem_util.adb (Wrong_Type): Improve error message when the type of
7479 the expression is used prematurely.
7480
7481 2003-12-08 GNAT Script <nobody@gnat.com>
7482
7483 * Make-lang.in: Makefile automatically updated
7484
7485 2003-12-08 Arnaud Charlet <charlet@act-europe.fr>
7486
7487 * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
7488 they are automatically generated by Make-lang.in and cause nothing but
7489 maintenance troubles.
7490
7491 2003-12-05 Thomas Quinot <quinot@act-europe.fr>
7492
7493 * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
7494 version of this unit).
7495
7496 2003-12-05 Olivier Hainque <hainque@act-europe.fr>
7497
7498 * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
7499 5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
7500 5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
7501 the body of System.Interrupt_Management common to several targets.
7502 Update copyright notice when appropriate.
7503
7504 * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
7505 constant.
7506
7507 * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
7508 to ensure that the kernel fills in the interrupted context structure
7509 before calling a signal handler, which is necessary to be able to
7510 unwind past it. Update the copyright notice.
7511
7512 2003-12-05 Jerome Guitton <guitton@act-europe.fr>
7513
7514 * a-elchha.ads: New file.
7515
7516 * a-elchha.adb: New default last chance handler. Contents taken from
7517 Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
7518
7519 * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
7520 is moved to a-elchha.adb to provide a target-independent default last
7521 chance handler.
7522
7523 * Makefile.rtl: Add a-elchha.o
7524
7525 * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
7526
7527 2003-12-05 Ed Schonberg <schonberg@gnat.com>
7528
7529 * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
7530 declared in an instance, do not inline the call if the instance is not
7531 frozen yet, to prevent order of elaboration problems.
7532
7533 * sem_prag.adb: Add comments for previous fix.
7534
7535 2003-12-05 Samuel Tardieu <tardieu@act-europe.fr>
7536
7537 * g-table.adb: Use the right variable in Set_Item.
7538 Update copyright notice.
7539
7540 2003-12-05 Arnaud Charlet <charlet@act-europe.fr>
7541
7542 * Makefile.in: Remove unused rules.
7543
7544 2003-12-05 Vincent Celier <celier@gnat.com>
7545
7546 * switch-c.adb (Scan_Front_End_Switches): Remove processing of
7547 -nostdlib. Not needed here after all.
7548
7549 2003-12-03 Thomas Quinot <quinot@act-europe.fr>
7550
7551 PR ada/11724
7552
7553 * adaint.h, adaint.c, g-os_lib.ads:
7554 Do not assume that the offset argument to lseek(2) is a 32 bit integer,
7555 on some platforms (including FreeBSD), it is a 64 bit value.
7556 Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
7557
7558 2003-12-03 Arnaud Charlet <charlet@act-europe.fr>
7559
7560 * gnatvsn.ads (Library_Version): Now contain only the relevant
7561 version info.
7562 (Verbose_Library_Version): New constant.
7563
7564 * g-spipat.adb, g-awk.adb, g-debpoo.adb,
7565 g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
7566 s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
7567
7568 * gnatlbr.adb: Clean up: replace Library_Version by
7569 Verbose_Library_Version.
7570
7571 * make.adb, lib-writ.adb, exp_attr.adb:
7572 Clean up: replace Library_Version by Verbose_Library_Version.
7573
7574 * 5lintman.adb: Removed.
7575
7576 * Makefile.in:
7577 Update and simplify computation of LIBRARY_VERSION.
7578 Fix computation of GSMATCH_VERSION.
7579 5lintman.adb is no longer used: replaced by 7sintman.adb.
7580
7581 2003-12-03 Robert Dewar <dewar@gnat.com>
7582
7583 * exp_ch5.adb:
7584 (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
7585 name. Modified to consider small non-bit-packed arrays as troublesome
7586 and in need of component-by-component assigment expansion.
7587
7588 2003-12-03 Vincent Celier <celier@gnat.com>
7589
7590 * lang-specs.h: Process nostdlib as nostdinc
7591
7592 * back_end.adb: Update Copyright notice
7593 (Scan_Compiler_Arguments): Process -nostdlib directly.
7594
7595 2003-12-03 Jose Ruiz <ruiz@act-europe.fr>
7596
7597 * Makefile.in:
7598 When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
7599 redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
7600 included in HIE_NONE_TARGET_PAIRS.
7601
7602 2003-12-03 Ed Schonberg <schonberg@gnat.com>
7603
7604 * sem_attr.adb:
7605 (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
7606 is legal in an instance, because legality is cheched in the template.
7607
7608 * sem_prag.adb:
7609 (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
7610 appplied to an unchecked conversion of a formal parameter.
7611
7612 * sem_warn.adb:
7613 (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
7614 variables.
7615
7616 2003-12-03 Olivier Hainque <hainque@act-europe.fr>
7617
7618 * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
7619 routines. The second one is new functionality to deal with backtracing
7620 through signal handlers.
7621 (unwind): Split into the two separate subroutines above.
7622 Update the documentation, and deal properly with sizeof (REG) different
7623 from sizeof (void*).
7624
7625 2003-12-01 Nicolas Setton <setton@act-europe.fr>
7626
7627 * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
7628 so that the debugger can reliably access the value of the parameter,
7629 and therefore is able to display the exception name when an exception
7630 breakpoint is reached.
7631
7632 2003-12-01 Thomas Quinot <quinot@act-europe.fr>
7633
7634 * fmap.adb: Fix typo in warning message.
7635
7636 * g-socket.ads, g-socket.adb: Make Free a visible instance of
7637 Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
7638
7639 2003-12-01 Vincent Celier <celier@gnat.com>
7640
7641 * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
7642 ther is no Afile.
7643 (Build_Library): Get the switches only if Default_Switches is declared
7644 in package Binder.
7645
7646 2003-12-01 Ed Schonberg <schonberg@gnat.com>
7647
7648 * exp_ch6.adb (Expand_Actuals): When applying validity checks to
7649 actuals that are indexed components, reanalyze actual to ensure that
7650 packed array references are properly expanded.
7651
7652 * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
7653 attempted assignment to a discriminant.
7654
7655 2003-12-01 Robert Dewar <dewar@gnat.com>
7656
7657 * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
7658 reformatting.
7659
7660 * switch-c.adb: Minor reformatting of comments
7661
7662 2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
7663
7664 * Makefile.in: Clean ups.
7665
7666 2003-12-01 GNAT Script <nobody@gnat.com>
7667
7668 * Make-lang.in: Makefile automatically updated
7669
7670 2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
7671
7672 * 5wsystem.ads: Disable zero cost exception, not ready yet.
7673
7674 2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
7675
7676 * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
7677 to force serialization.
7678
7679 2003-11-26 Thomas Quinot <quinot@act-europe.fr>
7680
7681 * g-socket.ads, g-socket.adb:
7682 Clarify documentation of function Stream. Introduce a Free procedure
7683 to release the returned Stream once it becomes unused.
7684
7685 * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
7686
7687 2003-11-26 Arnaud Charlet <charlet@act-europe.fr>
7688
7689 (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
7690 since NT 4 cannot handle timeout values that are too large,
7691 e.g. DWORD'Last - 1.
7692
7693 2003-11-26 Ed Schonberg <schonberg@gnat.com>
7694
7695 * exp_ch4.adb:
7696 (Expand_N_Slice): Recognize all cases of slices that appear as actuals
7697 in procedure calls and whose expansion must be deferred.
7698
7699 * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
7700 is in exp_ch4.
7701
7702 * sem_ch3.adb:
7703 (Build_Derived_Array_Type): Create operator for unconstrained type
7704 if ancestor is unconstrained.
7705
7706 2003-11-26 Vincent Celier <celier@gnat.com>
7707
7708 * make.adb (Project_Object_Directory): New global variable
7709 (Change_To_Object_Directory): New procedure
7710 (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
7711 of Change_Dir directly. Do not change working directory to object
7712 directory of main project after each compilation.
7713 (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
7714 directly.
7715 Change to object directory of main project before binding step.
7716 (Initialize): Initialize Project_Object_Directory to No_Project
7717
7718 * mlib-prj.adb:
7719 (Build_Library): Take into account Builder'Default_Switches ("Ada") when
7720 binding a Stand-Alone Library.
7721
7722 * output.adb: Update Copyright notice
7723 (Write_Char): Output buffer when full
7724
7725 2003-11-26 Robert Dewar <dewar@gnat.com>
7726
7727 * sem_ch13.adb: (Check_Size): Reset size if size is too small
7728
7729 * sem_ch13.ads:
7730 (Check_Size): Fix documentation to include bit-packed array case
7731
7732 * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
7733
7734 * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
7735
7736 * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
7737
7738 2003-11-24 Arnaud Charlet <charlet@act-europe.fr>
7739
7740 PR ada/13142
7741 * utils.c (init_gigi_decls): Change name of built-in setjmp to
7742 __builtin_setjmp, since this is apparently needed by recent
7743 non Ada changes.
7744
7745 2003-11-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7746
7747 * adadecode.c: Only include ctype.h if not IN_GCC.
7748 (__gnat_decode): Use ISDIGIT from safe-ctype.h.
7749
7750 2003-11-24 Jose Ruiz <ruiz@act-europe.fr>
7751
7752 * Makefile.in:
7753 Use 5zintman.ads for VxWorks targets. This file avoid confusion between
7754 signals and interrupts.
7755
7756 * 5zintman.ads: New File.
7757
7758 * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
7759 add exception signals to the set of unmasked signals.
7760
7761 * 5ztaprop.adb:
7762 Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
7763 between signals and interrupts.
7764 Add to Unblocked_Signal_Mask the set of signals that are in
7765 Keep_Unmasked.
7766
7767 * 7sinmaop.adb:
7768 Adding a check to see whether the Interrupt_ID we want to unmask is in
7769 the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
7770 reason is that the index type of the Keep_Unmasked array is not always
7771 Interrupt_ID; it may be a subtype of Interrupt_ID.
7772
7773 2003-11-24 Gary Dismukes <dismukes@gnat.com>
7774
7775 * exp_util.adb:
7776 (Remove_Side_Effects): Condition constantness of object created for a
7777 an unchecked type conversion on the constantness of the expression
7778 to ensure the correct value for 'Constrained when passing components
7779 of view-converted class-wide objects.
7780
7781 2003-11-24 Robert Dewar <dewar@gnat.com>
7782
7783 * par-load.adb (Load): Improve handling of misspelled and missing units
7784 Removes several cases of compilation abandoned messages
7785
7786 * lib.adb: (Remove_Unit): New procedure
7787
7788 * lib.ads: (Remove_Unit): New procedure
7789
7790 * lib-load.adb: Minor reformatting
7791
7792 2003-11-24 Vincent Celier <celier@gnat.com>
7793
7794 * make.adb:
7795 (Gnatmake, Initialize): Call Usage instead of Makeusg directly
7796 (Marking_Label): Label to mark processed source files. Incremented for
7797 each executable.
7798 (Gnatmake): Increase Marking_Labet for each executable
7799 (Is_Marked): Compare against marking label
7800 (Mark): Mark with marking label
7801
7802 2003-11-24 Jerome Guitton <guitton@act-europe.fr>
7803
7804 * s-thread.ads:
7805 Move the declaration of the TSD for System.Threads to System.Soft_Links.
7806 Add some comments.
7807
7808 * Makefile.in: Added target pair for s-thread.adb for cert runtime.
7809 (rts-cert): build a single relocatable object for the run-time lib.
7810 Fix perms.
7811
7812 2003-11-24 Vasiliy Fofanov <fofanov@act-europe.fr>
7813
7814 * Make-lang.in:
7815 Use gnatls rather than gcc to obtain the location of GNAT RTL for
7816 crosstools build.
7817
7818 2003-11-24 Sergey Rybin <rybin@act-europe.fr>
7819
7820 * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
7821 can not use it as before (that is, as a variable) when dumping it into
7822 the tree file. Add a local variable to store the result of this
7823 function and to be used as the string to be written into the tree.
7824
7825 * scn.adb (Initialize_Scanner): Add comments explaining the recent
7826 changes.
7827
7828 * sinput.adb (Source_First, Source_Last): In case of
7829 Internal_Source_File, replace returning attributes of
7830 Internal_Source_Ptr (which is wrong) with returning attributes of
7831 Internal_Source.
7832
7833 2003-11-24 Ed Schonberg <schonberg@gnat.com>
7834
7835 * sem_ch3.adb:
7836 (New_Concatenation_Op): Proper name for New_Binary_Operator, only
7837 used for implicit concatenation operators.
7838 Code cleanup.
7839
7840 * sem_elab.adb:
7841 (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
7842 task bodies that are in the scope of a Suppress pragma.
7843 (Check_A Call): Use the flag to prevent spurious elaboration checks.
7844
7845 * sinfo.ads, sinfo.adb:
7846 New flag No_Elaboration_Check on function/procedure calls, to properly
7847 suppress checks on calls in task bodies that are within a local suppress
7848 pragma.
7849
7850 * exp_ch4.adb:
7851 (Expand_Concatenate_Other): Use the proper integer type for the
7852 expression for the upper bound, to avoid universal_integer computations
7853 when possible.
7854
7855 2003-11-21 Kelley Cook <kcook@gcc.gnu.org>
7856
7857 * .cvsignore: Delete.
7858
7859 2003-11-21 Andreas Schwab <schwab@suse.de>
7860
7861 * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
7862
7863 2003-11-21 Vasiliy Fofanov <fofanov@act-europe.fr>
7864
7865 * 5wsystem.ads: Enable zero cost exception.
7866
7867 2003-11-21 Jerome Guitton <guitton@act-europe.fr>
7868
7869 * 5ztiitho.adb: Remove an unreferenced variable.
7870
7871 2003-11-21 Thomas Quinot <quinot@act-europe.fr>
7872
7873 * adaint.c: For FreeBSD, use mkstemp.
7874
7875 2003-11-21 Arnaud Charlet <charlet@act-europe.fr>
7876
7877 * gnatlbr.adb: Now reference Gnat_Static_Version_String.
7878
7879 2003-11-21 Robert Dewar <dewar@gnat.com>
7880
7881 * bld.adb: Remove useless USE of gnatvsn
7882
7883 * gnatchop.adb: Minor reformatting
7884 Clean up version handling to be more consistent
7885
7886 * gnatxref.adb: Minor reformatting
7887
7888 * gprcmd.adb: Minor reformatting
7889 Fix output of copyright to be more consistent with other tools
7890
7891 2003-11-21 Vincent Celier <celier@gnat.com>
7892
7893 * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
7894
7895 2003-11-21 Sergey Rybin <rybin@act-europe.fr>
7896
7897 * atree.adb (Initialize): Add initializations for global variables
7898 used in New_Copy_Tree.
7899
7900 * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
7901 Internal_Source_File as the actual).
7902 Put the set of statements creating Any_Character before the set of
7903 statements creating Any_Array to have Any_Character fully initialized
7904 when it is used in creating Any_Array.
7905
7906 * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
7907 not call Scan in case if the actual is Internal_Source_File
7908 Add 2003 to copyright note.
7909
7910 * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
7911 processing Internal_Source_File.
7912
7913 * types.ads: Add the constant Internal_Source_File representing the
7914 source buffer for artificial source-code-like strings created within
7915 the compiler (the definition of Source_File_Index is changed).
7916
7917 2003-11-20 Arnaud Charlet <charlet@act-europe.fr>
7918
7919 * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
7920 56system.ads: New file, FreeBSD version.
7921
7922 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
7923
7924 * Make-lang.in (ada.extraclean): Delete.
7925
7926 2003-11-19 Arnaud Charlet <charlet@act-europe.fr>
7927
7928 * gnatmem.adb: Clean up verbose output.
7929
7930 * gprcmd.adb: Change copyright to FSF.
7931
7932 2003-11-19 Vincent Celier <celier@gnat.com>
7933
7934 * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
7935 and Version (ignored).
7936
7937 * symbols.ads: (Policy): New type
7938 (Initialize): New parameter Reference, Symbol_Policy and
7939 Library_Version.
7940 Remove parameter Force.
7941 Minor reformatting.
7942
7943 * snames.ads, snames.adbadb: New standard names
7944 Library_Reference_Symbol_File and Library_Symbol_Policy
7945
7946 * mlib-prj.adb:
7947 (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
7948 project.
7949
7950 * mlib-tgt.adb:
7951 (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
7952
7953 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
7954
7955 * prj.adb: (Project_Empty): New component Symbol_Data
7956
7957 * prj.ads: (Policy, Symbol_Record): New types
7958 (Project_Data): New component Symbol_Data
7959
7960 * prj-attr.adb:
7961 New attributes Library_Symbol_File, Library_Symbol_Policy and
7962 Library_Reference_Symbol_File.
7963
7964 * prj-nmsc.adb:
7965 (Ada_Check): When project is a Stand-Alone library project, process
7966 attribute Library_Symbol_File, Library_Symbol_Policy and
7967 Library_Reference_Symbol_File.
7968
7969 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
7970 5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
7971 5sml-tgt.adb (Build_Dynamic_Library): New parameter
7972 Symbol_Data (ignored).
7973
7974 * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
7975 (Build_Dynamic_Library): New parameter Symbol_Data. New internal
7976 functions Option_File_Name and Version_String. Set new options of
7977 gnatsym related to symbol file, symbol policy and reference symbol
7978 file.
7979
7980 * 5vsymbol.adb:
7981 Extensive modifications to take into account the reference symbol file,
7982 the symbol policy, the library version and to put in the symbol file the
7983 minor and major IDs.
7984
7985 * bld.adb (Process_Declarative_Items): Put second argument of
7986 gprcmd to_absolute between single quotes, to avoid problems with
7987 Windows.
7988
7989 * bld-io.adb: Update Copyright notice.
7990 (Flush): Remove last character of a line, if it is a back slash, to
7991 avoid make problems.
7992
7993 * gnatsym.adb:
7994 Implement new scheme with reference symbol file and symbol policy.
7995
7996 * g-os_lib.ads: (Is_Directory): Clarify comment
7997
7998 2003-11-19 Robert Dewar <dewar@gnat.com>
7999
8000 * atree.adb: Move New_Copy_Tree global variables to head of package
8001
8002 * errout.adb: Minor reformatting
8003
8004 2003-11-19 Javier Miranda <miranda@gnat.com>
8005
8006 * sem_ch4.adb: (Diagnose_Call): Improve error message.
8007 Add reference to Ada0Y (AI-50217)
8008
8009 * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
8010 sem_util.adb: Add reference to AI-50217
8011
8012 * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
8013
8014 * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
8015
8016 * sem_aggr.adb: Complete documentation of AI-287 changes
8017
8018 * par-ch4.adb: Document previous changes.
8019
8020 * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
8021 sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
8022 Ada0Y (AI-50217)
8023
8024 * exp_aggr.adb: Add references to AI-287 in previous changes
8025
8026 2003-11-19 Ed Schonberg <schonberg@gnat.com>
8027
8028 * exp_ch6.adb:
8029 (Add_Call_By_Copy_Node): Do not original node of rewritten expression
8030 in the rewriting is the result of an inlined call.
8031
8032 * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
8033 parameter is a type conversion, use original node to construct the
8034 post-call assignment, because expression may have been rewritten, e.g.
8035 if it is a packed array.
8036
8037 * sem_attr.adb:
8038 (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
8039 body, just as it is in an instance.
8040 Categorization routines
8041
8042 * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
8043 Instantiate_Object): Set proper sloc reference for message on missing
8044 actual.
8045
8046 2003-11-19 Thomas Quinot <quinot@act-europe.fr>
8047
8048 * Makefile.in: Add FreeBSD libgnat pairs.
8049
8050 * usage.adb: Fix typo in usage message.
8051
8052 2003-11-19 Jerome Guitton <guitton@act-europe.fr>
8053
8054 * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
8055 s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
8056 pragma Thread_Body.
8057 Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
8058
8059 * s-thread.adb: This file is now a dummy implementation of
8060 System.Thread.
8061
8062 2003-11-19 Sergey Rybin <rybin@act-europe.fr>
8063
8064 * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
8065
8066 2003-11-19 Emmanuel Briot <briot@act-europe.fr>
8067
8068 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
8069 instanciation references in the parent type description.
8070
8071 2003-11-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8072
8073 * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
8074
8075 * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
8076 TYPE_PRECISION directly from esize.
8077
8078 2003-11-18 Thomas Quinot <quinot@act-europe.fr>
8079
8080 * cstreams.c:
8081 Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
8082
8083 * init.c: Initialization routines for FreeBSD
8084
8085 * link.c: Link info for FreeBSD
8086
8087 * sysdep.c: Add the case of FreeBSD
8088
8089 2003-11-17 Jerome Guitton <guitton@act-europe.fr>
8090
8091 * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
8092 already called in System.Threads.
8093
8094 * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
8095 environment task, as it has been moved to System.Threads.Initialization.
8096
8097 2003-11-17 Arnaud Charlet <charlet@act-europe.fr>
8098
8099 * adaint.c (__gnatlib_install_locks): Only reference
8100 __gnat_install_locks on VMS, since other platforms can avoid using
8101 --enable-threads=gnat
8102
8103 2003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8104
8105 * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
8106
8107 * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
8108 TYPE_PACKED_ARRAY_TYPE_P.
8109 (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
8110
8111 Part of PR ada/12806
8112 * utils.c (float_type_for_precision): Renamed from float_type_for_size.
8113 Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
8114
8115 2003-11-17 Vincent Celier <celier@gnat.com>
8116
8117 * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
8118 to False.
8119 Do not set exit status to Failure when Warning is True.
8120 (Gnatchop): Make errors "no compilation units found" and
8121 "no source files written" warnings only.
8122
8123 * make.adb (Gnatmake): When using a project file, set
8124 Look_In_Primary_Dir to False.
8125 (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
8126 and Local_Configuration_Pragmas in the project where they are declared
8127 not an extending project which might have inherited them.
8128
8129 * osint.adb (Locate_File): If Name is already an absolute path, do not
8130 look for a directory.
8131
8132 * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
8133 -gnats (Check_Syntax) is used, issue only a warning, not an error.
8134
8135 * prj.adb (Register_Default_Naming_Scheme): Add new component Project
8136 in objects of type Variable_Value.
8137
8138 * prj.ads: (Variable_Value): New component Project
8139
8140 * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
8141 is in a project extended by Project.
8142
8143 * prj-proc.adb (Add_Attributes): New parameter Project. Set component
8144 Project of Variable_Values to this new parameter value.
8145 (Expression): Set component Project of Variable_Values.
8146 (Process_Declarative_Items): Call Add_Attributes with parameter Project.
8147 Set the component Project in array elements.
8148
8149 2003-11-17 Sergey Rybin <rybin@act-europe.fr>
8150
8151 * errout.adb: (Initialize): Add initialization for error nodes.
8152
8153 * sem_ch12.adb (Initialize): Add missing initializations for
8154 Exchanged_Views and Hidden_Entities.
8155
8156 2003-11-17 Ed Schonberg <schonberg@gnat.com>
8157
8158 * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
8159 already instantiated tree for use in subsequent inlining.
8160 (Analyze_Associations, Instantiate_Formal_Subprogram,
8161 Instantiate_Object): improve error message for mismatch in
8162 instantiations.
8163
8164 * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
8165 instantiations of subprograms declared in instances.
8166
8167 2003-11-17 Javier Miranda <miranda@gnat.com>
8168
8169 * sem_ch4.adb (Analyze_Allocator): Previous modification must be
8170 executed only under the Extensions_Allowed flag.
8171
8172 2003-11-17 Robert Dewar <dewar@gnat.com>
8173
8174 * a-exexda.adb (Address_Image): Fix documentation to indicate leading
8175 zeroes suppressed.
8176 (Address_Image): Fix bug of returning 0x instead of 0x0
8177 Minor reformatting (function specs).
8178
8179 * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
8180 (missed case of 33-63)
8181
8182 * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
8183
8184 * s-thread.adb: Add comments for pragma Restriction
8185
8186 * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
8187 sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
8188
8189 2003-11-17 Ed Falis <falis@gnat.com>
8190
8191 * s-thread.adb: Added No_Tasking restriction for this implementation.
8192
8193 2003-11-17 Emmanuel Briot <briot@act-europe.fr>
8194
8195 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
8196 instanciation references in the parent type description.
8197
8198 2003-11-17 GNAT Script <nobody@gnat.com>
8199
8200 * Make-lang.in: Makefile automatically updated
8201
8202 2003-11-16 Jason Merrill <jason@redhat.com>
8203
8204 * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
8205 and TAGS files that include them for each front end.
8206
8207 2003-11-14 Andreas Jaeger <aj@suse.de>
8208
8209 * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
8210 is the canonical version.
8211 * misc.c (gnat_handle_option): Likewise.
8212
8213 * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
8214
8215 * 5nsystem.ads: New file for x86_64-linux-gnu.
8216
8217 2003-11-14 Arnaud Charlet <charlet@act-europe.fr>
8218
8219 * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
8220
8221 * comperr.adb: Fix logic in previous change.
8222
8223 2003-11-13 Vincent Celier <celier@gnat.com>
8224
8225 * 5bml-tgt.adb (Build_Dynamic_Library): Use
8226 Osint.Include_Dir_Default_Prefix instead of
8227 Sdefault.Include_Dir_Default_Name.
8228
8229 * gnatlbr.adb: Update Copyright notice
8230 (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
8231 Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
8232 instead of Sdefault.Object_Dir_Default_Name
8233
8234 * gnatlink.adb:
8235 (Process_Binder_File): Never suppress the option following -Xlinker
8236
8237 * mdll-utl.adb:
8238 (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
8239 Sdefault.Object_Dir_Default_Name.
8240
8241 * osint.ads, osint.adb:
8242 (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
8243 Minor reformatting.
8244
8245 * vms_conv.ads: Minor reformating
8246 Remove GNAT STANDARD and GNAT PSTA
8247
8248 * vms_conv.adb:
8249 Allow GNAT MAKE to have several files on the command line.
8250 (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
8251 Sdefault.Object_Dir_Default_Name.
8252 Minor Reformating
8253 Remove data for GNAT STANDARD
8254
8255 * vms_data.ads:
8256 Add new compiler qualifier /PRINT_STANDARD (-gnatS)
8257 Remove data for GNAT STANDARD
8258 Remove options and documentation for -gnatwb/-gnatwB: these warning
8259 options no longer exist.
8260
8261 2003-11-13 Ed Falis <falis@gnat.com>
8262
8263 * 5zthrini.adb: (Init_RTS): Made visible
8264
8265 * 5zthrini.adb:
8266 (Register): Removed unnecessary call to taskVarGet that checked whether
8267 an ATSD was already set as a task var for the argument thread.
8268
8269 * s-thread.adb:
8270 Updated comment to reflect that this is a VxWorks version
8271 Added context clause for System.Threads.Initialization
8272 Added call to System.Threads.Initialization.Init_RTS
8273
8274 2003-11-13 Jerome Guitton <guitton@act-europe.fr>
8275
8276 * 5zthrini.adb:
8277 (Init_RTS): New procedure, for the initialization of the run-time lib.
8278
8279 * s-thread.adb:
8280 Remove dependancy on System.Init, so that this file can be used in the
8281 AE653 sequential run-time lib.
8282
8283 2003-11-13 Robert Dewar <dewar@gnat.com>
8284
8285 * bindgen.adb: Minor reformatting
8286
8287 2003-11-13 Ed Schonberg <schonberg@gnat.com>
8288
8289 * checks.adb:
8290 (Apply_Discriminant_Check): Do no apply check if target type is derived
8291 from source type with no applicable constraint.
8292
8293 * lib-writ.adb:
8294 (Ensure_System_Dependency): Do not apply the style checks that may have
8295 been specified for the main unit.
8296
8297 * sem_ch8.adb:
8298 (Find_Selected_Component): Further improvement in error message, with
8299 RM reference.
8300
8301 * sem_res.adb:
8302 (Resolve): Handle properly the case of an illegal overloaded protected
8303 procedure.
8304
8305 2003-11-13 Javier Miranda <miranda@gnat.com>
8306
8307 * exp_aggr.adb:
8308 (Has_Default_Init_Comps): New function to check the presence of
8309 default initialization in an aggregate.
8310 (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
8311 extension aggregate of a limited record. In addition, a new formal
8312 was added to do not initialize the record controller (if any) during
8313 this recursive expansion of ancestors.
8314 (Init_Controller): Add support for limited record components.
8315 (Expand_Record_Aggregate): In case of default initialized components
8316 convert the aggregate into a set of assignments.
8317
8318 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
8319 describing the new syntax.
8320 Nothing else needed to be done because this subprogram delegates part of
8321 its work to P_Precord_Or_Array_Component_Association.
8322 (P_Record_Or_Array_Component_Association): Give support to the new
8323 syntax for default initialization of components.
8324
8325 * sem_aggr.adb:
8326 (Resolve_Aggregate): Relax the strictness of the frontend in case of
8327 limited aggregates.
8328 (Resolve_Record_Aggregate): Give support to default initialized
8329 components.
8330 (Get_Value): In case of default initialized components, duplicate
8331 the corresponding default expression (from the record type
8332 declaration). In case of default initialization in the *others*
8333 choice, do not check that all components have the same type.
8334 (Resolve_Extension_Aggregate): Give support to limited extension
8335 aggregates.
8336
8337 * sem_ch3.adb:
8338 (Check_Initialization): Relax the strictness of the front-end in case
8339 of aggregate and extension aggregates. This test is now done in
8340 Get_Value in a per-component manner.
8341
8342 * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
8343 expression corresponds to a limited aggregate. This test is now done
8344 in Get_Value.
8345
8346 * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
8347 Box_Present flag.
8348
8349 * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
8350 present in an N_Component_Association node
8351
8352 2003-11-13 Thomas Quinot <quinot@act-europe.fr>
8353
8354 * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
8355 type-conformant entry only if they are homographs.
8356
8357 2003-11-13 GNAT Script <nobody@gnat.com>
8358
8359 * Make-lang.in: Makefile automatically updated
8360
8361 2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8362
8363 * adadecode.c: Use <> form of include for ctype.h.
8364 * sysdep.c [IN_RTS]: Use <> form of include for time.h.
8365
8366 2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8367
8368 * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
8369 Works around PR middle-end/6552.
8370
8371 2003-11-10 Ed Falis <falis@gnat.com>
8372
8373 * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
8374
8375 * 5zinit.adb: (Install_Handler): Moved back to spec
8376 (Install_Signal_Handlers): Deleted
8377
8378 * 5zthrini.adb: Added context clause for System.Storage_Elements
8379 (Register): Only handles creation of taskVar; initialization moved to
8380 Thread_Body_Enter.
8381 (Reset_TSD): Deleted; replaced by Thread_Body_Enter
8382 Added declaration of environment task secondary stack and
8383 initialization.
8384
8385 * s-thread.adb: Implement bodies for thread body processing
8386
8387 * s-thread.ads:
8388 Added comment identifying supported targets for pragma Thread_Body.
8389
8390 2003-11-10 Pascal Obry <obry@gnat.com>
8391
8392 * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
8393 GNAT_MAX_PATH_LEN.
8394
8395 * s-fileio.adb:
8396 (Open): Properly check for string length before copying into the buffer.
8397 Raises Name_Error if buffer is too small. Note that this was a potential
8398 buffer overflow.
8399
8400 2003-11-10 Romain Berrendonner <berrendo@act-europe.fr>
8401
8402 * bindgen.adb, comperr.adb: Code clean ups.
8403 * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
8404
8405 2003-11-10 Sergey Rybin <rybin@act-europe.fr>
8406
8407 * gnat1drv.adb: Add call to Sem_Elim.Initialize.
8408
8409 2003-11-10 Vincent Celier <celier@gnat.com>
8410
8411 * gprcmd.adb:
8412 (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
8413 installation.
8414
8415 * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
8416
8417 * prj.adb: (Project_Empty): Add new boolean component Virtual
8418
8419 * prj.ads: (Virtual_Prefix): New constant string
8420 (Project_Data): New boolean component Virtual
8421
8422 * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
8423 a library project is extended by a virtual extending project.
8424
8425 * prj-part.adb:
8426 Modifications throughout to implement extending-all project, including:
8427 (Virtual_Hash, Processed_Hash): New hash tables
8428 (Create_Virtual_Extending_Project): New procedure
8429 (Look_For_Virtual_Projects_For): New procedure
8430
8431 * prj-proc.adb:
8432 (Process): After checking the projects, if main project is an
8433 extending-all project, set the object directory of all virtual extending
8434 project to the object directory of the main project.
8435 Adjust error message when a virtual extending project has the same
8436 object directory as an project being extended.
8437 (Recursive_Process): If name starts with the virtual prefix, set Virtual
8438 to True in the project data.
8439
8440 * prj-tree.adb:
8441 (Default_Project_Node): Add new boolean component Extending_All
8442 (Is_Extending_All): New function
8443 (Set_Is_Extending_All): New procedure
8444
8445 * prj-tree.ads: (Is_Extending_All): New function
8446 (Set_Is_Extending_All): New procedure
8447 (Project_Node_Record): New boolean component Extending_All
8448
8449 * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
8450
8451 * vms_data.ads:
8452 Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
8453
8454 * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
8455 "gprcmd prefix" to define it.
8456
8457 2003-11-10 Thomas Quinot <quinot@act-europe.fr>
8458
8459 * einfo.ads: Fix a typo and remove an extraneous word in comments.
8460
8461 * lib-load.adb:
8462 (Create_Dummy_Package_Unit): Set the scope of the entity for the
8463 created dummy package to Standard_Standard, not to itself, to
8464 defend other parts of the front-end against encoutering a cycle in
8465 the scope chain.
8466
8467 * sem_ch10.adb:
8468 (Analyze_With_Clause): When setting the entities for the successive
8469 N_Expanded_Names that constitute the name of a child unit, do not
8470 attempt to go further than Standard_Standard in the chain of scopes.
8471 This case arises from the placeholder units created by
8472 Create_Dummy_Package_Unit in the case of a with_clause for a
8473 nonexistent child unit.
8474
8475 2003-11-10 Ed Schonberg <schonberg@gnat.com>
8476
8477 * exp_ch6.adb:
8478 (Expand_Thread_Body): Place subprogram on scope stack, so that new
8479 declarations are given the proper scope.
8480
8481 * sem_ch13.adb:
8482 (Check_Expr_Constants): Reject an expression that contains a constant
8483 created during expansion, and that appears after the object to which
8484 the address clause applies.
8485
8486 * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
8487 Analyze_Iteration_Scheme, to rewrite a loop parameter specification
8488 that uses 'Range of a function call with controlled components, so
8489 that the function result can be finalized before starting the loop.
8490
8491 * sem_ch8.adb:
8492 (Find_Selected_Component): Improve error message when prefix is
8493 an implicit dereference of an incomplete type.
8494
8495 2003-11-10 Robert Dewar <dewar@gnat.com>
8496
8497 * opt.ads: New Print_Standard flag for -gnatS switch
8498
8499 * sem_ch13.adb: Remove some additional checks for unaligned arrays
8500
8501 * cstand.adb (Create_Standard): Print out package standard if -gnatS
8502 switch set
8503
8504 * debug.adb: Update doc for -gnatds to discuss relationship with new
8505 -gnatS flag
8506
8507 * sinfo.adb: Add new field Entity_Or_Associated_Node
8508
8509 * sinfo.ads: Add new field Entity_Or_Associated_Node
8510 Update documentation for Associated_Node and Entity fields to clarify
8511 relationship and usage.
8512
8513 * sprint.adb:
8514 (Write_Id): Properly process Associated_Node field in generic template
8515
8516 * switch-c.adb:
8517 Recognize new -gnatS switch for printing package Standard
8518 This replaces gnatpsta
8519
8520 * usage.adb:
8521 Add line for new -gnatS switch for printing package Standard
8522 This replaces gnatpsta
8523
8524 2003-11-10 Andreas Jaeger <aj@suse.de>
8525
8526 * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
8527 integer.
8528
8529 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
8530
8531 * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
8532 by gnat1.
8533
8534 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
8535
8536 * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
8537 no longer needed.
8538
8539 * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
8540
8541 * sysdep.c: Add handling of cygwin.
8542
8543 2003-11-10 GNAT Script <nobody@gnat.com>
8544
8545 * Make-lang.in: Makefile automatically updated
8546
8547 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
8548
8549 PR 12950
8550 * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
8551 functions. Used to handle dynamic prefix relocation, via set_std_prefix.
8552 Replace GNAT_ROOT by GCC_ROOT.
8553
8554 * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
8555
8556 2003-11-06 Zack Weinberg <zack@codesourcery.com>
8557
8558 * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
8559 and update for changed meaning of GET_MODE_BITSIZE.
8560
8561 2003-11-04 Doug Rupp <rupp@gnat.com>
8562
8563 * sysdep.c: Problem discovered during IA64 VMS port.
8564 [VMS] #include <unixio.h> to get proper prototypes.
8565
8566 * adaint.c:
8567 Issues discovered/problems fixed during IA64 VMS port.
8568 [VMS] #define _POSIX_EXIT for proper semantics.
8569 [VMS] #include <unixio.h> for proper prototypes.
8570 [VMS] (fork): #define IA64 version.
8571 (__gnat_os_exit): Remove unnecessary VMS specific code.
8572
8573 2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8574
8575 Part of PR ada/12806
8576
8577 * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
8578 tree, not integer.
8579
8580 * decl.c:
8581 (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
8582 not integer.
8583
8584 * targtyps.c, decl.c, misc.c,
8585 gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
8586 routines to work around change in FP sizing semantics in GCC.
8587
8588 * utils.c:
8589 (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
8590
8591 * gigi.h: (enumerate_modes): New function.
8592
8593 * Make-lang.in: (ada/misc.o): Add real.h.
8594
8595 * misc.c: (enumerate_modes): New function.
8596
8597 2003-11-04 Robert Dewar <dewar@gnat.com>
8598
8599 * 3vtrasym.adb: Minor reformatting
8600 Use terminology encoded/decoded name, rather than C++ specific notion
8601 of mangling (this is the terminology used throughout GNAT).
8602
8603 * einfo.h: Regenerated
8604
8605 * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
8606
8607 * exp_ch6.adb:
8608 (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
8609
8610 * par-prag.adb: Add dummy entry for Thread_Body pragma
8611
8612 * rtsfind.ads:
8613 Add entries for System.Threads entities for thread body processing
8614
8615 * sem_attr.adb:
8616 (Analyze_Pragma, Access attributes): Check these are not applied to a
8617 thread body, since this is not permitted
8618
8619 * sem_prag.adb: Add processing for Thread_Body pragma.
8620 Minor comment fix.
8621
8622 * sem_res.adb:
8623 (Resolve_Call): Check for incorrect attempt to call a thread body
8624 procedure with a direct call.
8625
8626 * snames.ads, snames.adb: Add entry for Thread_Body pragma
8627 Add names associated with thread body expansion
8628
8629 * snames.h: Add entry for Thread_Body pragma
8630
8631 * s-thread.adb: Add entries for thread body processing
8632 These are dummy bodies so far
8633
8634 * s-thread.ads: Add documentation on thread body handling.
8635 Add entries for thread body processing.
8636
8637 2003-11-04 Javier Miranda <miranda@gnat.com>
8638
8639 * sem_ch10.adb:
8640 (Build_Limited_Views): Return after posting an error in case of limited
8641 with_clause on subprograms, generics, instances or generic renamings
8642 (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
8643 on subprograms, generics, instances or generic renamings
8644
8645 2003-11-04 Arnaud Charlet <charlet@act-europe.fr>
8646
8647 * raise.c (setup_to_install): Correct mistake in last revision; two
8648 arguments out of order.
8649
8650 * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
8651 gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
8652 notice, missed in previous change.
8653 Remove trailing blanks and other style errors introduced in previous
8654 change.
8655
8656 2003-11-04 Olivier Hainque <hainque@act-europe.fr>
8657
8658 * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
8659 rid of the wrapper for a LJM type, ensuring we don't do that if the
8660 field is addressable. This avoids potential low level type view
8661 mismatches later on, for instance in a by-reference argument passing
8662 process.
8663
8664 2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8665
8666 * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
8667 aligned at byte boundary.
8668
8669 2003-11-04 Joel Brobecker <brobecker@gnat.com>
8670
8671 * decl.c (components_to_record): Do not delete the empty variants from
8672 the end of the union type.
8673
8674 2003-11-04 Ed Schonberg <schonberg@gnat.com>
8675
8676 * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
8677 operation for a derived type, an explicit declaration may use a local
8678 subtype of Boolean.
8679
8680 2003-11-04 Vincent Celier <celier@gnat.com>
8681
8682 * make.adb (Gnatmake): Allow main sources on the command line with a
8683 library project when it is only for compilation (no binding or
8684 linking).
8685
8686 2003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8687
8688 * Makefile.in: Remove many duplicate variables.
8689
8690 2003-11-03 Kelley Cook <kcook@gcc.gnu.org>
8691
8692 * Make-lang.in (dvi): Move targets to $(docobjdir).
8693 (gnat_ug_vms.dvi): Simplify rule and adjust target.
8694 (gnat_ug_wnt.dvi): Likewise.
8695 (gnat_ug_unx.dvi): Likewise.
8696 (gnat_ug_vxw.dvi): Likewise.
8697 (gnat_rm.dvi): Likewise.
8698 (gnat-style.dvi): Likewise.
8699
8700 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
8701
8702 * gigi.h: Missed commit from update for C90.
8703
8704 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
8705
8706 * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
8707
8708 2003-10-31 Andreas Schwab <schwab@suse.de>
8709
8710 * raise.c (get_action_description_for): Fix typo in last change.
8711
8712 2003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
8713
8714 PR ada/12761
8715 * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
8716 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
8717
8718 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
8719
8720 * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
8721 ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
8722 gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
8723 sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
8724 trans.c, utils.c, utils2.c: Convert function prototypes to C90.
8725
8726 2003-10-30 Vasiliy Fofanov <fofanov@act-europe.fr>
8727
8728 * 3vtrasym.adb:
8729 Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
8730 numbers when symbol name is too long.
8731
8732 2003-10-30 Ed Falis <falis@gnat.com>
8733
8734 * g-signal.ads, g-signal.adb: New files
8735
8736 * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
8737
8738 * Makefile.rtl: Introduce GNAT.Signals
8739
8740 2003-10-30 Robert Dewar <dewar@gnat.com>
8741
8742 * freeze.adb: Minor reformatting
8743
8744 * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
8745
8746 * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
8747 par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
8748 New handling of Id_Check parameter to improve recognition of keywords
8749 used as identifiers.
8750 Update copyright notice to include 2003
8751
8752 2003-10-29 Robert Dewar <dewar@gnat.com>
8753
8754 * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
8755 sem_ch10.adb: Minor reformatting
8756
8757 * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
8758 (Expand_Assign_Record): Test right hand side for bit unaligned as well
8759
8760 2003-10-29 Vasiliy Fofanov <fofanov@act-europe.fr>
8761
8762 * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
8763 Support for TBK$SYMBOLIZE-based symbolic traceback.
8764
8765 2003-10-29 Jose Ruiz <ruiz@act-europe.fr>
8766
8767 * exp_disp.adb:
8768 Revert previous change, that did not work well when pragma No_Run_Time
8769 was used in conjunction with a run-time other than ZFP.
8770
8771 2003-10-29 Vincent Celier <celier@gnat.com>
8772
8773 * make.adb:
8774 (Gnatmake): When there are no Ada mains in attribute Main, disable the
8775 bind and link steps only is switch -z is not used.
8776
8777 2003-10-29 Arnaud Charlet <charlet@act-europe.fr>
8778
8779 * Makefile.generic: Remove duplicated setting of CC.
8780
8781 * Makefile.prolog: Set CC to gcc by default, to override make's
8782 default (cc).
8783
8784 * einfo.h: Regenerated.
8785
8786 2003-10-29 Ed Schonberg <schonberg@gnat.com>
8787
8788 * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
8789 current body, after compiling subunit.
8790
8791 * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
8792 when in deleted code, because gigi needs properly ordered freeze
8793 actions to annotate types.
8794
8795 * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
8796 prevent the premature freezing of record type that contains
8797 subcomponents with a private type that does not yet have a completion.
8798
8799 2003-10-29 Javier Miranda <miranda@gnat.com>
8800
8801 * sem_ch12.adb:
8802 (Analyze_Package_Instantiation): Check that instances can not be used in
8803 limited with_clauses.
8804
8805 * sem_ch8.adb:
8806 (Analyze_Package_Renaming): Check that limited withed packages cannot
8807 be renamed. Improve text on error messages related to limited
8808 with_clauses.
8809
8810 * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
8811
8812 * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
8813 Update copyright notice.
8814
8815 * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
8816 (Install_Limited_Context_Clauses): New subprogram that isolates all the
8817 checks required for limited context_clauses and installs the limited
8818 view.
8819 (Install_Limited_Withed_Unit): Complete its documentation.
8820 (Analyze_Context): Check that limited with_clauses are only allowed in
8821 package specs.
8822 (Install_Context): Call Install_Limited_Context_Clauses after the
8823 parents have been installed.
8824 (Install_Limited_Withed_Unit): Add documentation. Mark the installed
8825 package as 'From_With_Type'; this mark indicates that the limited view
8826 is installed. Used to check bad usages of limited with_clauses.
8827 (Build_Limited_Views): Do not add shadow entities to the scope's list
8828 of entities. Do not add real entities to the Non_Limited_Views chain.
8829 Improve error notification.
8830 (Remove_Context_Clauses): Remove context clauses in two phases:
8831 limited views first and regular views later (to maintain the
8832 stack model).
8833 (Remove_Limited_With_Clause): If the package is analyzed then reinstall
8834 its visible entities.
8835
8836 2003-10-29 Thomas Quinot <quinot@act-europe.fr>
8837
8838 * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
8839 with any type that Is_Fixed_Point_Type.
8840
8841 * sinfo.ads: Fix documentation for Associated_Node attribute.
8842
8843 2003-10-29 Sergey Rybin <rybin@act-europe.fr>
8844
8845 * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
8846 both '-gnatc' and '-gnatt' are specified.
8847
8848 * atree.adb (Initialize): Add initialization for Node_Count (set to
8849 zero).
8850
8851 2003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8852
8853 * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
8854 do not consider as Pure.
8855
8856 Part of implementation of function-at-a-time:
8857
8858 * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
8859 (tree_transform): Add new argument to build_component_ref.
8860 (tree_transform, case N_Assignment_Statement): Make and return an
8861 EXPR_STMT.
8862 (tree_transform): If result IS_STMT, set flags and return it.
8863 (gnat_expand_stmt, set_lineno_from_sloc): New functions.
8864
8865 * utils2.c (build_simple_component_ref, build_component_ref): Add new
8866 arg, NO_FOLD_P.
8867 (build_binary_op, case EQ_EXPR): Pass additional arg to it.
8868 (build_allocator): Likewise.
8869
8870 * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
8871 Add new arg to build_component_ref.
8872 (maybe_unconstrained_array, unchecked_convert): Likewise.
8873
8874 * ada-tree.def (EXPR_STMT): New code.
8875
8876 * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
8877
8878 * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
8879 build_component_ref calls.
8880
8881 * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
8882
8883 * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
8884 (build_component_ref): Add new argument, NO_FOLD_P.
8885
8886 2003-10-27 Arnaud Charlet <charlet@act-europe.fr>
8887
8888 * Makefile.generic: Add missing substitution on object_deps handling.
8889
8890 PR ada/5909:
8891 * Make-lang.in (check-ada): Enable ACATS test suite.
8892
8893 2003-10-27 Robert Dewar <dewar@gnat.com>
8894
8895 * exp_ch3.adb:
8896 (Freeze_Array_Type): We do not need an initialization routine for types
8897 derived from String or Wide_String. They should be treated the same
8898 as String and Wide_String themselves. This caused problems with the
8899 use of Initialize_Scalars.
8900
8901 * exp_ch5.adb:
8902 (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
8903 composites. This allows use of component clauses that are not byte
8904 aligned.
8905
8906 * sem_prag.adb:
8907 (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
8908 is an attempt to pack an array of atomic objects.
8909
8910 * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
8911
8912 2003-10-27 Pascal Obry <obry@gnat.com>
8913
8914 * g-dirope.adb:
8915 (Basename): Check for drive letters in a pathname only on DOS based OS.
8916
8917 2003-10-27 Vincent Celier <celier@gnat.com>
8918
8919 * make.adb:
8920 (Gnatmake): When unable to change dir to the object dir, display the
8921 content of the parent dir of the obj dir, to try to understand why this
8922 happens.
8923
8924 2003-10-27 GNAT Script <nobody@gnat.com>
8925
8926 * Make-lang.in: Makefile automatically updated
8927
8928 2003-10-27 Ed Schonberg <schonberg@gnat.com>
8929
8930 * sem_ch12.adb:
8931 (Inline_Instance_Body): Indicate that the save/restore of use_clauses
8932 should not be done in Save/Restore_Scope_Stack, because it is performed
8933 locally.
8934
8935 * sem_ch8.adb:
8936 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
8937 whether use clauses should be removed/restored.
8938
8939 * sem_ch8.ads:
8940 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
8941 whether use clauses should be removed/restored.
8942
8943 2003-10-26 Andreas Jaeger <aj@suse.de>
8944
8945 * Makefile.in: Remove duplicated lines.
8946
8947 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
8948
8949 * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
8950 minimize the differences with ACT tree.
8951
8952 * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
8953 gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
8954 Gnatvsn.Gnat_Static_Version_String to reduce differences between
8955 ACT and FSF trees.
8956
8957 2003-10-24 Pascal Obry <obry@gnat.com>
8958
8959 * adadecode.c (ostrcpy): New function.
8960 (__gnat_decode): Use ostrcpy of strcpy.
8961 (has_prefix): Set first parameter a const.
8962 (has_suffix): Set first parameter a const.
8963 Update copyright notice. Fix source name in header.
8964 Removes a trailing space.
8965 PR ada/12014.
8966
8967 2003-10-24 Jose Ruiz <ruiz@act-europe.fr>
8968
8969 * exp_disp.adb:
8970 Remove the test against being in No_Run_Time_Mode before generating a
8971 call to Register_Tag. It is redundant with the test against the
8972 availability of the function Register_Tag.
8973
8974 2003-10-24 Vincent Celier <celier@gnat.com>
8975
8976 * g-catiio.adb: (Month_Name): Correct spelling of February
8977
8978 * make.adb: (Mains): New package
8979 (Initialize): Call Mains.Delete
8980 (Gnatmake): Check that each main on the command line is a source of a
8981 project file and, if there are several mains, each of them is a source
8982 of the same project file.
8983 (Gnatmake): When a foreign language is specified in attribute Languages,
8984 no main is specified on the command line and attribute Mains is not
8985 empty, only build the Ada main. If there is no Ada main, just compile
8986 the Ada sources and their closure.
8987 (Gnatmake): If a main is specified on the command line with directory
8988 information, check that the source exists and, if it does, that the path
8989 is the actual path of a source of a project.
8990
8991 * prj-env.adb:
8992 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
8993 Full_Path is True, return the full path instead of the simple file name.
8994 (Project_Of): New function
8995
8996 * prj-env.ads:
8997 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
8998 defaulted to False.
8999 (Project_Of): New function
9000
9001 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
9002
9003 * Makefile.generic:
9004 Ensure objects of main project are always checked and rebuilt if needed.
9005 Set CC to gcc by default.
9006 Prepare new handling of link by creating a global archive (not activated
9007 yet).
9008
9009 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
9010 stringt.h: Update copyright notice. Remove trailing blanks.
9011 Fix source name in header.
9012
9013 2003-10-24 Robert Dewar <dewar@gnat.com>
9014
9015 * sem_ch12.adb: Minor reformatting
9016
9017 * sem_ch3.adb:
9018 Minor reformatting (including new function return style throughout)
9019
9020 * sem_ch3.ads:
9021 Minor reformatting (including new function return style throughout)
9022
9023 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
9024
9025 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
9026 stringt.h: Update copyright notice. Remove trailing blanks.
9027 Fix source name in header.
9028
9029 2003-10-24 GNAT Script <nobody@gnat.com>
9030
9031 * Make-lang.in: Makefile automatically updated
9032
9033 2003-10-23 Nathanael Nerode <neroden@gcc.gnu.org>
9034
9035 * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
9036 stringt.h: Convert to ISO C90 declarations and definitions.
9037
9038 2003-10-23 Thomas Quinot <quinot@act-europe.fr>
9039
9040 PR ada/11978:
9041 * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
9042 External_Tag attribute definition clauses.
9043
9044 2003-10-23 Ed Schonberg <schonberg@gnat.com>
9045
9046 PR ada/7613:
9047 * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
9048 child unit, generate a fully qualified name to avoid spurious errors
9049 when the context contains renamings of different child units with
9050 the same simple name.
9051
9052 * exp_dbug.ads: Add documentation on name qualification for renamings
9053 of child units.
9054
9055 2003-10-23 Robert Dewar <dewar@gnat.com>
9056
9057 * g-regpat.ads, g-regpat.adb: Minor reformatting
9058
9059 2003-10-23 Jose Ruiz <ruiz@act-europe.fr>
9060
9061 * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
9062
9063 2003-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9064
9065 * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
9066 Machine call.
9067
9068 * urealp.h: (Machine): Update to proper definition.
9069
9070 2003-10-23 Arnaud Charlet <charlet@act-europe.fr>
9071
9072 * init.c, adaint.c: Minor reformatting.
9073
9074 2003-10-23 Danny Smith <dannysmith@users.sourceforge.net>
9075
9076 * adaint.c (w32_epoch_offset): Define static const at file level.
9077 (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
9078 rather than t_create, t_access in call to GetFileTime. Use union
9079 to convert between FILETIME and unsigned long long.
9080 (__gnat_file_time_name): Test for invalid file handle.
9081 (__gnat_set_filetime_name): Support win32 targets using
9082 w32api SetFileTime.
9083
9084 2003-10-22 Danny Smith <dannysmith@users.sourceforge.net>
9085
9086 * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
9087
9088 * ctrl_c.c (__gnat_int_handler): Remove declaration.
9089
9090 * decl.c (creat_concat_name): Const-ify prefix.
9091
9092 * adaint.c: Include ctype.h if __MINGW32__.
9093 (__gnat_readlink): Mark arguments as possibly unused.
9094 (__gnat_symlink): Likewise.
9095 (__gnat_is_symbolic_link): Likewise.
9096 (__gnat_portable_spawn): Likewise. Cast last arg of spawnvp to match
9097 declaration
9098 (__gnat_file_time_name): Don't declare struct stat statbuf when
9099 not needed.
9100 (__gnat_is_absolute_path): Add parenthesis around condition of
9101 'if' statement to avoid warning.
9102 (__gnat_plist_init): Specify void as parameter.
9103 (plist_enter): Likewise.
9104 (plist_leave): Likewise.
9105 (remove_handle): Make static. Initialize prev.
9106
9107 2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
9108
9109 * Makefile.in: Disable build of gnatpsta. PR ada/10110.
9110 * cstreams.c (__gnat_full_name): Minor improvements and clean up
9111 of previous change.
9112
9113 2003-10-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9114
9115 * tracebak.c (MAX): Avoid redefinition warning.
9116
9117 * init.c [sgi] (__gnat_error_handler): Remove i, unused.
9118 Change msg to const char *.
9119 (__gnat_install_handler): Remove ss, unused.
9120 [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
9121 to const char *.
9122 * cstreams.c (__gnat_full_name): Declare p only when used.
9123 (__gnat_full_name) [sgi] Return buffer.
9124
9125 2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
9126
9127 * mingw32.h: New file.
9128 * gnat_wrapper.adb: New file.
9129
9130 2003-10-22 Jerome Roussel <roussel@act-europe.fr>
9131
9132 * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
9133 string match a pre compiled regular expression (the corresponding
9134 version of the function working on a raw regular expression)
9135 Fix typos in various comments
9136 Update copyright notice in spec
9137
9138 2003-10-21 Gary Dismukes <dismukes@gnat.com>
9139
9140 * exp_ch3.adb:
9141 (Component_Needs_Simple_Initialization): Return False when the type is a
9142 packed bit array. Revise spec comments to document this case.
9143
9144 * exp_prag.adb:
9145 (Expand_Pragma_Import): Set any expression on the imported object to
9146 empty to avoid initializing imported objects (in particular this
9147 covers the case of zero-initialization of bit arrays).
9148 Update copyright notice.
9149
9150 2003-10-21 Ed Schonberg <schonberg@gnat.com>
9151
9152 * sem_ch12.adb:
9153 (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
9154 a subunit is missing.
9155 (Instantiate_Subprogram_Body): If body of function is missing, set type
9156 of return expression explicitly in dummy body, to prevent cascaded
9157 errors when a subunit is missing.
9158 Fixes PR 5677.
9159
9160 * sem_ch3.adb:
9161 (Access_Subprogram_Declaration): Verify that return type is valid.
9162 Fixes PR 8693.
9163
9164 * sem_elab.adb:
9165 (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
9166 generic.
9167 Fixes PR 12318.
9168
9169 * sem_util.adb:
9170 (Corresponding_Discriminant): If the scope of the discriminant is a
9171 private type without discriminant, use its full view.
9172 Fixes PR 8247.
9173
9174 2003-10-21 Arnaud Charlet <charlet@act-europe.fr>
9175
9176 * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
9177 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
9178 3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
9179 55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
9180 56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
9181 59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
9182 5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
9183 5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
9184 5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
9185 5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
9186 5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
9187 5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
9188 5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
9189 5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
9190 7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
9191 a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
9192 a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
9193 a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
9194 bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
9195 erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
9196 err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
9197 g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
9198 g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
9199 g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
9200 g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
9201 g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
9202 g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
9203 gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
9204 g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
9205 g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
9206 i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
9207 prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
9208 prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
9209 s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
9210 s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
9211 s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
9212 s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
9213 s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
9214 s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
9215 s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
9216 s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
9217 socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
9218 s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
9219 s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
9220 s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
9221 styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
9222 s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
9223 tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
9224 vms_conv.ads, vms_conv.adb, vms_data.ads,
9225 vxaddr2line.adb: Files added. Merge with ACT tree.
9226
9227 * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
9228 5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
9229 5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
9230 5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
9231 g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
9232 s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
9233 s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
9234 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
9235 s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
9236 s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
9237
9238 * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
9239 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
9240 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
9241 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
9242 4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
9243 4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
9244 4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
9245 4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
9246 51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
9247 53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
9248 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
9249 5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
9250 5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
9251 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
9252 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
9253 5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
9254 5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
9255 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
9256 5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
9257 5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
9258 5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
9259 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
9260 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
9261 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
9262 5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
9263 5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
9264 5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
9265 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
9266 5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
9267 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
9268 5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
9269 5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
9270 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
9271 5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
9272 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
9273 7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
9274 7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
9275 a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
9276 a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
9277 a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
9278 a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
9279 a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
9280 ali.adb, ali.ads, ali-util.adb, ali-util.ads,
9281 a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
9282 a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
9283 a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
9284 a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
9285 a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
9286 a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
9287 a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
9288 a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
9289 a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
9290 a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
9291 a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
9292 a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
9293 atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
9294 a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
9295 a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
9296 bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
9297 checks.adb, checks.ads, cio.c, comperr.adb,
9298 comperr.ads, csets.adb, cstand.adb, cstreams.c,
9299 debug_a.adb, debug_a.ads, debug.adb, decl.c,
9300 einfo.adb, einfo.ads, errout.adb, errout.ads,
9301 eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
9302 expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
9303 exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
9304 exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
9305 exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
9306 exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
9307 exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
9308 exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
9309 exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
9310 fe.h, fmap.adb, fmap.ads, fname.adb,
9311 fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
9312 freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
9313 g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
9314 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
9315 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
9316 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
9317 g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
9318 g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
9319 g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
9320 g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
9321 g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
9322 g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
9323 g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
9324 g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
9325 gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
9326 gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
9327 gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
9328 gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
9329 gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
9330 g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
9331 g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
9332 g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
9333 g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
9334 g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
9335 g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
9336 g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
9337 g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
9338 i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
9339 i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
9340 inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
9341 itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
9342 layout.adb, lib.adb, lib.ads, lib-list.adb,
9343 lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
9344 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
9345 link.c, live.adb, make.adb, make.ads,
9346 Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
9347 mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
9348 mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
9349 misc.c, mkdir.c, mlib.adb, mlib.ads,
9350 mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
9351 mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
9352 namet.adb, namet.ads, namet.h, nlists.ads,
9353 nlists.h, nmake.adt, opt.adb, opt.ads,
9354 osint.adb, osint.ads, osint-b.adb, osint-c.adb,
9355 par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
9356 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
9357 par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
9358 par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
9359 prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
9360 prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
9361 prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
9362 prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
9363 prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
9364 prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
9365 prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
9366 prj-util.adb, prj-util.ads, raise.c, raise.h,
9367 repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
9368 rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
9369 s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
9370 s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
9371 scans.ads, scn.adb, scn.ads, s-crc32.adb,
9372 s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
9373 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
9374 sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
9375 sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
9376 sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
9377 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
9378 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
9379 sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
9380 sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
9381 sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
9382 sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
9383 sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
9384 s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
9385 s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
9386 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
9387 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
9388 s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
9389 s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
9390 s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
9391 sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
9392 sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
9393 sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
9394 s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
9395 s-memory.adb, s-memory.ads, snames.adb, snames.ads,
9396 snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
9397 s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
9398 s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
9399 s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
9400 s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
9401 s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
9402 s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
9403 s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
9404 s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
9405 s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
9406 s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
9407 s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
9408 s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
9409 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
9410 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
9411 s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
9412 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
9413 stringt.adb, stringt.ads, stringt.h, style.ads,
9414 stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
9415 s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
9416 s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
9417 switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
9418 s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
9419 table.adb, table.ads, targparm.adb, targparm.ads,
9420 targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
9421 trans.c, tree_io.adb, treepr.adb, treeprs.adt,
9422 ttypes.ads, types.ads, types.h, uintp.adb,
9423 uintp.ads, uintp.h, uname.adb, urealp.adb,
9424 urealp.ads, urealp.h, usage.adb, utils2.c,
9425 utils.c, validsw.adb, validsw.ads, widechar.adb,
9426 xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
9427 xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
9428 einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
9429 gnatvsn.ads: Merge with ACT tree.
9430
9431 * gnatvsn.adb: Rewritten in a simpler and more efficient way.
9432
9433 2003-10-20 Mark Mitchell <mark@codesourcery.com>
9434
9435 * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
9436 (gnat_ug_vmx.info): Likewise.
9437 (gnat_ug_vxw.info): Likewise.
9438 (gnat_ug_wnt.info): Likewise.
9439 (gnat_rm.info): Likewise.
9440 (gnat-style.info): Likewise.
9441
9442 * Make-lang.in (ada.install-info): Remove target.
9443 (info): New target.
9444 (install-info): Likewise.
9445 (gnat_ug_unx.info): Simplify rule.
9446 (gnat_ug_vmx.info): Likewise.
9447 (gnat_ug_vxw.info): Likewise.
9448 (gnat_ug_wnt.info): Likewise.
9449 (gnat_rm.info): Likewise.
9450 (gnat-style.info): Likewise.
9451
9452 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
9453
9454 * Make-lang.in: Replace uses of $(target_alias) with
9455 $(target_noncanonical).
9456 * ada/Makefile.in: Remove unused mention of $(target_alias).
9457
9458 2003-10-06 Mark Mitchell <mark@codesourcery.com>
9459
9460 * Make-lang.in (ada.info): Replace with ...
9461 (info): ... this.
9462 (ada.dvi): Replace with ...
9463 (dvi): ... this.
9464
9465 2003-09-29 Zack Weinberg <zack@codesourcery.com>
9466
9467 * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
9468 initialize dconstp5 and dconstmp5.
9469
9470 2003-09-28 Richard Henderson <rth@redhat.com>
9471
9472 * trans.c (tree_transform): Update call to expand_asm_operands.
9473
9474 2003-09-21 Richard Henderson <rth@redhat.com>
9475
9476 * trans.c, utils.c: Revert.
9477
9478 2003-09-21 Richard Henderson <rth@redhat.com>
9479
9480 * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
9481 change to const.
9482
9483 2003-09-04 Michael Matz <matz@suse.de>
9484
9485 * misc.c: Include "target.h".
9486 * Make-lang.in (misc.o): Add dependency on target.h.
9487
9488 2003-09-03 DJ Delorie <dj@redhat.com>
9489
9490 * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
9491 hook.
9492
9493 2003-08-30 Zack Weinberg <zack@codesourcery.com>
9494
9495 * Makefile.in: Update substitutions to match changes to
9496 configure. Use include directives instead of @-insertions
9497 to read in host and target fragments. Add a rule to
9498 regenerate ada/Makefile.
9499
9500 2003-07-18 Neil Booth <neil@daikokuya.co.uk>
9501
9502 * lang-options.h: Remove.
9503 * lang.opt: Add help text.
9504
9505 2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
9506
9507 * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
9508 calls.
9509
9510 2003-07-06 Neil Booth <neil@daikokuya.co.uk>
9511
9512 * misc.c (gnat_handle_option): Don't handle filenames.
9513
9514 2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
9515
9516 * Make-lang.in: Replace PWD with PWD_COMMAND.
9517 * Makefile.adalib: Likewise.
9518 * Makefile.in: Likewise.
9519
9520 2003-07-04 Matt Kraai <kraai@alumni.cmu.edu>
9521
9522 * misc.c (gnat_argv): Revert last change.
9523 (gnat_handle_option, gnat_init_options): Copy arguments.
9524
9525 2003-07-03 Neil Booth <neil@daikokuya.co.uk>
9526
9527 * misc.c (gnat_argv): Make const.
9528
9529 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
9530
9531 * misc.c (save_argc, save_argv): Keep non-static!
9532
9533 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
9534
9535 * misc.c (save_argc, save_argv): Make static.
9536 (gnat_init_options): New prototype.
9537 (gnat_init_options): Update.
9538
9539 2003-07-01 Matt Kraai <kraai@alumni.cmu.edu>
9540
9541 * gnat_ug.texi: Remove unlikely characters from @vars.
9542 * gnat_ug_vms.texi: Regenerate.
9543
9544 2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
9545
9546 * misc.c (record_code_position): Adjust emit_note call.
9547
9548 2003-06-26 Neil Booth <neil@daikokuya.co.uk>
9549
9550 * misc.c (gnat_handle_option): Don't check for missing arguments.
9551
9552 2003-06-20 Nathan Sidwell <nathan@codesourcery.com>
9553
9554 * utils.c (end_subprog_body): Adjust expand_function_end call.
9555
9556 2003-06-16 Matt Kraai <kraai@alumni.cmu.edu>
9557
9558 * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
9559 Bind_Main_Program.
9560
9561 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
9562
9563 * lang.opt: Declare Ada.
9564 * misc.c (gnat_init_options): Update.
9565
9566 2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
9567
9568 * utils.c (begin_subprog_body): Adjust init_function_start call.
9569
9570 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
9571
9572 * Make-lang.in: Update to use options.c and options.h.
9573 * misc.c: Include options.h not aoptions.h.
9574 (gnat_handle_option): Abort on unrecognized switch.
9575 (gnat_init_options): Request Ada switches.
9576
9577 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
9578
9579 * lang.opt: Add -Wall.
9580 * misc.c (gnat_handle_option): Handle it.
9581
9582 2003-06-12 Neil Booth <neil@daikokuya.co.uk>
9583
9584 * misc.c (gnat_handle_option): Fix warnings.
9585
9586 2003-06-11 Matt Kraai <kraai@alumni.cmu.edu>
9587
9588 * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
9589
9590 2003-06-11 Neil Booth <neil@daikokuya.co.uk>
9591
9592 * Make-lang.in: Update to handle command-line options.
9593 * lang.opt: New file.
9594 * misc.c: Include aoptions.h.
9595 (cl_options_count, cl_options): Remove.
9596 (gnat_handle_option): New.
9597 (gnat_decode_option): Remove.
9598 (LANG_HOOKS_DECODE_OPTION): Remove.
9599 (LANG_HOOKS_HANDLE_OPTION): Override.
9600
9601 2003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
9602
9603 * init.c, misc.c, trans.c, utils.c: Remove dead code.
9604
9605 2003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
9606
9607 * Makefile.in: Replace "host_canonical" with "host" for autoconf
9608 substitution.
9609
9610 2003-06-08 Neil Booth <neil@daikokuya.co.uk>
9611
9612 * Make-lang.in: Update.
9613 * misc.c: Include opts.h. Define cl_options_count and cl_options.
9614
9615 2003-06-07 Neil Booth <neil@daikokuya.co.uk>
9616
9617 * misc.c (gnat_init_options): Update.
9618
9619 2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
9620
9621 * Make-lang.in (ada/b_gnatb.o-warn): Remove.
9622 * bindgen.adb (Gen_Main_C): Mark ensure_reference with
9623 __attribute__ ((__unused__)).
9624
9625 2003-06-05 Jan Hubicka <jh@suse.cz>
9626
9627 * Make-lang.in: Add support for stageprofile and stagefeedback
9628
9629 2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
9630
9631 * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
9632 (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
9633
9634 2003-06-04 Matt Kraai <kraai@alumni.cmu.edu>
9635
9636 * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
9637 Remove non-VMS directive.
9638 (Switches for gnatlbr, Optimization Levels): Remove non-VMS
9639 alternatives.
9640 (Examples of gnatls Usage): Remove VMS alternative.
9641
9642 2003-06-04 Olivier Hainque <hainque@act-europe.fr>
9643
9644 PR ada/9953:
9645 * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
9646 and turn ZCX_By_Default back to False since the underlying support
9647 is not quite there yet.
9648
9649 2003-06-01 Andreas Jaeger <aj@suse.de>
9650
9651 * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
9652 and ROUND_TYPE_SIZE_UNIT.
9653
9654 2003-05-22 Geert Bosch <bosch@gnat.com>
9655
9656 * gnat_rm.texi : Remove reference to Ada Core Technologies.
9657
9658 2003-05-03 Nathan Sidwell <nathan@codesourcery.com>
9659
9660 * trans.c (tree_transform): Use location_t and input_location
9661 directly.
9662 (build_unit_elab): Likewise.
9663 * utils.c (create_label_decl): Likewise.
9664
9665 2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
9666
9667 * trans.c (tree_transform, build_unit_elab,
9668 set_lineno): Rename lineno to input_line.
9669 * utils.c (pushdecl, create_label_decl, begin_subprog_body,
9670 end_subprog_body): Likewise.
9671 * utils2.c (build_call_raise): Likewise.
9672
9673 2003-05-01 Laurent Guerby <guerby@acm.org>
9674
9675 PR ada/10546
9676 * 5iosinte.ads: Increase pthread_cond_t size to match recent
9677 LinuxThread and NPTL version, merge from ACT.
9678
9679 2003-04-28 Zack Weinberg <zack@codesourcery.com>
9680
9681 * utils.c (convert): No need to clear TREE_CST_RTL.
9682
9683 2003-04-23 Geert Bosch <bosch@gnat.com>
9684
9685 * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
9686 1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
9687 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
9688 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
9689 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
9690 4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
9691 4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
9692 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
9693 4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
9694 4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
9695 4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
9696 4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
9697 52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
9698 5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
9699 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
9700 5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
9701 5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
9702 5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
9703 5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
9704 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
9705 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
9706 5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
9707 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
9708 5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
9709 5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
9710 5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
9711 5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
9712 5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
9713 5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
9714 5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
9715 5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
9716 5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
9717 5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
9718 5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
9719 5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
9720 5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
9721 5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
9722 5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
9723 5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
9724 5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
9725 5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
9726 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
9727 5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
9728 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
9729 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
9730 7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
9731 7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
9732 9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
9733 a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
9734 a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
9735 a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
9736 a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
9737 a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
9738 a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
9739 a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
9740 a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
9741 a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
9742 a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
9743 a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
9744 a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
9745 a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
9746 a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
9747 a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
9748 a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
9749 a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
9750 a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
9751 a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
9752 a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
9753 a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
9754 a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
9755 a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
9756 a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
9757 a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
9758 a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
9759 a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
9760 a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
9761 a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
9762 a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
9763 a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
9764 a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
9765 a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
9766 a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
9767 a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
9768 a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
9769 a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
9770 a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
9771 a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
9772 a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
9773 a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
9774 a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
9775 a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
9776 a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
9777 a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
9778 a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
9779 a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
9780 a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
9781 a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
9782 a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
9783 a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
9784 a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
9785 a-wttest.ads, ada-tree.h, ada.ads, ada.h,
9786 adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
9787 ali.adb, ali.ads, alloc.ads, argv.c,
9788 atree.adb, atree.ads, atree.h, aux-io.c,
9789 back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
9790 binde.adb, binde.ads, binderr.adb, binderr.ads,
9791 bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
9792 butil.adb, butil.ads, cal.c, calendar.ads,
9793 casing.adb, casing.ads, ceinfo.adb, checks.adb,
9794 checks.ads, cio.c, comperr.adb, comperr.ads,
9795 config-lang.in, csets.adb, csets.ads, csinfo.adb,
9796 cstand.adb, cstand.ads, cuintp.c, debug.adb,
9797 debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
9798 dec-io.ads, dec.ads, deftarg.c, directio.ads,
9799 einfo.adb, einfo.ads, elists.adb, elists.ads,
9800 elists.h, errno.c, errout.adb, errout.ads,
9801 eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
9802 exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
9803 exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
9804 exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
9805 exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
9806 exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
9807 exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
9808 exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
9809 exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
9810 exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
9811 exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
9812 exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
9813 exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
9814 exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
9815 exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
9816 fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
9817 fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
9818 freeze.adb, freeze.ads, frontend.adb, frontend.ads,
9819 g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
9820 g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
9821 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
9822 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
9823 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
9824 g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
9825 g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
9826 g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
9827 g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
9828 g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
9829 g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
9830 g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
9831 g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
9832 g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
9833 g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
9834 g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
9835 g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
9836 g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
9837 g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
9838 g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
9839 g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
9840 g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
9841 get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
9842 gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
9843 gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
9844 gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
9845 gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
9846 gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
9847 gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
9848 gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
9849 hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
9850 i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
9851 i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
9852 i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
9853 i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
9854 i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
9855 i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
9856 inline.adb, inline.ads, interfac.ads, ioexcept.ads,
9857 itypes.adb, itypes.ads, krunch.adb, krunch.ads,
9858 layout.adb, layout.ads, lib-list.adb, lib-load.adb,
9859 lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
9860 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
9861 lib.adb, lib.ads, live.adb, live.ads,
9862 machcode.ads, make.adb, make.ads, makeusg.adb,
9863 makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
9864 mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
9865 memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
9866 mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
9867 mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
9868 mlib.ads, namet.adb, namet.ads, nlists.adb,
9869 nlists.ads, opt.adb, opt.ads, osint-b.adb,
9870 osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
9871 osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
9872 osint.ads, output.adb, output.ads, par-ch10.adb,
9873 par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
9874 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
9875 par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
9876 par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
9877 par-tchk.adb, par-util.adb, par.adb, par.ads,
9878 prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
9879 prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
9880 prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
9881 prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
9882 prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
9883 prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
9884 prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
9885 prj.adb, prj.ads, repinfo.adb, repinfo.ads,
9886 restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
9887 rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
9888 s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
9889 s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
9890 s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
9891 s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
9892 s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
9893 s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
9894 s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
9895 s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
9896 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
9897 s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
9898 s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
9899 s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
9900 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
9901 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
9902 s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
9903 s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
9904 s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
9905 s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
9906 s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
9907 s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
9908 s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
9909 s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
9910 s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
9911 s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
9912 s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
9913 s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
9914 s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
9915 s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
9916 s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
9917 s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
9918 s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
9919 s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
9920 s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
9921 s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
9922 s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
9923 s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
9924 s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
9925 s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
9926 s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
9927 s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
9928 s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
9929 s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
9930 s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
9931 s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
9932 s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
9933 s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
9934 s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
9935 s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
9936 s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
9937 s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
9938 s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
9939 s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
9940 s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
9941 s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
9942 s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
9943 s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
9944 s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
9945 s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
9946 s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
9947 s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
9948 s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
9949 s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
9950 s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
9951 s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
9952 s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
9953 s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
9954 s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
9955 s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
9956 s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
9957 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
9958 s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
9959 s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
9960 s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
9961 s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
9962 s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
9963 s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
9964 s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
9965 s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
9966 s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
9967 s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
9968 s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
9969 s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
9970 s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
9971 s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
9972 s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
9973 s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
9974 s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
9975 s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
9976 s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
9977 s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
9978 s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
9979 s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
9980 s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
9981 scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
9982 sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
9983 sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
9984 sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
9985 sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
9986 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
9987 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
9988 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
9989 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
9990 sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
9991 sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
9992 sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
9993 sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
9994 sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
9995 sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
9996 sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
9997 sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
9998 sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
9999 sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
10000 sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
10001 sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
10002 snames.ads, sprint.adb, sprint.ads, stand.adb,
10003 stand.ads, stringt.adb, stringt.ads, style.adb,
10004 style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
10005 switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
10006 switch-m.ads, switch.adb, switch.ads, system.ads,
10007 table.adb, table.ads, targparm.adb, targparm.ads,
10008 tbuild.adb, tbuild.ads, text_io.ads, trans.c,
10009 tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
10010 tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
10011 ttypef.ads, ttypes.ads, types.adb, types.ads,
10012 uintp.adb, uintp.ads, uname.adb, uname.ads,
10013 unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
10014 usage.adb, usage.ads, validsw.adb, validsw.ads,
10015 widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
10016 xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
10017 xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
10018 formatting and other trivial changes from ACT.
10019
10020 2003-04-12 Zack Weinberg <zack@codesourcery.com>
10021
10022 * gigi.h, utils2.c (build_constructor):
10023 Rename gnat_build_constructor. Use build_constructor.
10024 * decl.c (gnat_to_gnu_entity)
10025 * trans.c (tree_transform, pos_to_constructor, extract_values)
10026 * ada/utils.c (build_template, convert_to_fat_pointer, convert)
10027 (unchecked_convert)
10028 * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
10029 (fill_vms_descriptor):
10030 Update to match.
10031
10032 2003-04-06 Zack Weinberg <zack@codesourcery.com>
10033
10034 * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
10035 * misc.c (gnat_tree_size): New function.
10036 (LANG_HOOKS_TREE_SIZE): Override.
10037
10038 2003-04-03 Jason Merrill <jason@redhat.com>
10039
10040 * misc.c (gnat_adjust_rli): #if 0.
10041
10042 2003-03-31 Geert Bosch <bosch@gnat.com>
10043
10044 PR ada/10020
10045 * link.c : Fix misspelled "const" keyword
10046
10047 2003-03-23 Mark Mitchell <mark@codesourcery.com>
10048
10049 PR c++/7086
10050 * utils2.c: Adjust calls to put_var_into_stack.
10051
10052 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
10053
10054 * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
10055
10056 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
10057
10058 * misc.c (gnat_init): Update for new prototype.
10059
10060 2003-03-05 Olivier Hainque <hainque@gnat.com>
10061
10062 ada/9961
10063 * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
10064 warning, and fix return type for the IN_RTS && !SJLJ case.
10065
10066 2003-03-04 Tom Tromey <tromey@redhat.com>
10067
10068 * Make-lang.in (ada.tags): New target.
10069
10070 2003-03-04 Olivier Hainque <hainque@act-europe.fr>
10071
10072 ada/9911
10073 * a-except.adb (Unwind_RaiseException): Import a GNAT specific
10074 wrapper, which name remains constant whatever underlying GCC
10075 scheme.
10076
10077 * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
10078 the stable interface needed for a-except.
10079
10080 2003-03-02 Andreas Jaeger <aj@suse.de>
10081
10082 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10083 gnat_ug_wnt.texi: Regenerate.
10084
10085 2003-03-02 Laurent Guerby <guerby@acm.org>
10086
10087 * Makefile.in (install-gnatlib): Match previous change there
10088 so it works.
10089
10090 2003-02-28 Andreas Schwab <schwab@suse.de>
10091
10092 * Make-lang.in (install-gnatlib): Change to ada directory before
10093 running make instead of using ada/Makefile directly.
10094
10095 2003-02-18 Ben Elliston <bje@redhat.com>
10096
10097 Part of fix for PR ada/9406
10098 * gnat_ug.texi (Binder output file): Grammar fix.
10099
10100 2003-02-18 Ben Elliston <bje@redhat.com>
10101
10102 PR other/7350
10103 * 5qtaprop.adb (Sleep): Fix typo in comment.
10104
10105 2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
10106
10107 * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
10108 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10109 gnat_ug_wnt.texi: Regenerate.
10110
10111 2003-02-03 Christian Cornelssen <ccorn@cs.tu-berlin.de>
10112
10113 * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
10114 be created if necessary.
10115 (ada.install-common): Let $(DESTDIR)$(bindir) be created
10116 if necessary. Remove erroneous and redundant gnatchop
10117 installation commands. Test for gnatdll before attempting
10118 to install it.
10119 (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
10120 and gnatdll from all plausible locations.
10121
10122 2003-02-01 Richard Sandiford <rsandifo@redhat.com>
10123
10124 * utils2.c (build_unary_op): Don't check flag_volatile.
10125 * gnat_ug.texi: Remove -fvolatile from example.
10126 * gnat_ug_vxw.texi: Likewise.
10127
10128 2003-01-29 Laurent Guerby <guerby@acm.org>
10129
10130 PR ada/8344
10131 * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
10132 * Makefile.in: match previous change.
10133 * Make-lang.in: match previous change.
10134
10135 2003-01-29 Joel Sherrill <joel@OARcorp.com>
10136
10137 * 5rosinte.ads: Add SIGXCPU.
10138 * 5rtpopsp.adb: New file.
10139 * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
10140 * Makefile.in: Recognize more RTEMS targets and add the RTEMS
10141 specific file 5rtpopsp.adb.
10142 * adaint.h: Add include of <stdio.h> when target is RTEMS. This
10143 is likely needed for all newlib targets.
10144 * init.c: Add RTEMS specific version of __gnat_initialize().
10145
10146 2003-01-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10147
10148 * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
10149
10150 2003-01-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10151
10152 * init.c (__gnat_error_handler): Make msg const.
10153
10154 * gmem.c (convert_addresses): Move declaration ...
10155 * adaint.h: ... here.
10156 * adaint.c (convert_addresses): Adapt addrs type to match
10157 prototype.
10158
10159 * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
10160
10161 2003-01-24 Andreas Schwab <schwab@suse.de>
10162
10163 * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
10164 size_t to avoid warning.
10165
10166 2003-01-21 Zack Weinberg <zack@codesourcery.com>
10167
10168 * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
10169
10170 2003-01-09 Geoffrey Keating <geoffk@apple.com>
10171
10172 * gnat_rm.texi: Remove RCS version number.
10173
10174 * ada-tree.h (union lang_tree_node): Add chain_next option.
10175
10176 2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
10177
10178 * Make-lang.in (ada.install-info, ada.install-common,
10179 ada.uninstall): Prepend $(DESTDIR) to the destination
10180 directory in all (un)installation commands.
10181 * Makefile.in (install-gnatlib, install-rts): Ditto.
10182
10183 2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
10184
10185 * gnat_rm.texi, gnat_ug.texi: Use @copying.
10186 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10187 gnat_ug_wnt.texi: Regenerate.
10188
10189 2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
10190
10191 * gnat_rm.texi: Include gcc-common.texi. Use GCC version number
10192 only.
10193 * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
10194 $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
10195 $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
10196 ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
10197 ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
10198 $(srcdir)/doc/include/gcc-common.texi.
10199
10200 2002-12-15 Geert Bosch <bosch@gnat.com>
10201
10202 * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
10203
10204 2002-12-14 Geert Bosch <bosch@gnat.com>
10205
10206 * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
10207 case of a body created for a Renaming_As_Body, on which
10208 conformance checks are not performed. Fixes PR ada/5690.
10209
10210 2002-11-30 Zack Weinberg <zack@codesourcery.com>
10211
10212 * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
10213 utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
10214 not already included.
10215 * Make-lang.in: Update dependencies.
10216
10217 2002-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
10218 * adaint.c (__gnat_tmp_name): Better, but good enough for now,
10219 solution to buffer overflow bug on GNU/Linux.
10220
10221 2002-11-14 Nathanael Nerode <neroden@gcc.gnu.org>
10222 Closes PR ada/5856 and PR ada/6919 !
10223 * bindgen.adb: Remove all references to Public_Version.
10224 * comperr.adb: Remove all references to Public_Version and
10225 GNATPRO_Version; correct bug reporting instructions.
10226 * comperr.ads: Change to match bug box.
10227 * gnatvsn.ads: Remove all references to Public version and
10228 GNATPRO version.
10229
10230 2002-11-13 Nathanael Nerode <neroden@gcc.gnu.org>
10231 PR ada/6919
10232 * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
10233 GNU/Linux.
10234
10235 PR ada/6558
10236 * config-lang.in: Remove diff_excludes.
10237
10238 2002-11-05 Graham Stott <graham.stott@btinternet.com>
10239 PR ada/8358
10240 * trans.c (gnu_pending_elaboration_lists): New GC root.
10241 (build_unit_elab): Use..
10242
10243 2002-10-30 Geert Bosch <bosch@gnat.com>
10244 PR ada/6558
10245 * misc.c : Include optabs.h
10246
10247 * Make-lang.in (misc.o): Add dependency on optabs.h
10248
10249 2002-10-29 Geert Bosch <bosch@gnat.com>
10250 PR ada/6558
10251 * Make-lang.in (gnatbind): Depend on CONFIG_H
10252
10253 2002-10-29 Geert bosch <bosch@gnat.com>
10254 PR ada/6558
10255 * misc.c: Unrevert misc.c (1.13)
10256
10257 2002-10-28 Nathanael Nerode <neroden@gcc.gnu.org>
10258
10259 * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
10260 maintainership comments.
10261
10262 2002-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
10263 PR ada/5904
10264 * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
10265 5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
10266 5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
10267 7staprop.adb: Correct statements in comments about
10268 maintainership of GNAT.
10269
10270 PR ada/5904
10271 * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
10272 gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
10273 osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
10274 osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
10275 s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
10276 s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
10277 sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
10278 switch-c.ads switch-m.adb switch-m.ads: Correct statements in
10279 comments about maintainership of GNAT.
10280
10281 PR ada/6919 (forward port of patch for PR ada/5904)
10282 * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
10283 4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
10284 4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
10285 4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
10286 4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
10287 4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
10288 4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
10289 52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
10290 5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
10291 5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
10292 5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
10293 5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
10294 5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
10295 5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
10296 5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
10297 5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
10298 5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
10299 5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
10300 5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
10301 5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
10302 5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
10303 5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
10304 5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
10305 5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
10306 5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
10307 5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
10308 5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
10309 5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
10310 7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
10311 a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
10312 a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
10313 a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
10314 a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
10315 a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
10316 a-except.adb a-except.ads a-excpol.adb a-exctra.adb
10317 a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
10318 a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
10319 a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
10320 a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
10321 a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
10322 a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
10323 a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
10324 a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
10325 a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
10326 a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
10327 a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
10328 a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
10329 a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
10330 a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
10331 a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
10332 a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
10333 a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
10334 a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
10335 a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
10336 a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
10337 a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
10338 a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
10339 a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
10340 a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
10341 a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
10342 a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
10343 a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
10344 a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
10345 a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
10346 a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
10347 a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
10348 a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
10349 a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
10350 adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
10351 alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
10352 back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
10353 binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
10354 bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
10355 ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
10356 csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
10357 cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
10358 debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
10359 einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
10360 errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
10361 exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
10362 exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
10363 exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
10364 exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
10365 exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
10366 exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
10367 exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
10368 exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
10369 exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
10370 exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
10371 exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
10372 exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
10373 exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
10374 final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
10375 fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
10376 freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
10377 g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
10378 g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
10379 gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
10380 gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
10381 gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
10382 gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
10383 gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
10384 gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
10385 i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
10386 i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
10387 i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
10388 i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
10389 impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
10390 itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
10391 lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
10392 lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
10393 lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
10394 lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
10395 makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
10396 namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
10397 nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
10398 osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
10399 par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
10400 par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
10401 par-endh.adb par-labl.adb par-load.adb par-prag.adb
10402 par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
10403 prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
10404 prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
10405 prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
10406 prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
10407 prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
10408 prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
10409 repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
10410 rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
10411 s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
10412 s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
10413 s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
10414 s-direio.adb s-direio.ads s-except.ads s-exctab.adb
10415 s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
10416 s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
10417 s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
10418 s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
10419 s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
10420 s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
10421 s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
10422 s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
10423 s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
10424 s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
10425 s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
10426 s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
10427 s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
10428 s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
10429 s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
10430 s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
10431 s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
10432 s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
10433 s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
10434 s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
10435 s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
10436 s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
10437 s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
10438 s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
10439 s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
10440 s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
10441 s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
10442 s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
10443 s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
10444 s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
10445 s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
10446 s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
10447 s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
10448 s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
10449 s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
10450 s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
10451 s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
10452 s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
10453 s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
10454 s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
10455 s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
10456 s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
10457 s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
10458 s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
10459 s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
10460 s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
10461 s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
10462 s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
10463 s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
10464 s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
10465 s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
10466 s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
10467 s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
10468 s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
10469 s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
10470 s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
10471 s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
10472 s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
10473 s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
10474 s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
10475 s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
10476 s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
10477 s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
10478 s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
10479 s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
10480 s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
10481 s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
10482 s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
10483 s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
10484 s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
10485 s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
10486 s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
10487 s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
10488 s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
10489 s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
10490 s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
10491 s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
10492 s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
10493 scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
10494 sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
10495 sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
10496 sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
10497 sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
10498 sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
10499 sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
10500 sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
10501 sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
10502 sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
10503 sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
10504 sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
10505 sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
10506 sem_type.adb sem_type.ads sem_util.adb sem_util.ads
10507 sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
10508 sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
10509 sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
10510 sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
10511 snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
10512 stringt.ads stringt.h style.adb style.ads stylesw.adb
10513 stylesw.ads switch.adb switch.ads sysdep.c system.ads
10514 table.adb table.ads targparm.adb targparm.ads targtyps.c
10515 tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
10516 tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
10517 treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
10518 types.adb types.ads types.h uintp.adb uintp.ads uintp.h
10519 uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
10520 usage.ads utils.c utils2.c validsw.adb validsw.ads
10521 widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
10522 xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
10523 xtreeprs.adb: Correct statements in comments about maintainership
10524 of GNAT.
10525
10526 2002-09-23 Zack Weinberg <zack@codesourcery.com>
10527
10528 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
10529 * Makefile.in (TOOLS_LIBS): Add ../../version.o.
10530 * gnatvsn.ads: Gnat_Version_String is now a function.
10531 * gnatvsn.adb: New file. When asked for Gnat_Version_String,
10532 copy the C version_string into a String and return it.
10533 * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
10534 gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
10535 Remove pragma Ident (Gnat_Version_String). If this was the
10536 sole use of package Gnatvsn, remove the with statement too.
10537 * gnat1drv.adb: Tweak -gnatv output.
10538
10539 2002-09-17 Richard Henderson <rth@redhat.com>
10540
10541 * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
10542 * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
10543 * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
10544 (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
10545 * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
10546 and real_2expN instead of a loop.
10547 * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
10548 (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
10549
10550 2002-08-25 Andre Leis <a.leis@gmx.net>
10551 David Billinghurst (David.Billinghurst@riotinto.com>
10552
10553 * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
10554
10555 2002-08-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10556
10557 * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
10558 Remove $(CONFIG_H) dependency.
10559
10560 2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
10561
10562 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
10563
10564 2002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10565
10566 * adadecode.c (ada_demangle): Use xstrdup in lieu of
10567 xmalloc/strcpy.
10568 * misc.c (gnat_decode_option): Likewise.
10569
10570 2002-07-15 Florian Weimer <fw@deneb.enyo.de>
10571
10572 * make.adb (Add_Switch): Make Generic_Position a procedure. The
10573 function approach did not work well because of a side effect (the
10574 function call could reallocate the table which was being indexed
10575 using its result). Fixes ada/4851. [RESURRECTED]
10576
10577 2002-07-01 Roger Sayle <roger@eyesopen.com>
10578
10579 * ada/utils.c (builtin_function): Accept an additional parameter.
10580
10581 2002-06-28 Andreas Jaeger <aj@suse.de>
10582
10583 PR ada/7144
10584 * Makefile.in: Fix typo in comment, patch by Adrian Knoth
10585 <adi@thur.de>.
10586
10587 2002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10588
10589 * Makefile.in (SHELL): Set to @SHELL@.
10590
10591 2002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10592
10593 * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
10594 array size calculation.
10595
10596 2002-06-04 Andreas Jaeger <aj@suse.de>
10597
10598 * Make-lang.in (gnatbind): Readd rule that has been lost in last
10599 patch.
10600
10601 2002-06-03 Geoffrey Keating <geoffk@redhat.com>
10602
10603 Merge from pch-branch:
10604
10605 * config-lang.in (gtfiles): Add ada-tree.h.
10606 * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
10607 (SET_TYPE_MODULUS): New.
10608 (SET_TYPE_INDEX): New.
10609 (SET_TYPE_DIGITS_VALUE): New.
10610 (SET_TYPE_RM_SIZE): New.
10611 (SET_TYPE_UNCONSTRAINED_ARRAY): New.
10612 (SET_TYPE_ADA_SIZE): New.
10613 (SET_TYPE_ACTUAL_BOUNDS): New.
10614 (SET_DECL_CONST_CORRESPONDING_VAR): New.
10615 (SET_DECL_ORIGINAL_FIELD): New.
10616 (TREE_LOOP_ID): Correct typo.
10617 * decl.c: Use new macros.
10618 * utils.c: Include debug.h, use new macros.
10619 * utils2.c: Use new macros.
10620
10621 * ada-tree.h: Update all macros for new tree description.
10622 (struct tree_loop_id): New.
10623 (union lang_tree_node): New.
10624 (struct lang_decl): New.
10625 (struct lang_type): New.
10626 * misc.c (gnat_mark_tree): Delete.
10627 (LANG_HOOKS_MARK_TREE): Delete.
10628 * trans.c (tree_transform): No longer any need to cast
10629 for TREE_LOOP_ID.
10630
10631 * utils.c (struct language_function): New dummy structure.
10632
10633 * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
10634 (misc.o): Likewise.
10635 (utils.o): Likewise; also gtype-ada.h.
10636 * Make-lang.in (gnat1): Add dependency on s-gtype.
10637 (gnatbind): Add dependency on $(CONFIG_H).
10638 * utils.c: Correct last #include.
10639 (stuct e_stack): Remove unnecessary 'static'.
10640 (mark_e_stack): Remove unused prototype.
10641
10642 * scn-nlit.adb: Remove whitespace after version number to
10643 keep lines under 80 chars.
10644 * snames.adb: Likewise.
10645 * treepr.ads: Likewise.
10646
10647 * Makefile.in (decl.o): Include gt-ada-<filename>.h.
10648 (misc.o): Likewise.
10649 (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
10650 * config-lang.in (gtfiles): New.
10651 * decl.c: Use gengtype for roots.
10652 * gigi.h: Use gengtype for roots.
10653 * trans.c: Use gengtype for roots.
10654 * utils.c: Use gengtype for roots, marking. Include gtype-ada.h.
10655
10656 2002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
10657
10658 * misc.c (gnat_init): Adjust setting of internal_error_function.
10659
10660 2002-06-01 Joseph S. Myers <jsm28@cam.ac.uk>
10661
10662 * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
10663 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10664 gnat_ug_wnt.texi: Regenerate.
10665
10666 2002-05-31 Florian Weimer <fw@deneb.enyo.de>
10667
10668 * 5ntaprop.adb (with System.OS_Primitives): Remove.
10669
10670 * cstreams.c (max_path_len): Move from here ...
10671 * adaint.c (__gnat_max_path_len): ... to here.
10672 * adaint.c (__gnat_max_path_len): Declare.
10673 * g-dirope.adb (Max_Path): Adjust.
10674 * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
10675 * i-cstrea.ads (max_path_len): Adjust.
10676 * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
10677 * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
10678
10679 * Makefile.in, Make-lang.in: Documentation is now built in
10680 Make-lang.in. Store Info and generated Texinfo files in the
10681 source directory.
10682 * gnat_ug.texi: Remove CVS keywords, correct version number.
10683 Set file name correctly.
10684
10685 * gnat_ug_*.texi: Add.
10686 * .cvsignore: Ignore generated Texinfo files.
10687
10688 2002-05-30 Zack Weinberg <zack@codesourcery.com>
10689
10690 * ada.h: Add MI guard macro.
10691 (SUBTYPE): Define constants with an anonymous enum, not static
10692 const variables.
10693 (IN): Cast constants to appropriate type before use.
10694
10695 2002-05-26 Joseph S. Myers <jsm28@cam.ac.uk>
10696
10697 * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
10698 (experimental)".
10699
10700 2002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10701
10702 * Make-lang.in (CP, ECHO): Copy from Makefile.in.
10703 (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
10704 (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
10705 (ALL_ADA_CFLAGS): Likewise.
10706 (ADA_INCLUDES): Likewise.
10707 Adapt for new working dir.
10708 (GNATBIND): Use Makefile.in version.
10709 (.SUFFIXES): Copy from Makefile.in.
10710 (ada-warn): Define.
10711 (.adb.o, .ads.o): Copy from Makefile.in.
10712 Added $(OUTPUT_OPTION).
10713 (GNAT1_C_OBJS): Moved from Makefile.in.
10714 Prefix with ada subdir.
10715 (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
10716 (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
10717 Adapt for new working dir.
10718 (EXTRA_GNATBIND_OBJS): Likewise.
10719 (ADA_BACKEND): Moved from Makefile.in.
10720 Renamed to avoid conflict with global BACKEND.
10721 Use that one.
10722 (TARGET_ADA_SRCS): Moved from Makefile.in.
10723 (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
10724 Use ADA_BACKEND.
10725 (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
10726 (ada_extra_files): Moved from Makefile.in.
10727 Prefix with ada subdir.
10728 (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
10729 (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
10730 (ada/nmake.ads): Likewise.
10731 (update-sources): Moved from Makefile.in.
10732 Prefix with ada subdir.
10733 (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
10734 (ADA_TREE_H): Likewise.
10735 (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
10736 (ada/memtrack.o): Likewise.
10737 (ada/adadecode.o): Likewise.
10738 Update dependencies.
10739 (ada/adaint.o): New.
10740 (ada/argv.o): Moved from Makefile.in.
10741 Prefix with ada subdir.
10742 Update dependencies.
10743 (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
10744 (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
10745 (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
10746 Prefix with ada subdir.
10747 (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
10748 (GNAT DEPENDENCIES): Regenerate.
10749 * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
10750 toplevel Makefile.in.
10751 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
10752 (TARGET_ADA_SRCS): Removed.
10753 (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
10754 (GNATBIND_OBJS): Likewise.
10755 (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
10756 (BACKEND): Removed.
10757 (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
10758 (TREE_H): Likewise.
10759 (ada_extra_files): Likewise.
10760 (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
10761 (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
10762 (update-sources): Likewise.
10763 (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
10764 (ADA_TREE_H): Likewise.
10765 (adadecoce.o): Likewise.
10766 (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
10767 (GNAT DEPENDENCIES): Likewise.
10768
10769 2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10770
10771 * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
10772 * Makefile.in: Likewise.
10773
10774 2002-05-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10775
10776 * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
10777 Restore $(CONFIG_H) and prefix.o dependencies.
10778 (ada.stage[1-4]): Depend on stage?-start.
10779
10780 * Makefile.in (b_gnatb.c): Depend on interfac.o.
10781
10782 2002-05-02 Jim Wilson <wilson@redhat.com>
10783
10784 * utils.c (finish_record_type): Change record_size to record_type.
10785
10786 2001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
10787
10788 * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
10789 (ALL_ADA_CFLAGS): Define. Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
10790 ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
10791
10792 2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
10793
10794 * misc.c (gnat_parse_file): Update.
10795
10796 2002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
10797
10798 * misc.c (gnat_init): Don't set lang_attribute_common.
10799
10800 2002-04-21 Joseph S. Myers <jsm28@cam.ac.uk>
10801
10802 * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
10803
10804 2002-04-21 Florian Weimer <fw@deneb.enyo.de>
10805
10806 * gnat_ug.texi: New file.
10807
10808 * gnat_rm.texi: Do not include texiplus.texi. Include fdl.texi
10809 instead of gfdl.texi
10810
10811 * xgnatug.adb, ug_words: New files.
10812
10813 * Makefile.in (doc, dvi): New targets. Build gnat_ug_*,
10814 gnat_rm and gnat-style manuals.
10815
10816 2002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
10817
10818 * gigi.h (incomplete_type_error): Remove.
10819 * utils.c (incomplete_type_error): Remove.
10820
10821 2002-04-16 Mark Mitchell <mark@codesourcery.com>
10822
10823 * trans.c (tree_transform): Add has_scope argument to
10824 expand_start_stmt_expr.
10825
10826 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
10827
10828 * gigi.h (truthvalue_conversion): Rename.
10829 * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
10830 * trans.c (tree_transform): Update.
10831 * utils2.c (truthvalue_conversion): Rename, update.
10832 (build_binary_op, build_unary_op): Update.
10833
10834 2002-04-04 Laurent Guerby <guerby@acm.org>
10835
10836 * make.adb: Implement -margs, remove restriction about file name placement.
10837 * makeusg.adb: Documentation update.
10838 * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
10839 * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
10840
10841 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
10842
10843 * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
10844 (builtin_function): Similarly.
10845
10846 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
10847
10848 * decl.c (gnat_to_gnu_entity): Update.
10849 * gigi.h (mark_addressable): Rename.
10850 * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
10851 * trans.c (tree_transform): Update.
10852 * utils.c (create_var_decl): Update.
10853 * util2.c (build_binary_op, build_unary_op,
10854 fill_vms_descriptor): Update.
10855 (mark_addressable): Rename, update.
10856
10857 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
10858
10859 * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
10860 Rename.
10861 * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
10862 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
10863 * trans.c (tree_transform, convert_with_check): Update.
10864 * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
10865 Rename.
10866
10867 2002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
10868
10869 * gigi.h (finish_incomplete_decl): Rename.
10870 * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
10871 * utils.c (gnat_init_decl_processing): Don't set hook.
10872 (finish_incomplete_decl): Rename.
10873
10874 2002-03-29 Andreas Schwab <schwab@suse.de>
10875
10876 * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
10877 directory.
10878
10879 2001-03-28 Robert Dewar <dewar@gnat.com>
10880
10881 * checks.ads:
10882 (Remove_Checks): New procedure
10883
10884 * checks.adb:
10885 (Remove_Checks): New procedure
10886
10887 * exp_util.adb:
10888 Use new Duplicate_Subexpr functions
10889 (Duplicate_Subexpr_No_Checks): New procedure
10890 (Duplicate_Subexpr_No_Checks_Orig): New procedure
10891 (Duplicate_Subexpr): Restore original form (checks duplicated)
10892 (Duplicate_Subexpr): Call Remove_Checks
10893
10894 * exp_util.ads:
10895 (Duplicate_Subexpr_No_Checks): New procedure
10896 (Duplicate_Subexpr_No_Checks_Orig): New procedure
10897 Add 2002 to copyright notice
10898
10899 * sem_util.adb: Use new Duplicate_Subexpr functions
10900
10901 * sem_eval.adb:
10902 (Eval_Indexed_Component): This is the place to call
10903 Constant_Array_Ref and to replace the value. We simply merge
10904 the code of this function in here, since it is now no longer
10905 used elsewhere. This fixes the problem of the back end not
10906 realizing we were clever enough to see that this was
10907 constant.
10908 (Expr_Val): Remove call to Constant_Array_Ref
10909 (Expr_Rep_Val): Remove call to Constant_Array_Ref
10910 Minor reformatting
10911 (Constant_Array_Ref): Deal with string literals (patch
10912 suggested by Zack Weinberg on the gcc list)
10913
10914 2001-03-28 Ed Schonberg <schonber@gnat.com>
10915
10916 * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
10917 Duplicate_Subexpr_Move_Checks.
10918
10919 * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
10920 Duplicate_Subexpr_Move_Checks.
10921
10922 * sem_eval.adb: (Constant_Array_Ref): Verify that constant
10923 value of array exists before retrieving it (it may a private
10924 protected component in a function).
10925
10926 2002-03-28 Geert Bosch <bosch@gnat.com>
10927
10928 * prj-pp.adb : New file.
10929
10930 * prj-pp.ads : New file.
10931
10932 2002-03-28 Andreas Jaeger <aj@suse.de>
10933
10934 * Makefile.in (stamp-sdefault): Fix path for Makefile.
10935
10936 2002-03-28 Neil Booth <neil@daikokuya.demon.co.uk>
10937
10938 * misc.c (gnat_expand_expr): Move prototype.
10939
10940 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
10941
10942 * misc.c (insert_default_attributes): Remove.
10943
10944 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
10945
10946 * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
10947 (gnat_init): Don't set hook.
10948 (gnat_expand_expr): Fix prototype.
10949
10950 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
10951
10952 * misc.c (ggc_p): Remove.
10953
10954 2002-03-27 Geert Bosch <bosch@gnat.com>
10955
10956 * prj-makr.ads, prj-makr.adb : New files.
10957
10958 2002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
10959
10960 * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
10961 (lang_mark_tree): Make static, rename.
10962
10963 2002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
10964
10965 * misc.c (maybe_build_cleanup): Remove.
10966
10967 2002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
10968
10969 * gigi.h (yyparse): Remove.
10970
10971 2002-03-23 Florian Weimer <fw@deneb.enyo.de>
10972
10973 * gnat_rm.texi: Sync with ACT version.
10974 (From Ben Brosgol <brosgol@gnat.com>)
10975
10976 2002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
10977
10978 * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
10979 (gnat_init): Remove old hook.
10980
10981 2002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
10982
10983 * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
10984 (yyparse): Rename gnat_parse_file.
10985
10986 2002-03-14 Geoffrey Keating <geoffk@redhat.com>
10987
10988 Delete all lines containing "$Revision:".
10989 * xeinfo.adb: Don't look for revision numbers.
10990 * xnmake.adb: Likewise.
10991 * xsinfo.adb: Likewise.
10992 * xsnames.adb: Likewise.
10993 * xtreeprs.adb: Likewise.
10994
10995 2002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10996
10997 * misc.c (gnat_tree_code_type, gnat_tree_code_length,
10998 gnat_tree_code_name): Delete.
10999 (tree_code_type, tree_code_length, tree_code_name): Define.
11000 (gnat_init): Don't try to copy into the various tree_code
11001 arrays.
11002
11003 2002-03-11 Richard Henderson <rth@redhat.com>
11004
11005 * Makefile.in (.NOTPARALLEL): Add fake tag.
11006
11007 2002-03-07 Geert Bosch <bosch@gnat.com>
11008
11009 * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
11010 s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
11011 switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
11012 switch-m.adb, switch-m.ads : New files.
11013
11014 2002-03-07 Geert Bosch <bosch@gnat.com>
11015
11016 * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
11017 4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
11018 4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
11019 4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
11020 5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
11021 5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
11022 5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
11023 5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
11024 5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
11025 5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
11026 5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
11027 5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
11028 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
11029 5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
11030 5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
11031 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
11032 5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
11033 5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
11034 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
11035 5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
11036 7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
11037 Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
11038 a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
11039 a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
11040 a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
11041 a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
11042 a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
11043 a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
11044 a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
11045 adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
11046 atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
11047 bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
11048 csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
11049 einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
11050 eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
11051 exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
11052 exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
11053 exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
11054 exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
11055 exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
11056 expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
11057 freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
11058 g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
11059 g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
11060 g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
11061 g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
11062 g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
11063 g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
11064 gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
11065 gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
11066 gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
11067 i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
11068 impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
11069 lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
11070 lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
11071 memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
11072 mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
11073 nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
11074 output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
11075 par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
11076 prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
11077 prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
11078 prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
11079 rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
11080 s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
11081 s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
11082 s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
11083 s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
11084 s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
11085 s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
11086 s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
11087 s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
11088 s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
11089 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
11090 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
11091 s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
11092 s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
11093 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
11094 s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
11095 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
11096 sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
11097 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
11098 sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
11099 sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
11100 sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
11101 sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
11102 sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
11103 sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
11104 sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
11105 snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
11106 stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
11107 table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
11108 tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
11109 treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
11110 types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
11111 utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
11112 xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
11113
11114 * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
11115 g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
11116 mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
11117 osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
11118
11119 * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
11120 5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
11121
11122 * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
11123 to mdll-fil.ad[bs] and mdll-util.ad[bs]
11124
11125 * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
11126 from mdllfile.ad[bs] and mdlltool.ad[bs]
11127
11128 2002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11129
11130 * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
11131 lieu of explicit sizeof/sizeof.
11132
11133 2002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
11134
11135 * misc.c (copy_lang_decl): Remove.
11136
11137 2002-02-27 Zack Weinberg <zack@codesourcery.com>
11138
11139 * misc.c: Delete traditional-mode-related code copied from the
11140 C front end but not used, or used only to permit the compiler
11141 to link.
11142
11143 2002-02-07 Richard Henderson <rth@redhat.com>
11144
11145 * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
11146 * adaint.h (__gnat_to_gm_time): Update prototype.
11147
11148 2002-01-30 Richard Henderson <rth@redhat.com>
11149
11150 * trans.c (tree_transform) [N_Loop_Statement]: Use
11151 expand_exit_loop_top_cond.
11152
11153 2001-12-23 Richard Henderson <rth@redhat.com>
11154
11155 * utils.c (end_subprog_body): Push GC context around
11156 rest_of_compilation for nested functions.
11157
11158 2001-12-23 Richard Henderson <rth@redhat.com>
11159
11160 * 5nosinte.ads: Get definition of "int" from Interfaces.C.
11161
11162 2001-12-23 Florian Weimer <fw@deneb.enyo.de>
11163
11164 * gnat-style.texi (Declarations and Types): Remove ancient style
11165 rule which was mandated by code generation issues.
11166
11167 * gnat-style.texi (header): Add @dircategory, @direntry.
11168 (title page): Remove date.
11169 (general) Add @./@: where approriate, and two spaces after the
11170 full stop at the end of a sentence. Use @samp markup when
11171 referring concrete lexical entities (keywords, attribute names
11172 etc.), and @syntax for ARM grammar elements. Use @r for English
11173 text in comments. Use @emph for emphasis. Change "if-statements"
11174 etc. to "if statements" (without @samp). Break long lines. Make
11175 casing of section names consistent.
11176 (Identifiers): Use @samp markup for variable names.
11177 (Comments): Use @samp markup for comment characters. Line-end
11178 comments may follow any Ada code, not just statements. Fix
11179 misspelling of "Integer" as "integer".
11180 (Loop statements): Do not use variable name "I", use "J".
11181 (Subprogram Declarations): Document alignment.
11182 (Subprogram Bodies, Block statements): Document empty line before
11183 "begin".
11184
11185 2001-12-22 Florian Weimer <fw@deneb.enyo.de>
11186
11187 * make.adb (Add_Switch): Make Generic_Position a procedure. The
11188 function approach did not work well because of a side effect (the
11189 function call could reallocate the table which was being indexed
11190 using its result). Fixes ada/4851.
11191
11192 2001-12-19 Robert Dewar <dewar@gnat.com>
11193
11194 * bindgen.adb: Minor reformatting
11195
11196 * cstand.adb: Minor reformatting
11197
11198 * fmap.adb: Minor reformatting
11199 Change name from Add for Add_To_File_Map (Add is much too generic)
11200 Change Path_Name_Of to Mapped_Path_Name
11201 Change File_Name_Of to Mapped_File_Name
11202 Fix copyright dates in header
11203
11204 * fmap.ads:
11205 Change name from Add for Add_To_File_Map (Add is much too generic)
11206 Change Path_Name_Of to Mapped_Path_Name
11207 Change File_Name_Of to Mapped_File_Name
11208 Fix copyright dates in header
11209
11210 * fname-uf.adb: Minor reformatting. New names of stuff in Fmap.
11211 Add use clause for Fmap.
11212
11213 * make.adb: Minor reformatting
11214
11215 * osint.adb: Minor reformatting. Change of names in Fmap.
11216 Add use clause for Fmap.
11217
11218 * prj-env.adb: Minor reformatting
11219
11220 * prj-env.ads: Minor reformatting
11221
11222 * switch.adb: Minor reformatting. Do proper raise of Bad_Switch if
11223 error found (there were odd exceptions to this general rule in
11224 -gnatec/-gnatem processing)
11225
11226 2001-12-19 Olivier Hainque <hainque@gnat.com>
11227
11228 * raise.c (__gnat_eh_personality): Exception handling personality
11229 routine for Ada. Still in rough state, inspired from the C++ version
11230 and still containing a bunch of debugging artifacts.
11231 (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
11232 inspired from the C++ library.
11233
11234 * raise.c (eh_personality): Add comments. Part of work for the GCC 3
11235 exception handling integration.
11236
11237 2001-12-19 Arnaud Charlet <charlet@gnat.com>
11238
11239 * Makefile.in: Remove use of 5smastop.adb which is obsolete.
11240 (HIE_SOURCES): Add s-secsta.ad{s,b}.
11241 (HIE_OBJS): Add s-fat*.o
11242 (RAVEN_SOURCES): Remove files that are no longer required. Add
11243 interrupt handling files.
11244 (RAVEN_MOD): Removed, no longer needed.
11245
11246 2001-12-19 Robert Dewar <dewar@gnat.com>
11247
11248 * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
11249 Add 2001 to copyright date
11250
11251 * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
11252 need to force universal inlining for these cases.
11253
11254 2001-12-19 Arnaud Charlet <charlet@gnat.com>
11255
11256 * s-taprob.adb: Minor clean ups so that this unit can be used in
11257 Ravenscar HI.
11258
11259 * exp_ch7.adb: Allow use of secondary stack in HI mode.
11260 Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
11261
11262 2001-12-19 Vincent Celier <celier@gnat.com>
11263
11264 * prj-tree.ads (Project_Node_Record): Add comments for components
11265 Pkg_Id and Case_Insensitive.
11266
11267 2001-12-19 Pascal Obry <obry@gnat.com>
11268
11269 * g-socket.adb: Minor reformatting. Found while reading code.
11270
11271 2001-12-19 Robert Dewar <dewar@gnat.com>
11272
11273 * prj-tree.ads: Minor reformatting
11274
11275 2001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
11276
11277 * config-lang.in (diff_excludes): Remove.
11278
11279 2001-12-17 Ed Schonberg <schonber@gnat.com>
11280
11281 * sem_res.adb (Resolve_Selected_Component): do not generate a
11282 discriminant check if the selected component is a component of
11283 the argument of an initialization procedure.
11284
11285 * trans.c (tree_transform, case of arithmetic operators): If result
11286 type is private, the gnu_type is the base type of the full view,
11287 given that the full view itself may be a subtype.
11288
11289 2001-12-17 Robert Dewar <dewar@gnat.com>
11290
11291 * sem_res.adb: Minor reformatting
11292
11293 * trans.c (tree_transform, case N_Real_Literal): Add missing third
11294 parameter in call to Machine (unknown horrible effects from this
11295 omission).
11296
11297 * urealp.h: Add definition of Round_Even for call to Machine
11298 Add third parameter for Machine
11299
11300 2001-12-17 Ed Schonberg <schonber@gnat.com>
11301
11302 * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
11303 predefined units in No_Run_Time mode.
11304
11305 2001-12-17 Richard Kenner <kenner@gnat.com>
11306
11307 * misc.c (insn-codes.h): Now include.
11308
11309 2001-12-17 Olivier Hainque <hainque@gnat.com>
11310
11311 * a-except.adb: Preparation work for future integration of the GCC 3
11312 exception handling mechanism
11313 (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
11314 to factorize previous code sequences and make them externally callable,
11315 e.g. for the Ada personality routine when the GCC 3 mechanism is used.
11316 (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
11317 Use the new notification routines.
11318
11319 2001-12-17 Emmanuel Briot <briot@gnat.com>
11320
11321 * prj-tree.ads (First_Choice_Of): Document the when others case
11322
11323 2001-12-17 Arnaud Charlet <charlet@gnat.com>
11324
11325 * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
11326 HI-E mode, in order to support Ravenscar profile properly.
11327
11328 * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
11329 mode on 32 bits targets.
11330
11331 2001-12-17 Vincent Celier <celier@gnat.com>
11332
11333 * fmap.adb: Initial version.
11334
11335 * fmap.ads: Initial version.
11336
11337 * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
11338 If search is successfully done, add to mapping.
11339
11340 * frontend.adb: Initialize the mapping if a -gnatem switch was used.
11341
11342 * make.adb:
11343 (Gnatmake): Add new local variable Mapping_File_Name.
11344 Create mapping file when using project file(s).
11345 Delete mapping file before exiting.
11346
11347 * opt.ads (Mapping_File_Name): New variable
11348
11349 * osint.adb (Find_File): Use path name found in mapping, if any.
11350
11351 * prj-env.adb (Create_Mapping_File): New procedure
11352
11353 * prj-env.ads (Create_Mapping_File): New procedure.
11354
11355 * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
11356 (Mapping_File)
11357
11358 * usage.adb: Add entry for new switch -gnatem.
11359
11360 * Makefile.in: Add dependencies for fmap.o.
11361
11362 2001-12-17 Ed Schonberg <schonber@gnat.com>
11363
11364 * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
11365 is a package instantiation rewritten as a package body.
11366 (Install_Withed_Unit): Undo previous change, now redundant.
11367
11368 2001-12-17 Gary Dismukes <dismukes@gnat.com>
11369
11370 * layout.adb:
11371 (Compute_Length): Move conversion to Unsigned to callers.
11372 (Get_Max_Size): Convert Len expression to Unsigned after calls to
11373 Compute_Length and Determine_Range.
11374 (Layout_Array_Type): Convert Len expression to Unsigned after calls to
11375 Compute_Length and Determine_Range.
11376 Above changes fix problem with length computation for supernull arrays
11377 where Max (Len, 0) wasn't getting applied due to the Unsigned
11378 conversion used by Compute_Length.
11379
11380 2001-12-17 Arnaud Charlet <charlet@gnat.com>
11381
11382 * rtsfind.ads:
11383 (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
11384 System.Secondary_Stack.
11385 (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
11386 in HI-E mode.
11387 Remove unused entity RE_Exception_Data.
11388
11389 * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
11390
11391 * rident.ads (No_Secondary_Stack): New restriction.
11392
11393 2001-12-17 Joel Brobecker <brobecke@gnat.com>
11394
11395 * gnat_rm.texi: Fix minor typos. Found while reading the section
11396 regarding "Bit_Order Clauses" that was sent to a customer.
11397 Very interesting documentation!
11398
11399 2001-12-17 Robert Dewar <dewar@gnat.com>
11400
11401 * sem_case.adb (Choice_Image): Avoid creating improper character
11402 literal names by using the routine Set_Character_Literal_Name. This
11403 fixes bombs in certain error message cases.
11404
11405 2001-12-17 Arnaud Charlet <charlet@gnat.com>
11406
11407 * a-reatim.adb: Minor reformatting.
11408
11409 2001-12-17 Ed Schonberg <schonber@gnat.com>
11410
11411 * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
11412 case where the formal is an extension of another formal in the current
11413 unit or in a parent generic unit.
11414
11415 2001-12-17 Arnaud Charlet <charlet@gnat.com>
11416
11417 * s-tposen.adb: Update comments. Minor reformatting.
11418 Minor code clean up.
11419
11420 * s-tarest.adb: Update comments. Minor code reorganization.
11421
11422 2001-12-17 Gary Dismukes <dismukes@gnat.com>
11423
11424 * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
11425 when Java_VM.
11426
11427 2001-12-17 Robert Dewar <dewar@gnat.com>
11428
11429 * exp_attr.adb: Minor reformatting
11430
11431 2001-12-17 Ed Schonberg <schonber@gnat.com>
11432
11433 * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
11434 derivations nested within a child unit: verify that the parent
11435 type is declared in an outer scope.
11436
11437 2001-12-17 Robert Dewar <dewar@gnat.com>
11438
11439 * sem_ch12.adb: Minor reformatting
11440
11441 2001-12-17 Ed Schonberg <schonber@gnat.com>
11442
11443 * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
11444 warning if current unit is a predefined one, from which bodies may
11445 have been deleted.
11446
11447 2001-12-17 Robert Dewar <dewar@gnat.com>
11448
11449 * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
11450 Fix header format. Add 2001 to copyright date.
11451
11452 * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
11453 which caused CE during compilation if checks were enabled.
11454
11455 2001-12-17 Vincent Celier <celier@gnat.com>
11456
11457 * make.adb:
11458 (Switches_Of): New function
11459 (Test_If_Relative_Path): New procedure
11460 (Add_Switches): Use new function Switches_Of
11461 (Collect_Arguments_And_Compile): Use new function Switches_Of.
11462 When using a project file, test if there are any relative
11463 search path. Fail if there are any.
11464 (Gnatmake): Only add switches for the primary directory when not using
11465 a project file. When using a project file, change directory to the
11466 object directory of the main project file. When using a project file,
11467 test if there are any relative search path. Fail if there are any.
11468 When using a project file, fail if specified executable is relative
11469 path with directory information, and prepend executable, if not
11470 specified as an absolute path, with the exec directory. Make sure
11471 that only one -o switch is transmitted to the linker.
11472
11473 * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
11474
11475 * prj-nmsc.adb:
11476 (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
11477 when using a non standard naming scheme.
11478 (Check_Ada_Naming_Scheme): Make sure that error messages
11479 do not raise exceptions.
11480 (Is_Illegal_Append): Return True if there is no dot in the suffix.
11481 (Language_Independent_Check): Check the exec directory.
11482
11483 * prj.adb (Project_Empty): Add new component Exec_Directory
11484
11485 * prj.ads:
11486 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
11487 (Project_Data): Add component Exec_Directory
11488
11489 * snames.adb: Updated to match snames.ads revision 1.215
11490
11491 * snames.ads: Added Exec_Dir
11492
11493 2001-12-17 Robert Dewar <dewar@gnat.com>
11494
11495 * make.adb: Minor reformatting
11496
11497 * prj-nmsc.adb: Minor reformatting
11498
11499 * snames.adb: Updated to match snames.ads
11500
11501 * snames.ads: Alphebetize entries for project file
11502
11503 2001-12-17 Ed Schonberg <schonber@gnat.com>
11504
11505 * trans.c (process_freeze_entity): Do nothing if the entity is a
11506 subprogram that was already elaborated.
11507
11508 2001-12-17 Richard Kenner <kenner@gnat.com>
11509
11510 * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
11511 and Esize if object is referenced via pointer.
11512
11513 2001-12-17 Ed Schonberg <schonber@gnat.com>
11514
11515 * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
11516 is discrete before analyzing choices.
11517
11518 2001-12-17 Joel Brobecker <brobecke@gnat.com>
11519
11520 * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
11521 containing the name of the Ada Main Program. This string is mainly
11522 intended for the debugger.
11523 (Gen_Output_File_C): Do the equivalent change when generating a C file.
11524
11525 2001-12-17 Robert Dewar <dewar@gnat.com>
11526
11527 * ali.adb: Set new Dummy_Entry field in dependency entry
11528
11529 * ali.ads: Add Dummy_Entry field to source dependency table
11530
11531 * bcheck.adb (Check_Consistency): Ignore dummy D lines
11532
11533 * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
11534
11535 * lib-writ.ads: Document dummy D lines for missing files.
11536
11537 * types.ads: (Dummy_Time_Stamp): New value for non-existant files
11538
11539 2001-12-17 Robert Dewar <dewar@gnat.com>
11540
11541 * ali.adb: Type reference does not reset current file.
11542
11543 * ali.adb: Recognize and scan renaming reference
11544
11545 * ali.ads: Add spec for storing renaming references.
11546
11547 * lib-xref.ads: Add documentation for handling of renaming references
11548
11549 * lib-xref.adb: Implement output of renaming reference.
11550
11551 * checks.adb:
11552 (Determine_Range): Document local variables
11553 (Determine_Range): Make sure Hbound is initialized. It looks as though
11554 there could be a real problem here with an uninitialized reference
11555 to Hbound, but no actual example of failure has been found.
11556
11557 2001-12-17 Laurent Pautet <pautet@gnat.com>
11558
11559 * g-socket.ads:
11560 Fix comment of Shutdown_Socket and Close_Socket. These functions
11561 should not fail silently because if they are called twice, this
11562 probably means that there is a race condition in the user program.
11563 Anyway, this behaviour is consistent with the rest of this unit.
11564 When an error occurs, an exception is raised with the error message
11565 as exception message.
11566
11567 2001-12-17 Robert Dewar <dewar@gnat.com>
11568
11569 * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
11570 that it happens before modification of Sloc values for -gnatD.
11571
11572 * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
11573 so that it happens before modification of Sloc values for -gnatD.
11574
11575 * switch.adb: Minor reformatting
11576
11577 2001-12-15 Richard Henderson <rth@redhat.com>
11578
11579 * sem_ch7.adb: Wrap comment.
11580
11581 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
11582
11583 * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
11584 5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
11585 5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
11586 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
11587 5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
11588 7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
11589 a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
11590 a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
11591 cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
11592 exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
11593 exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
11594 g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
11595 gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
11596 make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
11597 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
11598 repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
11599 s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
11600 s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
11601 s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
11602 s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
11603 sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
11604 sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
11605 sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
11606 sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
11607 spelling errors.
11608
11609 2001-12-14 Vincent Celier <celier@gnat.com>
11610
11611 * osint.adb(Create_Debug_File): When an object file is specified,
11612 put the .dg file in the same directory as the object file.
11613
11614 2001-12-14 Robert Dewar <dewar@gnat.com>
11615
11616 * osint.adb: Minor reformatting
11617
11618 * lib-xref.adb (Output_Instantiation): New procedure to generate
11619 instantiation references.
11620
11621 * lib-xref.ads: Add documentation of handling of generic references.
11622
11623 * ali.adb (Read_Instantiation_Ref): New procedure to read
11624 instantiation references
11625
11626 * ali.ads: Add spec for storing instantiation references
11627
11628 * bindusg.adb: Minor reformatting
11629
11630 * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11631
11632 * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11633
11634 * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11635
11636 * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11637
11638 * csets.ads:
11639 Fix header format
11640 Add 2001 to copyright date
11641 Add entry for Latin-5 (Cyrillic ISO-8859-5)
11642
11643 2001-12-14 Matt Gingell <gingell@gnat.com>
11644
11645 * adaint.c: mktemp is a macro on Lynx and can not be used as an
11646 expression.
11647
11648 2001-12-14 Richard Kenner <kenner@gnat.com>
11649
11650 * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
11651 if operand is CONSTRUCTOR.
11652
11653 2001-12-14 Ed Schonberg <schonber@gnat.com>
11654
11655 * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
11656 before emiting check on right-hand side, so that exception information
11657 is correct.
11658
11659 2001-12-14 Richard Kenner <kenner@gnat.com>
11660
11661 * utils.c (create_var_decl): Throw away initializing expression
11662 if just annotating types and non-constant.
11663
11664 2001-12-14 Vincent Celier <celier@gnat.com>
11665
11666 * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
11667 Default_Ada_...
11668
11669 * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
11670 Remove functions.
11671 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
11672
11673 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
11674 Remove functions.
11675 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
11676
11677 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
11678
11679 * ChangeLog: Remove piece of diff output.
11680
11681 2001-12-14 Geert Bosch <bosch@gnat.com>
11682
11683 * config-lang.in: Update copyright notice
11684
11685 * layout.adb: Remove commented out code.
11686
11687 * mdllfile.ads: Update copyright notice. Fix header format.
11688
11689 * sem_case.ads: Likewise.
11690
11691 * sem_ch3.adb: Minor reformatting.
11692
11693 2001-12-12 Geert Bosch <bosch@gnat.com>
11694
11695 * freeze.ads: Update copyright date.
11696
11697 * g-comlin.ads: Minor reformatting.
11698
11699 * gnat-style.texi: Fix typo.
11700
11701 2001-12-12 Geert Bosch <bosch@gnat.com>
11702
11703 * einfo.h: Regenerate.
11704
11705 2001-12-12 Ed Schonberg <schonber@gnat.com>
11706
11707 * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
11708 on known node types, rather than untyped fields. Further cleanups.
11709
11710 2001-12-12 Robert Dewar <dewar@gnat.com>
11711
11712 * sem_ch12.adb:
11713 (Save_Entity_Descendant): Minor comment update.
11714 (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
11715 of an N_Attribute_Reference node. As per note below, this does not
11716 eliminate need for Associated_Node in attribute ref nodes.
11717 (Associated_Node): Documentation explicitly mentions attribute
11718 reference nodes, since this field is used in such nodes.
11719
11720 * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
11721
11722 2001-12-12 Robert Dewar <dewar@gnat.com>
11723
11724 * s-stalib.adb: Add more comments on with statements being needed
11725
11726 * par-ch12.adb: Minor reformatting
11727
11728 * prj-dect.ads: Fix copyright header
11729
11730 * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
11731 inputs fit in 32 bits, but the result still overflows.
11732
11733 * s-fatgen.ads: Minor comment improvement
11734
11735 2001-12-12 Ed Schonberg <schonber@gnat.com>
11736
11737 * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
11738 formal derived type, look for an inherited component from the full
11739 view of the parent, if any.
11740
11741 2001-12-12 Robert Dewar <dewar@gnat.com>
11742
11743 * checks.ads (Apply_Alignment_Check): New procedure.
11744
11745 * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
11746 ensure that the alignment of objects with address clauses is
11747 appropriate, and raise PE if not.
11748
11749 * exp_util.ads (Must_Be_Aligned): Removed, replaced by
11750 Exp_Pakd.Known_Aligned_Enough
11751
11752 * mdllfile.ads: Minor reformatting
11753
11754 * mlib-fil.ads: Minor reformatting
11755
11756 2001-12-12 Ed Schonberg <schonber@gnat.com>
11757
11758 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
11759 fix to any component reference if enclosing record has non-standard
11760 representation.
11761
11762 2001-12-12 Vincent Celier <celier@gnat.com>
11763
11764 * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
11765 Iteration
11766
11767 2001-12-12 Ed Schonberg <schonber@gnat.com>
11768
11769 * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
11770 sem_attr.
11771
11772 2001-12-12 Robert Dewar <dewar@gnat.com>
11773
11774 * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
11775
11776 2001-12-12 Emmanuel Briot <briot@gnat.com>
11777
11778 * g-regexp.adb: Remove all debug code, since it isn't required anymore,
11779 and it adds dependencies to system.io.
11780
11781 2001-12-12 Pascal Obry <obry@gnat.com>
11782
11783 * g-dirope.adb (Expand_Path.Var): Correctly detect end of
11784 variable name.
11785
11786 2001-12-11 Ed Schonberg <schonber@gnat.com>
11787
11788 * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
11789 that is the parent of other generics, the instance body replaces the
11790 instance node. Retrieve the instance of the spec, which is the one
11791 that is visible in clients and within the body.
11792
11793 2001-12-11 Vincent Celier <celier@gnat.com>
11794
11795 * gnatmain.adb: Initial version.
11796
11797 * gnatmain.ads: Initial version.
11798
11799 * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
11800
11801 * snames.adb: Updated to match snames.ads.
11802
11803 * snames.ads: Added Gnatstub.
11804
11805 2001-12-11 Vincent Celier <celier@gnat.com>
11806
11807 * prj-attr.adb (Initialization_Data): Change name from
11808 Initialisation_Data.
11809
11810 2001-12-11 Emmanuel Briot <briot@gnat.com>
11811
11812 * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
11813 + and * applied to backslashed expressions like \r.
11814
11815 2001-12-11 Vasiliy Fofanov <fofanov@gnat.com>
11816
11817 * g-os_lib.ads: String_List type added, Argument_List type is now
11818 subtype of String_List.
11819
11820 2001-12-11 Robert Dewar <dewar@gnat.com>
11821
11822 * g-os_lib.ads: Change copyright to FSF
11823 Add comments for String_List type
11824
11825 2001-12-11 Vincent Celier <celier@gnat.com>
11826
11827 * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
11828 string to the buffer).
11829
11830 2001-12-11 Ed Schonberg <schonber@gnat.com>
11831
11832 * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
11833 sem_attr.
11834
11835 * sem_attr.adb: Simplify previous fix for Address.
11836 (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
11837 to avoid anomalies where the bound of the type appears to raise
11838 constraint error.
11839
11840 2001-12-11 Robert Dewar <dewar@gnat.com>
11841
11842 * lib-xref.adb (Output_Refs): Make sure pointers are always properly
11843 handled.
11844
11845 2001-12-11 Ed Schonberg <schonber@gnat.com>
11846
11847 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
11848 renamed unit before checking for recursive instantiations.
11849
11850 2001-12-11 Emmanuel Briot <briot@gnat.com>
11851
11852 * prj.ads: Add comments for some of the fields.
11853
11854 2001-12-11 Robert Dewar <dewar@gnat.com>
11855
11856 * lib-xref.adb (Output_Refs): Don't output type references outside
11857 the main unit if they are not otherwise referenced.
11858
11859 2001-12-11 Ed Schonberg <schonber@gnat.com>
11860
11861 * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
11862 code and diagnose additional illegal uses
11863
11864 * sem_util.adb (Is_Object_Reference): An indexed component is an
11865 object only if the prefix is.
11866
11867 2001-12-11 Vincent Celier <celier@gnat.com>
11868
11869 * g-diopit.adb: Initial version.
11870
11871 * g-diopit.ads: Initial version.
11872
11873 * g-dirope.adb:
11874 (Expand_Path): Avoid use of Unbounded_String
11875 (Find, Wildcard_Iterator): Moved to child package Iteration
11876
11877 * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
11878
11879 2001-12-11 Robert Dewar <dewar@gnat.com>
11880
11881 * sem_attr.adb: Minor reformatting
11882
11883 2001-12-11 Ed Schonberg <schonber@gnat.com>
11884
11885 * sem_ch3.adb: Clarify some ???.
11886
11887 2001-12-11 Robert Dewar <dewar@gnat.com>
11888
11889 * exp_util.adb (Must_Be_Aligned): Removed, replaced by
11890 Exp_Pakd.Known_Aligned_Enough
11891
11892 * sem_ch13.adb (Check_Address_Alignment): Removed, extended
11893 version is moved to Exp_Ch13.
11894
11895 2001-12-11 Robert Dewar <dewar@gnat.com>
11896
11897 * einfo.ads: Minor reformatting
11898
11899 * exp_ch5.adb: Add comment for previous.change
11900
11901 * ali.adb: New interface for extended typeref stuff.
11902
11903 * ali.ads: New interface for typeref stuff.
11904
11905 * checks.adb (Apply_Alignment_Check): New procedure.
11906
11907 * debug.adb: Add -gnatdM for modified ALI output
11908
11909 * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
11910
11911 * lib-xref.adb: Extend generation of <..> notation to cover
11912 subtype/object types. Note that this is a complete rewrite,
11913 getting rid of the very nasty quadratic algorithm previously
11914 used for derived type output.
11915
11916 * lib-xref.ads: Extend description of <..> notation to cover
11917 subtype/object types. Uses {..} for these other cases.
11918 Also use (..) for pointer types.
11919
11920 * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
11921
11922 * exp_pakd.adb: Minor reformatting. Note that prevous RH should say:
11923 (Known_Aligned_Enough): Replaces Must_Be_Aligned.
11924
11925 2001-12-11 Vincent Celier <celier@gnat.com>
11926
11927 * gnatcmd.adb:
11928 Changed /COMPILE_ONLY to /ACTIONS=COMPILE
11929 Changed /BIND_ONLY to /ACTIONS=BIND
11930 Changed /LINK_ONLY to /ACTIONS=LINK
11931
11932 2001-12-11 Ed Schonberg <schonber@gnat.com>
11933
11934 * sem_ch8.adb (Find_Selected_Component): improved search for a
11935 candidate package in case of error.
11936
11937 * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
11938 chain back on scope stack before reinstalling use clauses.
11939
11940 * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
11941 is enabled, do not kill the code for the condition, to preserve
11942 warning.
11943
11944 2001-12-11 Robert Dewar <dewar@gnat.com>
11945
11946 * checks.adb (Insert_Valid_Check): Apply validity check to expression
11947 of conversion, not to result of conversion.
11948
11949 2001-12-11 Ed Schonberg <schonber@gnat.com>
11950
11951 * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
11952 before freezing parent. If the declarations are mutually recursive,
11953 an access to the current record type may be frozen before the
11954 derivation is complete.
11955
11956 2001-12-05 Vincent Celier <celier@gnat.com>
11957
11958 * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
11959 -c /COMPILE_ONLY, -l /LINK_ONLY
11960
11961 * opt.ads:
11962 (Bind_Only): New Flag
11963 (Link_Only): New flag
11964
11965 * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
11966 and -l (Link_Only)
11967
11968 * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
11969
11970 * make.adb:
11971 (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
11972 (Gnatmake): Set the step flags. Only perform a step if the
11973 corresponding step flag is True.
11974 (Scan_Make_Arg): Reset the bind and link step flags when -u
11975 or -gnatc has been specified.
11976
11977 2001-12-05 Ed Schonberg <schonber@gnat.com>
11978
11979 * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
11980 get bounds from right operand.
11981
11982 * sem_eval.adb: Minor reformatting
11983
11984 * exp_util.adb (Make_Literal_Range): use bound of literal rather
11985 than Index'First, its lower bound may be different from 1.
11986
11987 * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
11988 and C48009J
11989
11990 2001-12-05 Vincent Celier <celier@gnat.com>
11991
11992 * prj-nmsc.adb Minor reformatting
11993
11994 * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
11995 set and libraries are not supported.
11996
11997 2001-12-05 Ed Schonberg <schonber@gnat.com>
11998
11999 * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
12000 private view explicitly, so the back-end can treat as a global
12001 when appropriate.
12002
12003 2001-12-05 Ed Schonberg <schonber@gnat.com>
12004
12005 * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
12006 unit, always replace instance node with new body, for ASIS use.
12007
12008 2001-12-05 Vincent Celier <celier@gnat.com>
12009
12010 * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
12011 libraries are not supported and both attributes Library_Name and
12012 Library_Dir are specified.
12013
12014 * prj-proc.adb (Expression): Set location of Result to location of
12015 first term.
12016
12017 * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
12018 (prj-nmsc is now importing MLib.Tgt)
12019
12020 * prj-proc.adb: Put the change indicated above that was forgotten.
12021
12022 2001-12-05 Robert Dewar <dewar@gnat.com>
12023
12024 * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
12025
12026 2001-12-05 Ed Schonberg <schonber@gnat.com>
12027
12028 * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
12029 constraint, introduce explicit subtype declaration and derive from it.
12030
12031 * sem_ch3.adb: Minor reformatting
12032
12033 2001-12-05 Robert Dewar <dewar@gnat.com>
12034
12035 * checks.adb (Determine_Range): Increase cache size for checks.
12036 Minor reformatting
12037
12038 * exp_ch6.adb: Minor reformatting
12039 (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
12040 a parameter whose root type is System.Address, since treating such
12041 subprograms as pure in the code generator is almost surely a mistake
12042 that will lead to unexpected results.
12043
12044 * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
12045 change handling of conversions.
12046
12047 * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
12048
12049 2001-12-05 Ed Schonberg <schonber@gnat.com>
12050
12051 * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
12052 aggregate with static wrong size, attach generated Raise node to
12053 declaration.
12054
12055 2001-12-05 Robert Dewar <dewar@gnat.com>
12056
12057 * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
12058 Fixes compilation abandoned bomb in B24009B.
12059
12060 2001-12-05 Ed Schonberg <schonber@gnat.com>
12061
12062 * sem_ch12.adb:
12063 Document use of Associated_Node on Selected_Components.
12064 (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
12065 to clarify use of untyped descendant fields.
12066
12067 2001-12-05 Robert Dewar <dewar@gnat.com>
12068
12069 * prj-dect.ads: Add ??? comment
12070 Add 2001 to copyright notice (was not done in after all)
12071
12072 * prj-part.adb: Minor reformatting. Reword one awkward error message.
12073
12074 * prj.ads: Minor reformatting throughout, and add some ??? comments
12075
12076 * snames.ads: Minor reformatting
12077
12078 2001-12-05 Geert Bosch <bosch@gnat.com>
12079
12080 * snames.adb: Autoupdate
12081
12082 2001-12-05 Vincent Celier <celier@gnat.com>
12083
12084 * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
12085
12086 * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
12087
12088 * prj-env.adb: Minor comment changes (modifying -> extends).
12089
12090 * prj-nmsc.adb: Minor comment changes (modifying -> extends).
12091
12092 * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
12093 Tok_Extends.
12094
12095 * prj.adb (Initialize): Change Modifying to Extends.
12096
12097 * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
12098
12099 * prj.ads: Minor comment change (Modifying -> extending).
12100
12101 * snames.ads: Change modifying to extends.
12102
12103 2001-12-05 Robert Dewar <dewar@gnat.com>
12104
12105 * sem_warn.adb: Remove stuff for conditionals, we are not going to
12106 do this after all.
12107
12108 * sem_warn.ads: Remove stuff for conditionals, we are not going to
12109 do this after all. Add 2001 to copyright notice
12110
12111 2001-12-04 Geert Bosch <bosch@gnat.com>
12112
12113 * einfo.h, sinfo.h, treeprs.ads: Regenerate.
12114
12115 2001-12-04 Robert Dewar <dewar@gnat.com>
12116
12117 * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
12118 location if we already have errors. Stops some cases of cascaded
12119 errors.
12120
12121 * errout.adb: Improve comment.
12122
12123 2001-12-04 Robert Dewar <dewar@gnat.com>
12124
12125 * sem_ch12.adb:
12126 (Analyze_Formal_Type_Definition): Defend against Error.
12127 (Analyze_Formal_Subprogram): Defend against Error.
12128
12129 * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
12130 remove following semicolon if present. Removes cascaded error.
12131
12132 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
12133
12134 * bindgen.adb:
12135 (Gen_Exception_Table_Ada): Write "begin" and then return if Num
12136 exceptions equals 0.
12137 (Gen_Exception_Table_C): Return if Num exceptions equals 0.
12138 Fixes PIWG E tests (which have to be run with -gnatL).
12139
12140 2001-12-04 Robert Dewar <dewar@gnat.com>
12141
12142 * einfo.ads: Minor reformatting
12143
12144 2001-12-04 Ed Schonberg <schonber@gnat.com>
12145
12146 * einfo.ads: Block_Node points to the identifier of the block, not to
12147 the block node itself, to preserve the link when the block is
12148 rewritten, e.g. within an if-statement with a static condition.
12149
12150 * inline.adb (Cleanup_Scopes): recover block statement from block
12151 entity using new meaning of Block_Node.
12152
12153 * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
12154 identifier of block node, rather than to node itself.
12155
12156 2001-12-04 Gary Dismukes <dismukes@gnat.com>
12157
12158 * layout.adb:
12159 (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
12160 (Discrimify): Go back to setting the Etypes of the selected component
12161 because the Vname component does not exist at this point and will
12162 fail name resolution. Also set Analyzed.
12163 Remove with and use of Sem_Res.
12164
12165 2001-12-04 Arnaud Charlet <charlet@gnat.com>
12166
12167 * Makefile.in: (HIE_SOURCES): add s-fat*.
12168
12169 2001-12-04 Robert Dewar <dewar@gnat.com>
12170
12171 * sem_attr.adb:
12172 (Compile_Time_Known_Attribute): New procedure.
12173 (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
12174 proper range check.
12175
12176 2001-12-04 Ed Schonberg <schonber@gnat.com>
12177
12178 * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
12179 processing discriminants to diagnose illegal default values.
12180
12181 2001-12-04 Ed Schonberg <schonber@gnat.com>
12182
12183 * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
12184 access discriminant within a type extension that constrains its
12185 parent discriminants.
12186
12187 2001-12-04 Ed Schonberg <schonber@gnat.com>
12188
12189 * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
12190 is malformed, use instance of Any_Id to allow analysis to proceed.
12191
12192 * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
12193 type definition is illegal.
12194 (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
12195 misplaced.
12196
12197 2001-12-04 Ed Schonberg <schonber@gnat.com>
12198
12199 * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
12200 constants.
12201
12202 2001-12-04 Robert Dewar <dewar@gnat.com>
12203
12204 * errout.adb: Minor reformatting
12205
12206 2001-12-04 Robert Dewar <dewar@gnat.com>
12207
12208 * exp_util.adb: Minor reformatting from last change
12209
12210 * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
12211 which is a rewriting of an expression, traverse the original
12212 expression to remove warnings that may have been posted on it.
12213
12214 2001-12-04 Ed Schonberg <schonber@gnat.com>
12215
12216 * exp_util.adb (Must_Be_Aligned): Return false for a component of a
12217 record that has other packed components.
12218
12219 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
12220
12221 * adaint.c: Minor cleanups.
12222
12223 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
12224
12225 * adaint.c: Do not use utime.h on vxworks.
12226
12227 2001-12-04 Arnaud Charlet <charlet@gnat.com>
12228
12229 * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
12230 more confusion than it solves.
12231
12232 2001-12-04 Geert bosch <bosch@gnat.com>
12233
12234 * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
12235
12236 2001-12-04 Geert Bosch <bosch@gnat.com>
12237
12238 * Makefile.in (update-sources): New target.
12239 For use by gcc_release script.
12240
12241 2001-12-04 Ed Schonberg <schonber@gnat.com>
12242
12243 * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
12244 a configuration pragma, it is now legal wherever a pragma can appear.
12245
12246 2001-12-04 Zack Weinberg <zack@codesourcery.com>
12247
12248 * Makefile.in: Don't set ALL. Delete @cross_defines@,
12249 @cross_overrides@, @build_overrides@ stanzas. INTERNAL_CFLAGS
12250 is now @CROSS@ -DIN_GCC; update comment.
12251
12252 2001-12-04 Robert Dewar <dewar@gnat.com>
12253
12254 * einfo.adb (Has_Pragma_Pure_Function): New flag.
12255 Fix problem that stopped ceinfo from working
12256
12257 * einfo.ads (Has_Pragma_Pure_Function): New flag.
12258
12259 * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
12260
12261 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
12262
12263 * gnatchop.adb:
12264 (File_Time_Stamp): New procedure.
12265 (Preserve_Mode): New boolean.
12266 (Write_Unit): Pass time stamp.
12267 Implement -p switch (preserve time stamps).
12268
12269 * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
12270
12271 * gnatchop.adb: Do usage info for -p switch
12272
12273 * adaint.h (__gnat_set_file_time_name): New function
12274
12275 * adaint.c (__gnat_set_file_time_name): Implement
12276
12277 * adaint.h: Fix typo
12278
12279 2001-12-03 Robert Dewar <dewar@gnat.com>
12280
12281 * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
12282 have Associated_Node.
12283
12284 2001-12-03 Robert Dewar <dewar@gnat.com>
12285
12286 * prj-proc.adb: Minor reformatting
12287
12288 * make.adb: Minor reformatting
12289
12290 2001-12-03 Geert Bosch <bosch@gnat.com>
12291
12292 * make.adb: Minor reformatting.
12293
12294 2001-12-03 Robert Dewar <dewar@gnat.com>
12295
12296 * sem_ch12.adb: Minor reformatting
12297
12298 2001-12-03 Ed Schonberg <schonber@gnat.com>
12299
12300 * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
12301 push Standard on the stack before analyzing the instance body,
12302 in order to have a clean visibility environment.
12303
12304 * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
12305
12306 2001-12-03 Ed Schonberg <schonber@gnat.com>
12307
12308 * sem_ch12.adb (Instantiate_Package_Body): Protect against double
12309 instantiation of a body that contains an inlined body.
12310
12311 2001-12-03 Ed Schonberg <schonber@gnat.com>
12312
12313 * sem_ch12.adb:
12314 (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
12315 to prevent freezing within formal packages.
12316 (Freeze_Subprogram_Body): If body comes from another instance that
12317 appeared before its own body, place freeze node at end of current
12318 declarative part, to prevent a back-end crash.
12319 (Inline_Instance_Body): Handle properly a package instance within
12320 a subprogram instance that is a child unit.
12321
12322 2001-12-01 Graham Stott <grahams@redhat.com>
12323
12324 * Makefile.in (misc.o): Add missing $(srcdir) prefix
12325 and add optabs.h dependency.
12326
12327 * misc.c: Include optabs.h
12328 (gnat_tree_code_type): Make static and const.
12329 (gnat_tree_code_length): Likewise.
12330 (gnat_tree_code_name): Likewise.
12331 (update_setjmp_buf): Obtain operands mode from insn_data.
12332
12333 2001-11-29 Richard Henderson <rth@redhat.com>
12334
12335 * init.c: Remove obsolete dwarf2 frame.h section.
12336
12337 2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
12338
12339 * Make-lang.in (ada.generated-manpages): New dummy target.
12340
12341 2001-11-29 Ed Schonberg <schonber@gnat.com>
12342
12343 * g-os_lib.adb (Add_To_Command): use explicit loop to move string
12344 into Command, an array conversion is illegal here. Uncovered by
12345 ACATS B460005.
12346
12347 2001/11/28 Geert Bosch <bosch@gnat.com>
12348
12349 * init.c: Minor whitespace changes.
12350
12351 2001-11-28 Doug Rupp <rupp@gnat.com>
12352
12353 * init.c: (__gnat_install_handler,VMS): Increase size of alternate
12354 signal stack.
12355
12356 2001-11-28 Zack Weinberg <zack@codesourcery.com>
12357
12358 * misc.c (gnat_expand_constant): Move declaration above
12359 definition of lang_hooks.
12360 (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
12361 (gnat_init): lang_expand_constant no longer exists.
12362
12363 (internal_error_function): Remove #ifdef HAVE_VPRINTF. We
12364 always have vprintf.
12365 (gnat_init): Always call set_internal_error_function.
12366
12367 2001-11-27 Andreas Jaeger <aj@suse.de>
12368
12369 * Makefile.in (stamp-tool_src_dir): Use symbolic link.
12370
12371 2001-11-27 Laurent Guerby <guerby@acm.org>
12372
12373 * Makefile.in: Regenerate Ada dependencies.
12374
12375 2001-11-26 Richard Henderson <rth@redhat.com>
12376
12377 * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
12378 gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
12379 gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
12380
12381 2001-11-25 Laurent Guerby <guerby@acm.org>
12382
12383 * sysdep.c (rts_get_*): Fix style.
12384
12385 2001-11-19 Laurent Guerby <guerby@acm.org>
12386
12387 * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
12388 since it is of no apparent use and cause warnings.
12389
12390 2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
12391
12392 * misc.c (gnat_decode_option, gnat_init_options): Make definitions
12393 static too.
12394 (gnat_init): Don't return NULL.
12395 (finish_parse): Remove.
12396
12397 2001-11-17 Laurent Guerby <guerby@acm.org>
12398
12399 * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
12400 * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
12401 * io-aux.c: Provide K&R prototypes to all functions, reformat code.
12402 * lang-spec.h: Add missing struct field to silence warnings.
12403 * sysdep.c (rts_get_*): Provide K&R prototype.
12404 * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
12405 * traceback.c (Unlock_Task, Lock_Task): Likewise.
12406 * tracebak.c (__gnat_backtrace): Remove unused variable.
12407 * utils.c (end_subprog_body): Move to K&R style.
12408
12409 Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12410
12411 * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
12412
12413 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
12414
12415 * misc.c (gnat_init): Change prototype. Include the
12416 functionality of the old init_parse and init_decl_processing.
12417 (gnat_init_decl_processing): New prototype.
12418 (init_parse): Remove.
12419 * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
12420
12421 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
12422
12423 * misc.c (gnat_print_decl, gnat_print_type): Renamed.
12424 (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
12425 (print_lang_statistics, lang_print_xnode, print_lang_identifier,
12426 set_yydebug): Remove.
12427
12428 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
12429
12430 * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
12431 (struct lang_hooks): Constify.
12432 (language_string, lang_identify): Remove.
12433 * utils.c (init_decl_processing): Update.
12434
12435 2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
12436
12437 * misc.c: Include langhooks-def.h.
12438 * Makefile.in: Update.
12439
12440 2001-10-30 Robert Dewar <dewar@gnat.com>
12441
12442 * style.adb:
12443 (Check_Identifier): Rewrite circuit to be compatible with use of letters
12444 in the upper half of ASCII.
12445 (Check_Identifier): Minor reformatting
12446
12447 2001-10-30 Geert Bosch <bosch@gnat.com>
12448
12449 * (Associated_Node, Set_Associated_Node): Do not check for
12450 Freeze_Entity.
12451
12452 2001-10-30 Robert Dewar <dewar@gnat.com>
12453
12454 * a-reatim.ads: Minor reformatting
12455
12456 2001-10-30 Robert Dewar <dewar@gnat.com>
12457
12458 * gnatdll.adb: Minor reformatting throughout. Many ??? added for
12459 undocumented declarations.
12460
12461 2001-10-30 Pascal Obry <obry@gnat.com>
12462
12463 * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
12464 to the binder and linker.
12465 Minor style fix.
12466
12467 * mdll.ads: Fix layout. Update copyright notice.
12468
12469 * mdll.adb: Fix layout. Update copyright notice.
12470
12471 2001-10-30 Robert Dewar <dewar@gnat.com>
12472
12473 * usage.adb: Minor fix to output for -gnaty.
12474
12475 2001-10-30 Ed Schonberg <schonber@gnat.com>
12476
12477 * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
12478 to accommodate all its possible values.
12479
12480 * a-reatim.adb (Split): Special-case handling of Time_Span_First
12481 and of small absolute values of T.
12482
12483 2001-10-30 Richard Kenner <kenner@gnat.com>
12484
12485 * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
12486 set_mem_attributes since not needed and wrong if RESULT if a REG;
12487 fixes ACATS failures.
12488
12489 2001-10-30 Geert Bosch <bosch@gnat.com>
12490
12491 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
12492 s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
12493
12494 2001-10-30 Robert Dewar <dewar@gnat.com>
12495
12496 * bindusg.adb: Undocument -f switch.
12497
12498 * gnatcmd.adb: Remove /FULL_ELABORATION.
12499
12500 * opt.ads (Force_RM_Elaboration_Order): Document that this is
12501 obsolescent.
12502
12503 * gnatbind.adb: Output new warning for use of obsolescent -f switch.
12504
12505 * gnatbind.adb: Minor update of warning msg.
12506
12507 2001-10-30 Vincent Celier <celier@gnat.com>
12508
12509 * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
12510 for project file switches (-P (/PROJECT_FILE=),
12511 -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
12512 or MEDIUM or HIGH)
12513
12514 2001-10-30 Geert Bosch <bosch@gnat.com>
12515
12516 * decl.c: Minor whitespace fixes.
12517
12518 2001-10-30 Richard Kenner <kenner@gnat.com>
12519
12520 * utils2.c (build_allocator): Test for SIZE overflow in array case too
12521
12522 2001-10-30 Geert Bosch <bosch@gnat.com>
12523
12524 * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
12525 Found due to GCC 3.0 warning of using uninitialized value.
12526
12527 * layout.adb:
12528 (Get_Max_Size): Use variant record for tracking value/expression.
12529 Makes logic clearer and prevents warnings for uninitialized variables.
12530 (Layout_Array_Type): Use variant record for tracking value/expression.
12531 Makes logic clearer and prevents warnings for uninitialized variables.
12532
12533 2001-10-30 Robert Dewar <dewar@gnat.com>
12534
12535 * lib.adb: Minor reformatting
12536
12537 * s-taprop.ads: Minor reformatting
12538
12539 2001-10-29 Laurent Guerby <guerby@acm.org>
12540
12541 * init.c:
12542 (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
12543 const.
12544 (_gnat_error_handler): Make MSG const.
12545
12546 2001-10-29 Richard Kenner <kenner@gnat.com>
12547
12548 * sysdep.c: Fix localtime_r problem on LynxOS.
12549 Also remove #elif to avoid warnings.
12550
12551 * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
12552 used by this.
12553
12554 * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
12555
12556 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
12557
12558 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
12559 exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
12560 g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
12561 g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
12562 layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
12563 s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
12564 sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
12565 sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
12566 sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
12567 types.ads, urealp.adb: Fix spelling errors.
12568
12569 2001-10-27 Laurent Guerby <guerby@acm.org>
12570
12571 * trans.c (gigi): Fix non determinism leading to bootstrap
12572 comparison failures for debugging information.
12573
12574 2001-10-26 Florian Weimer <fw@deneb.enyo.de>
12575
12576 * gnat_rm.texi: Use @./@: where appropriate.
12577
12578 2001-10-26 Robert Dewar <dewar@gnat.com>
12579
12580 * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
12581
12582 2001-10-26 Richard Kenner <kenner@gnat.com>
12583
12584 * gmem.c (__gnat_gmem_read_next): Properly check for EOF
12585
12586 2001-10-26 Richard Kenner <kenner@gnat.com>
12587
12588 * decl.c (validate_size): Modify message for bad size to avoid
12589 implication that compiler is modifying the size.
12590
12591 2001-10-26 Robert Dewar <dewar@gnat.com>
12592
12593 * prj-util.adb: Minor reformatting. Fix bad header format.
12594
12595 2001-10-26 Robert Dewar <dewar@gnat.com>
12596
12597 * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
12598
12599 * sinfo.ads: Clarify use of Associated_Node (documentation only).
12600
12601 * sem_ch12.adb: Change Node4 to Associated_Node. Change
12602 Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
12603 much more narrowly in places where needed. These are cleanups.
12604
12605 2001-10-26 Joel Brobecker <brobecke@gnat.com>
12606
12607 * 5zosinte.ads (null_pthread): new constant.
12608
12609 * 5ztaprop.adb:
12610 (Initialize_TCB): Initialize thread ID to null, to be able to verify
12611 later that this field has been set.
12612 (Finalize_TCB): ditto.
12613 (Suspend_Task): Verify that the thread ID is not null before using it.
12614 (Resume_Task): ditto.
12615
12616 * s-tasdeb.adb:
12617 (Resume_All_Tasks): Lock the tasks list before using it.
12618 (Suspend_All_Tasks): ditto.
12619
12620 2001-10-26 Richard Kenner <kenner@gnat.com>
12621
12622 * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
12623 Make constant variant of designated type for Is_Access_Constant.
12624 Call update_pointer_to with main variant.
12625
12626 * trans.c (process_freeze_entity, process_type):
12627 Call update_pointer_to on main variant.
12628
12629 * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
12630 If main variant, update all other variants.
12631
12632 * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
12633 TREE_STATIC.
12634
12635 2001-10-26 Robert Dewar <dewar@gnat.com>
12636
12637 * prj-util.adb: Minor reformatting
12638
12639 2001-10-26 Robert Dewar <dewar@gnat.com>
12640
12641 * prj-util.adb: Minor reformatting
12642
12643 2001-10-26 Robert Dewar <dewar@gnat.com>
12644
12645 * prj-attr.adb: Minor reformatting throughout
12646
12647 2001-10-26 Robert Dewar <dewar@gnat.com>
12648
12649 * prj-attr.ads: Minor reformatting
12650 Add ??? comment (this whole spec has almost no comments)
12651
12652 2001-10-26 Vincent Celier <celier@gnat.com>
12653
12654 * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
12655 ("//") that precede the drive letter on Interix.
12656
12657 2001-10-26 Geert Bosch <bosch@gnat.com>
12658
12659 * gnat_rm.texi: Add GNAT Reference Manual.
12660
12661 2001-10-25 Robert Dewar <dewar@gnat.com>
12662
12663 * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
12664 is Error. Similar change for other renaming cases.
12665
12666 2001-10-25 Robert Dewar <dewar@gnat.com>
12667
12668 * s-atacco.ads: Add pragma Inline_Always for functions.
12669 Fix header format. Add copyright 2001
12670
12671 2001-10-25 Ed Schonberg <schonber@gnat.com>
12672
12673 * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
12674 return Error rather than Empty so that analysis can proceed.
12675
12676 2001-10-25 Ed Schonberg <schonber@gnat.com>
12677
12678 * sem_util.adb (Enter_Name): better handling of cascaded error
12679 messages when a unit appears in its own context.
12680
12681 2001-10-25 Ed Schonberg <schonber@gnat.com>
12682
12683 * sem_util.adb (Defining_Entity): in case of error, attach created
12684 entity to specification, so that semantic analysis can proceed.
12685
12686 2001-10-25 Robert Dewar <dewar@gnat.com>
12687
12688 * sem_util.adb
12689 (Defining_Entity): Deal with Error.
12690 (Process_End_Label): Deal with bad end label for.
12691
12692 2001-10-25 Ed Schonberg <schonber@gnat.com>
12693
12694 * sem_elab.adb (Check_A_Call): refine message when call is in an
12695 instance but callee is not declared in the generic unit.
12696
12697 2001-10-25 Ed Schonberg <schonber@gnat.com>
12698
12699 * sem_elab.adb (Check_A_Call): check for renaming before finding the
12700 enclosing unit, which may already be different from the calling unit.
12701
12702 2001-10-25 Geert Bosch <bosch@gnat.com>
12703
12704 * 4gintnam.ads: fix header format.
12705
12706 2001-10-25 Ed Schonberg <schonber@gnat.com>
12707
12708 * sem_res.adb (Resolve_Call): if the call is actually an indexing
12709 operation on the result of a parameterless call, perform elaboration
12710 check after the node has been properly rewritten.
12711
12712 * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
12713 inlined within the generic tree, the defining identifier is not a
12714 compilation_unit.
12715
12716 2001-10-25 Ed Schonberg <schonber@gnat.com>
12717
12718 * sem_res.adb (Resolve): special-case resolution of Null in an
12719 instance or an inlined body to avoid view conflicts.
12720
12721 * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
12722 compatibility by retrieving the access type of the generic copy.
12723
12724 2001-10-25 Robert Dewar <dewar@gnat.com>
12725
12726 * sem_ch3.adb:
12727 (Analyze_Number_Declaration): Handle error expression.
12728 (Signed_Integer_Type_Declaration): Handle error bound.
12729 (Analyze_Subtype_Indication): Handle error range.
12730
12731 * sem_util.adb (Get_Index_Bounds): Check for Error.
12732
12733 2001-10-25 Robert Dewar <dewar@gnat.com>
12734
12735 * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
12736 in no run time mode.
12737
12738 2001-10-25 Pascal Obry <obry@gnat.com>
12739
12740 * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
12741 mode case for ALLOC case.
12742
12743 * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
12744 all platforms. Improvement of last change.
12745
12746 2001-10-25 Robert Dewar <dewar@gnat.com>
12747
12748 * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
12749
12750 2001-10-25 Geert Bosch <bosch@gnat.com>
12751
12752 * osint.adb (Is_Relative): Remove duplicate.
12753
12754 2001-10-25 Pascal Obry <obry@gnat.com>
12755
12756 * osint.adb (Read_Default_Search_Dirs): correctly detect relative
12757 pathnames in UNIX and DOS style with drive letter.
12758 (Is_Relative): new routine.
12759
12760 * osint.adb: Minor reformatting
12761
12762 * osint.adb (Is_Relative): implementation using
12763 GNAT.OS_Lib.Is_Absolute_Path. Better fix.
12764
12765 2001-10-25 Pascal Obry <obry@gnat.com>
12766
12767 * g-dirope.adb (Basename): correctly compute offset between the
12768 original Path and the translated one.
12769
12770 * g-dirope.adb: (Base_Name): add some comments.
12771
12772 2001-10-25 Robert Dewar <dewar@gnat.com>
12773
12774 * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
12775 in HIE mode, avoids compilation abandoned message
12776
12777 * exp_imgv.adb: Correct typo in previous change
12778
12779 * exp_imgv.adb: Correct typo in previous change (not my day!)
12780
12781 2001-10-25 Robert Dewar <dewar@gnat.com>
12782
12783 * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
12784
12785 2001-10-25 Pascal Obry <obry@gnat.com>
12786
12787 * g-awk.ads: Move all pragma inlines next to the routine
12788 declarations. This is more uniform with other GNAT spec.
12789
12790 2001-10-22 Geert Bosch <bosch@gnat.com>
12791
12792 * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
12793
12794 2001-10-19 Geert Bosch <bosch@gnat.com>
12795
12796 * Makefile.in (tools, gnattools): Remove gnatmem.
12797
12798 2001-10-17 Richard Henderson <rth@redhat.com>
12799
12800 * Makefile.in (misc.o): Depend on langhooks.h.
12801 * misc.c: Include it.
12802 (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
12803 (LANG_HOOKS_DECODE_OPTION): New.
12804 (lang_hooks): Use LANG_HOOKS_INITIALIZER.
12805
12806 2001-10-16 Florian Weimer <fw@deneb.enyo.de>
12807
12808 * trans.c (tree_transform): Adjust to recent change in
12809 expand_asm_operands to implement named asm operands.
12810
12811 2001-10-11 Ed Schonberg <schonber@gnat.com>
12812
12813 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
12814 renaming of discriminant for mutable record type.
12815
12816 2001-10-11 Robert Dewar <dewar@gnat.com>
12817
12818 * validsw.adb: Properly save -gnatVn status.
12819
12820 2001-10-11 Robert Dewar <dewar@gnat.com>
12821
12822 * usage.adb: Add lines for V switch.
12823
12824 * gnatcmd.adb (COMPILE): Revise translations for -gnatV
12825 (/VALIDITY_CHECKING).
12826
12827 2001-10-11 Ed Schonberg <schonber@gnat.com>
12828
12829 * sem_type.adb (Add_One_Interp): an operator for a type declared in
12830 an extension of System is known to be visible.
12831
12832 2001-10-11 Ed Schonberg <schonber@gnat.com>
12833
12834 * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
12835 properly. Fixes regression on ACATS C34005G.
12836
12837 2001-10-11 Robert Dewar <dewar@gnat.com>
12838
12839 * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
12840 loop in generic instance, since this is likely not very useful.
12841
12842 2001-10-11 Robert Dewar <dewar@gnat.com>
12843
12844 * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
12845 the error message for high integrity mode.
12846
12847 * rtsfind.adb (RTE): Give message if we try to find an entity that
12848 is not available in high integrity mode.
12849
12850 * rtsfind.ads:
12851 (OK_To_Use_In_HIE_Mode): New array.
12852 (RTE): May return Empty in high integrity mode.
12853
12854 * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
12855 OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
12856
12857 * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
12858 unit if not inlined always and in no runtime mode. Fixes problem
12859 caused by new Rtsfind changes.
12860
12861 * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
12862 body is deleted.
12863
12864 * rtsfind.adb (RTE): Make sure we do not try to load unit after
12865 giving message for entity not available in high integrity mode.
12866
12867 2001-10-11 Pascal Obry <obry@gnat.com>
12868
12869 * impunit.adb: Add GNAT.CRC32.
12870
12871 2001-10-11 Ed Schonberg <schonber@gnat.com>
12872
12873 * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
12874 properly the case where one universal operand in a non-static
12875 exponentiation of a real literal.
12876
12877 2001-10-11 Ed Schonberg <schonber@gnat.com>
12878
12879 * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
12880 clause, return the gobal finalization list, for lack of anthing else.
12881
12882 2001-10-11 Ed Schonberg <schonber@gnat.com>
12883
12884 * exp_ch7.adb (Make_Transient_Block): if statement is within
12885 exception handler, always use new transient scope to place Clean
12886 procedure.
12887
12888 2001-10-11 Pascal Obry <obry@gnat.com>
12889
12890 * Makefile.in:
12891 (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
12892 (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
12893 (GNATLS_RTL_OBJS): add g-crc32.o
12894 (GNATMAKE_RTL_OBJS): add g-crc32.o
12895
12896 * ali-util.adb:
12897 (CRC_Match): new function.
12898 (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
12899 instead of the previous simple checksum algorithm.
12900 (Time_Stamp_Mismatch): use CRC_Match for comparison.
12901 (Set_Source_Table): idem.
12902
12903 * ali-util.ads:
12904 (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
12905 instead of simple checksum.
12906 (CRC_Match): new function.
12907 (CRC_Error): new constant.
12908
12909 * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
12910 a CRC now and not a simple checksum. A CRC uses lower-case hex
12911 letters, fixes ambiguity in parsing.
12912
12913 * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
12914 is what this variable will store.
12915
12916 * bcheck.adb: Change reference to chechsum in comments by CRC.
12917 (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
12918 rename All_Checksum_Match to All_CRC_Match. Change due to API
12919 renaming since now GNAT does not use a simple checksum but a
12920 CRC using GNAT.CRC32.
12921
12922 * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
12923 now and not anymore a simple checksum.
12924
12925 * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
12926 places.
12927
12928 * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
12929
12930 * scans.adb:
12931 (Restore_Scan_State): rename Checksum to CRC.
12932 (Save_Scan_State): idem.
12933
12934 * scans.ads:
12935 With GNAT.CRC32.
12936 (Checksum): rename to CRC.
12937 (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
12938
12939 * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
12940 GNAT.CRC32). Update copyright notice.
12941
12942 * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
12943 GNAT.CRC32). Update copyright notice.
12944
12945 * scn.adb:
12946 (Accumulate_Checksum): removed.
12947 (Update): new procedure. Add a wide-character into the CRC.
12948
12949 * sinput-l.adb:
12950 (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
12951 (Load_File): fix initialization of S (change Source_Checksum to
12952 Source_CRC)
12953
12954 * sinput-p.adb (Load_Project_File): rename Source_Checksum to
12955 Source_CRC in S initialization.
12956
12957 * sinput.adb (Source_Checksum): renamed to Source_CRC.
12958
12959 * sinput.ads (Source_Checksum): renamed to Source_CRC.
12960 Update comments for the CRC.
12961
12962 * types.adb (Hex): Use lowercase for the letter part.
12963
12964 * types.ads (Get_Hex_String): Returns the hexadecimal representation
12965 for a word. This is currently used only for CRC. In previous version,
12966 the checksum was using a representation with all letter being
12967 upper-case. With the new implementation (using CRC) we do not remove
12968 the 32th bit of the CRC, so we can have an upper-case starting letter
12969 in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
12970 It is ambigous since the CRC was optional and could be followed by
12971 options like EB, EE. So now this routines uses lower-case letter for
12972 the hexadecimal representation. Strange enough only lower case letters
12973 where checked in Scan_ALI (even if this was not a possible case).
12974
12975 * gnatvsn.ads (Library_Version): changed to 3.15a.
12976
12977 * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
12978 for the compiler.
12979
12980 * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
12981 for the compiler.
12982
12983 * ali-util.adb: Redo previous change to avoid using word CRC everywhere
12984 Add 2001 to copyright notice
12985 (Accumulate_Checksum): Modify to use System.CRC32.
12986
12987 * ali-util.ads: Redo changes of previous revision to continue to use
12988 the word Checksum. Add 2001 to copyright notice.
12989
12990 * ali.adb: Undo some of previous changes, not needed.
12991 Keep the change for lower case letters in the checksum.
12992
12993 * ali.ads: Undo previous change not needed.
12994
12995 * bcheck.adb: Undo most of previous change, not needed.
12996 But do use Checksums_Match for checksum comparison.
12997
12998 * gnatls.adb: Undo most of previous change, not needed.
12999 But do use Checksums_Match for comparing checksums.
13000
13001 * lib-load.adb: Undo previous change, not needed.
13002
13003 * lib-writ.adb: Undo previous change, not needed.
13004
13005 * lib-writ.ads: Document that checksums use lower case,
13006 not upper case letters.
13007
13008 * scans.adb: Undo previous change, not needed
13009
13010 * scans.ads: Undo previous change, not needed.
13011
13012 * scn-nlit.adb: Undo previous changes, not needed.
13013
13014 * scn-slit.adb: Undo previous change, not needed. Fix header format.
13015
13016 * scn.adb:
13017 (Accumulate_Checksum): Use System.CRC32.
13018 (Initialize_Checksum): New procedure.
13019 Remove other changes of previous revision.
13020
13021 * sinput-p.adb: Undo previous change, not needed.
13022
13023 * sinput.adb: Undo previous change, not needed.
13024
13025 * sinput-l.adb: Undo previous change, not needed.
13026
13027 * sinput.ads: Undo previous change, not needed. Keep only comment
13028 on new checksum algorithm
13029
13030 * Makefile.in: Add s-crc32 as needed, remove g-crc32.
13031 Also remove a-tags and a-stream from GNAT sources.
13032
13033 * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
13034
13035 * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
13036
13037 2001-10-11 Geert Bosch <bosch@gnat.com>
13038
13039 * einfo.h: Regenerate.
13040
13041 * nmake.ads: Regenerate.
13042
13043 * nmake.adb: Regenerate.
13044
13045 * sinfo.h: Regenerate.
13046
13047 * treeprs.adb: Regenerate.
13048
13049 2001-10-10 Geert Bosch <bosch@gnat.com>
13050
13051 * gnat-style.texi: New file describing coding guidelines for Ada.
13052
13053 2001-10-10 Ed Schonberg <schonber@gnat.com>
13054
13055 * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
13056 is Flag174.
13057
13058 2001-10-10 Geert Bosch <bosch@gnat.com>
13059
13060 * snames.ads: Add new names for project facility.
13061
13062 * snames.adb: Update to reflect snames.ads changes.
13063
13064 * snames.h: Update to reflect snames.ads changes.
13065
13066 2001-10-10 Vincent Celier <celier@gnat.com>
13067
13068 * make.adb:
13069 (Add_Switches): reflect the changes for the switches attributes
13070 Default_Switches indexed by the programming language,
13071 Switches indexed by the file name.
13072 (Collect_Arguments_And_Compile): Idem.
13073 Reflect the attribute name changes.
13074
13075 * prj-attr.adb:
13076 (Initialisation_Data): Change the names of some packages and
13077 attributes.
13078 (Initialize): process case insensitive associative arrays.
13079
13080 * prj-attr.ads:
13081 (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
13082
13083 * prj-dect.adb:
13084 (Parse_Attribute_Declaration): For case insensitive associative
13085 arrays, set the index string to lower case.
13086
13087 * prj-env.adb:
13088 Reflect the changes of the project attributes.
13089
13090 * prj-nmsc.adb:
13091 Replace Check_Naming_Scheme by Ada_Check and
13092 Language_Independent_Check.
13093
13094 * prj-nmsc.ads:
13095 Replaced Check_Naming_Scheme by 2 procedures:
13096 Ada_Check and Language_Independent_Check.
13097
13098 * prj-proc.adb:
13099 (Process_Declarative_Items): For case-insensitive associative
13100 arrays, set the index string to lower case.
13101 (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
13102 Prj.Nmsc.Check_Naming_Scheme.
13103
13104 * prj-tree.adb:
13105 (Case_Insensitive): New function
13106 (Set_Case_Insensitive): New procedure
13107
13108 * prj-tree.ads:
13109 (Case_Insensitive): New function
13110 (Set_Case_Insensitive): New procedure
13111 (Project_Node_Record): New flag Case_Insensitive.
13112
13113 * prj-util.adb:
13114 (Value_Of): new function to get the string value of a single
13115 string variable or attribute.
13116
13117 * prj-util.ads:
13118 (Value_Of): new function to get the string value of a single
13119 string variable or attribute.
13120
13121 * prj.adb:
13122 (Ada_Default_Spec_Suffix): New function
13123 (Ada_Default_Impl_Suffix): New function
13124 Change definitions of several constants to reflect
13125 new components of record types.
13126
13127 * prj.ads:
13128 (Naming_Data): Change several components to reflect new
13129 elements of naming schemes.
13130 (Project_Data): New flags Sources_Present and
13131 Language_Independent_Checked.
13132 (Ada_Default_Spec_Suffix): New function.
13133 (Ada_Default_Impl_Suffix): New function.
13134
13135 * snames.ads:
13136 Modification of predefined names for project manager: added
13137 Implementation, Specification_Exceptions, Implementation_Exceptions,
13138 Specification_Suffix, Implementation_Suffix, Separate_Suffix,
13139 Default_Switches, _Languages, Builder, Cross_Reference,
13140 Finder. Removed Body_Part, Specification_Append, Body_Append,
13141 Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
13142 Gnatlink.
13143
13144 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
13145 Add comments.
13146
13147 * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
13148 not that it is Nil_Variable_Value.
13149
13150 * prj.ads: Add ??? for uncommented declarations
13151
13152 2001-10-10 Ed Schonberg <schonber@gnat.com>
13153
13154 * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
13155 constant, do not indicate possible modification, so that gigi can
13156 treat it as a bona fide constant.
13157
13158 2001-10-10 Robert Dewar <dewar@gnat.com>
13159
13160 * sem_prag.adb: Add processing for pragma External.
13161
13162 * snames.ads: Add entry for pragma External.
13163
13164 * par-prag.adb: Add pragma External.
13165
13166 * snames.adb: Updated to match snames.ads.
13167
13168 2001-10-10 Ed Schonberg <schonber@gnat.com>
13169
13170 * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
13171 a dynamic task if the allocator appears in an indexed assignment
13172 or selected component assignment.
13173
13174 * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
13175 For a dynamic task in an assignment statement, use target of
13176 assignment to generate meaningful name.
13177
13178 2001-10-10 Ed Schonberg <schonber@gnat.com>
13179
13180 * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
13181 a generic package.
13182
13183 * einfo.ads: Body_Entity is also defined for generic package.
13184 Documentation change only
13185
13186 * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
13187 others_choice for a discriminated component initialization,
13188 convert discriminant references into the corresponding discriminals.
13189
13190 * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
13191 only if original type is private and expression has to be wrapped
13192 in a conversion.
13193
13194 * checks.adb:
13195 (Apply_Constraint_Check): Do not perform length check
13196 if expression is an aggregate with only an others_choice.
13197 (Length_N_Cond): two references to the same in_parameter
13198 (typically the discriminal in an init_proc) denote the same value.
13199 Two useful optimization uncovered by bugfixes above.
13200
13201 2001-10-10 Robert Dewar <dewar@gnat.com>
13202
13203 * xeinfo.adb: Change int to char in translation of enumeration types.
13204 This fixes a problem in the C representation of component alignment.
13205 Add 2001 to copyright notice
13206
13207 2001-10-10 Richard Kenner <kenner@gnat.com>
13208
13209 * decl.c: (validate_size): Do check size of object of integral type
13210 if it is a packed array type.
13211
13212 2001-10-10 Richard Kenner <kenner@gnat.com>
13213
13214 * decl.c: (gnat_to_gnu_entity, case object): Also materialize
13215 VAR_DECL for constant if not Is_Public but -O0.
13216
13217 2001-10-10 Richard Kenner <kenner@gnat.com>
13218
13219 * misc.c (struct lang_hooks): Add new initializer to match GCC change.
13220
13221 2001-10-10 Geert Bosch <bosch@gnat.com>
13222
13223 * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
13224 use '/' as switch character, allowing for absolute file names.
13225
13226 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
13227
13228 * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
13229 FSF address.
13230
13231 2001-10-08 Geert Bosch <bosch@gnat.com>
13232
13233 * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
13234 Automatically build utilities when files need to be regenerated.
13235
13236 2001-10-08 Geert Bosch <bosch@gnat.com>
13237
13238 * xsnames.adb: New utility for updating snames.ads and snames.adb
13239
13240 2001-10-08 Zack Weinberg <zack@codesourcery.com>
13241
13242 * Make-lang.in (ADAFLAGS): Add -W -Wall.
13243 (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
13244 (gnat1): Also depend on attribs.o.
13245 (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
13246 * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
13247 (ADAC): Set to @ADAC@ in stage1, $(CC) later.
13248 (ADAFLAGS): Add -W -Wall.
13249 (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
13250 take out CFLAGS.
13251
13252 (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
13253 s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
13254 s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
13255 Use $(ADAC), not $(CC), as compilation command.
13256
13257 (gnattools): Depend directly on tools to build, don't use
13258 recursive make.
13259 (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
13260
13261 * einfo.h, sinfo.h: New files (autogenerated).
13262
13263 2001-10-08 Richard Henderson <rth@redhat.com>
13264
13265 * comperr.adb (Abort_In_Progress): New.
13266 (Compiler_Abort): Use it to prevent recursion.
13267
13268 2001-10-08 Robert Dewar <dewar@gnat.com>
13269
13270 * atree.adb: Set Error_Posted in Error node, helps error recovery.
13271
13272 * par-endh.adb (Output_End_Expected): We should also not test
13273 Error_Posted on the Error node, since now it is always set.
13274
13275 * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
13276 to help error recovery. Part of general work on 9407-004.
13277
13278 * par.adb: Add ??? for misuse of error
13279
13280 * sem_res.adb:
13281 (Resolve): Defend against Error, fixes 9407-003.
13282 (Resolve_Discrete_Subtype_Indication): Defend against Error.
13283
13284 * sinfo.ads (N_Error): Now has Etype field (which will be set
13285 to Any_Type to help error recovery).
13286
13287 2001-10-08 Richard Kenner (kenner@gnat.com)
13288
13289 * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
13290 Consistently set MEM attributes from expression; fixes
13291 bootstrap failure on x86.
13292
13293 2001-10-08 Geert Bosch (bosch@gnat.com)
13294
13295 * 5oosinte.adb: Add 2001 to copyright notice.
13296
13297 2001-10-08 Geert Bosch (bosch@gnat.com)
13298
13299 * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
13300
13301 * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
13302
13303 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
13304
13305 * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
13306
13307 2001-10-05 Geert Bosch (bosch@gnat.com)
13308
13309 * adaint.h: Small formatting fix.
13310
13311 2001-10-04 Geert Bosch <bosch@gnat.com>
13312
13313 * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
13314 Arg is int, not FILE *, in dummy version of functions.
13315
13316 * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
13317 Arg is int, not FILE *.
13318
13319 2001-10-04 Geert Bosch <bosch@gnat.com>
13320
13321 * 3lsoccon.ads: Added file, missed with initial check ins.
13322
13323 * 4lintnam.ads: Fix header format.
13324 Change Linux to GNU/Linux.
13325
13326 * 5iosinte.adb: Change Linux to GNU/Linux.
13327
13328 * 5iosinte.ads: Change Linux to GNU/Linux.
13329
13330 * 5itaprop.adb: Change Linux to GNU/Linux.
13331
13332 * 5itaspri.ads: Change Linux to GNU/Linux.
13333 Update copyright notice.
13334
13335 * 5lintman.adb: Change Linux to GNU/Linux.
13336
13337 * 5lml-tgt.adb: Change Linux to GNU/Linux.
13338
13339 * 5losinte.ads: Change Linux to GNU/Linux.
13340
13341 * 5lsystem.ads: Change Linux to GNU/Linux.
13342
13343 * 5qosinte.adb: Change Linux to GNU/Linux.
13344
13345 * 5qosinte.ads: Change Linux to GNU/Linux.
13346
13347 * 5qparame.ads: Change Linux to GNU/Linux.
13348
13349 * 5qtaprop.adb: Change Linux to GNU/Linux.
13350
13351 * 5qtaspri.ads: Change Linux to GNU/Linux.
13352 Add 2001 to copyright notice.
13353
13354 * 5vintman.ads: Change Linux to GNU/Linux.
13355 Fix header format. Add 2001 to copyright notice.
13356
13357 * g-soccon.ads: Change Linux to GNU/Linux.
13358
13359 * g-trasym.ads: Change Linux to GNU/Linux.
13360 Add 2001 to copyright notice.
13361
13362 * memtrack.adb: Change Linux to GNU/Linux.
13363
13364 * s-intman.ads: Change Linux to GNU/Linux.
13365 Add 2001 to copyright notice. Fix header format.
13366
13367 * s-stache.adb: Change Linux to GNU/Linux.
13368
13369 * adaint.c: Change Linux to GNU/Linux.
13370
13371 * cio.c: Change Linux to GNU/Linux.
13372
13373 * cstreams.c: Change Linux to GNU/Linux.
13374
13375 * init.c: Change Linux to GNU/Linux.
13376
13377 * gmem.c: Change Linux to GNU/Linux.
13378
13379 * tracebak.c: Change Linux to GNU/Linux.
13380
13381
13382 2001-10-02 Geert Bosch <bosch@gnat.com>
13383
13384 * misc.c (insert_default_attributes): Add dummy version.