OSDN Git Service

2004-10-04 Olivier Hainque <hainque@act-europe.fr>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
2
3         * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
4         in general and triggers stack alignment adjustment for thread entry
5         points on targets where this is necessary.
6
7 2004-10-04  Bernard Banner  <banner@gnat.com>
8
9         PR ada/13897
10
11         * Makefile.in: Add section for powerpc linux
12         Add variant i-vxwork-x86.ads
13
14         * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
15
16 2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
17
18         * init.c (__gnat_initialize): Call an Ada subprogram to perform the
19         table registration calls when need be. Ensures no reference to the crt
20         ctors symbol are issued in the SJLJ case, which avoids possible
21         undefined symbol errors in the case of modules to be statically linked
22         with the kernel.
23
24 2004-10-04  Javier Miranda  <miranda@gnat.com>
25
26         * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
27         in-line the code corresponding to subprogram Analyze_Actuals. In
28         addition, analyze the actuals only in case of subprogram call.
29
30 2004-10-04  Ed Falis  <falis@gnat.com>
31
32         * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
33
34 2004-10-04  Sergey Rybin  <rybin@act-europe.fr>
35
36         * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
37         in the documentation.
38
39 2004-10-04  Robert Dewar  <dewar@gnat.com>
40
41         * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
42         IF and CASE.
43         (Analyze_Block_Statement): Add circuitry to detect following dead code
44         (Check_Unreachable_Code): Handle case of block exit
45
46 2004-10-04  Robert Dewar  <dewar@gnat.com>
47
48         * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
49         (XMatchD): Avoid warning for Logic_Error call
50
51 2004-10-04  Robert Dewar  <dewar@gnat.com>
52
53         * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
54         consider expressions buried within a procedure actual to be an actual.
55         This caused some blowups with uses of packed slices within a procedure
56         actual.
57
58 2004-10-04  Robert Dewar  <dewar@gnat.com>
59
60         * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
61         longer need to be initialized to zero.
62         (Get_Simple_Init_Val): Modular packed arrays no longer need to be
63         initialized to zero.
64
65         * checks.adb (Expr_Known_Valid): Packed arrays are now always
66         considered valid, even if the representation is modular. That's correct
67         now that we no longer initialize packed modular arrays to zero.
68
69         * exp_dbug.ads: Clarify documentation on handling of PAD and JM
70         suffixes. These are now documented as the only cases in which the
71         debugger ignores outer records.
72         Previously, the spec allowed arbitrary suffixes for this purpose.
73         Change name of LJM to JM for packed array pad records
74         Create separate section on packed array handling, and add a whole new
75         set of comments to this section describing the situation with packed
76         modular types and justification requirements depending on endianness.
77
78 2004-10-04  Robert Dewar  <dewar@gnat.com>
79
80         * a-except.adb: Add a comment for last change
81
82         * einfo.ads: Minor spelling correction in comment
83
84         * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
85
86         * sem_ch11.adb: Fix a case of using | instead of \ for continuation
87         messages.
88
89         * sem_util.ads: Minor comment update
90
91 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
92
93         * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
94         Inline_Always when in Configurable_Run_Time mode.
95
96         * sem_prag.adb (Process_Convention): If entity is an inherited
97         subprogram, apply convention to parent subprogram if in same scope.
98         (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
99         when in Configurable_Run_Time mode.
100
101 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
102
103         * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
104         class_wide type after component list has been inherited.
105
106 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
107
108         * sem_ch12.adb (Check_Generic_Actuals): New predicate
109         Denotes_Previous_Actual, to handle properly the case of a private
110         actual that is also the component type of a subsequent array actual.
111         The visibility status of the first actual is not affected when the
112         second is installed.
113         (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
114         make fully recursive the treatment of formals of packages declared
115         with a box.
116         (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
117         the above on exit from an instantiation.
118         (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
119         current instantiation which is now complete.
120         (Analyze_Package_Instantiation): No instantiated body is needed if the
121         main unit is generic. Efficient, and avoid anomalies when a instance
122         appears in a package accessed through rtsfind.
123
124 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
125
126         * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
127         do not generate a declaration for a temporary if the call is part of a
128         library-level instantiation.
129
130 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
131
132         * sem_util.adb (Explain_Limited_Type): Ignore internal components when
133         searching for a limited component to flag.
134
135         * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
136         expansion of Input, to account for the fact that the implicit call
137         generated by the attribute reference must freeze the user-defined
138         stream subprogram. This is only relevant to 'Input, because it can
139         appear in an object declaration, prior to the body of the subprogram.
140
141         * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
142         expansion can proceed and further errors uncovered.
143         (Minor clean up): Fix cases of using | instead of \ for continuation
144         messages.
145
146 2004-10-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
147
148         * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
149
150         * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
151         (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
152         Use gcc_assert and gcc_unreachable.
153
154         * decl.c (gnat_to_gnu_entity, case object): Check and process a
155         specified alignment before validating size.
156         (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
157         stripped-down declaration for the type of the inner field when making
158         a JM type.
159
160         * utils.c (finish_record_type): Do not compute the size in units
161         incrementally. Instead compute it once for the rep clause case.
162         Use gcc_assert and gcc_unreachable.
163
164 2004-10-04  Vincent Celier  <celier@gnat.com>
165
166         * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
167         in file name.
168         (Is_Valid_Path_Name): Take '/' as a directory separator.
169
170 2004-10-04  Vincent Celier  <celier@gnat.com>
171
172         * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
173         (Extended_Project) only if Extended_Project is defined, to avoid
174         assertion error.
175         (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
176         resolved path.
177         (Parse_Single_Project): Ditto.
178
179         * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
180         Add_To_Project_Path for virtual projects.
181
182 2004-10-04  Vincent Celier  <celier@gnat.com>
183
184         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, 
185         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, 
186         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, 
187         mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
188         parameter Options_2.
189
190         * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
191         Build_Dynamic_Library with an empty Options_2.
192
193         * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
194         default anymore.
195
196         * makegpr.adb (Get_Imported_Directories.add): Remove trailing
197         directory separator, if any.
198         (Gprmake): Do not allow mains on the command line for library projects.
199         Do not attempt to link when the project is a library project.
200         (Library_Opts): New table to store Library_Options.
201         (Build_Library): If Library_Options is specified, pass these options
202         when building a shared library.
203
204 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
205
206         * s-tposen.adb (Service_Entry): The object must be always unlocked at
207         the end of this procedure now that the unlock operation was inserted
208         by the expander.
209
210 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
211
212         * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
213         corresponding to the Preallocated_Stacks flags in System.
214         (Get_Target_Parameters): Including the processing for
215         Preallocated_Stacks.
216
217         * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads, 
218         system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads, 
219         system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads, 
220         system-linux-x86_64.ads, system-tru64.ads, system-aix.ads, 
221         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads, 
222         system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads, 
223         system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads, 
224         system-vxworks-mips.ads, system-os2.ads, system-interix.ads, 
225         system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, 
226         system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads, 
227         system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
228         used to signal whether the compiler creates the required stacks and
229         descriptors for the different tasks (when True) or it is done by the
230         underlying operating system at run time (when False).
231         It is initially set to False in all targets.
232
233         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
234         if it is supported by the target.
235         (Make_Task_Create_Call): Pass the stack address if it has been
236         previously created. Otherwise pass a Null_Address.
237
238         * snames.adb: Add _stack.
239
240         * snames.ads: Add Name_uStack. Required to allow the expander to
241         statically allocated task stacks.
242
243         * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
244         Stack_Address argument.
245         Check that its value is equal to Null_Address because this target does
246         not support the static stack allocation.
247
248 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
249
250         * usage.adb: Change "pragma inline" to "pragma Inline" in information
251         and error messages
252
253 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
254
255         * exp_dist.adb: Split declaration of asynchronous flag out of
256         Add_RACW_Read_Attribute.
257         Minor reformatting for better alignment with PolyORB version.
258         Store the entity for the asynchronous flag of an RACW, rather than the
259         expression, in the asynchronous flags table. This will allow this flag
260         to be used in other subprograms beside Add_RACW_Read_Attribute.
261
262 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
263
264         * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
265         g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads, 
266         g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb, 
267         g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads, 
268         g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads:  Add new
269         sockets constant MSG_NOSIGNAL (Linux-specific).
270         Add new sockets constant MSG_Forced_Flags, list of flags to be set on
271         all Send operations.
272         For Linux, set MSG_NOSIGNAL on all send operations to prevent them
273         from trigerring SIGPIPE.
274         Rename components to avoid clash with Ada 2005 possible reserved
275         word 'interface'.
276         (Check_Selector): When the select system call returns with an error
277         condition, propagate Socket_Error to the caller.
278
279 2004-10-01  Jan Hubicka  <jh@suse.cz>
280
281         * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
282
283 2004-09-23  Robert Dewar  <dewar@gnat.com>
284
285         PR ada/17540
286
287         * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
288         instead do this at freeze time (we won't do it if there is an address
289         clause).
290         Change "pragma inline" to "pragma Inline" in information and error
291         messages.
292         Minor reformatting.
293
294         * freeze.adb (Check_Address_Clause): Remove previous change, not the
295         right way of doing things after all.
296         (Freeze_Entity): For object, set Is_Public for imported entities
297         unless there is an address clause present.
298
299 2004-09-21  Olivier Hainque  <hainque@act-europe.fr>
300
301         * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
302         dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
303         ensures proper handling of types with rep clauses, which might have
304         their TYPE_SIZE set already.
305
306 2004-09-21  Robert Dewar  <dewar@gnat.com>
307
308         * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
309         packed array types in both little- and big-endian cases. This change
310         ensures that we no longer count on the unused bits being initialized
311         for such types (and in particular ensures that equality testing will
312         only read the relevant bits).
313         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
314         These changes mean that we no longer need to initialize small packed
315         arrays.
316         (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
317         optimization to an LJM field as to its parent field.
318
319         * ada-tree.h, trans.c, utils.c, utils2.c:
320         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
321
322 2004-09-20  Jan Hubicka  <jh@suse.cz>
323
324         * utils.c (gnat_finalize): Remove.
325         (end_subprog_body): Directly call cgraph_finalize_function;
326         do not lower the nested functions.
327
328 2004-09-20  Robert Dewar  <dewar@gnat.com>
329
330         PR ada/17540
331
332         * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
333         if an address clause is present, since that means that the Import
334         should be ignored.
335
336 2004-09-20  Arnaud Charlet  <charlet@act-europe.fr>
337
338         * 5tsystem.ads: Removed, no longer used.
339
340 2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
341             Zack Weinberg  <zack@codesourcery.com>
342
343         * ada-tree.def: Use tree_code_class enumeration constants
344         instead of code letters.
345         * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
346         Update for new tree-class enumeration constants.
347
348 2004-09-17  Vincent Celier  <celier@gnat.com>
349
350         * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
351         capabilities of the general project manager.
352
353 2004-09-09  Vincent Celier  <celier@gnat.com>
354
355         * a-direct.ads: Add pragma Ada_05
356         (Directory_Entry_Type): Give default value to component Kind to avoid
357         not initialized warnings.
358
359         * a-direct.adb (Current_Directory): Remove directory separator at the
360         end.
361         (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
362         an existing directory.
363         (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
364         (Size (String)): Function C_Size returns Long_Integer, not File_Size.
365         Convert the result to File_Size.
366
367         * prj.ads: (Project_Error): New exception
368
369         * prj-attr.adb: Except in procedure Initialize, Fail comes from
370         Prj.Com, not from Osint.
371         (Attrs, Package_Attributes): Tables moved to private part of spec
372         (Add_Attribute, Add_Unknown_Package): Moved to new child package
373         Prj.Attr.PM.
374         (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
375         Prj.Project_Error after call to Fail.
376         (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
377         Fail. Check that package name is not already in use.
378
379         * prj-attr.ads: Comment updates to indicate that all subprograms may be
380         used by tools, not only by the project manager, and to indicate that
381         exception Prj.Prj_Error may be raised in case of problem.
382         (Add_Unknown_Package, Add_Attribute): Moved to new child package
383         Prj.Attr.PM.
384         (Attrs, Package_Attributes): Table instantiations moved from the body to
385         the private part to be accessible from Prj.Attr.PM body.
386
387         * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
388         from new package Prj.Attr.PM.
389         (Parse_Attribute_Declaration): Call Add_Attribute from new package
390         Prj.Attr.PM.
391
392         * Makefile.in: Add prj-attr-pm.o to gnatmake object list
393
394         * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
395         instead of Elaboration_Checks).
396
397         * a-calend.adb: Minor reformatting
398
399 2004-09-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
400
401         * gigi.h (maybe_pad_type): New declaration.
402         (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
403
404         * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
405
406         * cuintp.c: Convert to use buildN.
407
408         * decl.c (maybe_pad_type): No longer static.
409         (gnat_to_gnu_entity, case E_Function): Handle case of returning by
410         target pointer.
411         Convert to use buildN.
412
413         * trans.c (call_to_gnu): Add arg GNU_TARGET; support
414         TYPE_RETURNS_BY_TARGET_PTR_P.  All callers changed.
415         (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
416         RHS.
417         (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
418         (gnat_gimplify_expr, case ADDR_EXPR): New case.
419         Convert to use buildN.
420
421         * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
422         TREE_READONLY for const.
423         Convert to use buildN.
424
425         * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
426         (create_var_decl): Refine when TREE_STATIC is set.
427         Convert to use buildN.
428
429 2004-09-09  Gary Dismukes  <dismukes@gnat.com>
430
431         * gnat_ugn.texi: Delete text relating to checking of ali and object
432         consistency.
433
434         * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
435         routines.
436
437 2004-09-09  Jose Ruiz  <ruiz@act-europe.fr>
438
439         * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
440         pragmas recognized by GNAT.
441
442         * gnat_rm.texi: Document pragma Detect_Blocking.
443
444         * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
445         raise Program_Error if called from a protected operation.
446
447         * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
448         the protected action nesting level.
449         (Lock_Read_Only): When pragma Detect_Blocking is active increase the
450         protected action nesting level.
451         (Unlock): When pragma Detect_Blocking is active decrease the protected
452         action nesting level.
453
454         * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
455         Protected_Action_Nesting.
456
457         * s-taskin.ads: Adding the field Protected_Action_Nesting to the
458         Common_ATCB record. It contains the dynamic level of protected action
459         nesting for each task. It is needed for checking whether potentially
460         blocking operations are called from protected operations.
461         (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
462         Detect_Blocking is active or not in the partition.
463
464         * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
465         raise Program_Error if called from a protected operation.
466         (Task_Entry_Call): When pragma Detect_Blocking is active, raise
467         Program_Error if called from a protected operation.
468         (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
469         Program_Error if called from a protected operation.
470
471         * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
472         raise Program_Error if called from a protected operation.
473
474         * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
475         raise Program_Error if called from a protected operation, and increase
476         the protected action nesting level.
477         (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
478         Program_Error if called from a protected operation, and increase the
479         protected action nesting level.
480         (Unlock_Entries): When pragma Detect_Blocking is active decrease the
481         protected action nesting level.
482
483         * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
484         raise Program_Error if called from a protected operation, and increase
485         the protected action nesting level.
486         (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
487         Program_Error if called from a protected operation, and increase the
488         protected action nesting level.
489         (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
490         raise Program_Error if called from a protected operation.
491         (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
492         active, raise Program_Error if called from a protected operation.
493         (Unlock_Entry): When pragma Detect_Blocking is active decrease the
494         protected action nesting level.
495
496         * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
497         insertion of the statement raising Program_Error. The run time
498         contains the required machinery for handling that.
499
500         * sem_util.ads: Change comment associated to procedure
501         Check_Potentially_Blocking_Operation.
502         This procedure does not insert a call for raising the exception because
503         that is currently done by the run time.
504
505         * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
506
507         * init.c: Add the global variable __gl_detect_blocking that indicates
508         whether pragma Detect_Blocking is active (1) or not (0). Needed for
509         making the pragma available at run time.
510         (__gnat_set_globals): Pass and update the detect_blocking parameter.
511
512         * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
513         pragma Detect_Blocking is active.
514
515         * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
516
517         * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
518         DB is found in the ali file. Any unit compiled with pragma
519         Detect_Blocking active forces its effect in the whole partition.
520
521         * a-retide.adb (Delay_Until): Raise Program_Error if pragma
522         Detect_Blocking is active and delay is called from a protected
523         operation.
524
525         * bindgen.adb (Gen_Adainit_Ada): When generating the call to
526         __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
527         Detect_Blocking is active (0 otherwise).
528         (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
529         as Detect_Blocking parameter if pragma Detect_Blocking is active (0
530         otherwise).
531
532 2004-09-09  Thomas Quinot  <quinot@act-europe.fr>
533
534         * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
535         GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
536         package.
537
538         * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
539         (Register_Receiving_Stub): Add Subp_Info formal parameter.
540         Update API in placeholder implemetation of s-parint to reflect changes
541         in distribution runtime library.
542
543         * sem_ch3.adb (Expand_Derived_Record): Rename to
544         Expand_Record_Extension.
545
546         * sem_disp.adb (Check_Controlling_Formals): Improve error message for
547         primitive operations of potentially distributed object types that have
548         non-controlling anonymous access formals.
549
550         * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
551         subprogram.
552         New implementation of expansion for remote access-to-subprogram types,
553         based on the RACW infrastructure.
554         This version of sem_dist is compatible with PolyORB/DSA as well as
555         GLADE.
556
557         * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
558         Asynchrronous that applies to a remote access-to-subprogram type, mark
559         the underlying RACW type as asynchronous.
560
561         * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
562          __gnat_using_gnu_linker to 1.
563
564         * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
565         g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
566         GNAT.Perfect_Hash_Generators, and remove the empty
567         GNAT.Perfect_Hash package.
568
569         * atree.adb: Minor reformatting
570
571         * exp_ch3.adb (Expand_Derived_Record): Rename to
572         Expand_Record_Extension.
573         (Build_Record_Init_Proc.Build_Assignment): The default expression in
574         a component declaration must remain attached at that point in the
575         tree so New_Copy_Tree copies it if the enclosing record type is derived.
576         It is therefore necessary to take a copy of the expression when building
577         the corresponding assignment statement in the init proc.
578         As a side effect, in the case of a derived record type, we now see the
579         original expression, without any rewriting that could have occurred
580         during expansion of the ancestor type's init proc, and we do not need
581         to go back to Original_Node.
582
583         * exp_ch3.ads (Expand_Derived_Record): Rename to
584         Expand_Record_Extension.
585
586         * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
587         Returns the RACW type used to implement a remote access-to-subprogram
588         type.
589         (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
590         New subprograms. Used to create a proxy tagged object for a remote
591         subprogram. The proxy object is used as the designated object
592         for RAS values on the same partition (unless All_Calls_Remote applies).
593         (Build_Get_Unique_RP_Call): New subprogram. Build a call to
594         System.Partition_Interface.Get_Unique_Remote_Pointer.
595         (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
596         Renamed from Add_RAS_*_Attribute.
597         (Add_Receiving_Stubs_To_Declarations): Generate a table of local
598         subprograms.
599         New implementation of expansion for remote access-to-subprogram types,
600         based on the RACW infrastructure.
601
602         * exp_dist.ads (Copy_Specification): Update comment to note that this
603         function can copy the specification from either a subprogram
604         specification or an access-to-subprogram type definition.
605
606 2004-09-09  Ed Schonberg  <schonberg@gnat.com>
607
608         * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
609         in an instance, between an explicit subprogram an one inherited from a
610         type derived from an actual.
611
612         * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
613         add a polling call if the subprogram is to be inlined by the back-end,
614         to avoid repeated calls with multiple inlinings.
615
616         * checks.adb (Apply_Alignment_Check): If the expression in the address
617         clause is a call whose name is not a static entity (e.g. a dispatching
618         call), treat as dynamic.
619
620 2004-09-09  Robert Dewar  <dewar@gnat.com>
621
622         * g-trasym.ads: Minor reformatting
623
624         * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
625         packed arrays, since unused bits are expected to be zero for a
626         comparison.
627
628 2004-09-09  Eric Botcazou  <ebotcazou@act-europe.fr>
629
630         * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
631         comment.
632
633 2004-09-09  Pascal Obry  <obry@gnat.com>
634
635         * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
636         enable map file generation. Add the right option to generate the map
637         file if Map_File is set to True.
638
639         * gnatdll.adb (Gen_Map_File): New variable.
640         (Syntax): Add info about new -m (Map_File) option.
641         (Parse_Command_Line): Add support for -m option.
642         (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
643         Minor reformatting.
644
645 2004-09-09  Laurent Pautet  <pautet@act-europe.fr>
646
647         * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
648         new gnatdist implementation.
649         Define a subpackage isolating the output routines specific to this
650         verbose mode.
651
652 2004-09-09  Joel Brobecker  <brobecker@gnat.com>
653
654         * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
655
656         * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
657
658 2004-09-09  Cyrille Comar  <comar@act-europe.fr>
659
660         * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
661         internal unit.
662
663         * opt.ads: Add Ada_Version_Runtime constant used to decide which
664         version of the language is used to compile the run time.
665
666 2004-09-09  Arnaud Charlet  <charlet@act-europe.fr>
667
668         * sem_util.adb (Requires_Transient_Scope): Re-enable handling
669         of variable length temporaries for function return now that the
670         back-end and gigi support it.
671
672 2004-09-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
673
674         * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
675
676         * trans.c (struct stmt_group): Delete field GLOBAL.
677         (gnat_init_stmt_group): Do not initialize it.
678         (call_to_gnu): Use save_expr, not protect_multiple_eval.
679         (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
680         (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
681         (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
682         (start_stmt_group): Likewise.
683         (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
684
685         * utils2.c (ggc.h): Include.
686         (build_call_raise): Call build_int_cst, not build_int_2.
687
688         * utils.c (gnat_init_decl_processing): Fix arg to
689         build_common_tree_nodes.
690         (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
691         (gnat_define_builtin): Set built_in_decls.
692         (init_gigi_decls): Call build_int_cst, not build_int_2.
693
694         * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
695         (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
696         (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
697         (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
698         SET_TYPE_MODULE): Use them.
699         (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
700         (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
701         (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
702         SET_TYPE_ADA_SIZE): Likewise.
703         (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
704         (DECL_CONST_CORRESPONDING_VAR,
705         SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
706         (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
707         (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
708         (TYPE_RM_SIZE_NUM): New macro.
709         (TYPE_RM_SIZE): Modified to use above.
710
711         * cuintp.c: (build_cst_from_int): New function.
712         (UI_To_gnu): Use it.
713
714         * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
715         (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
716         (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
717         MIN_EXPR for the size, copy it into new.
718
719 2004-09-01  Robert Dewar  <dewar@gnat.com>
720
721         * exp_ch6.adb (Expand_Call): Properly handle validity checks for
722         packed indexed component where array is an IN OUT formal. This
723         generated garbage code previously.
724
725         * gnat_ugn.texi: Document -fverbose-asm
726
727         * gnat-style.texi: Minor updates (note that boolean constants and
728         variables are joined with AND/OR rather than short circuit forms).
729
730 2004-09-01  Ed Schonberg  <schonberg@gnat.com>
731
732         * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
733         it is an upward conversion of an untagged type with no representation
734         change.
735
736 2004-09-01  Thomas Quinot  <quinot@act-europe.fr>
737
738         * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
739         System.Partition_Interface.
740
741         * checks.adb (Apply_Access_Checks): Do not generate checks when
742         expander is not active (but check for unset reference to prefix of
743         dereference).
744
745         * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
746         pragma Debug as an if statement with a constant condition, for
747         consistent treatment of entity references contained within the
748         enclosed procedure call.
749
750 2004-09-01  Vincent Celier  <celier@gnat.com>
751
752         * bindgen.adb: (Set_EA_Last): New procedure
753         (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
754         Set_EA_Last.
755         (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
756         (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
757         linked without errors.
758         (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
759         ST and EA.
760         (Gen_Exception_Table_C): Correct same bugs
761
762         * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
763
764         * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
765         on Windows, make sure that the drive letter is in upper case.
766
767         * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
768         Windows, when the drive letter is added and Case_Sensitive is True, the
769         drive letter is forced to upper case.
770
771         * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
772         to Options_2 for the call to MLib.Utl.Gcc.
773
774         * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
775         directory separator when defining BASE_DIR.
776
777 2004-09-01  Pascal Obry  <obry@gnat.com>
778
779         * gprcmd.adb (Extend): Do not output trailing directory separator. This
780         is not needed and it confuses Windows GNU/make which does not report
781         directory terminated by a slash as a directory.
782         (gprcmd): Idem for "pwd" internal command.
783
784         * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
785         target names rewrite to fix regressions with recent version of
786         GNU/make. Starting with GNU/make 3.80 the pipe character was not
787         handled properly anymore.
788
789 2004-09-01  Andreas Schwab  <schwab@suse.de>
790
791         * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
792         * raise.c [!IN_RTS]: Undef abort.
793
794 2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
795
796         * utils2.c (build_allocator): Use ssize_int.
797
798         * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
799
800 2004-08-27  Andreas Schwab  <schwab@suse.de>
801
802         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
803
804 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
805             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
806
807         * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
808
809 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
810
811         * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
812         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
813         * utils.c (init_gigi_decls): Likewise.
814         * utils2.c (build_call_raise, build_allocator): Likewise.
815
816 2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
817
818         * utils.c (gnat_init_decl_processing): Adjust
819         build_common_tree_nodes call.
820
821 2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
822
823         * utils2.c (build_allocator): Use build_int_cst for negative
824         size types.
825
826 2004-08-18  Richard Henderson  <rth@redhat.com>
827
828         * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
829
830 2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
831
832         * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
833         call.s
834         * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
835         (gnat_to_gnu): Likewise.
836
837 2004-08-16  Pascal Obry  <obry@gnat.com>
838
839         * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
840         backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
841         option and not mdll anymore. Update comment.
842
843 2004-08-16  Pascal Obry  <obry@gnat.com>
844
845         * bld.adb (Put_Include_Project): Properly handle directory separators
846         on Windows.
847
848 2004-08-16  Ed Schonberg  <schonberg@gnat.com>
849
850         * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
851         decreasing the number of allocated junk nodes while searching for the
852         appropriate subprogram.
853
854 2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
855
856         * cuintp.c (UI_To_gnu): Use build_int_cst..
857         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
858         * utils.c (init_gigi_decls): Likewise.
859         * utils2.c (build_call_raise): Likewise.
860
861 2004-08-13  Olivier Hainque  <hainque@act-europe.fr>
862
863         * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
864         for a global aliased object with a variable size and an unconstrained
865         nominal subtype, pretend there is no initializer if the one we have is
866         incomplete, and avoid referencing an inexistant component in there. The
867         part we have will be rebuilt anyway and the reference may confuse
868         further operations.
869
870 2004-08-13  Thomas Quinot  <quinot@act-europe.fr>
871
872         * einfo.ads: Minor reformatting
873
874         * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
875         restrictions in the ALI if we only want to warn about violations.
876
877 2004-08-13  Vincent Celier  <celier@gnat.com>
878
879         * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
880         when creating a new Unit_Record in table Units.
881
882         * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
883         that are violated, if any.
884
885         * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
886         add directory separator if path already ends with a directory separator.
887
888 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
889
890         * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
891         unit, this is an attempt to inline a construct that is not available in
892         the current restricted mode, so abort rather than trying to continue.
893
894         * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
895         discriminants that rename those of the parent, recover names of
896         original discriminants for the constraint on the full view of the
897         parent.
898         (Complete_Private_Subtype): Do not create a subtype declaration if the
899         subtype is an itype.
900
901         * gnat_rm.texi: Added section on implementation of discriminated
902         records with default values for discriminants.
903
904 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
905
906         PR ada/15601
907         * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
908         the second operand is overloaded.
909
910 2004-08-10  Richard Henderson  <rth@redhat.com>
911
912         * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
913         add __builtin_alloca.
914
915 2004-08-10  Richard Henderson  <rth@redhat.com>
916
917         * config-lang.in (boot_language): Yes.
918
919 2004-08-09  Thomas Quinot  <quinot@act-europe.fr>
920
921         * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
922         from complaining on potential uninitialized reference.
923         Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
924         new specification and test explicitly for non-zero return value.
925
926         * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
927         returning C.int, to avoid using a derived boolean type.
928
929         * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
930         Duplicate_Subexpr_No_Checks in preference to direct use of
931         Remove_Side_Effects and New_Copy_Tree.
932         Clear Comes_From_Source on prefix of 'Size attribute reference.
933
934         * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
935         g-socthi-vxworks.adb: Change calls to
936         GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
937         and test explicitly for non-zero return value.
938
939         * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
940         (Is_Socket_In_Set): Declare imported function as returning C.int, to
941         avoid using a derived boolean type.
942
943 2004-08-09  Albert Lee  <lee@gnat.com>
944
945         * system-irix-n32.ads: Refine tasking priority constants for IRIX.
946
947 2004-08-09  Pascal Obry  <obry@gnat.com>
948
949         * gnat_ugn.texi: Document new way to build DLLs on Windows using
950         GCC's -shared option.
951
952         * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
953         Options_2 parameter (options put after object files).
954
955 2004-08-09  Olivier Hainque  <hainque@act-europe.fr>
956
957         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
958         ignore overflows on low and high bounds of an index to also account for
959         differences in signedness between sizetype and gnu_index_subtype.
960         These are as legitimate as the ones caused by a lower TYPE_PRECISION
961         on sizetype.
962
963 2004-08-09  Robert Dewar  <dewar@gnat.com>
964
965         * s-solita.ads, s-solita.adb: Minor reformatting
966
967         * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
968         Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
969         obsolescent section
970         Add note that No_Implicit_Conditionals does not suppress
971         run time constraint checks.
972
973         * vms_conv.ads: Minor reformatting
974
975         * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
976         and necessary for following change).
977         (Mark): Return new format Mark_Id containing sec stack address
978         (Release): Use sec stack address from Mark_Id avoiding Self call
979
980         * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
981         pointer (cleanup and necessary for following change).
982         Define Mark_Id as record containing address of secondary stack, that way
983         Release does not need to find the stack again, decreasing the number of
984         calls to Self and improving efficiency.
985
986         * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
987
988         * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
989         case variable into the individual case branches when possible.
990
991         * sem_ch11.adb: Minor reformatting
992
993         * prj.ads: Correct spelling of suffixs
994
995         * prj-nmsc.adb: Minor reformatting
996         Correct spelling suffixs throughout (also in identifiers)
997
998         * freeze.adb: Minor spelling correction
999
1000         * exp_ch2.adb: Cleanups to handling of Current_Value
1001         (no functional effect).
1002
1003         * bld.adb: Correct spelling of suffixs
1004
1005         * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
1006
1007 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
1008
1009         PR ada/15408
1010
1011         * sem_ch7.adb (Install_Private_Declarations): In the body of the
1012         package or of a child, private entities are both immediately_visible
1013         and not hidden.
1014
1015 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
1016
1017         * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
1018         there are no range checks on the value of the literal.
1019
1020         * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
1021         wrapped is the triggering alternative of an asynchronous select, action
1022         statements mustbe inserted before the select itself.
1023
1024         * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
1025         case where the prefix is a protected function call.
1026         (Resolve_Attribute, case 'Access): The attribute reference on a
1027         subprogram is legal in a generic body if the subprogram is declared
1028         elsewhere.
1029
1030 2004-08-09  Vincent Celier  <celier@gnat.com>
1031
1032         * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
1033         languages, otherwise building the library may fail with unresolved
1034         symbols.
1035         (Compile_Sources): Do not build libraries if -c switch is used
1036
1037         * gnatlink.adb (Process_Args): New switches -M and -Mmap
1038         (Write_Usage): If map file creation is supported, output new switches
1039         -M and -Mmap.
1040         (Gnatlink): When -M is specified, add the necessary switch(es) to the
1041         gcc call, when supported.
1042
1043         * Makefile.in: Added indepsw.o to the object list for gnatlink
1044         Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
1045
1046         * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
1047         indepsw.adb, indepsw.ads: New files.
1048
1049 2004-08-09  Bernard Banner  <banner@gnat.com>
1050
1051         * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
1052
1053         * Makefile.in: add section for vxworks x86
1054
1055 2004-08-09  Hristian Kirtchev  <kirtchev@gnat.com>
1056
1057         * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
1058         per-object constrained components where the discriminant is of an
1059         Access type.
1060         (Build_Record_Init_Proc): Add condition to prevent the inheritance of
1061         the parent initialization procedure for derived Unchecked_Unions.
1062         Instead, derived Unchecked_Unions build their own initialization
1063         procedure.
1064         (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
1065         Check the body of the subprogram for details.
1066         (Freeze_Record_Type): Prevent the inheritance of discriminant checking
1067         functions for derived Unchecked_Union types by introducing a condition.
1068         Allow the creation of TSS equality functions for Unchecked_Unions.
1069         (Make_Eq_Case): Rename formal parameter Node to E in function signature.
1070         Add formal parameter Discr to function signature. Discr is used to
1071         control the generated case statement for Unchecked_Union types.
1072         (Make_Eq_If): Rename formal parameter Node to E in function signature.
1073
1074         * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
1075         Unchecked_Unions.
1076         Check the body of the subprogram for details.
1077         (Expand_Composite_Equality): Augment composite type equality to include
1078         correct handling of Unchecked_Union components.
1079         (Expand_N_In): Add condition to detect illegal membership tests when the
1080         subtype mark is a constrained Unchecked_Union and the expression lacks
1081         inferable discriminants, and build a Raise_Program_Error node.
1082         (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
1083         to detect types that contain components of unconstrained Unchecked_Union
1084         subtype. Add condition to detect equality between types that have an
1085         unconstrained Unchecked_Union component, and build a Raise_Program_Error
1086         node. Add condition to detect equality between Unchecked_Union types
1087         that lack inferable discriminants, and build a Raise_Program_Error node.
1088         Otherwise build a TSS equality function call.
1089         (Expand_N_Type_Conversion): Add condition to detect illegal conversions
1090         from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
1091         with the operand lacking inferable discriminants, and build a Raise_
1092         Program_Error node.
1093         (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
1094         composite equality.
1095         (Has_Inferable_Discriminants): Implement new predicate for objects and
1096         expressions of Unchecked_Union type. Check the body of subprogram for
1097         details.
1098         (Has_Unconstrained_UU_Components): Add function
1099         Component_Is_Unconstrained_UU. It is used to detect whether a single
1100         component is of an unconstrained Unchecked_Union subtype. Add function
1101         Variant_Is_Unconstrained_UU. It is used to detect whether a single
1102         component inside a variant is of an unconstrained Unchecked_Union type.
1103
1104         * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
1105         inferred discriminant values. Add condition to generate a case
1106         statement with an inferred discriminant as the switch.
1107         (Make_Component_List_Assign): Introduce a Boolean flag that determines
1108         the behaviour of the subprogram in the presence of an Unchecked_Union.
1109         Add condition to trigger the usage of the inferred discriminant value
1110         as the generated case statement switch.
1111         (Make_Field_Assign): Introduce a Boolean flag that determines the
1112         behaviour of the subprogram in the presence of an Unchecked_Union. Add
1113         condition to trigger the usage of the inferred discriminant value as
1114         the right-hand side of the generated assignment.
1115
1116         * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
1117         parameter generation when dealing with Unchecked_Unions.
1118
1119         * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
1120         checks for Unchecked_Unions.
1121
1122         * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
1123
1124         * exp_attr.adb (Expand_N_Attribute_Reference): Produce
1125         Raise_Program_Error nodes for the execution of Read and Write
1126         attributes of Unchecked_Union types and the execution of Input and
1127         Output attributes of Unchecked_Union types that lack default
1128         discriminant values.
1129
1130         * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
1131         Unchecked_Union. Add procedure Check_Component. It is used to inspect
1132         per-object constrained components of Unchecked_Unions for being
1133         Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
1134         check individual components withing a variant.
1135
1136         * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
1137         comparison of Unchecked_Unions.
1138         (Resolve_Equality_OP): Remove guard that prevents equality between
1139         Unchecked_Unions.
1140
1141         * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
1142         of component subtypes for Unchecked_Union components.
1143         (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
1144         since it is the actual subtype.
1145
1146         * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
1147         pass of Unchecked_Union subtypes as generic actuals to formal types
1148         that lack known_discriminant_parts or that are derived Unchecked_Union
1149         types, and do nothing. In any other case, produce an error message.
1150
1151         * sem_ch3.adb (Analyze_Component_Declaration): Add function
1152         Contains_POC. It determines whether a constraint uses the discriminant
1153         of an enclosing record type.
1154         Add condition to detect per-object constrained component and set the
1155         appropriate flag.
1156         (Derived_Type_Declaration): Remove guard that prevents derivation from
1157         Unchecked_Union types.
1158         (Process_Subtype): Remove quard that prevents the creation of Unchecked_
1159         Union subtypes.
1160
1161         * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
1162         references to Unchecked_Union discriminants.
1163
1164         * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
1165         formal generation when dealing with Unchecked_Unions.
1166         (Set_Actual_Subtypes): Add condition to prevent generation of actual
1167         subtypes for Unchecked_Unions.
1168
1169         * sem_ch7.adb (Analyze_Package_Specification): Add procedure
1170         Inspect_Unchecked_Union_Completion. It is used to detect incorrect
1171         completions of discriminated partial views by Unchecked_Unions and
1172         produce an error message.
1173
1174 2004-08-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1175
1176         * trans.c (struct stmt_group): New field, GLOBAL.
1177         (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
1178         (struct elab_info): New struct.
1179         (elab_info_list, gnu_elab_proc_stack): New variables.
1180         (Compilation_Unit_to_gnu): New procedure.
1181         (gigi): Call it and also handle elaboration procs we've saved.
1182         (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
1183         global field from parent.
1184         (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
1185         (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
1186         (start_stmt_group): Initialize global field from parent.
1187         (add_decl_expr): Set to global for current statement group.
1188         (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
1189         post.
1190
1191         * utils.c (global_bindings_p): True when no current_function_decl; no
1192         longer check current_binding_level.
1193
1194 2004-08-09  Ben Brosgol  <brosgol@gnat.com>
1195
1196         * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
1197         choice.
1198
1199         * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
1200
1201 2004-08-06  Andreas Schwab  <schwab@suse.de>
1202
1203         * utils.c (gnat_define_builtin): Remove second parameter of
1204         make_decl_rtl.
1205         (begin_subprog_body): Likewise.
1206
1207 2004-07-26  Arnaud Charlet  <charlet@act-europe.fr>
1208
1209         * sem_util.adb (Requires_Transient_Scope): Temporarily disable
1210         optimization, not supported by the tree-ssa back-end.
1211
1212 2004-07-26  Olivier Hainque  <hainque@act-europe.fr>
1213
1214         * s-mastop-irix.adb: Update comments.
1215
1216         * a-except.adb (Exception_Information): Raise Constraint_Error if
1217         exception Id is Null_Id.
1218         This is required behavior, which is more reliably and clearly checked
1219         at the top level interface level.
1220
1221 2004-07-26  Javier Miranda  <miranda@gnat.com>
1222
1223         * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
1224         call if a component has no default_expression and the box is used.
1225
1226         * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
1227         default_expression and you use box, it behaves as if you had declared a
1228         stand-alone object.
1229         (Resolve_Record_Aggregate): If a component has no default_expression and
1230         you use box, it behaves as if you had declared a stand-alone object.
1231
1232         * sem_ch10.adb (Install_Siblings): Do not make visible the private
1233         entities of private-with siblings.
1234
1235 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
1236
1237         * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
1238         for a component of an itype, set the parent pointer for analysis,
1239         there is no list in which to insert it.
1240
1241         * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
1242         bona-fide renamings, not for inherited operations.
1243
1244         * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
1245         actual for a formal that is an access parameter, create local
1246         finalization list even if the expression is not an aggregate.
1247
1248 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
1249
1250         PR ada/16213
1251         * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
1252         Diagnose properly illegal subprogram renamings that are library units.
1253
1254 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
1255
1256         PR ada/15588
1257         * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
1258         conversion rewritten as an unchecked conversion, check that original
1259         expression is a variable.
1260
1261         * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
1262         unchecked_conversion, create new node rather than rewriting in place,
1263         to preserve original construct.
1264
1265 2004-07-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1266
1267         * gigi.h (gnat_expand_body): Deleted.
1268
1269         * Make-lang.in: (trans.o): Depends on function.h.
1270
1271         * misc.c: (gnat_expand_body): Moved to here.
1272
1273         * trans.c (gnat_expand_body_1): Deleted.
1274         (gnat_expand_body): Moved from here.
1275         (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
1276         (add_stmt): Check for marked visited with global_bindings_p.
1277         (gnat_gimplify_expr, case COMPONENT_REF): New case.
1278         (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
1279
1280         * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
1281         VIEW_CONVERT_EXPR if not operation type.
1282
1283         * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
1284         fat pointer.
1285
1286         * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
1287         changes: reformatting of negation operators, removing unneeded
1288         inequality comparison with zero, converting equality comparisons with
1289         zero to negations, changing int/0/1 to bool/false/true, replace calls
1290         to gigi_abort with abort, and various other similar changes.
1291
1292 2004-07-26  Vincent Celier  <celier@gnat.com>
1293
1294         * gnatcmd.adb (GNATCmd): Add processing for new built-in command
1295         "setup".
1296
1297         * make.adb (Gnatmake): Fail when a library is not present and there is
1298         no object directory.
1299
1300         * mlib-prj.adb (Check_Library): No need to check if the library needs
1301         to be rebuilt if there is no object directory, hence no object files
1302         to build the library.
1303
1304         * opt.ads (Setup_Projects): New Boolean flag.
1305
1306         * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
1307         Location.
1308         Create directory when Kind /= "" and in "gnat setup". Report error if
1309         directory cannot be created.
1310         (Ada_Check): Create library interface copy dir if it does not exist
1311         and we are in "gnat setup".
1312         (Find_Sources): No error if in "gnat setup" and no Ada sources were
1313         found.
1314         (Language_Independent_Check): Create object directory, exec directory
1315         and/or library directory if they do not exist and we are in
1316         "gnat setup".
1317
1318         * vms_conv.ads: (Command_Type): New command Setup.
1319
1320         * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
1321
1322         * vms_data.ads: Add qualifiers/switches for new built-in command
1323         "setup".
1324
1325 2004-07-25  Richard Henderson  <rth@redhat.com>
1326
1327         * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
1328         DECL_IGNORED_P on RESULT_DECL.
1329
1330 2004-07-20  Olivier Hainque  <hainque@act-europe.fr>
1331
1332         * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
1333         allocation and potentially overflowing update with
1334         Tailored_Exception_Information. Use the sec-stack free procedural
1335         interface to output Exception_Information instead.
1336
1337         * a-except.adb (To_Stderr): New subprogram for character, and string
1338         version moved from a-exextr to be visible from other separate units.
1339         (Tailored_Exception_Information): Remove the procedural version,
1340         previously used by the default Last_Chance_Handler and not any more.
1341         Adjust various comments.
1342
1343         * a-exexda.adb: Generalize the exception information procedural
1344         interface, to minimize the use of secondary stack and the need for
1345         local buffers when the info is to be output to stderr:
1346         (Address_Image): Removed.
1347         (Append_Info_Character): New subprogram, checking for overflows and
1348         outputing to stderr if buffer to fill is of length 0.
1349         (Append_Info_String): Output to stderr if buffer to fill is of length 0.
1350         (Append_Info_Address, Append_Info_Exception_Name,
1351         Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
1352         Append_Info_Basic_Exception_Traceback,
1353         Append_Info_Exception_Information): New subprograms.
1354         (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
1355         (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
1356         Exception_Info_Maxlength, Exception_Name_Length,
1357         Exception_Message_Length): New subprograms.
1358         (Exception_Information): Use Append_Info_Exception_Information.
1359         (Tailored_Exception_Information): Use
1360         Append_Info_Basic_Exception_Information.
1361         Export services for the default Last_Chance_Handler.
1362
1363         * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
1364         other separate units.
1365
1366 2004-07-20  Vincent Celier  <celier@gnat.com>
1367
1368         * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
1369
1370 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
1371
1372         * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
1373         emit itype references for the designated types of component types that
1374         are declared outside of the full record declaration, and that may
1375         denote a partial view of that record type.
1376
1377 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
1378
1379         PR ada/15607
1380         * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
1381         which is the designated type in an access component declaration, to the
1382         list of incomplete dependents of the parent type, to avoid elaboration
1383         issues with out-of-scope subtypes.
1384         (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
1385         full view of the parent.
1386
1387 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
1388
1389         PR ada/15610
1390         * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
1391         entities that are hidden, such as references to generic actuals
1392         outside an instance.
1393
1394 2004-07-20  Javier Miranda  <miranda@gnat.com>
1395
1396         * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
1397         support to the new notation.
1398         (Analyze_Selected_Component): Add call to Try_Object_Operation.
1399
1400 2004-07-20  Jose Ruiz  <ruiz@act-europe.fr>
1401
1402         * s-taprob.adb: Adding the elaboration code required for initializing
1403         the tasking soft links that are common to the full and the restricted
1404         run times.
1405
1406         * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
1407         restricted run time has been moved to the package
1408         System.Soft_Links.Tasking.
1409
1410         * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
1411         restricted run time has been moved to the package
1412         System.Soft_Links.Tasking.
1413
1414         * Makefile.rtl: Add entry for s-solita.o in run-time library list.
1415
1416         * s-solita.ads, s-solita.adb: New files.
1417
1418 2004-07-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1419
1420         * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
1421         Case_Statement_to_gnu): Split off from gnat_to_gnu.
1422         (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
1423         Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
1424         Exception_Handler_to_gnu_zcx): Likewise.
1425
1426 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
1427
1428         * gigi.h (builtin_function): Declare.
1429
1430 2004-07-15  Robert Dewar  <dewar@gnat.com>
1431
1432         * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
1433         reformatting
1434
1435         * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
1436         access values as an example of a warning.
1437
1438         * gnat_rm.texi: Document new attribute Has_Access_Values
1439
1440         * gnat-style.texi: Document that box comments belong on nested
1441         subprograms
1442
1443         * sem_util.ads (Has_Access_Values): Improved documentation
1444
1445         * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
1446
1447         * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
1448         (Process_Interface_Name): Call to this new procedure
1449         (Set_Extended_Import_Export_External_Name): Call to this new procedure
1450
1451         * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
1452
1453         * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
1454
1455         * einfo.ads: Minor comment typo fixed
1456
1457 2004-07-15  Jose Ruiz  <ruiz@act-europe.fr>
1458
1459         * snames.adb: Add _atcb.
1460
1461         * snames.ads: Add Name_uATCB.
1462
1463         * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
1464         (in the expanded code) when using the restricted run time.
1465
1466         * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
1467         a in parameter in order to allow ATCBs to be preallocated (in the
1468         expanded code).
1469
1470         * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
1471         order to allow ATCBs to be preallocated. In case of error, the ATCB is
1472         deallocated in System.Tasking.Stages.
1473
1474         * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
1475         order to allow ATCBs to be preallocated.
1476
1477         * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
1478         here. It was previously done in Initialize_ATCB.
1479
1480         * rtsfind.ads: Make the Ada_Task_Control_Block visible.
1481
1482         * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
1483         Restricted run time.
1484
1485         * exp_ch3.adb: When using the Restricted run time, pass the
1486         preallocated Ada_Task_Control_Block when creating a task.
1487
1488 2004-07-15  Ed Schonberg  <schonberg@gnat.com>
1489
1490         * sem_util.adb (Normalize_Actuals): If there are no actuals on a
1491         function call that is itself an actual in an enclosing call, diagnose
1492         problem here rather than assuming that resolution will catch it.
1493
1494         * sem_ch7.adb (Analyze_Package_Specification): If the specification is
1495         the local copy of a generic unit for a formal package, and the generic
1496         is a child unit, install private part of ancestors before compiling
1497         private part of spec.
1498
1499         * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
1500         use scope entities rather than tree structures, to handle properly
1501         parent units that are instances rewritten as bodies for inlining
1502         purposes.
1503
1504         * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
1505         Remove_Parents): Handle properly a parent unit that is an
1506         instantiation, when the unit has been rewritten as a body for inlining
1507         purposes.
1508
1509         * par.adb (Goto_List): Global variable to collect goto statements in a
1510         given unit, for use in detecting natural loops.
1511
1512         * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
1513         use in detecting natural loops.
1514
1515         * par-labl.adb (Find_Natural_Loops): Recognize loops create by
1516         backwards goto's, and rewrite as a infinite loop, to improve locality
1517         of temporaries.
1518
1519         * exp_util.adb (Force_Evaluation): Recognize a left-hand side
1520         subcomponent that includes an indexed reference, to prevent the
1521         generation of copies that would miscompile the desired assignment
1522         statement.
1523         (Build_Task_Image_Decls): Add a numeric suffix to
1524         generated name for string variable, to avoid spurious conflicts with
1525         the name of the type of a single protected object.
1526
1527         * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
1528         loop with an explicit exit statement, to avoid generating an
1529         out-of-range value with 'Succ leading to spurious constraint_errors
1530         when compiling with -gnatVo.
1531
1532 2004-07-15  Thomas Quinot  <quinot@act-europe.fr>
1533
1534         * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
1535         might not be analyzed yet, even if its Etype is already set (case of an
1536         unchecked conversion built using Unchecked_Convert_To, for example).
1537         If the prefix has already been analyzed, this will be a nop anyway.
1538
1539         * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
1540         controller type, or an assignment of a record type with controlled
1541         components, copy only user data, and leave the finalization chain
1542         pointers untouched.
1543
1544 2004-07-15  Vincent Celier  <celier@gnat.com>
1545
1546         * make.adb (Collect_Arguments): Improve error message when attempting
1547         to compile a source not part of any project, when -x is not used.
1548
1549         * prj.ads: (Defined_Variable_Kind): New subtype
1550
1551         * prj-attr.adb (Register_New_Package): Two new procedures to register
1552         a package with or without its attributes.
1553         (Register_New_Attribute): Mew procedure to register a new attribute in a
1554         package.
1555         New attribute oriented subprograms: Attribute_Node_Id_Of,
1556         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
1557         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
1558         Next_Attribute.
1559         New package oriented subprograms: Package_Node_Id_Of,
1560         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
1561
1562         * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
1563         type.
1564         (Package_Node_Id): Now a private, self initialized type
1565         (Register_New_Package): New procedure to register a package with its
1566         attributes.
1567         New attribute oriented subprograms: Attribute_Node_Id_Of,
1568         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
1569         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
1570         Next_Attribute.
1571         New package oriented subprograms: Package_Node_Id_Of,
1572         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
1573
1574         * prj-dect.adb (Parse_Attribute_Declaration,
1575         Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
1576
1577         * prj-makr.adb (Make): Parse existing project file before creating
1578         other files. Fail if there was an error during parsing.
1579
1580         * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
1581         new spec of Prj.Attr.
1582
1583         * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
1584         to new spec of Prj.Attr.
1585
1586 2004-07-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1587
1588         * utils2.c: Fix typo in comment.
1589
1590 2004-07-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1591
1592         * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
1593         * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
1594
1595 2004-07-14  Andreas Schwab  <schwab@suse.de>
1596
1597         * trans.c (gnat_init_stmt_group): Remove duplicate definition.
1598
1599 2004-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1600
1601         * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
1602         object type.
1603         (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
1604         TYPE_STUB_DECL.
1605
1606         * misc.c (gnat_types_compatible_p): New function.
1607         (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
1608         (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
1609
1610         * trans.c (gigi): Move processing of main N_Compilation_Unit here.
1611         (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
1612         (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
1613         (mark_visited): Don't mark dummy type.
1614         (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
1615         parameter, we must remove any LJM building from GNU_NAME.
1616         (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
1617         (pos_to_constructor): Use int_const_binop.
1618         (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
1619         PARM_DECL.
1620
1621         * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
1622         (gnat_pushlevel): Set TREE_USE on BLOCK node.
1623         (gnat_install_builtins): Add __builtin_memset.
1624
1625 2004-07-13  Olivier Hainque  <hainque@act-europe.fr>
1626
1627         * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
1628         for a renaming, stabilize the initialization expression if we are at a
1629         local level.  At the local level, uses of the renaming may be performed
1630         by a direct dereference of the initializing expression, and we don't
1631         want possible variables there to be evaluated for every use.
1632
1633         * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
1634         Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
1635         them on the way.  Account for the fact that we may introduce side
1636         effects in the process.
1637
1638 2004-07-13  Richard Henderson  <rth@redhat.com>
1639
1640         * misc.c (default_pass_by_ref): Use pass_by_reference.
1641
1642 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
1643
1644         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
1645         LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
1646
1647 2004-07-08  Richard Henderson  <rth@redhat.com>
1648
1649         * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
1650         commentary.
1651
1652 2004-07-06  Vincent Celier  <celier@gnat.com>
1653
1654         * vms_conv.ads: Minor reformatting.
1655         Alphabetical order for enumerated values of type Command_Type, to have
1656         the command in alphabetical order for the usage.
1657
1658         * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
1659         the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
1660
1661         * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
1662
1663         * makegpr.adb (Global_Archive_Exists): New global Boolean variable
1664         (Add_Archive_Path): Only add the global archive if there is one.
1665         (Build_Global_Archive): Set Global_Archive_Exists depending if there is
1666         or not any object file to put in the global archive, and don't build
1667         a global archive if there is none.
1668         (X_Switches): New table
1669         (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
1670         in the X_Switches table, if any.
1671         (Initialize): Make sure the X_Switches table is empty
1672         (Scan_Arg): Record -X switches in table X_Switches
1673
1674         * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
1675
1676         * make.adb: Minor comment fix
1677
1678         * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
1679         invoked with directory information, add the directory in front of the
1680         path.
1681
1682         * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
1683         invoked with directory information, add the directory in front of the
1684         path.
1685
1686         * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
1687         when Keep_Temporary_Files is False.
1688         (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
1689         directory information, add the directory in front of the path.
1690         When not on VMS, handle new switch -dn before the command to set
1691         Keep_Temporary_Files to True.
1692         (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
1693         everywhere.
1694
1695         * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
1696         invoked with directory information, add the directory in front of the
1697         path.
1698
1699 2004-07-06  Thomas Quinot  <quinot@act-europe.fr>
1700
1701         * snames.ads, snames.adb (Name_Stub): New name for the distributed
1702         systems annex.
1703
1704         * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
1705         New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
1706
1707         * g-socket.adb (To_Timeval): Fix incorrect conversion of
1708         Selector_Duration to Timeval for the case of 0.0.
1709
1710         * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
1711         documentation from Evolve_And_Then.
1712
1713 2004-07-06  Jose Ruiz  <ruiz@act-europe.fr>
1714
1715         * s-taprop-tru64.adb, s-taprop-os2.adb,
1716         s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
1717
1718 2004-07-06  Robert Dewar  <dewar@gnat.com>
1719
1720         * s-osinte-hpux.ads, s-osinte-freebsd.ads,
1721         s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
1722         s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
1723         s-interr-sigaction.adb, s-taprop-irix-athread.adb,
1724         s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
1725         s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
1726         s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
1727         s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
1728         a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
1729         a-tags.ads, bindgen.ads, checks.adb, checks.adb,
1730         csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
1731         exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
1732         g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
1733         i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
1734         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
1735         sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
1736         sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
1737         s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
1738         s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
1739         s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
1740         vms_data.ads: Minor reformatting,
1741         Fix bad box comment format.
1742
1743         * gnat_rm.texi: Fix minor grammatical error
1744
1745         * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
1746
1747         * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
1748         more cases of discriminated records to be recognized as not needing a
1749         secondary stack.
1750         (Has_Access_Values): New function.
1751
1752         * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
1753
1754         * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
1755         Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
1756         with LRM terminology).
1757         Change terminology in comments primitive type => elementary type.
1758
1759 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
1760
1761         PR ada/15602
1762         * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
1763         parameters do not impose any requirements on the presence of a body.
1764
1765 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
1766
1767         PR ada/15593
1768         * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
1769         compilation unit and is in an open scope at the point of instantiation,
1770         assume that a body may be present later.
1771
1772 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
1773
1774         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
1775         Improve error message when specified size is not supported.
1776
1777         * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
1778         is never a primitive operation.
1779
1780 2004-07-05  Andreas Schwab  <schwab@suse.de>
1781
1782         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
1783         RECORD_OR_UNION_CHECK.
1784         (TYPE_CONTAINS_TEMPLATE_P): Likewise.
1785
1786 2004-07-04  Kelley Cook  <kcook@gcc.gnu.org>
1787
1788         * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
1789         dependency on xgnatugn, instead build it via a submake.
1790         (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
1791
1792 2004-07-04  Richard Henderson  <rth@redhat.com>
1793
1794         * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
1795
1796 2004-07-01  Richard Henderson  <rth@redhat.com>
1797
1798         * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
1799         * utils.c (max_size): Likewise.
1800
1801 2004-06-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1802
1803         * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
1804         and rest_of_type_compilation; add arg to create_*_decl.
1805         (annotate_decl_with_node): Deleted.
1806         (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
1807         * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
1808         (get_current_block_context, gnat_pushdecl): New declarations.
1809         (gnat_init_stmt_group): Likewise.
1810         (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
1811         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
1812         (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
1813         (gnat_init): Call gnat_init_stmt_group.
1814         * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
1815         (gnu_pending_elaboration_list): Deleted.
1816         (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
1817         (gigi): Rearrange initialization calls and move some to last above.
1818         (gnat_to_gnu): If statement and not in procedure, go into elab proc.
1819         Delete calls to add_decl_expr; add arg to create_*_decl.
1820         (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
1821         (gnat_to_gnu, case N_Subprogram_Body): Move some code to
1822         begin_subprog_body and call it.
1823         Don't push and pop ggc context.
1824         (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
1825         (add_stmt): Remove handling of DECL_EXPR from here.
1826         If not in function, mark visited.
1827         (add_decl_expr): Put global at top level.
1828         Check for cases of DECL_INITIAL we have to handle here.
1829         (process_type): Add extra arg to create_type_decl.
1830         (build_unit_elab): Rework to just gimplify.
1831         * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
1832         (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
1833         (get_pending_elaborations, pending_elaborations_p): Likewise.
1834         (push_pending_elaborations, pop_pending_elaborations): Likewise.
1835         (get_elaboration_location, insert_elaboration_list): Likewise.
1836         (gnat_binding_level): Renamed from ada_binding_level.
1837         (init_gnat_to_gnu): Don't clear pending_elaborations.
1838         (global_bindings_p): Treat as global if no current_binding_level.
1839         (set_current_block_context): New function.
1840         (gnat_pushdecl): Renamed from pushdecl; major rework.
1841         All callers changed.
1842         (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
1843         (finish_record_type): Call call pushdecl for stub decl.
1844         (function_nesting_depth): Deleted.
1845         (begin_subprog_body): Delete obsolete code.
1846         * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
1847
1848 2004-06-28  Robert Dewar  <dewar@gnat.com>
1849
1850         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
1851         mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
1852         mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
1853         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
1854         a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
1855
1856         * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
1857         deal with problem of inefficient slices on machines with strict
1858         alignment, when the slice is a component of a composite.
1859
1860         * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
1861         machines, we need the check there as well.
1862
1863 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
1864
1865         * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
1866         determine safe copying direction for overlapping slice assignments
1867         when component is controlled.
1868
1869         * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
1870         formal derived type in the actual for a formal package are visible in
1871         the enclosing instance.
1872
1873 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
1874
1875         PR ada/15600
1876         * sem_util.adb (Trace_Components): Diagnose properly an illegal
1877         circularity involving a private type whose completion includes a
1878         self-referential component.
1879         (Enter_Name): Use Is_Inherited_Operation to distinguish a source
1880         renaming or an instantiation from an implicit derived operation.
1881
1882 2004-06-28  Pascal Obry  <obry@gnat.com>
1883
1884         * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
1885         DLL.
1886         (Library_File_Name_For): Idem.
1887
1888 2004-06-28  Matthew Gingell  <gingell@gnat.com>
1889
1890         * g-traceb.ads: Add explanatory note on the format of addresses
1891         expected by addr2line.
1892
1893 2004-06-28  Jerome Guitton  <guitton@act-europe.fr>
1894
1895         * Makefile.in: Force debugging information on s-tasdeb.adb,
1896         a-except.adb and s-assert.adb needed by the debugger.
1897
1898 2004-06-28  Vincent Celier  <celier@gnat.com>
1899
1900         * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
1901         Need_To_Build_Lib.
1902         (Gnatmake): Ditto.
1903
1904         * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
1905
1906         * prj.adb: Minor reformatting
1907         (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
1908
1909         * prj.ads: Comment updates
1910         Minor reformatting
1911         (Project_Data): Change Flag1 to Need_To_Build_Lib.
1912         Remove Flag2: not used.
1913
1914         * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
1915         declaration.
1916
1917         * gnat_ugn.texi: Put a "null;" declaration in one project file example
1918
1919         * gnat_rm.texi: Document Empty declarations "null;".
1920
1921         * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
1922         front of the linker options.
1923         (Link_Foreign): Put the global archives and the libraries in front of
1924         the linker options.
1925
1926 2004-06-28  Javier Miranda  <miranda@gnat.com>
1927
1928         * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
1929         (RTU_Loaded): Code cleanup
1930         (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
1931         withed predefined units.
1932
1933         * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
1934         explicitly withed predefined units.
1935         Fix typo in comment
1936
1937         * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
1938         explicitly withed predefined units.
1939
1940 2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1941
1942         * ada-tree.def (DECL_STMT): Deleted.
1943         * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
1944         (DECL_STMT_VAR): Deleted.
1945         * decl.c: add_decl_stmt now add_decl_expr.
1946         * gigi.h: Likewise.
1947         * trans.c: Likewise.
1948         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
1949         (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
1950         (add_stmt): Only handle padded type here.
1951         (add_stmt_with_node): Allow gnat_node to not be present.
1952         (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
1953         (gnat_gimplify_stmt, case DECL_STMT): Deleted.
1954         (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
1955         make a SAVE_EXPR for the entire fat pointer.
1956         * utils.c (pushdecl): Walk a DECL_EXPR in global case.
1957         (create_index_type): Make a DECL_EXPR.
1958         (end_subprog_body): Don't call allocate_struct_function here but
1959         do clear cfun.
1960
1961 2004-06-25  Pascal Obry  <obry@gnat.com>
1962
1963         * makegpr.adb (Build_Library): Remove parameter Lib_Address and
1964         Relocatable from Build_Dynamic_Library call.
1965
1966         * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
1967         Relocatable are now synonym.
1968
1969         * Makefile.in: Use s-parame-mingw.adb on MingW platform.
1970
1971         * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
1972         Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
1973         call.
1974
1975         * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
1976         Lib_Address and Relocatable.
1977         (Default_DLL_Address): Removed.
1978
1979         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
1980         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
1981         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
1982         (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
1983         (Default_DLL_Address): Removed.
1984
1985         * mlib-tgt-mingw.adb: Ditto.
1986         (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
1987
1988         * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
1989         the initial thread stack size.
1990
1991         * a-strmap.ads: Move package L to private part as it is not used in
1992         the spec. Found while reading code.
1993
1994 2004-06-25  Olivier Hainque  <hainque@act-europe.fr>
1995
1996         * tracebak.c: Introduce support for a GCC infrastructure based
1997         implementation of __gnat_backtrace.
1998
1999         * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
2000         any more. Use accessors instead. This eases maintenance and relaxes
2001         some alignment constraints.
2002         (_GNAT_Exception structure): Remove the Ada specific fields
2003         (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
2004         a-exexpr.adb.
2005         (is_handled_by, __gnat_eh_personality): Replace component references to
2006         exception structure by use of the new accessors.
2007
2008         * init.c (__gnat_initialize): Adjust comments to match the just
2009         reverted meaning of the -static link-time option.
2010
2011         * adaint.c (convert_addresses): Arrange not to define a stub for
2012         mips-irix any more, as we now want to rely on a real version from a
2013         recent libaddr2line.
2014
2015         * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
2016         the personality routine can use them and not have to rely on a C
2017         counterpart of the record anymore. This simplifies maintenance and
2018         relaxes the constraint of having Standard'Maximum_Alignment match
2019         BIGGEST_ALIGNMENT.
2020         Update comments, and add a section on the common header alignment issue.
2021
2022 2004-06-25  Geert Bosch  <bosch@gnat.com>
2023
2024         * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
2025         polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
2026
2027 2004-06-25  Robert Dewar  <dewar@gnat.com>
2028
2029         * gnat_rm.texi: Fix section on component clauses to indicate that the
2030         restriction on byte boundary placement still applies for bit packed
2031         arrays.
2032         Add comment on stack usage from Initialize_Scalars
2033
2034         * gnat_ugn.texi: Add documentation for -gnatyLnnn
2035
2036         * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
2037         limiting nesting level.
2038
2039         * usage.adb: Add line for -gnatyLnnn switch
2040
2041         * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
2042         sem_ch13.adb, exp_aggr.adb: Minor reformatting
2043
2044         * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
2045         type as well as on the subtype. This corrects a problem in freeze in
2046         setting alignments of atomic types.
2047
2048         * sem_eval.ads: Minor comment typo fixed
2049
2050         * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
2051         level.  Minor reformatting.
2052
2053         * fname.adb (Is_Predefined_File_Name): Require a letter after the
2054         minus sign. This means that file names like a--b.adb will not be
2055         considered predefined.
2056
2057         * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
2058         record Test new flag and give diagnostic for bad component clause.
2059         (Freeze_Entity): Set alignment of array from component alignment in
2060         cases where this is safe to do.
2061
2062         * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
2063         arrays.
2064
2065         * cstand.adb: (Create_Standard): Set alignment of String to 1
2066
2067         * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
2068
2069         * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
2070         code in the common constrained array cases.
2071
2072         * a-storio.adb: Change implementation to avoid possible alignment
2073         problems on machines requiring strict alignment (data should be moved
2074         as type Buffer, not type Elmt).
2075
2076         * checks.adb (Apply_Array_Size_Check): Improve these checks by
2077         killing the overflow checks which we really do not need (64-bits is
2078         enough).
2079
2080 2004-06-25  Vincent Celier  <celier@gnat.com>
2081
2082         * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
2083         (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
2084         inconditionally for the main project.
2085         (Recursive_Add_Archives.Add_Archive_Path): New procedure
2086         (Link_Executables.Check_Time_Stamps): New procedure
2087         (Link_Executables.Link_Foreign): New procedure
2088         Changes made to reduce nesting level of this package
2089         (Check): New procedure
2090         (Add_Switches): When not in quiet output, check that a switch is not
2091         the concatenation of several valid switches. If it is, issue a warning.
2092         (Build_Global_Archive): If the global archive is rebuilt, linking need
2093         to be done.
2094         (Compile_Sources): Rebuilding a library archive does not imply
2095         rebuilding the global archive.
2096         (Build_Global_Archive): New procedure
2097         (Build_Library): New name for Build_Archive, now only for library
2098         project
2099         (Check_Archive_Builder): New procedure
2100         (Create_Global_Archive_Dependency_File): New procedure
2101         (Gprmake): Call Build_Global_Archive before linking
2102         * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
2103         throughout.
2104         (Scan_Arg): Display the Copyright notice when -v is used
2105
2106         * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
2107         for gnatls.
2108
2109         * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
2110         COMPILE.
2111         Add new GNAT LIST qualifier /FILES=
2112         Added qualifier /DIRECTORY= to GNAT METRIC
2113         Added qualifier /FILES= to GNAT METRIC
2114         Added qualifier /FILES to GNAT PRETTY
2115
2116         * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
2117         to take into account both versions of the switch.
2118
2119         * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
2120         always be the last switch to the gcc driver. Disable switch storing so
2121         that switches automatically added by the gcc driver are not put in the
2122         ALI file.
2123
2124         * prj.adb (Project_Empty): Take into account changes in components of
2125         Project_Data.
2126
2127         * prj.ads (Languages_Processed): New enumaration value All_Languages.
2128
2129         * prj.ads (Project_Data): Remove component Lib_Elaboration: never
2130         used. Split Boolean component Ada_Sources_Present in two Boolean
2131         components Ada_Sources_Present and Other_Sources_Present.
2132         Minor reformatting
2133
2134         * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
2135         instead of Sources_Present.
2136         (Set_Ada_Paths.Add.Recursive_Add): Ditto
2137
2138         * prj-nmsc.adb: Minor reformatting
2139         (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
2140         (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
2141         Check_Ada_Naming_Scheme.
2142         Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
2143         throughout.
2144
2145         * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
2146         In_Limited.
2147         Make sure that all cycles where there is at least one "limited with"
2148         are detected.
2149         (Parse_Single_Project): New Boolean parameter In_Limited
2150
2151         * prj-proc.adb (Recursive_Check): When Process_Languages is
2152         All_Languages, call first Prj.Nmsc.Ada_Check, then
2153         Prj.Nmsc.Other_Languages_Check.
2154
2155         * prj-proc.adb (Process): Use Ada_Sources_Present or
2156         Other_Sources_Present (instead of Sources_Present) depending on
2157         Process_Languages.
2158
2159         * lang-specs.h: Keep -g and -m switches in the same order, and as the
2160         last switches.
2161
2162         * lib.adb (Switch_Storing_Enabled): New global Boolean flag
2163         (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
2164         False.
2165         (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
2166         False.
2167
2168         * lib.ads (Disable_Switch_Storing): New procedure.
2169
2170         * make.adb: Modifications to reduce nesting level of this package.
2171         (Check_Standard_Library): New procedure
2172         (Gnatmake.Check_Mains): New procedure
2173         (Gnatmake.Create_Binder_Mapping_File): New procedure
2174         (Compile_Sources.Compile): Add switch -gnatez as the last option
2175         (Display): Never display -gnatez
2176
2177         * Makefile.generic:
2178         When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
2179
2180         * gnatcmd.adb (Check_Project): New function
2181         (Process_Link): New procedure to reduce nesting depth
2182         (Check_Files): New procedure to reduce the nesting depth.
2183         For GNAT METRIC, include the inherited sources in extending projects.
2184         (GNATCmd): When GNAT LS is invoked with a project file and no files,
2185         add the list of files from the sources of the project file. If this list
2186         is too long, put it in a temp text files and use switch -files=
2187         (Delete_Temp_Config_Files): Delete the temp text file that contains
2188         a list of source for gnatpp or gnatmetric, if one has been created.
2189         (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
2190         in the project file is too large, create a temporary text file that
2191         list them and pass it to the tool with "-files=<temp text file>".
2192         (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
2193
2194         * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
2195         generated file is in not in Ada.
2196
2197         * gnatls.adb: Remove all parameters And_Save that are no longer used.
2198         (Scan_Ls_Arg): Add processing for -files=
2199         (Usage): Add line for -files=
2200
2201         * g-os_lib.adb (On_Windows): New global constant Boolean flag
2202         (Normalize_Pathname): When on Windows and the path starts with a
2203         directory separator, make sure that the resulting path will start with
2204         a drive letter.
2205
2206         * clean.adb (Clean_Archive): New procedure
2207         (Clean_Project): When there is non-Ada code, delete the global archive,
2208         the archive dependency files, the object files and their dependency
2209         files, if they exist.
2210         (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
2211
2212 2004-06-25  Thomas Quinot  <quinot@act-europe.fr>
2213
2214         * sinfo.ads: Fix typo in comment.
2215
2216         * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
2217         the TSS for remote access-to-subprogram types, since these TSS are
2218         always present once the type has been analyzed.
2219         (RAS_E_Dereference): Same.
2220
2221         * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
2222         reference raises Bad_Attribute, mark the reference as analyzed so the
2223         node (and any children resulting from rewrites that could have occurred
2224         during the analysis that ultimately failed) is not analyzed again.
2225
2226         * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
2227
2228         * exp_dist.adb: Minor comment fix.
2229
2230         * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
2231         type is an anonymous access type, no unchecked deallocation of the
2232         allocated object can occur. If the object is controlled, attach it with
2233         a count of 1. This allows attachment to the Global_Final_List, if
2234         no other relevant list is available.
2235         (Get_Allocator_Final_List): For an anonymous access type that is
2236         the type of a discriminant or record component, the corresponding
2237         finalisation list is the one of the scope of the type.
2238
2239 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
2240
2241         * sem_ch3.adb (Replace_Type): When computing the signature of an
2242         inherited subprogram, use the first subtype if the derived type
2243         declaration has no constraint.
2244
2245         * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
2246         before applying previous optimization. Minor code cleanup.
2247
2248         * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
2249         placed at the beginning of an unpacked record without explicit
2250         alignment, a slice of it will be aligned and does not need a copy when
2251         used as an actual.
2252
2253 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
2254
2255         PR ada/15591
2256         PR ada/15592
2257         * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
2258         reference is written with expressions mimicking parameters.
2259
2260 2004-06-25  Hristian Kirtchev  <kirtchev@gnat.com>
2261
2262         PR ada/15589
2263         * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
2264         STEP 2a. The constraints of a full type declaration of a derived record
2265         type are checked for conformance with those declared in the
2266         corresponding private extension declaration. The message
2267         "not conformant with previous declaration" is emitted if an error is
2268         detected.
2269
2270 2004-06-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
2271
2272         * g-traceb.ads: Document the need for -E binder switch in the spec.
2273
2274         * g-trasym.ads: Document the need for -E binder switch in the spec.
2275
2276 2004-06-25  Jose Ruiz  <ruiz@act-europe.fr>
2277
2278         * sem_prag.adb: Add handling of pragma Detect_Blocking.
2279
2280         * snames.h, snames.ads, snames.adb: Add entry for pragma
2281         Detect_Blocking.
2282
2283         * s-rident.ads: Change reference to pragma Detect_Blocking.
2284
2285         * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
2286         system.ads.
2287
2288         * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
2289         to indicate whether pragma Detect_Blocking is active.
2290
2291         * par-prag.adb: Add entry for pragma Detect_Blocking.
2292
2293         * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
2294         of not handling WITH.
2295         Note that this replaces the previous update which was incorrect.
2296
2297 2004-06-25  Javier Miranda  <miranda@gnat.com>
2298
2299         * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
2300         use-clauses to have a clean environment.
2301
2302         * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
2303         the installation of the use-clauses to stablish a clean environment in
2304         case of compilation of a separate unit; otherwise the call to
2305         use_one_package is protected by the barrier Applicable_Use.
2306
2307         * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
2308         the installation of the use-clauses to stablish a clean environment in
2309         case of compilation of a separate unit.
2310         (End_Use_Clauses): Minor comment cleanup.
2311
2312 2004-06-25  Sergey Rybin  <rybin@act-europe.fr>
2313
2314         * gnat_ugn.texi: Add description of the gnatpp 'files' switch
2315
2316 2004-06-23  Richard Henderson  <rth@redhat.com>
2317
2318         * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
2319
2320 2004-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2321
2322         * decl.c (elaborate_expression, elaborate_expression_1): Arguments
2323         now bool instead of int.
2324         (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
2325         * trans.c (gnu_switch_label_stack): New function.
2326         (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
2327         elaboration of renamed entity returns.
2328         (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
2329         (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
2330         (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
2331         (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
2332         DECL_SIZE_UNIT and simplify variable-sized case.
2333         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
2334         Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
2335         (gnat_stabilize_reference): Add arg to COMPONENT_REF.
2336         (build_unit_elab): Disable for now.
2337         * utils.c (mark_visited): New function.
2338         (pushdecl): Walk tree to call it for global decl.
2339         (update_pointer_to): Update all variants of pointer and ref types.
2340         Add arg to COMPONENT_REF.
2341         (convert): Likewise.
2342         Move check for converting between variants lower down.
2343         * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
2344         (build_allocator): Don't force type of MODIFY_EXPR.
2345         (gnat_mark_addressable, case VAR_DECL): Unconditionally call
2346         put_var_into_stack.
2347
2348 2004-06-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2349
2350         * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
2351         * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
2352         * decl.c (gnat_to_gnu_entity): Also set force_global for imported
2353         subprograms.
2354         * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
2355         all callers changed.
2356         (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
2357         the way that EXIT_STMT finds the loop label.
2358         (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
2359         (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
2360         (add_stmt): Use annotate_with_locus insted of setting directly.
2361         (pos_to_construct): Set TREE_PURPOSE of each entry to index.
2362         (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
2363         * utils.c (gnat_install_builtins): Install __builtin_memcmp.
2364         (build_vms_descriptor): Add extra args to ARRAY_REF.
2365         (convert): Use VIEW_CONVERT_EXPR between aggregate types.
2366         * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
2367         New cases.
2368         (build_binary_op): Don't make explicit CONVERT_EXPR.
2369         Add extra rgs to ARRAY_REF.
2370
2371 2004-06-14  Pascal Obry  <obry@gnat.com>
2372
2373         * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
2374         Windows.  Fix minor typo.
2375
2376         * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
2377         which is now supported on Windows. With this implementation using the
2378         Library Project feature is no different on Windows than on UNIX.
2379
2380 2004-06-14  Vincent Celier  <celier@gnat.com>
2381
2382         * makegpr.adb (Compile_Sources): Nothing to do when there are no
2383         non-Ada sources.
2384
2385         * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
2386
2387         * prj-part.adb (Parse_Single_Project): When a duplicate project name is
2388         found, show the project name and the path of the previously parsed
2389         project file.
2390
2391 2004-06-14  Ed Schonberg  <schonberg@gnat.com>
2392
2393         * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
2394         array, avoid copying the actual before the call.
2395
2396 2004-06-14  Thomas Quinot  <quinot@act-europe.fr>
2397
2398         * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
2399         Instead, allocate memory on worst-case alignment assumptions, and then
2400         return an aligned address within the allocated zone.
2401
2402 2004-06-14  Robert Dewar  <dewar@gnat.com>
2403
2404         * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
2405         elab entities in predefined units in No_Run_Time_Mode.
2406         (Gen_Adainit_C): Same fix
2407         (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
2408         units in No_Run_Time_Mode
2409         (Gen_Elab_Calls_C): Same fix
2410
2411         * symbols-vms-alpha.adb: Minor reformatting
2412
2413         * g-debpoo.ads: Minor reformatting
2414
2415         * lib.adb (In_Same_Extended_Unit): Version working on node id's
2416
2417         * lib.ads (In_Same_Extended_Unit): Version working on node id's
2418
2419         * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
2420         working on nodes.
2421
2422         * make.adb: Minor reformatting
2423
2424         * par-ch12.adb: Minor reformatting
2425
2426         * par-prag.adb: Add dummy entry for pragma Profile_Warnings
2427
2428         * prj-strt.adb: Minor reformatting
2429
2430         * restrict.ads, restrict.adb: Redo handling of profile restrictions to
2431         be more general.
2432
2433         * sem_attr.adb: Minor reformatting
2434
2435         * sem_ch7.adb: Minor reformatting
2436
2437         * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
2438         for type in the same unit as the object declaration.
2439
2440         * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
2441         static string expressions and not just string literals.
2442         Minor reformatting
2443         (Set_Warning): Reset restriction warning flag for restriction pragma
2444         Implement pragma Profile_Warnings
2445         Implement pragma Profile (Restricted)
2446         Give obolescent messages for old restrictions and pragmas
2447
2448         * snames.h, snames.ads, snames.adb: Add new entry for pragma
2449         Profile_Warnings.
2450
2451         * s-rident.ads: Add declarations for restrictions required by profile
2452         Restricted and profile Ravenscar.
2453
2454         * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
2455
2456         * gnat_ugn.texi: Correct some missing entries in the list of GNAT
2457         configuration pragmas.
2458
2459 2004-06-11  Vincent Celier  <celier@gnat.com>
2460
2461         * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
2462         gnatsym, when symbol policy is Restricted.
2463
2464         * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
2465         gnatsym, when symbol policy is Restricted.
2466
2467         * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
2468         read the symbol file.
2469         (Finalize): Fail in symbol policy Restricted if a symbol in the original
2470         symbol file is not in the object files. Do not create a new symbol file
2471         when symbol policy is Restricted.
2472
2473         * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
2474         in Scng.
2475
2476         * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
2477         Restricted.
2478         (Usage): Line for new switch -R
2479
2480         * make.adb (Initialize): When the platform is not VMS, add the
2481         directory where gnatmake is invoked in the front of the path, if
2482         gnatmake is invoked with directory information.  Change the Scan_Args
2483         while loop to a for loop.
2484         (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
2485         if Depth is equal or greater than the proposed depth, there is nothing
2486         to do.
2487         (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
2488         instead of 0.
2489
2490         * prj.ads: Add new symbol policy Restricted.
2491
2492         * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
2493         with the new parameters Check_All_Labels and Case_Location.
2494
2495         * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
2496         (Library_Symbol_File needs to be defined).
2497
2498         * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
2499         and Case_Location If Check_All_Labels is True, check that all values of
2500         the string type are used, and output warning(s) if they are not.
2501
2502         * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
2503         and Case_Location.
2504
2505         * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
2506
2507         * gnat_ugn.texi: Update documentation about the library directory in
2508         Library Projects.
2509
2510         * makegpr.adb (Display_Command): In verbose mode, also display the
2511         value of the CPATH env var, when the compiler is gcc.
2512         (Initialize): Change the Scan_Args while loop to a for loop
2513         (Compile_Individual_Sources): Change directory to object directory
2514         before compilations.
2515
2516         * symbols.ads: New symbol policy Restricted.
2517
2518 2004-06-11  Olivier Hainque  <hainque@act-europe.fr>
2519
2520         * a-except.adb (Raise_After_Setup family): Remove. The responsibility
2521         is now taken care of internally in the Exception_Propagation package
2522         and does not require clients assistance any more.
2523
2524         * a-exexpr.adb (Is_Setup_And_Not_Propagated,
2525         Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
2526         functions. Helpers to maintain a predicate required in the handling of
2527         occurrence transfer between tasks.
2528         This is now handled internally and does not require clients assistance
2529         for the setup/propagate separation anymore.
2530         (Setup_Exception, Propagate_Exception): Simplify the Private_Data
2531         allocation strategy, handle the Setup_And_Not_Propagated predicate and
2532         document.
2533
2534         * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
2535         raise_after_setup, now that everything is handled internally within the
2536         setup/propagation engine.
2537
2538 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
2539
2540         * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
2541         Add additional conditions for the case of an actual being a simple
2542         name or literal. Improve inlining by preventing the generation
2543         of temporaries with a short lifetime (one use).
2544
2545 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
2546
2547         PR ada/15587
2548
2549         * einfo.ads: Minor comment updates for Has_Completion and
2550         E_Constant list of flags.
2551
2552         * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
2553         and constant redeclarations now set the Has_Completion flag of their
2554         defining identifiers.
2555
2556         * sem_ch7.adb (Analyze_Package_Spec): Add procedure
2557         Inspect_Deferred_Constant_Completion.
2558         Used to detect private deferred constants that have not been completed
2559         either by a constant redeclaration or pragma Import. Emits error message
2560         "constant declaration requires initialization expression".
2561
2562         * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
2563         completes a deferred constant.
2564
2565 2004-06-11  Geert Bosch  <bosch@gnat.com>
2566
2567         * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
2568
2569         * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
2570         calculating exponent for scaling denormal numbers.
2571         (Leading_Part): Properly raise Constraint_Error for zero or negative
2572         Adjustment.
2573         (Remainder): Properly raise Constraint_Error for zero divisor.
2574
2575 2004-06-11  Thomas Quinot  <quinot@act-europe.fr>
2576
2577         * sem_util.adb: Minor reformatting.
2578
2579         * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
2580         dereference when accessing the entry parameter record.
2581         (Check_Array_Type): Always check for possible implicit dereference.
2582         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
2583         Abort if a pointer is still present (denoting that an implicit
2584         dereference was left in the tree by the front-end).
2585
2586         * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
2587         dereference when accessing the entry parameter record.
2588         (Check_Array_Type): Always check for possible implicit dereference.
2589         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
2590         Abort if a pointer is still present (denoting that an implicit
2591         dereference was left in the tree by the front-end).
2592
2593 2004-06-11  Emmanuel Briot  <briot@act-europe.fr>
2594
2595         * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
2596         message, like the compiler itself does. Easier to parse the output.
2597
2598         * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
2599
2600         * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
2601         be base names, and not includes directories.
2602
2603 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
2604
2605         * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
2606         so that dependencies are properly taken into account by make.
2607
2608 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
2609
2610         PR ada/15622
2611         * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
2612         exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
2613
2614 2004-06-11  Jerome Guitton  <guitton@act-europe.fr>
2615
2616         * Makefile.in (install-gnatlib): install target-specific run-time files.
2617
2618         * Make-lang.in: Remove obsolete targets.
2619
2620 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
2621
2622         * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
2623         specification, to catch misuses of program unit names.
2624
2625         * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
2626         superfluous conversions in an instance.
2627
2628 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
2629
2630         PR ada/15403
2631
2632         * sem_ch12.adb (Save_References): If operator node has been folded to
2633         enumeration literal, associated_node must be discarded.
2634
2635 2004-06-11  Jose Ruiz  <ruiz@act-europe.fr>
2636
2637         * s-stchop-vxworks.adb: Add required pragma Convention to
2638         Task_Descriptor because it is updated by a C function.
2639
2640 2004-06-08  Arnaud Charlet  <charlet@act-europe.fr>
2641
2642         PR ada/15568
2643
2644         * Makefile.in: Remove target specific SO_OPT on IRIX
2645
2646 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2647
2648         * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
2649         (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
2650         (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
2651         (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
2652         (STMT_STMT, USE_STMT): New statement codes.
2653         (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
2654         * ada-tree.h: Reflect above changes.
2655         (struct tree_loop_id): Deleted.
2656         (union lang_tree_node, struct lang_decl, struct lang_type):
2657         Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
2658         and DECL_LANGUAGE_SPECIFIC to reflect these changes.
2659         (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
2660         (IS_ADA_STMT): New macro.
2661         * decl.c (annotate_decl_with_node): New function.
2662         (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
2663         (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
2664         Call add_stmt_with_node to do needed assignments.
2665         Add call to update setjmp buffer directly, not via EXPR_STMT.
2666         (maybe_variable): Argment GNAT_NODE deleted.
2667         * gigi.h (maybe_variable): Likewise.
2668         (make_transform, add_stmt_with_node, set_block_for_group): New.
2669         (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
2670         (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
2671         (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
2672         (set_lineno, set_lineno_from_sloc): Likewise.
2673         (record_code_position, insert_code_for): Likewise.
2674         (gnat_poplevel): Now returns void.
2675         (end_subprog_body): Now takes argument.
2676         * misc.c (cgraph.h, tree-inline.h): New includes.
2677         (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
2678         (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
2679         (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
2680         (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
2681         (gnat_parse_file): Don't set immediate_size_expand.
2682         Call cgraph functions.
2683         (gnat_expand_expr): Remove most cases.
2684         (record_code_position, insert_code_for): Remove from here.
2685         * trans.c (toplev.h, tree-gimple.h): Now included.
2686         (discard_file_names): Deleted.
2687         (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
2688         (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
2689         (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
2690         (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
2691         (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
2692         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
2693         (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
2694         (set_block_for_group, add_stmt_list): Likewise.
2695         (start_stmt_group): Renamed from start_block_stmt.
2696         (end_stmt_group): Likewise, from end_block_stmt.
2697         (build_stmt_group): Likewise, from build_block_stmt, also add arg.
2698         (gigi): Don't set discard_file_names or call set_lineno.
2699         Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
2700         (tree_transform): Deleted, now renamed to be gnat_to_gnu.
2701         Numerous changes throughout to reflect new names and complete
2702         function-at-a-time implementation.
2703         (gnat_expand_stmt): Delete or comment out all cases.
2704         (process_inlined_subprograms): Use add_stmt.
2705         (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
2706         call set_lineno; also remove unneeded block handling.
2707         (process_type): Remove unneeded block handling.
2708         (build_unit_elab): Remove calls to deleted functions.
2709         * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
2710         (tree-dump.h): Likewise.
2711         (struct ada_binding_level): Add field jmpbuf_decl.
2712         (gnat_define_builtin, gnat_install_builtins): New.
2713         (gnat_gimplify_function, gnat_finalize): Likewise.
2714         (gnat_poplevel): No longer return BLOCK, set it instead.
2715         Remove code dealing with nested functions.
2716         (gnat_init_decl_processing): Also set size_type_node.
2717         Call gnat_install_builtins.
2718         (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
2719         (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
2720         Remove special-case for "main".
2721         (end_subprog_body): Add arg and rework for tree-ssa.
2722         (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
2723         Add case for BOOLEAN_TYPE.
2724         * utils2.c (rtl.h): Now include.
2725         (build_call_raise): Test Debug_Flag_NN directly.
2726         (build_call_alloc_dealloc): Don't use local stack allocation for now.
2727         (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
2728         (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
2729
2730 2004-06-07  Robert Dewar  <dewar@gnat.com>
2731
2732         * a-direct.ads, einfo.ads: Minor comment updates
2733
2734         * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
2735         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
2736         s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
2737         s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
2738         s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
2739
2740         * s-interr-sigaction.adb: Remove unreferenced variable
2741         (Attached_Interrupts).  Minor reformatting.
2742         Avoid use of variable I (replace by J).
2743
2744         * par-ch10.adb: Fix text of one error message
2745
2746         * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
2747         exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
2748         exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
2749         opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
2750         par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
2751         par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
2752         sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
2753         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
2754         sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
2755         sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
2756         snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
2757         2005 support.
2758
2759 2004-06-07  Doug Rupp  <rupp@gnat.com>
2760
2761         * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
2762
2763         * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
2764
2765         * mlib-tgt-vms-ia64.adb: New file.
2766
2767         * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
2768         Add mlib-tgt-vms-ia64.adb
2769         Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
2770         Move to alpha specific ifeq section.
2771         Add VMS specific versions of symbols.adb
2772         Renaming of 5q vms files.
2773
2774         * 5qsystem.ads renamed to system-vms_64.ads.
2775
2776 2004-06-07  Vincent Celier  <celier@gnat.com>
2777
2778         * a-calend.ads: Add a GNAT Note comment after function Time_Of to
2779         explain that when a time of day corresponding to the non existing hour
2780         on the day switching to DST is specified, Split may return a different
2781         value for Seconds.
2782
2783         * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
2784         to GNAT PRETTY.
2785
2786         * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
2787         (Normalize_Pathname): Only resolve VMS logical names when on VMS.
2788
2789         * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
2790         to False.
2791         If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
2792         the linking options.
2793         (Build_Library.Check_Libs): On VMS, if there is a dependency on
2794         g-trasym.ads, set Gtrasymobj_Needed to True.
2795
2796         * prj-attr.adb: Add new package Metrics for gnatmetric
2797
2798         * prj-nmsc.adb (Record_Other_Sources): Put source file names in
2799         canonical case to take into account files with upper case characters on
2800         Windows.
2801         (Ada_Check): Load the reference symbol file name in the name buffer to
2802         check it, not the symbol file name.
2803
2804         * snames.ads, snames.adb: Add standard name Metrics (name of project
2805         file package for gnatmetric).
2806
2807         * vms_conv.ads: Add Metric to Comment_Type
2808
2809         * vms_conv.adb (Initialize): Add component dor Metric in Command_List
2810
2811         * vms_data.ads: Add qualifiers for GNAT METRIC
2812
2813         * makegpr.adb (Link_Executables): Take into account the switches
2814         specified in package Linker of the main project.
2815
2816 2004-06-07  Thomas Quinot  <quinot@act-europe.fr>
2817
2818         * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
2819         the index of the last element is Units.Last, not Units.Table'Last
2820         (which is usually not a valid index within the actually allocated
2821         storage for the table).
2822
2823         * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
2824         determines whether to generate a call to a checked storage pool
2825         Dereference action.
2826         Generate such a call only for a dereference that either comes from
2827         source, or is the result of rewriting a dereference that comes from
2828         source.
2829
2830 2004-06-07  Romain Berrendonner  <berrendo@act-europe.fr>
2831
2832         * bindgen.adb (Gen_Output_File): Add support for GAP builds.
2833
2834 2004-06-07  Eric Botcazou  <ebotcazou@act-europe.fr>
2835
2836         (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
2837         file level, elaborate the stride for inner dimensions in alignment
2838         units, not bytes.
2839
2840         * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
2841         in a comment.
2842
2843 2004-06-07  Javier Miranda  <miranda@gnat.com>
2844
2845         * exp_ch6.adb: Correct wrong modification in previous patch
2846
2847 2004-06-07  Vasiliy Fofanov  <fofanov@act-europe.fr>
2848
2849         * g-trasym.ads: Corrected comment to properly reflect level of support
2850         on VMS.
2851
2852 2004-06-07  Hristian Kirtchev  <kirtchev@gnat.com>
2853
2854         * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
2855         includes case of a variable referenced on the left hand side of an
2856         assignment, therefore remove redundant code. Variables and prefixes of
2857         indexed or selected components are now marked as referenced on left
2858         hand side. Warnings are now properly emitted when variables or prefixes
2859         are assigned but not read.
2860
2861         * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
2862         left hand side referenced variables. Private access types do not
2863         produce the warning "variable ... is assigned but never read".
2864         Add also additional checks to left hand side referenced variables.
2865         Aliased, renamed objects and access types do not produce the warning
2866         "variable ... is assigned but never read" since other entities may read
2867         the memory location.
2868
2869 2004-06-07  Jerome Guitton  <guitton@act-europe.fr>
2870
2871         * Makefile.in: In the powerpc/vxworks-specific section, restore
2872         EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
2873         by mistake).
2874
2875 2004-06-07  Ed Schonberg  <schonberg@gnat.com>
2876
2877         * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
2878         predefined operators.
2879         Removes spurious type errors from g-trasym-vms.adb.
2880
2881         * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
2882         distinct from the operator appearing in the source, call appropriate
2883         routine to insert conversions when needed, and complete resolution of
2884         node.
2885         (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
2886         interpretations for rewritten right operand.
2887         (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
2888         the other operand is overloaded and the context is a type conversion.
2889
2890 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2891
2892         * ada-tree.def (BLOCK_STMT): Now has two operands.
2893         (BREAK_STMT): New.
2894
2895         * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
2896
2897         * gigi.h: (gnat_poplevel): Now returns a tree.
2898
2899         * trans.c (end_block_stmt): Add arg; all callers changed.
2900         (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
2901         (start_block_stmt): Clear BLOCK_STMT_BLOCK.
2902         (add_stmt): Set TREE_TYPE.
2903         (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
2904         (gnat_expand_stmt, case BREAK_STMT): New case.
2905
2906         * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
2907
2908 2004-06-07  Jose Ruiz  <ruiz@act-europe.fr>
2909
2910         * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
2911         procedure Set_Stack_Size that is not needed.
2912
2913 2004-06-07  Sergey Rybin  <rybin@act-europe.fr>
2914
2915         * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
2916         used for gnatpp input file and for the files upon which it depends
2917
2918 2004-06-07  Ben Brosgol  <brosgol@gnat.com>
2919
2920         * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
2921
2922 2004-06-07  Arnaud Charlet  <charlet@act-europe.fr>
2923
2924         * gnatvsn.ads: Bump version numbers appropriately.
2925         Add new build type.
2926
2927 2004-06-07  Pascal Obry  <obry@gnat.com>
2928
2929         * gnat_ugn.texi: Improve comments about imported names and link names
2930         on Windows. Add a note about the requirement to use -k gnatdll's option
2931         when working with a DLL which has stripped stdcall symbols (no @nn
2932         suffix).
2933
2934 2004-05-27  Vincent Celier  <celier@gnat.com>
2935
2936         * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
2937         COMMENTS_LAYOUT=UNTOUCHED
2938
2939         * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
2940         symbols-vms-alpha.adb
2941
2942 2004-05-27  Thomas Quinot  <quinot@act-europe.fr>
2943
2944         * sem.ads: Clarify documentation on checks suppression.
2945
2946         * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
2947
2948 2004-05-27  Ed Schonberg  <schonberg@gnat.com>
2949
2950         * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
2951         the case of multiple derivations.
2952         (Is_Object_Reference): For a selected component, verify that the prefix
2953         is itself an object and not a value.
2954
2955         * sem_ch12.adb (Same_Instantiated_Constant): New name for
2956         Same_Instantiated_Entity.
2957         (Same_Instantiated_Variable): Subsidiary to
2958         Check_Formal_Package_Instance, to recognize actuals for in-out generic
2959         formals that are obtained from a previous formal package.
2960         (Instantiate_Subprogram_Body): Emit proper error when
2961         generating code and the proper body of a stub is missing.
2962
2963         * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
2964         has a universal interpretation, do the disambiguation here.
2965
2966         * exp_ch4.adb (Expand_N_Type_Conversion,
2967         Expand_N_Unchecked_Type_Conversion): Special handling when target type
2968         is Address, to avoid typing anomalies when Address is a visible integer
2969         type.
2970
2971         * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
2972         to determine whether a subprogram should not be marked Pure, even when
2973         declared in a pure package.
2974
2975 2004-05-27  Jose Ruiz  <ruiz@act-europe.fr>
2976
2977         * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
2978
2979         * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
2980         Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
2981         Update the documentation about the Ravenscar profile, following the
2982         definition found in AI-249.
2983
2984         * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
2985         setting the Profile (Ravenscar). This must be done in addition to
2986         setting the required restrictions.
2987
2988         * rtsfind.ads: Add the set of operations defined in package
2989         Ada.Interrupts.
2990
2991         * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
2992         restriction.
2993
2994 2004-05-27  Eric Botcazou  <ebotcazou@act-europe.fr>
2995
2996         lang-specs.h: Always require -c or -S and always redirect to /dev/null
2997         if -gnatc or -gnats is passed.
2998
2999 2004-05-27  Hristian Kirtchev  <kirtchev@gnat.com>
3000
3001         * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
3002         a significant reference. Warnings are now properly emitted when a
3003         discriminated type is not referenced.
3004
3005         * lib-xref.adb (Generate_Reference): A deferred constant completion,
3006         record representation clause or record type discriminant does not
3007         produce a reference to its corresponding entity. Warnings are now
3008         properly emitted when deferred constants and record types are not
3009         referenced.
3010
3011 2004-05-27  Geert Bosch  <bosch@gnat.com>
3012
3013         * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
3014         Fixes ACATS Annex G tests.
3015
3016 2004-05-27  Robert Dewar  <dewar@gnat.com>
3017
3018         * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
3019         handling WITH
3020
3021 2004-05-27  Arnaud Charlet  <charlet@act-europe.fr>
3022
3023         * s-interr.adb (Server_Task): Take into account case of early return
3024         from sigwait under e.g. linux.
3025
3026 2004-05-27  Sergey Rybin  <rybin@act-europe.fr>
3027
3028         * gnat_ugn.texi: Add description for the new gnatpp options:
3029          -rnb - replace the original source without creating its backup copy
3030          -c0 - do not format comments
3031
3032 2004-05-24  Geert Bosch  <bosch@gnat.com>
3033
3034         * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
3035         with 192 bits of precision, sufficient to reduce a double-extended
3036         arguments X with a maximum relative error of T'Machine_Epsilon, for X
3037         in -2.0**32 .. 2.0**32.
3038         (Cos, Sin):  Always reduce arguments of 1/4 Pi or larger, to prevent
3039         reduction by the processor, which only uses a 68-bit approximation of
3040         Pi.
3041         (Tan): Always reduce arguments and compute function either using
3042         the processor's fptan instruction, or by dividing sin and cos as needed.
3043
3044 2004-05-24  Doug Rupp  <rupp@gnat.com>
3045
3046         * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
3047         gcc error on 32/64 bit VMS.
3048
3049 2004-05-24  Olivier Hainque  <hainque@act-europe.fr>
3050
3051         * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
3052         since this is what we get for stack overflows although not documented
3053         as such.
3054         Document the issues which may require adjustments to our signal
3055         handlers.
3056
3057 2004-05-24  Ed Schonberg  <schonberg@gnat.com>
3058
3059         * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
3060         enclosing dynamic scope if the instantiation is within a generic unit.
3061
3062 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
3063
3064         * exp_dbug.ads: Fix typo.
3065
3066         * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
3067         Rename it to its proper name: system-linux-ia64.ads
3068         (stamp-gnatlib1): Remove extra target specific run time files when
3069         setting up the rts directory.
3070
3071 2004-05-24  Javier Miranda  <miranda@gnat.com>
3072
3073         * einfo.ads, einfo.adb (Limited_Views): Removed.
3074         (Limited_View): New attribute that replaces the previous one. It is
3075         now a bona fide package with the limited-view list through the
3076         first_entity and first_private attributes.
3077
3078         * sem_ch10.adb (Install_Private_With_Clauses): Give support to
3079         limited-private-with clause.
3080         (Install_Limited_Withed_Unit): Install the private declarations of a
3081         limited-private-withed package. Update the installation of the shadow
3082         entities according to the new structure (see Build_Limited_Views)
3083         (Build_Limited_Views): Replace the previous implementation of the
3084         limited view by a package entity that references the first shadow
3085         entity plus the first shadow private entity (required for limited-
3086         private-with clause)
3087         (New_Internal_Shadow_Entity): Code cleanup.
3088         (Remove_Limited_With_Clause): Update the implementation to undo the
3089         new work carried out by Build_Limited_Views.
3090         (Build_Chain): Complete documentation.
3091         Replace Ada0Y by Ada 0Y in comments
3092         Minor reformating
3093
3094         * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
3095         types the level of accessibility depends on the enclosing type
3096         declaration.
3097
3098         * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
3099         entities. Complete documentation of previous change.
3100
3101 2004-05-24  Robert Dewar  <dewar@gnat.com>
3102
3103         * namet.adb: Minor reformatting
3104         Avoid use of name I (replace by J)
3105         Minor code restructuring
3106
3107         * sem_ch6.adb: Minor reformatting
3108
3109         * lib-writ.adb: Do not set restriction as active if this is a
3110         Restriction_Warning case.
3111
3112         * sem_prag.adb: Reset restriction warning flag if real pragma
3113         restriction encountered.
3114
3115         * s-htable.adb: Minor reformatting
3116         Change rotate count to 3 in Hash (improves hash for small strings)
3117
3118         * 5qsystem.ads: Add comments for type Address (no literals allowed).
3119
3120         * gnat_ugn.texi: Add new section of documentation "Code Generation
3121         Control", which describes the use of -m switches.
3122
3123 2004-05-24  Eric Botcazou  <ebotcazou@act-europe.fr>
3124
3125         trans.c (tree_transform) <N_Identifier>: Do the dereference directly
3126         through the DECL_INITIAL for renamed variables.
3127
3128 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
3129
3130         * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
3131
3132 2004-05-19  Joel Brobecker  <brobecker@gnat.com>
3133
3134         * exp_dbug.ads: Correct comments concerning handling of overloading,
3135         since we no longer use $ anymore.
3136
3137 2004-05-19  Sergey Rybin  <rybin@act-europe.fr>
3138
3139         * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
3140         ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
3141         with illegal subunits.
3142
3143 2004-05-19  Ed Schonberg  <schonberg@gnat.com>
3144
3145         * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
3146         body with front-end inlining enabled, check whether an inline pragma
3147         appears immediately after the body and applies to it.
3148
3149         * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
3150         enabled and the pragma appears after the body of the subprogram.
3151
3152 2004-05-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3153
3154         Part of function-at-a-time conversion
3155
3156         * misc.c (adjust_decl_rtl): Deleted.
3157         (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
3158         Define.
3159
3160         * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
3161         (add_decl_stmt, add_stmt, block_has_vars): New functions.
3162         (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
3163
3164         * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
3165         when making a decl.
3166         (gnat_to_gnu_entity): Likewise.
3167         Use add_stmt to update setjmp buffer.
3168         Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
3169         flush_addressof.
3170         No longer call adjust_decl_rtl.
3171         (DECL_INIT_BY_ASSIGN_P): New macro.
3172         (DECL_STMT_VAR): Likewise.
3173
3174         * trans.c (gigi): Call start_block_stmt to make the outermost
3175         BLOCK_STMT.
3176         (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
3177         Call start_block_stmt and end_block_stmt temporarily.
3178         Use gnat_expand_stmt instead of expand_expr_stmt.
3179         (add_decl_stmt): New function.
3180         (tree_transform): Call it.
3181         (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
3182         (end_block_stmt): Set type and NULL_STMT.
3183         (gnat_expand_stmt): Make recursize call instead of calling
3184         expand_expr_stmt.
3185         (gnat_expand_stmt, case DECL_STMT): New case.
3186         (set_lineno_from_sloc): Do nothing if global.
3187         (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
3188         (start_block_stmt, add_stmt, end_block_stmt): New functions.
3189         (build_block_stmt): Call them.
3190         (gnat_to_code): Don't expand NULL_STMT.
3191         (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
3192         args.
3193         (tree_transform): Likewise.
3194         (tree_transform, case N_Null_Statement): Return NULL_STMT.
3195         (gnat_expand_stmt, case NULL_STMT): New case.
3196         (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
3197         IF_STMT_TRUE.
3198
3199         * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
3200         TREE_ADDRESSABLE.
3201
3202         * utils.c (create_var_decl): Do not call expand_decl or
3203         expand_decl_init.
3204         Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
3205         Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
3206         here.
3207         (struct e_stack): Add chain_next to GTY.
3208         (struct binding_level): Deleted.
3209         (struct ada_binding_level): New struct.
3210         (free_block_chain): New.
3211         (global_binding_level, clear_binding_level): Deleted.
3212         (global_bindings_p): Rework to see if no chain.
3213         (kept_level_p, set_block): Deleted.
3214         (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
3215         new data structure and work directly on BLOCK node.
3216         (gnat_poplevel): Similarly.
3217         (get_decls): Look at BLOCK_VARS.
3218         (insert_block): Work directly on BLOCK node.
3219         (block_has_var): New function.
3220         (pushdecl): Rework for new binding structures.
3221         (gnat_init_decl_processing): Rename and rework calls to pushlevel and
3222         poplevel.
3223         (build_subprog_body): Likewise.
3224         (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
3225
3226         * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
3227
3228         * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
3229         (DECL_STMT_VAR): Likewise.
3230
3231 2004-05-17  Robert Dewar  <dewar@gnat.com>
3232
3233         * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
3234         procedure
3235
3236         * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
3237         of restriction synonyums by using
3238         Restrict.Process_Restriction_Synonyms.
3239
3240         * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
3241
3242         * s-restri.ads (Tasking_Allowed): Correct missing comment
3243
3244         * s-rident.ads: Add entries for restriction synonyms
3245
3246         * ali.adb: Fix some problems with badly formatted ALI files that can
3247         result in infinite loops.
3248
3249         * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
3250         s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
3251         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
3252         s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
3253         s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
3254         s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
3255         s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
3256         s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
3257         s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
3258         a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
3259         exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
3260         s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
3261         s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
3262         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
3263         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
3264         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
3265         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
3266         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
3267         s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
3268         s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
3269         to Task_Id (minor cleanup).
3270
3271 2004-05-17  Vincent Celier  <celier@gnat.com>
3272
3273         * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
3274         directory separator.
3275
3276         * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
3277         project being extended, if Languages is not declared in extending
3278         project.
3279
3280 2004-05-17  Javier Miranda  <miranda@gnat.com>
3281
3282         * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
3283         limited view of a visible sibling.
3284
3285 2004-05-14  Robert Dewar  <dewar@gnat.com>
3286
3287         * gnat_ugn.texi: Minor change to -gnatS documentation
3288
3289         * sprint.adb: Remove some instances of Assert (False) and for this
3290         purpose replace them by output of a ??? string.
3291
3292         * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
3293         Assert (False).
3294
3295         * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
3296         flag processing. This was suppressing required dependencies in
3297         No_Run_Time mode and is not needed since the binder does not generate
3298         references for things in libgnat anyway.
3299
3300         * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
3301         warning.
3302
3303 2004-05-14  Thomas Quinot  <quinot@act-europe.fr>
3304
3305         * gnat_ugn.texi: Document AIX-specific issue with initialization of
3306         resolver library.
3307
3308         * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
3309         action for the case of an actual parameter in an init proc call.
3310
3311 2004-05-14  Ed Schonberg  <schonberg@gnat.com>
3312
3313         * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
3314         subtype, check visible entities in base type.
3315
3316         * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
3317         actions if the object is a renaming.
3318
3319         * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
3320         Check_Formal_Package_Instance, to determine more precisely when the
3321         formal and the actual denote the same entity.
3322
3323 2004-05-14  Javier Miranda  <miranda@gnat.com>
3324
3325         * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
3326
3327         * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
3328         corresponding to a private_with must be removed from visibility; it
3329         will be made visible later, just before we analyze the private part of
3330         the package.
3331         (Check_Private_Child_Unit): Allow private_with clauses in public
3332         siblings.
3333         (Install_Siblings): Make visible the private entities of private-withed
3334         siblings.
3335         (Install_Withed_Unit): Do not install the private withed unit if we
3336         are compiling a package declaration and the Private_With_OK flag was
3337         not set by the caller. These declarations will be installed later,
3338         just before we analyze the private part of the package.
3339
3340         * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
3341         during the evaluation of the expression that initializes the object,
3342         decorate it with the expected type to avoid cascade errors.
3343         Code cleanup.
3344
3345         * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
3346         subprogram we have to install the private_with clauses after its
3347         specification has been analyzed (as documented in AI-262.TXT).
3348
3349         * sem_ch8.adb (Has_Private_With): New function. Determines if the
3350         current compilation unit has a private with on a given entity.
3351         (Find_Direct_Name): Detect the Beaujolais problem described in
3352         AI-262.TXT
3353
3354         * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
3355         provides the functionality of the function Is_Ancestor that was
3356         previously available in sem_ch10. It has been renamed to avoid
3357         overloading.
3358
3359         * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
3360
3361 2004-05-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3362
3363         * utils.c (build_vms_descriptor): Use SImode pointers.
3364
3365 2004-05-14  Vasiliy Fofanov  <fofanov@act-europe.fr>
3366
3367         * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
3368
3369 2004-05-14  GNAT Script  <nobody@gnat.com>
3370
3371         * Make-lang.in: Makefile automatically updated
3372
3373 2004-05-14  Arnaud Charlet  <charlet@act-europe.fr>
3374
3375         Renaming of target specific files for clarity
3376
3377         * Makefile.in: Rename GNAT target specific files.
3378
3379         * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
3380         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
3381         3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
3382         3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
3383         3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
3384         3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
3385         42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
3386         4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
3387         4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
3388         4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
3389         4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
3390         4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
3391         51osinte.adb, 51osinte.ads, 51system.ads,
3392         52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
3393         55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
3394         56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
3395         56tpopsp.adb, 57system.ads, 58system.ads,
3396         5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
3397         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
3398         5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
3399         5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
3400         5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
3401         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
3402         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
3403         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
3404         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
3405         5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
3406         5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
3407         5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
3408         5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
3409         5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
3410         5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
3411         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
3412         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
3413         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
3414         5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
3415         5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
3416         5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
3417         5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
3418         5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
3419         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
3420         5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
3421         5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
3422         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
3423         5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
3424         5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
3425         5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
3426         5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
3427         5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
3428         5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
3429         5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
3430         5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
3431         5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
3432         7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
3433         7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
3434         7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
3435         7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
3436
3437         * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
3438         a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
3439         a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
3440         a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
3441         a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
3442         a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
3443         a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
3444         a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
3445         a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
3446         a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
3447         g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
3448         g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
3449         g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
3450         g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
3451         g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
3452         g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
3453         g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
3454         g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
3455         interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
3456         mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
3457         mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
3458         mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
3459         s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
3460         s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
3461         s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
3462         s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
3463         s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
3464         s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
3465         s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
3466         s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
3467         s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
3468         s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
3469         s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
3470         s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
3471         s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
3472         s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
3473         s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
3474         s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
3475         s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
3476         s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
3477         s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
3478         s-osinte-vms.ads, s-osinte-vxworks.adb,
3479         s-osinte-vxworks.ads, s-osprim-mingw.adb,
3480         s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
3481         s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
3482         s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
3483         s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
3484         s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
3485         s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
3486         s-stchop-vxworks.adb, s-taprop-dummy.adb,
3487         s-taprop-hpux-dce.adb, s-taprop-irix.adb,
3488         s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
3489         s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
3490         s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
3491         s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
3492         s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
3493         s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
3494         s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
3495         s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
3496         s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
3497         s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
3498         s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
3499         s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
3500         s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
3501         s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
3502         s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
3503         s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
3504         s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
3505         symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
3506         system-hpux.ads, system-interix.ads, system-irix-n32.ads,
3507         system-irix-o32.ads, system-linux-x86_64.ads,
3508         system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
3509         system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
3510         system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
3511         system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
3512         system-vxworks-alpha.ads, system-vxworks-m68k.ads,
3513         system-vxworks-mips.ads, system-vxworks-ppc.ads,
3514         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
3515         above.
3516
3517 2004-05-13  Zack Weinberg  <zack@codesourcery.com>
3518
3519         * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
3520
3521 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
3522
3523         Merge from tree-ssa-20020619-branch.
3524
3525         * config-lang.in (boot_language, build_by_default): Set
3526         to no.
3527         * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
3528         (max_size): Add static chain op for call_expr.
3529
3530 2004-05-12  Richard Sandiford  <rsandifo@redhat.com>
3531
3532         PR target/15331
3533         * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
3534
3535 2004-05-11  Roger Sayle  <roger@eyesopen.com>
3536
3537         * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
3538         COND_EXPR.
3539
3540 2004-05-10  Doug Rupp  <rupp@gnat.com>
3541
3542         * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
3543         system.aux_dec.
3544
3545         * s-auxdec.ads: Add Short_Address subtype (moved here from System).
3546
3547         * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
3548
3549         * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
3550         Fixes undefined symbols in IA64 gnatlib.
3551
3552         * 5vinmaop.adb: Reference s-auxdec for Short_Address.
3553
3554         * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
3555         Short_Address). This will be moved to system.auxdec.
3556
3557 2004-05-10  Thomas Quinot  <quinot@act-europe.fr>
3558
3559         * sem_util.adb: Replace test for presence of a node that is always
3560         present with a call to Discard_Node.
3561
3562         * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
3563         Analyze on the library unit node after generation of distribution stub
3564         constructs.  The call was a no-op because Unit_Node has already been
3565         Analyzed, and the tree fragments for the distribution stubs are
3566         analyzed as they are inserted in Exp_Dist.
3567         Update comment regarding to distribution stubs to reflect that we
3568         do not generate stub in separate files anymore.
3569
3570         * einfo.ads: Clarify the fact that a tagged private type has the
3571         E_Record_Type_With_Private Ekind.
3572
3573         * erroutc.adb: Minor reformatting
3574
3575         * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
3576         values if line length is increased using -gnatyM (noticed during code
3577         reading).
3578
3579         * eval_fat.adb: Minor reformatting
3580         Put spaces around exponentiation operator
3581
3582 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
3583
3584         PR ada/15005
3585         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
3586         has been rewritten as an explicit dereference, retrieve type of
3587         original node to check for possibly unconstrained record type.
3588
3589 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
3590
3591         * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
3592         overriding, use the operation of the parent unconditionally.
3593
3594         * sem_ch4.adb (Remove_Address_Interpretations): Remove address
3595         operation when either operand is a literal, to avoid further
3596         ambiguities.
3597
3598         * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
3599         overridden by a previous explicit declaration, mark the previous entity
3600         as overriding.
3601
3602         * sem_disp.adb (Check_Dispatching_Operation): New predicate
3603         Is_Visibly_Controlled, to determine whether a declaration of a
3604         primitive control operation for a derived type overrides an inherited
3605         one. Add warning if the explicit declaration does not override.
3606
3607 2004-05-10  Vincent Celier  <celier@gnat.com>
3608
3609         * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
3610         some cases when the sources are no longer present.
3611
3612         * make.adb (Collect_Arguments): Fail if an external source, not part
3613         of any project need to be compiled, when switch -x has not been
3614         specified.
3615
3616         * makeusg.adb: Document new switch -x
3617
3618         * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
3619         defaulted to False.
3620
3621         * switch-m.adb (Scan_Make_Switches): New switch -x
3622
3623         * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
3624         gnatmake switch -x.
3625
3626         * gnat_ugn.texi: Document new gnatmake switch -x
3627
3628 2004-05-10  Eric Botcazou  <ebotcazou@act-europe.fr>
3629
3630         * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
3631
3632         * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
3633         (process_attributes): Likewise.
3634
3635 2004-05-10  Joel Brobecker  <brobecker@gnat.com>
3636
3637         * s-inmaop.ads: Fix spelling mistake in one of the comments.
3638
3639 2004-05-10  Robert Dewar  <dewar@gnat.com>
3640
3641         * gnat_ugn.texi: Document that for config pragma files, the maximum
3642         line length is always 32767.
3643
3644         * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
3645         literals is now allowed.
3646
3647         * gnat-style.texi: Remove statement about splitting long lines before
3648         an operator rather than after, since we do not follow this rule at all.
3649         Clarify rule (really lack of rule) for spaces around exponentiation
3650
3651         * sem_elim.adb: Allow concatenation of string literals as well as a
3652         single string literal for pragma arguments.
3653
3654         * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
3655
3656         * a-textio.adb (Terminate_Line): Do not add line feed if nothing
3657         written for append case.
3658
3659         * frontend.adb: Changes to avoid checking max line length in config
3660         pragma files.
3661
3662         * g-os_lib.ads: Minor reformatting
3663
3664         * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
3665         wrong in any case. Instead use standard value. Noticed during code
3666         reading.
3667
3668         * opt.ads (Max_Line_Length): New field, used to implement removal of
3669         limitation on length of lines when scanning config pragma files.
3670
3671         * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
3672         makeutl.ads, makeutl.adb: Minor reformatting
3673
3674         * scn.adb: Do not check line length while scanning config pragma files
3675         Do not check line length while scanning out license information
3676
3677         * scng.adb: Changes to avoid line length checks while parsing config
3678         pragma files.
3679
3680 2004-05-10  GNAT Script  <nobody@gnat.com>
3681
3682         * Make-lang.in: Makefile automatically updated
3683
3684 2004-05-05  Arnaud Charlet  <charlet@act-europe.fr>
3685
3686         * osint.adb (Find_Program_Name): Fix handling of VMS version
3687         number.
3688
3689 2004-05-05  Emmanuel Briot  <briot@act-europe.fr>
3690
3691         * g-os_lib.ads (Invalid_Time): New constant
3692
3693         * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
3694         return OS_Time instead of time_t to match what is imported by Ada.
3695         Now return -1 if the file doesn't exist, instead of a random value
3696
3697 2004-05-05  Robert Dewar  <dewar@gnat.com>
3698
3699         * usage.adb: Add line for -gnatR?s switch
3700
3701         * sem_ch13.adb, exp_ch2.adb: Minor reformatting
3702
3703         * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
3704         and for Match (Data_First, Data_last)
3705
3706         * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
3707         written when we are dealing with multi-unit files.
3708
3709 2004-05-05  Jerome Guitton  <guitton@act-europe.fr>
3710
3711         * Makefile.in: Remove unused targets and variables.
3712
3713 2004-05-05  Vincent Celier  <celier@gnat.com>
3714
3715         * switch-m.adb: New gnatmake switch -eI
3716
3717         * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
3718         of new gnatmake switch -eInnn.
3719
3720         * makegpr.adb: Take into account new parameters Index and Src_Index in
3721         Prj.Util.
3722
3723         * clean.adb: Implement support for multi-unit sources, including new
3724         switch -i.
3725
3726         * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
3727         Src_Index.
3728
3729         * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
3730         (Extract_From_Q): New out parameter Index
3731         (Mark, Is_Marked): Subprograms moved to Makeutl
3732         (Switches_Of): New parameter Source_Index
3733         (Add_Switch): New parameter Index
3734         (Check): New parameter Source_Index
3735         (Collect_Arguments): New parameter Source_Index
3736         (Collect_Arguments_And_Compile): New parameter Source_Index
3737         (Compile): New parameter Source_Index
3738         Put subprograms in alphabetical order
3739         Add support for multi-source sources, including in project files.
3740
3741         * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
3742         (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
3743         Make.
3744
3745         * makeusg.adb: New gnatmake switch -eInnn
3746
3747         * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
3748         Prj.Util.Value_Of.
3749
3750         * opt.ads (Main_Index): New variable, defaulted to 0.
3751
3752         * osint.ads, osinte.adb (Add_File): New parameter Index
3753         (Current_Source_Index): New function
3754
3755         * prj.adb: Take into account new components Index and Src_Index
3756
3757         * prj.ads (String_Element): New component Index
3758         (Variable_Value): New component Index
3759         (Array_Element): New component Src_Index
3760
3761         * prj-attr.adb: Indicate that optional index may be specified for
3762         attributes Main, Executable, Spec, Body and some of Switches.
3763
3764         * prj-attr.ads (Attribute_Kind): New values for optional indexes
3765         (Attribute_Record): New component Optional_Index
3766
3767         * prj-com.ads (File_Name_Data): New component Index
3768
3769         * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
3770
3771         * prj-env.adb (Put): Output optional index
3772
3773         * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
3774         attributes Spec and Body.
3775
3776         * prj-nmsc.adb: Process optional indexes
3777
3778         * prj-pp.adb: Ouput "at" for optional indexes
3779
3780         * prj-proc.adb: Take into account optional indexes
3781
3782         * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
3783         Optional_Index. For string literal,
3784         process optional index when Optional_Index is True.
3785         (Parse_Expresion): New Boolean parameter Optional_Index
3786
3787         * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
3788         (Set_Source_Index_Of): New procedure
3789
3790         * prj-util.adb (Executable_Of, Value_Of): Take into account optional
3791         index.
3792
3793         * prj-util.ads (Executable_Of): New parameter Index
3794         (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
3795         New parameter Src_Index, defaulted to 0.
3796
3797 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
3798
3799         PR ada/15257
3800         * sem_ch3.adb (Access_Definition): If this is an access parameter
3801         whose designated type is imported through a limited_with clause, do
3802         not add the enclosing subprogram to the list of private dependents of
3803         the type.
3804
3805 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
3806
3807         PR ada/15258
3808         * sem_ch6.adb (Base_Types_Match): True if one type is imported through
3809         a limited_with clause, and the other is its non-limited view.
3810
3811 2004-05-05  Thomas Quinot  <quinot@act-europe.fr>
3812
3813         * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
3814
3815         * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
3816         exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
3817         Stand.Boolean_Literals to produce references to entities
3818         Standard_False and Standard_True from compile-time computed boolean
3819         values.
3820
3821         * stand.ads (Boolean_Literals): New variable, provides the entity
3822         values for False and True, for use by the expander.
3823
3824 2004-05-05  Doug Rupp  <rupp@gnat.com>
3825
3826         * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
3827         5vinmaop.adb: Unchecked convert Short_Address vice Address
3828
3829         * adaint.c, raise.c: Caste CRTL function return value
3830         to avoid gcc error on 32/64 bit IVMS.
3831
3832         * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
3833         target = IA64/VMS.
3834
3835         * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
3836
3837         * 5qsystem.ads (Address): Declare as Long_Integer
3838         (Short_Address): Declare as 32 bit subtype of Address
3839         Declare  abstract address operations to avoid gratuitous ambiguities.
3840
3841 2004-05-05  Jose Ruiz  <ruiz@act-europe.fr>
3842
3843         * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
3844         instead of the old Boolean_Entry_Barriers.
3845         Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
3846
3847 2004-05-05  GNAT Script  <nobody@gnat.com>
3848
3849         * Make-lang.in: Makefile automatically updated
3850
3851 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
3852
3853         * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
3854
3855 2004-05-03  Olivier Hainque  <hainque@act-europe.fr>
3856
3857         PR ada/15152
3858
3859         * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
3860         alone. Replacing object references by literals is inappropriate in a
3861         so low level context.
3862
3863 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
3864
3865         * a-exexpr.adb: Add comments
3866
3867 2004-05-03  Joel Brobecker  <brobecker@gnat.com>
3868
3869         * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
3870         declare the Ancestor_Tags array in Type_Specific_Data with a small size
3871         without risking a bounds check error when accessing one of its
3872         components.
3873         (Type_Specific_Data): Define Ancestor_Tags as a small array.
3874         This prevents us from hitting a limitation during the debug info
3875         generation when using stabs.
3876
3877         * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
3878         small array.
3879         This prevents us from hitting a limitation during the debug info
3880         generation when using stabs.
3881
3882 2004-05-03  Eric Botcazou  <ebotcazou@act-europe.fr>
3883
3884         lang-specs.h: Remove -gnatz* from specs.
3885
3886 2004-05-03  Vincent Celier  <celier@gnat.com>
3887
3888         * gprmake.adb, makegpr.ads, makegpr.adb: New files.
3889
3890         * Make-lang.in, Makefile.in: Add gprmake
3891
3892 2004-05-03  Thomas Quinot  <quinot@act-europe.fr>
3893
3894         * sem_aggr.adb: Fix typo in comment.
3895
3896 2004-05-03  Robert Dewar  <dewar@gnat.com>
3897
3898         * make.adb: Minor reformatting
3899
3900         * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
3901
3902         * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
3903         so that it works when address is not a private type.
3904
3905         * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
3906         properly with rewritten unchecked conversions. This prevents
3907         order-of-elaboration issues that can otherwise arise.
3908         (Minimum_Size): Don't check size of access types under VMS
3909
3910         * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
3911         interpretations of integer literals as type System.Address.
3912
3913         * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
3914         (Is_Descendent_Of): New function
3915
3916 2004-05-03  Jose Ruiz  <ruiz@act-europe.fr>
3917
3918         * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
3919         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
3920         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
3921
3922         * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
3923         of the old Max_Entry_Queue_Depth.
3924
3925         * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
3926         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
3927         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
3928
3929         * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
3930         New entry for proper handling of Max_Entry_Queue_Depth.
3931         New entry for proper handling of No_Dynamic_Interrupts.
3932
3933         * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
3934         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
3935         Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
3936         the GNAT specific restriction Max_Entry_Queue_Depth.
3937         Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
3938         the GNAT specific restriction No_Dynamic_Interrupts.
3939
3940         * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
3941         instead of the old Boolean_Entry_Barriers.
3942         Use the new restriction No_Dynamic_Attachment instead of the old
3943         No_Dynamic_Interrupts.
3944
3945         * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
3946         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
3947
3948         * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
3949         of the old Max_Entry_Queue_Depth.
3950
3951 2004-05-03  GNAT Script  <nobody@gnat.com>
3952
3953         * Make-lang.in: Makefile automatically updated
3954
3955 2004-04-29  Ed Schonberg  <schonberg@gnat.com>
3956
3957         * checks.adb (Enable_Range_Check): If the prefix of an index component
3958         is an access to an unconstrained array, perform check unconditionally.
3959
3960 2004-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3961
3962         * decl.c (gnat_to_gnu_field): Also call make_packable_type if
3963         Component_Clause.
3964
3965 2004-04-29  Olivier Hainque  <hainque@act-europe.fr>
3966
3967         * init.c (__gnat_install_handler, __gnat_error_handler): Remove
3968         alternate stack setting. There was no support for the tasking cases
3969         and the changes eventually caused a number of side-effect failures in
3970         the non-tasking case too.
3971
3972 2004-04-29  Eric Botcazou  <ebotcazou@act-europe.fr>
3973
3974         lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
3975         -gnats is passed.
3976
3977 2004-04-29  Vincent Celier  <celier@gnat.com>
3978
3979         * make.adb (Gnatmake): Increase max size of argument array for
3980         gnatbind for the potential addition of -F.
3981         If there are Stand-Alone Library projects, invoke gnatbind with -F to
3982         be sure that elaboration flags will be checked.
3983
3984         * switch-c.adb: Correct call to Scan_Pos for -gnateI
3985
3986 2004-04-29  Thomas Quinot  <quinot@act-europe.fr>
3987
3988         * sem_warn.adb (Check_References): Move '<access-variable> may be
3989         null' warning out of under Warn_On_No_Value_Assigned.
3990
3991 2004-04-29  Ed Falis  <falis@gnat.com>
3992
3993         * gnat_ugn.texi: Fixed texi error
3994
3995 2004-04-29  Robert Dewar  <dewar@gnat.com>
3996
3997         * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
3998         abstract operations if they come from predefined files.
3999
4000         * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
4001         Dynamic, not RM).
4002
4003         * s-addope.adb: Correct obvious error in mod function
4004
4005 2004-04-28  Andrew W. Reynolds  <awreynolds@mac.com>
4006
4007         * Makefile.in: Add target pairs for powerpc darwin*
4008         tasking support.
4009
4010         * a-intnam-darwin.ads, s-osinte-darwin.adb,
4011         s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
4012
4013 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
4014
4015         * Makefile.in: Add target macro definitions for s390*-linux*.
4016         * system-linux-s390.ads: New file.
4017         * system-linux-s390x.ads: New file.
4018
4019 2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
4020
4021         * gnat_ugn.texi: Correct argument to @setfilename.
4022
4023 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
4024
4025         * a-exexpr.adb (Unwind_Word): New data type.
4026         (Unwind_Exception): Use it as type of Private1 and Private2.
4027
4028         * raise.c (db_action_for): Fix debug printf.
4029
4030 2004-04-27  Ed Schonberg  <schonberg@gnat.com>
4031
4032         * a-wtmoio.ads: Formal type must be a modular type, not a signed
4033         integer type.
4034
4035 2004-04-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4036
4037         * decl.c (gnat_to_gnu_entity, case object): Call
4038         __builtin_update_setjmp_buf.
4039
4040         * gigi.h (update_setjmp_buf): Deleted.
4041         (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
4042
4043         * misc.c: (update_setjmp_buf): Deleted.
4044
4045         * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
4046         around block of RTL.
4047
4048         * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
4049
4050 2004-04-26  Thomas Quinot  <quinot@act-europe.fr>
4051
4052         * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
4053         subprogram for which no pragma All_Calls_Remote applies, store the
4054         address of the real subprogram in the underlying record type, so local
4055         dereferences do not go through the PCS.
4056
4057 2004-04-26  Robert Dewar  <dewar@gnat.com>
4058
4059         * i-c.ads: Add some type qualifications to avoid ambiguities when
4060         compiling with s-auxdec.ads and a non-private address type.
4061
4062 2004-04-26  Arnaud Charlet  <charlet@act-europe.fr>
4063
4064         * Makefile.rtl: Fix error in previous check-in:
4065         Add s-addope.o to non tasking object list (rather than tasking object
4066         list).
4067
4068 2004-04-26  Javier Miranda  <miranda@gnat.com>
4069
4070         * sem_aggr.adb: Fix typo in comments
4071         (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
4072         Required to check the null-exclusion attribute.
4073
4074         * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
4075         case of anonymous access types in record and array components. For a
4076         component definition the level is the same of the enclosing composite
4077         type.
4078
4079         * sem_ch3.adb (Analyze_Component_Declaration): In case of components
4080         that are anonymous access types the level of accessibility depends on
4081         the enclosing type declaration. In order to have this information, set
4082         the scope of the anonymous access type to the enclosing record type
4083         declaration.
4084         (Array_Type_Declaration): In case of components that are anonymous
4085         access types the level of accessibility depends on the enclosing type
4086         declaration. In order to have this information, set the scope of the
4087         anonymous access type to the enclosing array type declaration.
4088
4089         * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
4090         access type.
4091
4092         * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
4093         renaming of anonymous access-to-constant types allowed if and only if
4094         the renamed object is access-to-constant.
4095
4096         * sem_util.adb (Type_Access_Level): In case of anonymous access types
4097         that are component_definition or discriminants of a nonlimited type,
4098         the level is the same as that of the enclosing component type.
4099
4100 2004-04-26  Sergey Rybin  <rybin@act-europe.fr>
4101
4102         * sem_elim.adb: Some minor code reorganization from code reading. Fix
4103         misprint in the function name (File_Name_Match).
4104
4105 2004-04-23  Laurent GUERBY <laurent@guerby.net>
4106
4107         * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
4108         install.
4109
4110 2004-04-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4111
4112         * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
4113
4114 2004-04-23  Emmanuel Briot  <briot@act-europe.fr>
4115
4116         * adaint.c (__gnat_try_lock): No longer requires that the parent
4117         directory be writable, the directory itself is enough.
4118         (gnat_is_absolute_path): Change profile, so that the call from
4119         GNAT.OS_Lib can be made more efficient.
4120
4121         * adaint.h (gnat_is_absolute_path): Change profile, so that the call
4122         from GNAT.OS_Lib can be made more efficient.
4123
4124         * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
4125         one copy of the file name. Found by code reading.
4126
4127 2004-04-23  Vincent Celier  <celier@gnat.com>
4128
4129         * gnat_ugn.texi: Add documentation for gnatmake switch -eL
4130         Correct documentation on gnatmake switches transmitted to the compiler
4131
4132         * ali.ads: Minor comment fix
4133
4134 2004-04-23  Javier Miranda  <miranda@gnat.com>
4135
4136         * sem_ch6.adb: (Confirming Types): Code cleanup
4137
4138         * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
4139         subprogram types: E_Anonymous_Access_Subprogram_Type and
4140         E_Anonymous_Access_Protected_Subprogram_Type.
4141
4142 2004-04-23  Thomas Quinot  <quinot@act-europe.fr>
4143
4144         * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
4145         whether a pragma All_Calls_Remote applies to the subprogram on which
4146         'Access is taken.
4147         No functional change is introduced by this revision; the new parameter
4148         will be used to allow calls to local RCI subprograms to be optimized
4149         to not use the PCS in the case where no pragma All_Calls_Remote applies,
4150         as is already done in the PolyORB implementation of the DSA.
4151
4152         * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
4153         whether a pragma All_Calls_Remote applies to the subprogram on which
4154         'Access is taken.
4155         No functional change is introduced by this revision; the new parameter
4156         will be used to allow calls to local RCI subprograms to be optimized
4157         to not use the PCS in the case where no pragma All_Calls_Remote applies,
4158         as is already done in the PolyORB implementation of the DSA.
4159
4160 2004-04-23  Robert Dewar  <dewar@gnat.com>
4161
4162         * Makefile.rtl: Add entry for s-addope.o in run time library list
4163         * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
4164         * s-addope.ads, s-addope.adb: New files.
4165
4166         * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
4167         s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
4168         s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
4169         System.Address to be non-private and signed.
4170
4171         * sem_elim.adb: Minor reformatting (fairly extensive)
4172         Some minor code reorganization from code reading
4173         Add a couple of ??? comments
4174
4175 2004-04-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4176
4177         * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
4178         (tree_transform, case N_If_Statement): Remove non-determinism.
4179
4180         * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
4181
4182 2004-04-23  Sergey Rybin  <rybin@act-europe.fr>
4183
4184         * gnat_rm.texi: Small fixes in the changes made in the 'pragma
4185         Eliminate' section.
4186
4187         * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
4188         no longer used as a parameter name for Eliminate pragma).
4189
4190 2004-04-22  Laurent GUERBY <laurent@guerby.net>
4191
4192         PR optimization/14984
4193         PR optimization/14985
4194         * trans.c (gigi): Fix non determinism leading to bootstrap
4195         comparison failures.
4196
4197 2004-04-21  Pascal Obry  <obry@gnat.com>
4198
4199         * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
4200         passed to spawnvp() to properly handle program pathname with spaces on
4201         Win32.
4202
4203 2004-04-21  Emmanuel Briot  <briot@act-europe.fr>
4204
4205         * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
4206         (Allocate, Deallocate, Free_Physically): Make sure the tasks are
4207         unlocked in case of exceptions.
4208
4209 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
4210
4211         * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
4212         This function does not exist anymore.
4213
4214 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
4215
4216         * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
4217
4218         * link.c: Move variables to the __gnat name space.
4219
4220         * Makefile.in: list link.o explicitly when needed.
4221
4222         * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
4223
4224 2004-04-21  Javier Miranda  <miranda@gnat.com>
4225
4226         * einfo.adb (Original_Access_Type): New subprogram
4227         (Set_Original_Access_Type): New subprogram
4228         (Write_Field21_Name): Write the name of the new field
4229
4230         * einfo.ads (Original_Access_Type): New field present in access to
4231         subprogram types.
4232         Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
4233         E_Anonymous_Access_Protected_Subprogram_Type.
4234
4235         * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
4236         subprogram types.
4237
4238         * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
4239         to anonymous access to subprogram types.
4240
4241         * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
4242         to subprogram types.
4243
4244         * sem_ch3.adb (Access_Definition): Complete decoration of entities
4245         corresponding to anonymous access to subprogram types.
4246         (Analyze_Component_Declaration): Add new actual to the call to
4247         subprogram replace_anonymous_access_to_protected_subprogram.
4248         (Array_Type_Declaration): Add new actual to the call to subprogram
4249         replace_anonymous_access_to_protected_subprogram.
4250         (Process_Discriminants): Add new actual to the call to subprogram
4251         replace_anonymous_access_to_protected_subprogram.
4252         (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
4253
4254         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
4255         formal.
4256
4257         * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
4258         access to subprogram types.
4259
4260         * sem_util.adb (Has_Declarations): Addition of package_specification
4261         nodes.
4262
4263 2004-04-21  Ed Schonberg  <schonberg@gnat.com>
4264
4265         * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
4266         inlined flags to renamed entity only if in current unit.
4267
4268 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
4269
4270         * s-parint.ads: Add DSA implementation marker.
4271
4272         * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
4273         value of System.Partition_Interface.DSA_Implementation to determine
4274         what version of the distributed systems annex is available (no
4275         implementation, GLADE, or PolyORB).
4276
4277 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
4278
4279         * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
4280
4281 2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4282
4283         * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
4284         with new type if alias sets differ.
4285         Fixes ACATS c41103b.
4286
4287 2004-04-21  Vincent Celier  <celier@gnat.com>
4288
4289         * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
4290         Add array Lang_Args for the language specific compiling argument
4291         switches.
4292
4293         * gnat_ugn.texi: Explain in more details when a library is rebuilt.
4294
4295 2004-04-21  Sergey Rybin  <rybin@act-europe.fr>
4296
4297         * gnat_rm.texi: Update the descripton of the Eliminate pragma
4298         according to the recent changes in the format of the parameters of the
4299         pragma (replacing Homonym_Number with Source_Location).
4300
4301 2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>
4302
4303         * 5isystem.ads: Removed, unused.
4304
4305         * gnat_rm.texi: Redo 1.13 change.
4306
4307 2004-04-19  Robert Dewar  <dewar@gnat.com>
4308
4309         * s-stoele.ads: Clean up definition of Storage_Offset (the new
4310         definition is cleaner, avoids the kludge of explicit Standard operator
4311         references, and also is consistent with a visible System.Address with
4312         no visible operations.
4313
4314         * s-geveop.adb: Add declarations to avoid assumption of visible
4315         operations on type System.Address (since these might not be available
4316         if Address is a non-private type for which the operations
4317         are made abstract).
4318
4319         * sem_eval.adb: Minor reformatting
4320
4321         * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
4322         s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
4323         reformatting (new function spec format).
4324
4325         * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
4326         s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
4327         s-caun64.adb: Add declarations to avoid assumption of visible
4328         operations on type System.Address (since these might not be available
4329         if Address is a non-private type for which the operations are made
4330         abstract).
4331
4332         * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
4333
4334         * exp_intr.adb: Minor comment update
4335
4336         * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
4337
4338         * 5omastop.adb: Add declarations to avoid assumption of visible
4339         operations on type System.Address (since these might not be available
4340         if Address is a non-private type for which the operations
4341         are made abstract).
4342
4343 2004-04-19  Vincent Celier  <celier@gnat.com>
4344
4345         * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
4346
4347         * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
4348         defaulted to Ada.
4349
4350         * prj-proc.adb (Process): New Boolean parameter Process_Languages,
4351         defaulted to Ada.
4352         Call Check with Process_Languages.
4353         (Check): New Boolean parameter Process_Languages. Call Recursive_Check
4354         with Process_Languages.
4355         (Recursive_Check): New Boolean parameter Process_Languages. Call
4356         Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
4357         Process_Languages.
4358
4359         * prj-proc.ads (Process): New Boolean parameter Process_Languages,
4360
4361         * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
4362         parameter Ada_Main, defaulted to True.
4363         Check for Ada specific characteristics only when Ada_Main is True.
4364
4365         * opt.ads: (Follow_Links): New Boolean flag for gnatmake
4366
4367         * prj.adb: (Project_Empty): Add new Project_Data components.
4368
4369         * prj.ads: New types and tables for non Ada languages.
4370         (Project_Data): New components Languages, Impl_Suffixes,
4371         First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
4372         Include_Path, Include_Data_Set.
4373
4374         * prj-env.ads, prj-env.adb: Minor reformatting
4375
4376         * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
4377         Put subprograms in alphabetical order
4378
4379         * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
4380         defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
4381         Opt.Follow_Links.
4382
4383         * mlib-prj.adb: Back out modification in last version, as they are
4384         incorrect.
4385         (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
4386
4387         * make.adb: (Mains): Moved to package Makeutl
4388         (Linker_Opts): Moved to package Makeutl
4389         (Is_External_Assignment): Moved to package Makeutl
4390         (Test_If_Relative_Path): Moved to package Makeutl
4391         (Gnatmake): Move sorting of linker options to function
4392         Makeutl.Linker_Options_Switches.
4393
4394         * makeutl.ads, makeutl.adb: New files.
4395
4396         * Makefile.in: Add makeutl.o to the object files for gnatmake
4397
4398         * makeusg.adb: Add line for new switch -eL.
4399
4400         * gnatls.adb (Image): New function.
4401         (Output_Unit): If in verbose mode, output the list of restrictions
4402         specified by pragmas Restrictions.
4403
4404         * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
4405         Text_IO.
4406
4407         * a-calend.adb (Split): Shift the date by multiple of 56 years, if
4408         needed, to put it in the range 1970 (included) - 2026 (excluded).
4409         (Time_Of): Do not shift Unix_Min_Year (1970).
4410         Shift the date by multiple of 56 years, if needed, to put it in the
4411         range 1970 (included) - 2026 (excluded).
4412
4413         * adaint.h, adaint.c (__gnat_set_executable): New function.
4414
4415 2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4416
4417         * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
4418         and pop GC context.
4419         (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
4420         (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
4421         (tree_transform, case N_Procedure_Call_Statement): Build a tree.
4422         (tree_transform, case N_Code_Statement): Likewise.
4423         (gnat_expand_stmt, case LABEL_STMT): Don't look at
4424         LABEL_STMT_FIRST_IN_EH.
4425         (gnat_expand_stmt, case ASM_STMT): New case.
4426
4427         * utils2.c (build_unary_op): Properly set TREE_READONLY of
4428         UNCONSTRAINED_ARRAY_REF.
4429
4430         * utils.c (poplevel): Temporarily push/pop GC context around inline
4431         function expansion.
4432
4433         * decl.c (maybe_variable): Properly set TREE_READONLY of
4434         UNCONSTRAINED_ARRAY_REF.
4435         (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
4436
4437         * ada-tree.def: (ASM_STMT): New.
4438
4439         * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
4440         (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
4441         ASM_STMT_INPUT): New.
4442         (ASM_STMT_CLOBBER): Likewise.
4443
4444 2004-04-19  Thomas Quinot  <quinot@act-europe.fr>
4445
4446         * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
4447         general rcheck mechanism to raise Program_Error for E.4(18), instead
4448         of a custom raiser in System.Partition_Interface.
4449         Part of general cleanup work before PolyORB integration.
4450
4451         * snames.ads, snames.adb: Add new runtime library entities and names
4452         for PolyORB DSA.
4453
4454         * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
4455         exp_dist.
4456         (Build_Subprogram_Id): New subprogram provided by exp_dist
4457         Code reorganisation in preparation for PolyORB integration.
4458
4459         * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
4460         exp_dist.
4461         (Build_Subprogram_Id): New subprogram provided by exp_dist
4462
4463         * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
4464         actual parameter types for call to dereference of an
4465         access-to-subprogram type.
4466
4467         * rtsfind.ads: Add new runtime library entities and names for PolyORB
4468         DSA.
4469
4470         * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
4471         instead, which has the same behaviour here since we never pass it a
4472         NULL pointer.
4473
4474         * link.c (run_path_option, Solaris case): Use -Wl, as for other
4475         platforms.
4476
4477         * Makefile.in: adjust object file lists for gnatlink and gnatmake
4478         to account for new dependency upon Interfaces.C.Strings + link.o
4479         For x86 FreeBSD, use 86numaux.
4480
4481         * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
4482         from Mlib.Tgt to Mlib.
4483
4484         * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
4485         target-independent.
4486
4487         * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
4488         target-specific versions of this subprogram, now implemented as a
4489         target-independent function in Mlib.
4490
4491         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
4492         5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
4493         (Linker_Library_Path_Option): Remove target-specific versions of this
4494         subprogram, now implemented as a target-independent function in Mlib.
4495
4496         * atree.adb: (Allocate_Initialize_Node): New subprogram.
4497         Factors out node table slots allocation.
4498         (Fix_Parents): New subprogram.
4499         Encapsulate the pattern of fixing up parent pointers for syntactic
4500         children of a rewritten node.
4501         (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
4502         (Rewrite): Use New_Copy when creating saved copy of original node.
4503         (Replace): Use Copy_Node to copy nodes.
4504
4505 2004-04-19  Javier Miranda  <miranda@gnat.com>
4506
4507         * sprint.adb (Sprint_Node_Actual): Give support to the new
4508         Access_To_Subprogram node available in Access_Definition nodes. In
4509         addition, give support to the AI-231 node fields: null-exclusion,
4510         all-present, constant-present.
4511
4512         * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
4513
4514         * sinfo.ads, sinfo.adb:
4515         New field Access_To_Subprogram_Definition in Access_Definition nodes
4516
4517         * sem_ch6.adb (Process_Formals): Move here the code that creates and
4518         decorates internal subtype declaration corresponding to the
4519         null-excluding formal. This code was previously in Set_Actual_Subtypes.
4520         In addition, carry out some code cleanup on this code. In case of
4521         access to protected subprogram call
4522         Replace_Anonymous_Access_To_Protected_Subprogram.
4523         (Set_Actual_Subtypes): Code cleanup.
4524
4525         * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
4526         Find_Type in case of anonymous access renamings. Add warning in case of
4527         null-excluding attribute used in anonymous access renaming.
4528
4529         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
4530         subprogram
4531
4532         * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
4533         subprogram.
4534         (Access_Definition): In case of anonymous access to subprograms call
4535         the corresponding semantic routine to decorate the node.
4536         (Access_Subprogram_Declaration): Addition of some comments indicating
4537         some code that probably should be added here. Detected by comparison
4538         with the access_definition subprogram.
4539         (Analyze_Component_Declaration): In case of access to protected
4540         subprogram call Replace_Anonymous_Access_To_Protected.
4541         (Array_Type_Declaration): In case of access to protected subprogram call
4542         Replace_Anonymous_Access_To_Protected_Subprogram.
4543         (Process_Discriminants): In case of access to protected subprogram call
4544         Replace_Anonymous_Access_To_Protected_Subprogram.
4545
4546         * par.adb (P_Access_Definition): New formal that indicates if the
4547         null-exclusion part was present.
4548         (P_Access_Type_Definition): New formal that indicates if the caller has
4549         already parsed the null-excluding part.
4550
4551         * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
4552         (P_Identifier_Declarations): Code cleanup and give support to renamings
4553         of anonymous access to subprogram types.
4554         (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
4555         (P_Array_Type_Definition): Give support to AI-254.
4556         (P_Component_Items): Give support to AI-254.
4557         (P_Access_Definition): New formal that indicates if the header was
4558         already parsed by the caller.
4559         (P_Access_Type_Definition): New formal that indicates if the caller has
4560         already parsed the null-excluding part.
4561
4562         * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
4563         call to P_Access_Definition.
4564
4565 2004-04-19  Geert Bosch  <bosch@gnat.com>
4566
4567         * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
4568         the delicate semantics of floating-point to integer conversion.
4569         (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
4570
4571         * eval_fat.adb (Machine_Mantissa): Moved to spec.
4572         (Machine_Radix): New function.
4573
4574         * eval_fat.ads (Machine_Mantissa): Moved from body for use in
4575         conversion checks.
4576         (Machine_Radix): New function also for use in conversion checks.
4577
4578 2004-04-19  Ed Schonberg  <schonberg@gnat.com>
4579
4580         * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
4581
4582         * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
4583         to decorate the access-to-protected subprogram and the equivalent type.
4584
4585         * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
4586         to anonymous access to subprogram types.
4587
4588         * exp_ch4.adb (Expand_N_In): Preserve Static flag before
4589         constant-folding, for legality checks in contexts that require an RM
4590         static expression.
4591
4592         * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
4593         temporary but stack checking is not enabled, increment serial number
4594         to so that symbol generation is consistent with and without stack
4595         checking.
4596
4597         * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
4598         independent on whether stack checking is enabled, caller must check
4599         the corresponding flag.
4600
4601         * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
4602         range checks.
4603         (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
4604         parent if it has discriminants.
4605         (Build_Derived_Private_Type): Constructed full view does
4606         not come from source.
4607         (Process_Discriminants): Default discriminants on a tagged type are
4608         legal if this is the internal completion of a private untagged
4609         derivation.
4610
4611         * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
4612         no constraint checks, because it corresponds to an existing object.
4613
4614         * sem_prag.adb (Process_Convention): Pragma applies
4615         only to subprograms in the same declarative part, i.e. the same unit,
4616         not the same scope.
4617
4618         * sem_res.adb (Valid_Conversion): In an instance or inlined body,
4619         ignore type mismatch on a numeric conversion if expression comes from
4620         expansion.
4621
4622 2004-04-19  Sergey Rybin  <rybin@act-europe.fr>
4623
4624         * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
4625         Homonym_Number parameter, add processing for Source_Location parameter
4626         corresponding.
4627         (Check_Eliminated): Remove the check for homonym numbers, add the check
4628         for source location traces.
4629
4630         * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
4631         with Arg_Source_Location corresponding to the changes in the format of
4632         the pragma.
4633
4634         * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
4635         Eliminate pragma corresponding to the changes in the format of the
4636         pragma: Homonym_Number is replaced with Source_Location, two ways of
4637         distinguishing homonyms are mutially-exclusive.
4638
4639 2004-04-19  Joel Brobecker  <brobecker@gnat.com>
4640
4641         * get_targ.ads (Get_No_Dollar_In_Label): Remove.
4642
4643         * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
4644         No_Dollar_In_Label, no longer necessary, as it is always True.
4645         (Strip_Suffixes): Likewise.
4646
4647 2004-04-19  Gary Dismukes  <dismukes@gnat.com>
4648
4649         * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
4650         modulus for compatibility with size clause on targets with 16-bit
4651         Integer.
4652
4653         * layout.adb (Discrimify): In the case of private types, set Vtyp to
4654         full type to fix type mismatches on calls to size functions for
4655         discriminant-dependent array components.
4656
4657 2004-04-19  Jerome Guitton  <guitton@act-europe.fr>
4658
4659         * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
4660         lib.
4661
4662 2004-04-19  Pascal Obry  <obry@gnat.com>
4663
4664         * mdll-utl.adb (Locate): New version is idempotent.
4665
4666 2004-04-17  Laurent Guerby <laurent@guerby.net>
4667
4668         PR ada/14988 (partial)
4669         * impunit.adb: Fix typo.
4670
4671 2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
4672
4673         * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
4674         and install-rts-cert targets.  Remove all gnatlib and gnattools
4675         targets and all other rts-* targets (moved to libada).  Remove (now)
4676         unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
4677         TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
4678
4679 2004-04-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4680
4681         * trans.c (tree_transform): Shortcut returning error_mark_node for
4682         statements in annotate_only_mode.
4683         (tree_transform, case N_Label, case N_Return_Statement,
4684         N_Goto_Statement): Make statement tree instead of generating code.
4685         (tree_transform, case N_Assignment_Statement): No longer check
4686         type_annotate_only.
4687         (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
4688         RETURN_STMT): New.
4689         (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
4690         New fcns.
4691         (gnat_to_gnu): Collect any RTL generated and deal with it.
4692         (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
4693         (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
4694         (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
4695
4696         * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
4697
4698         * ada-tree.def (EXPR_STMT): Fix typo in name.
4699         (BLOCK_STMT, IF_STMT): New nodes.
4700
4701         * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
4702         LABEL_STMT_FIRST_IN_EH): New macros.
4703         (RETURN_STMT_EXPR): Likewise.
4704
4705         * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
4706         IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
4707
4708 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
4709
4710         * atree.ads: Correct documentation on extended nodes.
4711
4712         * link.c: Set run_path_option for FreeBSD.
4713
4714 2004-04-08  Vincent Celier  <celier@gnat.com>
4715
4716         * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
4717         one of the ALI file, do not link with DEC lib.
4718
4719         * par.adb Remove the last two characters ("%s" or "%b") when checking
4720         if a language defined unit may be recompiled.
4721
4722 2004-04-08  Ed Schonberg  <schonberg@gnat.com>
4723
4724         * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
4725         removal of abstract operation leaves no possible interpretation for
4726         expression.
4727
4728         * sem_eval.adb (Eval_Qualified_Expression): Use
4729         Set_Raises_Constraint_Error on node when needed, so that it does not
4730         get optimized away by subsequent optimizations.
4731
4732         * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
4733         operands even when they are not wrapped in a type conversion.
4734
4735 2004-04-08  Olivier Hainque  <hainque@act-europe.fr>
4736
4737         * sem_prag.adb (Set_Exported): Warn about making static as result of
4738         export only when the export is coming from source. This may be not
4739         be true e.g. on VMS where we expand export pragmas for exception codes
4740         together with imported or exported exceptions, and we don't want the
4741         user to be warned about something he didn't write.
4742
4743 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
4744
4745         * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
4746         duplication between normal entities and those declared as renamings.
4747         No functional change.
4748
4749         * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
4750         inline functions returning an unconstrained result.
4751
4752 2004-04-08  Eric Botcazou  <ebotcazou@act-europe.fr>
4753
4754         * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
4755         conform to what other front-ends do.
4756
4757 2004-04-08  Doug Rupp  <rupp@gnat.com>
4758
4759         * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
4760         libraries.
4761
4762 2004-04-06  Pascal Obry  <obry@gnat.com>
4763
4764         * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
4765
4766         * osint.adb (Program_Name): Do not look past a directory separator.
4767
4768 2004-04-06  Thomas Quinot  <quinot@act-europe.fr>
4769
4770         * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
4771
4772         * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
4773         requirement for preserving a copy of the original assignment node.
4774
4775         * sinfo.ads: Update comment (Original_Tree -> Original_Node).
4776
4777 2004-04-06  Olivier Hainque  <hainque@act-europe.fr>
4778
4779         (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
4780         when supported.
4781
4782 2004-04-06  Ed Schonberg  <schonberg@gnat.com>
4783
4784         * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
4785         operator calls in functional notation, and apply
4786         Universal_Interpretation to operands, not to their type.
4787
4788 2004-04-06  Robert Dewar  <dewar@gnat.com>
4789
4790         * 5wdirval.adb: Minor reformatting
4791
4792 2004-04-06  Ed Falis  <falis@gnat.com>
4793
4794         * gnat_rm.texi: Improve a reference to the GCC manual
4795
4796 2004-04-05  Vincent Celier  <celier@gnat.com>
4797
4798         * adaint.h, adaint.c: Add function __gnat_named_file_length
4799
4800         * impunit.adb: Add Ada.Directories to the list
4801
4802         * Makefile.in: Add VMS and Windows versions of
4803         Ada.Directories.Validity package body.
4804
4805         * Makefile.rtl: Add a-direct and a-dirval
4806
4807         * mlib-tgt.ads: Minor comment update.
4808
4809         * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
4810         a-direct.ads, a-direct.adb: New files.
4811
4812 2004-04-05  Vincent Celier  <celier@gnat.com>
4813
4814         PR ada/13620
4815         * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
4816         just to the compiler.
4817
4818 2004-04-05  Robert Dewar  <dewar@gnat.com>
4819
4820         * a-except.adb (Exception_Name_Simple): Make sure lower bound of
4821         returned string is 1.
4822
4823         * ali-util.adb: Use proper specific form for Warnings (Off, entity)
4824
4825         * eval_fat.ads: Minor reformatting
4826
4827         * g-curexc.ads: Document that lower bound of returned string values
4828         is always one.
4829
4830         * gnatlink.adb: Add ??? comment for previous change
4831         (need to document why this is VMS specific)
4832
4833         * s-stoele.ads: Minor reformatting
4834
4835         * tbuild.ads: Minor reformatting throughout (new function specs)
4836
4837         * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
4838         after WITH.
4839
4840         * scng.adb: Minor reformatting
4841
4842 2004-04-05  Geert Bosch  <bosch@gnat.com>
4843
4844         * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
4845         (Leading_Part): Still perform truncation to machine number if the
4846         specified radix_digits is greater or equal to machine_mantissa.
4847
4848 2004-04-05  Javier Miranda  <miranda@gnat.com>
4849
4850         * par-ch3.adb: Complete documentation of previous change
4851         Correct wrong syntax documentation of the OBJECT_DECLARATION rule
4852         (aliased must appear before constant).
4853
4854         * par-ch4.adb: Complete documentation of previous change.
4855
4856         * par-ch6.adb: Complete documentation of previous change.
4857
4858         * sinfo.ads: Fix typo in commment.
4859
4860 2004-04-05  Ed Schonberg  <schonberg@gnat.com>
4861
4862         * sem_ch3.adb (Inherit_Components): If derived type is private and has
4863         stored discriminants, use its discriminants to constrain parent type,
4864         as is done for non-private derived record types.
4865
4866         * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
4867         Ada 2005 AI-310: an abstract non-dispatching operation is not a
4868         candidate interpretation in an overloaded call.
4869
4870         * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
4871         expression is Null and target type is not an access type (e.g. a
4872         non-private address type).
4873
4874 2004-04-05  Thomas Quinot  <quinot@act-europe.fr>
4875
4876         * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
4877         statement whose right-hand side is an inlined call, save a copy of the
4878         original assignment subtree to preserve enough consistency for
4879         Analyze_Assignment to proceed.
4880
4881         * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
4882         complete assignment subtree which is now unnecessary, as the expansion
4883         of inlined call has been improved to preserve a consistent assignment
4884         tree.  Note_Possible_Modification must be called only
4885         after checks have been applied, or else unnecessary checks will
4886         be generated.
4887
4888         * sem_util.adb (Note_Possible_Modification): Reorganise the handling
4889         of explicit dereferences that do not Come_From_Source:
4890          - be selective on cases where we must go back to the dereferenced
4891            pointer (an assignment to an implicit dereference must not be
4892            recorded as modifying the pointer);
4893          - do not rely on Original_Node being present (Analyze_Assignment
4894            calls Note_Possible_Modification on a copied tree).
4895
4896         * sem_warn.adb (Check_References): When an unset reference to a pointer
4897         that is never assigned is encountered, prefer '<pointer> may be null'
4898         warning over '<pointer> is never assigned a value'.
4899
4900 2004-04-05  Ramon Fernandez  <fernandez@gnat.com>
4901
4902         * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
4903         the ABI.
4904
4905 2004-04-05  Olivier Hainque  <hainque@act-europe.fr>
4906
4907         * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
4908         libexc. We currently don't reference anything in this library and
4909         linking it in triggers linker warnings we don't want to see.
4910
4911         * init.c: Update comments.
4912
4913 2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4914
4915         * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
4916         * utils.c (create_field_decl): Likewise.
4917         * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
4918
4919 2004-04-02  Arnaud Charlet  <charlet@act-europe.fr>
4920
4921         * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
4922         Replace ifinfo by ifnottex, to make makeinfo --html happy again.
4923         Add info directory entry and category.
4924
4925 2004-04-02  Jan Hubicka  <jh@suse.cz>
4926
4927         * utils.c: Include function.h
4928         (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
4929
4930 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
4931
4932         PR ada/14150
4933         * Make-lang.in: Clean up generation of documentation
4934
4935         * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
4936
4937         * xgnatug.adb: Removed, replaced by xgnatugn.adb
4938
4939         * xgnatugn.adb: Replaces xgnatug.adb
4940
4941         * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
4942
4943         * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
4944
4945         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
4946         gnat_ug_wnt.texi: Removed.
4947
4948 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
4949
4950         * utils2.c: Update copyright notice.
4951
4952 2004-04-01  Robert Dewar  <dewar@gnat.com>
4953
4954         * checks.adb: Minor reformatting throughout
4955         Note that prev checkin added RM reference to alignment warning
4956
4957 2004-04-01  Ed Schonberg  <schonberg@gnat.com>
4958
4959         * exp_aggr.adb (Get_Component_Val): Treat a string literal as
4960         non-static when building aggregate for bit-packed array.
4961
4962         * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
4963         function call that is itself the actual in a procedure call, build
4964         temporary for it.
4965
4966         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
4967         a string literal, create a temporary for it, constant folding only
4968         handles scalars here.
4969
4970 2004-04-01  Vincent Celier  <celier@gnat.com>
4971
4972         * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
4973         Error_Msg_SP): New empty procedures to instantiate the Scanner.
4974         (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
4975         tokens.
4976         (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
4977         (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
4978         and get the checksum.
4979
4980         * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
4981         already in the Q.
4982         Increase the Marking_Label at the end of the Multiple_Main_Loop,
4983         instead of at the beginning.
4984
4985         * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
4986         directly.
4987         (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
4988         on VMS.
4989
4990         * osint.ads (Multi_Unit_Index_Character): New Character global variable
4991
4992         * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
4993         not '~' directly.
4994
4995         * par.adb: Remove test on file name to detect language defined units.
4996         Add test on unit name, after parsing, to detect language defined units
4997         that are not compiled with -gnatg (except System.RPC and its children)
4998
4999         * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
5000         following units without style checking.
5001
5002         * switch-c.adb: Change -gnatC to -gnateI
5003
5004         * usage.adb: Document new switch -gnateInnn
5005
5006         * scng.adb (Accumulate_Token_Checksum): New procedure
5007         (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
5008         word or literal number.
5009         (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
5010         numbers.
5011
5012 2004-04-01  Thomas Quinot  <quinot@act-europe.fr>
5013
5014         * a-tasatt.adb,
5015         g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
5016         switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
5017         5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
5018         5vtpopde.adb: Add missing 'constant' keywords.
5019
5020 2004-04-01  Javier Miranda  <miranda@gnat.com>
5021
5022         * par-ch4.adb: (P_Allocator): Code cleanup
5023
5024         * sem_ch3.adb (Access_Definition): Properly set the null-excluding
5025         attribute.
5026
5027         * sinfo.ads: Complete documentation of previous change
5028
5029 2004-04-01  Pascal Obry  <obry@gnat.com>
5030
5031         * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
5032         only on VMS.  This special handling was done because an old GNU/ld bug
5033         on Windows which has been fixed.
5034
5035 2004-04-01  GNAT Script  <nobody@gnat.com>
5036
5037         * Make-lang.in: Makefile automatically updated
5038
5039 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5040
5041         * decl.c (gnat_to_gnu_entity, make_type_from_size):
5042         Use TYPE_UNSIGNED, not TREE_UNSIGNED.
5043         * trans.c (tree_transform, convert_with_check): Likewise.
5044         * utils.c (gnat_signed_or_unsigned_type): Likewise.
5045         (build_vms_descriptor, unchecked_convert): Likewise.
5046         * utils2.c (nonbinary_modular_operation): Likewise.
5047
5048 2004-03-29  Javier Miranda  <miranda@gnat.com>
5049
5050         * checks.adb (Null_Exclusion_Static_Checks): New subprogram
5051         (Install_Null_Excluding_Check): Local subprogram that determines whether
5052         an access node requires a runtime access check and if so inserts the
5053         appropriate run-time check.
5054         (Apply_Access_Check): Call Install_Null_Excluding check if required
5055         (Apply_Constraint_Check): Call Install_Null_Excluding check if required
5056
5057         * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
5058
5059         * einfo.ads: Fix typo in comment
5060
5061         * exp_ch3.adb (Build_Assignment): Generate conversion to the
5062         null-excluding type to force the corresponding run-time check.
5063         (Expand_N_Object_Declaration): Generate conversion to the null-excluding
5064         type to force the corresponding run-time check.
5065
5066         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
5067         the null-excluding type to force the corresponding run-time check.
5068
5069         * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
5070         case of access types unless they have the null-excluding attribute.
5071
5072         * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
5073         part.
5074
5075         * exp_util.ads: Fix typo in comment
5076
5077         * par.adb (P_Null_Exclusion): New subprogram
5078         (P_Subtype_Indication): New formal that indicates if the null-excluding
5079         part has been scanned-out and it was present
5080
5081         * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
5082
5083         * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
5084         (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
5085         type to force the corresponding run-time check
5086         (Resolve_Aggregate): Propagate the null-excluding attribute to the array
5087         components
5088         (Resolve_Array_Aggregate): Carry out some static checks
5089         (Resolve_Record_Aggregate.Get_Value): Carry out some static check
5090
5091         * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
5092         attribute must be set only if specified by means of the null-excluding
5093         part. In addition, we must also propagate the access-constant attribute
5094         if present.
5095         (Access_Subprogram_Declaration, Access_Type_Declaration,
5096         Analyze_Component_Declaration, Analyze_Object_Declaration,
5097         Array_Type_Declaration, Process_Discriminants,
5098         Analyze_Subtype_Declaration): Propagate the null-excluding attribute
5099         and carry out some static checks.
5100         (Build_Derived_Access_Type): Set the null-excluding attribute
5101         (Derived_Type_Declaration, Process_Subtype): Carry out some static
5102         checks.
5103
5104         * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
5105
5106         * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
5107
5108         * sem_ch6.adb (Process_Formals): Carry out some static checks.
5109         (Set_Actual_Subtypes): Generate null-excluding subtype if the
5110         null-excluding part was present; it is not required to be done here in
5111         case of anonymous access types.
5112         (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
5113         value.
5114
5115         * sem_res.adb (Resolve_Actuals): Carry out some static check
5116         (Resolve_Null): Allow null in anonymous access
5117
5118         * sinfo.adb: New subprogram Null_Exclusion_Present
5119         All_Present and Constant_Present available on access_definition nodes
5120
5121         * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
5122         object_declaration, derived_type_definition, component_definition,
5123         discriminant_specification, access_to_object_definition,
5124         access_function_definition, allocator, access_procedure_definition,
5125         access_definition, parameter_specification, All_Present and
5126         Constant_Present flags available on access_definition nodes.
5127
5128 2004-03-29  Robert Dewar  <dewar@gnat.com>
5129
5130         * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
5131         gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
5132         opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
5133         par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
5134         sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
5135         sem_prag.adb: Updates to handle multiple units/file
5136
5137         * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
5138
5139         * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
5140         sem_util.adb: Minor reformatting
5141
5142         * sem_ch12.adb: Add comment for previous change
5143
5144 2004-03-29  Laurent Pautet  <pautet@act-europe.fr>
5145
5146         * osint.adb (Executable_Prefix): Set Exec_Name to the current
5147         executable name when not initialized. Otherwise, use its current value.
5148
5149         * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
5150         initialize it to another executable name than the current one. This
5151         allows to configure paths for an executable name (gnatmake) different
5152         from the current one (gnatdist).
5153
5154 2004-03-29  Ed Schonberg  <schonberg@gnat.com>
5155
5156         * exp_ch6.adb (Expand_Call): A call to a function declared in the
5157         current unit cannot be inlined if it appears in the body of a withed
5158         unit, to avoid order of elaboration problems in gigi.
5159
5160         * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
5161         information for protected (wrapper) operation as well, to simplify gdb
5162         use.
5163
5164         * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
5165         protected body, indicate that the entity for the generated spec comes
5166         from source, to ensure that references are properly generated for it.
5167         (Build_Body_To_Inline): Do not inline a function that returns a
5168         controlled type.
5169
5170         * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
5171         apply convention to homonyms that are declared explicitly.
5172
5173         * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
5174         that renames an equality operator and the operands are overloaded,
5175         resolve them with the declared formal types, before rewriting as an
5176         operator.
5177
5178 2004-03-29  GNAT Script  <nobody@gnat.com>
5179
5180         * Make-lang.in: Makefile automatically updated
5181
5182 2004-03-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
5183
5184         * memtrack.adb: Log realloc calls, which are treated as free followed
5185         by alloc.
5186
5187 2004-03-25  Vincent Celier  <celier@gnat.com>
5188
5189         * prj-makr.adb (Process_Directories): Detect when a file contains
5190         several units. Do not include such files in the config pragmas or
5191         in the naming scheme.
5192
5193         * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
5194         Resolve links only when not in Trusted_Mode.
5195         (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
5196         Do not resolve links for the display names.
5197
5198         * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
5199         resolve links when computing the display names.
5200
5201 2004-03-25  Thomas Quinot  <quinot@act-europe.fr>
5202
5203         * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
5204         attribute reference does not denote a subtype, it can be any
5205         expression that has a classwide type, potentially after an implicit
5206         dereference.  In particular, the prefix can be a view conversion for
5207         a classwide type (for which Is_Object_Reference holds), but it can
5208         also be a value conversion for an access-to-classwide type. In the
5209         latter case, there is an implicit dereference, and the original node
5210         for the prefix does not verify Is_Object_Reference.
5211
5212         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
5213         conversion of a discriminant-dependent component of a mutable object
5214         is one itself.
5215
5216 2004-03-25  Ed Schonberg  <schonberg@gnat.com>
5217
5218         * freeze.adb (Freeze_Entity): When an inherited subprogram is
5219         inherited, has convention C, and has unconstrained array parameters,
5220         place the corresponding warning on the derived type declaration rather
5221         than the original subprogram.
5222
5223         * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
5224         indication on renaming declaration, if formal has a box and actual
5225         is absent.
5226
5227         * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
5228         determine whether to generate an implicit or explicit reference to
5229         the renamed entity.
5230
5231         * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
5232         subprogram renaming comes from a defaulted formal subprogram in an
5233         instance.
5234
5235 2004-03-25  Gary Dismukes  <dismukes@gnat.com>
5236
5237         * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
5238         value expressions to ensure that calls within a component definition
5239         will be checked (since those are evaluated during the record type's
5240         elaboration).
5241
5242 2004-03-25  Arnaud Charlet  <charlet@act-europe.fr>
5243
5244         * s-tpobop.adb: Code clean up:
5245         (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
5246         code.
5247         (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
5248
5249 2004-03-25  Jose Ruiz  <ruiz@act-europe.fr>
5250
5251         * Makefile.in: Clean up in the ravenscar run time.
5252
5253 2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5254
5255         * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
5256         of No_Strict_Aliasing to build_pointer_type_for_mode.
5257         * utils.c (update_pointer_to): Walk pointer and ref chains.
5258
5259 2004-03-22  Cyrille Comar  <comar@act-europe.fr>
5260
5261         * ali.ads: Fix Comment about Dynamic_Elab.
5262
5263         * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
5264         Has_RACW, Is_Generic, etc.)
5265         (Output_Object, Gnatls): Take into account ALI files not attached to
5266         an object.
5267
5268 2004-03-22  Vincent Celier  <celier@gnat.com>
5269
5270         * gprep.adb: Change all String_Access to Name_Id
5271         (Is_ASCII_Letter): new function
5272         (Double_File_Name_Buffer): New procedure
5273         (Preprocess_Infile_Name): New procedure
5274         (Process_Files): New procedure
5275         (Gnatprep): Check if output and input are existing directories.
5276         Call Process_Files to do the real job.
5277
5278 2004-03-22  Robert Dewar  <dewar@gnat.com>
5279
5280         * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
5281         s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
5282
5283 2004-03-22  Sergey Rybin  <rybin@act-europe.fr>
5284
5285         * scn.adb (Contains): Add check for EOF, is needed for a degenerated
5286         case when the source contains only comments.
5287
5288 2004-03-22  Ed Schonberg  <schonberg@gnat.com>
5289
5290         * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
5291         declaration for a child subprogram body that acts as a spec, indicate
5292         that the entity in the declaration needs debugging information.
5293
5294         * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
5295         full view if the subtype is created for a constrained record component;
5296         gigi has enough information to construct the record, and there is no
5297         place in the tree for the declaration.
5298
5299         * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
5300         serial number for the dummy body that is built for analysis, to avoid
5301         inconsistencies in the generation of internal names when compiling
5302         with -gnatN.
5303
5304 2004-03-22  Thomas Quinot  <quinot@act-europe.fr>
5305
5306         * sem_util.adb (Is_Object_Reference): A view conversion denotes an
5307         object.
5308
5309 2004-03-22  GNAT Script  <nobody@gnat.com>
5310
5311         * Make-lang.in: Makefile automatically updated
5312
5313 2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5314
5315         * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
5316         * trans.c (tree_transform, emit_index_check): Likewise.
5317         * utils.c (build_template): Likewise.
5318         (max_size, convert): Remove handling of WITH_RECORD_EXPR.
5319         (maybe_unconstrained_array, unchecked_convert): Likewise.
5320         * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
5321         (build_unary_op): Likewise.
5322         (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
5323         (fill_vms_descriptor): Likewise.
5324         (build_call_alloc_dealloc): Likewise.
5325         ALIGN is unsigned.
5326         * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
5327
5328 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
5329
5330         PR other/14630
5331         * gnat_ug.texi: Add info directory category and entry.
5332         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
5333         gnat_ug_wnt.texi: Regenerate.
5334
5335 2004-03-19  Arnaud Charlet  <charlet@act-europe.fr>
5336
5337         * ada-tree.h: Update copyright notice.
5338         Minor reformatting.
5339
5340 2004-03-19  Olivier Hainque  <hainque@act-europe.fr>
5341
5342         * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
5343         as regular exception objects and not as mere integers representing the
5344         condition code.  The latter approach required some dynamics to mask off
5345         severity bits, which did not fit well into the GCC table based model.
5346         (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
5347         exception data objects. We don't it and it would conflict with the other
5348         external symbol we have to generate for such exceptions.
5349
5350         * trans.c (tree_transform, case N_Exception_Handler): Remove part of
5351         the special code for VMS exceptions, since these are now represented
5352         as regular exceptions objects.
5353
5354 2004-03-19 Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5355
5356         * decl.c (debug_no_type_hash): Remove.
5357         (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
5358         * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
5359
5360 2004-03-19  Laurent Guerby <laurent@guerby.net>
5361
5362         * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
5363         aggregate, allows bootstrap from 3.3 on powerpc-darwin.
5364
5365 2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5366
5367         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
5368         (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
5369         (TYPE_RM_SIZE_INT): Directly use type.values.
5370         (TREE_LOOP_ID): Clean up check.
5371         * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
5372         TYPE_VALUES, not TYPE_FIELDS.
5373         * trans.c (convert_with_check): Delay access of bounds of basetype
5374         until sure is numeric.
5375
5376 2004-03-18  Arnaud Charlet  <charlet@act-europe.fr>
5377
5378         * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
5379
5380         Code clean up:
5381         * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
5382         5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
5383         Specific.Set instead of direct call to e.g pthread_setspecific.
5384
5385 2004-03-18  Thomas Quinot  <quinot@act-europe.fr>
5386
5387         * adaint.c: Update comments.
5388
5389         * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
5390         GNATLIB_SHARED for FreeBSD.
5391
5392 2004-03-18  Jose Ruiz  <ruiz@act-europe.fr>
5393
5394         * init.c [VxWorks]: Do not fix the stack size for the environment task.
5395         When needed (stack checking) the stack size is retrieved
5396         from the VxWorks kernel.
5397
5398         * Makefile.in: Flag -nostdinc is required when building the run time
5399         for avoiding looking for files in the base compiler.
5400         Add the VxWorks specific version of the package body for
5401         System.Stack_checking.Operations (5zstchop.adb).
5402
5403         * Make-lang.in: Add the object file for
5404         System.Stack_Checking.Operations.
5405
5406         * Makefile.rtl: Add object file for the package
5407         System.Stack_Checking.Operations.
5408
5409         * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
5410
5411         * s-stache.ads, s-stache.adb: Move the operations related to stack
5412         checking from this package to package System.Stack_Checking.Operations.
5413         This way, stack checking operations are only linked in the final
5414         executable when using the -fstack-check flag.
5415
5416 2004-03-18  Doug Rupp  <rupp@gnat.com>
5417
5418         * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
5419         Reorganize ifeq's.
5420
5421         * 5qsystem.ads, 5xcrtl.ads: New files.
5422
5423 2004-03-18  Vincent Celier  <celier@gnat.com>
5424
5425         * prj.adb (Reset): Reset hash table Files_Htable
5426
5427         * prj-env.adb (Source_Paths, Object_Paths): New tables.
5428         (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
5429         the procedures Add_To_Path_File.
5430         (Set_Ada_Paths): Accumulate source and object dirs in the tables,
5431         making sure that each directory is present only once and, for object
5432         dirs, when a directory already present is added, the duplicate is
5433         removed and the directory is always put as the last in the table.
5434         Write the path files at the end of these accumulations.
5435
5436         * prj-nmsc.adb (Record_Source): Add source file name in hash table
5437         Files_Htable for all sources.
5438
5439         * prj-proc.adb (Process): Remove restrictions between not directly
5440         related extending projects.
5441
5442 2004-03-18  Emmanuel Briot  <briot@act-europe.fr>
5443
5444         * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
5445         (Find_Sources): Minor speed optimization.
5446
5447         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
5448         parameter Trusted_Mode.
5449
5450 2004-03-18  Sergey Rybin  <rybin@act-europe.fr>
5451
5452         * scn.adb (Determine_License): Take into account a degenerated case
5453         when the source contains only comments.
5454
5455 2004-03-18  Ed Schonberg  <schonberg@gnat.com>
5456
5457         * sem_warn.adb (Check_References): For a warning on a selected
5458         component that does not come from source, locate an uninitialized
5459         component of the record type to produce a more precise error message.
5460
5461 2004-03-15  Jerome Guitton  <guitton@act-europe.fr>
5462
5463         * 3zsoccon.ads: Fix multicast options.
5464
5465         * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
5466         in the spec.
5467
5468 2004-03-15  Robert Dewar  <dewar@gnat.com>
5469
5470         * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
5471         pragma used for a private type.
5472
5473         * lib-xref.adb (Generate_Reference): Do not generate warning if
5474         reference is in a different unit from the pragma Unreferenced.
5475
5476         * 5vtpopde.adb: Minor reformatting
5477         Fix casing of To_Task_ID
5478
5479         * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
5480         flag if we have an unchecked conversion to an access type in the same
5481         unit.
5482
5483 2004-03-15  Geert Bosch  <bosch@gnat.com>
5484
5485         * a-ngcoty.adb (Modulus): In alternate formula for large real or
5486         imaginary parts, use Double precision throughout.
5487
5488         * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
5489         we want to be able to compile run-time with -gnata for testing, but
5490         this may also be instantiated in user code that is compiled with -gnata.
5491
5492 2004-03-15  Olivier Hainque  <hainque@act-europe.fr>
5493
5494         * s-stalib.ads (Exception_Code): New type, to represent Import/Export
5495         codes. Having a separate type for this is useful to enforce consistency
5496         throughout the various run-time units.
5497         (Exception_Data): Use Exception_Code for Import_Code.
5498
5499         * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
5500         Natural and Integer in various places.
5501         (Register_VMS_Exception): Use Base_Code_In to compute the exception code
5502         with the severity bits masked off.
5503         (Register_VMS_Exception): Handle the additional exception data pointer
5504         argument.
5505
5506         * raise.c (_GNAT_Exception structure): Remove the handled_by_others
5507         component, now reflected by an exported accessor.
5508         (is_handled_by): New routine to compute whether the propagated
5509         occurrence matches some handler choice specification. Extracted out of
5510         get_action_description_for, and expanded to take care of the VMS
5511         specifities.
5512         (get_action_description_for): Use is_handled_by instead of an explicit
5513         complex condition to decide if the current choice at hand catches the
5514         propagated occurrence.
5515
5516         * raise.h (Exception_Code): New type for C.
5517
5518         * rtsfind.ads (RE_Id, RE_Unit_Table): Add
5519         System.Standard_Library.Exception_Code, to allow references from the
5520         pragma import/export expander.
5521
5522         * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
5523         New accessors to allow easy access to GNAT exception data
5524         characteristics.
5525         (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
5526         redundant Handled_By_Others component, helper for the personality
5527         routine which will now be able to call the appropriate exception data
5528         accessor instead.
5529
5530         * cstand.adb (Create_Standard): Adjust the type of the Import_Code
5531         component of Standard_Exception_Type to be the closest possible to
5532         Exception_Code in System.Standard_Library, that we cannot get at this
5533         point. Expand a ??? comment to notify that this type node should
5534         probably be rewritten later on.
5535
5536         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
5537         registration call to include a pointer to the exception object in the
5538         arguments.
5539
5540         * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
5541         instead of int and explicit bitmasks.
5542
5543 2004-03-15  Vincent Celier  <celier@gnat.com>
5544
5545         * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
5546         equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
5547
5548         * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
5549         longer needed now that it is in the spec of
5550         System.Tasking.Task_Attributes.
5551
5552         * adaint.h, adaint.c: (__gnat_create_output_file): New function
5553
5554         * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
5555
5556         * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
5557
5558         * make.adb (Gnatmake): Do not check the executable suffix; it is being
5559         taken care of in Scan_Make_Arg.
5560         (Scan_Make_Arg): Add the executable suffix only if the argument
5561         following -o, in canonical case, does not end with the executable
5562         suffix.  When in verbose mode and executable file name does not end
5563         with executable suffix, output the executable name, in canonical case.
5564
5565         * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
5566         to avoid warnings when instantiating Ada.Task_Attributes.
5567         Minor reformating.
5568
5569         * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
5570         in the correct order.
5571
5572         * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
5573         redirect standard output and error to a file for the invocation of the
5574         compiler, then read the file.
5575
5576         * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
5577         directory, instead of the Value.
5578         (Find_Source_Dirs): Remove useless code & comments.
5579
5580 2004-03-15  Ed Schonberg  <schonberg@gnat.com>
5581
5582         * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
5583         tagged type is inherited, and the parent operation is not frozen yet,
5584         force generation of a freeze node for the inherited operation, so the
5585         corresponding dispatch entry is properly initialized.
5586         (Make_Predefined_Primitive_Specs): Check that return type is Boolean
5587         when looking for user-defined equality operation.
5588
5589         * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
5590         boolean when locating primitive equality of tagged component.
5591
5592         * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
5593         bit-aligned field and the right-hand side a string literal, introduce
5594         a temporary before expanding assignment into a loop.
5595
5596         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
5597         priority in full, to ensure that any expanded subepxressions of it are
5598         elaborated in the scope of the init_proc.
5599
5600         * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
5601         after object declaration, skipping over code that may have been
5602         generated for validity checks.
5603
5604         * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
5605         discriminants, ignore the known discriminants of its full view, if
5606         any, to check legality.
5607
5608         * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
5609         component if type has unknown discriminants.
5610         (Analyze_Private_Extension_Declaration): Discriminant constraint is
5611         null if type has unknown discriminants.
5612
5613         * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
5614         for end label when present.
5615
5616         * s-fileio.adb (Open): When called with a C_Stream, use given name for
5617         temporary file, rather than an empty string.
5618
5619 2004-03-15  Ed Falis  <falis@gnat.com>
5620
5621         * s-thread.adb: Removed, no longer used.
5622
5623 2004-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5624
5625         * decl.c (target.h): Now include.
5626         (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
5627         in new build_pointer_from_mode calls for non-fat/non-thin pointer.
5628         (validate_size): For POINTER_TYPE, get smallest size permitted on
5629         machine.
5630
5631         * fe.h: Sort Einfo decls and add Set_Mechanism.
5632
5633         * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
5634         (ada/decl.o): Depends on target.h.
5635
5636         * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
5637         FUNCTION_BOUNDARY; always use TYPE_ALIGN.
5638
5639 2004-03-15  Thomas Quinot  <quinot@act-europe.fr>
5640
5641         * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
5642
5643         * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
5644         Insert_Dereference_Action when rewriting an implicit dereference into
5645         an explicit one, this will be taken care of during expansion of the
5646         explicit dereference.
5647         (Expand_N_Slice): Same. Always do the rewriting, even for the case
5648         of non-packed slices, since the dereference action generated by
5649         expansion of the explicit dereference is needed in any case.
5650         (Expand_N_Selected_Component): When rewriting an implicit dereference,
5651         analyze and resolve the rewritten explicit dereference so it is seen
5652         by the expander.
5653         (Insert_Dereference_Action): This procedure is now called only for the
5654         expansion of an N_Explcit_Dereference_Node. Do insert a check even for
5655         dereferences that do not come from source (including explicit
5656         dereferences resulting from rewriting implicit ones), but do not
5657         recursively insert a check for the dereference nodes contained within
5658         the check.
5659         (Insert_Dereference_Action): Clarify and correct comment.
5660
5661 2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
5662
5663         PR ada/14131
5664         Move language detection to the top level.
5665         * config-lang.in: Build by default.
5666
5667 2004-03-05  Robert Dewar  <dewar@gnat.com>
5668
5669         * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
5670
5671         * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
5672         i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
5673         5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
5674         5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
5675         unchecked conversion to spec to avoid warnings.
5676
5677         * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
5678         to Task_ID
5679
5680         * 7stpopsp.adb: Correct casing in To_Task_ID call
5681
5682         * a-strsea.ads, a-strsea.adb: Minor reformatting
5683
5684         * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
5685
5686         * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
5687         Adjust Max_Msg_Length to be clearly large enough.
5688
5689         * fe.h: Define In_Same_Source_Unit
5690
5691         * osint.adb: Add pragma Warnings Off to suppress warnings
5692         * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
5693         aliasing warnings.
5694
5695         * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
5696
5697         * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
5698
5699         * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
5700
5701         * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
5702
5703         * sem_prag.adb: Implement pragma No_Strict_Aliasing.
5704
5705         * sinfo.ads: Remove obsolete comment on validate unchecked conversion
5706         node. We now do generate them for gcc back end.
5707
5708         * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
5709         warning.
5710
5711         * sinput-c.adb: Fix bad name in header.
5712         Add pragma Warnings Off to suppress aliasing warning.
5713
5714         * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
5715
5716         * snames.h, snames.ads, snames.adb: Add entry for pragma
5717         No_Strict_Aliasing.
5718
5719 2004-03-05  Vincent Celier  <celier@gnat.com>
5720
5721         * prj-com.ads: Add hash table Files_Htable to check when a file name
5722         is already a source of another project.
5723
5724         * prj-nmsc.adb (Record_Source): Before recording a new source, check
5725         if its file name is not already a source of another project. Report an
5726         error if it is.
5727
5728         * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
5729         source file name, call gnatpp with all the sources of the main project.
5730
5731         * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
5732         of file names.
5733
5734         * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
5735         NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
5736         /RUNTIME_SYSTEM=, converted to --RTS=
5737         /NOTABS, converted to -notabs
5738
5739 2004-03-05  Pascal Obry  <obry@gnat.com>
5740
5741         * make.adb: Minor reformatting.
5742
5743 2004-03-05  Ed Schonberg  <schonberg@gnat.com>
5744
5745         Part of implemention of AI-262.
5746         * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
5747
5748         * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
5749         procedure.
5750
5751         * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
5752         when component type is a partially constrained class-wide subtype.
5753         (Constrain_Discriminated_Type): If parent type has unknown
5754         discriminants, a constraint is illegal, even if full view has
5755         discriminants.
5756         (Build_Derived_Record_Type): Inherit discriminants when deriving a type
5757         with unknown discriminants whose full view is a discriminated record.
5758
5759         * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
5760         flag, to handle properly derivations of tagged types with unknown
5761         discriminants.
5762         (Analyze_Package_Spec, Analyze_Package_Body): Install
5763         Private_With_Clauses before analyzing private part or body.
5764
5765         * einfo.ads: Indicate that both Has_Unknown_Discriminants and
5766         Has_Discriminants can be true for a given type (documentation).
5767
5768 2004-03-05  Arnaud Charlet  <charlet@act-europe.fr>
5769
5770         * s-restri.ads: Fix license (GPL->GMGPL).
5771
5772         * s-tassta.adb: Minor reformatting.
5773
5774         * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
5775         by calls to Exit_One_ATC_Level, since additional clean up is performed
5776         by this function.
5777
5778         * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
5779         by calls to Exit_One_ATC_Level, since additional clean up is performed
5780         by this function.
5781
5782 2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5783
5784         * trans.c: Reflect GCC changes to fix bootstrap problem.
5785         Add warning for suspicious aliasing unchecked conversion.
5786
5787 2004-03-05  GNAT Script  <nobody@gnat.com>
5788
5789         * Make-lang.in: Makefile automatically updated
5790
5791 2004-03-02  Emmanuel Briot  <briot@act-europe.fr>
5792
5793         * ali.adb (Read_Instantiation_Instance): Do not modify the
5794         current_file_num when reading information about instantiations, since
5795         this corrupts files in later references.
5796
5797 2004-03-02  Vincent Celier  <celier@gnat.com>
5798
5799         * bcheck.adb (Check_Consistency): Get the full path of an ALI file
5800         before checking if it is read-only.
5801
5802         * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
5803         of SRC_DIRS and eliminate duplicates.
5804
5805         * gprcmd.adb: Replace command "path" with command "path_sep" to return
5806         the path separator.
5807         (Usage): Document path_sep
5808
5809         * Makefile.generic: For Ada and GNU C++ cases, link directly with the
5810         C++ compiler. No need for a script.
5811         Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
5812         Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
5813         subst.
5814
5815         * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
5816         where there are Ada sources.
5817         (Set_Ada_Paths): Only add to the include path the source dirs of project
5818         with Ada sources.
5819         (Add_To_Path): Add the Display_Values of the directories, not their
5820         Values.
5821
5822         * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
5823         data.
5824
5825         * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
5826         is not No_Name.
5827         (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
5828         Value is canonicalized.
5829         (Language_Independent_Check): Do not copy Value to Display_Value when
5830         canonicalizing Value.
5831
5832         * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
5833         path to find limited with cycles.
5834         (Parse_Single_Project): Use canonical cased path to find the end of a
5835         with cycle.
5836
5837 2004-03-02  Ed Schonberg  <schonberg@gnat.com>
5838
5839         * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
5840         and not a child unit.
5841
5842         * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
5843         appear in a with_clause.
5844
5845         * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
5846         only happen in type_annotate mode, do not try to elaborate it.
5847
5848         * exp_util.adb (Force_Evaluation): If expression is a selected
5849         component on the left of an assignment, use a renaming rather than a
5850         temporary to remove side effects.
5851
5852         * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
5853         inlined instance body, which is analyzed before the end of the
5854         enclosing scope.
5855
5856 2004-03-02  Robert Dewar  <dewar@gnat.com>
5857
5858         * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
5859         sem_ch4.adb: Use new feature for substitution of keywords in VMS
5860
5861         * errout.ads, errout.adb: Implement new circuit for substitution of
5862         keywords in VMS.
5863
5864         * sem_case.adb (Analyze_Choices): Place message properly when case is
5865         a subtype reference rather than an explicit range.
5866
5867         * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
5868
5869 2004-03-02  Doug Rupp  <rupp@gnat.com>
5870
5871         * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
5872
5873 2004-03-02  Thomas Quinot  <quinot@act-europe.fr>
5874
5875         * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
5876
5877 2004-03-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5878
5879         * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
5880         BLKmode bitfield.
5881
5882 2004-02-25  Robert Dewar  <dewar@gnat.com>
5883
5884         * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
5885         55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
5886         5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
5887         5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
5888         5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
5889         5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
5890         the defining instance of the type to avoid aliasing problems.
5891         Fix copyright header.  Fix bad comments in package header.
5892
5893         * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
5894
5895 2004-02-25  Ed Schonberg  <schonberg@gnat.com>
5896
5897         * exp_ch2.adb (Param_Entity): Handle properly formals that have been
5898         rewritten as references when aliased through an address clause.
5899
5900         * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
5901         whether call can be interpreted as an indirect call to the result of a
5902         parameterless function call returning an access subprogram.
5903
5904 2004-02-25  Arnaud Charlet  <charlet@act-europe.fr>
5905
5906         Code clean up:
5907         * exp_ch7.adb (Make_Clean): Remove generation of calls to
5908         Unlock[_Entries], since this is now done by Service_Entries directly.
5909
5910         * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
5911
5912         * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
5913         Requeue_Call for better code readability. Change spec and update calls:
5914         PO_Service_Entries now unlock the PO on exit.
5915         (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
5916         PO_Service_Entries.
5917
5918         * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
5919
5920         * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
5921
5922 2004-02-25  Sergey Rybin  <rybin@act-europe.fr>
5923
5924         * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
5925         protected subprogram call and analyzing the result of such expanding
5926         in case when the called protected subprogram is eliminated.
5927
5928         * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
5929         names.
5930
5931 2004-02-25  Jerome Guitton  <guitton@act-europe.fr>
5932
5933         * Makefile.in: Clean ups.
5934
5935 2004-02-23  Ed Schonberg  <schonberg@gnat.com>
5936
5937         * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
5938         protected operations if original subprogram is flagged as eliminated.
5939         (Expand_N_Subprogram_Body): For a protected operation, create
5940         discriminals for next operation before checking whether the operation
5941         is eliminated.
5942
5943         * exp_ch9.adb (Expand_N_Protected_Body,
5944         Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
5945         for internal protected operations if the original subprogram is
5946         eliminated.
5947
5948         * sem_elim.adb (Check_Eliminated): Handle properly protected operations
5949         declared in a single protected object.
5950
5951 2004-02-23  Vincent Celier  <celier@gnat.com>
5952
5953         * prj-attr.adb: Make attribute Builder'Executable an associative array,
5954         case insensitive if file names are case insensitive, instead of a
5955         standard associative array.
5956
5957         * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
5958         them as case insensitive on platforms where the file names are case
5959         sensitive.
5960
5961         * prj-part.adb (Parse_Single_Project): Make sure, when checking if
5962         project file has already been parsed that canonical path are compared.
5963
5964 2004-02-23  Robert Dewar  <dewar@gnat.com>
5965
5966         * sinput-c.ads: Correct bad unit title in header
5967
5968         * freeze.adb: Minor reformatting
5969
5970 2004-02-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5971
5972         * trans.c (tree_transform, case N_Procedure_Call_Statement): For
5973         nonaddressable COMPONENT_REF that is removing padding that we are
5974         taking the address of, take the address of the padded record instead
5975         if item is variable size.
5976
5977 2004-02-20  Robert Dewar  <dewar@gnat.com>
5978
5979         * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
5980
5981 2004-02-20  Ed Schonberg  <schonberg@gnat.com>
5982
5983         * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
5984         itype references for the constrained designated type of a component
5985         whose base type is already frozen.
5986
5987 2004-02-20  Arnaud Charlet  <charlet@act-europe.fr>
5988
5989         * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
5990         avoid GCC warnings.
5991
5992 2004-02-20  Sergey Rybin  <rybin@act-europe.fr>
5993
5994         * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
5995         identifier for a phantom package that rewrites the formal package
5996         declaration with a box. The Add semantic decorations for the defining
5997         identifier from the original node (that represents the formal package).
5998
5999 2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
6000
6001         * Make-lang.in (ada/stamp-sdefault): Use the top level
6002         move-if-change.
6003
6004 2004-02-19  Richard Henderson  <rth@redhat.com>
6005
6006         * misc.c (record_code_position): Add third build arg for RTL_EXPR.
6007
6008 2004-02-18  Emmanuel Briot  <briot@act-europe.fr>
6009
6010         * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
6011         Scan_ALI can be used for multiple ALI files without reinitializing
6012         between calls.
6013
6014 2004-02-18  Robert Dewar  <dewar@gnat.com>
6015
6016         * debug.adb: Minor reformatting.
6017
6018 2004-02-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6019
6020         * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
6021         to zero if there is an address clause.
6022
6023 2004-02-18  Thomas Quinot  <quinot@act-europe.fr>
6024
6025         * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
6026
6027 2004-02-18  Gary Dismukes  <dismukes@gnat.com>
6028
6029         * layout.adb (Layout_Component_List): Revise generation of call to
6030         discriminant-checking function to pass selections of all of the type's
6031         discriminants rather than just the variant-controlling discriminant.
6032
6033 2004-02-18  Olivier Hainque  <hainque@act-europe.fr>
6034
6035         * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
6036         fail in the current setup and triggers spurious system error messages.
6037         Pretend it occurred and failed instead.
6038
6039 2004-02-18  Vincent Celier  <celier@gnat.com>
6040
6041         * bld.adb: Mark FLDFLAGS as saved
6042         (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
6043         it is not the root project.  Put each directory to be
6044         extended between double quotes to prevent it to be expanded on Windows.
6045         (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
6046         the project file. Set them back to their initial values if they have not
6047         been set in the project file.
6048
6049         * gprcmd.adb: (Gprdebug, Debug): New global variables
6050         (Display_Command): New procedure
6051         (Usage): Document new command "linkopts"
6052         Call Display_Command when env var GPRDEBUG has the value "TRUE"
6053         Implement new command "linkopts"
6054         Remove quotes that may be around arguments for "extend"
6055         Always call Normalize_Pathname with arguments formatted for the platform
6056
6057         * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
6058         Change @echo to @$(display) in target clean to be able to clean silently
6059
6060         * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
6061
6062         * prj-part.adb (Project_Path_Name_Of): Do not put final result in
6063         canonical case.
6064
6065         * prj-part.adb (Parse_Single_Project): Always call with From_Extended
6066         = Extending_All when current project is an extending all project.
6067
6068         * vms_conv.adb (Output_File_Expected): New Boolean global variable,
6069         set to True only for LINK command, after Unix switch -o.
6070         (Process_Arguments): Set Output_File_Expected to True for LINK command
6071         after Unix switch -o. When Output_File_Expected is True, never add an
6072         extension to a file name.
6073
6074         * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
6075         option file name, only to the --for-linker= switch.
6076         (Option_File_Name): If option file name do not end with ".opt", append
6077         "/OPTIONS".
6078
6079 2004-02-18  GNAT Script  <nobody@gnat.com>
6080
6081         * Make-lang.in: Makefile automatically updated
6082
6083 2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
6084
6085         * Make-lang.in (stamp-sdefault): Do not depend on
6086         move-if-change.
6087
6088 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
6089
6090         * config-lang.in: Disable Ada by default until probe logic for
6091         a bootstrap Ada compiler can be moved to the top level configure
6092         script.
6093
6094 2004-02-12  Olivier Hainque  <hainque@act-europe.fr>
6095
6096         * decl.c (components_to_record): Don't claim that the internal fields
6097         we make to hold the variant parts are semantically addressable, because
6098         they are not.
6099
6100         * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
6101         adjust the comment describing the modular type form when we can use it.
6102         (Install_PAT): Account for the Esiz renaming.
6103
6104         * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
6105         sc_onstack context indication before raising the exception to which
6106         the signal is mapped. Allows better handling of later signals possibly
6107         triggered by the resumed user code if the exception is handled.
6108
6109 2004-02-12  Arnaud Charlet  <charlet@act-europe.fr>
6110
6111         * 5zinit.adb: Removed, no longer used.
6112
6113 2004-02-12  Robert Dewar  <dewar@gnat.com>
6114
6115         * ali.adb: Remove separating space between parameters on R line. Makes
6116         format consistent with format used by the binder for Set_Globals call.
6117
6118         * atree.ads, atree.adb: Minor reformatting (new function header format)
6119
6120         * bindgen.adb: Add Run-Time Globals documentation section containing
6121         detailed documentation of the globals passed from the binder file to
6122         the run time.
6123
6124         * gnatls.adb: Minor reformatting
6125
6126         * init.c (__gnat_set_globals): Add note pointing to documentation in
6127         bindgen.
6128
6129         * lib-writ.ads, lib-writ.adb: Remove separating space between
6130         parameters on R line.
6131         Makes format consistent with format used by the binder for Set_Globals
6132         call.
6133
6134         * osint.ads: Add 2004 to copyright notice
6135         Minor reformatting
6136
6137         * snames.ads: Correct capitalization of FIFO_Within_Priorities
6138         Noticed during code reading, documentation issue only
6139
6140         * usage.adb: Remove junk line for obsolete C switch
6141         Noticed during code reading
6142
6143 2004-02-12  Vincent Celier  <celier@gnat.com>
6144
6145         * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
6146         extend for each directory, so that multiple /** directories are
6147         extended individually.
6148         (Recursive_Process): Set the default for LANGUAGES to ada
6149
6150         * gprcmd.adb: Define new command "ignore", to do nothing.
6151         Implement new comment "path".
6152
6153         * Makefile.generic: Suppress output when SILENT is set
6154         Make sure that when compiler for C/C++ is gcc, the correct -x switch is
6155         used, so that the correct compiler is invoked.
6156         When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
6157         CXX_INCLUDE_PATH, to avoid failure with too long command lines.
6158
6159 2004-02-12  Jerome Guitton  <guitton@act-europe.fr>
6160
6161         * Makefile.in: Clean ups and remove obsolete targets.
6162
6163 2004-02-12  Ed Schonberg  <schonberg@gnat.com>
6164
6165         * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
6166         predicate declared in exp_util.
6167
6168         * exp_util.adb: Add comments.
6169
6170         * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
6171         visibility before compiling context of the subunit.
6172
6173         * sem_res.adb (Check_Parameterless_Call): If the context expects a
6174         value but the name is a procedure, do not attempt to analyze as a call,
6175         in order to obtain more telling diagnostics.
6176
6177         * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
6178         'Access on parameterless function calls.
6179         (Normalize_Actuals): For a parameterless function call with missing
6180         actuals, defer diagnostic until resolution of enclosing call.
6181
6182         * sem_util.adb (Wrong_Type): If the context type is an access to
6183         subprogram and the expression is a procedure name, suggest a missing
6184         'attribute.
6185
6186 2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>,
6187             Nathanael Nerode  <neroden@gcc.gnu.org>
6188
6189         PR ada/6637, PR ada/5911
6190         Merge with libada-branch:
6191         * config-lang.in: Build libada only when ada is built.
6192
6193 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
6194
6195         * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
6196         for a tagged type, verify that both formals have the same type.
6197
6198         * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
6199         temporary when the formal is an in-parameter and the actual a possibly
6200         unaligned slice.
6201
6202         * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
6203         when expansion is disabled, to ensure proper name capture with
6204         overloaded literals.  Condition can be of any boolean type, resolve
6205         accordingly.
6206
6207         * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
6208         renaming is for a formal subprogram with a default operator name, and
6209         there is a usable operator that is visible at the point of
6210         instantiation.
6211
6212 2004-02-09  Robert Dewar  <dewar@gnat.com>
6213
6214         * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
6215         rewrite to ignore errors in ali files, intended to allow tools downward
6216         compatibility with new versions of ali files.
6217
6218         * ali.ads: Add new parameter Ignore_Errors
6219
6220         * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
6221         duplicating the error message giving the file with restrictions.
6222
6223         * debug.adb: Add debug flag I for gnatbind
6224
6225         * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
6226         operators for the case where the operator is a defining operator.
6227
6228         * exp_ch3.adb: Minor reformatting (new function spec format).
6229
6230         * exp_ch4.adb: Add comment for previous change, and make minor
6231         adjustment to loop to always check for improper loop termination.
6232         Minor reformatting throughout (new function spec format).
6233
6234         * gnatbind.adb: Implement -di debug flag for gnatbind
6235
6236         * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
6237
6238         * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
6239
6240         * lib-load.adb: Fix bad assertion.
6241         Found by testing and code reading.
6242         Minor reformatting.
6243
6244         * lib-load.ads: Minor reformatting.
6245
6246         * lib-writ.adb: There is only one R line now.
6247
6248         * lib-writ.ads: Add documentation on making downward compatible changes
6249         to ali files so old tools work with new ali files.
6250         There is only one R line now.
6251         Add documentation on format incompatibilities (with special GPS note)
6252
6253         * namet.ads, namet.adb: (Is_Operator_Name): New procedure
6254
6255         * par-load.adb: Minor reformatting
6256
6257         * sem_ch8.adb: Fix to error message from last update
6258         Minor reformatting and restructuring of code from last update
6259
6260         * par-prag.adb, snames.adb, snames.ads, snames.h,
6261         sem_prag.adb: Implement pragma Profile.
6262
6263         * stylesw.adb: Implement -gnatyN switch to turn off all style check
6264         options.
6265
6266         * usage.adb: Add line for -gnatyN switch
6267
6268         * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
6269
6270 2004-02-09  Albert Lee  <lee@gnat.com>
6271
6272         * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
6273
6274 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
6275
6276         * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
6277         slices.
6278
6279         * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
6280         is nested in an instance that is not frozen yet, to avoid
6281         order-of-elaboration problems in gigi.
6282
6283         * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
6284         body the attribute is legal.
6285
6286 2004-02-09  Robert Dewar  <dewar@gnat.com>
6287
6288         * s-rident.ads: Minor comment correction
6289
6290         * targparm.adb: Remove dependence on uintp completely. There was
6291         always a bug in Make in that it called Targparm before initializing
6292         the Uint package. The old code appeared to get away with this, but
6293         the new code did not! This caused an assertion error in gnatmake.
6294
6295         * targparm.ads: Fix bad comment, restriction pragmas with parameters
6296         are indeed fully supported.
6297
6298 2004-02-06  Alan Modra  <amodra@bigpond.net.au>
6299
6300         * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
6301
6302 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
6303
6304         * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
6305         with targetm.calls.promote_prototypes.
6306
6307 2004-02-04  Robert Dewar  <dewar@gnat.com>
6308
6309         * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
6310         ali.ads, gprcmd.adb: Minor reformatting
6311
6312         * bindgen.adb: Output restrictions string for new style restrictions
6313         handling
6314
6315         * impunit.adb: Add s-rident.ads (System.Rident) and
6316         s-restri (System.Restrictions)
6317
6318         * lib-writ.adb: Fix bug in writing restrictions string (last few
6319         entries wrong)
6320
6321         * s-restri.ads, s-restri.adb: Change name Restrictions to
6322         Run_Time_Restrictions to avoid conflict with package name.
6323         Add circuit to read and acquire run time restrictions.
6324
6325 2004-02-04  Jose Ruiz  <ruiz@act-europe.fr>
6326
6327         * restrict.ads, restrict.adb: Use the new restriction
6328         No_Task_Attributes_Package instead of the old No_Task_Attributes.
6329
6330         * sem_prag.adb: No_Task_Attributes is a synonym of
6331         No_Task_Attributes_Package.
6332
6333         * snames.ads, snames.adb: New entry for proper handling of
6334         No_Task_Attributes.
6335
6336         * s-rident.ads: Adding restriction No_Task_Attributes_Package
6337         (AI-00249) that supersedes the GNAT specific restriction
6338         No_Task_Attributes.
6339
6340 2004-02-04  Ed Schonberg  <schonberg@gnat.com>
6341
6342         * sem_prag.adb:
6343         (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
6344          body, an identifier may be wrapped in an unchecked conversion.
6345
6346 2004-02-04  Vincent Celier  <celier@gnat.com>
6347
6348         * lib-writ.ads: Comment update for the W lines
6349
6350         * bld.adb: (Expression): An empty string list is static
6351
6352         * fname-uf.adb: Minor comment update
6353
6354         * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
6355
6356         * gnatbind.adb: Initialize Cumulative_Restrictions with the
6357         restrictions on the target.
6358
6359 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
6360
6361         * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
6362         gen_rtx.
6363
6364 2004-02-02  Arnaud Charlet  <charlet@gnat.com>
6365
6366         * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
6367
6368 2004-02-02  Vincent Celier  <celier@gnat.com>
6369
6370         * gprcmd.adb (Check_Args): If condition is false, print the invoked
6371         comment before the usage.
6372         Gprcmd: Fail when command is not recognized.
6373         (Usage): Document command "prefix"
6374
6375         * g-md5.adb (Digest): Process last block.
6376         (Update): Do not process last block. Store remaining characters and
6377         length in Context.
6378
6379         * g-md5.ads (Update): Document that several call to update are
6380         equivalent to one call with the concatenated string.
6381         (Context): Add fields to allow new Update behaviour.
6382
6383         * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
6384         defaulted to False.
6385         When May_Fail is True and no existing file can be found, return No_File.
6386
6387         * 6vcstrea.adb: Inlined functions are now wrappers to implementation
6388         functions.
6389
6390         * lib-writ.adb (Write_With_Lines): When body file does not exist, use
6391         spec file name instead on the W line.
6392
6393 2004-02-02  Robert Dewar  <dewar@gnat.com>
6394
6395         * ali.adb: Read and acquire info from new format restrictions lines
6396
6397         * bcheck.adb: Add circuits for checking restrictions with parameters
6398
6399         * bindgen.adb: Output dummy restrictions data
6400         To be changed later
6401
6402         * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
6403         exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
6404         freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
6405         sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
6406         sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
6407
6408         * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
6409         the warning message on access to possibly uninitialized variable S)
6410         Minor changes for new restrictions handling.
6411
6412         * gnatbind.adb: Minor reformatting
6413         Minor changes for new restrictions handling
6414         Move circuit for -r processing here from bcheck (cleaner)
6415
6416         * gnatcmd.adb, gnatlink.adb: Minor reformatting
6417
6418         * lib-writ.adb: Output new format restrictions lines
6419
6420         * lib-writ.ads: Document new R format lines for new restrictions
6421         handling.
6422
6423         * s-restri.ads/adb: New files
6424
6425         * Makefile.rtl: Add entry for s-restri.ads/adb
6426
6427         * par-ch3.adb: Fix bad error messages starting with upper case letter
6428         Minor reformatting
6429
6430         * restrict.adb: Major rewrite throughout for new restrictions handling
6431         Major point is to handle restrictions with parameters
6432
6433         * restrict.ads: Major changes in interface to handle restrictions with
6434         parameters. Also generally simplifies setting of restrictions.
6435
6436         * snames.ads/adb: New entry for proper handling of No_Requeue
6437
6438         * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
6439         restriction counting.
6440         Other minor changes for new restrictions handling
6441
6442         * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
6443         Restriction_Warnings now allows full parameter notation
6444         Major rewrite of Restrictions for new restrictions handling
6445
6446 2004-02-02  Javier Miranda  <miranda@gnat.com>
6447
6448         * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
6449         syntax rule for object renaming declarations.
6450         (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
6451         component definitions.
6452
6453         * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
6454         components.
6455         (Array_Type_Declaration): Give support to access components. In addition
6456         it was also modified to reflect the name of the object in anonymous
6457         array types. The old code did not take into account that it is possible
6458         to have an unconstrained anonymous array with an initial value.
6459         (Check_Or_Process_Discriminants): Allow access discriminant in
6460         non-limited types.
6461         (Process_Discriminants): Allow access discriminant in non-limited types
6462         Initialize the new Access_Definition field in N_Object_Renaming_Decl
6463         node.  Change Ada0Y to Ada 0Y in comments
6464
6465         * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
6466         equality operators.
6467         Change Ada0Y to Ada 0Y in comments
6468
6469         * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
6470         renamings Change Ada0Y to Ada 0Y in comments
6471
6472         * sem_type.adb (Find_Unique_Type): Give support to the equality
6473         operators for universal access types
6474         Change Ada0Y to Ada 0Y in comments
6475
6476         * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
6477
6478         * sinfo.ads (N_Component_Definition): Addition of Access_Definition
6479         field.
6480         (N_Object_Renaming_Declaration): Addition of Access_Definition field
6481         Change Ada0Y to Ada 0Y in comments
6482
6483         * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
6484         component definition and object renaming nodes
6485         Change Ada0Y to Ada 0Y in comments
6486
6487 2004-02-02  Jose Ruiz  <ruiz@act-europe.fr>
6488
6489         * restrict.adb: Use the new restriction identifier
6490         No_Requeue_Statements instead of the old No_Requeue for defining the
6491         restricted profile.
6492
6493         * sem_ch9.adb (Analyze_Requeue): Check the new restriction
6494         No_Requeue_Statements.
6495
6496         * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
6497         that supersedes the GNAT specific restriction No_Requeue. The later is
6498         kept for backward compatibility.
6499
6500 2004-02-02  Ed Schonberg  <schonberg@gnat.com>
6501
6502         * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
6503         5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
6504         pragma and fix incorrect ones.
6505
6506         * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
6507         warning if the pragma is redundant.
6508
6509 2004-02-02  Thomas Quinot  <quinot@act-europe.fr>
6510
6511         * 5staprop.adb: Add missing 'constant' keywords.
6512
6513         * Makefile.in: use consistent value for SYMLIB on
6514         platforms where libaddr2line is supported.
6515
6516 2004-02-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6517
6518         * utils.c (end_subprog_body): Do not call rest_of_compilation if just
6519         annotating types.
6520
6521 2004-02-02  Olivier Hainque  <hainque@act-europe.fr>
6522
6523         * init.c (__gnat_install_handler): Setup an alternate stack for signal
6524         handlers in the environment thread. This allows proper propagation of
6525         an exception on stack overflows in this thread even when the builtin
6526         ABI stack-checking scheme is used without support for a stack reserve
6527         region.
6528
6529         * utils.c (create_field_decl): Augment the head comment about bitfield
6530         creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
6531         here, because the former is not accurate enough at this point.
6532         Let finish_record_type decide instead.
6533         Don't make a bitfield if the field is to be addressable.
6534         Always set a size for the field if the record is packed, to ensure the
6535         checks for bitfield creation are triggered.
6536         (finish_record_type): During last pass over the fields, clear
6537         DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
6538         not covered by the calls to layout_decl.  Adjust DECL_NONADDRESSABLE_P
6539         from DECL_BIT_FIELD.
6540
6541 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
6542
6543         * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
6544         (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
6545         (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
6546
6547 2004-01-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6548
6549         * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
6550
6551         * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
6552         (ZCX_By_Default): Likewise.
6553         (Front_End_ZCX_Support): Likewise.
6554
6555         * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
6556         (Initialize_Lock): Mark Level unreferenced.
6557         (Sleep): Mark Reason unreferenced.
6558         (Timed_Sleep): Likewise.
6559         (Wakeup): Likewise.
6560         (Exit_Task): Use Result.
6561         (Check_No_Locks): Mark Self_ID unreferenced.
6562
6563         * 5gtasinf.adb (New_Sproc): Make Attr constant.
6564         (Bound_Thread_Attributes): Make Sproc constant.
6565         (New_Bound_Thread_Attributes): Likewise.
6566
6567 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
6568
6569         * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
6570         one-dimensional array an slice assignments, when component type is
6571         controlled.
6572
6573         * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
6574         component type is controlled, and control_actions are in effect, use
6575         TSS procedure rather than generating inline code.
6576
6577         * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
6578         arrays with controlled components.
6579
6580 2004-01-26  Vincent Celier  <celier@gnat.com>
6581
6582         * gnatcmd.adb (GNATCmd): Add specification of argument file on the
6583         command line for the non VMS case.
6584
6585         * gnatlink.adb (Process_Binder_File): When building object file, if
6586         GNU linker is used, put all object paths between quotes, to prevent ld
6587         error when there are unusual characters (such as '!') in the paths.
6588
6589         * Makefile.generic: When there are sources in Ada and the main is in
6590         C/C++, invoke gnatmake with -B, instead of -z.
6591
6592         * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
6593         from VMS_Conversion.
6594         (Process_Argument): New procedure, extracted from VMS_Conversion. Add
6595         specification of argument file on the command line.
6596
6597 2004-01-26  Bernard Banner  <banner@gnat.com>
6598
6599         * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
6600
6601 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
6602
6603         * snames.adb: Update copyright notice.
6604         Add info on slice assignment for controlled arrays.
6605
6606 2004-01-23  Robert Dewar  <dewar@gnat.com>
6607
6608         * exp_aggr.adb: Minor reformatting
6609
6610         * exp_ch9.adb: Minor code clean up
6611         Minor reformatting
6612         Fix bad character in comment
6613
6614         PR ada/13471
6615         * targparm.adb (Get_Target_Parameters): Give clean abort error on
6616         unexpected end of file, along with more detailed message.
6617
6618 2004-01-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6619
6620         * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
6621         PAT.
6622
6623         * decl.c (copy_alias_set): New function.
6624         (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
6625
6626 2004-01-23  Doug Rupp  <rupp@gnat.com>
6627
6628         * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
6629         lib$${file} in case subsequent character is not a separator.
6630
6631 2004-01-23  Vincent Celier  <celier@gnat.com>
6632
6633         * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
6634         when the GCC version is at least 3.
6635
6636         * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
6637         Remove all "Opt.", to prepare for opt split
6638
6639         * prj-part.adb (Parse_Single_Project): New Boolean out parameter
6640         Extends_All. Set to True when the project parsed is an extending all
6641         project. Fails for importing an extending all project only when the
6642         imported project is an extending all project.
6643         (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
6644         depending on the value of Extends_All returned.
6645
6646         * prj-proc.adb (Process): Check that no project shares its object
6647         directory with a project that extends it, directly or indirectly,
6648         including a virtual project.
6649         Check that no project extended by another project shares its object
6650         directory with another also extended project.
6651
6652         * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
6653         Kind = N_With_Clause
6654
6655         * prj-tree.ads: Minor reformatting
6656         Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
6657
6658 2004-01-23  Ed Schonberg  <schonberg@gnat.com>
6659
6660         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
6661         applies to a type with an incomplete view, use full view in Name of
6662         clause, for consistency with uses of Get_Attribute_Definition_Clause.
6663
6664 2004-01-23  Arnaud Charlet  <charlet@act-europe.fr>
6665
6666         * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
6667         SCHED_RR, since other values are not supported by this policy.
6668         (Initialize): Move initialization of mutex attribute to package
6669         elaboration, to prevent early access to this variable.
6670
6671         * Makefile.in: Remove mention of Makefile.adalib, unused.
6672
6673         * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
6674         1ssecsta.ads: Removed, unused.
6675
6676 2004-01-21  Javier Miranda  <miranda@gnat.com>
6677
6678         * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
6679         entity if already built in the current scope.
6680
6681         * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
6682         reminder in internal scopes. Required for nested limited aggregates.
6683
6684 2004-01-21  Doug Rupp  <rupp@gnat.com>
6685
6686         * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
6687         VMS. Replace all occurences of libgnat- and libgnarl- with
6688         libgnat$(hyphen) and libgnarl$(hyphen).
6689         Fixed shared library build problem on VMS.
6690
6691 2004-01-21  Robert Dewar  <dewar@gnat.com>
6692
6693         * mlib-prj.adb: Minor reformatting
6694
6695 2004-01-21  Thomas Quinot  <quinot@act-europe.fr>
6696
6697         * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
6698         'constant' keywords for declaration of pointers that are not modified.
6699
6700         * exp_pakd.adb: Fix English in comment.
6701
6702 2004-01-21  Ed Schonberg  <schonberg@gnat.com>
6703
6704         PR ada/10889
6705         * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
6706         copy all attributes of the parent, including the foreign language
6707         convention.
6708
6709 2004-01-21  Sergey Rybin  <rybin@act-europe.fr>
6710
6711         PR ada/10565
6712         * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
6713         for 'delay until' statement.
6714
6715 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
6716
6717         * Make-lang.in: Replace $(docdir) with doc.
6718         (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
6719         doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
6720         to use consistent MAKEINFO rule.
6721         (ada.man, ada.srcman): Dummy entry.
6722         (ADA_INFOFILES): Define.
6723         (ada.info, ada.srcinfo): New rules.
6724
6725 2004-01-19  Arnaud Charlet  <charlet@act-europe.fr>
6726
6727         * utils.c: Update copyright notice, missed in previous change.
6728
6729 2004-01-19  Vincent Celier  <celier@gnat.com>
6730
6731         * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
6732         args if Bind is True. Set First_ALI, if not already done.
6733         (Build_Library): For Stand Alone Libraries, extract from one ALI file
6734         an eventual --RTS switch, for gnatbind, and all backend switches +
6735         --RTS, for linking.
6736
6737 2004-01-19  Robert Dewar  <dewar@gnat.com>
6738
6739         * sem_attr.adb, memtrack.adb: Minor reformatting
6740
6741 2004-01-19  Ed Schonberg  <schonberg@gnat.com>
6742
6743         * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
6744         that rename enumeration literals. This is properly done in sem_eval.
6745
6746         * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
6747         to functions that rename enumeration literals.
6748
6749         * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
6750         functions that rename enumeration literals.
6751
6752 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
6753
6754         * Make-lang.in (utils.o): Depend on target.h.
6755         * utils.c: Include target.h.
6756         (process_attributes): Use targetm.have_named_sections instead
6757         of ASM_OUTPUT_SECTION_NAME.
6758
6759 2004-01-16  Andreas Jaeger  <aj@suse.de>
6760
6761         * Makefile.in: Add $(DESTDIR).
6762
6763 2004-01-15  Olivier Hainque  <hainque@act-europe.fr>
6764
6765         * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
6766         also when not defining if a Size clause applies. That information is
6767         not to be ignored.
6768
6769 2004-01-15  Arnaud Charlet  <charlet@act-europe.fr>
6770
6771         * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
6772         symbolic links for the shared gnat run time when needed.
6773
6774 2004-01-15  Vasiliy Fofanov  <fofanov@act-europe.fr>
6775
6776         * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
6777         for writing, and terminate with an error message if not.
6778
6779 2004-01-15  Ed Schonberg  <schonberg@gnat.com>
6780
6781         * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
6782         warning on an access to subprogram in an instance, when the target
6783         type is declared in the same generic unit.
6784         (Eval_Attribute): If 'access is known to fail accessibility check,
6785         rewrite as a raise statement.
6786
6787 2004-01-15  GNAT Script  <nobody@gnat.com>
6788
6789         * Make-lang.in: Makefile automatically updated
6790
6791 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
6792
6793         * Make-lang.in (ada.srcextra): Dummy entry.
6794
6795 2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
6796
6797         * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
6798
6799 2004-01-13  Ed Schonberg  <schonberg@gnat.com>
6800
6801         * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
6802         components that are initialized with aggregates.
6803
6804 2004-01-13  Vincent Celier  <celier@gnat.com>
6805
6806         * gnatlink.adb (Process_Binder_File): To find directory of shared
6807         libgcc, if "gcc-lib" is not a subdirectory, look for the last
6808         subdirectory "lib" in the path of the shared libgnat or libgnarl.
6809
6810         * make.adb (Gnatmake): If GCC version is at least 3, link with
6811         -shared-libgcc, when there is at least one shared library project.
6812
6813         * opt.ads (GCC_Version): New integer constant.
6814
6815         * adaint.c (get_gcc_version): New function.
6816
6817 2004-01-13  Robert Dewar  <dewar@gnat.com>
6818
6819         * sem_dist.adb, sem_res.adb, sem_util.adb,
6820         sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
6821         exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
6822
6823 2004-01-13  Thomas Quinot  <quinot@act-europe.fr>
6824
6825         * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
6826         g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
6827         declarations.
6828
6829 2004-01-12  Arnaud Charlet  <charlet@act-europe.fr>
6830
6831         * misc.c: Remove trailing spaces.
6832         Update copyright notice missed in previous change.
6833
6834         PR ada/13572
6835         * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
6836         prefix/share/make
6837
6838         * Makefile.generic: Update copyright.
6839         Add license notice.
6840
6841         * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
6842         of prefix/share/make.
6843
6844         * Makefile.prolog: Update copyright.
6845         Add license notice.
6846
6847 2004-01-12  Laurent Pautet  <pautet@act-europe.fr>
6848
6849         * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
6850         3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
6851         g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
6852         instead of String.
6853
6854         * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
6855         signature.
6856
6857 2004-01-12  Javier Miranda  <miranda@gnat.com>
6858
6859         * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
6860         exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
6861         sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
6862         sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
6863         Component_Definition node.
6864
6865 2004-01-12  Ed Falis  <falis@gnat.com>
6866
6867         * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
6868
6869 2004-01-12  Thomas Quinot  <quinot@act-europe.fr>
6870
6871         * link.c: Change default libgnat kind to STATIC for FreeBSD.
6872
6873 2004-01-12  Bernard Banner  <banner@gnat.com>
6874
6875         * Makefile.in: map 86numaux to a-numaux for x86_64
6876
6877 2004-01-12  Ed Schonberg  <schonberg@gnat.com>
6878
6879         * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
6880         generated to rename a generic actual, go to the actual itself, the
6881         subtype is not a user-visible entity.
6882
6883         * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
6884         part is a private subtype, reset the visibility of its full view, if
6885         any, to be consistent.
6886
6887         PR ada/13417
6888         * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
6889         to use a generic package G as a formal package for another generic
6890         declared within G.
6891
6892 2004-01-12  Robert Dewar  <dewar@gnat.com>
6893
6894         * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
6895
6896         * usage.adb: Remove mention of obsolete -gnatwb switch
6897         Noticed during code reading
6898
6899 2004-01-12  Jerome Guitton  <guitton@act-europe.fr>
6900
6901         * 1ssecsta.adb: Minor changes for -gnatwa warnings
6902
6903 2004-01-12  GNAT Script  <nobody@gnat.com>
6904
6905         * Make-lang.in: Makefile automatically updated
6906
6907 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
6908
6909         * misc.c (gnat_expand_expr): Add alt_rtl parameter.
6910
6911 2004-01-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6912
6913         * link.c [sgi] (shared_libgnat_default): Change to STATIC.
6914
6915 2004-01-05  Kelley Cook  <kcook@gcc.gnu.org>
6916
6917         * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
6918         Update comment and copyright date.
6919         * stamp-xgnatug: Delete.
6920
6921 2004-01-05  Robert Dewar  <dewar@gnat.com>
6922
6923         * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
6924         be modified by the binder generated main program if the -D switch is
6925         used.
6926
6927         * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
6928         imported functions (since now we expect this to be done for imported
6929         functions)
6930
6931         * 5vtaprop.adb: Add several ??? for sections requiring more comments
6932         Minor reformatting throughout
6933
6934         * 5zinit.adb: Minor reformatting
6935         Add 2004 to copyright date
6936         Minor changes to avoid -gnatwa warnings
6937         Correct some instances of using OR instead of OR ELSE (noted while
6938         doing reformatting)
6939
6940         * sprint.adb: Minor updates to avoid -gnatwa warnings
6941
6942         * s-secsta.ads, s-secsta.adb:
6943         (SS_Get_Max): New function to obtain high water mark for ss stack
6944         Default_Secondary_Stack is not a constant since it may be modified by
6945         the binder generated main program if the -D switch is used.
6946
6947         * switch-b.adb: New -Dnnn switch for binder
6948
6949         * switch-c.adb:
6950         Make -gnatg imply all warnings currently in -gnatwa
6951
6952         * vms_conv.adb: Minor reformatting
6953         Add 2004 to copyright notice
6954         Add 2004 to printed copyright notice
6955
6956         * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
6957         3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
6958         5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
6959         5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
6960         5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
6961         5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
6962         5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
6963         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
6964         5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
6965         5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
6966         6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
6967         vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
6968         xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
6969         sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
6970         checks.adb, clean.adb, cstand.adb, einfo.ads,
6971         einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
6972         exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
6973         prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
6974         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
6975         g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
6976         lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
6977         Minor reformatting and code clean ups.
6978         Minor changes to prevent -gnatwa warnings
6979
6980         * ali.adb: Minor reformatting and cleanup of code
6981         Acquire new SS indication of secondary stack use from ali files
6982
6983         * a-numaux.ads: Add Pure_Function pragmas for all imported functions
6984         (since now we expect this to be done for imported functions)
6985
6986         * bindgen.adb: Generate call to modify default secondary stack size if
6987         -Dnnn switch given
6988
6989         * bindusg.adb: Add line for new -D switch
6990
6991         * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
6992         replacement name for Type_May_Have_Non_Bit_Aligned_Components!
6993         Add circuitry for both records and arrays to avoid gigi
6994         processing if the type involved has non-bit-aligned components
6995
6996         * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
6997         N_String_Literal node always references an E_String_Literal_Subtype
6998         entity. This may not be true in the future.
6999         (Possible_Bit_Aligned_Component): Move processing of
7000         Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
7001
7002         * exp_ch6.adb (Expand_Thread_Body): Pick up
7003         Default_Secondary_Stack_Size as variable so that we get value modified
7004         by possible -Dnnn binder parameter.
7005
7006         * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
7007         (Type_May_Have_Bit_Aligned_Components): New function.
7008
7009         * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
7010         (Type_May_Have_Bit_Aligned_Components): New function.
7011
7012         * fe.h: (Set_Identifier_Casing): Fix prototype.
7013         Add declaration for Sem_Elim.Eliminate_Error_Msg.
7014         Minor reformatting.
7015
7016         * freeze.adb (Freeze_Entity): Add RM reference to error message about
7017         importing constant atomic/volatile objects.
7018         (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
7019         unless explicit Pure_Function pragma given, to avoid insidious bug of
7020         call to non-pure imported function getting eliminated.
7021
7022         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
7023         gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
7024         gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
7025         Add 2004 to printed copyright notice
7026
7027         * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
7028         stack used.
7029
7030         * Makefile.rtl: Add entry for g-sestin.o
7031         g-sestin.ads: New file.
7032
7033         * mdll.adb: Minor changes to avoid -gnatwa warnings
7034
7035         * mlib-tgt.adb: Minor reformatting
7036
7037         * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
7038         New switch Sec_Stack_Used (GNAT, GNATBIND)
7039         Make Default_Secondary_Stack_Size a variable instead of a constant,
7040         so that it can be modified by the new -Dnnn bind switch.
7041
7042         * rtsfind.adb (Load_Fail): Give full error message in configurable
7043         run-time mode if all_errors mode is set. This was not done in the case
7044         of a file not found, which was an oversight.
7045         Note if secondary stack unit is used by compiler.
7046
7047         * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
7048         ineffective elaborate all pragmas on non-visible packages (this
7049         happened when a renamed subprogram was called). Now the elaborate all
7050         always goes on the package containing the renaming rather than the one
7051         containing the renamed subprogram.
7052
7053         * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
7054         (Process_Eliminate_Pragma): Add parameter to capture pragma location.
7055
7056         * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
7057         has an Etype that references an E_String_Literal.
7058         (Eval_String_Literal): Avoid assumption that N_String_Literal node
7059         always references an E_String_Literal_Subtype entity. This may not
7060         be true in the future.
7061
7062         * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
7063         pragma location.
7064
7065         * sem_res.adb (Resolve): Specialize msg for function name used in proc
7066         call.
7067
7068 2004-01-05  Ed Falis  <falis@gnat.com>
7069
7070         * g-debuti.adb: Replaced direct boolean operator with short-circuit
7071         form.
7072
7073 2004-01-05  Vincent Celier  <celier@gnat.com>
7074
7075         * bld.adb: Minor comment updates
7076         (Process_Declarative_Items): Correct incorrect name (Index_Name instead
7077         of Item_Name).
7078
7079         * make.adb (Gnatmake): Special process for files to compile/check when
7080         -B is specified. Fail when there are only foreign mains in attribute
7081         Main of the project file and -B is not specified. Do not skip bind/link
7082         steps when -B is specified.
7083
7084         * makeusg.adb: Document new switch -B
7085
7086         * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
7087
7088         * switch-m.adb: (Scan_Make_Switches): Process -B switch
7089
7090         * vms_data.ads: Add new GNAT PRETTY qualifier
7091         /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
7092
7093 2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7094
7095         * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
7096         case.
7097
7098         * misc.c (gnat_printable_name): If VERBOSITY is 2, call
7099         Set_Identifier_Casing.
7100
7101         * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
7102         has size that overflows.
7103
7104 2004-01-05  Gary Dismukes  <dismukes@gnat.com>
7105
7106         * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
7107         -gnatwa warning on static condition.
7108
7109 2004-01-05  Doug Rupp  <rupp@gnat.com>
7110
7111         * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
7112
7113 2004-01-05  Arnaud Charlet  <charlet@act-europe.fr>
7114
7115         * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
7116         all attributes, including read-only attribute.
7117
7118 2004-01-05  Pascal Obry  <obry@gnat.com>
7119
7120         * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
7121         library naming scheme.
7122
7123         * mlib-prj.adb (Build_Library): Generate different names for the static
7124         or dynamic version of the GNAT runtime. This is needed to support the
7125         new shared library naming scheme.
7126         (Process_Binder_File): Add detection of shared library in binder file
7127         based on the new naming scheme.
7128
7129         * gnatlink.adb (Process_Binder_File): Properly detect the new naming
7130         scheme for the shared runtime libraries.
7131
7132         * Makefile.in:
7133         (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
7134         scheme.
7135         (install-gnatlib): Do not create symlinks for shared libraries.
7136         (gnatlib-shared-default): Idem.
7137         (gnatlib-shared-dual-win32): New target. Not used for now as the
7138         auto-import feature does not support arrays/records.
7139         (gnatlib-shared-win32): Do not create copy for the shared libraries.
7140         (gnatlib-shared-vms): Fix shared runtime libraries names.
7141
7142         * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
7143         dependent runtime shared library name.
7144
7145 2004-01-05  Vasiliy Fofanov  <fofanov@act-europe.fr>
7146
7147         * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
7148         than the object.
7149
7150 2004-01-05  Ed Schonberg  <schonberg@gnat.com>
7151
7152         * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
7153         protected objects when allocator has a subtype indication, not a
7154         qualified expression. Note that qualified expressions may have to be
7155         checked when limited aggregates are implemented.
7156
7157         * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
7158         pure, emit warning.
7159         (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
7160         subprogram is imported, remove warning.
7161
7162 2004-01-05  Geert Bosch  <bosch@gnat.com>
7163
7164         * s-poosiz.adb: Update copyright notice.
7165         (Allocate): Use Task_Lock to protect against concurrent access.
7166         (Deallocate): Likewise.
7167
7168 2004-01-05  Joel Brobecker  <brobecker@gnat.com>
7169
7170         * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
7171         comment.
7172
7173 2003-12-23  Kelley Cook  <kcook@gcc.gnu.org>
7174
7175         * gnat_ug.texi: Force a CVS commit by updating copyright.
7176         * gnat_ug_vxw.texi: Regenerate.
7177         * gnat_ug_wnt.texi: Regenerate.
7178         * gnat_ug_vms.texi: Regenerate.
7179         * gnat_ug_unx.texi: Regenerate.
7180
7181 2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
7182
7183         * trans.c: Remove uses of "register" specifier in
7184         declarations of local variables.
7185
7186 2003-12-18  Kelley Cook  <kcook@gcc.gnu.org>
7187
7188         * stamp-xgnatug: New stamp file.
7189         * Make-lang.in (stamp-xgnatug):  New stamp file and comment.
7190         (ada/doctools/xgnatug): Add $(build_exeext).
7191         (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
7192         ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
7193
7194 2003-12-17  Ed Falis  <falis@gnat.com>
7195
7196         * a-elchha.adb (Tailored_Exception_Information): made Info constant to
7197         eliminate warning.
7198
7199         * a-exextr.adb: Add context clause for
7200         Ada.Exceptions.Last_Chance_Handler.
7201
7202 2003-12-17  Sergey Rybin  <rybin@act-europe.fr>
7203
7204         * cstand.adb (Create_Standard): Change the way how the declaration of
7205         the Duration type is created (making it the same way as it is for all
7206         the other standard types).
7207
7208 2003-12-17  Robert Dewar  <dewar@gnat.com>
7209
7210         * s-crtl.ads: Fix header format
7211         Change Pure to Preelaborate
7212
7213 2003-12-17  Ed Schonberg  <schonberg@gnat.com>
7214
7215         * checks.adb (Selected_Length_Checks): Generate an Itype reference for
7216         the expression type only if it is declared in the current unit.
7217
7218         * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
7219         are universal and already analyzed, as can occur in constrained
7220         subcomponents that depend on discriminants, when one constraint is a
7221         subtype mark.
7222
7223         * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
7224         type Any_Fixed is legal as the argument of a conversion, if only one
7225         fixed-point type is in context.
7226
7227 2003-12-17  GNAT Script  <nobody@gnat.com>
7228
7229         * Make-lang.in: Makefile automatically updated
7230
7231 2003-12-15  Robert Dewar  <dewar@gnat.com>
7232
7233         * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
7234         sec stack size.
7235
7236 2003-12-15  Vincent Celier  <celier@gnat.com>
7237
7238         * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
7239         (Gnatchop): Do not set failure status when reporting the number of
7240         warnings.
7241
7242 2003-12-15  Doug Rupp  <rupp@gnat.com>
7243
7244         * s-ctrl.ads: New file.
7245
7246         * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
7247
7248         * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
7249         (GNATBIND_OBJS): Add ada/s-crtl.o.
7250
7251         * Makefile.in [VMS]: Clean up ifeq rules.
7252
7253         * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
7254         a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
7255         g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
7256         s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
7257         s-tasdeb.adb: Update copyright.
7258         Import System.CRTL.
7259         Make minor modifications to use System.CRTL declared functions instead
7260         of importing locally.
7261
7262 2003-12-15  GNAT Script  <nobody@gnat.com>
7263
7264         * Make-lang.in: Makefile automatically updated
7265
7266 2003-12-11  Ed Falis  <falis@gnat.com>
7267
7268         * 5zinit.adb: Clean up.
7269
7270         * 5zintman.adb (Notify_Exception): replaced case statement with a call
7271         to __gnat_map_signal, imported from init.c to support
7272         signal -> exception mappings that depend on the vxWorks version.
7273
7274         * init.c:
7275         Created and exported __gnat_map_signal to support signal -> exception
7276         mapping that is dependent on the VxWorks version.
7277         Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
7278
7279 2003-12-11  Vasiliy Fofanv  <fofanov@act-europe.fr>
7280
7281         * 5wosinte.ads: Link with -mthreads switch.
7282
7283 2003-12-11  Arnaud Charlet  <charlet@act-europe.fr>
7284
7285         * init.c (__gnat_install_handler [NetBSD]): Set
7286         __gnat_handler_installed, as done on all other platforms.
7287         Remove duplicated code.
7288
7289 2003-12-11  Jerome Guitton  <guitton@act-europe.fr>
7290
7291         * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
7292
7293 2003-12-11  Thomas Quinot  <quinot@act-europe.fr>
7294
7295         * sinfo.ads: Fix inconsistent example code in comment.
7296
7297 2003-12-11  Robert Dewar  <dewar@gnat.com>
7298
7299         * a-tiinau.adb: Add a couple of comments
7300
7301         * sem_ch3.adb: Minor reformatting
7302
7303         * sem_prag.adb:
7304         Fix bad prototype of Same_Base_Type in body (code reading cleanup)
7305         Minor reformatting throughout
7306
7307 2003-12-11  Ed Schonberg  <schonberg@gnat.com>
7308
7309         * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
7310         bounds of a loop, create a separate block in order to generate proper
7311         cleanup actions to prevent memory leaks.
7312
7313         * sem_res.adb (Resolve_Call): After a call to
7314         Establish_Transient_Scope, the call may be rewritten and relocated, in
7315         which case no further processing is needed.
7316
7317         * sem_util.adb: (Wrong_Type): Refine previous fix.
7318          Fixes ACATS regressions.
7319
7320         PR ada/13353
7321
7322         * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
7323         be inlined.
7324
7325 2003-12-08  Jerome Guitton  <guitton@act-europe.fr>
7326
7327         * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
7328         i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
7329         obsolete files.
7330
7331         * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
7332         (rts-zfp): Ditto.
7333
7334 2003-12-08  Robert Dewar  <dewar@gnat.com>
7335
7336         * 7sintman.adb: Minor reformatting
7337
7338         * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
7339         standard linker options to get standard libraries linked. We now plan
7340         to provide dummy versions of these libraries to match the appropriate
7341         configurable run-time (e.g. if a library is not needed at all, provide
7342         a dummy empty library).
7343
7344         * targparm.ads: Configurable_Run_Time mode no longer affects linker
7345         options (-L parameters and standard libraries). What we plan to do is
7346         to provide dummy libraries where the libraries are not required.
7347
7348         * gnatbind.adb: Minor comment improvement
7349
7350 2003-12-08  Javier Miranda  <miranda@gnat.com>
7351
7352         * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
7353         aggregate in the parent. Otherwise constants with limited aggregates
7354         are not supported. Add new formal to pass the component type (Ctype).
7355         It is required to call the corresponding IP subprogram in case of
7356         default initialized components.
7357         (Gen_Assign): In case of default-initialized component, generate a
7358         call to the IP subprogram associated with the component.
7359         (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
7360         of aggregate with default initialized components.
7361         (Has_Default_Init_Comps): Improve implementation to recursively check
7362         all the present expressions.
7363
7364         * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
7365         to indicate that the initialization call corresponds to a
7366         default-initialized component of an aggregate.
7367         In case of default initialized aggregate with tasks this parameter is
7368         used to generate a null string (this is just a workaround that must be
7369         improved later). In case of discriminants, this parameter is used to
7370         generate a selected component node that gives access to the discriminant
7371         value.
7372
7373         * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
7374         subprogram, based on Build_Task_Allocate_Block, but adapted to expand
7375         allocated aggregates with default-initialized components.
7376
7377         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
7378         the box notation is used in positional aggregates.
7379
7380 2003-12-08  Samuel Tardieu  <tardieu@act-europe.fr>
7381
7382         * lib.ads: Fix typo in comment
7383
7384 2003-12-08  Vincent Celier  <celier@gnat.com>
7385
7386         * prj.adb (Project_Empty): New component Unkept_Comments
7387         (Scan): Remove procedure; moved to Prj.Err.
7388
7389         * prj.ads (Project_Data): New Boolean component Unkept_Comments
7390         (Scan): Remove procedure; moved to Prj.Err.
7391
7392         * prj-dect.adb: Manage comments for the different declarations.
7393
7394         * prj-part.adb (With_Record): New component Node
7395         (Parse): New Boolean parameter Store_Comments, defaulted to False.
7396         Set the scanner to return ends of line and comments as tokens, if
7397         Store_Comments is True.
7398         (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
7399         comments are associated with these nodes. Store the node IDs in the
7400         With_Records.
7401         (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
7402         With_Records.
7403         (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
7404         the N_Project node. Call Tree.Save and Tree.Reset before scanning the
7405         current project. Call Tree.Restore afterwards. Set the various nodes
7406         for comment storage (Next_End, End_Of_Line, Previous_Line,
7407         Previous_End).
7408
7409         * prj-part.ads (Parse): New Boolean parameter Store_Comments,
7410         defaulted to False.
7411
7412         * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
7413         to False. When Truncated is True, truncate the string, never go to the
7414         next line.
7415         (Write_End_Of_Line_Comment): New procedure
7416         (Print): Process comments for nodes N_With_Clause,
7417         N_Package_Declaration, N_String_Type_Declaration,
7418         N_Attribute_Declaration, N_Typed_Variable_Declaration,
7419         N_Variable_Declaration, N_Case_Construction, N_Case_Item.
7420         Process nodes N_Comment.
7421
7422         * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
7423         without comments and there are some comments, set the flag
7424         Unkept_Comments to True.
7425         (Scan): If there are comments, set the flag Unkept_Comments to True and
7426         clear the comments.
7427         (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
7428         (Next_End_Nodes: New table
7429         (Comment_Zones_Of): New function
7430         (Scan): New procedure; moved from Prj. Accumulate comments in the
7431         Comments table and set end of line comments, comments after, after end
7432         and before end.
7433         (Add_Comments): New procedure
7434         (Save, Restore, Seset_State): New procedures
7435         (There_Are_Unkept_Comments): New function
7436         (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
7437         (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
7438         procedures.
7439         (First_Comment_After, First_Comment_After_End): New functions
7440         (First_Comment_Before, First_Comment_Before_End): New functions
7441         (Next_Comment): New function
7442         (End_Of_Line_Comment, Follows_Empty_Line,
7443         Is_Followed_By_Empty_Line): New functions
7444         (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
7445         (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
7446         (Set_Next_Comment): New procedure
7447         (Default_Project_Node): Associate comment before if the node can store
7448         comments.
7449
7450         * scans.ads (Token_Type): New enumeration value Tok_Comment
7451         (Comment_Id): New global variable
7452
7453         * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
7454         defaulted to False.
7455         (Scan): Store position of start of comment. If comments are tokens, set
7456         Comment_Id and set Token to Tok_Comment when scanning a comment.
7457         (Set_Comment_As_Token): New procedure
7458
7459         * sinput-p.adb: Update Copyright notice
7460         (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
7461         that no longer exists.
7462
7463 2003-12-08  Javier Miranda  <miranda@gnat.com>
7464
7465         * sem_aggr.adb: Add dependence on Exp_Tss package
7466         Correct typo in comment
7467         (Resolve_Aggregate): In case of array aggregates set the estimated
7468         type of the aggregate before calling resolve. This is needed to know
7469         the name of the corresponding IP in case of limited array aggregates.
7470         (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
7471         in case of default initialized array components.
7472
7473         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
7474         types. Required to give support to limited aggregates in generic
7475         formals.
7476
7477 2003-12-08  Ed Schonberg  <schonberg@gnat.com>
7478
7479         * sem_ch3.adb (Check_Initialization): For legality purposes, an
7480         inlined body functions like an instantiation.
7481         (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
7482         until bounds are analyzed, to diagnose premature use of type.
7483
7484         * sem_util.adb (Wrong_Type): Improve error message when the type of
7485         the expression is used prematurely.
7486
7487 2003-12-08  GNAT Script  <nobody@gnat.com>
7488
7489         * Make-lang.in: Makefile automatically updated
7490
7491 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
7492
7493         * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
7494         they are automatically generated by Make-lang.in and cause nothing but
7495         maintenance troubles.
7496
7497 2003-12-05  Thomas Quinot  <quinot@act-europe.fr>
7498
7499         * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
7500         version of this unit).
7501
7502 2003-12-05  Olivier Hainque  <hainque@act-europe.fr>
7503
7504         * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
7505         5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
7506         5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
7507         the body of System.Interrupt_Management common to several targets.
7508         Update copyright notice when appropriate.
7509
7510         * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
7511         constant.
7512
7513         * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
7514         to ensure that the kernel fills in the interrupted context structure
7515         before calling a signal handler, which is necessary to be able to
7516         unwind past it. Update the copyright notice.
7517
7518 2003-12-05  Jerome Guitton  <guitton@act-europe.fr>
7519
7520         * a-elchha.ads: New file.
7521
7522         * a-elchha.adb: New default last chance handler. Contents taken from
7523         Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
7524
7525         * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
7526         is moved to a-elchha.adb to provide a target-independent default last
7527         chance handler.
7528
7529         * Makefile.rtl: Add a-elchha.o
7530
7531         * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
7532
7533 2003-12-05  Ed Schonberg  <schonberg@gnat.com>
7534
7535         * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
7536         declared in an instance, do not inline the call if the instance is not
7537         frozen yet, to prevent order of elaboration problems.
7538
7539         * sem_prag.adb: Add comments for previous fix.
7540
7541 2003-12-05  Samuel Tardieu  <tardieu@act-europe.fr>
7542
7543         * g-table.adb: Use the right variable in Set_Item.
7544         Update copyright notice.
7545
7546 2003-12-05  Arnaud Charlet  <charlet@act-europe.fr>
7547
7548         * Makefile.in: Remove unused rules.
7549
7550 2003-12-05  Vincent Celier  <celier@gnat.com>
7551
7552         * switch-c.adb (Scan_Front_End_Switches): Remove processing of
7553         -nostdlib. Not needed here after all.
7554
7555 2003-12-03  Thomas Quinot  <quinot@act-europe.fr>
7556
7557         PR ada/11724
7558
7559         * adaint.h, adaint.c, g-os_lib.ads:
7560         Do not assume that the offset argument to lseek(2) is a 32 bit integer,
7561         on some platforms (including FreeBSD), it is a 64 bit value.
7562         Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
7563
7564 2003-12-03  Arnaud Charlet  <charlet@act-europe.fr>
7565
7566         * gnatvsn.ads (Library_Version): Now contain only the relevant
7567         version info.
7568         (Verbose_Library_Version): New constant.
7569
7570         * g-spipat.adb, g-awk.adb, g-debpoo.adb,
7571         g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
7572         s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
7573
7574         * gnatlbr.adb: Clean up: replace Library_Version by
7575         Verbose_Library_Version.
7576
7577         * make.adb, lib-writ.adb, exp_attr.adb:
7578         Clean up: replace Library_Version by Verbose_Library_Version.
7579
7580         * 5lintman.adb: Removed.
7581
7582         * Makefile.in:
7583         Update and simplify computation of LIBRARY_VERSION.
7584         Fix computation of GSMATCH_VERSION.
7585         5lintman.adb is no longer used: replaced by 7sintman.adb.
7586
7587 2003-12-03  Robert Dewar  <dewar@gnat.com>
7588
7589         * exp_ch5.adb:
7590         (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
7591         name. Modified to consider small non-bit-packed arrays as troublesome
7592         and in need of component-by-component assigment expansion.
7593
7594 2003-12-03  Vincent Celier  <celier@gnat.com>
7595
7596         * lang-specs.h: Process nostdlib as nostdinc
7597
7598         * back_end.adb: Update Copyright notice
7599         (Scan_Compiler_Arguments): Process -nostdlib directly.
7600
7601 2003-12-03  Jose Ruiz  <ruiz@act-europe.fr>
7602
7603         * Makefile.in:
7604         When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
7605         redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
7606         included in HIE_NONE_TARGET_PAIRS.
7607
7608 2003-12-03  Ed Schonberg  <schonberg@gnat.com>
7609
7610         * sem_attr.adb:
7611         (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
7612         is legal in an instance, because legality is cheched in the template.
7613
7614         * sem_prag.adb:
7615         (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
7616         appplied to an unchecked conversion of a formal parameter.
7617
7618         * sem_warn.adb:
7619         (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
7620         variables.
7621
7622 2003-12-03  Olivier Hainque  <hainque@act-europe.fr>
7623
7624         * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
7625         routines. The second one is new functionality to deal with backtracing
7626         through signal handlers.
7627         (unwind): Split into the two separate subroutines above.
7628         Update the documentation, and deal properly with sizeof (REG) different
7629         from sizeof (void*).
7630
7631 2003-12-01  Nicolas Setton  <setton@act-europe.fr>
7632
7633         * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
7634         so that the debugger can reliably access the value of the parameter,
7635         and therefore is able to display the exception name when an exception
7636         breakpoint is reached.
7637
7638 2003-12-01  Thomas Quinot  <quinot@act-europe.fr>
7639
7640         * fmap.adb: Fix typo in warning message.
7641
7642         * g-socket.ads, g-socket.adb: Make Free a visible instance of
7643         Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
7644
7645 2003-12-01  Vincent Celier  <celier@gnat.com>
7646
7647         * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
7648         ther is no Afile.
7649         (Build_Library): Get the switches only if Default_Switches is declared
7650         in package Binder.
7651
7652 2003-12-01  Ed Schonberg  <schonberg@gnat.com>
7653
7654         * exp_ch6.adb (Expand_Actuals): When applying validity checks to
7655         actuals that are indexed components, reanalyze actual to ensure that
7656         packed array references are properly expanded.
7657
7658         * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
7659         attempted assignment to a discriminant.
7660
7661 2003-12-01  Robert Dewar  <dewar@gnat.com>
7662
7663         * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
7664         reformatting.
7665
7666         * switch-c.adb: Minor reformatting of comments
7667
7668 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
7669
7670         * Makefile.in: Clean ups.
7671
7672 2003-12-01  GNAT Script  <nobody@gnat.com>
7673
7674         * Make-lang.in: Makefile automatically updated
7675
7676 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
7677
7678         * 5wsystem.ads: Disable zero cost exception, not ready yet.
7679
7680 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
7681
7682         * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
7683         to force serialization.
7684
7685 2003-11-26  Thomas Quinot  <quinot@act-europe.fr>
7686
7687         * g-socket.ads, g-socket.adb:
7688         Clarify documentation of function Stream. Introduce a Free procedure
7689         to release the returned Stream once it becomes unused.
7690
7691         * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
7692
7693 2003-11-26  Arnaud Charlet  <charlet@act-europe.fr>
7694
7695         (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
7696         since NT 4 cannot handle timeout values that are too large,
7697         e.g. DWORD'Last - 1.
7698
7699 2003-11-26  Ed Schonberg  <schonberg@gnat.com>
7700
7701         * exp_ch4.adb:
7702         (Expand_N_Slice): Recognize all cases of slices that appear as actuals
7703         in procedure calls and whose expansion must be deferred.
7704
7705         * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
7706         is in exp_ch4.
7707
7708         * sem_ch3.adb:
7709         (Build_Derived_Array_Type): Create operator for unconstrained type
7710         if ancestor is unconstrained.
7711
7712 2003-11-26  Vincent Celier  <celier@gnat.com>
7713
7714         * make.adb (Project_Object_Directory): New global variable
7715         (Change_To_Object_Directory): New procedure
7716         (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
7717         of Change_Dir directly. Do not change working directory to object
7718         directory of main project after each compilation.
7719         (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
7720         directly.
7721         Change to object directory of main project before binding step.
7722         (Initialize): Initialize Project_Object_Directory to No_Project
7723
7724         * mlib-prj.adb:
7725         (Build_Library): Take into account Builder'Default_Switches ("Ada") when
7726         binding a Stand-Alone Library.
7727
7728         * output.adb: Update Copyright notice
7729         (Write_Char): Output buffer when full
7730
7731 2003-11-26  Robert Dewar  <dewar@gnat.com>
7732
7733         * sem_ch13.adb: (Check_Size): Reset size if size is too small
7734
7735         * sem_ch13.ads:
7736         (Check_Size): Fix documentation to include bit-packed array case
7737
7738         * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
7739
7740         * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
7741
7742         * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
7743
7744 2003-11-24  Arnaud Charlet <charlet@act-europe.fr>
7745
7746         PR ada/13142
7747         * utils.c (init_gigi_decls): Change name of built-in setjmp to
7748         __builtin_setjmp, since this is apparently needed by recent
7749         non Ada changes.
7750
7751 2003-11-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7752
7753         * adadecode.c: Only include ctype.h if not IN_GCC.
7754         (__gnat_decode): Use ISDIGIT from safe-ctype.h.
7755
7756 2003-11-24  Jose Ruiz  <ruiz@act-europe.fr>
7757
7758         * Makefile.in:
7759         Use 5zintman.ads for VxWorks targets. This file avoid confusion between
7760         signals and interrupts.
7761
7762         * 5zintman.ads: New File.
7763
7764         * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
7765         add exception signals to the set of unmasked signals.
7766
7767         * 5ztaprop.adb:
7768         Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
7769         between signals and interrupts.
7770         Add to Unblocked_Signal_Mask the set of signals that are in
7771         Keep_Unmasked.
7772
7773         * 7sinmaop.adb:
7774         Adding a check to see whether the Interrupt_ID we want to unmask is in
7775         the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
7776         reason is that the index type of the Keep_Unmasked array is not always
7777         Interrupt_ID; it may be a subtype of Interrupt_ID.
7778
7779 2003-11-24  Gary Dismukes  <dismukes@gnat.com>
7780
7781         * exp_util.adb:
7782         (Remove_Side_Effects): Condition constantness of object created for a
7783          an unchecked type conversion on the constantness of the expression
7784          to ensure the correct value for 'Constrained when passing components
7785          of view-converted class-wide objects.
7786
7787 2003-11-24  Robert Dewar  <dewar@gnat.com>
7788
7789         * par-load.adb (Load): Improve handling of misspelled and missing units
7790         Removes several cases of compilation abandoned messages
7791
7792         * lib.adb: (Remove_Unit): New procedure
7793
7794         * lib.ads: (Remove_Unit): New procedure
7795
7796         * lib-load.adb: Minor reformatting
7797
7798 2003-11-24  Vincent Celier  <celier@gnat.com>
7799
7800         * make.adb:
7801         (Gnatmake, Initialize): Call Usage instead of Makeusg directly
7802         (Marking_Label): Label to mark processed source files. Incremented for
7803         each executable.
7804         (Gnatmake): Increase Marking_Labet for each executable
7805         (Is_Marked): Compare against marking label
7806         (Mark): Mark with marking label
7807
7808 2003-11-24  Jerome Guitton  <guitton@act-europe.fr>
7809
7810         * s-thread.ads:
7811         Move the declaration of the TSD for System.Threads to System.Soft_Links.
7812         Add some comments.
7813
7814         * Makefile.in: Added target pair for s-thread.adb for cert runtime.
7815         (rts-cert): build a single relocatable object for the run-time lib.
7816         Fix perms.
7817
7818 2003-11-24  Vasiliy Fofanov  <fofanov@act-europe.fr>
7819
7820         * Make-lang.in:
7821         Use gnatls rather than gcc to obtain the location of GNAT RTL for
7822         crosstools build.
7823
7824 2003-11-24  Sergey Rybin  <rybin@act-europe.fr>
7825
7826         * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
7827         can not use it as before (that is, as a variable) when dumping it into
7828         the tree file. Add a local variable to store the result of this
7829         function and to be used as the string to be written into the tree.
7830
7831         * scn.adb (Initialize_Scanner): Add comments explaining the recent
7832         changes.
7833
7834         * sinput.adb (Source_First, Source_Last): In case of
7835         Internal_Source_File, replace returning attributes of
7836         Internal_Source_Ptr (which is wrong) with returning attributes of
7837         Internal_Source.
7838
7839 2003-11-24  Ed Schonberg  <schonberg@gnat.com>
7840
7841         * sem_ch3.adb:
7842         (New_Concatenation_Op): Proper name for New_Binary_Operator, only
7843         used for implicit concatenation operators.
7844         Code cleanup.
7845
7846         * sem_elab.adb:
7847         (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
7848         task bodies that are in the scope of a Suppress pragma.
7849         (Check_A Call): Use the flag to prevent spurious elaboration checks.
7850
7851         * sinfo.ads, sinfo.adb:
7852         New flag No_Elaboration_Check on function/procedure calls, to properly
7853         suppress checks on calls in task bodies that are within a local suppress
7854         pragma.
7855
7856         * exp_ch4.adb:
7857         (Expand_Concatenate_Other): Use the proper integer type for the
7858         expression for the upper bound, to avoid universal_integer computations
7859         when possible.
7860
7861 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
7862
7863         * .cvsignore: Delete.
7864
7865 2003-11-21  Andreas Schwab  <schwab@suse.de>
7866
7867         * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
7868
7869 2003-11-21  Vasiliy Fofanov  <fofanov@act-europe.fr>
7870
7871         * 5wsystem.ads: Enable zero cost exception.
7872
7873 2003-11-21  Jerome Guitton  <guitton@act-europe.fr>
7874
7875         * 5ztiitho.adb: Remove an unreferenced variable.
7876
7877 2003-11-21  Thomas Quinot  <quinot@act-europe.fr>
7878
7879         * adaint.c: For FreeBSD, use mkstemp.
7880
7881 2003-11-21  Arnaud Charlet  <charlet@act-europe.fr>
7882
7883         * gnatlbr.adb: Now reference Gnat_Static_Version_String.
7884
7885 2003-11-21  Robert Dewar  <dewar@gnat.com>
7886
7887         * bld.adb: Remove useless USE of gnatvsn
7888
7889         * gnatchop.adb: Minor reformatting
7890         Clean up version handling to be more consistent
7891
7892         * gnatxref.adb: Minor reformatting
7893
7894         * gprcmd.adb: Minor reformatting
7895         Fix output of copyright to be more consistent with other tools
7896
7897 2003-11-21  Vincent Celier  <celier@gnat.com>
7898
7899         * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
7900
7901 2003-11-21  Sergey Rybin  <rybin@act-europe.fr>
7902
7903         * atree.adb (Initialize): Add initializations for global variables
7904         used in New_Copy_Tree.
7905
7906         * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
7907         Internal_Source_File as the actual).
7908         Put the set of statements creating Any_Character before the set of
7909         statements creating Any_Array to have Any_Character fully initialized
7910         when it is used in creating Any_Array.
7911
7912         * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
7913         not call Scan in case if the actual is Internal_Source_File
7914         Add 2003 to copyright note.
7915
7916         * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
7917         processing Internal_Source_File.
7918
7919         * types.ads: Add the constant Internal_Source_File representing the
7920         source buffer for artificial source-code-like strings created within
7921         the compiler (the definition of Source_File_Index is changed).
7922
7923 2003-11-20  Arnaud Charlet  <charlet@act-europe.fr>
7924
7925         * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
7926         56system.ads: New file, FreeBSD version.
7927
7928 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
7929
7930         * Make-lang.in (ada.extraclean): Delete.
7931
7932 2003-11-19  Arnaud Charlet  <charlet@act-europe.fr>
7933
7934         * gnatmem.adb: Clean up verbose output.
7935
7936         * gprcmd.adb: Change copyright to FSF.
7937
7938 2003-11-19  Vincent Celier  <celier@gnat.com>
7939
7940         * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
7941         and Version (ignored).
7942
7943         * symbols.ads: (Policy): New type
7944         (Initialize): New parameter Reference, Symbol_Policy and
7945         Library_Version.
7946         Remove parameter Force.
7947         Minor reformatting.
7948
7949         * snames.ads, snames.adbadb: New standard names
7950         Library_Reference_Symbol_File and Library_Symbol_Policy
7951
7952         * mlib-prj.adb:
7953         (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
7954         project.
7955
7956         * mlib-tgt.adb:
7957         (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
7958
7959         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
7960
7961         * prj.adb: (Project_Empty): New component Symbol_Data
7962
7963         * prj.ads: (Policy, Symbol_Record): New types
7964         (Project_Data): New component Symbol_Data
7965
7966         * prj-attr.adb:
7967         New attributes Library_Symbol_File, Library_Symbol_Policy and
7968         Library_Reference_Symbol_File.
7969
7970         * prj-nmsc.adb:
7971         (Ada_Check): When project is a Stand-Alone library project, process
7972         attribute Library_Symbol_File, Library_Symbol_Policy and
7973         Library_Reference_Symbol_File.
7974
7975         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
7976         5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
7977         5sml-tgt.adb (Build_Dynamic_Library): New parameter
7978         Symbol_Data (ignored).
7979
7980         * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
7981         (Build_Dynamic_Library): New parameter Symbol_Data. New internal
7982         functions Option_File_Name and Version_String. Set new options of
7983         gnatsym related to symbol file, symbol policy and reference symbol
7984         file.
7985
7986         * 5vsymbol.adb:
7987         Extensive modifications to take into account the reference symbol file,
7988         the symbol policy, the library version and to put in the symbol file the
7989         minor and major IDs.
7990
7991         * bld.adb (Process_Declarative_Items): Put second argument of
7992         gprcmd to_absolute between single quotes, to avoid problems with
7993         Windows.
7994
7995         * bld-io.adb: Update Copyright notice.
7996         (Flush): Remove last character of a line, if it is a back slash, to
7997         avoid make problems.
7998
7999         * gnatsym.adb:
8000         Implement new scheme with reference symbol file and symbol policy.
8001
8002         * g-os_lib.ads: (Is_Directory): Clarify comment
8003
8004 2003-11-19  Robert Dewar  <dewar@gnat.com>
8005
8006         * atree.adb: Move New_Copy_Tree global variables to head of package
8007
8008         * errout.adb: Minor reformatting
8009
8010 2003-11-19  Javier Miranda  <miranda@gnat.com>
8011
8012         * sem_ch4.adb: (Diagnose_Call): Improve error message.
8013         Add reference to Ada0Y (AI-50217)
8014
8015         * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
8016         sem_util.adb: Add reference to AI-50217
8017
8018         * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
8019
8020         * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
8021
8022         * sem_aggr.adb: Complete documentation of AI-287 changes
8023
8024         * par-ch4.adb: Document previous changes.
8025
8026         * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
8027         sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
8028         Ada0Y (AI-50217)
8029
8030         * exp_aggr.adb: Add references to AI-287 in previous changes
8031
8032 2003-11-19  Ed Schonberg  <schonberg@gnat.com>
8033
8034         * exp_ch6.adb:
8035         (Add_Call_By_Copy_Node): Do not original node of rewritten expression
8036         in the rewriting is the result of an inlined call.
8037
8038         * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
8039         parameter is a type conversion, use original node to construct the
8040         post-call assignment, because expression may have been rewritten, e.g.
8041         if it is a packed array.
8042
8043         * sem_attr.adb:
8044         (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
8045         body, just as it is in an instance.
8046         Categorization routines
8047
8048         * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
8049         Instantiate_Object): Set proper sloc reference for message on missing
8050         actual.
8051
8052 2003-11-19  Thomas Quinot  <quinot@act-europe.fr>
8053
8054         * Makefile.in: Add FreeBSD libgnat pairs.
8055
8056         * usage.adb: Fix typo in usage message.
8057
8058 2003-11-19  Jerome Guitton  <guitton@act-europe.fr>
8059
8060         * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
8061         s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
8062         pragma Thread_Body.
8063         Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
8064
8065         * s-thread.adb: This file is now a dummy implementation of
8066         System.Thread.
8067
8068 2003-11-19  Sergey Rybin  <rybin@act-europe.fr>
8069
8070         * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
8071
8072 2003-11-19  Emmanuel Briot  <briot@act-europe.fr>
8073
8074         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
8075         instanciation references in the parent type description.
8076
8077 2003-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8078
8079         * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
8080
8081         * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
8082         TYPE_PRECISION directly from esize.
8083
8084 2003-11-18  Thomas Quinot  <quinot@act-europe.fr>
8085
8086         * cstreams.c:
8087         Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
8088
8089         * init.c: Initialization routines for FreeBSD
8090
8091         * link.c: Link info for FreeBSD
8092
8093         * sysdep.c: Add the case of FreeBSD
8094
8095 2003-11-17  Jerome Guitton  <guitton@act-europe.fr>
8096
8097         * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
8098         already called in System.Threads.
8099
8100         * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
8101         environment task, as it has been moved to System.Threads.Initialization.
8102
8103 2003-11-17  Arnaud Charlet  <charlet@act-europe.fr>
8104
8105         * adaint.c (__gnatlib_install_locks): Only reference
8106         __gnat_install_locks on VMS, since other platforms can avoid using
8107         --enable-threads=gnat
8108
8109 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8110
8111         * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
8112
8113         * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
8114         TYPE_PACKED_ARRAY_TYPE_P.
8115         (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
8116
8117         Part of PR ada/12806
8118         * utils.c (float_type_for_precision): Renamed from float_type_for_size.
8119         Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
8120
8121 2003-11-17  Vincent Celier  <celier@gnat.com>
8122
8123         * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
8124         to False.
8125         Do not set exit status to Failure when Warning is True.
8126         (Gnatchop): Make errors "no compilation units found" and
8127         "no source files written" warnings only.
8128
8129         * make.adb (Gnatmake): When using a project file, set
8130         Look_In_Primary_Dir to False.
8131         (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
8132         and Local_Configuration_Pragmas in the project where they are declared
8133         not an extending project which might have inherited them.
8134
8135         * osint.adb (Locate_File): If Name is already an absolute path, do not
8136         look for a directory.
8137
8138         * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
8139         -gnats (Check_Syntax) is used, issue only a warning, not an error.
8140
8141         * prj.adb (Register_Default_Naming_Scheme): Add new component Project
8142         in objects of type Variable_Value.
8143
8144         * prj.ads: (Variable_Value): New component Project
8145
8146         * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
8147         is in a project extended by Project.
8148
8149         * prj-proc.adb (Add_Attributes): New parameter Project. Set component
8150         Project of Variable_Values to this new parameter value.
8151         (Expression): Set component Project of Variable_Values.
8152         (Process_Declarative_Items): Call Add_Attributes with parameter Project.
8153         Set the component Project in array elements.
8154
8155 2003-11-17  Sergey Rybin  <rybin@act-europe.fr>
8156
8157         * errout.adb: (Initialize): Add initialization for error nodes.
8158
8159         * sem_ch12.adb (Initialize): Add missing initializations for
8160         Exchanged_Views and Hidden_Entities.
8161
8162 2003-11-17  Ed Schonberg  <schonberg@gnat.com>
8163
8164         * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
8165         already instantiated tree for use in subsequent inlining.
8166         (Analyze_Associations, Instantiate_Formal_Subprogram,
8167         Instantiate_Object): improve error message for mismatch in
8168         instantiations.
8169
8170         * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
8171         instantiations of subprograms declared in instances.
8172
8173 2003-11-17  Javier Miranda  <miranda@gnat.com>
8174
8175         * sem_ch4.adb (Analyze_Allocator): Previous modification must be
8176         executed only under the Extensions_Allowed flag.
8177
8178 2003-11-17  Robert Dewar  <dewar@gnat.com>
8179
8180         * a-exexda.adb (Address_Image): Fix documentation to indicate leading
8181         zeroes suppressed.
8182         (Address_Image): Fix bug of returning 0x instead of 0x0
8183         Minor reformatting (function specs).
8184
8185         * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
8186         (missed case of 33-63)
8187
8188         * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
8189
8190         * s-thread.adb: Add comments for pragma Restriction
8191
8192         * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
8193         sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
8194
8195 2003-11-17  Ed Falis  <falis@gnat.com>
8196
8197         * s-thread.adb: Added No_Tasking restriction for this implementation.
8198
8199 2003-11-17  Emmanuel Briot  <briot@act-europe.fr>
8200
8201         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
8202         instanciation references in the parent type description.
8203
8204 2003-11-17  GNAT Script  <nobody@gnat.com>
8205
8206         * Make-lang.in: Makefile automatically updated
8207
8208 2003-11-16  Jason Merrill  <jason@redhat.com>
8209
8210         * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
8211         and TAGS files that include them for each front end.
8212
8213 2003-11-14  Andreas Jaeger  <aj@suse.de>
8214
8215         * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
8216         is the canonical version.
8217         * misc.c (gnat_handle_option): Likewise.
8218
8219         * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
8220
8221         * 5nsystem.ads: New file for x86_64-linux-gnu.
8222
8223 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
8224
8225         * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
8226
8227         * comperr.adb: Fix logic in previous change.
8228
8229 2003-11-13  Vincent Celier  <celier@gnat.com>
8230
8231         * 5bml-tgt.adb (Build_Dynamic_Library): Use
8232         Osint.Include_Dir_Default_Prefix instead of
8233         Sdefault.Include_Dir_Default_Name.
8234
8235         * gnatlbr.adb: Update Copyright notice
8236         (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
8237         Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
8238         instead of Sdefault.Object_Dir_Default_Name
8239
8240         * gnatlink.adb:
8241         (Process_Binder_File): Never suppress the option following -Xlinker
8242
8243         * mdll-utl.adb:
8244         (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
8245         Sdefault.Object_Dir_Default_Name.
8246
8247         * osint.ads, osint.adb:
8248         (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
8249         Minor reformatting.
8250
8251         * vms_conv.ads: Minor reformating
8252         Remove GNAT STANDARD and GNAT PSTA
8253
8254         * vms_conv.adb:
8255         Allow GNAT MAKE to have several files on the command line.
8256         (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
8257         Sdefault.Object_Dir_Default_Name.
8258         Minor Reformating
8259         Remove data for GNAT STANDARD
8260
8261         * vms_data.ads:
8262         Add new compiler qualifier /PRINT_STANDARD (-gnatS)
8263         Remove data for GNAT STANDARD
8264         Remove options and documentation for -gnatwb/-gnatwB: these warning
8265         options no longer exist.
8266
8267 2003-11-13  Ed Falis  <falis@gnat.com>
8268
8269         * 5zthrini.adb: (Init_RTS): Made visible
8270
8271         * 5zthrini.adb:
8272         (Register): Removed unnecessary call to taskVarGet that checked whether
8273          an ATSD was already set as a task var for the argument thread.
8274
8275         * s-thread.adb:
8276         Updated comment to reflect that this is a VxWorks version
8277         Added context clause for System.Threads.Initialization
8278         Added call to System.Threads.Initialization.Init_RTS
8279
8280 2003-11-13  Jerome Guitton  <guitton@act-europe.fr>
8281
8282         * 5zthrini.adb:
8283         (Init_RTS): New procedure, for the initialization of the run-time lib.
8284
8285         * s-thread.adb:
8286         Remove dependancy on System.Init, so that this file can be used in the
8287         AE653 sequential run-time lib.
8288
8289 2003-11-13  Robert Dewar  <dewar@gnat.com>
8290
8291         * bindgen.adb: Minor reformatting
8292
8293 2003-11-13  Ed Schonberg  <schonberg@gnat.com>
8294
8295         * checks.adb:
8296         (Apply_Discriminant_Check): Do no apply check if target type is derived
8297         from source type with no applicable constraint.
8298
8299         * lib-writ.adb:
8300         (Ensure_System_Dependency): Do not apply the style checks that may have
8301         been specified for the main unit.
8302
8303         * sem_ch8.adb:
8304         (Find_Selected_Component): Further improvement in error message, with
8305         RM reference.
8306
8307         * sem_res.adb:
8308         (Resolve): Handle properly the case of an illegal overloaded protected
8309         procedure.
8310
8311 2003-11-13  Javier Miranda  <miranda@gnat.com>
8312
8313         * exp_aggr.adb:
8314         (Has_Default_Init_Comps): New function to check the presence of
8315         default initialization in an aggregate.
8316         (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
8317         extension aggregate of a limited record. In addition, a new formal
8318         was added to do not initialize the record controller (if any) during
8319         this recursive expansion of ancestors.
8320         (Init_Controller): Add support for limited record components.
8321         (Expand_Record_Aggregate): In case of default initialized components
8322         convert the aggregate into a set of assignments.
8323
8324         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
8325         describing the new syntax.
8326         Nothing else needed to be done because this subprogram delegates part of
8327         its work to P_Precord_Or_Array_Component_Association.
8328         (P_Record_Or_Array_Component_Association): Give support to the new
8329         syntax for default initialization of components.
8330
8331         * sem_aggr.adb:
8332         (Resolve_Aggregate): Relax the strictness of the frontend in case of
8333         limited aggregates.
8334         (Resolve_Record_Aggregate): Give support to default initialized
8335         components.
8336         (Get_Value): In case of default initialized components, duplicate
8337         the corresponding default expression (from the record type
8338         declaration). In case of default initialization in the *others*
8339         choice, do not check that all components have the same type.
8340         (Resolve_Extension_Aggregate): Give support to limited extension
8341         aggregates.
8342
8343         * sem_ch3.adb:
8344         (Check_Initialization): Relax the strictness of the front-end in case
8345         of aggregate and extension aggregates. This test is now done in
8346         Get_Value in a per-component manner.
8347
8348         * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
8349         expression corresponds to a limited aggregate. This test is now done
8350         in Get_Value.
8351
8352         * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
8353         Box_Present flag.
8354
8355         * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
8356         present in an N_Component_Association node
8357
8358 2003-11-13  Thomas Quinot  <quinot@act-europe.fr>
8359
8360         * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
8361         type-conformant entry only if they are homographs.
8362
8363 2003-11-13  GNAT Script  <nobody@gnat.com>
8364
8365         * Make-lang.in: Makefile automatically updated
8366
8367 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8368
8369         * adadecode.c: Use <> form of include for ctype.h.
8370         * sysdep.c [IN_RTS]: Use <> form of include for time.h.
8371
8372 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8373
8374         * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
8375         Works around PR middle-end/6552.
8376
8377 2003-11-10  Ed Falis  <falis@gnat.com>
8378
8379         * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
8380
8381         * 5zinit.adb: (Install_Handler): Moved back to spec
8382         (Install_Signal_Handlers): Deleted
8383
8384         * 5zthrini.adb: Added context clause for System.Storage_Elements
8385         (Register): Only handles creation of taskVar; initialization moved to
8386         Thread_Body_Enter.
8387         (Reset_TSD): Deleted; replaced by Thread_Body_Enter
8388         Added declaration of environment task secondary stack and
8389         initialization.
8390
8391         * s-thread.adb: Implement bodies for thread body processing
8392
8393         * s-thread.ads:
8394         Added comment identifying supported targets for pragma Thread_Body.
8395
8396 2003-11-10  Pascal Obry  <obry@gnat.com>
8397
8398         * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
8399         GNAT_MAX_PATH_LEN.
8400
8401         * s-fileio.adb:
8402         (Open): Properly check for string length before copying into the buffer.
8403         Raises Name_Error if buffer is too small. Note that this was a potential
8404         buffer overflow.
8405
8406 2003-11-10  Romain Berrendonner  <berrendo@act-europe.fr>
8407
8408         * bindgen.adb, comperr.adb: Code clean ups.
8409         * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
8410
8411 2003-11-10  Sergey Rybin  <rybin@act-europe.fr>
8412
8413         * gnat1drv.adb: Add call to Sem_Elim.Initialize.
8414
8415 2003-11-10  Vincent Celier  <celier@gnat.com>
8416
8417         * gprcmd.adb:
8418         (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
8419         installation.
8420
8421         * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
8422
8423         * prj.adb: (Project_Empty): Add new boolean component Virtual
8424
8425         * prj.ads: (Virtual_Prefix): New constant string
8426         (Project_Data): New boolean component Virtual
8427
8428         * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
8429         a library project is extended by a virtual extending project.
8430
8431         * prj-part.adb:
8432         Modifications throughout to implement extending-all project, including:
8433         (Virtual_Hash, Processed_Hash): New hash tables
8434         (Create_Virtual_Extending_Project): New procedure
8435         (Look_For_Virtual_Projects_For): New procedure
8436
8437         * prj-proc.adb:
8438         (Process): After checking the projects, if main project is an
8439         extending-all project, set the object directory of all virtual extending
8440         project to the object directory of the main project.
8441         Adjust error message when a virtual extending project has the same
8442         object directory as an project being extended.
8443         (Recursive_Process): If name starts with the virtual prefix, set Virtual
8444         to True in the project data.
8445
8446         * prj-tree.adb:
8447         (Default_Project_Node): Add new boolean component Extending_All
8448         (Is_Extending_All): New function
8449         (Set_Is_Extending_All): New procedure
8450
8451         * prj-tree.ads: (Is_Extending_All): New function
8452         (Set_Is_Extending_All): New procedure
8453         (Project_Node_Record): New boolean component Extending_All
8454
8455         * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
8456
8457         * vms_data.ads:
8458         Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
8459
8460         * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
8461         "gprcmd prefix" to define it.
8462
8463 2003-11-10  Thomas Quinot  <quinot@act-europe.fr>
8464
8465         * einfo.ads: Fix a typo and remove an extraneous word in comments.
8466
8467         * lib-load.adb:
8468         (Create_Dummy_Package_Unit): Set the scope of the entity for the
8469         created dummy package to Standard_Standard, not to itself, to
8470         defend other parts of the front-end against encoutering a cycle in
8471         the scope chain.
8472
8473         * sem_ch10.adb:
8474         (Analyze_With_Clause): When setting the entities for the successive
8475         N_Expanded_Names that constitute the name of a child unit, do not
8476         attempt to go further than Standard_Standard in the chain of scopes.
8477         This case arises from the placeholder units created by
8478         Create_Dummy_Package_Unit in the case of a with_clause for a
8479         nonexistent child unit.
8480
8481 2003-11-10  Ed Schonberg  <schonberg@gnat.com>
8482
8483         * exp_ch6.adb:
8484         (Expand_Thread_Body): Place subprogram on scope stack, so that new
8485         declarations are given the proper scope.
8486
8487         * sem_ch13.adb:
8488         (Check_Expr_Constants): Reject an expression that contains a constant
8489         created during expansion, and that appears after the object to which
8490         the address clause applies.
8491
8492         * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
8493         Analyze_Iteration_Scheme, to rewrite a loop parameter specification
8494         that uses 'Range of a function call with controlled components, so
8495         that the function result can be finalized before starting the loop.
8496
8497         * sem_ch8.adb:
8498         (Find_Selected_Component): Improve error message when prefix is
8499         an implicit dereference of an incomplete type.
8500
8501 2003-11-10  Robert Dewar  <dewar@gnat.com>
8502
8503         * opt.ads: New Print_Standard flag for -gnatS switch
8504
8505         * sem_ch13.adb: Remove some additional checks for unaligned arrays
8506
8507         * cstand.adb (Create_Standard): Print out package standard if -gnatS
8508         switch set
8509
8510         * debug.adb: Update doc for -gnatds to discuss relationship with new
8511         -gnatS flag
8512
8513         * sinfo.adb: Add new field Entity_Or_Associated_Node
8514
8515         * sinfo.ads: Add new field Entity_Or_Associated_Node
8516         Update documentation for Associated_Node and Entity fields to clarify
8517         relationship and usage.
8518
8519         * sprint.adb:
8520         (Write_Id): Properly process Associated_Node field in generic template
8521
8522         * switch-c.adb:
8523         Recognize new -gnatS switch for printing package Standard
8524         This replaces gnatpsta
8525
8526         * usage.adb:
8527         Add line for  new -gnatS switch for printing package Standard
8528         This replaces gnatpsta
8529
8530 2003-11-10  Andreas Jaeger  <aj@suse.de>
8531
8532         * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
8533         integer.
8534
8535 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
8536
8537         * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
8538         by gnat1.
8539
8540 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
8541
8542         * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
8543         no longer needed.
8544
8545         * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
8546
8547         * sysdep.c: Add handling of cygwin.
8548
8549 2003-11-10  GNAT Script  <nobody@gnat.com>
8550
8551         * Make-lang.in: Makefile automatically updated
8552
8553 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
8554
8555         PR 12950
8556         * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
8557         functions. Used to handle dynamic prefix relocation, via set_std_prefix.
8558         Replace GNAT_ROOT by GCC_ROOT.
8559
8560         * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
8561
8562 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
8563
8564         * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
8565         and update for changed meaning of GET_MODE_BITSIZE.
8566
8567 2003-11-04  Doug Rupp  <rupp@gnat.com>
8568
8569         * sysdep.c: Problem discovered during IA64 VMS port.
8570         [VMS] #include <unixio.h> to get proper prototypes.
8571
8572         * adaint.c:
8573         Issues discovered/problems fixed during IA64 VMS port.
8574         [VMS] #define _POSIX_EXIT for proper semantics.
8575         [VMS] #include <unixio.h> for proper prototypes.
8576         [VMS] (fork): #define IA64 version.
8577         (__gnat_os_exit): Remove unnecessary VMS specific code.
8578
8579 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8580
8581         Part of PR ada/12806
8582
8583         * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
8584         tree, not integer.
8585
8586         * decl.c:
8587         (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
8588         not integer.
8589
8590         * targtyps.c, decl.c, misc.c,
8591         gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
8592         routines to work around change in FP sizing semantics in GCC.
8593
8594         * utils.c:
8595         (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
8596
8597         * gigi.h: (enumerate_modes): New function.
8598
8599         * Make-lang.in: (ada/misc.o): Add real.h.
8600
8601         * misc.c: (enumerate_modes): New function.
8602
8603 2003-11-04  Robert Dewar  <dewar@gnat.com>
8604
8605         * 3vtrasym.adb: Minor reformatting
8606         Use terminology encoded/decoded name, rather than C++ specific notion
8607         of mangling (this is the terminology used throughout GNAT).
8608
8609         * einfo.h: Regenerated
8610
8611         * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
8612
8613         * exp_ch6.adb:
8614         (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
8615
8616         * par-prag.adb: Add dummy entry for Thread_Body pragma
8617
8618         * rtsfind.ads:
8619         Add entries for System.Threads entities for thread body processing
8620
8621         * sem_attr.adb:
8622         (Analyze_Pragma, Access attributes): Check these are not applied to a
8623         thread body, since this is not permitted
8624
8625         * sem_prag.adb: Add processing for Thread_Body pragma.
8626         Minor comment fix.
8627
8628         * sem_res.adb:
8629         (Resolve_Call): Check for incorrect attempt to call a thread body
8630          procedure with a direct call.
8631
8632         * snames.ads, snames.adb: Add entry for Thread_Body pragma
8633         Add names associated with thread body expansion
8634
8635         * snames.h: Add entry for Thread_Body pragma
8636
8637         * s-thread.adb: Add entries for thread body processing
8638         These are dummy bodies so far
8639
8640         * s-thread.ads: Add documentation on thread body handling.
8641         Add entries for thread body processing.
8642
8643 2003-11-04  Javier Miranda  <miranda@gnat.com>
8644
8645         * sem_ch10.adb:
8646         (Build_Limited_Views): Return after posting an error in case of limited
8647         with_clause on subprograms, generics, instances or generic renamings
8648         (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
8649         on subprograms, generics, instances or generic renamings
8650
8651 2003-11-04  Arnaud Charlet  <charlet@act-europe.fr>
8652
8653         * raise.c (setup_to_install): Correct mistake in last revision; two
8654         arguments out of order.
8655
8656         * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
8657         gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
8658         notice, missed in previous change.
8659         Remove trailing blanks and other style errors introduced in previous
8660         change.
8661
8662 2003-11-04  Olivier Hainque  <hainque@act-europe.fr>
8663
8664         * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
8665         rid of the wrapper for a LJM type, ensuring we don't do that if the
8666         field is addressable.  This avoids potential low level type view
8667         mismatches later on, for instance in a by-reference argument passing
8668         process.
8669
8670 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8671
8672         * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
8673         aligned at byte boundary.
8674
8675 2003-11-04  Joel Brobecker  <brobecker@gnat.com>
8676
8677         * decl.c (components_to_record): Do not delete the empty variants from
8678         the end of the union type.
8679
8680 2003-11-04  Ed Schonberg  <schonberg@gnat.com>
8681
8682         * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
8683         operation for a derived type, an explicit declaration may use a local
8684         subtype of Boolean.
8685
8686 2003-11-04  Vincent Celier  <celier@gnat.com>
8687
8688         * make.adb (Gnatmake): Allow main sources on the command line with a
8689         library project when it is only for compilation (no binding or
8690         linking).
8691
8692 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8693
8694         * Makefile.in: Remove many duplicate variables.
8695
8696 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
8697
8698         * Make-lang.in (dvi): Move targets to $(docobjdir).
8699         (gnat_ug_vms.dvi): Simplify rule and adjust target.
8700         (gnat_ug_wnt.dvi): Likewise.
8701         (gnat_ug_unx.dvi): Likewise.
8702         (gnat_ug_vxw.dvi): Likewise.
8703         (gnat_rm.dvi): Likewise.
8704         (gnat-style.dvi): Likewise.
8705
8706 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
8707
8708         * gigi.h: Missed commit from update for C90.
8709
8710 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
8711
8712         * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
8713
8714 2003-10-31  Andreas Schwab  <schwab@suse.de>
8715
8716         * raise.c (get_action_description_for): Fix typo in last change.
8717
8718 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
8719
8720         PR ada/12761
8721         * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
8722         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
8723
8724 2003-10-30  Kelley Cook  <kcook@gcc.gnu.org>
8725
8726         * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
8727         ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
8728         gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
8729         sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
8730         trans.c, utils.c, utils2.c: Convert function prototypes to C90.
8731
8732 2003-10-30  Vasiliy Fofanov  <fofanov@act-europe.fr>
8733
8734         * 3vtrasym.adb:
8735         Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
8736         numbers when symbol name is too long.
8737
8738 2003-10-30  Ed Falis  <falis@gnat.com>
8739
8740         * g-signal.ads, g-signal.adb: New files
8741
8742         * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
8743
8744         * Makefile.rtl: Introduce GNAT.Signals
8745
8746 2003-10-30  Robert Dewar  <dewar@gnat.com>
8747
8748         * freeze.adb: Minor reformatting
8749
8750         * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
8751
8752         * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
8753         par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
8754         New handling of Id_Check parameter to improve recognition of keywords
8755         used as identifiers.
8756         Update copyright notice to include 2003
8757
8758 2003-10-29  Robert Dewar  <dewar@gnat.com>
8759
8760         * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
8761         sem_ch10.adb: Minor reformatting
8762
8763         * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
8764         (Expand_Assign_Record): Test right hand side for bit unaligned as well
8765
8766 2003-10-29  Vasiliy Fofanov  <fofanov@act-europe.fr>
8767
8768         * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
8769         Support for TBK$SYMBOLIZE-based symbolic traceback.
8770
8771 2003-10-29  Jose Ruiz  <ruiz@act-europe.fr>
8772
8773         * exp_disp.adb:
8774         Revert previous change, that did not work well when pragma No_Run_Time
8775         was used in conjunction with a run-time other than ZFP.
8776
8777 2003-10-29  Vincent Celier  <celier@gnat.com>
8778
8779         * make.adb:
8780         (Gnatmake): When there are no Ada mains in attribute Main, disable the
8781          bind and link steps only is switch -z is not used.
8782
8783 2003-10-29  Arnaud Charlet  <charlet@act-europe.fr>
8784
8785         * Makefile.generic: Remove duplicated setting of CC.
8786
8787         * Makefile.prolog: Set CC to gcc by default, to override make's
8788         default (cc).
8789
8790         * einfo.h: Regenerated.
8791
8792 2003-10-29  Ed Schonberg  <schonberg@gnat.com>
8793
8794         * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
8795         current body, after compiling subunit.
8796
8797         * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
8798         when in deleted code, because gigi needs properly ordered freeze
8799         actions to annotate types.
8800
8801         * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
8802         prevent the premature freezing of record type that contains
8803         subcomponents with a private type that does not yet have a completion.
8804
8805 2003-10-29  Javier Miranda  <miranda@gnat.com>
8806
8807         * sem_ch12.adb:
8808         (Analyze_Package_Instantiation): Check that instances can not be used in
8809         limited with_clauses.
8810
8811         * sem_ch8.adb:
8812         (Analyze_Package_Renaming): Check that limited withed packages cannot
8813         be renamed. Improve text on error messages related to limited
8814         with_clauses.
8815
8816         * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
8817
8818         * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
8819         Update copyright notice.
8820
8821         * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
8822         (Install_Limited_Context_Clauses): New subprogram that isolates all the
8823         checks required for limited context_clauses and installs the limited
8824         view.
8825         (Install_Limited_Withed_Unit): Complete its documentation.
8826         (Analyze_Context): Check that limited with_clauses are only allowed in
8827         package specs.
8828         (Install_Context): Call Install_Limited_Context_Clauses after the
8829         parents have been installed.
8830         (Install_Limited_Withed_Unit): Add documentation. Mark the installed
8831         package as 'From_With_Type'; this mark indicates that the limited view
8832         is installed. Used to check bad usages of limited with_clauses.
8833         (Build_Limited_Views): Do not add shadow entities to the scope's list
8834         of entities. Do not add real entities to the Non_Limited_Views chain.
8835         Improve error notification.
8836         (Remove_Context_Clauses): Remove context clauses in two phases:
8837         limited views first and regular views later (to maintain the
8838         stack model).
8839         (Remove_Limited_With_Clause): If the package is analyzed then reinstall
8840         its visible entities.
8841
8842 2003-10-29  Thomas Quinot  <quinot@act-europe.fr>
8843
8844         * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
8845         with any type that Is_Fixed_Point_Type.
8846
8847         * sinfo.ads: Fix documentation for Associated_Node attribute.
8848
8849 2003-10-29  Sergey Rybin  <rybin@act-europe.fr>
8850
8851         * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
8852         both '-gnatc' and '-gnatt' are specified.
8853
8854         * atree.adb (Initialize): Add initialization for Node_Count (set to
8855         zero).
8856
8857 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8858
8859         * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
8860         do not consider as Pure.
8861
8862         Part of implementation of function-at-a-time:
8863
8864         * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
8865         (tree_transform): Add new argument to build_component_ref.
8866         (tree_transform, case N_Assignment_Statement): Make and return an
8867         EXPR_STMT.
8868         (tree_transform): If result IS_STMT, set flags and return it.
8869         (gnat_expand_stmt, set_lineno_from_sloc): New functions.
8870
8871         * utils2.c (build_simple_component_ref, build_component_ref): Add new
8872         arg, NO_FOLD_P.
8873         (build_binary_op, case EQ_EXPR): Pass additional arg to it.
8874         (build_allocator): Likewise.
8875
8876         * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
8877         Add new arg to build_component_ref.
8878         (maybe_unconstrained_array, unchecked_convert): Likewise.
8879
8880         * ada-tree.def (EXPR_STMT): New code.
8881
8882         * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
8883
8884         * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
8885         build_component_ref calls.
8886
8887         * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
8888
8889         * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
8890         (build_component_ref): Add new argument, NO_FOLD_P.
8891
8892 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
8893
8894         * Makefile.generic: Add missing substitution on object_deps handling.
8895
8896         PR ada/5909:
8897         * Make-lang.in (check-ada): Enable ACATS test suite.
8898
8899 2003-10-27  Robert Dewar  <dewar@gnat.com>
8900
8901         * exp_ch3.adb:
8902         (Freeze_Array_Type): We do not need an initialization routine for types
8903         derived from String or Wide_String. They should be treated the same
8904         as String and Wide_String themselves. This caused problems with the
8905         use of Initialize_Scalars.
8906
8907         * exp_ch5.adb:
8908         (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
8909         composites. This allows use of component clauses that are not byte
8910         aligned.
8911
8912         * sem_prag.adb:
8913         (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
8914         is an attempt to pack an array of atomic objects.
8915
8916         * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
8917
8918 2003-10-27  Pascal Obry  <obry@gnat.com>
8919
8920         * g-dirope.adb:
8921         (Basename): Check for drive letters in a pathname only on DOS based OS.
8922
8923 2003-10-27  Vincent Celier  <celier@gnat.com>
8924
8925         * make.adb:
8926         (Gnatmake): When unable to change dir to the object dir, display the
8927         content of the parent dir of the obj dir, to try to understand why this
8928         happens.
8929
8930 2003-10-27  GNAT Script  <nobody@gnat.com>
8931
8932         * Make-lang.in: Makefile automatically updated
8933
8934 2003-10-27  Ed Schonberg  <schonberg@gnat.com>
8935
8936         * sem_ch12.adb:
8937         (Inline_Instance_Body): Indicate that the save/restore of use_clauses
8938         should not be done in Save/Restore_Scope_Stack, because it is performed
8939         locally.
8940
8941         * sem_ch8.adb:
8942         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
8943         whether use clauses should be removed/restored.
8944
8945         * sem_ch8.ads:
8946         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
8947         whether use clauses should be removed/restored.
8948
8949 2003-10-26  Andreas Jaeger  <aj@suse.de>
8950
8951         * Makefile.in: Remove duplicated lines.
8952
8953 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
8954
8955         * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
8956         minimize the differences with ACT tree.
8957
8958         * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
8959         gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
8960         Gnatvsn.Gnat_Static_Version_String to reduce differences between
8961         ACT and FSF trees.
8962
8963 2003-10-24  Pascal Obry  <obry@gnat.com>
8964
8965         * adadecode.c (ostrcpy): New function.
8966         (__gnat_decode): Use ostrcpy of strcpy.
8967         (has_prefix): Set first parameter a const.
8968         (has_suffix): Set first parameter a const.
8969         Update copyright notice. Fix source name in header.
8970         Removes a trailing space.
8971         PR ada/12014.
8972
8973 2003-10-24  Jose Ruiz  <ruiz@act-europe.fr>
8974
8975         * exp_disp.adb:
8976         Remove the test against being in No_Run_Time_Mode before generating a
8977         call to Register_Tag. It is redundant with the test against the
8978         availability of the function Register_Tag.
8979
8980 2003-10-24  Vincent Celier  <celier@gnat.com>
8981
8982         * g-catiio.adb: (Month_Name): Correct spelling of February
8983
8984         * make.adb: (Mains): New package
8985         (Initialize): Call Mains.Delete
8986         (Gnatmake): Check that each main on the command line is a source of a
8987         project file and, if there are several mains, each of them is a source
8988         of the same project file.
8989         (Gnatmake): When a foreign language is specified in attribute Languages,
8990         no main is specified on the command line and attribute Mains is not
8991         empty, only build the Ada main. If there is no Ada main, just compile
8992         the Ada sources and their closure.
8993         (Gnatmake): If a main is specified on the command line with directory
8994         information, check that the source exists and, if it does, that the path
8995         is the actual path of a source of a project.
8996
8997         * prj-env.adb:
8998         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
8999         Full_Path is True, return the full path instead of the simple file name.
9000         (Project_Of): New function
9001
9002         * prj-env.ads:
9003         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
9004         defaulted to False.
9005         (Project_Of): New function
9006
9007 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
9008
9009         * Makefile.generic:
9010         Ensure objects of main project are always checked and rebuilt if needed.
9011         Set CC to gcc by default.
9012         Prepare new handling of link by creating a global archive (not activated
9013         yet).
9014
9015         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
9016         stringt.h: Update copyright notice. Remove trailing blanks.
9017         Fix source name in header.
9018
9019 2003-10-24  Robert Dewar  <dewar@gnat.com>
9020
9021         * sem_ch12.adb: Minor reformatting
9022
9023         * sem_ch3.adb:
9024         Minor reformatting (including new function return style throughout)
9025
9026         * sem_ch3.ads:
9027         Minor reformatting (including new function return style throughout)
9028
9029 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
9030
9031         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
9032         stringt.h: Update copyright notice. Remove trailing blanks.
9033         Fix source name in header.
9034
9035 2003-10-24  GNAT Script  <nobody@gnat.com>
9036
9037         * Make-lang.in: Makefile automatically updated
9038
9039 2003-10-23  Nathanael Nerode  <neroden@gcc.gnu.org>
9040
9041         * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
9042         stringt.h: Convert to ISO C90 declarations and definitions.
9043
9044 2003-10-23  Thomas Quinot  <quinot@act-europe.fr>
9045
9046         PR ada/11978:
9047         * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
9048         External_Tag attribute definition clauses.
9049
9050 2003-10-23  Ed Schonberg  <schonberg@gnat.com>
9051
9052         PR ada/7613:
9053         * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
9054         child unit, generate a fully qualified name to avoid spurious errors
9055         when the context contains renamings of different child units with
9056         the same simple name.
9057
9058         * exp_dbug.ads: Add documentation on name qualification for renamings
9059         of child units.
9060
9061 2003-10-23  Robert Dewar  <dewar@gnat.com>
9062
9063         * g-regpat.ads, g-regpat.adb: Minor reformatting
9064
9065 2003-10-23  Jose Ruiz  <ruiz@act-europe.fr>
9066
9067         * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
9068
9069 2003-10-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9070
9071         * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
9072         Machine call.
9073
9074         * urealp.h: (Machine): Update to proper definition.
9075
9076 2003-10-23  Arnaud Charlet  <charlet@act-europe.fr>
9077
9078         * init.c, adaint.c: Minor reformatting.
9079
9080 2003-10-23  Danny Smith  <dannysmith@users.sourceforge.net>
9081
9082         * adaint.c (w32_epoch_offset): Define static const at file level.
9083         (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
9084         rather than t_create, t_access in call to GetFileTime. Use union
9085         to convert between FILETIME and  unsigned long long.
9086         (__gnat_file_time_name): Test for invalid file handle.
9087         (__gnat_set_filetime_name): Support win32 targets using
9088         w32api SetFileTime.
9089
9090 2003-10-22  Danny Smith  <dannysmith@users.sourceforge.net>
9091
9092         * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
9093
9094         * ctrl_c.c (__gnat_int_handler): Remove declaration.
9095
9096         * decl.c (creat_concat_name):  Const-ify prefix.
9097
9098         * adaint.c: Include ctype.h if __MINGW32__.
9099         (__gnat_readlink): Mark arguments as possibly unused.
9100         (__gnat_symlink): Likewise.
9101         (__gnat_is_symbolic_link): Likewise.
9102         (__gnat_portable_spawn): Likewise.  Cast last arg of spawnvp to match
9103         declaration
9104         (__gnat_file_time_name): Don't declare struct stat statbuf when
9105         not needed.
9106         (__gnat_is_absolute_path): Add parenthesis around condition of
9107         'if' statement to avoid warning.
9108         (__gnat_plist_init): Specify void as parameter.
9109         (plist_enter): Likewise.
9110         (plist_leave): Likewise.
9111         (remove_handle): Make static. Initialize prev.
9112
9113 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
9114
9115         * Makefile.in: Disable build of gnatpsta. PR ada/10110.
9116         * cstreams.c (__gnat_full_name): Minor improvements and clean up
9117         of previous change.
9118
9119 2003-10-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9120
9121         * tracebak.c (MAX): Avoid redefinition warning.
9122
9123         * init.c [sgi] (__gnat_error_handler): Remove i, unused.
9124         Change msg to const char *.
9125         (__gnat_install_handler): Remove ss, unused.
9126         [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
9127         to const char *.
9128         * cstreams.c (__gnat_full_name): Declare p only when used.
9129         (__gnat_full_name) [sgi] Return buffer.
9130
9131 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
9132
9133         * mingw32.h: New file.
9134         * gnat_wrapper.adb: New file.
9135
9136 2003-10-22  Jerome Roussel  <roussel@act-europe.fr>
9137
9138         * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
9139         string match a pre compiled regular expression (the corresponding
9140         version of the function working on a raw regular expression)
9141         Fix typos in various comments
9142         Update copyright notice in spec
9143
9144 2003-10-21  Gary Dismukes  <dismukes@gnat.com>
9145
9146         * exp_ch3.adb:
9147         (Component_Needs_Simple_Initialization): Return False when the type is a
9148         packed bit array. Revise spec comments to document this case.
9149
9150         * exp_prag.adb:
9151         (Expand_Pragma_Import): Set any expression on the imported object to
9152         empty to avoid initializing imported objects (in particular this
9153         covers the case of zero-initialization of bit arrays).
9154         Update copyright notice.
9155
9156 2003-10-21  Ed Schonberg  <schonberg@gnat.com>
9157
9158         * sem_ch12.adb:
9159         (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
9160         a subunit is missing.
9161         (Instantiate_Subprogram_Body): If body of function is missing, set type
9162         of return expression explicitly in dummy body, to prevent cascaded
9163         errors when a subunit is missing.
9164         Fixes PR 5677.
9165
9166         * sem_ch3.adb:
9167         (Access_Subprogram_Declaration): Verify that return type is valid.
9168         Fixes PR 8693.
9169
9170         * sem_elab.adb:
9171         (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
9172         generic.
9173         Fixes PR 12318.
9174
9175         * sem_util.adb:
9176         (Corresponding_Discriminant): If the scope of the discriminant is a
9177         private type without discriminant, use its full view.
9178         Fixes PR 8247.
9179
9180 2003-10-21  Arnaud Charlet  <charlet@act-europe.fr>
9181
9182         * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
9183         3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
9184         3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
9185         55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
9186         56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
9187         59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
9188         5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
9189         5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
9190         5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
9191         5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
9192         5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
9193         5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
9194         5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
9195         5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
9196         7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
9197         a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
9198         a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
9199         a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
9200         bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
9201         erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
9202         err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
9203         g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
9204         g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
9205         g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
9206         g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
9207         g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
9208         g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
9209         gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
9210         g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
9211         g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
9212         i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
9213         prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
9214         prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
9215         s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
9216         s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
9217         s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
9218         s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
9219         s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
9220         s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
9221         s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
9222         s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
9223         socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
9224         s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
9225         s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
9226         s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
9227         styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
9228         s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
9229         tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
9230         vms_conv.ads, vms_conv.adb, vms_data.ads,
9231         vxaddr2line.adb: Files added. Merge with ACT tree.
9232
9233         * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
9234         5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
9235         5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
9236         5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
9237         g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
9238         s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
9239         s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
9240         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
9241         s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
9242         s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
9243
9244         * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
9245         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
9246         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
9247         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
9248         4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
9249         4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
9250         4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
9251         4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
9252         51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
9253         53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
9254         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
9255         5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
9256         5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
9257         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
9258         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
9259         5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
9260         5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
9261         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
9262         5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
9263         5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
9264         5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
9265         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
9266         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
9267         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
9268         5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
9269         5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
9270         5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
9271         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
9272         5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
9273         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
9274         5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
9275         5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
9276         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
9277         5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
9278         6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
9279         7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
9280         7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
9281         a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
9282         a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
9283         a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
9284         a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
9285         a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
9286         ali.adb, ali.ads, ali-util.adb, ali-util.ads,
9287         a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
9288         a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
9289         a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
9290         a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
9291         a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
9292         a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
9293         a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
9294         a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
9295         a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
9296         a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
9297         a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
9298         a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
9299         atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
9300         a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
9301         a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
9302         bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
9303         checks.adb, checks.ads, cio.c, comperr.adb,
9304         comperr.ads, csets.adb, cstand.adb, cstreams.c,
9305         debug_a.adb, debug_a.ads, debug.adb, decl.c,
9306         einfo.adb, einfo.ads, errout.adb, errout.ads,
9307         eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
9308         expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
9309         exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
9310         exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
9311         exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
9312         exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
9313         exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
9314         exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
9315         exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
9316         fe.h, fmap.adb, fmap.ads, fname.adb,
9317         fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
9318         freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
9319         g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
9320         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
9321         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
9322         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
9323         g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
9324         g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
9325         g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
9326         g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
9327         g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
9328         g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
9329         g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
9330         g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
9331         gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
9332         gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
9333         gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
9334         gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
9335         gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
9336         g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
9337         g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
9338         g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
9339         g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
9340         g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
9341         g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
9342         g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
9343         g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
9344         i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
9345         i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
9346         inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
9347         itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
9348         layout.adb, lib.adb, lib.ads, lib-list.adb,
9349         lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
9350         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
9351         link.c, live.adb, make.adb, make.ads,
9352         Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
9353         mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
9354         mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
9355         misc.c, mkdir.c, mlib.adb, mlib.ads,
9356         mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
9357         mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
9358         namet.adb, namet.ads, namet.h, nlists.ads,
9359         nlists.h, nmake.adt, opt.adb, opt.ads,
9360         osint.adb, osint.ads, osint-b.adb, osint-c.adb,
9361         par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
9362         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
9363         par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
9364         par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
9365         prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
9366         prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
9367         prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
9368         prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
9369         prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
9370         prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
9371         prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
9372         prj-util.adb, prj-util.ads, raise.c, raise.h,
9373         repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
9374         rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
9375         s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
9376         s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
9377         scans.ads, scn.adb, scn.ads, s-crc32.adb,
9378         s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
9379         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
9380         sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
9381         sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
9382         sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
9383         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
9384         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
9385         sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
9386         sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
9387         sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
9388         sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
9389         sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
9390         s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
9391         s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
9392         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
9393         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
9394         s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
9395         s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
9396         s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
9397         sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
9398         sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
9399         sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
9400         s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
9401         s-memory.adb, s-memory.ads, snames.adb, snames.ads,
9402         snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
9403         s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
9404         s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
9405         s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
9406         s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
9407         s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
9408         s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
9409         s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
9410         s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
9411         s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
9412         s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
9413         s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
9414         s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
9415         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
9416         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
9417         s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
9418         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
9419         stringt.adb, stringt.ads, stringt.h, style.ads,
9420         stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
9421         s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
9422         s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
9423         switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
9424         s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
9425         table.adb, table.ads, targparm.adb, targparm.ads,
9426         targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
9427         trans.c, tree_io.adb, treepr.adb, treeprs.adt,
9428         ttypes.ads, types.ads, types.h, uintp.adb,
9429         uintp.ads, uintp.h, uname.adb, urealp.adb,
9430         urealp.ads, urealp.h, usage.adb, utils2.c,
9431         utils.c, validsw.adb, validsw.ads, widechar.adb,
9432         xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
9433         xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
9434         einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
9435         gnatvsn.ads: Merge with ACT tree.
9436
9437         * gnatvsn.adb: Rewritten in a simpler and more efficient way.
9438
9439 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
9440
9441         * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
9442         (gnat_ug_vmx.info): Likewise.
9443         (gnat_ug_vxw.info): Likewise.
9444         (gnat_ug_wnt.info): Likewise.
9445         (gnat_rm.info): Likewise.
9446         (gnat-style.info): Likewise.
9447
9448         * Make-lang.in (ada.install-info): Remove target.
9449         (info): New target.
9450         (install-info): Likewise.
9451         (gnat_ug_unx.info): Simplify rule.
9452         (gnat_ug_vmx.info): Likewise.
9453         (gnat_ug_vxw.info): Likewise.
9454         (gnat_ug_wnt.info): Likewise.
9455         (gnat_rm.info): Likewise.
9456         (gnat-style.info): Likewise.
9457
9458 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
9459
9460         * Make-lang.in: Replace uses of $(target_alias) with
9461         $(target_noncanonical).
9462         * ada/Makefile.in: Remove unused mention of $(target_alias).
9463
9464 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
9465
9466         * Make-lang.in (ada.info): Replace with ...
9467         (info): ... this.
9468         (ada.dvi): Replace with ...
9469         (dvi): ... this.
9470
9471 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
9472
9473         * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
9474         initialize dconstp5 and dconstmp5.
9475
9476 2003-09-28  Richard Henderson  <rth@redhat.com>
9477
9478         * trans.c (tree_transform): Update call to expand_asm_operands.
9479
9480 2003-09-21  Richard Henderson  <rth@redhat.com>
9481
9482         * trans.c, utils.c: Revert.
9483
9484 2003-09-21  Richard Henderson  <rth@redhat.com>
9485
9486         * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
9487         change to const.
9488
9489 2003-09-04  Michael Matz  <matz@suse.de>
9490
9491         * misc.c: Include "target.h".
9492         * Make-lang.in (misc.o): Add dependency on target.h.
9493
9494 2003-09-03  DJ Delorie  <dj@redhat.com>
9495
9496         * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
9497         hook.
9498
9499 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
9500
9501         * Makefile.in: Update substitutions to match changes to
9502         configure.  Use include directives instead of @-insertions
9503         to read in host and target fragments.  Add a rule to
9504         regenerate ada/Makefile.
9505
9506 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
9507
9508         * lang-options.h: Remove.
9509         * lang.opt: Add help text.
9510
9511 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
9512
9513         * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
9514         calls.
9515
9516 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
9517
9518         * misc.c (gnat_handle_option): Don't handle filenames.
9519
9520 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
9521
9522         * Make-lang.in: Replace PWD with PWD_COMMAND.
9523         * Makefile.adalib: Likewise.
9524         * Makefile.in: Likewise.
9525
9526 2003-07-04  Matt Kraai  <kraai@alumni.cmu.edu>
9527
9528         * misc.c (gnat_argv): Revert last change.
9529         (gnat_handle_option, gnat_init_options): Copy arguments.
9530
9531 2003-07-03  Neil Booth  <neil@daikokuya.co.uk>
9532
9533         * misc.c (gnat_argv): Make const.
9534
9535 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
9536
9537         * misc.c (save_argc, save_argv): Keep non-static!
9538
9539 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
9540
9541         * misc.c (save_argc, save_argv): Make static.
9542         (gnat_init_options): New prototype.
9543         (gnat_init_options): Update.
9544
9545 2003-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
9546
9547         * gnat_ug.texi: Remove unlikely characters from @vars.
9548         * gnat_ug_vms.texi: Regenerate.
9549
9550 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
9551
9552         * misc.c (record_code_position): Adjust emit_note call.
9553
9554 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
9555
9556         * misc.c (gnat_handle_option): Don't check for missing arguments.
9557
9558 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
9559
9560         * utils.c (end_subprog_body): Adjust expand_function_end call.
9561
9562 2003-06-16  Matt Kraai  <kraai@alumni.cmu.edu>
9563
9564         * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
9565         Bind_Main_Program.
9566
9567 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
9568
9569         * lang.opt: Declare Ada.
9570         * misc.c (gnat_init_options): Update.
9571
9572 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
9573
9574         * utils.c (begin_subprog_body): Adjust init_function_start call.
9575
9576 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
9577
9578         * Make-lang.in: Update to use options.c and options.h.
9579         * misc.c: Include options.h not aoptions.h.
9580         (gnat_handle_option): Abort on unrecognized switch.
9581         (gnat_init_options): Request Ada switches.
9582
9583 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
9584
9585         * lang.opt: Add -Wall.
9586         * misc.c (gnat_handle_option): Handle it.
9587
9588 2003-06-12  Neil Booth  <neil@daikokuya.co.uk>
9589
9590         * misc.c (gnat_handle_option): Fix warnings.
9591
9592 2003-06-11  Matt Kraai  <kraai@alumni.cmu.edu>
9593
9594         * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
9595
9596 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
9597
9598         * Make-lang.in: Update to handle command-line options.
9599         * lang.opt: New file.
9600         * misc.c: Include aoptions.h.
9601         (cl_options_count, cl_options): Remove.
9602         (gnat_handle_option): New.
9603         (gnat_decode_option): Remove.
9604         (LANG_HOOKS_DECODE_OPTION): Remove.
9605         (LANG_HOOKS_HANDLE_OPTION): Override.
9606
9607 2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
9608
9609         * init.c, misc.c, trans.c, utils.c: Remove dead code.
9610
9611 2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
9612
9613         * Makefile.in: Replace "host_canonical" with "host" for autoconf
9614         substitution.
9615
9616 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
9617
9618         * Make-lang.in: Update.
9619         * misc.c: Include opts.h. Define cl_options_count and cl_options.
9620
9621 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
9622
9623         * misc.c (gnat_init_options): Update.
9624
9625 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
9626
9627         * Make-lang.in (ada/b_gnatb.o-warn): Remove.
9628         * bindgen.adb (Gen_Main_C): Mark ensure_reference with
9629         __attribute__ ((__unused__)).
9630
9631 2003-06-05  Jan Hubicka  <jh@suse.cz>
9632
9633         * Make-lang.in:  Add support for stageprofile and stagefeedback
9634
9635 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
9636
9637         * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
9638         (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
9639
9640 2003-06-04  Matt Kraai  <kraai@alumni.cmu.edu>
9641
9642         * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
9643         Remove non-VMS directive.
9644         (Switches for gnatlbr, Optimization Levels): Remove non-VMS
9645         alternatives.
9646         (Examples of gnatls Usage): Remove VMS alternative.
9647
9648 2003-06-04  Olivier Hainque  <hainque@act-europe.fr>
9649
9650         PR ada/9953:
9651         * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
9652         and turn ZCX_By_Default back to False since the underlying support
9653         is not quite there yet.
9654
9655 2003-06-01  Andreas Jaeger  <aj@suse.de>
9656
9657         * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
9658         and ROUND_TYPE_SIZE_UNIT.
9659
9660 2003-05-22   Geert Bosch <bosch@gnat.com>
9661
9662         * gnat_rm.texi : Remove reference to Ada Core Technologies.
9663
9664 2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
9665
9666         * trans.c (tree_transform): Use location_t and input_location
9667         directly.
9668         (build_unit_elab): Likewise.
9669         * utils.c (create_label_decl): Likewise.
9670
9671 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
9672
9673         * trans.c (tree_transform, build_unit_elab,
9674         set_lineno): Rename lineno to input_line.
9675         * utils.c (pushdecl, create_label_decl, begin_subprog_body,
9676         end_subprog_body): Likewise.
9677         * utils2.c (build_call_raise): Likewise.
9678
9679 2003-05-01  Laurent Guerby <guerby@acm.org>
9680
9681         PR ada/10546
9682         * 5iosinte.ads: Increase pthread_cond_t size to match recent
9683         LinuxThread and NPTL version, merge from ACT.
9684
9685 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
9686
9687         * utils.c (convert): No need to clear TREE_CST_RTL.
9688
9689 2003-04-23   Geert Bosch <bosch@gnat.com>
9690
9691         * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
9692         1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
9693         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
9694         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
9695         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
9696         4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
9697         4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
9698         4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
9699         4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
9700         4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
9701         4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
9702         4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
9703         52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
9704         5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
9705         5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
9706         5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
9707         5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
9708         5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
9709         5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
9710         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
9711         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
9712         5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
9713         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
9714         5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
9715         5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
9716         5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
9717         5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
9718         5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
9719         5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
9720         5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
9721         5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
9722         5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
9723         5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
9724         5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
9725         5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
9726         5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
9727         5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
9728         5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
9729         5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
9730         5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
9731         5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
9732         5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
9733         5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
9734         5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
9735         6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
9736         7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
9737         7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
9738         9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
9739         a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
9740         a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
9741         a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
9742         a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
9743         a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
9744         a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
9745         a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
9746         a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
9747         a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
9748         a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
9749         a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
9750         a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
9751         a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
9752         a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
9753         a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
9754         a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
9755         a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
9756         a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
9757         a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
9758         a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
9759         a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
9760         a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
9761         a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
9762         a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
9763         a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
9764         a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
9765         a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
9766         a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
9767         a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
9768         a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
9769         a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
9770         a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
9771         a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
9772         a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
9773         a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
9774         a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
9775         a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
9776         a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
9777         a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
9778         a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
9779         a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
9780         a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
9781         a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
9782         a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
9783         a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
9784         a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
9785         a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
9786         a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
9787         a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
9788         a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
9789         a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
9790         a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
9791         a-wttest.ads, ada-tree.h, ada.ads, ada.h,
9792         adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
9793         ali.adb, ali.ads, alloc.ads, argv.c,
9794         atree.adb, atree.ads, atree.h, aux-io.c,
9795         back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
9796         binde.adb, binde.ads, binderr.adb, binderr.ads,
9797         bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
9798         butil.adb, butil.ads, cal.c, calendar.ads,
9799         casing.adb, casing.ads, ceinfo.adb, checks.adb,
9800         checks.ads, cio.c, comperr.adb, comperr.ads,
9801         config-lang.in, csets.adb, csets.ads, csinfo.adb,
9802         cstand.adb, cstand.ads, cuintp.c, debug.adb,
9803         debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
9804         dec-io.ads, dec.ads, deftarg.c, directio.ads,
9805         einfo.adb, einfo.ads, elists.adb, elists.ads,
9806         elists.h, errno.c, errout.adb, errout.ads,
9807         eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
9808         exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
9809         exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
9810         exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
9811         exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
9812         exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
9813         exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
9814         exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
9815         exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
9816         exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
9817         exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
9818         exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
9819         exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
9820         exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
9821         exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
9822         fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
9823         fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
9824         freeze.adb, freeze.ads, frontend.adb, frontend.ads,
9825         g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
9826         g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
9827         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
9828         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
9829         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
9830         g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
9831         g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
9832         g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
9833         g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
9834         g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
9835         g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
9836         g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
9837         g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
9838         g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
9839         g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
9840         g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
9841         g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
9842         g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
9843         g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
9844         g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
9845         g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
9846         g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
9847         get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
9848         gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
9849         gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
9850         gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
9851         gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
9852         gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
9853         gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
9854         gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
9855         hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
9856         i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
9857         i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
9858         i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
9859         i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
9860         i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
9861         i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
9862         inline.adb, inline.ads, interfac.ads, ioexcept.ads,
9863         itypes.adb, itypes.ads, krunch.adb, krunch.ads,
9864         layout.adb, layout.ads, lib-list.adb, lib-load.adb,
9865         lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
9866         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
9867         lib.adb, lib.ads, live.adb, live.ads,
9868         machcode.ads, make.adb, make.ads, makeusg.adb,
9869         makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
9870         mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
9871         memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
9872         mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
9873         mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
9874         mlib.ads, namet.adb, namet.ads, nlists.adb,
9875         nlists.ads, opt.adb, opt.ads, osint-b.adb,
9876         osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
9877         osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
9878         osint.ads, output.adb, output.ads, par-ch10.adb,
9879         par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
9880         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
9881         par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
9882         par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
9883         par-tchk.adb, par-util.adb, par.adb, par.ads,
9884         prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
9885         prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
9886         prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
9887         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
9888         prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
9889         prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
9890         prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
9891         prj.adb, prj.ads, repinfo.adb, repinfo.ads,
9892         restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
9893         rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
9894         s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
9895         s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
9896         s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
9897         s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
9898         s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
9899         s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
9900         s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
9901         s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
9902         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
9903         s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
9904         s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
9905         s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
9906         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
9907         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
9908         s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
9909         s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
9910         s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
9911         s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
9912         s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
9913         s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
9914         s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
9915         s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
9916         s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
9917         s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
9918         s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
9919         s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
9920         s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
9921         s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
9922         s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
9923         s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
9924         s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
9925         s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
9926         s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
9927         s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
9928         s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
9929         s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
9930         s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
9931         s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
9932         s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
9933         s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
9934         s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
9935         s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
9936         s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
9937         s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
9938         s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
9939         s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
9940         s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
9941         s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
9942         s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
9943         s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
9944         s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
9945         s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
9946         s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
9947         s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
9948         s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
9949         s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
9950         s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
9951         s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
9952         s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
9953         s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
9954         s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
9955         s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
9956         s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
9957         s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
9958         s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
9959         s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
9960         s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
9961         s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
9962         s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
9963         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
9964         s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
9965         s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
9966         s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
9967         s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
9968         s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
9969         s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
9970         s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
9971         s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
9972         s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
9973         s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
9974         s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
9975         s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
9976         s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
9977         s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
9978         s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
9979         s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
9980         s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
9981         s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
9982         s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
9983         s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
9984         s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
9985         s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
9986         s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
9987         scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
9988         sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
9989         sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
9990         sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
9991         sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
9992         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
9993         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
9994         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
9995         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
9996         sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
9997         sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
9998         sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
9999         sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
10000         sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
10001         sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
10002         sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
10003         sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
10004         sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
10005         sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
10006         sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
10007         sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
10008         snames.ads, sprint.adb, sprint.ads, stand.adb,
10009         stand.ads, stringt.adb, stringt.ads, style.adb,
10010         style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
10011         switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
10012         switch-m.ads, switch.adb, switch.ads, system.ads,
10013         table.adb, table.ads, targparm.adb, targparm.ads,
10014         tbuild.adb, tbuild.ads, text_io.ads, trans.c,
10015         tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
10016         tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
10017         ttypef.ads, ttypes.ads, types.adb, types.ads,
10018         uintp.adb, uintp.ads, uname.adb, uname.ads,
10019         unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
10020         usage.adb, usage.ads, validsw.adb, validsw.ads,
10021         widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
10022         xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
10023         xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
10024         formatting and other trivial changes from ACT.
10025
10026 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
10027
10028         * gigi.h, utils2.c (build_constructor):
10029         Rename gnat_build_constructor. Use build_constructor.
10030         * decl.c (gnat_to_gnu_entity)
10031         * trans.c (tree_transform, pos_to_constructor, extract_values)
10032         * ada/utils.c (build_template, convert_to_fat_pointer, convert)
10033         (unchecked_convert)
10034         * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
10035         (fill_vms_descriptor):
10036         Update to match.
10037
10038 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
10039
10040         * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
10041         * misc.c (gnat_tree_size): New function.
10042         (LANG_HOOKS_TREE_SIZE): Override.
10043
10044 2003-04-03  Jason Merrill  <jason@redhat.com>
10045
10046         * misc.c (gnat_adjust_rli): #if 0.
10047
10048 2003-03-31   Geert Bosch <bosch@gnat.com>
10049
10050         PR ada/10020
10051         * link.c : Fix misspelled "const" keyword
10052
10053 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
10054
10055         PR c++/7086
10056         * utils2.c: Adjust calls to put_var_into_stack.
10057
10058 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
10059
10060         * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
10061
10062 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
10063
10064         * misc.c (gnat_init): Update for new prototype.
10065
10066 2003-03-05  Olivier Hainque  <hainque@gnat.com>
10067
10068         ada/9961
10069         * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
10070         warning, and fix return type for the IN_RTS && !SJLJ case.
10071
10072 2003-03-04  Tom Tromey  <tromey@redhat.com>
10073
10074         * Make-lang.in (ada.tags): New target.
10075
10076 2003-03-04  Olivier Hainque  <hainque@act-europe.fr>
10077
10078         ada/9911
10079         * a-except.adb (Unwind_RaiseException): Import a GNAT specific
10080         wrapper, which name remains constant whatever underlying GCC
10081         scheme.
10082
10083         * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
10084         the stable interface needed for a-except.
10085
10086 2003-03-02  Andreas Jaeger  <aj@suse.de>
10087
10088         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10089         gnat_ug_wnt.texi: Regenerate.
10090
10091 2003-03-02  Laurent Guerby <guerby@acm.org>
10092
10093         * Makefile.in (install-gnatlib): Match previous change there
10094         so it works.
10095
10096 2003-02-28  Andreas Schwab  <schwab@suse.de>
10097
10098         * Make-lang.in (install-gnatlib): Change to ada directory before
10099         running make instead of using ada/Makefile directly.
10100
10101 2003-02-18  Ben Elliston  <bje@redhat.com>
10102
10103         Part of fix for PR ada/9406
10104         * gnat_ug.texi (Binder output file): Grammar fix.
10105
10106 2003-02-18  Ben Elliston  <bje@redhat.com>
10107
10108         PR other/7350
10109         * 5qtaprop.adb (Sleep): Fix typo in comment.
10110
10111 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
10112
10113         * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
10114         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10115         gnat_ug_wnt.texi: Regenerate.
10116
10117 2003-02-03  Christian Cornelssen <ccorn@cs.tu-berlin.de>
10118
10119         * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
10120         be created if necessary.
10121         (ada.install-common): Let $(DESTDIR)$(bindir) be created
10122         if necessary.  Remove erroneous and redundant gnatchop
10123         installation commands.  Test for gnatdll before attempting
10124         to install it.
10125         (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
10126         and gnatdll from all plausible locations.
10127
10128 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
10129
10130         * utils2.c (build_unary_op): Don't check flag_volatile.
10131         * gnat_ug.texi: Remove -fvolatile from example.
10132         * gnat_ug_vxw.texi: Likewise.
10133
10134 2003-01-29  Laurent Guerby <guerby@acm.org>
10135
10136         PR ada/8344
10137         * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
10138         * Makefile.in: match previous change.
10139         * Make-lang.in: match previous change.
10140
10141 2003-01-29      Joel Sherrill <joel@OARcorp.com>
10142
10143         * 5rosinte.ads: Add SIGXCPU.
10144         * 5rtpopsp.adb: New file.
10145         * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
10146         * Makefile.in: Recognize more RTEMS targets and add the RTEMS
10147         specific file 5rtpopsp.adb.
10148         * adaint.h: Add include of <stdio.h> when target is RTEMS.  This
10149         is likely needed for all newlib targets.
10150         * init.c: Add RTEMS specific version of __gnat_initialize().
10151
10152 2003-01-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10153
10154         * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
10155
10156 2003-01-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10157
10158         * init.c (__gnat_error_handler): Make msg const.
10159
10160         * gmem.c (convert_addresses): Move declaration ...
10161         * adaint.h: ... here.
10162         * adaint.c (convert_addresses): Adapt addrs type to match
10163         prototype.
10164
10165         * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
10166
10167 2003-01-24  Andreas Schwab  <schwab@suse.de>
10168
10169         * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
10170         size_t to avoid warning.
10171
10172 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
10173
10174         * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
10175
10176 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
10177
10178         * gnat_rm.texi: Remove RCS version number.
10179
10180         * ada-tree.h (union lang_tree_node): Add chain_next option.
10181
10182 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
10183
10184         * Make-lang.in (ada.install-info, ada.install-common,
10185         ada.uninstall): Prepend $(DESTDIR) to the destination
10186         directory in all (un)installation commands.
10187         * Makefile.in (install-gnatlib, install-rts): Ditto.
10188
10189 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
10190
10191         * gnat_rm.texi, gnat_ug.texi: Use @copying.
10192         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10193         gnat_ug_wnt.texi: Regenerate.
10194
10195 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
10196
10197         * gnat_rm.texi: Include gcc-common.texi.  Use GCC version number
10198         only.
10199         * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
10200         $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
10201         $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
10202         ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
10203         ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
10204         $(srcdir)/doc/include/gcc-common.texi.
10205
10206 2002-12-15   Geert Bosch <bosch@gnat.com>
10207
10208         * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
10209
10210 2002-12-14   Geert Bosch <bosch@gnat.com>
10211
10212         * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
10213         case of a body created for a Renaming_As_Body, on which
10214         conformance checks are not performed. Fixes PR ada/5690.
10215
10216 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
10217
10218         * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
10219         utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
10220         not already included.
10221         * Make-lang.in: Update dependencies.
10222
10223 2002-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
10224         * adaint.c (__gnat_tmp_name): Better, but good enough for now,
10225         solution to buffer overflow bug on GNU/Linux.
10226
10227 2002-11-14  Nathanael Nerode  <neroden@gcc.gnu.org>
10228         Closes PR ada/5856 and PR ada/6919 !
10229         * bindgen.adb: Remove all references to Public_Version.
10230         * comperr.adb: Remove all references to Public_Version and
10231         GNATPRO_Version; correct bug reporting instructions.
10232         * comperr.ads: Change to match bug box.
10233         * gnatvsn.ads: Remove all references to Public version and
10234         GNATPRO version.
10235
10236 2002-11-13  Nathanael Nerode  <neroden@gcc.gnu.org>
10237         PR ada/6919
10238         * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
10239         GNU/Linux.
10240
10241         PR ada/6558
10242         * config-lang.in: Remove diff_excludes.
10243
10244 2002-11-05  Graham Stott  <graham.stott@btinternet.com>
10245         PR ada/8358
10246         * trans.c (gnu_pending_elaboration_lists): New GC root.
10247         (build_unit_elab): Use..
10248
10249 2002-10-30   Geert Bosch <bosch@gnat.com>
10250         PR ada/6558
10251         * misc.c : Include optabs.h
10252
10253         * Make-lang.in (misc.o): Add dependency on optabs.h
10254
10255 2002-10-29   Geert Bosch <bosch@gnat.com>
10256         PR ada/6558
10257         * Make-lang.in (gnatbind): Depend on CONFIG_H
10258
10259 2002-10-29  Geert bosch  <bosch@gnat.com>
10260         PR ada/6558
10261         * misc.c: Unrevert misc.c (1.13)
10262
10263 2002-10-28  Nathanael Nerode  <neroden@gcc.gnu.org>
10264
10265         * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
10266         maintainership comments.
10267
10268 2002-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
10269         PR ada/5904
10270         * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
10271         5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
10272         5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
10273         7staprop.adb: Correct statements in comments about
10274         maintainership of GNAT.
10275
10276         PR ada/5904
10277         * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
10278         gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
10279         osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
10280         osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
10281         s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
10282         s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
10283         sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
10284         switch-c.ads switch-m.adb switch-m.ads: Correct statements in
10285         comments about maintainership of GNAT.
10286
10287         PR ada/6919 (forward port of patch for PR ada/5904)
10288         * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
10289         4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
10290         4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
10291         4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
10292         4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
10293         4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
10294         4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
10295         52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
10296         5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
10297         5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
10298         5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
10299         5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
10300         5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
10301         5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
10302         5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
10303         5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
10304         5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
10305         5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
10306         5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
10307         5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
10308         5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
10309         5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
10310         5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
10311         5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
10312         5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
10313         5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
10314         5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
10315         5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
10316         7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
10317         a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
10318         a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
10319         a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
10320         a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
10321         a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
10322         a-except.adb a-except.ads a-excpol.adb a-exctra.adb
10323         a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
10324         a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
10325         a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
10326         a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
10327         a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
10328         a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
10329         a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
10330         a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
10331         a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
10332         a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
10333         a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
10334         a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
10335         a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
10336         a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
10337         a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
10338         a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
10339         a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
10340         a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
10341         a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
10342         a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
10343         a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
10344         a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
10345         a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
10346         a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
10347         a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
10348         a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
10349         a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
10350         a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
10351         a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
10352         a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
10353         a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
10354         a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
10355         a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
10356         adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
10357         alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
10358         back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
10359         binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
10360         bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
10361         ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
10362         csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
10363         cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
10364         debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
10365         einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
10366         errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
10367         exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
10368         exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
10369         exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
10370         exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
10371         exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
10372         exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
10373         exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
10374         exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
10375         exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
10376         exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
10377         exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
10378         exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
10379         exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
10380         final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
10381         fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
10382         freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
10383         g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
10384         g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
10385         gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
10386         gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
10387         gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
10388         gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
10389         gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
10390         gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
10391         i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
10392         i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
10393         i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
10394         i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
10395         impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
10396         itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
10397         lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
10398         lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
10399         lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
10400         lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
10401         makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
10402         namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
10403         nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
10404         osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
10405         par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
10406         par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
10407         par-endh.adb par-labl.adb par-load.adb par-prag.adb
10408         par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
10409         prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
10410         prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
10411         prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
10412         prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
10413         prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
10414         prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
10415         repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
10416         rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
10417         s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
10418         s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
10419         s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
10420         s-direio.adb s-direio.ads s-except.ads s-exctab.adb
10421         s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
10422         s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
10423         s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
10424         s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
10425         s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
10426         s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
10427         s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
10428         s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
10429         s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
10430         s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
10431         s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
10432         s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
10433         s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
10434         s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
10435         s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
10436         s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
10437         s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
10438         s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
10439         s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
10440         s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
10441         s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
10442         s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
10443         s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
10444         s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
10445         s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
10446         s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
10447         s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
10448         s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
10449         s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
10450         s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
10451         s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
10452         s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
10453         s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
10454         s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
10455         s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
10456         s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
10457         s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
10458         s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
10459         s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
10460         s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
10461         s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
10462         s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
10463         s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
10464         s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
10465         s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
10466         s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
10467         s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
10468         s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
10469         s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
10470         s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
10471         s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
10472         s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
10473         s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
10474         s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
10475         s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
10476         s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
10477         s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
10478         s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
10479         s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
10480         s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
10481         s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
10482         s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
10483         s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
10484         s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
10485         s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
10486         s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
10487         s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
10488         s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
10489         s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
10490         s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
10491         s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
10492         s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
10493         s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
10494         s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
10495         s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
10496         s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
10497         s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
10498         s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
10499         scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
10500         sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
10501         sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
10502         sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
10503         sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
10504         sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
10505         sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
10506         sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
10507         sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
10508         sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
10509         sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
10510         sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
10511         sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
10512         sem_type.adb sem_type.ads sem_util.adb sem_util.ads
10513         sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
10514         sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
10515         sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
10516         sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
10517         snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
10518         stringt.ads stringt.h style.adb style.ads stylesw.adb
10519         stylesw.ads switch.adb switch.ads sysdep.c system.ads
10520         table.adb table.ads targparm.adb targparm.ads targtyps.c
10521         tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
10522         tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
10523         treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
10524         types.adb types.ads types.h uintp.adb uintp.ads uintp.h
10525         uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
10526         usage.ads utils.c utils2.c validsw.adb validsw.ads
10527         widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
10528         xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
10529         xtreeprs.adb: Correct statements in comments about maintainership
10530         of GNAT.
10531
10532 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
10533
10534         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
10535         * Makefile.in (TOOLS_LIBS): Add ../../version.o.
10536         * gnatvsn.ads: Gnat_Version_String is now a function.
10537         * gnatvsn.adb: New file.  When asked for Gnat_Version_String,
10538         copy the C version_string into a String and return it.
10539         * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
10540         gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
10541         Remove pragma Ident (Gnat_Version_String).  If this was the
10542         sole use of package Gnatvsn, remove the with statement too.
10543         * gnat1drv.adb: Tweak -gnatv output.
10544
10545 2002-09-17  Richard Henderson  <rth@redhat.com>
10546
10547         * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
10548         * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
10549         * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
10550         (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
10551         * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
10552         and real_2expN instead of a loop.
10553         * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
10554         (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
10555
10556 2002-08-25  Andre Leis <a.leis@gmx.net>
10557             David Billinghurst (David.Billinghurst@riotinto.com>
10558
10559         * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
10560
10561 2002-08-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10562
10563         * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
10564         Remove $(CONFIG_H) dependency.
10565
10566 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10567
10568         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
10569
10570 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10571
10572         * adadecode.c (ada_demangle): Use xstrdup in lieu of
10573         xmalloc/strcpy.
10574         * misc.c (gnat_decode_option): Likewise.
10575
10576 2002-07-15  Florian Weimer  <fw@deneb.enyo.de>
10577
10578         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
10579         function approach did not work well because of a side effect (the
10580         function call could reallocate the table which was being indexed
10581         using its result). Fixes ada/4851. [RESURRECTED]
10582
10583 2002-07-01  Roger Sayle  <roger@eyesopen.com>
10584
10585         * ada/utils.c (builtin_function): Accept an additional parameter.
10586
10587 2002-06-28  Andreas Jaeger  <aj@suse.de>
10588
10589         PR ada/7144
10590         * Makefile.in: Fix typo in comment, patch by Adrian Knoth
10591         <adi@thur.de>.
10592
10593 2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10594
10595         * Makefile.in (SHELL): Set to @SHELL@.
10596
10597 2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10598
10599         * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
10600         array size calculation.
10601
10602 2002-06-04  Andreas Jaeger  <aj@suse.de>
10603
10604         * Make-lang.in (gnatbind): Readd rule that has been lost in last
10605         patch.
10606
10607 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
10608
10609         Merge from pch-branch:
10610
10611         * config-lang.in (gtfiles): Add ada-tree.h.
10612         * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
10613         (SET_TYPE_MODULUS): New.
10614         (SET_TYPE_INDEX): New.
10615         (SET_TYPE_DIGITS_VALUE): New.
10616         (SET_TYPE_RM_SIZE): New.
10617         (SET_TYPE_UNCONSTRAINED_ARRAY): New.
10618         (SET_TYPE_ADA_SIZE): New.
10619         (SET_TYPE_ACTUAL_BOUNDS): New.
10620         (SET_DECL_CONST_CORRESPONDING_VAR): New.
10621         (SET_DECL_ORIGINAL_FIELD): New.
10622         (TREE_LOOP_ID): Correct typo.
10623         * decl.c: Use new macros.
10624         * utils.c: Include debug.h, use new macros.
10625         * utils2.c: Use new macros.
10626
10627         * ada-tree.h: Update all macros for new tree description.
10628         (struct tree_loop_id): New.
10629         (union lang_tree_node): New.
10630         (struct lang_decl): New.
10631         (struct lang_type): New.
10632         * misc.c (gnat_mark_tree): Delete.
10633         (LANG_HOOKS_MARK_TREE): Delete.
10634         * trans.c (tree_transform): No longer any need to cast
10635         for TREE_LOOP_ID.
10636
10637         * utils.c (struct language_function): New dummy structure.
10638
10639         * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
10640         (misc.o): Likewise.
10641         (utils.o): Likewise; also gtype-ada.h.
10642         * Make-lang.in (gnat1): Add dependency on s-gtype.
10643         (gnatbind): Add dependency on $(CONFIG_H).
10644         * utils.c: Correct last #include.
10645         (stuct e_stack): Remove unnecessary 'static'.
10646         (mark_e_stack): Remove unused prototype.
10647
10648         * scn-nlit.adb: Remove whitespace after version number to
10649         keep lines under 80 chars.
10650         * snames.adb: Likewise.
10651         * treepr.ads: Likewise.
10652
10653         * Makefile.in (decl.o): Include gt-ada-<filename>.h.
10654         (misc.o): Likewise.
10655         (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
10656         * config-lang.in (gtfiles): New.
10657         * decl.c: Use gengtype for roots.
10658         * gigi.h: Use gengtype for roots.
10659         * trans.c: Use gengtype for roots.
10660         * utils.c: Use gengtype for roots, marking.  Include gtype-ada.h.
10661
10662 2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
10663
10664         * misc.c (gnat_init): Adjust setting of internal_error_function.
10665
10666 2002-06-01  Joseph S. Myers  <jsm28@cam.ac.uk>
10667
10668         * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
10669         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10670         gnat_ug_wnt.texi: Regenerate.
10671
10672 2002-05-31  Florian Weimer  <fw@deneb.enyo.de>
10673
10674         * 5ntaprop.adb (with System.OS_Primitives): Remove.
10675
10676         * cstreams.c (max_path_len): Move from here ...
10677         * adaint.c (__gnat_max_path_len): ... to here.
10678         * adaint.c (__gnat_max_path_len): Declare.
10679         * g-dirope.adb (Max_Path): Adjust.
10680         * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
10681         * i-cstrea.ads (max_path_len): Adjust.
10682         * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
10683         * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
10684
10685         * Makefile.in, Make-lang.in: Documentation is now built in
10686         Make-lang.in.  Store Info and generated Texinfo files in the
10687         source directory.
10688         * gnat_ug.texi: Remove CVS keywords, correct version number.
10689         Set file name correctly.
10690
10691         * gnat_ug_*.texi: Add.
10692         * .cvsignore: Ignore generated Texinfo files.
10693
10694 2002-05-30  Zack Weinberg  <zack@codesourcery.com>
10695
10696         * ada.h: Add MI guard macro.
10697         (SUBTYPE): Define constants with an anonymous enum, not static
10698         const variables.
10699         (IN): Cast constants to appropriate type before use.
10700
10701 2002-05-26  Joseph S. Myers  <jsm28@cam.ac.uk>
10702
10703         * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
10704         (experimental)".
10705
10706 2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10707
10708         * Make-lang.in (CP, ECHO): Copy from Makefile.in.
10709         (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
10710         (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
10711         (ALL_ADA_CFLAGS): Likewise.
10712         (ADA_INCLUDES): Likewise.
10713         Adapt for new working dir.
10714         (GNATBIND): Use Makefile.in version.
10715         (.SUFFIXES): Copy from Makefile.in.
10716         (ada-warn): Define.
10717         (.adb.o, .ads.o): Copy from Makefile.in.
10718         Added $(OUTPUT_OPTION).
10719         (GNAT1_C_OBJS): Moved from Makefile.in.
10720         Prefix with ada subdir.
10721         (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
10722         (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
10723         Adapt for new working dir.
10724         (EXTRA_GNATBIND_OBJS): Likewise.
10725         (ADA_BACKEND): Moved from Makefile.in.
10726         Renamed to avoid conflict with global BACKEND.
10727         Use that one.
10728         (TARGET_ADA_SRCS): Moved from Makefile.in.
10729         (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
10730         Use ADA_BACKEND.
10731         (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
10732         (ada_extra_files): Moved from Makefile.in.
10733         Prefix with ada subdir.
10734         (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
10735         (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
10736         (ada/nmake.ads): Likewise.
10737         (update-sources): Moved from Makefile.in.
10738         Prefix with ada subdir.
10739         (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
10740         (ADA_TREE_H): Likewise.
10741         (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
10742         (ada/memtrack.o): Likewise.
10743         (ada/adadecode.o): Likewise.
10744         Update dependencies.
10745         (ada/adaint.o): New.
10746         (ada/argv.o): Moved from Makefile.in.
10747         Prefix with ada subdir.
10748         Update dependencies.
10749         (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
10750         (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
10751         (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
10752         Prefix with ada subdir.
10753         (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
10754         (GNAT DEPENDENCIES): Regenerate.
10755         * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
10756         toplevel Makefile.in.
10757         (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
10758         (TARGET_ADA_SRCS): Removed.
10759         (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
10760         (GNATBIND_OBJS): Likewise.
10761         (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
10762         (BACKEND): Removed.
10763         (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
10764         (TREE_H): Likewise.
10765         (ada_extra_files): Likewise.
10766         (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
10767         (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
10768         (update-sources): Likewise.
10769         (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
10770         (ADA_TREE_H): Likewise.
10771         (adadecoce.o): Likewise.
10772         (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
10773         (GNAT DEPENDENCIES): Likewise.
10774
10775 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10776
10777         * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
10778         * Makefile.in: Likewise.
10779
10780 2002-05-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10781
10782         * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
10783         Restore $(CONFIG_H) and prefix.o dependencies.
10784         (ada.stage[1-4]): Depend on stage?-start.
10785
10786         * Makefile.in (b_gnatb.c): Depend on interfac.o.
10787
10788 2002-05-02  Jim Wilson  <wilson@redhat.com>
10789
10790         * utils.c (finish_record_type): Change record_size to record_type.
10791
10792 2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10793
10794         * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
10795         (ALL_ADA_CFLAGS): Define.  Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
10796         ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
10797
10798 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
10799
10800         * misc.c (gnat_parse_file): Update.
10801
10802 2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
10803
10804         * misc.c (gnat_init): Don't set lang_attribute_common.
10805
10806 2002-04-21  Joseph S. Myers  <jsm28@cam.ac.uk>
10807
10808         * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
10809
10810 2002-04-21  Florian Weimer  <fw@deneb.enyo.de>
10811
10812         * gnat_ug.texi: New file.
10813
10814         * gnat_rm.texi: Do not include texiplus.texi.  Include fdl.texi
10815         instead of gfdl.texi
10816
10817         * xgnatug.adb, ug_words: New files.
10818
10819         * Makefile.in (doc, dvi): New targets.  Build gnat_ug_*,
10820         gnat_rm and gnat-style manuals.
10821
10822 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
10823
10824         * gigi.h (incomplete_type_error): Remove.
10825         * utils.c (incomplete_type_error): Remove.
10826
10827 2002-04-16  Mark Mitchell  <mark@codesourcery.com>
10828
10829         * trans.c (tree_transform): Add has_scope argument to
10830         expand_start_stmt_expr.
10831
10832 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
10833
10834         * gigi.h (truthvalue_conversion): Rename.
10835         * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
10836         * trans.c (tree_transform): Update.
10837         * utils2.c (truthvalue_conversion): Rename, update.
10838         (build_binary_op, build_unary_op): Update.
10839
10840 2002-04-04  Laurent Guerby  <guerby@acm.org>
10841
10842         * make.adb: Implement -margs, remove restriction about file name placement.
10843         * makeusg.adb: Documentation update.
10844         * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
10845         * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
10846
10847 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
10848
10849         * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
10850         (builtin_function): Similarly.
10851
10852 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
10853
10854         * decl.c (gnat_to_gnu_entity): Update.
10855         * gigi.h (mark_addressable): Rename.
10856         * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
10857         * trans.c (tree_transform): Update.
10858         * utils.c (create_var_decl): Update.
10859         * util2.c (build_binary_op, build_unary_op,
10860         fill_vms_descriptor): Update.
10861         (mark_addressable): Rename, update.
10862
10863 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
10864
10865         * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
10866         Rename.
10867         * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
10868         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
10869         * trans.c (tree_transform, convert_with_check): Update.
10870         * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
10871         Rename.
10872
10873 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
10874
10875         * gigi.h (finish_incomplete_decl): Rename.
10876         * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
10877         * utils.c (gnat_init_decl_processing): Don't set hook.
10878         (finish_incomplete_decl): Rename.
10879
10880 2002-03-29  Andreas Schwab  <schwab@suse.de>
10881
10882         * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
10883         directory.
10884
10885 2001-03-28  Robert Dewar <dewar@gnat.com>
10886
10887         * checks.ads:
10888         (Remove_Checks): New procedure
10889
10890         * checks.adb:
10891         (Remove_Checks): New procedure
10892
10893         * exp_util.adb:
10894         Use new Duplicate_Subexpr functions
10895         (Duplicate_Subexpr_No_Checks): New procedure
10896         (Duplicate_Subexpr_No_Checks_Orig): New procedure
10897         (Duplicate_Subexpr): Restore original form (checks duplicated)
10898         (Duplicate_Subexpr): Call Remove_Checks
10899
10900         * exp_util.ads:
10901         (Duplicate_Subexpr_No_Checks): New procedure
10902         (Duplicate_Subexpr_No_Checks_Orig): New procedure
10903         Add 2002 to copyright notice
10904
10905         * sem_util.adb: Use new Duplicate_Subexpr functions
10906
10907         * sem_eval.adb:
10908         (Eval_Indexed_Component): This is the place to call
10909         Constant_Array_Ref and to replace the value. We simply merge
10910         the code of this function in here, since it is now no longer
10911         used elsewhere. This fixes the problem of the back end not
10912         realizing we were clever enough to see that this was
10913         constant.
10914         (Expr_Val): Remove call to Constant_Array_Ref
10915         (Expr_Rep_Val): Remove call to Constant_Array_Ref
10916         Minor reformatting
10917         (Constant_Array_Ref): Deal with string literals (patch
10918         suggested by Zack Weinberg on the gcc list)
10919
10920 2001-03-28  Ed Schonberg <schonber@gnat.com>
10921
10922         * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
10923         Duplicate_Subexpr_Move_Checks.
10924
10925         * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
10926         Duplicate_Subexpr_Move_Checks.
10927
10928         * sem_eval.adb: (Constant_Array_Ref): Verify that constant
10929         value of array exists before retrieving it (it may a private
10930         protected component in a function).
10931
10932 2002-03-28   Geert Bosch <bosch@gnat.com>
10933
10934         * prj-pp.adb : New file.
10935
10936         * prj-pp.ads : New file.
10937
10938 2002-03-28  Andreas Jaeger  <aj@suse.de>
10939
10940         * Makefile.in (stamp-sdefault): Fix path for Makefile.
10941
10942 2002-03-28  Neil Booth  <neil@daikokuya.demon.co.uk>
10943
10944         * misc.c (gnat_expand_expr): Move prototype.
10945
10946 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10947
10948         * misc.c (insert_default_attributes): Remove.
10949
10950 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10951
10952         * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
10953         (gnat_init): Don't set hook.
10954         (gnat_expand_expr): Fix prototype.
10955
10956 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10957
10958         * misc.c (ggc_p): Remove.
10959
10960 2002-03-27  Geert Bosch  <bosch@gnat.com>
10961
10962         * prj-makr.ads, prj-makr.adb : New files.
10963
10964 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
10965
10966         * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
10967         (lang_mark_tree): Make static, rename.
10968
10969 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
10970
10971         * misc.c (maybe_build_cleanup): Remove.
10972
10973 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
10974
10975         * gigi.h (yyparse): Remove.
10976
10977 2002-03-23  Florian Weimer  <fw@deneb.enyo.de>
10978
10979         * gnat_rm.texi: Sync with ACT version.
10980           (From Ben Brosgol <brosgol@gnat.com>)
10981
10982 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
10983
10984         * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
10985         (gnat_init): Remove old hook.
10986
10987 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
10988
10989         * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
10990         (yyparse): Rename gnat_parse_file.
10991
10992 2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
10993
10994         Delete all lines containing "$Revision:".
10995         * xeinfo.adb: Don't look for revision numbers.
10996         * xnmake.adb: Likewise.
10997         * xsinfo.adb: Likewise.
10998         * xsnames.adb: Likewise.
10999         * xtreeprs.adb: Likewise.
11000
11001 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11002
11003         * misc.c (gnat_tree_code_type, gnat_tree_code_length,
11004         gnat_tree_code_name): Delete.
11005         (tree_code_type, tree_code_length, tree_code_name): Define.
11006         (gnat_init): Don't try to copy into the various tree_code
11007         arrays.
11008
11009 2002-03-11  Richard Henderson  <rth@redhat.com>
11010
11011         * Makefile.in (.NOTPARALLEL): Add fake tag.
11012
11013 2002-03-07  Geert Bosch  <bosch@gnat.com>
11014
11015         * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
11016         s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
11017         switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
11018         switch-m.adb, switch-m.ads : New files.
11019
11020 2002-03-07  Geert Bosch  <bosch@gnat.com>
11021
11022         * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
11023         4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
11024         4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
11025         4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
11026         5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
11027         5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
11028         5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
11029         5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
11030         5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
11031         5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
11032         5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
11033         5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
11034         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
11035         5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
11036         5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
11037         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
11038         5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
11039         5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
11040         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
11041         5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
11042         7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
11043         Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
11044         a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
11045         a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
11046         a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
11047         a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
11048         a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
11049         a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
11050         a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
11051         adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
11052         atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
11053         bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
11054         csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
11055         einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
11056         eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
11057         exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
11058         exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
11059         exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
11060         exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
11061         exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
11062         expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
11063         freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
11064         g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
11065         g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
11066         g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
11067         g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
11068         g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
11069         g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
11070         gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
11071         gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
11072         gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
11073         i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
11074         impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
11075         lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
11076         lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
11077         memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
11078         mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
11079         nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
11080         output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
11081         par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
11082         prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
11083         prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
11084         prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
11085         rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
11086         s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
11087         s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
11088         s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
11089         s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
11090         s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
11091         s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
11092         s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
11093         s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
11094         s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
11095         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
11096         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
11097         s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
11098         s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
11099         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
11100         s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
11101         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
11102         sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
11103         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
11104         sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
11105         sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
11106         sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
11107         sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
11108         sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
11109         sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
11110         sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
11111         snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
11112         stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
11113         table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
11114         tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
11115         treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
11116         types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
11117         utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
11118         xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
11119
11120         * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
11121         g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
11122         mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
11123         osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
11124
11125         * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
11126         5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
11127
11128         * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
11129         to mdll-fil.ad[bs] and mdll-util.ad[bs]
11130
11131         * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
11132         from mdllfile.ad[bs] and mdlltool.ad[bs]
11133
11134 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11135
11136         * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
11137         lieu of explicit sizeof/sizeof.
11138
11139 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
11140
11141         * misc.c (copy_lang_decl): Remove.
11142
11143 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
11144
11145         * misc.c: Delete traditional-mode-related code copied from the
11146         C front end but not used, or used only to permit the compiler
11147         to link.
11148
11149 2002-02-07  Richard Henderson  <rth@redhat.com>
11150
11151         * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
11152         * adaint.h (__gnat_to_gm_time): Update prototype.
11153
11154 2002-01-30  Richard Henderson  <rth@redhat.com>
11155
11156         * trans.c (tree_transform) [N_Loop_Statement]: Use
11157         expand_exit_loop_top_cond.
11158
11159 2001-12-23  Richard Henderson  <rth@redhat.com>
11160
11161         * utils.c (end_subprog_body): Push GC context around
11162         rest_of_compilation for nested functions.
11163
11164 2001-12-23  Richard Henderson  <rth@redhat.com>
11165
11166         * 5nosinte.ads: Get definition of "int" from Interfaces.C.
11167
11168 2001-12-23  Florian Weimer  <fw@deneb.enyo.de>
11169
11170         * gnat-style.texi (Declarations and Types): Remove ancient style
11171         rule which was mandated by code generation issues.
11172
11173         * gnat-style.texi (header): Add @dircategory, @direntry.
11174         (title page): Remove date.
11175         (general) Add @./@: where approriate, and two spaces after the
11176         full stop at the end of a sentence.  Use @samp markup when
11177         referring concrete lexical entities (keywords, attribute names
11178         etc.), and @syntax for ARM grammar elements. Use @r for English
11179         text in comments.  Use @emph for emphasis.  Change "if-statements"
11180         etc. to "if statements" (without @samp). Break long lines.  Make
11181         casing of section names consistent.
11182         (Identifiers): Use @samp markup for variable names.
11183         (Comments): Use @samp markup for comment characters. Line-end
11184         comments may follow any Ada code, not just statements.  Fix
11185         misspelling of "Integer" as "integer".
11186         (Loop statements): Do not use variable name "I", use "J".
11187         (Subprogram Declarations): Document alignment.
11188         (Subprogram Bodies, Block statements): Document empty line before
11189         "begin".
11190
11191 2001-12-22  Florian Weimer  <fw@deneb.enyo.de>
11192
11193         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
11194         function approach did not work well because of a side effect (the
11195         function call could reallocate the table which was being indexed
11196         using its result). Fixes ada/4851.
11197
11198 2001-12-19  Robert Dewar <dewar@gnat.com>
11199
11200         * bindgen.adb: Minor reformatting
11201
11202         * cstand.adb: Minor reformatting
11203
11204         * fmap.adb: Minor reformatting
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         * fmap.ads:
11211         Change name from Add for Add_To_File_Map (Add is much too generic)
11212         Change Path_Name_Of to Mapped_Path_Name
11213         Change File_Name_Of to Mapped_File_Name
11214         Fix copyright dates in header
11215
11216         * fname-uf.adb: Minor reformatting.  New names of stuff in Fmap.
11217         Add use clause for Fmap.
11218
11219         * make.adb: Minor reformatting
11220
11221         * osint.adb: Minor reformatting.  Change of names in Fmap.
11222         Add use clause for Fmap.
11223
11224         * prj-env.adb: Minor reformatting
11225
11226         * prj-env.ads: Minor reformatting
11227
11228         * switch.adb: Minor reformatting.  Do proper raise of Bad_Switch if
11229         error found (there were odd exceptions to this general rule in
11230         -gnatec/-gnatem processing)
11231
11232 2001-12-19  Olivier Hainque <hainque@gnat.com>
11233
11234         * raise.c (__gnat_eh_personality): Exception handling personality
11235         routine for Ada.  Still in rough state, inspired from the C++ version
11236         and still containing a bunch of debugging artifacts.
11237         (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
11238         inspired from the C++ library.
11239
11240         * raise.c (eh_personality): Add comments. Part of work for the GCC 3
11241         exception handling integration.
11242
11243 2001-12-19  Arnaud Charlet <charlet@gnat.com>
11244
11245         * Makefile.in: Remove use of 5smastop.adb which is obsolete.
11246         (HIE_SOURCES): Add s-secsta.ad{s,b}.
11247         (HIE_OBJS): Add s-fat*.o
11248         (RAVEN_SOURCES): Remove files that are no longer required. Add
11249         interrupt handling files.
11250         (RAVEN_MOD): Removed, no longer needed.
11251
11252 2001-12-19  Robert Dewar <dewar@gnat.com>
11253
11254         * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
11255         Add 2001 to copyright date
11256
11257         * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
11258         need to force universal inlining for these cases.
11259
11260 2001-12-19  Arnaud Charlet <charlet@gnat.com>
11261
11262         * s-taprob.adb: Minor clean ups so that this unit can be used in
11263         Ravenscar HI.
11264
11265         * exp_ch7.adb: Allow use of secondary stack in HI mode.
11266         Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
11267
11268 2001-12-19  Vincent Celier <celier@gnat.com>
11269
11270         * prj-tree.ads (Project_Node_Record): Add comments for components
11271         Pkg_Id and Case_Insensitive.
11272
11273 2001-12-19  Pascal Obry <obry@gnat.com>
11274
11275         * g-socket.adb: Minor reformatting. Found while reading code.
11276
11277 2001-12-19  Robert Dewar <dewar@gnat.com>
11278
11279         * prj-tree.ads: Minor reformatting
11280
11281 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
11282
11283         * config-lang.in (diff_excludes): Remove.
11284
11285 2001-12-17  Ed Schonberg <schonber@gnat.com>
11286
11287         * sem_res.adb (Resolve_Selected_Component): do not generate a
11288         discriminant check if the selected component is a component of
11289         the argument of an initialization procedure.
11290
11291         * trans.c (tree_transform, case of arithmetic operators): If result
11292         type is private, the gnu_type is the base type of the full view,
11293         given that the full view itself may be a subtype.
11294
11295 2001-12-17  Robert Dewar <dewar@gnat.com>
11296
11297         * sem_res.adb: Minor reformatting
11298
11299         * trans.c (tree_transform, case N_Real_Literal): Add missing third
11300         parameter in call to Machine (unknown horrible effects from this
11301         omission).
11302
11303         * urealp.h: Add definition of Round_Even for call to Machine
11304         Add third parameter for Machine
11305
11306 2001-12-17  Ed Schonberg <schonber@gnat.com>
11307
11308         * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
11309         predefined units in No_Run_Time mode.
11310
11311 2001-12-17  Richard Kenner <kenner@gnat.com>
11312
11313         * misc.c (insn-codes.h): Now include.
11314
11315 2001-12-17  Olivier Hainque <hainque@gnat.com>
11316
11317         * a-except.adb: Preparation work for future integration of the GCC 3
11318         exception handling mechanism
11319         (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
11320         to factorize previous code sequences and make them externally callable,
11321         e.g. for the Ada personality routine when the GCC 3 mechanism is used.
11322         (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
11323         Use the new notification routines.
11324
11325 2001-12-17  Emmanuel Briot <briot@gnat.com>
11326
11327         * prj-tree.ads (First_Choice_Of): Document the when others case
11328
11329 2001-12-17  Arnaud Charlet <charlet@gnat.com>
11330
11331         * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
11332         HI-E mode, in order to support Ravenscar profile properly.
11333
11334         * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
11335         mode on 32 bits targets.
11336
11337 2001-12-17  Vincent Celier <celier@gnat.com>
11338
11339         * fmap.adb: Initial version.
11340
11341         * fmap.ads: Initial version.
11342
11343         * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
11344         If search is successfully done, add to mapping.
11345
11346         * frontend.adb: Initialize the mapping if a -gnatem switch was used.
11347
11348         * make.adb:
11349         (Gnatmake): Add new local variable Mapping_File_Name.
11350          Create mapping file when using project file(s).
11351          Delete mapping file before exiting.
11352
11353         * opt.ads (Mapping_File_Name): New variable
11354
11355         * osint.adb (Find_File): Use path name found in mapping, if any.
11356
11357         * prj-env.adb (Create_Mapping_File): New procedure
11358
11359         * prj-env.ads (Create_Mapping_File): New procedure.
11360
11361         * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
11362         (Mapping_File)
11363
11364         * usage.adb: Add entry for new switch -gnatem.
11365
11366         * Makefile.in: Add dependencies for fmap.o.
11367
11368 2001-12-17  Ed Schonberg <schonber@gnat.com>
11369
11370         * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
11371         is a package instantiation rewritten as a package body.
11372         (Install_Withed_Unit): Undo previous change, now redundant.
11373
11374 2001-12-17  Gary Dismukes <dismukes@gnat.com>
11375
11376         * layout.adb:
11377         (Compute_Length): Move conversion to Unsigned to callers.
11378         (Get_Max_Size): Convert Len expression to Unsigned after calls to
11379         Compute_Length and Determine_Range.
11380         (Layout_Array_Type): Convert Len expression to Unsigned after calls to
11381         Compute_Length and Determine_Range.
11382         Above changes fix problem with length computation for supernull arrays
11383         where Max (Len, 0) wasn't getting applied due to the Unsigned
11384         conversion used by Compute_Length.
11385
11386 2001-12-17  Arnaud Charlet <charlet@gnat.com>
11387
11388         * rtsfind.ads:
11389         (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
11390          System.Secondary_Stack.
11391         (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
11392          in HI-E mode.
11393         Remove unused entity RE_Exception_Data.
11394
11395         * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
11396
11397         * rident.ads (No_Secondary_Stack): New restriction.
11398
11399 2001-12-17  Joel Brobecker <brobecke@gnat.com>
11400
11401         * gnat_rm.texi: Fix minor typos. Found while reading the section
11402         regarding "Bit_Order Clauses" that was sent to a customer.
11403         Very interesting documentation!
11404
11405 2001-12-17  Robert Dewar <dewar@gnat.com>
11406
11407         * sem_case.adb (Choice_Image): Avoid creating improper character
11408         literal names by using the routine Set_Character_Literal_Name. This
11409         fixes bombs in certain error message cases.
11410
11411 2001-12-17  Arnaud Charlet <charlet@gnat.com>
11412
11413         * a-reatim.adb: Minor reformatting.
11414
11415 2001-12-17  Ed Schonberg <schonber@gnat.com>
11416
11417         * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
11418         case where the formal is an extension of another formal in the current
11419         unit or in a parent generic unit.
11420
11421 2001-12-17  Arnaud Charlet <charlet@gnat.com>
11422
11423         * s-tposen.adb: Update comments.  Minor reformatting.
11424         Minor code clean up.
11425
11426         * s-tarest.adb: Update comments.  Minor code reorganization.
11427
11428 2001-12-17  Gary Dismukes <dismukes@gnat.com>
11429
11430         * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
11431         when Java_VM.
11432
11433 2001-12-17  Robert Dewar <dewar@gnat.com>
11434
11435         * exp_attr.adb: Minor reformatting
11436
11437 2001-12-17  Ed Schonberg <schonber@gnat.com>
11438
11439         * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
11440         derivations nested within a child unit: verify that the parent
11441         type is declared in an outer scope.
11442
11443 2001-12-17  Robert Dewar <dewar@gnat.com>
11444
11445         * sem_ch12.adb: Minor reformatting
11446
11447 2001-12-17  Ed Schonberg <schonber@gnat.com>
11448
11449         * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
11450         warning if current unit is a predefined one, from which bodies may
11451         have been deleted.
11452
11453 2001-12-17  Robert Dewar <dewar@gnat.com>
11454
11455         * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
11456         Fix header format. Add 2001 to copyright date.
11457
11458         * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
11459         which caused CE during compilation if checks were enabled.
11460
11461 2001-12-17  Vincent Celier <celier@gnat.com>
11462
11463         * make.adb:
11464         (Switches_Of): New function
11465         (Test_If_Relative_Path): New procedure
11466         (Add_Switches): Use new function Switches_Of
11467         (Collect_Arguments_And_Compile): Use new function Switches_Of.
11468         When using a project file, test if there are any relative
11469         search path. Fail if there are any.
11470         (Gnatmake): Only add switches for the primary directory when not using
11471         a project file. When using a project file, change directory to the
11472         object directory of the main project file. When using a project file,
11473         test if there are any relative search path. Fail if there are any.
11474         When using a project file, fail if specified executable is relative
11475         path with directory information, and prepend executable, if not
11476         specified as an absolute path, with the exec directory.  Make sure
11477         that only one -o switch is transmitted to the linker.
11478
11479         * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
11480
11481         * prj-nmsc.adb:
11482         (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
11483         when using a non standard naming scheme.
11484         (Check_Ada_Naming_Scheme): Make sure that error messages
11485         do not raise exceptions.
11486         (Is_Illegal_Append): Return True if there is no dot in the suffix.
11487         (Language_Independent_Check): Check the exec directory.
11488
11489         * prj.adb (Project_Empty): Add new component Exec_Directory
11490
11491         * prj.ads:
11492         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
11493         (Project_Data): Add component Exec_Directory
11494
11495         * snames.adb: Updated to match snames.ads revision 1.215
11496
11497         * snames.ads: Added Exec_Dir
11498
11499 2001-12-17  Robert Dewar <dewar@gnat.com>
11500
11501         * make.adb: Minor reformatting
11502
11503         * prj-nmsc.adb: Minor reformatting
11504
11505         * snames.adb: Updated to match snames.ads
11506
11507         * snames.ads: Alphebetize entries for project file
11508
11509 2001-12-17  Ed Schonberg <schonber@gnat.com>
11510
11511         * trans.c (process_freeze_entity): Do nothing if the entity is a
11512         subprogram that was already elaborated.
11513
11514 2001-12-17  Richard Kenner <kenner@gnat.com>
11515
11516         * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
11517         and Esize if object is referenced via pointer.
11518
11519 2001-12-17  Ed Schonberg <schonber@gnat.com>
11520
11521         * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
11522         is discrete before analyzing choices.
11523
11524 2001-12-17  Joel Brobecker <brobecke@gnat.com>
11525
11526         * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
11527         containing the name of the Ada Main Program. This string is mainly
11528         intended for the debugger.
11529         (Gen_Output_File_C): Do the equivalent change when generating a C file.
11530
11531 2001-12-17  Robert Dewar <dewar@gnat.com>
11532
11533         * ali.adb: Set new Dummy_Entry field in dependency entry
11534
11535         * ali.ads: Add Dummy_Entry field to source dependency table
11536
11537         * bcheck.adb (Check_Consistency): Ignore dummy D lines
11538
11539         * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
11540
11541         * lib-writ.ads: Document dummy D lines for missing files.
11542
11543         * types.ads: (Dummy_Time_Stamp): New value for non-existant files
11544
11545 2001-12-17  Robert Dewar <dewar@gnat.com>
11546
11547         * ali.adb: Type reference does not reset current file.
11548
11549         * ali.adb: Recognize and scan renaming reference
11550
11551         * ali.ads: Add spec for storing renaming references.
11552
11553         * lib-xref.ads: Add documentation for handling of renaming references
11554
11555         * lib-xref.adb: Implement output of renaming reference.
11556
11557         * checks.adb:
11558         (Determine_Range): Document local variables
11559         (Determine_Range): Make sure Hbound is initialized. It looks as though
11560          there could be a real problem here with an uninitialized reference
11561          to Hbound, but no actual example of failure has been found.
11562
11563 2001-12-17  Laurent Pautet <pautet@gnat.com>
11564
11565         * g-socket.ads:
11566         Fix comment of Shutdown_Socket and Close_Socket. These functions
11567         should not fail silently because if they are called twice, this
11568         probably means that there is a race condition in the user program.
11569         Anyway, this behaviour is consistent with the rest of this unit.
11570         When an error occurs, an exception is raised with the error message
11571         as exception message.
11572
11573 2001-12-17  Robert Dewar <dewar@gnat.com>
11574
11575         * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
11576         that it happens before modification of Sloc values for -gnatD.
11577
11578         * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
11579         so that it happens before modification of Sloc values for -gnatD.
11580
11581         * switch.adb: Minor reformatting
11582
11583 2001-12-15  Richard Henderson  <rth@redhat.com>
11584
11585         * sem_ch7.adb: Wrap comment.
11586
11587 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
11588
11589         * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
11590         5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
11591         5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
11592         5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
11593         5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
11594         7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
11595         a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
11596         a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
11597         cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
11598         exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
11599         exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
11600         g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
11601         gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
11602         make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
11603         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
11604         repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
11605         s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
11606         s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
11607         s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
11608         s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
11609         sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
11610         sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
11611         sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
11612         sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
11613         spelling errors.
11614
11615 2001-12-14  Vincent Celier <celier@gnat.com>
11616
11617         * osint.adb(Create_Debug_File): When an object file is specified,
11618         put the .dg file in the same directory as the object file.
11619
11620 2001-12-14  Robert Dewar <dewar@gnat.com>
11621
11622         * osint.adb: Minor reformatting
11623
11624         * lib-xref.adb (Output_Instantiation): New procedure to generate
11625         instantiation references.
11626
11627         * lib-xref.ads: Add documentation of handling of generic references.
11628
11629         * ali.adb (Read_Instantiation_Ref): New procedure to read
11630         instantiation references
11631
11632         * ali.ads: Add spec for storing instantiation references
11633
11634         * bindusg.adb: Minor reformatting
11635
11636         * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11637
11638         * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11639
11640         * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11641
11642         * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11643
11644         * csets.ads:
11645         Fix header format
11646         Add 2001 to copyright date
11647         Add entry for Latin-5 (Cyrillic ISO-8859-5)
11648
11649 2001-12-14  Matt Gingell <gingell@gnat.com>
11650
11651         * adaint.c: mktemp is a macro on Lynx and can not be used as an
11652         expression.
11653
11654 2001-12-14  Richard Kenner <kenner@gnat.com>
11655
11656         * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
11657         if operand is CONSTRUCTOR.
11658
11659 2001-12-14  Ed Schonberg <schonber@gnat.com>
11660
11661         * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
11662         before emiting check on right-hand side, so that exception information
11663         is correct.
11664
11665 2001-12-14  Richard Kenner <kenner@gnat.com>
11666
11667         * utils.c (create_var_decl): Throw away initializing expression
11668         if just annotating types and non-constant.
11669
11670 2001-12-14  Vincent Celier <celier@gnat.com>
11671
11672         * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
11673         Default_Ada_...
11674
11675         * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
11676         Remove functions.
11677         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
11678
11679         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
11680         Remove functions.
11681         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
11682
11683 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
11684
11685         * ChangeLog: Remove piece of diff output.
11686
11687 2001-12-14  Geert Bosch <bosch@gnat.com>
11688
11689         * config-lang.in: Update copyright notice
11690
11691         * layout.adb: Remove commented out code.
11692
11693         * mdllfile.ads: Update copyright notice. Fix header format.
11694
11695         * sem_case.ads: Likewise.
11696
11697         * sem_ch3.adb: Minor reformatting.
11698
11699 2001-12-12  Geert Bosch <bosch@gnat.com>
11700
11701         * freeze.ads: Update copyright date.
11702
11703         * g-comlin.ads: Minor reformatting.
11704
11705         * gnat-style.texi: Fix typo.
11706
11707 2001-12-12  Geert Bosch <bosch@gnat.com>
11708
11709         *  einfo.h: Regenerate.
11710
11711 2001-12-12  Ed Schonberg <schonber@gnat.com>
11712
11713         * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
11714         on known node types, rather than untyped fields. Further cleanups.
11715
11716 2001-12-12  Robert Dewar <dewar@gnat.com>
11717
11718         * sem_ch12.adb:
11719         (Save_Entity_Descendant): Minor comment update.
11720         (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
11721          of an N_Attribute_Reference node. As per note below, this does not
11722         eliminate need for Associated_Node in attribute ref nodes.
11723         (Associated_Node): Documentation explicitly mentions attribute
11724         reference nodes, since this field is used in such nodes.
11725
11726         * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
11727
11728 2001-12-12  Robert Dewar <dewar@gnat.com>
11729
11730         * s-stalib.adb: Add more comments on with statements being needed
11731
11732         * par-ch12.adb: Minor reformatting
11733
11734         * prj-dect.ads: Fix copyright header
11735
11736         * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
11737         inputs fit in 32 bits, but the result still overflows.
11738
11739         * s-fatgen.ads: Minor comment improvement
11740
11741 2001-12-12  Ed Schonberg <schonber@gnat.com>
11742
11743         * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
11744         formal derived type, look for an inherited component from the full
11745         view of the parent, if any.
11746
11747 2001-12-12  Robert Dewar <dewar@gnat.com>
11748
11749         * checks.ads (Apply_Alignment_Check): New procedure.
11750
11751         * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
11752         ensure that the alignment of objects with address clauses is
11753         appropriate, and raise PE if not.
11754
11755         * exp_util.ads (Must_Be_Aligned): Removed, replaced by
11756         Exp_Pakd.Known_Aligned_Enough
11757
11758         * mdllfile.ads: Minor reformatting
11759
11760         * mlib-fil.ads: Minor reformatting
11761
11762 2001-12-12  Ed Schonberg <schonber@gnat.com>
11763
11764         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
11765         fix to any component reference if enclosing record has non-standard
11766         representation.
11767
11768 2001-12-12  Vincent Celier <celier@gnat.com>
11769
11770         * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
11771         Iteration
11772
11773 2001-12-12  Ed Schonberg <schonber@gnat.com>
11774
11775         * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
11776         sem_attr.
11777
11778 2001-12-12  Robert Dewar <dewar@gnat.com>
11779
11780         * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
11781
11782 2001-12-12  Emmanuel Briot <briot@gnat.com>
11783
11784         * g-regexp.adb: Remove all debug code, since it isn't required anymore,
11785         and it adds dependencies to system.io.
11786
11787 2001-12-12  Pascal Obry <obry@gnat.com>
11788
11789         * g-dirope.adb (Expand_Path.Var): Correctly detect end of
11790         variable name.
11791
11792 2001-12-11  Ed Schonberg <schonber@gnat.com>
11793
11794         * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
11795         that is the parent of other generics, the instance body replaces the
11796         instance node.  Retrieve the instance of the spec, which is the one
11797         that is visible in clients and within the body.
11798
11799 2001-12-11  Vincent Celier <celier@gnat.com>
11800
11801         * gnatmain.adb: Initial version.
11802
11803         * gnatmain.ads: Initial version.
11804
11805         * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
11806
11807         * snames.adb: Updated to match snames.ads.
11808
11809         * snames.ads: Added Gnatstub.
11810
11811 2001-12-11  Vincent Celier <celier@gnat.com>
11812
11813         * prj-attr.adb (Initialization_Data): Change name from
11814         Initialisation_Data.
11815
11816 2001-12-11  Emmanuel Briot <briot@gnat.com>
11817
11818         * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
11819         + and * applied to backslashed expressions like \r.
11820
11821 2001-12-11  Vasiliy Fofanov <fofanov@gnat.com>
11822
11823         * g-os_lib.ads: String_List type added, Argument_List type is now
11824         subtype of String_List.
11825
11826 2001-12-11  Robert Dewar <dewar@gnat.com>
11827
11828         * g-os_lib.ads: Change copyright to FSF
11829         Add comments for String_List type
11830
11831 2001-12-11  Vincent Celier <celier@gnat.com>
11832
11833         * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
11834         string to the buffer).
11835
11836 2001-12-11  Ed Schonberg <schonber@gnat.com>
11837
11838         * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
11839         sem_attr.
11840
11841         * sem_attr.adb: Simplify previous fix for Address.
11842         (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
11843         to avoid anomalies where the bound of the type appears to raise
11844         constraint error.
11845
11846 2001-12-11  Robert Dewar <dewar@gnat.com>
11847
11848         * lib-xref.adb (Output_Refs): Make sure pointers are always properly
11849         handled.
11850
11851 2001-12-11  Ed Schonberg <schonber@gnat.com>
11852
11853         * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
11854         renamed unit before checking for recursive instantiations.
11855
11856 2001-12-11  Emmanuel Briot <briot@gnat.com>
11857
11858         * prj.ads: Add comments for some of the fields.
11859
11860 2001-12-11  Robert Dewar <dewar@gnat.com>
11861
11862         * lib-xref.adb (Output_Refs): Don't output type references outside
11863         the main unit if they are not otherwise referenced.
11864
11865 2001-12-11  Ed Schonberg <schonber@gnat.com>
11866
11867         * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
11868         code and diagnose additional illegal uses
11869
11870         * sem_util.adb (Is_Object_Reference): An indexed component is an
11871         object only if the prefix is.
11872
11873 2001-12-11  Vincent Celier <celier@gnat.com>
11874
11875         * g-diopit.adb: Initial version.
11876
11877         * g-diopit.ads: Initial version.
11878
11879         * g-dirope.adb:
11880         (Expand_Path): Avoid use of Unbounded_String
11881         (Find, Wildcard_Iterator): Moved to child package Iteration
11882
11883         * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
11884
11885 2001-12-11  Robert Dewar <dewar@gnat.com>
11886
11887         * sem_attr.adb: Minor reformatting
11888
11889 2001-12-11  Ed Schonberg <schonber@gnat.com>
11890
11891         * sem_ch3.adb: Clarify some ???.
11892
11893 2001-12-11  Robert Dewar <dewar@gnat.com>
11894
11895         * exp_util.adb (Must_Be_Aligned): Removed, replaced by
11896         Exp_Pakd.Known_Aligned_Enough
11897
11898         * sem_ch13.adb (Check_Address_Alignment): Removed, extended
11899         version is moved to Exp_Ch13.
11900
11901 2001-12-11  Robert Dewar <dewar@gnat.com>
11902
11903         * einfo.ads: Minor reformatting
11904
11905         * exp_ch5.adb: Add comment for previous.change
11906
11907         * ali.adb: New interface for extended typeref stuff.
11908
11909         * ali.ads: New interface for typeref stuff.
11910
11911         * checks.adb (Apply_Alignment_Check): New procedure.
11912
11913         * debug.adb: Add -gnatdM for modified ALI output
11914
11915         * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
11916
11917         * lib-xref.adb: Extend generation of <..> notation to cover
11918         subtype/object types. Note that this is a complete rewrite,
11919         getting rid of the very nasty quadratic algorithm previously
11920         used for derived type output.
11921
11922         * lib-xref.ads: Extend description of <..> notation to cover
11923         subtype/object types. Uses {..} for these other cases.
11924         Also use (..) for pointer types.
11925
11926         * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
11927
11928         * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
11929         (Known_Aligned_Enough): Replaces Must_Be_Aligned.
11930
11931 2001-12-11  Vincent Celier <celier@gnat.com>
11932
11933         * gnatcmd.adb:
11934         Changed /COMPILE_ONLY to /ACTIONS=COMPILE
11935         Changed /BIND_ONLY to /ACTIONS=BIND
11936         Changed /LINK_ONLY to /ACTIONS=LINK
11937
11938 2001-12-11  Ed Schonberg  <schonber@gnat.com>
11939
11940         * sem_ch8.adb (Find_Selected_Component): improved search for a
11941         candidate package in case of error.
11942
11943         * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
11944         chain back on scope stack before reinstalling use clauses.
11945
11946         * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
11947         is enabled, do not kill the code for the condition, to preserve
11948         warning.
11949
11950 2001-12-11  Robert Dewar <dewar@gnat.com>
11951
11952         * checks.adb (Insert_Valid_Check): Apply validity check to expression
11953         of conversion, not to result of conversion.
11954
11955 2001-12-11  Ed Schonberg <schonber@gnat.com>
11956
11957         * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
11958         before freezing parent. If the declarations are mutually recursive,
11959         an access to the current record type may be frozen before the
11960         derivation is complete.
11961
11962 2001-12-05  Vincent Celier <celier@gnat.com>
11963
11964         * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
11965         -c /COMPILE_ONLY, -l /LINK_ONLY
11966
11967         * opt.ads:
11968         (Bind_Only): New Flag
11969         (Link_Only): New flag
11970
11971         * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
11972         and -l (Link_Only)
11973
11974         * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
11975
11976         * make.adb:
11977         (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
11978         (Gnatmake): Set the step flags. Only perform a step if the
11979         corresponding step flag is True.
11980         (Scan_Make_Arg): Reset the bind and link step flags when -u
11981         or -gnatc has been specified.
11982
11983 2001-12-05  Ed Schonberg <schonber@gnat.com>
11984
11985         * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
11986         get bounds from right operand.
11987
11988         * sem_eval.adb: Minor reformatting
11989
11990         * exp_util.adb (Make_Literal_Range): use bound of literal rather
11991         than Index'First, its lower bound may be different from 1.
11992
11993         * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
11994         and C48009J
11995
11996 2001-12-05  Vincent Celier <celier@gnat.com>
11997
11998         * prj-nmsc.adb Minor reformatting
11999
12000         * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
12001         set and libraries are not supported.
12002
12003 2001-12-05  Ed Schonberg <schonber@gnat.com>
12004
12005         * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
12006         private view explicitly, so the back-end can treat as a global
12007         when appropriate.
12008
12009 2001-12-05  Ed Schonberg <schonber@gnat.com>
12010
12011         * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
12012          unit, always replace instance node with new body, for ASIS use.
12013
12014 2001-12-05  Vincent Celier <celier@gnat.com>
12015
12016         * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
12017         libraries are not supported and both attributes Library_Name and
12018         Library_Dir are specified.
12019
12020         * prj-proc.adb (Expression): Set location of Result to location of
12021         first term.
12022
12023         * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
12024         (prj-nmsc is now importing MLib.Tgt)
12025
12026         * prj-proc.adb: Put the change indicated above that was forgotten.
12027
12028 2001-12-05  Robert Dewar <dewar@gnat.com>
12029
12030         * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
12031
12032 2001-12-05  Ed Schonberg <schonber@gnat.com>
12033
12034         * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
12035         constraint, introduce explicit subtype declaration and derive from it.
12036
12037         * sem_ch3.adb: Minor reformatting
12038
12039 2001-12-05  Robert Dewar <dewar@gnat.com>
12040
12041         * checks.adb (Determine_Range): Increase cache size for checks.
12042         Minor reformatting
12043
12044         * exp_ch6.adb: Minor reformatting
12045         (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
12046         a parameter whose root type is System.Address, since treating such
12047         subprograms as pure in the code generator is almost surely a mistake
12048         that will lead to unexpected results.
12049
12050         * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
12051         change handling of conversions.
12052
12053         * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
12054
12055 2001-12-05  Ed Schonberg <schonber@gnat.com>
12056
12057         * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
12058         aggregate with static wrong size, attach generated Raise node to
12059         declaration.
12060
12061 2001-12-05  Robert Dewar <dewar@gnat.com>
12062
12063         * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
12064         Fixes compilation abandoned bomb in B24009B.
12065
12066 2001-12-05  Ed Schonberg <schonber@gnat.com>
12067
12068         * sem_ch12.adb:
12069         Document use of Associated_Node on Selected_Components.
12070         (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
12071         to clarify use of untyped descendant fields.
12072
12073 2001-12-05  Robert Dewar <dewar@gnat.com>
12074
12075         * prj-dect.ads: Add ??? comment
12076         Add 2001 to copyright notice (was not done in after all)
12077
12078         * prj-part.adb: Minor reformatting. Reword one awkward error message.
12079
12080         * prj.ads: Minor reformatting throughout, and add some ??? comments
12081
12082         * snames.ads: Minor reformatting
12083
12084 2001-12-05  Geert Bosch <bosch@gnat.com>
12085
12086         * snames.adb: Autoupdate
12087
12088 2001-12-05  Vincent Celier <celier@gnat.com>
12089
12090         * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
12091
12092         * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
12093
12094         * prj-env.adb: Minor comment changes (modifying -> extends).
12095
12096         * prj-nmsc.adb: Minor comment changes (modifying -> extends).
12097
12098         * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
12099         Tok_Extends.
12100
12101         * prj.adb (Initialize): Change Modifying to Extends.
12102
12103         * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
12104
12105         * prj.ads: Minor comment change (Modifying -> extending).
12106
12107         * snames.ads: Change modifying to extends.
12108
12109 2001-12-05  Robert Dewar <dewar@gnat.com>
12110
12111         * sem_warn.adb: Remove stuff for conditionals, we are not going to
12112         do this after all.
12113
12114         * sem_warn.ads: Remove stuff for conditionals, we are not going to
12115         do this after all.  Add 2001 to copyright notice
12116
12117 2001-12-04  Geert Bosch <bosch@gnat.com>
12118
12119         *  einfo.h, sinfo.h, treeprs.ads: Regenerate.
12120
12121 2001-12-04  Robert Dewar <dewar@gnat.com>
12122
12123         * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
12124         location if we already have errors. Stops some cases of cascaded
12125         errors.
12126
12127         * errout.adb: Improve comment.
12128
12129 2001-12-04  Robert Dewar <dewar@gnat.com>
12130
12131         * sem_ch12.adb:
12132         (Analyze_Formal_Type_Definition): Defend against Error.
12133         (Analyze_Formal_Subprogram): Defend against Error.
12134
12135         * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
12136         remove following semicolon if present. Removes cascaded error.
12137
12138 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
12139
12140         * bindgen.adb:
12141         (Gen_Exception_Table_Ada): Write "begin" and then return if Num
12142          exceptions equals 0.
12143         (Gen_Exception_Table_C): Return if Num exceptions equals 0.
12144         Fixes PIWG E tests (which have to be run with -gnatL).
12145
12146 2001-12-04  Robert Dewar <dewar@gnat.com>
12147
12148         * einfo.ads: Minor reformatting
12149
12150 2001-12-04  Ed Schonberg <schonber@gnat.com>
12151
12152         * einfo.ads: Block_Node points to the identifier of the block, not to
12153         the block node itself, to preserve the link when the block is
12154         rewritten, e.g. within an if-statement with a static condition.
12155
12156         * inline.adb (Cleanup_Scopes): recover block statement from block
12157         entity using new meaning of Block_Node.
12158
12159         * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
12160         identifier of block node, rather than to node itself.
12161
12162 2001-12-04  Gary Dismukes <dismukes@gnat.com>
12163
12164         * layout.adb:
12165         (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
12166         (Discrimify): Go back to setting the Etypes of the selected component
12167         because the Vname component does not exist at this point and will
12168         fail name resolution. Also set Analyzed.
12169         Remove with and use of Sem_Res.
12170
12171 2001-12-04  Arnaud Charlet <charlet@gnat.com>
12172
12173         * Makefile.in: (HIE_SOURCES): add s-fat*.
12174
12175 2001-12-04  Robert Dewar <dewar@gnat.com>
12176
12177         * sem_attr.adb:
12178         (Compile_Time_Known_Attribute): New procedure.
12179         (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
12180          proper range check.
12181
12182 2001-12-04  Ed Schonberg <schonber@gnat.com>
12183
12184         * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
12185         processing discriminants to diagnose illegal default values.
12186
12187 2001-12-04  Ed Schonberg <schonber@gnat.com>
12188
12189         * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
12190         access discriminant within a type extension that constrains its
12191         parent discriminants.
12192
12193 2001-12-04  Ed Schonberg <schonber@gnat.com>
12194
12195         * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
12196         is malformed, use instance of Any_Id to allow analysis to proceed.
12197
12198         * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
12199         type definition is illegal.
12200         (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
12201         misplaced.
12202
12203 2001-12-04  Ed Schonberg <schonber@gnat.com>
12204
12205         * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
12206         constants.
12207
12208 2001-12-04  Robert Dewar <dewar@gnat.com>
12209
12210         * errout.adb: Minor reformatting
12211
12212 2001-12-04  Robert Dewar <dewar@gnat.com>
12213
12214         * exp_util.adb: Minor reformatting from last change
12215
12216         * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
12217         which is a rewriting of an expression, traverse the original
12218         expression to remove warnings that may have been posted on it.
12219
12220 2001-12-04  Ed Schonberg <schonber@gnat.com>
12221
12222         * exp_util.adb (Must_Be_Aligned): Return false for a component of a
12223         record that has other packed components.
12224
12225 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
12226
12227         * adaint.c: Minor cleanups.
12228
12229 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
12230
12231         * adaint.c: Do not use utime.h on vxworks.
12232
12233 2001-12-04  Arnaud Charlet <charlet@gnat.com>
12234
12235         * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
12236         more confusion than it solves.
12237
12238 2001-12-04  Geert bosch <bosch@gnat.com>
12239
12240         * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
12241
12242 2001-12-04  Geert Bosch  <bosch@gnat.com>
12243
12244         * Makefile.in (update-sources): New target.
12245         For use by gcc_release script.
12246
12247 2001-12-04  Ed Schonberg <schonber@gnat.com>
12248
12249         * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
12250         a configuration pragma, it is now legal wherever a pragma can appear.
12251
12252 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
12253
12254         * Makefile.in: Don't set ALL.  Delete @cross_defines@,
12255         @cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
12256         is now @CROSS@ -DIN_GCC; update comment.
12257
12258 2001-12-04  Robert Dewar <dewar@gnat.com>
12259
12260         * einfo.adb (Has_Pragma_Pure_Function): New flag.
12261         Fix problem that stopped ceinfo from working
12262
12263         * einfo.ads (Has_Pragma_Pure_Function): New flag.
12264
12265         * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
12266
12267 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
12268
12269         * gnatchop.adb:
12270         (File_Time_Stamp): New procedure.
12271         (Preserve_Mode): New boolean.
12272         (Write_Unit): Pass time stamp.
12273         Implement -p switch (preserve time stamps).
12274
12275         * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
12276
12277         * gnatchop.adb: Do usage info for -p switch
12278
12279         * adaint.h (__gnat_set_file_time_name): New function
12280
12281         * adaint.c (__gnat_set_file_time_name): Implement
12282
12283         * adaint.h: Fix typo
12284
12285 2001-12-03  Robert Dewar <dewar@gnat.com>
12286
12287         * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
12288         have Associated_Node.
12289
12290 2001-12-03  Robert Dewar <dewar@gnat.com>
12291
12292         * prj-proc.adb: Minor reformatting
12293
12294         * make.adb: Minor reformatting
12295
12296 2001-12-03  Geert Bosch <bosch@gnat.com>
12297
12298         * make.adb: Minor reformatting.
12299
12300 2001-12-03 Robert Dewar  <dewar@gnat.com>
12301
12302         * sem_ch12.adb: Minor reformatting
12303
12304 2001-12-03  Ed Schonberg <schonber@gnat.com>
12305
12306         * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
12307         push Standard on the stack before analyzing the instance body,
12308         in order to have a clean visibility environment.
12309
12310         * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
12311
12312 2001-12-03  Ed Schonberg <schonber@gnat.com>
12313
12314         * sem_ch12.adb (Instantiate_Package_Body): Protect against double
12315         instantiation of a body that contains an inlined body.
12316
12317 2001-12-03  Ed Schonberg <schonber@gnat.com>
12318
12319         * sem_ch12.adb:
12320         (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
12321         to prevent freezing within formal packages.
12322         (Freeze_Subprogram_Body): If body comes from another instance that
12323         appeared before its own body, place freeze node at end of current
12324         declarative part, to prevent a back-end crash.
12325         (Inline_Instance_Body): Handle properly a package instance within
12326         a subprogram instance that is a child unit.
12327
12328 2001-12-01  Graham Stott  <grahams@redhat.com>
12329
12330         * Makefile.in (misc.o): Add missing $(srcdir) prefix
12331         and add optabs.h dependency.
12332
12333         * misc.c: Include optabs.h
12334         (gnat_tree_code_type): Make static and const.
12335         (gnat_tree_code_length): Likewise.
12336         (gnat_tree_code_name): Likewise.
12337         (update_setjmp_buf): Obtain operands mode from insn_data.
12338
12339 2001-11-29  Richard Henderson  <rth@redhat.com>
12340
12341         * init.c: Remove obsolete dwarf2 frame.h section.
12342
12343 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
12344
12345         * Make-lang.in (ada.generated-manpages): New dummy target.
12346
12347 2001-11-29  Ed Schonberg <schonber@gnat.com>
12348
12349         * g-os_lib.adb (Add_To_Command): use explicit loop to move string
12350         into Command, an array conversion is illegal here. Uncovered by
12351         ACATS B460005.
12352
12353 2001/11/28  Geert Bosch <bosch@gnat.com>
12354
12355         * init.c: Minor whitespace changes.
12356
12357 2001-11-28  Doug Rupp <rupp@gnat.com>
12358
12359         * init.c: (__gnat_install_handler,VMS): Increase size of alternate
12360         signal stack.
12361
12362 2001-11-28  Zack Weinberg  <zack@codesourcery.com>
12363
12364         * misc.c (gnat_expand_constant): Move declaration above
12365         definition of lang_hooks.
12366         (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
12367         (gnat_init): lang_expand_constant no longer exists.
12368
12369         (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
12370         always have vprintf.
12371         (gnat_init): Always call set_internal_error_function.
12372
12373 2001-11-27  Andreas Jaeger  <aj@suse.de>
12374
12375         * Makefile.in (stamp-tool_src_dir): Use symbolic link.
12376
12377 2001-11-27  Laurent Guerby  <guerby@acm.org>
12378
12379         * Makefile.in: Regenerate Ada dependencies.
12380
12381 2001-11-26  Richard Henderson  <rth@redhat.com>
12382
12383         * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
12384         gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
12385         gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
12386
12387 2001-11-25  Laurent Guerby  <guerby@acm.org>
12388
12389         * sysdep.c (rts_get_*): Fix style.
12390
12391 2001-11-19  Laurent Guerby  <guerby@acm.org>
12392
12393         * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
12394         since it is of no apparent use and cause warnings.
12395
12396 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
12397
12398         * misc.c (gnat_decode_option, gnat_init_options): Make definitions
12399         static too.
12400         (gnat_init): Don't return NULL.
12401         (finish_parse): Remove.
12402
12403 2001-11-17  Laurent Guerby  <guerby@acm.org>
12404
12405         * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
12406         * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
12407         * io-aux.c: Provide K&R prototypes to all functions, reformat code.
12408         * lang-spec.h: Add missing struct field to silence warnings.
12409         * sysdep.c (rts_get_*): Provide K&R prototype.
12410         * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
12411         * traceback.c (Unlock_Task, Lock_Task): Likewise.
12412         * tracebak.c (__gnat_backtrace): Remove unused variable.
12413         * utils.c (end_subprog_body): Move to K&R style.
12414
12415 Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12416
12417         * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
12418
12419 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
12420
12421         * misc.c (gnat_init): Change prototype.  Include the
12422         functionality of the old init_parse and init_decl_processing.
12423         (gnat_init_decl_processing): New prototype.
12424         (init_parse): Remove.
12425         * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
12426
12427 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12428
12429         * misc.c (gnat_print_decl, gnat_print_type): Renamed.
12430         (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
12431         (print_lang_statistics, lang_print_xnode, print_lang_identifier,
12432         set_yydebug): Remove.
12433
12434 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12435
12436         * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
12437         (struct lang_hooks): Constify.
12438         (language_string, lang_identify): Remove.
12439         * utils.c (init_decl_processing): Update.
12440
12441 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12442
12443         * misc.c: Include langhooks-def.h.
12444         * Makefile.in: Update.
12445
12446 2001-10-30  Robert Dewar <dewar@gnat.com>
12447
12448         * style.adb:
12449         (Check_Identifier): Rewrite circuit to be compatible with use of letters
12450         in the upper half of ASCII.
12451         (Check_Identifier): Minor reformatting
12452
12453 2001-10-30  Geert Bosch <bosch@gnat.com>
12454
12455         * (Associated_Node, Set_Associated_Node): Do not check for
12456         Freeze_Entity.
12457
12458 2001-10-30  Robert Dewar <dewar@gnat.com>
12459
12460         * a-reatim.ads: Minor reformatting
12461
12462 2001-10-30  Robert Dewar <dewar@gnat.com>
12463
12464         * gnatdll.adb: Minor reformatting throughout. Many ??? added for
12465         undocumented declarations.
12466
12467 2001-10-30  Pascal Obry <obry@gnat.com>
12468
12469         * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
12470         to the binder and linker.
12471         Minor style fix.
12472
12473         * mdll.ads: Fix layout.  Update copyright notice.
12474
12475         * mdll.adb: Fix layout.  Update copyright notice.
12476
12477 2001-10-30  Robert Dewar <dewar@gnat.com>
12478
12479         * usage.adb: Minor fix to output for -gnaty.
12480
12481 2001-10-30  Ed Schonberg <schonber@gnat.com>
12482
12483         * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
12484         to accommodate all its possible values.
12485
12486         * a-reatim.adb (Split): Special-case handling of Time_Span_First
12487         and of small absolute values of T.
12488
12489 2001-10-30  Richard Kenner <kenner@gnat.com>
12490
12491         * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
12492         set_mem_attributes since not needed and wrong if RESULT if a REG;
12493         fixes ACATS failures.
12494
12495 2001-10-30  Geert Bosch <bosch@gnat.com>
12496
12497         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
12498         s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
12499
12500 2001-10-30  Robert Dewar <dewar@gnat.com>
12501
12502         * bindusg.adb: Undocument -f switch.
12503
12504         * gnatcmd.adb: Remove /FULL_ELABORATION.
12505
12506         * opt.ads (Force_RM_Elaboration_Order): Document that this is
12507         obsolescent.
12508
12509         * gnatbind.adb: Output new warning for use of obsolescent -f switch.
12510
12511         * gnatbind.adb: Minor update of warning msg.
12512
12513 2001-10-30  Vincent Celier <celier@gnat.com>
12514
12515         * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
12516         for project file switches (-P (/PROJECT_FILE=),
12517          -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
12518         or MEDIUM or HIGH)
12519
12520 2001-10-30  Geert Bosch <bosch@gnat.com>
12521
12522         * decl.c: Minor whitespace fixes.
12523
12524 2001-10-30  Richard Kenner <kenner@gnat.com>
12525
12526         * utils2.c (build_allocator): Test for SIZE overflow in array case too
12527
12528 2001-10-30  Geert Bosch <bosch@gnat.com>
12529
12530         * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
12531         Found due to GCC 3.0 warning of using uninitialized value.
12532
12533         * layout.adb:
12534         (Get_Max_Size): Use variant record for tracking value/expression.
12535          Makes logic clearer and prevents warnings for uninitialized variables.
12536         (Layout_Array_Type): Use variant record for tracking value/expression.
12537          Makes logic clearer and prevents warnings for uninitialized variables.
12538
12539 2001-10-30  Robert Dewar <dewar@gnat.com>
12540
12541         * lib.adb: Minor reformatting
12542
12543         * s-taprop.ads: Minor reformatting
12544
12545 2001-10-29  Laurent Guerby  <guerby@acm.org>
12546
12547         * init.c:
12548         (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
12549         const.
12550         (_gnat_error_handler): Make MSG const.
12551
12552 2001-10-29  Richard Kenner <kenner@gnat.com>
12553
12554         * sysdep.c: Fix localtime_r problem on LynxOS.
12555         Also remove #elif to avoid warnings.
12556
12557         * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
12558         used by this.
12559
12560         * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
12561
12562 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
12563
12564         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
12565         exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
12566         g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
12567         g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
12568         layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
12569         s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
12570         sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
12571         sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
12572         sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
12573         types.ads, urealp.adb: Fix spelling errors.
12574
12575 2001-10-27  Laurent Guerby <guerby@acm.org>
12576
12577         * trans.c (gigi): Fix non determinism leading to bootstrap
12578         comparison failures for debugging information.
12579
12580 2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
12581
12582         * gnat_rm.texi: Use @./@: where appropriate.
12583
12584 2001-10-26  Robert Dewar <dewar@gnat.com>
12585
12586         * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
12587
12588 2001-10-26  Richard Kenner <kenner@gnat.com>
12589
12590         * gmem.c (__gnat_gmem_read_next): Properly check for EOF
12591
12592 2001-10-26  Richard Kenner <kenner@gnat.com>
12593
12594         * decl.c (validate_size): Modify message for bad size to avoid
12595         implication that compiler is modifying the size.
12596
12597 2001-10-26  Robert Dewar <dewar@gnat.com>
12598
12599         * prj-util.adb: Minor reformatting. Fix bad header format.
12600
12601 2001-10-26  Robert Dewar <dewar@gnat.com>
12602
12603         * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
12604
12605         * sinfo.ads: Clarify use of Associated_Node (documentation only).
12606
12607         * sem_ch12.adb: Change Node4 to Associated_Node. Change
12608         Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
12609         much more narrowly in places where needed. These are cleanups.
12610
12611 2001-10-26  Joel Brobecker <brobecke@gnat.com>
12612
12613         * 5zosinte.ads (null_pthread): new constant.
12614
12615         * 5ztaprop.adb:
12616         (Initialize_TCB): Initialize thread ID to null, to be able to verify
12617          later that this field has been set.
12618         (Finalize_TCB): ditto.
12619         (Suspend_Task): Verify that the thread ID is not null before using it.
12620         (Resume_Task): ditto.
12621
12622         * s-tasdeb.adb:
12623         (Resume_All_Tasks): Lock the tasks list before using it.
12624         (Suspend_All_Tasks): ditto.
12625
12626 2001-10-26  Richard Kenner <kenner@gnat.com>
12627
12628         * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
12629         Make constant variant of designated type for Is_Access_Constant.
12630         Call update_pointer_to with main variant.
12631
12632         * trans.c (process_freeze_entity, process_type):
12633         Call update_pointer_to on main variant.
12634
12635         * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
12636         If main variant, update all other variants.
12637
12638         * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
12639         TREE_STATIC.
12640
12641 2001-10-26  Robert Dewar <dewar@gnat.com>
12642
12643         * prj-util.adb: Minor reformatting
12644
12645 2001-10-26  Robert Dewar <dewar@gnat.com>
12646
12647         * prj-util.adb: Minor reformatting
12648
12649 2001-10-26  Robert Dewar <dewar@gnat.com>
12650
12651         * prj-attr.adb: Minor reformatting throughout
12652
12653 2001-10-26  Robert Dewar <dewar@gnat.com>
12654
12655         * prj-attr.ads: Minor reformatting
12656         Add ??? comment (this whole spec has almost no comments)
12657
12658 2001-10-26  Vincent Celier <celier@gnat.com>
12659
12660         * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
12661         ("//") that precede the drive letter on Interix.
12662
12663 2001-10-26  Geert Bosch <bosch@gnat.com>
12664
12665         * gnat_rm.texi: Add GNAT Reference Manual.
12666
12667 2001-10-25  Robert Dewar <dewar@gnat.com>
12668
12669         * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
12670         is Error. Similar change for other renaming cases.
12671
12672 2001-10-25  Robert Dewar <dewar@gnat.com>
12673
12674         * s-atacco.ads: Add pragma Inline_Always for functions.
12675         Fix header format. Add copyright 2001
12676
12677 2001-10-25  Ed Schonberg <schonber@gnat.com>
12678
12679         * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
12680         return Error rather than Empty so that analysis can proceed.
12681
12682 2001-10-25  Ed Schonberg <schonber@gnat.com>
12683
12684         * sem_util.adb (Enter_Name): better handling of cascaded error
12685         messages when a unit appears in its own context.
12686
12687 2001-10-25  Ed Schonberg <schonber@gnat.com>
12688
12689         * sem_util.adb (Defining_Entity): in case of error, attach created
12690         entity to specification, so that semantic analysis can proceed.
12691
12692 2001-10-25  Robert Dewar <dewar@gnat.com>
12693
12694         * sem_util.adb
12695         (Defining_Entity): Deal with Error.
12696         (Process_End_Label): Deal with bad end label for.
12697
12698 2001-10-25  Ed Schonberg <schonber@gnat.com>
12699
12700         * sem_elab.adb (Check_A_Call): refine message when call is in an
12701         instance but callee is not declared in the generic unit.
12702
12703 2001-10-25  Ed Schonberg <schonber@gnat.com>
12704
12705         * sem_elab.adb (Check_A_Call): check for renaming before finding the
12706         enclosing unit, which may already be different from the calling unit.
12707
12708 2001-10-25  Geert Bosch <bosch@gnat.com>
12709
12710         * 4gintnam.ads: fix header format.
12711
12712 2001-10-25  Ed Schonberg <schonber@gnat.com>
12713
12714         * sem_res.adb (Resolve_Call): if the call is actually an indexing
12715         operation on the result of a parameterless call, perform elaboration
12716         check after the node has been properly rewritten.
12717
12718         * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
12719         inlined within the generic tree, the defining identifier is not a
12720         compilation_unit.
12721
12722 2001-10-25  Ed Schonberg <schonber@gnat.com>
12723
12724         * sem_res.adb (Resolve): special-case resolution of Null in an
12725          instance or an inlined body to avoid view conflicts.
12726
12727         * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
12728          compatibility by retrieving the access type of the generic copy.
12729
12730 2001-10-25  Robert Dewar <dewar@gnat.com>
12731
12732         * sem_ch3.adb:
12733         (Analyze_Number_Declaration): Handle error expression.
12734         (Signed_Integer_Type_Declaration): Handle error bound.
12735         (Analyze_Subtype_Indication): Handle error range.
12736
12737         * sem_util.adb (Get_Index_Bounds): Check for Error.
12738
12739 2001-10-25  Robert Dewar <dewar@gnat.com>
12740
12741         * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
12742         in no run time mode.
12743
12744 2001-10-25  Pascal Obry <obry@gnat.com>
12745
12746         * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
12747         mode case for ALLOC case.
12748
12749         * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
12750         all platforms. Improvement of last change.
12751
12752 2001-10-25  Robert Dewar <dewar@gnat.com>
12753
12754         * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
12755
12756 2001-10-25  Geert Bosch  <bosch@gnat.com>
12757
12758         * osint.adb (Is_Relative): Remove duplicate.
12759
12760 2001-10-25  Pascal Obry <obry@gnat.com>
12761
12762         * osint.adb (Read_Default_Search_Dirs): correctly detect relative
12763         pathnames in UNIX and DOS style with drive letter.
12764         (Is_Relative): new routine.
12765
12766         * osint.adb: Minor reformatting
12767
12768         * osint.adb (Is_Relative): implementation using
12769         GNAT.OS_Lib.Is_Absolute_Path. Better fix.
12770
12771 2001-10-25  Pascal Obry <obry@gnat.com>
12772
12773         * g-dirope.adb (Basename): correctly compute offset between the
12774         original Path and the translated one.
12775
12776         * g-dirope.adb: (Base_Name): add some comments.
12777
12778 2001-10-25  Robert Dewar <dewar@gnat.com>
12779
12780         * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
12781         in HIE mode, avoids compilation abandoned message
12782
12783         * exp_imgv.adb: Correct typo in previous change
12784
12785         * exp_imgv.adb: Correct typo in previous change (not my day!)
12786
12787 2001-10-25  Robert Dewar <dewar@gnat.com>
12788
12789         * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
12790
12791 2001-10-25  Pascal Obry <obry@gnat.com>
12792
12793         * g-awk.ads: Move all pragma inlines next to the routine
12794          declarations. This is more uniform with other GNAT spec.
12795
12796 2001-10-22  Geert Bosch  <bosch@gnat.com>
12797
12798         * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
12799
12800 2001-10-19  Geert Bosch  <bosch@gnat.com>
12801
12802         * Makefile.in (tools, gnattools): Remove gnatmem.
12803
12804 2001-10-17  Richard Henderson  <rth@redhat.com>
12805
12806         * Makefile.in (misc.o): Depend on langhooks.h.
12807         * misc.c: Include it.
12808         (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
12809         (LANG_HOOKS_DECODE_OPTION): New.
12810         (lang_hooks): Use LANG_HOOKS_INITIALIZER.
12811
12812 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
12813
12814         * trans.c (tree_transform): Adjust to recent change in
12815         expand_asm_operands to implement named asm operands.
12816
12817 2001-10-11  Ed Schonberg  <schonber@gnat.com>
12818
12819         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
12820         renaming of discriminant for mutable record type.
12821
12822 2001-10-11  Robert Dewar  <dewar@gnat.com>
12823
12824         * validsw.adb: Properly save -gnatVn status.
12825
12826 2001-10-11  Robert Dewar <dewar@gnat.com>
12827
12828         * usage.adb: Add lines for V switch.
12829
12830         * gnatcmd.adb (COMPILE): Revise translations for -gnatV
12831         (/VALIDITY_CHECKING).
12832
12833 2001-10-11  Ed Schonberg <schonber@gnat.com>
12834
12835         * sem_type.adb (Add_One_Interp): an operator for a type declared in
12836         an extension of System is known to be visible.
12837
12838 2001-10-11  Ed Schonberg <schonber@gnat.com>
12839
12840         * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
12841         properly. Fixes regression on ACATS C34005G.
12842
12843 2001-10-11  Robert Dewar <dewar@gnat.com>
12844
12845         * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
12846         loop in generic instance, since this is likely not very useful.
12847
12848 2001-10-11  Robert Dewar <dewar@gnat.com>
12849
12850         * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
12851         the error message for high integrity mode.
12852
12853         * rtsfind.adb (RTE): Give message if we try to find an entity that
12854         is not available in high integrity mode.
12855
12856         * rtsfind.ads:
12857         (OK_To_Use_In_HIE_Mode): New array.
12858         (RTE): May return Empty in high integrity mode.
12859
12860         * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
12861         OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
12862
12863         * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
12864         unit if not inlined always and in no runtime mode. Fixes problem
12865         caused by new Rtsfind changes.
12866
12867         * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
12868         body is deleted.
12869
12870         * rtsfind.adb (RTE): Make sure we do not try to load unit after
12871         giving message for entity not available in high integrity mode.
12872
12873 2001-10-11  Pascal Obry <obry@gnat.com>
12874
12875         * impunit.adb: Add GNAT.CRC32.
12876
12877 2001-10-11  Ed Schonberg <schonber@gnat.com>
12878
12879         * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
12880         properly the case where one universal operand in a non-static
12881         exponentiation of a real literal.
12882
12883 2001-10-11  Ed Schonberg <schonber@gnat.com>
12884
12885         * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
12886         clause, return the gobal finalization list, for lack of anthing else.
12887
12888 2001-10-11  Ed Schonberg <schonber@gnat.com>
12889
12890         * exp_ch7.adb (Make_Transient_Block): if statement is within
12891         exception handler, always use new transient scope to place Clean
12892         procedure.
12893
12894 2001-10-11  Pascal Obry <obry@gnat.com>
12895
12896         * Makefile.in:
12897         (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
12898         (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
12899         (GNATLS_RTL_OBJS): add g-crc32.o
12900         (GNATMAKE_RTL_OBJS): add g-crc32.o
12901
12902         * ali-util.adb:
12903         (CRC_Match): new function.
12904         (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
12905         instead of the previous simple checksum algorithm.
12906         (Time_Stamp_Mismatch): use CRC_Match for comparison.
12907         (Set_Source_Table): idem.
12908
12909         * ali-util.ads:
12910         (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
12911         instead of simple checksum.
12912         (CRC_Match): new function.
12913         (CRC_Error): new constant.
12914
12915         * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
12916         a CRC now and not a simple checksum. A CRC uses lower-case hex
12917         letters, fixes ambiguity in parsing.
12918
12919         * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
12920         is what this variable will store.
12921
12922         * bcheck.adb: Change reference to chechsum in comments by CRC.
12923         (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
12924         rename All_Checksum_Match to All_CRC_Match. Change due to API
12925         renaming since now GNAT does not use a simple checksum but a
12926         CRC using GNAT.CRC32.
12927
12928         * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
12929         now and not anymore a simple checksum.
12930
12931         * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
12932         places.
12933
12934         * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
12935
12936         * scans.adb:
12937         (Restore_Scan_State): rename Checksum to CRC.
12938         (Save_Scan_State): idem.
12939
12940         * scans.ads:
12941         With GNAT.CRC32.
12942         (Checksum): rename to CRC.
12943         (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
12944
12945         * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
12946         GNAT.CRC32).  Update copyright notice.
12947
12948         * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
12949         GNAT.CRC32).  Update copyright notice.
12950
12951         * scn.adb:
12952         (Accumulate_Checksum): removed.
12953         (Update): new procedure. Add a wide-character into the CRC.
12954
12955         * sinput-l.adb:
12956         (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
12957         (Load_File): fix initialization of S (change Source_Checksum to
12958         Source_CRC)
12959
12960         * sinput-p.adb (Load_Project_File): rename Source_Checksum to
12961         Source_CRC in S initialization.
12962
12963         * sinput.adb (Source_Checksum): renamed to Source_CRC.
12964
12965         * sinput.ads (Source_Checksum): renamed to Source_CRC.
12966         Update comments for the CRC.
12967
12968         * types.adb (Hex): Use lowercase for the letter part.
12969
12970         * types.ads (Get_Hex_String): Returns the hexadecimal representation
12971         for a word. This is currently used only for CRC. In previous version,
12972         the checksum was using a representation with all letter being
12973         upper-case. With the new implementation (using CRC) we do not remove
12974         the 32th bit of the CRC, so we can have an upper-case starting letter
12975         in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
12976         It is ambigous since the CRC was optional and could be followed by
12977         options like EB, EE. So now this routines uses lower-case letter for
12978         the hexadecimal representation. Strange enough only lower case letters
12979         where checked in Scan_ALI (even if this was not a possible case).
12980
12981         * gnatvsn.ads (Library_Version): changed to 3.15a.
12982
12983         * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
12984         for the compiler.
12985
12986         * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
12987         for the compiler.
12988
12989         * ali-util.adb: Redo previous change to avoid using word CRC everywhere
12990         Add 2001 to copyright notice
12991         (Accumulate_Checksum): Modify to use System.CRC32.
12992
12993         * ali-util.ads: Redo changes of previous revision to continue to use
12994         the word Checksum. Add 2001 to copyright notice.
12995
12996         * ali.adb: Undo some of previous changes, not needed.
12997         Keep the change for lower case letters in the checksum.
12998
12999         * ali.ads: Undo previous change not needed.
13000
13001         * bcheck.adb: Undo most of previous change, not needed.
13002         But do use Checksums_Match for checksum comparison.
13003
13004         * gnatls.adb: Undo most of previous change, not needed.
13005         But do use Checksums_Match for comparing checksums.
13006
13007         * lib-load.adb: Undo previous change, not needed.
13008
13009         * lib-writ.adb: Undo previous change, not needed.
13010
13011         * lib-writ.ads: Document that checksums use lower case,
13012         not upper case letters.
13013
13014         * scans.adb: Undo previous change, not needed
13015
13016         * scans.ads: Undo previous change, not needed.
13017
13018         * scn-nlit.adb: Undo previous changes, not needed.
13019
13020         * scn-slit.adb: Undo previous change, not needed.  Fix header format.
13021
13022         * scn.adb:
13023         (Accumulate_Checksum): Use System.CRC32.
13024         (Initialize_Checksum): New procedure.
13025         Remove other changes of previous revision.
13026
13027         * sinput-p.adb: Undo previous change, not needed.
13028
13029         * sinput.adb: Undo previous change, not needed.
13030
13031         * sinput-l.adb: Undo previous change, not needed.
13032
13033         * sinput.ads: Undo previous change, not needed.  Keep only comment
13034         on new checksum algorithm
13035
13036         * Makefile.in: Add s-crc32 as needed, remove g-crc32.
13037         Also remove a-tags and a-stream from GNAT sources.
13038
13039         * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
13040
13041         * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
13042
13043 2001-10-11  Geert Bosch  <bosch@gnat.com>
13044
13045         * einfo.h: Regenerate.
13046
13047         * nmake.ads: Regenerate.
13048
13049         * nmake.adb: Regenerate.
13050
13051         * sinfo.h: Regenerate.
13052
13053         * treeprs.adb: Regenerate.
13054
13055 2001-10-10  Geert Bosch  <bosch@gnat.com>
13056
13057         * gnat-style.texi: New file describing coding guidelines for Ada.
13058
13059 2001-10-10  Ed Schonberg <schonber@gnat.com>
13060
13061         * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
13062         is Flag174.
13063
13064 2001-10-10  Geert Bosch  <bosch@gnat.com>
13065
13066         * snames.ads: Add new names for project facility.
13067
13068         * snames.adb: Update to reflect snames.ads changes.
13069
13070         * snames.h: Update to reflect snames.ads changes.
13071
13072 2001-10-10  Vincent Celier <celier@gnat.com>
13073
13074         * make.adb:
13075         (Add_Switches): reflect the changes for the switches attributes
13076         Default_Switches indexed by the programming language,
13077         Switches indexed by the file name.
13078         (Collect_Arguments_And_Compile): Idem.
13079         Reflect the attribute name changes.
13080
13081         * prj-attr.adb:
13082         (Initialisation_Data): Change the names of some packages and
13083         attributes.
13084         (Initialize): process case insensitive associative arrays.
13085
13086         * prj-attr.ads:
13087         (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
13088
13089         * prj-dect.adb:
13090         (Parse_Attribute_Declaration): For case insensitive associative
13091          arrays, set the index string to lower case.
13092
13093         * prj-env.adb:
13094         Reflect the changes of the project attributes.
13095
13096         * prj-nmsc.adb:
13097         Replace Check_Naming_Scheme by Ada_Check and
13098         Language_Independent_Check.
13099
13100         * prj-nmsc.ads:
13101         Replaced Check_Naming_Scheme by 2 procedures:
13102         Ada_Check and Language_Independent_Check.
13103
13104         * prj-proc.adb:
13105         (Process_Declarative_Items): For case-insensitive associative
13106         arrays, set the index string to lower case.
13107         (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
13108         Prj.Nmsc.Check_Naming_Scheme.
13109
13110         * prj-tree.adb:
13111         (Case_Insensitive): New function
13112         (Set_Case_Insensitive): New procedure
13113
13114         * prj-tree.ads:
13115         (Case_Insensitive): New function
13116         (Set_Case_Insensitive): New procedure
13117         (Project_Node_Record): New flag Case_Insensitive.
13118
13119         * prj-util.adb:
13120         (Value_Of): new function to get the string value of a single
13121         string variable or attribute.
13122
13123         * prj-util.ads:
13124         (Value_Of): new function to get the string value of a single
13125         string variable or attribute.
13126
13127         * prj.adb:
13128         (Ada_Default_Spec_Suffix): New function
13129         (Ada_Default_Impl_Suffix): New function
13130         Change definitions of several constants to reflect
13131         new components of record types.
13132
13133         * prj.ads:
13134         (Naming_Data): Change several components to reflect new
13135         elements of naming schemes.
13136         (Project_Data): New flags Sources_Present and
13137         Language_Independent_Checked.
13138         (Ada_Default_Spec_Suffix): New function.
13139         (Ada_Default_Impl_Suffix): New function.
13140
13141         * snames.ads:
13142         Modification of predefined names for project manager: added
13143         Implementation, Specification_Exceptions, Implementation_Exceptions,
13144         Specification_Suffix, Implementation_Suffix, Separate_Suffix,
13145         Default_Switches, _Languages, Builder, Cross_Reference,
13146         Finder. Removed Body_Part, Specification_Append, Body_Append,
13147         Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
13148         Gnatlink.
13149
13150         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
13151         Add comments.
13152
13153         * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
13154         not that it is Nil_Variable_Value.
13155
13156         * prj.ads: Add ??? for uncommented declarations
13157
13158 2001-10-10  Ed Schonberg <schonber@gnat.com>
13159
13160         * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
13161         constant, do not indicate possible modification, so that gigi can
13162         treat it as a bona fide constant.
13163
13164 2001-10-10  Robert Dewar <dewar@gnat.com>
13165
13166         * sem_prag.adb: Add processing for pragma External.
13167
13168         * snames.ads: Add entry for pragma External.
13169
13170         * par-prag.adb: Add pragma External.
13171
13172         * snames.adb: Updated to match snames.ads.
13173
13174 2001-10-10  Ed Schonberg <schonber@gnat.com>
13175
13176         * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
13177         a dynamic task if the allocator appears in an indexed assignment
13178         or selected component assignment.
13179
13180         * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
13181         For a dynamic task in an assignment statement, use target of
13182         assignment to generate meaningful name.
13183
13184 2001-10-10  Ed Schonberg <schonber@gnat.com>
13185
13186         * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
13187         a generic package.
13188
13189         * einfo.ads: Body_Entity is also defined for generic package.
13190         Documentation change only
13191
13192         * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
13193         others_choice for a discriminated component initialization,
13194         convert discriminant references into the corresponding discriminals.
13195
13196         * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
13197         only if original type is private and expression has to be wrapped
13198         in a conversion.
13199
13200         * checks.adb:
13201         (Apply_Constraint_Check): Do not perform length check
13202         if expression is an aggregate with only an others_choice.
13203         (Length_N_Cond): two references to the same in_parameter
13204         (typically the discriminal in an init_proc) denote the same value.
13205         Two useful optimization uncovered by bugfixes above.
13206
13207 2001-10-10  Robert Dewar <dewar@gnat.com>
13208
13209         * xeinfo.adb: Change int to char in translation of enumeration types.
13210         This fixes a problem in the C representation of component alignment.
13211         Add 2001 to copyright notice
13212
13213 2001-10-10  Richard Kenner <kenner@gnat.com>
13214
13215         * decl.c: (validate_size): Do check size of object of integral type
13216         if it is a packed array type.
13217
13218 2001-10-10  Richard Kenner <kenner@gnat.com>
13219
13220         * decl.c: (gnat_to_gnu_entity, case object): Also materialize
13221         VAR_DECL for constant if not Is_Public but -O0.
13222
13223 2001-10-10  Richard Kenner  <kenner@gnat.com>
13224
13225         * misc.c (struct lang_hooks): Add new initializer to match GCC change.
13226
13227 2001-10-10  Geert Bosch  <bosch@gnat.com>
13228
13229         * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
13230         use '/' as switch character, allowing for absolute file names.
13231
13232 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
13233
13234         * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
13235         FSF address.
13236
13237 2001-10-08  Geert Bosch  <bosch@gnat.com>
13238
13239         * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
13240         Automatically build utilities when files need to be regenerated.
13241
13242 2001-10-08  Geert Bosch  <bosch@gnat.com>
13243
13244         * xsnames.adb: New utility for updating snames.ads and snames.adb
13245
13246 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
13247
13248         * Make-lang.in (ADAFLAGS): Add -W -Wall.
13249         (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
13250         (gnat1): Also depend on attribs.o.
13251         (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
13252         * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
13253         (ADAC): Set to @ADAC@ in stage1, $(CC) later.
13254         (ADAFLAGS): Add -W -Wall.
13255         (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
13256         take out CFLAGS.
13257
13258         (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
13259         s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
13260         s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
13261         Use $(ADAC), not $(CC), as compilation command.
13262
13263         (gnattools): Depend directly on tools to build, don't use
13264         recursive make.
13265         (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
13266
13267         * einfo.h, sinfo.h: New files (autogenerated).
13268
13269 2001-10-08  Richard Henderson  <rth@redhat.com>
13270
13271         * comperr.adb (Abort_In_Progress): New.
13272         (Compiler_Abort): Use it to prevent recursion.
13273
13274 2001-10-08  Robert Dewar <dewar@gnat.com>
13275
13276         * atree.adb: Set Error_Posted in Error node, helps error recovery.
13277
13278         * par-endh.adb (Output_End_Expected): We should also not test
13279         Error_Posted on the Error node, since now it is always set.
13280
13281         * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
13282         to help error recovery. Part of general work on 9407-004.
13283
13284         * par.adb: Add ??? for misuse of error
13285
13286         * sem_res.adb:
13287         (Resolve): Defend against Error, fixes 9407-003.
13288         (Resolve_Discrete_Subtype_Indication): Defend against Error.
13289
13290         * sinfo.ads (N_Error): Now has Etype field (which will be set
13291         to Any_Type to help error recovery).
13292
13293 2001-10-08  Richard Kenner (kenner@gnat.com)
13294
13295         * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
13296         Consistently set MEM attributes from expression; fixes
13297         bootstrap failure on x86.
13298
13299 2001-10-08  Geert Bosch  (bosch@gnat.com)
13300
13301         * 5oosinte.adb: Add 2001 to copyright notice.
13302
13303 2001-10-08  Geert Bosch  (bosch@gnat.com)
13304
13305         * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
13306
13307         * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
13308
13309 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
13310
13311         * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
13312
13313 2001-10-05  Geert Bosch  (bosch@gnat.com)
13314
13315         * adaint.h: Small formatting fix.
13316
13317 2001-10-04  Geert Bosch  <bosch@gnat.com>
13318
13319         * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
13320         Arg is int, not FILE *, in dummy version of functions.
13321
13322         * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
13323         Arg is int, not FILE *.
13324
13325 2001-10-04  Geert Bosch  <bosch@gnat.com>
13326
13327         * 3lsoccon.ads: Added file, missed with initial check ins.
13328
13329         * 4lintnam.ads: Fix header format.
13330         Change Linux to GNU/Linux.
13331
13332         * 5iosinte.adb: Change Linux to GNU/Linux.
13333
13334         * 5iosinte.ads: Change Linux to GNU/Linux.
13335
13336         * 5itaprop.adb: Change Linux to GNU/Linux.
13337
13338         * 5itaspri.ads: Change Linux to GNU/Linux.
13339         Update copyright notice.
13340
13341         * 5lintman.adb: Change Linux to GNU/Linux.
13342
13343         * 5lml-tgt.adb: Change Linux to GNU/Linux.
13344
13345         * 5losinte.ads: Change Linux to GNU/Linux.
13346
13347         * 5lsystem.ads: Change Linux to GNU/Linux.
13348
13349         * 5qosinte.adb: Change Linux to GNU/Linux.
13350
13351         * 5qosinte.ads: Change Linux to GNU/Linux.
13352
13353         * 5qparame.ads: Change Linux to GNU/Linux.
13354
13355         * 5qtaprop.adb: Change Linux to GNU/Linux.
13356
13357         * 5qtaspri.ads: Change Linux to GNU/Linux.
13358         Add 2001 to copyright notice.
13359
13360         * 5vintman.ads: Change Linux to GNU/Linux.
13361         Fix header format.  Add 2001 to copyright notice.
13362
13363         * g-soccon.ads: Change Linux to GNU/Linux.
13364
13365         * g-trasym.ads: Change Linux to GNU/Linux.
13366         Add 2001 to copyright notice.
13367
13368         * memtrack.adb: Change Linux to GNU/Linux.
13369
13370         * s-intman.ads: Change Linux to GNU/Linux.
13371         Add 2001 to copyright notice.  Fix header format.
13372
13373         * s-stache.adb: Change Linux to GNU/Linux.
13374
13375         * adaint.c: Change Linux to GNU/Linux.
13376
13377         * cio.c: Change Linux to GNU/Linux.
13378
13379         * cstreams.c: Change Linux to GNU/Linux.
13380
13381         * init.c: Change Linux to GNU/Linux.
13382
13383         * gmem.c: Change Linux to GNU/Linux.
13384
13385         * tracebak.c: Change Linux to GNU/Linux.
13386
13387
13388 2001-10-02  Geert Bosch  <bosch@gnat.com>
13389
13390         * misc.c (insert_default_attributes): Add dummy version.