OSDN Git Service

2004-10-04 Robert Dewar <dewar@gnat.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2004-10-04  Robert Dewar  <dewar@gnat.com>
2
3         * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
4         IF and CASE.
5         (Analyze_Block_Statement): Add circuitry to detect following dead code
6         (Check_Unreachable_Code): Handle case of block exit
7
8 2004-10-04  Robert Dewar  <dewar@gnat.com>
9
10         * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
11         (XMatchD): Avoid warning for Logic_Error call
12
13 2004-10-04  Robert Dewar  <dewar@gnat.com>
14
15         * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
16         consider expressions buried within a procedure actual to be an actual.
17         This caused some blowups with uses of packed slices within a procedure
18         actual.
19
20 2004-10-04  Robert Dewar  <dewar@gnat.com>
21
22         * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
23         longer need to be initialized to zero.
24         (Get_Simple_Init_Val): Modular packed arrays no longer need to be
25         initialized to zero.
26
27         * checks.adb (Expr_Known_Valid): Packed arrays are now always
28         considered valid, even if the representation is modular. That's correct
29         now that we no longer initialize packed modular arrays to zero.
30
31         * exp_dbug.ads: Clarify documentation on handling of PAD and JM
32         suffixes. These are now documented as the only cases in which the
33         debugger ignores outer records.
34         Previously, the spec allowed arbitrary suffixes for this purpose.
35         Change name of LJM to JM for packed array pad records
36         Create separate section on packed array handling, and add a whole new
37         set of comments to this section describing the situation with packed
38         modular types and justification requirements depending on endianness.
39
40 2004-10-04  Robert Dewar  <dewar@gnat.com>
41
42         * a-except.adb: Add a comment for last change
43
44         * einfo.ads: Minor spelling correction in comment
45
46         * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
47
48         * sem_ch11.adb: Fix a case of using | instead of \ for continuation
49         messages.
50
51         * sem_util.ads: Minor comment update
52
53 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
54
55         * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
56         Inline_Always when in Configurable_Run_Time mode.
57
58         * sem_prag.adb (Process_Convention): If entity is an inherited
59         subprogram, apply convention to parent subprogram if in same scope.
60         (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
61         when in Configurable_Run_Time mode.
62
63 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
64
65         * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
66         class_wide type after component list has been inherited.
67
68 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
69
70         * sem_ch12.adb (Check_Generic_Actuals): New predicate
71         Denotes_Previous_Actual, to handle properly the case of a private
72         actual that is also the component type of a subsequent array actual.
73         The visibility status of the first actual is not affected when the
74         second is installed.
75         (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
76         make fully recursive the treatment of formals of packages declared
77         with a box.
78         (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
79         the above on exit from an instantiation.
80         (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
81         current instantiation which is now complete.
82         (Analyze_Package_Instantiation): No instantiated body is needed if the
83         main unit is generic. Efficient, and avoid anomalies when a instance
84         appears in a package accessed through rtsfind.
85
86 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
87
88         * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
89         do not generate a declaration for a temporary if the call is part of a
90         library-level instantiation.
91
92 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
93
94         * sem_util.adb (Explain_Limited_Type): Ignore internal components when
95         searching for a limited component to flag.
96
97         * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
98         expansion of Input, to account for the fact that the implicit call
99         generated by the attribute reference must freeze the user-defined
100         stream subprogram. This is only relevant to 'Input, because it can
101         appear in an object declaration, prior to the body of the subprogram.
102
103         * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
104         expansion can proceed and further errors uncovered.
105         (Minor clean up): Fix cases of using | instead of \ for continuation
106         messages.
107
108 2004-10-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
109
110         * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
111
112         * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
113         (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
114         Use gcc_assert and gcc_unreachable.
115
116         * decl.c (gnat_to_gnu_entity, case object): Check and process a
117         specified alignment before validating size.
118         (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
119         stripped-down declaration for the type of the inner field when making
120         a JM type.
121
122         * utils.c (finish_record_type): Do not compute the size in units
123         incrementally. Instead compute it once for the rep clause case.
124         Use gcc_assert and gcc_unreachable.
125
126 2004-10-04  Vincent Celier  <celier@gnat.com>
127
128         * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
129         in file name.
130         (Is_Valid_Path_Name): Take '/' as a directory separator.
131
132 2004-10-04  Vincent Celier  <celier@gnat.com>
133
134         * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
135         (Extended_Project) only if Extended_Project is defined, to avoid
136         assertion error.
137         (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
138         resolved path.
139         (Parse_Single_Project): Ditto.
140
141         * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
142         Add_To_Project_Path for virtual projects.
143
144 2004-10-04  Vincent Celier  <celier@gnat.com>
145
146         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, 
147         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, 
148         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, 
149         mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
150         parameter Options_2.
151
152         * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
153         Build_Dynamic_Library with an empty Options_2.
154
155         * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
156         default anymore.
157
158         * makegpr.adb (Get_Imported_Directories.add): Remove trailing
159         directory separator, if any.
160         (Gprmake): Do not allow mains on the command line for library projects.
161         Do not attempt to link when the project is a library project.
162         (Library_Opts): New table to store Library_Options.
163         (Build_Library): If Library_Options is specified, pass these options
164         when building a shared library.
165
166 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
167
168         * s-tposen.adb (Service_Entry): The object must be always unlocked at
169         the end of this procedure now that the unlock operation was inserted
170         by the expander.
171
172 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
173
174         * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
175         corresponding to the Preallocated_Stacks flags in System.
176         (Get_Target_Parameters): Including the processing for
177         Preallocated_Stacks.
178
179         * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads, 
180         system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads, 
181         system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads, 
182         system-linux-x86_64.ads, system-tru64.ads, system-aix.ads, 
183         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads, 
184         system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads, 
185         system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads, 
186         system-vxworks-mips.ads, system-os2.ads, system-interix.ads, 
187         system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, 
188         system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads, 
189         system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
190         used to signal whether the compiler creates the required stacks and
191         descriptors for the different tasks (when True) or it is done by the
192         underlying operating system at run time (when False).
193         It is initially set to False in all targets.
194
195         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
196         if it is supported by the target.
197         (Make_Task_Create_Call): Pass the stack address if it has been
198         previously created. Otherwise pass a Null_Address.
199
200         * snames.adb: Add _stack.
201
202         * snames.ads: Add Name_uStack. Required to allow the expander to
203         statically allocated task stacks.
204
205         * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
206         Stack_Address argument.
207         Check that its value is equal to Null_Address because this target does
208         not support the static stack allocation.
209
210 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
211
212         * usage.adb: Change "pragma inline" to "pragma Inline" in information
213         and error messages
214
215 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
216
217         * exp_dist.adb: Split declaration of asynchronous flag out of
218         Add_RACW_Read_Attribute.
219         Minor reformatting for better alignment with PolyORB version.
220         Store the entity for the asynchronous flag of an RACW, rather than the
221         expression, in the asynchronous flags table. This will allow this flag
222         to be used in other subprograms beside Add_RACW_Read_Attribute.
223
224 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
225
226         * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
227         g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads, 
228         g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb, 
229         g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads, 
230         g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads:  Add new
231         sockets constant MSG_NOSIGNAL (Linux-specific).
232         Add new sockets constant MSG_Forced_Flags, list of flags to be set on
233         all Send operations.
234         For Linux, set MSG_NOSIGNAL on all send operations to prevent them
235         from trigerring SIGPIPE.
236         Rename components to avoid clash with Ada 2005 possible reserved
237         word 'interface'.
238         (Check_Selector): When the select system call returns with an error
239         condition, propagate Socket_Error to the caller.
240
241 2004-10-01  Jan Hubicka  <jh@suse.cz>
242
243         * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
244
245 2004-09-23  Robert Dewar  <dewar@gnat.com>
246
247         PR ada/17540
248
249         * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
250         instead do this at freeze time (we won't do it if there is an address
251         clause).
252         Change "pragma inline" to "pragma Inline" in information and error
253         messages.
254         Minor reformatting.
255
256         * freeze.adb (Check_Address_Clause): Remove previous change, not the
257         right way of doing things after all.
258         (Freeze_Entity): For object, set Is_Public for imported entities
259         unless there is an address clause present.
260
261 2004-09-21  Olivier Hainque  <hainque@act-europe.fr>
262
263         * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
264         dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
265         ensures proper handling of types with rep clauses, which might have
266         their TYPE_SIZE set already.
267
268 2004-09-21  Robert Dewar  <dewar@gnat.com>
269
270         * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
271         packed array types in both little- and big-endian cases. This change
272         ensures that we no longer count on the unused bits being initialized
273         for such types (and in particular ensures that equality testing will
274         only read the relevant bits).
275         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
276         These changes mean that we no longer need to initialize small packed
277         arrays.
278         (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
279         optimization to an LJM field as to its parent field.
280
281         * ada-tree.h, trans.c, utils.c, utils2.c:
282         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
283
284 2004-09-20  Jan Hubicka  <jh@suse.cz>
285
286         * utils.c (gnat_finalize): Remove.
287         (end_subprog_body): Directly call cgraph_finalize_function;
288         do not lower the nested functions.
289
290 2004-09-20  Robert Dewar  <dewar@gnat.com>
291
292         PR ada/17540
293
294         * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
295         if an address clause is present, since that means that the Import
296         should be ignored.
297
298 2004-09-20  Arnaud Charlet  <charlet@act-europe.fr>
299
300         * 5tsystem.ads: Removed, no longer used.
301
302 2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
303             Zack Weinberg  <zack@codesourcery.com>
304
305         * ada-tree.def: Use tree_code_class enumeration constants
306         instead of code letters.
307         * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
308         Update for new tree-class enumeration constants.
309
310 2004-09-17  Vincent Celier  <celier@gnat.com>
311
312         * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
313         capabilities of the general project manager.
314
315 2004-09-09  Vincent Celier  <celier@gnat.com>
316
317         * a-direct.ads: Add pragma Ada_05
318         (Directory_Entry_Type): Give default value to component Kind to avoid
319         not initialized warnings.
320
321         * a-direct.adb (Current_Directory): Remove directory separator at the
322         end.
323         (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
324         an existing directory.
325         (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
326         (Size (String)): Function C_Size returns Long_Integer, not File_Size.
327         Convert the result to File_Size.
328
329         * prj.ads: (Project_Error): New exception
330
331         * prj-attr.adb: Except in procedure Initialize, Fail comes from
332         Prj.Com, not from Osint.
333         (Attrs, Package_Attributes): Tables moved to private part of spec
334         (Add_Attribute, Add_Unknown_Package): Moved to new child package
335         Prj.Attr.PM.
336         (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
337         Prj.Project_Error after call to Fail.
338         (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
339         Fail. Check that package name is not already in use.
340
341         * prj-attr.ads: Comment updates to indicate that all subprograms may be
342         used by tools, not only by the project manager, and to indicate that
343         exception Prj.Prj_Error may be raised in case of problem.
344         (Add_Unknown_Package, Add_Attribute): Moved to new child package
345         Prj.Attr.PM.
346         (Attrs, Package_Attributes): Table instantiations moved from the body to
347         the private part to be accessible from Prj.Attr.PM body.
348
349         * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
350         from new package Prj.Attr.PM.
351         (Parse_Attribute_Declaration): Call Add_Attribute from new package
352         Prj.Attr.PM.
353
354         * Makefile.in: Add prj-attr-pm.o to gnatmake object list
355
356         * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
357         instead of Elaboration_Checks).
358
359         * a-calend.adb: Minor reformatting
360
361 2004-09-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
362
363         * gigi.h (maybe_pad_type): New declaration.
364         (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
365
366         * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
367
368         * cuintp.c: Convert to use buildN.
369
370         * decl.c (maybe_pad_type): No longer static.
371         (gnat_to_gnu_entity, case E_Function): Handle case of returning by
372         target pointer.
373         Convert to use buildN.
374
375         * trans.c (call_to_gnu): Add arg GNU_TARGET; support
376         TYPE_RETURNS_BY_TARGET_PTR_P.  All callers changed.
377         (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
378         RHS.
379         (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
380         (gnat_gimplify_expr, case ADDR_EXPR): New case.
381         Convert to use buildN.
382
383         * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
384         TREE_READONLY for const.
385         Convert to use buildN.
386
387         * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
388         (create_var_decl): Refine when TREE_STATIC is set.
389         Convert to use buildN.
390
391 2004-09-09  Gary Dismukes  <dismukes@gnat.com>
392
393         * gnat_ugn.texi: Delete text relating to checking of ali and object
394         consistency.
395
396         * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
397         routines.
398
399 2004-09-09  Jose Ruiz  <ruiz@act-europe.fr>
400
401         * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
402         pragmas recognized by GNAT.
403
404         * gnat_rm.texi: Document pragma Detect_Blocking.
405
406         * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
407         raise Program_Error if called from a protected operation.
408
409         * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
410         the protected action nesting level.
411         (Lock_Read_Only): When pragma Detect_Blocking is active increase the
412         protected action nesting level.
413         (Unlock): When pragma Detect_Blocking is active decrease the protected
414         action nesting level.
415
416         * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
417         Protected_Action_Nesting.
418
419         * s-taskin.ads: Adding the field Protected_Action_Nesting to the
420         Common_ATCB record. It contains the dynamic level of protected action
421         nesting for each task. It is needed for checking whether potentially
422         blocking operations are called from protected operations.
423         (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
424         Detect_Blocking is active or not in the partition.
425
426         * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
427         raise Program_Error if called from a protected operation.
428         (Task_Entry_Call): When pragma Detect_Blocking is active, raise
429         Program_Error if called from a protected operation.
430         (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
431         Program_Error if called from a protected operation.
432
433         * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
434         raise Program_Error if called from a protected operation.
435
436         * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
437         raise Program_Error if called from a protected operation, and increase
438         the protected action nesting level.
439         (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
440         Program_Error if called from a protected operation, and increase the
441         protected action nesting level.
442         (Unlock_Entries): When pragma Detect_Blocking is active decrease the
443         protected action nesting level.
444
445         * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
446         raise Program_Error if called from a protected operation, and increase
447         the protected action nesting level.
448         (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
449         Program_Error if called from a protected operation, and increase the
450         protected action nesting level.
451         (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
452         raise Program_Error if called from a protected operation.
453         (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
454         active, raise Program_Error if called from a protected operation.
455         (Unlock_Entry): When pragma Detect_Blocking is active decrease the
456         protected action nesting level.
457
458         * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
459         insertion of the statement raising Program_Error. The run time
460         contains the required machinery for handling that.
461
462         * sem_util.ads: Change comment associated to procedure
463         Check_Potentially_Blocking_Operation.
464         This procedure does not insert a call for raising the exception because
465         that is currently done by the run time.
466
467         * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
468
469         * init.c: Add the global variable __gl_detect_blocking that indicates
470         whether pragma Detect_Blocking is active (1) or not (0). Needed for
471         making the pragma available at run time.
472         (__gnat_set_globals): Pass and update the detect_blocking parameter.
473
474         * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
475         pragma Detect_Blocking is active.
476
477         * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
478
479         * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
480         DB is found in the ali file. Any unit compiled with pragma
481         Detect_Blocking active forces its effect in the whole partition.
482
483         * a-retide.adb (Delay_Until): Raise Program_Error if pragma
484         Detect_Blocking is active and delay is called from a protected
485         operation.
486
487         * bindgen.adb (Gen_Adainit_Ada): When generating the call to
488         __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
489         Detect_Blocking is active (0 otherwise).
490         (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
491         as Detect_Blocking parameter if pragma Detect_Blocking is active (0
492         otherwise).
493
494 2004-09-09  Thomas Quinot  <quinot@act-europe.fr>
495
496         * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
497         GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
498         package.
499
500         * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
501         (Register_Receiving_Stub): Add Subp_Info formal parameter.
502         Update API in placeholder implemetation of s-parint to reflect changes
503         in distribution runtime library.
504
505         * sem_ch3.adb (Expand_Derived_Record): Rename to
506         Expand_Record_Extension.
507
508         * sem_disp.adb (Check_Controlling_Formals): Improve error message for
509         primitive operations of potentially distributed object types that have
510         non-controlling anonymous access formals.
511
512         * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
513         subprogram.
514         New implementation of expansion for remote access-to-subprogram types,
515         based on the RACW infrastructure.
516         This version of sem_dist is compatible with PolyORB/DSA as well as
517         GLADE.
518
519         * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
520         Asynchrronous that applies to a remote access-to-subprogram type, mark
521         the underlying RACW type as asynchronous.
522
523         * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
524          __gnat_using_gnu_linker to 1.
525
526         * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
527         g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
528         GNAT.Perfect_Hash_Generators, and remove the empty
529         GNAT.Perfect_Hash package.
530
531         * atree.adb: Minor reformatting
532
533         * exp_ch3.adb (Expand_Derived_Record): Rename to
534         Expand_Record_Extension.
535         (Build_Record_Init_Proc.Build_Assignment): The default expression in
536         a component declaration must remain attached at that point in the
537         tree so New_Copy_Tree copies it if the enclosing record type is derived.
538         It is therefore necessary to take a copy of the expression when building
539         the corresponding assignment statement in the init proc.
540         As a side effect, in the case of a derived record type, we now see the
541         original expression, without any rewriting that could have occurred
542         during expansion of the ancestor type's init proc, and we do not need
543         to go back to Original_Node.
544
545         * exp_ch3.ads (Expand_Derived_Record): Rename to
546         Expand_Record_Extension.
547
548         * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
549         Returns the RACW type used to implement a remote access-to-subprogram
550         type.
551         (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
552         New subprograms. Used to create a proxy tagged object for a remote
553         subprogram. The proxy object is used as the designated object
554         for RAS values on the same partition (unless All_Calls_Remote applies).
555         (Build_Get_Unique_RP_Call): New subprogram. Build a call to
556         System.Partition_Interface.Get_Unique_Remote_Pointer.
557         (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
558         Renamed from Add_RAS_*_Attribute.
559         (Add_Receiving_Stubs_To_Declarations): Generate a table of local
560         subprograms.
561         New implementation of expansion for remote access-to-subprogram types,
562         based on the RACW infrastructure.
563
564         * exp_dist.ads (Copy_Specification): Update comment to note that this
565         function can copy the specification from either a subprogram
566         specification or an access-to-subprogram type definition.
567
568 2004-09-09  Ed Schonberg  <schonberg@gnat.com>
569
570         * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
571         in an instance, between an explicit subprogram an one inherited from a
572         type derived from an actual.
573
574         * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
575         add a polling call if the subprogram is to be inlined by the back-end,
576         to avoid repeated calls with multiple inlinings.
577
578         * checks.adb (Apply_Alignment_Check): If the expression in the address
579         clause is a call whose name is not a static entity (e.g. a dispatching
580         call), treat as dynamic.
581
582 2004-09-09  Robert Dewar  <dewar@gnat.com>
583
584         * g-trasym.ads: Minor reformatting
585
586         * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
587         packed arrays, since unused bits are expected to be zero for a
588         comparison.
589
590 2004-09-09  Eric Botcazou  <ebotcazou@act-europe.fr>
591
592         * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
593         comment.
594
595 2004-09-09  Pascal Obry  <obry@gnat.com>
596
597         * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
598         enable map file generation. Add the right option to generate the map
599         file if Map_File is set to True.
600
601         * gnatdll.adb (Gen_Map_File): New variable.
602         (Syntax): Add info about new -m (Map_File) option.
603         (Parse_Command_Line): Add support for -m option.
604         (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
605         Minor reformatting.
606
607 2004-09-09  Laurent Pautet  <pautet@act-europe.fr>
608
609         * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
610         new gnatdist implementation.
611         Define a subpackage isolating the output routines specific to this
612         verbose mode.
613
614 2004-09-09  Joel Brobecker  <brobecker@gnat.com>
615
616         * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
617
618         * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
619
620 2004-09-09  Cyrille Comar  <comar@act-europe.fr>
621
622         * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
623         internal unit.
624
625         * opt.ads: Add Ada_Version_Runtime constant used to decide which
626         version of the language is used to compile the run time.
627
628 2004-09-09  Arnaud Charlet  <charlet@act-europe.fr>
629
630         * sem_util.adb (Requires_Transient_Scope): Re-enable handling
631         of variable length temporaries for function return now that the
632         back-end and gigi support it.
633
634 2004-09-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
635
636         * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
637
638         * trans.c (struct stmt_group): Delete field GLOBAL.
639         (gnat_init_stmt_group): Do not initialize it.
640         (call_to_gnu): Use save_expr, not protect_multiple_eval.
641         (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
642         (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
643         (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
644         (start_stmt_group): Likewise.
645         (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
646
647         * utils2.c (ggc.h): Include.
648         (build_call_raise): Call build_int_cst, not build_int_2.
649
650         * utils.c (gnat_init_decl_processing): Fix arg to
651         build_common_tree_nodes.
652         (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
653         (gnat_define_builtin): Set built_in_decls.
654         (init_gigi_decls): Call build_int_cst, not build_int_2.
655
656         * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
657         (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
658         (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
659         (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
660         SET_TYPE_MODULE): Use them.
661         (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
662         (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
663         (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
664         SET_TYPE_ADA_SIZE): Likewise.
665         (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
666         (DECL_CONST_CORRESPONDING_VAR,
667         SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
668         (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
669         (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
670         (TYPE_RM_SIZE_NUM): New macro.
671         (TYPE_RM_SIZE): Modified to use above.
672
673         * cuintp.c: (build_cst_from_int): New function.
674         (UI_To_gnu): Use it.
675
676         * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
677         (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
678         (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
679         MIN_EXPR for the size, copy it into new.
680
681 2004-09-01  Robert Dewar  <dewar@gnat.com>
682
683         * exp_ch6.adb (Expand_Call): Properly handle validity checks for
684         packed indexed component where array is an IN OUT formal. This
685         generated garbage code previously.
686
687         * gnat_ugn.texi: Document -fverbose-asm
688
689         * gnat-style.texi: Minor updates (note that boolean constants and
690         variables are joined with AND/OR rather than short circuit forms).
691
692 2004-09-01  Ed Schonberg  <schonberg@gnat.com>
693
694         * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
695         it is an upward conversion of an untagged type with no representation
696         change.
697
698 2004-09-01  Thomas Quinot  <quinot@act-europe.fr>
699
700         * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
701         System.Partition_Interface.
702
703         * checks.adb (Apply_Access_Checks): Do not generate checks when
704         expander is not active (but check for unset reference to prefix of
705         dereference).
706
707         * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
708         pragma Debug as an if statement with a constant condition, for
709         consistent treatment of entity references contained within the
710         enclosed procedure call.
711
712 2004-09-01  Vincent Celier  <celier@gnat.com>
713
714         * bindgen.adb: (Set_EA_Last): New procedure
715         (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
716         Set_EA_Last.
717         (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
718         (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
719         linked without errors.
720         (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
721         ST and EA.
722         (Gen_Exception_Table_C): Correct same bugs
723
724         * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
725
726         * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
727         on Windows, make sure that the drive letter is in upper case.
728
729         * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
730         Windows, when the drive letter is added and Case_Sensitive is True, the
731         drive letter is forced to upper case.
732
733         * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
734         to Options_2 for the call to MLib.Utl.Gcc.
735
736         * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
737         directory separator when defining BASE_DIR.
738
739 2004-09-01  Pascal Obry  <obry@gnat.com>
740
741         * gprcmd.adb (Extend): Do not output trailing directory separator. This
742         is not needed and it confuses Windows GNU/make which does not report
743         directory terminated by a slash as a directory.
744         (gprcmd): Idem for "pwd" internal command.
745
746         * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
747         target names rewrite to fix regressions with recent version of
748         GNU/make. Starting with GNU/make 3.80 the pipe character was not
749         handled properly anymore.
750
751 2004-09-01  Andreas Schwab  <schwab@suse.de>
752
753         * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
754         * raise.c [!IN_RTS]: Undef abort.
755
756 2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
757
758         * utils2.c (build_allocator): Use ssize_int.
759
760         * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
761
762 2004-08-27  Andreas Schwab  <schwab@suse.de>
763
764         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
765
766 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
767             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
768
769         * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
770
771 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
772
773         * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
774         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
775         * utils.c (init_gigi_decls): Likewise.
776         * utils2.c (build_call_raise, build_allocator): Likewise.
777
778 2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
779
780         * utils.c (gnat_init_decl_processing): Adjust
781         build_common_tree_nodes call.
782
783 2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
784
785         * utils2.c (build_allocator): Use build_int_cst for negative
786         size types.
787
788 2004-08-18  Richard Henderson  <rth@redhat.com>
789
790         * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
791
792 2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
793
794         * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
795         call.s
796         * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
797         (gnat_to_gnu): Likewise.
798
799 2004-08-16  Pascal Obry  <obry@gnat.com>
800
801         * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
802         backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
803         option and not mdll anymore. Update comment.
804
805 2004-08-16  Pascal Obry  <obry@gnat.com>
806
807         * bld.adb (Put_Include_Project): Properly handle directory separators
808         on Windows.
809
810 2004-08-16  Ed Schonberg  <schonberg@gnat.com>
811
812         * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
813         decreasing the number of allocated junk nodes while searching for the
814         appropriate subprogram.
815
816 2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
817
818         * cuintp.c (UI_To_gnu): Use build_int_cst..
819         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
820         * utils.c (init_gigi_decls): Likewise.
821         * utils2.c (build_call_raise): Likewise.
822
823 2004-08-13  Olivier Hainque  <hainque@act-europe.fr>
824
825         * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
826         for a global aliased object with a variable size and an unconstrained
827         nominal subtype, pretend there is no initializer if the one we have is
828         incomplete, and avoid referencing an inexistant component in there. The
829         part we have will be rebuilt anyway and the reference may confuse
830         further operations.
831
832 2004-08-13  Thomas Quinot  <quinot@act-europe.fr>
833
834         * einfo.ads: Minor reformatting
835
836         * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
837         restrictions in the ALI if we only want to warn about violations.
838
839 2004-08-13  Vincent Celier  <celier@gnat.com>
840
841         * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
842         when creating a new Unit_Record in table Units.
843
844         * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
845         that are violated, if any.
846
847         * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
848         add directory separator if path already ends with a directory separator.
849
850 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
851
852         * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
853         unit, this is an attempt to inline a construct that is not available in
854         the current restricted mode, so abort rather than trying to continue.
855
856         * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
857         discriminants that rename those of the parent, recover names of
858         original discriminants for the constraint on the full view of the
859         parent.
860         (Complete_Private_Subtype): Do not create a subtype declaration if the
861         subtype is an itype.
862
863         * gnat_rm.texi: Added section on implementation of discriminated
864         records with default values for discriminants.
865
866 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
867
868         PR ada/15601
869         * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
870         the second operand is overloaded.
871
872 2004-08-10  Richard Henderson  <rth@redhat.com>
873
874         * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
875         add __builtin_alloca.
876
877 2004-08-10  Richard Henderson  <rth@redhat.com>
878
879         * config-lang.in (boot_language): Yes.
880
881 2004-08-09  Thomas Quinot  <quinot@act-europe.fr>
882
883         * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
884         from complaining on potential uninitialized reference.
885         Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
886         new specification and test explicitly for non-zero return value.
887
888         * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
889         returning C.int, to avoid using a derived boolean type.
890
891         * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
892         Duplicate_Subexpr_No_Checks in preference to direct use of
893         Remove_Side_Effects and New_Copy_Tree.
894         Clear Comes_From_Source on prefix of 'Size attribute reference.
895
896         * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
897         g-socthi-vxworks.adb: Change calls to
898         GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
899         and test explicitly for non-zero return value.
900
901         * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
902         (Is_Socket_In_Set): Declare imported function as returning C.int, to
903         avoid using a derived boolean type.
904
905 2004-08-09  Albert Lee  <lee@gnat.com>
906
907         * system-irix-n32.ads: Refine tasking priority constants for IRIX.
908
909 2004-08-09  Pascal Obry  <obry@gnat.com>
910
911         * gnat_ugn.texi: Document new way to build DLLs on Windows using
912         GCC's -shared option.
913
914         * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
915         Options_2 parameter (options put after object files).
916
917 2004-08-09  Olivier Hainque  <hainque@act-europe.fr>
918
919         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
920         ignore overflows on low and high bounds of an index to also account for
921         differences in signedness between sizetype and gnu_index_subtype.
922         These are as legitimate as the ones caused by a lower TYPE_PRECISION
923         on sizetype.
924
925 2004-08-09  Robert Dewar  <dewar@gnat.com>
926
927         * s-solita.ads, s-solita.adb: Minor reformatting
928
929         * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
930         Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
931         obsolescent section
932         Add note that No_Implicit_Conditionals does not suppress
933         run time constraint checks.
934
935         * vms_conv.ads: Minor reformatting
936
937         * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
938         and necessary for following change).
939         (Mark): Return new format Mark_Id containing sec stack address
940         (Release): Use sec stack address from Mark_Id avoiding Self call
941
942         * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
943         pointer (cleanup and necessary for following change).
944         Define Mark_Id as record containing address of secondary stack, that way
945         Release does not need to find the stack again, decreasing the number of
946         calls to Self and improving efficiency.
947
948         * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
949
950         * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
951         case variable into the individual case branches when possible.
952
953         * sem_ch11.adb: Minor reformatting
954
955         * prj.ads: Correct spelling of suffixs
956
957         * prj-nmsc.adb: Minor reformatting
958         Correct spelling suffixs throughout (also in identifiers)
959
960         * freeze.adb: Minor spelling correction
961
962         * exp_ch2.adb: Cleanups to handling of Current_Value
963         (no functional effect).
964
965         * bld.adb: Correct spelling of suffixs
966
967         * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
968
969 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
970
971         PR ada/15408
972
973         * sem_ch7.adb (Install_Private_Declarations): In the body of the
974         package or of a child, private entities are both immediately_visible
975         and not hidden.
976
977 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
978
979         * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
980         there are no range checks on the value of the literal.
981
982         * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
983         wrapped is the triggering alternative of an asynchronous select, action
984         statements mustbe inserted before the select itself.
985
986         * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
987         case where the prefix is a protected function call.
988         (Resolve_Attribute, case 'Access): The attribute reference on a
989         subprogram is legal in a generic body if the subprogram is declared
990         elsewhere.
991
992 2004-08-09  Vincent Celier  <celier@gnat.com>
993
994         * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
995         languages, otherwise building the library may fail with unresolved
996         symbols.
997         (Compile_Sources): Do not build libraries if -c switch is used
998
999         * gnatlink.adb (Process_Args): New switches -M and -Mmap
1000         (Write_Usage): If map file creation is supported, output new switches
1001         -M and -Mmap.
1002         (Gnatlink): When -M is specified, add the necessary switch(es) to the
1003         gcc call, when supported.
1004
1005         * Makefile.in: Added indepsw.o to the object list for gnatlink
1006         Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
1007
1008         * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
1009         indepsw.adb, indepsw.ads: New files.
1010
1011 2004-08-09  Bernard Banner  <banner@gnat.com>
1012
1013         * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
1014
1015         * Makefile.in: add section for vxworks x86
1016
1017 2004-08-09  Hristian Kirtchev  <kirtchev@gnat.com>
1018
1019         * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
1020         per-object constrained components where the discriminant is of an
1021         Access type.
1022         (Build_Record_Init_Proc): Add condition to prevent the inheritance of
1023         the parent initialization procedure for derived Unchecked_Unions.
1024         Instead, derived Unchecked_Unions build their own initialization
1025         procedure.
1026         (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
1027         Check the body of the subprogram for details.
1028         (Freeze_Record_Type): Prevent the inheritance of discriminant checking
1029         functions for derived Unchecked_Union types by introducing a condition.
1030         Allow the creation of TSS equality functions for Unchecked_Unions.
1031         (Make_Eq_Case): Rename formal parameter Node to E in function signature.
1032         Add formal parameter Discr to function signature. Discr is used to
1033         control the generated case statement for Unchecked_Union types.
1034         (Make_Eq_If): Rename formal parameter Node to E in function signature.
1035
1036         * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
1037         Unchecked_Unions.
1038         Check the body of the subprogram for details.
1039         (Expand_Composite_Equality): Augment composite type equality to include
1040         correct handling of Unchecked_Union components.
1041         (Expand_N_In): Add condition to detect illegal membership tests when the
1042         subtype mark is a constrained Unchecked_Union and the expression lacks
1043         inferable discriminants, and build a Raise_Program_Error node.
1044         (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
1045         to detect types that contain components of unconstrained Unchecked_Union
1046         subtype. Add condition to detect equality between types that have an
1047         unconstrained Unchecked_Union component, and build a Raise_Program_Error
1048         node. Add condition to detect equality between Unchecked_Union types
1049         that lack inferable discriminants, and build a Raise_Program_Error node.
1050         Otherwise build a TSS equality function call.
1051         (Expand_N_Type_Conversion): Add condition to detect illegal conversions
1052         from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
1053         with the operand lacking inferable discriminants, and build a Raise_
1054         Program_Error node.
1055         (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
1056         composite equality.
1057         (Has_Inferable_Discriminants): Implement new predicate for objects and
1058         expressions of Unchecked_Union type. Check the body of subprogram for
1059         details.
1060         (Has_Unconstrained_UU_Components): Add function
1061         Component_Is_Unconstrained_UU. It is used to detect whether a single
1062         component is of an unconstrained Unchecked_Union subtype. Add function
1063         Variant_Is_Unconstrained_UU. It is used to detect whether a single
1064         component inside a variant is of an unconstrained Unchecked_Union type.
1065
1066         * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
1067         inferred discriminant values. Add condition to generate a case
1068         statement with an inferred discriminant as the switch.
1069         (Make_Component_List_Assign): Introduce a Boolean flag that determines
1070         the behaviour of the subprogram in the presence of an Unchecked_Union.
1071         Add condition to trigger the usage of the inferred discriminant value
1072         as the generated case statement switch.
1073         (Make_Field_Assign): Introduce a Boolean flag that determines the
1074         behaviour of the subprogram in the presence of an Unchecked_Union. Add
1075         condition to trigger the usage of the inferred discriminant value as
1076         the right-hand side of the generated assignment.
1077
1078         * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
1079         parameter generation when dealing with Unchecked_Unions.
1080
1081         * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
1082         checks for Unchecked_Unions.
1083
1084         * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
1085
1086         * exp_attr.adb (Expand_N_Attribute_Reference): Produce
1087         Raise_Program_Error nodes for the execution of Read and Write
1088         attributes of Unchecked_Union types and the execution of Input and
1089         Output attributes of Unchecked_Union types that lack default
1090         discriminant values.
1091
1092         * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
1093         Unchecked_Union. Add procedure Check_Component. It is used to inspect
1094         per-object constrained components of Unchecked_Unions for being
1095         Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
1096         check individual components withing a variant.
1097
1098         * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
1099         comparison of Unchecked_Unions.
1100         (Resolve_Equality_OP): Remove guard that prevents equality between
1101         Unchecked_Unions.
1102
1103         * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
1104         of component subtypes for Unchecked_Union components.
1105         (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
1106         since it is the actual subtype.
1107
1108         * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
1109         pass of Unchecked_Union subtypes as generic actuals to formal types
1110         that lack known_discriminant_parts or that are derived Unchecked_Union
1111         types, and do nothing. In any other case, produce an error message.
1112
1113         * sem_ch3.adb (Analyze_Component_Declaration): Add function
1114         Contains_POC. It determines whether a constraint uses the discriminant
1115         of an enclosing record type.
1116         Add condition to detect per-object constrained component and set the
1117         appropriate flag.
1118         (Derived_Type_Declaration): Remove guard that prevents derivation from
1119         Unchecked_Union types.
1120         (Process_Subtype): Remove quard that prevents the creation of Unchecked_
1121         Union subtypes.
1122
1123         * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
1124         references to Unchecked_Union discriminants.
1125
1126         * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
1127         formal generation when dealing with Unchecked_Unions.
1128         (Set_Actual_Subtypes): Add condition to prevent generation of actual
1129         subtypes for Unchecked_Unions.
1130
1131         * sem_ch7.adb (Analyze_Package_Specification): Add procedure
1132         Inspect_Unchecked_Union_Completion. It is used to detect incorrect
1133         completions of discriminated partial views by Unchecked_Unions and
1134         produce an error message.
1135
1136 2004-08-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1137
1138         * trans.c (struct stmt_group): New field, GLOBAL.
1139         (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
1140         (struct elab_info): New struct.
1141         (elab_info_list, gnu_elab_proc_stack): New variables.
1142         (Compilation_Unit_to_gnu): New procedure.
1143         (gigi): Call it and also handle elaboration procs we've saved.
1144         (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
1145         global field from parent.
1146         (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
1147         (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
1148         (start_stmt_group): Initialize global field from parent.
1149         (add_decl_expr): Set to global for current statement group.
1150         (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
1151         post.
1152
1153         * utils.c (global_bindings_p): True when no current_function_decl; no
1154         longer check current_binding_level.
1155
1156 2004-08-09  Ben Brosgol  <brosgol@gnat.com>
1157
1158         * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
1159         choice.
1160
1161         * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
1162
1163 2004-08-06  Andreas Schwab  <schwab@suse.de>
1164
1165         * utils.c (gnat_define_builtin): Remove second parameter of
1166         make_decl_rtl.
1167         (begin_subprog_body): Likewise.
1168
1169 2004-07-26  Arnaud Charlet  <charlet@act-europe.fr>
1170
1171         * sem_util.adb (Requires_Transient_Scope): Temporarily disable
1172         optimization, not supported by the tree-ssa back-end.
1173
1174 2004-07-26  Olivier Hainque  <hainque@act-europe.fr>
1175
1176         * s-mastop-irix.adb: Update comments.
1177
1178         * a-except.adb (Exception_Information): Raise Constraint_Error if
1179         exception Id is Null_Id.
1180         This is required behavior, which is more reliably and clearly checked
1181         at the top level interface level.
1182
1183 2004-07-26  Javier Miranda  <miranda@gnat.com>
1184
1185         * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
1186         call if a component has no default_expression and the box is used.
1187
1188         * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
1189         default_expression and you use box, it behaves as if you had declared a
1190         stand-alone object.
1191         (Resolve_Record_Aggregate): If a component has no default_expression and
1192         you use box, it behaves as if you had declared a stand-alone object.
1193
1194         * sem_ch10.adb (Install_Siblings): Do not make visible the private
1195         entities of private-with siblings.
1196
1197 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
1198
1199         * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
1200         for a component of an itype, set the parent pointer for analysis,
1201         there is no list in which to insert it.
1202
1203         * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
1204         bona-fide renamings, not for inherited operations.
1205
1206         * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
1207         actual for a formal that is an access parameter, create local
1208         finalization list even if the expression is not an aggregate.
1209
1210 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
1211
1212         PR ada/16213
1213         * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
1214         Diagnose properly illegal subprogram renamings that are library units.
1215
1216 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
1217
1218         PR ada/15588
1219         * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
1220         conversion rewritten as an unchecked conversion, check that original
1221         expression is a variable.
1222
1223         * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
1224         unchecked_conversion, create new node rather than rewriting in place,
1225         to preserve original construct.
1226
1227 2004-07-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1228
1229         * gigi.h (gnat_expand_body): Deleted.
1230
1231         * Make-lang.in: (trans.o): Depends on function.h.
1232
1233         * misc.c: (gnat_expand_body): Moved to here.
1234
1235         * trans.c (gnat_expand_body_1): Deleted.
1236         (gnat_expand_body): Moved from here.
1237         (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
1238         (add_stmt): Check for marked visited with global_bindings_p.
1239         (gnat_gimplify_expr, case COMPONENT_REF): New case.
1240         (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
1241
1242         * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
1243         VIEW_CONVERT_EXPR if not operation type.
1244
1245         * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
1246         fat pointer.
1247
1248         * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
1249         changes: reformatting of negation operators, removing unneeded
1250         inequality comparison with zero, converting equality comparisons with
1251         zero to negations, changing int/0/1 to bool/false/true, replace calls
1252         to gigi_abort with abort, and various other similar changes.
1253
1254 2004-07-26  Vincent Celier  <celier@gnat.com>
1255
1256         * gnatcmd.adb (GNATCmd): Add processing for new built-in command
1257         "setup".
1258
1259         * make.adb (Gnatmake): Fail when a library is not present and there is
1260         no object directory.
1261
1262         * mlib-prj.adb (Check_Library): No need to check if the library needs
1263         to be rebuilt if there is no object directory, hence no object files
1264         to build the library.
1265
1266         * opt.ads (Setup_Projects): New Boolean flag.
1267
1268         * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
1269         Location.
1270         Create directory when Kind /= "" and in "gnat setup". Report error if
1271         directory cannot be created.
1272         (Ada_Check): Create library interface copy dir if it does not exist
1273         and we are in "gnat setup".
1274         (Find_Sources): No error if in "gnat setup" and no Ada sources were
1275         found.
1276         (Language_Independent_Check): Create object directory, exec directory
1277         and/or library directory if they do not exist and we are in
1278         "gnat setup".
1279
1280         * vms_conv.ads: (Command_Type): New command Setup.
1281
1282         * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
1283
1284         * vms_data.ads: Add qualifiers/switches for new built-in command
1285         "setup".
1286
1287 2004-07-25  Richard Henderson  <rth@redhat.com>
1288
1289         * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
1290         DECL_IGNORED_P on RESULT_DECL.
1291
1292 2004-07-20  Olivier Hainque  <hainque@act-europe.fr>
1293
1294         * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
1295         allocation and potentially overflowing update with
1296         Tailored_Exception_Information. Use the sec-stack free procedural
1297         interface to output Exception_Information instead.
1298
1299         * a-except.adb (To_Stderr): New subprogram for character, and string
1300         version moved from a-exextr to be visible from other separate units.
1301         (Tailored_Exception_Information): Remove the procedural version,
1302         previously used by the default Last_Chance_Handler and not any more.
1303         Adjust various comments.
1304
1305         * a-exexda.adb: Generalize the exception information procedural
1306         interface, to minimize the use of secondary stack and the need for
1307         local buffers when the info is to be output to stderr:
1308         (Address_Image): Removed.
1309         (Append_Info_Character): New subprogram, checking for overflows and
1310         outputing to stderr if buffer to fill is of length 0.
1311         (Append_Info_String): Output to stderr if buffer to fill is of length 0.
1312         (Append_Info_Address, Append_Info_Exception_Name,
1313         Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
1314         Append_Info_Basic_Exception_Traceback,
1315         Append_Info_Exception_Information): New subprograms.
1316         (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
1317         (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
1318         Exception_Info_Maxlength, Exception_Name_Length,
1319         Exception_Message_Length): New subprograms.
1320         (Exception_Information): Use Append_Info_Exception_Information.
1321         (Tailored_Exception_Information): Use
1322         Append_Info_Basic_Exception_Information.
1323         Export services for the default Last_Chance_Handler.
1324
1325         * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
1326         other separate units.
1327
1328 2004-07-20  Vincent Celier  <celier@gnat.com>
1329
1330         * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
1331
1332 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
1333
1334         * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
1335         emit itype references for the designated types of component types that
1336         are declared outside of the full record declaration, and that may
1337         denote a partial view of that record type.
1338
1339 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
1340
1341         PR ada/15607
1342         * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
1343         which is the designated type in an access component declaration, to the
1344         list of incomplete dependents of the parent type, to avoid elaboration
1345         issues with out-of-scope subtypes.
1346         (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
1347         full view of the parent.
1348
1349 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
1350
1351         PR ada/15610
1352         * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
1353         entities that are hidden, such as references to generic actuals
1354         outside an instance.
1355
1356 2004-07-20  Javier Miranda  <miranda@gnat.com>
1357
1358         * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
1359         support to the new notation.
1360         (Analyze_Selected_Component): Add call to Try_Object_Operation.
1361
1362 2004-07-20  Jose Ruiz  <ruiz@act-europe.fr>
1363
1364         * s-taprob.adb: Adding the elaboration code required for initializing
1365         the tasking soft links that are common to the full and the restricted
1366         run times.
1367
1368         * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
1369         restricted run time has been moved to the package
1370         System.Soft_Links.Tasking.
1371
1372         * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
1373         restricted run time has been moved to the package
1374         System.Soft_Links.Tasking.
1375
1376         * Makefile.rtl: Add entry for s-solita.o in run-time library list.
1377
1378         * s-solita.ads, s-solita.adb: New files.
1379
1380 2004-07-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1381
1382         * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
1383         Case_Statement_to_gnu): Split off from gnat_to_gnu.
1384         (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
1385         Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
1386         Exception_Handler_to_gnu_zcx): Likewise.
1387
1388 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
1389
1390         * gigi.h (builtin_function): Declare.
1391
1392 2004-07-15  Robert Dewar  <dewar@gnat.com>
1393
1394         * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
1395         reformatting
1396
1397         * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
1398         access values as an example of a warning.
1399
1400         * gnat_rm.texi: Document new attribute Has_Access_Values
1401
1402         * gnat-style.texi: Document that box comments belong on nested
1403         subprograms
1404
1405         * sem_util.ads (Has_Access_Values): Improved documentation
1406
1407         * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
1408
1409         * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
1410         (Process_Interface_Name): Call to this new procedure
1411         (Set_Extended_Import_Export_External_Name): Call to this new procedure
1412
1413         * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
1414
1415         * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
1416
1417         * einfo.ads: Minor comment typo fixed
1418
1419 2004-07-15  Jose Ruiz  <ruiz@act-europe.fr>
1420
1421         * snames.adb: Add _atcb.
1422
1423         * snames.ads: Add Name_uATCB.
1424
1425         * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
1426         (in the expanded code) when using the restricted run time.
1427
1428         * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
1429         a in parameter in order to allow ATCBs to be preallocated (in the
1430         expanded code).
1431
1432         * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
1433         order to allow ATCBs to be preallocated. In case of error, the ATCB is
1434         deallocated in System.Tasking.Stages.
1435
1436         * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
1437         order to allow ATCBs to be preallocated.
1438
1439         * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
1440         here. It was previously done in Initialize_ATCB.
1441
1442         * rtsfind.ads: Make the Ada_Task_Control_Block visible.
1443
1444         * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
1445         Restricted run time.
1446
1447         * exp_ch3.adb: When using the Restricted run time, pass the
1448         preallocated Ada_Task_Control_Block when creating a task.
1449
1450 2004-07-15  Ed Schonberg  <schonberg@gnat.com>
1451
1452         * sem_util.adb (Normalize_Actuals): If there are no actuals on a
1453         function call that is itself an actual in an enclosing call, diagnose
1454         problem here rather than assuming that resolution will catch it.
1455
1456         * sem_ch7.adb (Analyze_Package_Specification): If the specification is
1457         the local copy of a generic unit for a formal package, and the generic
1458         is a child unit, install private part of ancestors before compiling
1459         private part of spec.
1460
1461         * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
1462         use scope entities rather than tree structures, to handle properly
1463         parent units that are instances rewritten as bodies for inlining
1464         purposes.
1465
1466         * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
1467         Remove_Parents): Handle properly a parent unit that is an
1468         instantiation, when the unit has been rewritten as a body for inlining
1469         purposes.
1470
1471         * par.adb (Goto_List): Global variable to collect goto statements in a
1472         given unit, for use in detecting natural loops.
1473
1474         * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
1475         use in detecting natural loops.
1476
1477         * par-labl.adb (Find_Natural_Loops): Recognize loops create by
1478         backwards goto's, and rewrite as a infinite loop, to improve locality
1479         of temporaries.
1480
1481         * exp_util.adb (Force_Evaluation): Recognize a left-hand side
1482         subcomponent that includes an indexed reference, to prevent the
1483         generation of copies that would miscompile the desired assignment
1484         statement.
1485         (Build_Task_Image_Decls): Add a numeric suffix to
1486         generated name for string variable, to avoid spurious conflicts with
1487         the name of the type of a single protected object.
1488
1489         * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
1490         loop with an explicit exit statement, to avoid generating an
1491         out-of-range value with 'Succ leading to spurious constraint_errors
1492         when compiling with -gnatVo.
1493
1494 2004-07-15  Thomas Quinot  <quinot@act-europe.fr>
1495
1496         * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
1497         might not be analyzed yet, even if its Etype is already set (case of an
1498         unchecked conversion built using Unchecked_Convert_To, for example).
1499         If the prefix has already been analyzed, this will be a nop anyway.
1500
1501         * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
1502         controller type, or an assignment of a record type with controlled
1503         components, copy only user data, and leave the finalization chain
1504         pointers untouched.
1505
1506 2004-07-15  Vincent Celier  <celier@gnat.com>
1507
1508         * make.adb (Collect_Arguments): Improve error message when attempting
1509         to compile a source not part of any project, when -x is not used.
1510
1511         * prj.ads: (Defined_Variable_Kind): New subtype
1512
1513         * prj-attr.adb (Register_New_Package): Two new procedures to register
1514         a package with or without its attributes.
1515         (Register_New_Attribute): Mew procedure to register a new attribute in a
1516         package.
1517         New attribute oriented subprograms: Attribute_Node_Id_Of,
1518         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
1519         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
1520         Next_Attribute.
1521         New package oriented subprograms: Package_Node_Id_Of,
1522         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
1523
1524         * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
1525         type.
1526         (Package_Node_Id): Now a private, self initialized type
1527         (Register_New_Package): New procedure to register a package with its
1528         attributes.
1529         New attribute oriented subprograms: Attribute_Node_Id_Of,
1530         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
1531         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
1532         Next_Attribute.
1533         New package oriented subprograms: Package_Node_Id_Of,
1534         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
1535
1536         * prj-dect.adb (Parse_Attribute_Declaration,
1537         Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
1538
1539         * prj-makr.adb (Make): Parse existing project file before creating
1540         other files. Fail if there was an error during parsing.
1541
1542         * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
1543         new spec of Prj.Attr.
1544
1545         * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
1546         to new spec of Prj.Attr.
1547
1548 2004-07-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1549
1550         * utils2.c: Fix typo in comment.
1551
1552 2004-07-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1553
1554         * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
1555         * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
1556
1557 2004-07-14  Andreas Schwab  <schwab@suse.de>
1558
1559         * trans.c (gnat_init_stmt_group): Remove duplicate definition.
1560
1561 2004-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1562
1563         * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
1564         object type.
1565         (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
1566         TYPE_STUB_DECL.
1567
1568         * misc.c (gnat_types_compatible_p): New function.
1569         (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
1570         (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
1571
1572         * trans.c (gigi): Move processing of main N_Compilation_Unit here.
1573         (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
1574         (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
1575         (mark_visited): Don't mark dummy type.
1576         (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
1577         parameter, we must remove any LJM building from GNU_NAME.
1578         (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
1579         (pos_to_constructor): Use int_const_binop.
1580         (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
1581         PARM_DECL.
1582
1583         * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
1584         (gnat_pushlevel): Set TREE_USE on BLOCK node.
1585         (gnat_install_builtins): Add __builtin_memset.
1586
1587 2004-07-13  Olivier Hainque  <hainque@act-europe.fr>
1588
1589         * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
1590         for a renaming, stabilize the initialization expression if we are at a
1591         local level.  At the local level, uses of the renaming may be performed
1592         by a direct dereference of the initializing expression, and we don't
1593         want possible variables there to be evaluated for every use.
1594
1595         * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
1596         Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
1597         them on the way.  Account for the fact that we may introduce side
1598         effects in the process.
1599
1600 2004-07-13  Richard Henderson  <rth@redhat.com>
1601
1602         * misc.c (default_pass_by_ref): Use pass_by_reference.
1603
1604 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
1605
1606         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
1607         LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
1608
1609 2004-07-08  Richard Henderson  <rth@redhat.com>
1610
1611         * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
1612         commentary.
1613
1614 2004-07-06  Vincent Celier  <celier@gnat.com>
1615
1616         * vms_conv.ads: Minor reformatting.
1617         Alphabetical order for enumerated values of type Command_Type, to have
1618         the command in alphabetical order for the usage.
1619
1620         * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
1621         the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
1622
1623         * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
1624
1625         * makegpr.adb (Global_Archive_Exists): New global Boolean variable
1626         (Add_Archive_Path): Only add the global archive if there is one.
1627         (Build_Global_Archive): Set Global_Archive_Exists depending if there is
1628         or not any object file to put in the global archive, and don't build
1629         a global archive if there is none.
1630         (X_Switches): New table
1631         (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
1632         in the X_Switches table, if any.
1633         (Initialize): Make sure the X_Switches table is empty
1634         (Scan_Arg): Record -X switches in table X_Switches
1635
1636         * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
1637
1638         * make.adb: Minor comment fix
1639
1640         * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
1641         invoked with directory information, add the directory in front of the
1642         path.
1643
1644         * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
1645         invoked with directory information, add the directory in front of the
1646         path.
1647
1648         * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
1649         when Keep_Temporary_Files is False.
1650         (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
1651         directory information, add the directory in front of the path.
1652         When not on VMS, handle new switch -dn before the command to set
1653         Keep_Temporary_Files to True.
1654         (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
1655         everywhere.
1656
1657         * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
1658         invoked with directory information, add the directory in front of the
1659         path.
1660
1661 2004-07-06  Thomas Quinot  <quinot@act-europe.fr>
1662
1663         * snames.ads, snames.adb (Name_Stub): New name for the distributed
1664         systems annex.
1665
1666         * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
1667         New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
1668
1669         * g-socket.adb (To_Timeval): Fix incorrect conversion of
1670         Selector_Duration to Timeval for the case of 0.0.
1671
1672         * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
1673         documentation from Evolve_And_Then.
1674
1675 2004-07-06  Jose Ruiz  <ruiz@act-europe.fr>
1676
1677         * s-taprop-tru64.adb, s-taprop-os2.adb,
1678         s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
1679
1680 2004-07-06  Robert Dewar  <dewar@gnat.com>
1681
1682         * s-osinte-hpux.ads, s-osinte-freebsd.ads,
1683         s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
1684         s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
1685         s-interr-sigaction.adb, s-taprop-irix-athread.adb,
1686         s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
1687         s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
1688         s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
1689         s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
1690         a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
1691         a-tags.ads, bindgen.ads, checks.adb, checks.adb,
1692         csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
1693         exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
1694         g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
1695         i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
1696         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
1697         sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
1698         sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
1699         s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
1700         s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
1701         s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
1702         vms_data.ads: Minor reformatting,
1703         Fix bad box comment format.
1704
1705         * gnat_rm.texi: Fix minor grammatical error
1706
1707         * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
1708
1709         * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
1710         more cases of discriminated records to be recognized as not needing a
1711         secondary stack.
1712         (Has_Access_Values): New function.
1713
1714         * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
1715
1716         * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
1717         Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
1718         with LRM terminology).
1719         Change terminology in comments primitive type => elementary type.
1720
1721 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
1722
1723         PR ada/15602
1724         * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
1725         parameters do not impose any requirements on the presence of a body.
1726
1727 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
1728
1729         PR ada/15593
1730         * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
1731         compilation unit and is in an open scope at the point of instantiation,
1732         assume that a body may be present later.
1733
1734 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
1735
1736         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
1737         Improve error message when specified size is not supported.
1738
1739         * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
1740         is never a primitive operation.
1741
1742 2004-07-05  Andreas Schwab  <schwab@suse.de>
1743
1744         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
1745         RECORD_OR_UNION_CHECK.
1746         (TYPE_CONTAINS_TEMPLATE_P): Likewise.
1747
1748 2004-07-04  Kelley Cook  <kcook@gcc.gnu.org>
1749
1750         * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
1751         dependency on xgnatugn, instead build it via a submake.
1752         (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
1753
1754 2004-07-04  Richard Henderson  <rth@redhat.com>
1755
1756         * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
1757
1758 2004-07-01  Richard Henderson  <rth@redhat.com>
1759
1760         * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
1761         * utils.c (max_size): Likewise.
1762
1763 2004-06-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1764
1765         * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
1766         and rest_of_type_compilation; add arg to create_*_decl.
1767         (annotate_decl_with_node): Deleted.
1768         (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
1769         * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
1770         (get_current_block_context, gnat_pushdecl): New declarations.
1771         (gnat_init_stmt_group): Likewise.
1772         (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
1773         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
1774         (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
1775         (gnat_init): Call gnat_init_stmt_group.
1776         * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
1777         (gnu_pending_elaboration_list): Deleted.
1778         (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
1779         (gigi): Rearrange initialization calls and move some to last above.
1780         (gnat_to_gnu): If statement and not in procedure, go into elab proc.
1781         Delete calls to add_decl_expr; add arg to create_*_decl.
1782         (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
1783         (gnat_to_gnu, case N_Subprogram_Body): Move some code to
1784         begin_subprog_body and call it.
1785         Don't push and pop ggc context.
1786         (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
1787         (add_stmt): Remove handling of DECL_EXPR from here.
1788         If not in function, mark visited.
1789         (add_decl_expr): Put global at top level.
1790         Check for cases of DECL_INITIAL we have to handle here.
1791         (process_type): Add extra arg to create_type_decl.
1792         (build_unit_elab): Rework to just gimplify.
1793         * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
1794         (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
1795         (get_pending_elaborations, pending_elaborations_p): Likewise.
1796         (push_pending_elaborations, pop_pending_elaborations): Likewise.
1797         (get_elaboration_location, insert_elaboration_list): Likewise.
1798         (gnat_binding_level): Renamed from ada_binding_level.
1799         (init_gnat_to_gnu): Don't clear pending_elaborations.
1800         (global_bindings_p): Treat as global if no current_binding_level.
1801         (set_current_block_context): New function.
1802         (gnat_pushdecl): Renamed from pushdecl; major rework.
1803         All callers changed.
1804         (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
1805         (finish_record_type): Call call pushdecl for stub decl.
1806         (function_nesting_depth): Deleted.
1807         (begin_subprog_body): Delete obsolete code.
1808         * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
1809
1810 2004-06-28  Robert Dewar  <dewar@gnat.com>
1811
1812         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
1813         mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
1814         mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
1815         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
1816         a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
1817
1818         * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
1819         deal with problem of inefficient slices on machines with strict
1820         alignment, when the slice is a component of a composite.
1821
1822         * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
1823         machines, we need the check there as well.
1824
1825 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
1826
1827         * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
1828         determine safe copying direction for overlapping slice assignments
1829         when component is controlled.
1830
1831         * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
1832         formal derived type in the actual for a formal package are visible in
1833         the enclosing instance.
1834
1835 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
1836
1837         PR ada/15600
1838         * sem_util.adb (Trace_Components): Diagnose properly an illegal
1839         circularity involving a private type whose completion includes a
1840         self-referential component.
1841         (Enter_Name): Use Is_Inherited_Operation to distinguish a source
1842         renaming or an instantiation from an implicit derived operation.
1843
1844 2004-06-28  Pascal Obry  <obry@gnat.com>
1845
1846         * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
1847         DLL.
1848         (Library_File_Name_For): Idem.
1849
1850 2004-06-28  Matthew Gingell  <gingell@gnat.com>
1851
1852         * g-traceb.ads: Add explanatory note on the format of addresses
1853         expected by addr2line.
1854
1855 2004-06-28  Jerome Guitton  <guitton@act-europe.fr>
1856
1857         * Makefile.in: Force debugging information on s-tasdeb.adb,
1858         a-except.adb and s-assert.adb needed by the debugger.
1859
1860 2004-06-28  Vincent Celier  <celier@gnat.com>
1861
1862         * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
1863         Need_To_Build_Lib.
1864         (Gnatmake): Ditto.
1865
1866         * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
1867
1868         * prj.adb: Minor reformatting
1869         (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
1870
1871         * prj.ads: Comment updates
1872         Minor reformatting
1873         (Project_Data): Change Flag1 to Need_To_Build_Lib.
1874         Remove Flag2: not used.
1875
1876         * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
1877         declaration.
1878
1879         * gnat_ugn.texi: Put a "null;" declaration in one project file example
1880
1881         * gnat_rm.texi: Document Empty declarations "null;".
1882
1883         * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
1884         front of the linker options.
1885         (Link_Foreign): Put the global archives and the libraries in front of
1886         the linker options.
1887
1888 2004-06-28  Javier Miranda  <miranda@gnat.com>
1889
1890         * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
1891         (RTU_Loaded): Code cleanup
1892         (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
1893         withed predefined units.
1894
1895         * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
1896         explicitly withed predefined units.
1897         Fix typo in comment
1898
1899         * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
1900         explicitly withed predefined units.
1901
1902 2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1903
1904         * ada-tree.def (DECL_STMT): Deleted.
1905         * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
1906         (DECL_STMT_VAR): Deleted.
1907         * decl.c: add_decl_stmt now add_decl_expr.
1908         * gigi.h: Likewise.
1909         * trans.c: Likewise.
1910         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
1911         (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
1912         (add_stmt): Only handle padded type here.
1913         (add_stmt_with_node): Allow gnat_node to not be present.
1914         (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
1915         (gnat_gimplify_stmt, case DECL_STMT): Deleted.
1916         (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
1917         make a SAVE_EXPR for the entire fat pointer.
1918         * utils.c (pushdecl): Walk a DECL_EXPR in global case.
1919         (create_index_type): Make a DECL_EXPR.
1920         (end_subprog_body): Don't call allocate_struct_function here but
1921         do clear cfun.
1922
1923 2004-06-25  Pascal Obry  <obry@gnat.com>
1924
1925         * makegpr.adb (Build_Library): Remove parameter Lib_Address and
1926         Relocatable from Build_Dynamic_Library call.
1927
1928         * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
1929         Relocatable are now synonym.
1930
1931         * Makefile.in: Use s-parame-mingw.adb on MingW platform.
1932
1933         * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
1934         Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
1935         call.
1936
1937         * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
1938         Lib_Address and Relocatable.
1939         (Default_DLL_Address): Removed.
1940
1941         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
1942         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
1943         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
1944         (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
1945         (Default_DLL_Address): Removed.
1946
1947         * mlib-tgt-mingw.adb: Ditto.
1948         (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
1949
1950         * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
1951         the initial thread stack size.
1952
1953         * a-strmap.ads: Move package L to private part as it is not used in
1954         the spec. Found while reading code.
1955
1956 2004-06-25  Olivier Hainque  <hainque@act-europe.fr>
1957
1958         * tracebak.c: Introduce support for a GCC infrastructure based
1959         implementation of __gnat_backtrace.
1960
1961         * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
1962         any more. Use accessors instead. This eases maintenance and relaxes
1963         some alignment constraints.
1964         (_GNAT_Exception structure): Remove the Ada specific fields
1965         (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
1966         a-exexpr.adb.
1967         (is_handled_by, __gnat_eh_personality): Replace component references to
1968         exception structure by use of the new accessors.
1969
1970         * init.c (__gnat_initialize): Adjust comments to match the just
1971         reverted meaning of the -static link-time option.
1972
1973         * adaint.c (convert_addresses): Arrange not to define a stub for
1974         mips-irix any more, as we now want to rely on a real version from a
1975         recent libaddr2line.
1976
1977         * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
1978         the personality routine can use them and not have to rely on a C
1979         counterpart of the record anymore. This simplifies maintenance and
1980         relaxes the constraint of having Standard'Maximum_Alignment match
1981         BIGGEST_ALIGNMENT.
1982         Update comments, and add a section on the common header alignment issue.
1983
1984 2004-06-25  Geert Bosch  <bosch@gnat.com>
1985
1986         * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
1987         polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
1988
1989 2004-06-25  Robert Dewar  <dewar@gnat.com>
1990
1991         * gnat_rm.texi: Fix section on component clauses to indicate that the
1992         restriction on byte boundary placement still applies for bit packed
1993         arrays.
1994         Add comment on stack usage from Initialize_Scalars
1995
1996         * gnat_ugn.texi: Add documentation for -gnatyLnnn
1997
1998         * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
1999         limiting nesting level.
2000
2001         * usage.adb: Add line for -gnatyLnnn switch
2002
2003         * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
2004         sem_ch13.adb, exp_aggr.adb: Minor reformatting
2005
2006         * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
2007         type as well as on the subtype. This corrects a problem in freeze in
2008         setting alignments of atomic types.
2009
2010         * sem_eval.ads: Minor comment typo fixed
2011
2012         * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
2013         level.  Minor reformatting.
2014
2015         * fname.adb (Is_Predefined_File_Name): Require a letter after the
2016         minus sign. This means that file names like a--b.adb will not be
2017         considered predefined.
2018
2019         * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
2020         record Test new flag and give diagnostic for bad component clause.
2021         (Freeze_Entity): Set alignment of array from component alignment in
2022         cases where this is safe to do.
2023
2024         * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
2025         arrays.
2026
2027         * cstand.adb: (Create_Standard): Set alignment of String to 1
2028
2029         * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
2030
2031         * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
2032         code in the common constrained array cases.
2033
2034         * a-storio.adb: Change implementation to avoid possible alignment
2035         problems on machines requiring strict alignment (data should be moved
2036         as type Buffer, not type Elmt).
2037
2038         * checks.adb (Apply_Array_Size_Check): Improve these checks by
2039         killing the overflow checks which we really do not need (64-bits is
2040         enough).
2041
2042 2004-06-25  Vincent Celier  <celier@gnat.com>
2043
2044         * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
2045         (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
2046         inconditionally for the main project.
2047         (Recursive_Add_Archives.Add_Archive_Path): New procedure
2048         (Link_Executables.Check_Time_Stamps): New procedure
2049         (Link_Executables.Link_Foreign): New procedure
2050         Changes made to reduce nesting level of this package
2051         (Check): New procedure
2052         (Add_Switches): When not in quiet output, check that a switch is not
2053         the concatenation of several valid switches. If it is, issue a warning.
2054         (Build_Global_Archive): If the global archive is rebuilt, linking need
2055         to be done.
2056         (Compile_Sources): Rebuilding a library archive does not imply
2057         rebuilding the global archive.
2058         (Build_Global_Archive): New procedure
2059         (Build_Library): New name for Build_Archive, now only for library
2060         project
2061         (Check_Archive_Builder): New procedure
2062         (Create_Global_Archive_Dependency_File): New procedure
2063         (Gprmake): Call Build_Global_Archive before linking
2064         * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
2065         throughout.
2066         (Scan_Arg): Display the Copyright notice when -v is used
2067
2068         * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
2069         for gnatls.
2070
2071         * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
2072         COMPILE.
2073         Add new GNAT LIST qualifier /FILES=
2074         Added qualifier /DIRECTORY= to GNAT METRIC
2075         Added qualifier /FILES= to GNAT METRIC
2076         Added qualifier /FILES to GNAT PRETTY
2077
2078         * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
2079         to take into account both versions of the switch.
2080
2081         * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
2082         always be the last switch to the gcc driver. Disable switch storing so
2083         that switches automatically added by the gcc driver are not put in the
2084         ALI file.
2085
2086         * prj.adb (Project_Empty): Take into account changes in components of
2087         Project_Data.
2088
2089         * prj.ads (Languages_Processed): New enumaration value All_Languages.
2090
2091         * prj.ads (Project_Data): Remove component Lib_Elaboration: never
2092         used. Split Boolean component Ada_Sources_Present in two Boolean
2093         components Ada_Sources_Present and Other_Sources_Present.
2094         Minor reformatting
2095
2096         * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
2097         instead of Sources_Present.
2098         (Set_Ada_Paths.Add.Recursive_Add): Ditto
2099
2100         * prj-nmsc.adb: Minor reformatting
2101         (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
2102         (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
2103         Check_Ada_Naming_Scheme.
2104         Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
2105         throughout.
2106
2107         * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
2108         In_Limited.
2109         Make sure that all cycles where there is at least one "limited with"
2110         are detected.
2111         (Parse_Single_Project): New Boolean parameter In_Limited
2112
2113         * prj-proc.adb (Recursive_Check): When Process_Languages is
2114         All_Languages, call first Prj.Nmsc.Ada_Check, then
2115         Prj.Nmsc.Other_Languages_Check.
2116
2117         * prj-proc.adb (Process): Use Ada_Sources_Present or
2118         Other_Sources_Present (instead of Sources_Present) depending on
2119         Process_Languages.
2120
2121         * lang-specs.h: Keep -g and -m switches in the same order, and as the
2122         last switches.
2123
2124         * lib.adb (Switch_Storing_Enabled): New global Boolean flag
2125         (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
2126         False.
2127         (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
2128         False.
2129
2130         * lib.ads (Disable_Switch_Storing): New procedure.
2131
2132         * make.adb: Modifications to reduce nesting level of this package.
2133         (Check_Standard_Library): New procedure
2134         (Gnatmake.Check_Mains): New procedure
2135         (Gnatmake.Create_Binder_Mapping_File): New procedure
2136         (Compile_Sources.Compile): Add switch -gnatez as the last option
2137         (Display): Never display -gnatez
2138
2139         * Makefile.generic:
2140         When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
2141
2142         * gnatcmd.adb (Check_Project): New function
2143         (Process_Link): New procedure to reduce nesting depth
2144         (Check_Files): New procedure to reduce the nesting depth.
2145         For GNAT METRIC, include the inherited sources in extending projects.
2146         (GNATCmd): When GNAT LS is invoked with a project file and no files,
2147         add the list of files from the sources of the project file. If this list
2148         is too long, put it in a temp text files and use switch -files=
2149         (Delete_Temp_Config_Files): Delete the temp text file that contains
2150         a list of source for gnatpp or gnatmetric, if one has been created.
2151         (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
2152         in the project file is too large, create a temporary text file that
2153         list them and pass it to the tool with "-files=<temp text file>".
2154         (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
2155
2156         * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
2157         generated file is in not in Ada.
2158
2159         * gnatls.adb: Remove all parameters And_Save that are no longer used.
2160         (Scan_Ls_Arg): Add processing for -files=
2161         (Usage): Add line for -files=
2162
2163         * g-os_lib.adb (On_Windows): New global constant Boolean flag
2164         (Normalize_Pathname): When on Windows and the path starts with a
2165         directory separator, make sure that the resulting path will start with
2166         a drive letter.
2167
2168         * clean.adb (Clean_Archive): New procedure
2169         (Clean_Project): When there is non-Ada code, delete the global archive,
2170         the archive dependency files, the object files and their dependency
2171         files, if they exist.
2172         (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
2173
2174 2004-06-25  Thomas Quinot  <quinot@act-europe.fr>
2175
2176         * sinfo.ads: Fix typo in comment.
2177
2178         * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
2179         the TSS for remote access-to-subprogram types, since these TSS are
2180         always present once the type has been analyzed.
2181         (RAS_E_Dereference): Same.
2182
2183         * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
2184         reference raises Bad_Attribute, mark the reference as analyzed so the
2185         node (and any children resulting from rewrites that could have occurred
2186         during the analysis that ultimately failed) is not analyzed again.
2187
2188         * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
2189
2190         * exp_dist.adb: Minor comment fix.
2191
2192         * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
2193         type is an anonymous access type, no unchecked deallocation of the
2194         allocated object can occur. If the object is controlled, attach it with
2195         a count of 1. This allows attachment to the Global_Final_List, if
2196         no other relevant list is available.
2197         (Get_Allocator_Final_List): For an anonymous access type that is
2198         the type of a discriminant or record component, the corresponding
2199         finalisation list is the one of the scope of the type.
2200
2201 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
2202
2203         * sem_ch3.adb (Replace_Type): When computing the signature of an
2204         inherited subprogram, use the first subtype if the derived type
2205         declaration has no constraint.
2206
2207         * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
2208         before applying previous optimization. Minor code cleanup.
2209
2210         * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
2211         placed at the beginning of an unpacked record without explicit
2212         alignment, a slice of it will be aligned and does not need a copy when
2213         used as an actual.
2214
2215 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
2216
2217         PR ada/15591
2218         PR ada/15592
2219         * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
2220         reference is written with expressions mimicking parameters.
2221
2222 2004-06-25  Hristian Kirtchev  <kirtchev@gnat.com>
2223
2224         PR ada/15589
2225         * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
2226         STEP 2a. The constraints of a full type declaration of a derived record
2227         type are checked for conformance with those declared in the
2228         corresponding private extension declaration. The message
2229         "not conformant with previous declaration" is emitted if an error is
2230         detected.
2231
2232 2004-06-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
2233
2234         * g-traceb.ads: Document the need for -E binder switch in the spec.
2235
2236         * g-trasym.ads: Document the need for -E binder switch in the spec.
2237
2238 2004-06-25  Jose Ruiz  <ruiz@act-europe.fr>
2239
2240         * sem_prag.adb: Add handling of pragma Detect_Blocking.
2241
2242         * snames.h, snames.ads, snames.adb: Add entry for pragma
2243         Detect_Blocking.
2244
2245         * s-rident.ads: Change reference to pragma Detect_Blocking.
2246
2247         * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
2248         system.ads.
2249
2250         * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
2251         to indicate whether pragma Detect_Blocking is active.
2252
2253         * par-prag.adb: Add entry for pragma Detect_Blocking.
2254
2255         * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
2256         of not handling WITH.
2257         Note that this replaces the previous update which was incorrect.
2258
2259 2004-06-25  Javier Miranda  <miranda@gnat.com>
2260
2261         * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
2262         use-clauses to have a clean environment.
2263
2264         * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
2265         the installation of the use-clauses to stablish a clean environment in
2266         case of compilation of a separate unit; otherwise the call to
2267         use_one_package is protected by the barrier Applicable_Use.
2268
2269         * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
2270         the installation of the use-clauses to stablish a clean environment in
2271         case of compilation of a separate unit.
2272         (End_Use_Clauses): Minor comment cleanup.
2273
2274 2004-06-25  Sergey Rybin  <rybin@act-europe.fr>
2275
2276         * gnat_ugn.texi: Add description of the gnatpp 'files' switch
2277
2278 2004-06-23  Richard Henderson  <rth@redhat.com>
2279
2280         * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
2281
2282 2004-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2283
2284         * decl.c (elaborate_expression, elaborate_expression_1): Arguments
2285         now bool instead of int.
2286         (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
2287         * trans.c (gnu_switch_label_stack): New function.
2288         (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
2289         elaboration of renamed entity returns.
2290         (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
2291         (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
2292         (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
2293         (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
2294         DECL_SIZE_UNIT and simplify variable-sized case.
2295         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
2296         Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
2297         (gnat_stabilize_reference): Add arg to COMPONENT_REF.
2298         (build_unit_elab): Disable for now.
2299         * utils.c (mark_visited): New function.
2300         (pushdecl): Walk tree to call it for global decl.
2301         (update_pointer_to): Update all variants of pointer and ref types.
2302         Add arg to COMPONENT_REF.
2303         (convert): Likewise.
2304         Move check for converting between variants lower down.
2305         * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
2306         (build_allocator): Don't force type of MODIFY_EXPR.
2307         (gnat_mark_addressable, case VAR_DECL): Unconditionally call
2308         put_var_into_stack.
2309
2310 2004-06-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2311
2312         * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
2313         * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
2314         * decl.c (gnat_to_gnu_entity): Also set force_global for imported
2315         subprograms.
2316         * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
2317         all callers changed.
2318         (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
2319         the way that EXIT_STMT finds the loop label.
2320         (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
2321         (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
2322         (add_stmt): Use annotate_with_locus insted of setting directly.
2323         (pos_to_construct): Set TREE_PURPOSE of each entry to index.
2324         (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
2325         * utils.c (gnat_install_builtins): Install __builtin_memcmp.
2326         (build_vms_descriptor): Add extra args to ARRAY_REF.
2327         (convert): Use VIEW_CONVERT_EXPR between aggregate types.
2328         * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
2329         New cases.
2330         (build_binary_op): Don't make explicit CONVERT_EXPR.
2331         Add extra rgs to ARRAY_REF.
2332
2333 2004-06-14  Pascal Obry  <obry@gnat.com>
2334
2335         * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
2336         Windows.  Fix minor typo.
2337
2338         * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
2339         which is now supported on Windows. With this implementation using the
2340         Library Project feature is no different on Windows than on UNIX.
2341
2342 2004-06-14  Vincent Celier  <celier@gnat.com>
2343
2344         * makegpr.adb (Compile_Sources): Nothing to do when there are no
2345         non-Ada sources.
2346
2347         * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
2348
2349         * prj-part.adb (Parse_Single_Project): When a duplicate project name is
2350         found, show the project name and the path of the previously parsed
2351         project file.
2352
2353 2004-06-14  Ed Schonberg  <schonberg@gnat.com>
2354
2355         * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
2356         array, avoid copying the actual before the call.
2357
2358 2004-06-14  Thomas Quinot  <quinot@act-europe.fr>
2359
2360         * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
2361         Instead, allocate memory on worst-case alignment assumptions, and then
2362         return an aligned address within the allocated zone.
2363
2364 2004-06-14  Robert Dewar  <dewar@gnat.com>
2365
2366         * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
2367         elab entities in predefined units in No_Run_Time_Mode.
2368         (Gen_Adainit_C): Same fix
2369         (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
2370         units in No_Run_Time_Mode
2371         (Gen_Elab_Calls_C): Same fix
2372
2373         * symbols-vms-alpha.adb: Minor reformatting
2374
2375         * g-debpoo.ads: Minor reformatting
2376
2377         * lib.adb (In_Same_Extended_Unit): Version working on node id's
2378
2379         * lib.ads (In_Same_Extended_Unit): Version working on node id's
2380
2381         * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
2382         working on nodes.
2383
2384         * make.adb: Minor reformatting
2385
2386         * par-ch12.adb: Minor reformatting
2387
2388         * par-prag.adb: Add dummy entry for pragma Profile_Warnings
2389
2390         * prj-strt.adb: Minor reformatting
2391
2392         * restrict.ads, restrict.adb: Redo handling of profile restrictions to
2393         be more general.
2394
2395         * sem_attr.adb: Minor reformatting
2396
2397         * sem_ch7.adb: Minor reformatting
2398
2399         * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
2400         for type in the same unit as the object declaration.
2401
2402         * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
2403         static string expressions and not just string literals.
2404         Minor reformatting
2405         (Set_Warning): Reset restriction warning flag for restriction pragma
2406         Implement pragma Profile_Warnings
2407         Implement pragma Profile (Restricted)
2408         Give obolescent messages for old restrictions and pragmas
2409
2410         * snames.h, snames.ads, snames.adb: Add new entry for pragma
2411         Profile_Warnings.
2412
2413         * s-rident.ads: Add declarations for restrictions required by profile
2414         Restricted and profile Ravenscar.
2415
2416         * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
2417
2418         * gnat_ugn.texi: Correct some missing entries in the list of GNAT
2419         configuration pragmas.
2420
2421 2004-06-11  Vincent Celier  <celier@gnat.com>
2422
2423         * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
2424         gnatsym, when symbol policy is Restricted.
2425
2426         * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
2427         gnatsym, when symbol policy is Restricted.
2428
2429         * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
2430         read the symbol file.
2431         (Finalize): Fail in symbol policy Restricted if a symbol in the original
2432         symbol file is not in the object files. Do not create a new symbol file
2433         when symbol policy is Restricted.
2434
2435         * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
2436         in Scng.
2437
2438         * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
2439         Restricted.
2440         (Usage): Line for new switch -R
2441
2442         * make.adb (Initialize): When the platform is not VMS, add the
2443         directory where gnatmake is invoked in the front of the path, if
2444         gnatmake is invoked with directory information.  Change the Scan_Args
2445         while loop to a for loop.
2446         (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
2447         if Depth is equal or greater than the proposed depth, there is nothing
2448         to do.
2449         (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
2450         instead of 0.
2451
2452         * prj.ads: Add new symbol policy Restricted.
2453
2454         * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
2455         with the new parameters Check_All_Labels and Case_Location.
2456
2457         * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
2458         (Library_Symbol_File needs to be defined).
2459
2460         * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
2461         and Case_Location If Check_All_Labels is True, check that all values of
2462         the string type are used, and output warning(s) if they are not.
2463
2464         * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
2465         and Case_Location.
2466
2467         * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
2468
2469         * gnat_ugn.texi: Update documentation about the library directory in
2470         Library Projects.
2471
2472         * makegpr.adb (Display_Command): In verbose mode, also display the
2473         value of the CPATH env var, when the compiler is gcc.
2474         (Initialize): Change the Scan_Args while loop to a for loop
2475         (Compile_Individual_Sources): Change directory to object directory
2476         before compilations.
2477
2478         * symbols.ads: New symbol policy Restricted.
2479
2480 2004-06-11  Olivier Hainque  <hainque@act-europe.fr>
2481
2482         * a-except.adb (Raise_After_Setup family): Remove. The responsibility
2483         is now taken care of internally in the Exception_Propagation package
2484         and does not require clients assistance any more.
2485
2486         * a-exexpr.adb (Is_Setup_And_Not_Propagated,
2487         Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
2488         functions. Helpers to maintain a predicate required in the handling of
2489         occurrence transfer between tasks.
2490         This is now handled internally and does not require clients assistance
2491         for the setup/propagate separation anymore.
2492         (Setup_Exception, Propagate_Exception): Simplify the Private_Data
2493         allocation strategy, handle the Setup_And_Not_Propagated predicate and
2494         document.
2495
2496         * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
2497         raise_after_setup, now that everything is handled internally within the
2498         setup/propagation engine.
2499
2500 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
2501
2502         * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
2503         Add additional conditions for the case of an actual being a simple
2504         name or literal. Improve inlining by preventing the generation
2505         of temporaries with a short lifetime (one use).
2506
2507 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
2508
2509         PR ada/15587
2510
2511         * einfo.ads: Minor comment updates for Has_Completion and
2512         E_Constant list of flags.
2513
2514         * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
2515         and constant redeclarations now set the Has_Completion flag of their
2516         defining identifiers.
2517
2518         * sem_ch7.adb (Analyze_Package_Spec): Add procedure
2519         Inspect_Deferred_Constant_Completion.
2520         Used to detect private deferred constants that have not been completed
2521         either by a constant redeclaration or pragma Import. Emits error message
2522         "constant declaration requires initialization expression".
2523
2524         * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
2525         completes a deferred constant.
2526
2527 2004-06-11  Geert Bosch  <bosch@gnat.com>
2528
2529         * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
2530
2531         * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
2532         calculating exponent for scaling denormal numbers.
2533         (Leading_Part): Properly raise Constraint_Error for zero or negative
2534         Adjustment.
2535         (Remainder): Properly raise Constraint_Error for zero divisor.
2536
2537 2004-06-11  Thomas Quinot  <quinot@act-europe.fr>
2538
2539         * sem_util.adb: Minor reformatting.
2540
2541         * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
2542         dereference when accessing the entry parameter record.
2543         (Check_Array_Type): Always check for possible implicit dereference.
2544         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
2545         Abort if a pointer is still present (denoting that an implicit
2546         dereference was left in the tree by the front-end).
2547
2548         * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
2549         dereference when accessing the entry parameter record.
2550         (Check_Array_Type): Always check for possible implicit dereference.
2551         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
2552         Abort if a pointer is still present (denoting that an implicit
2553         dereference was left in the tree by the front-end).
2554
2555 2004-06-11  Emmanuel Briot  <briot@act-europe.fr>
2556
2557         * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
2558         message, like the compiler itself does. Easier to parse the output.
2559
2560         * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
2561
2562         * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
2563         be base names, and not includes directories.
2564
2565 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
2566
2567         * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
2568         so that dependencies are properly taken into account by make.
2569
2570 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
2571
2572         PR ada/15622
2573         * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
2574         exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
2575
2576 2004-06-11  Jerome Guitton  <guitton@act-europe.fr>
2577
2578         * Makefile.in (install-gnatlib): install target-specific run-time files.
2579
2580         * Make-lang.in: Remove obsolete targets.
2581
2582 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
2583
2584         * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
2585         specification, to catch misuses of program unit names.
2586
2587         * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
2588         superfluous conversions in an instance.
2589
2590 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
2591
2592         PR ada/15403
2593
2594         * sem_ch12.adb (Save_References): If operator node has been folded to
2595         enumeration literal, associated_node must be discarded.
2596
2597 2004-06-11  Jose Ruiz  <ruiz@act-europe.fr>
2598
2599         * s-stchop-vxworks.adb: Add required pragma Convention to
2600         Task_Descriptor because it is updated by a C function.
2601
2602 2004-06-08  Arnaud Charlet  <charlet@act-europe.fr>
2603
2604         PR ada/15568
2605
2606         * Makefile.in: Remove target specific SO_OPT on IRIX
2607
2608 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2609
2610         * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
2611         (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
2612         (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
2613         (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
2614         (STMT_STMT, USE_STMT): New statement codes.
2615         (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
2616         * ada-tree.h: Reflect above changes.
2617         (struct tree_loop_id): Deleted.
2618         (union lang_tree_node, struct lang_decl, struct lang_type):
2619         Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
2620         and DECL_LANGUAGE_SPECIFIC to reflect these changes.
2621         (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
2622         (IS_ADA_STMT): New macro.
2623         * decl.c (annotate_decl_with_node): New function.
2624         (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
2625         (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
2626         Call add_stmt_with_node to do needed assignments.
2627         Add call to update setjmp buffer directly, not via EXPR_STMT.
2628         (maybe_variable): Argment GNAT_NODE deleted.
2629         * gigi.h (maybe_variable): Likewise.
2630         (make_transform, add_stmt_with_node, set_block_for_group): New.
2631         (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
2632         (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
2633         (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
2634         (set_lineno, set_lineno_from_sloc): Likewise.
2635         (record_code_position, insert_code_for): Likewise.
2636         (gnat_poplevel): Now returns void.
2637         (end_subprog_body): Now takes argument.
2638         * misc.c (cgraph.h, tree-inline.h): New includes.
2639         (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
2640         (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
2641         (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
2642         (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
2643         (gnat_parse_file): Don't set immediate_size_expand.
2644         Call cgraph functions.
2645         (gnat_expand_expr): Remove most cases.
2646         (record_code_position, insert_code_for): Remove from here.
2647         * trans.c (toplev.h, tree-gimple.h): Now included.
2648         (discard_file_names): Deleted.
2649         (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
2650         (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
2651         (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
2652         (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
2653         (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
2654         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
2655         (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
2656         (set_block_for_group, add_stmt_list): Likewise.
2657         (start_stmt_group): Renamed from start_block_stmt.
2658         (end_stmt_group): Likewise, from end_block_stmt.
2659         (build_stmt_group): Likewise, from build_block_stmt, also add arg.
2660         (gigi): Don't set discard_file_names or call set_lineno.
2661         Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
2662         (tree_transform): Deleted, now renamed to be gnat_to_gnu.
2663         Numerous changes throughout to reflect new names and complete
2664         function-at-a-time implementation.
2665         (gnat_expand_stmt): Delete or comment out all cases.
2666         (process_inlined_subprograms): Use add_stmt.
2667         (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
2668         call set_lineno; also remove unneeded block handling.
2669         (process_type): Remove unneeded block handling.
2670         (build_unit_elab): Remove calls to deleted functions.
2671         * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
2672         (tree-dump.h): Likewise.
2673         (struct ada_binding_level): Add field jmpbuf_decl.
2674         (gnat_define_builtin, gnat_install_builtins): New.
2675         (gnat_gimplify_function, gnat_finalize): Likewise.
2676         (gnat_poplevel): No longer return BLOCK, set it instead.
2677         Remove code dealing with nested functions.
2678         (gnat_init_decl_processing): Also set size_type_node.
2679         Call gnat_install_builtins.
2680         (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
2681         (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
2682         Remove special-case for "main".
2683         (end_subprog_body): Add arg and rework for tree-ssa.
2684         (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
2685         Add case for BOOLEAN_TYPE.
2686         * utils2.c (rtl.h): Now include.
2687         (build_call_raise): Test Debug_Flag_NN directly.
2688         (build_call_alloc_dealloc): Don't use local stack allocation for now.
2689         (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
2690         (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
2691
2692 2004-06-07  Robert Dewar  <dewar@gnat.com>
2693
2694         * a-direct.ads, einfo.ads: Minor comment updates
2695
2696         * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
2697         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
2698         s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
2699         s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
2700         s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
2701
2702         * s-interr-sigaction.adb: Remove unreferenced variable
2703         (Attached_Interrupts).  Minor reformatting.
2704         Avoid use of variable I (replace by J).
2705
2706         * par-ch10.adb: Fix text of one error message
2707
2708         * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
2709         exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
2710         exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
2711         opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
2712         par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
2713         par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
2714         sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
2715         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
2716         sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
2717         sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
2718         snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
2719         2005 support.
2720
2721 2004-06-07  Doug Rupp  <rupp@gnat.com>
2722
2723         * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
2724
2725         * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
2726
2727         * mlib-tgt-vms-ia64.adb: New file.
2728
2729         * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
2730         Add mlib-tgt-vms-ia64.adb
2731         Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
2732         Move to alpha specific ifeq section.
2733         Add VMS specific versions of symbols.adb
2734         Renaming of 5q vms files.
2735
2736         * 5qsystem.ads renamed to system-vms_64.ads.
2737
2738 2004-06-07  Vincent Celier  <celier@gnat.com>
2739
2740         * a-calend.ads: Add a GNAT Note comment after function Time_Of to
2741         explain that when a time of day corresponding to the non existing hour
2742         on the day switching to DST is specified, Split may return a different
2743         value for Seconds.
2744
2745         * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
2746         to GNAT PRETTY.
2747
2748         * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
2749         (Normalize_Pathname): Only resolve VMS logical names when on VMS.
2750
2751         * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
2752         to False.
2753         If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
2754         the linking options.
2755         (Build_Library.Check_Libs): On VMS, if there is a dependency on
2756         g-trasym.ads, set Gtrasymobj_Needed to True.
2757
2758         * prj-attr.adb: Add new package Metrics for gnatmetric
2759
2760         * prj-nmsc.adb (Record_Other_Sources): Put source file names in
2761         canonical case to take into account files with upper case characters on
2762         Windows.
2763         (Ada_Check): Load the reference symbol file name in the name buffer to
2764         check it, not the symbol file name.
2765
2766         * snames.ads, snames.adb: Add standard name Metrics (name of project
2767         file package for gnatmetric).
2768
2769         * vms_conv.ads: Add Metric to Comment_Type
2770
2771         * vms_conv.adb (Initialize): Add component dor Metric in Command_List
2772
2773         * vms_data.ads: Add qualifiers for GNAT METRIC
2774
2775         * makegpr.adb (Link_Executables): Take into account the switches
2776         specified in package Linker of the main project.
2777
2778 2004-06-07  Thomas Quinot  <quinot@act-europe.fr>
2779
2780         * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
2781         the index of the last element is Units.Last, not Units.Table'Last
2782         (which is usually not a valid index within the actually allocated
2783         storage for the table).
2784
2785         * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
2786         determines whether to generate a call to a checked storage pool
2787         Dereference action.
2788         Generate such a call only for a dereference that either comes from
2789         source, or is the result of rewriting a dereference that comes from
2790         source.
2791
2792 2004-06-07  Romain Berrendonner  <berrendo@act-europe.fr>
2793
2794         * bindgen.adb (Gen_Output_File): Add support for GAP builds.
2795
2796 2004-06-07  Eric Botcazou  <ebotcazou@act-europe.fr>
2797
2798         (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
2799         file level, elaborate the stride for inner dimensions in alignment
2800         units, not bytes.
2801
2802         * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
2803         in a comment.
2804
2805 2004-06-07  Javier Miranda  <miranda@gnat.com>
2806
2807         * exp_ch6.adb: Correct wrong modification in previous patch
2808
2809 2004-06-07  Vasiliy Fofanov  <fofanov@act-europe.fr>
2810
2811         * g-trasym.ads: Corrected comment to properly reflect level of support
2812         on VMS.
2813
2814 2004-06-07  Hristian Kirtchev  <kirtchev@gnat.com>
2815
2816         * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
2817         includes case of a variable referenced on the left hand side of an
2818         assignment, therefore remove redundant code. Variables and prefixes of
2819         indexed or selected components are now marked as referenced on left
2820         hand side. Warnings are now properly emitted when variables or prefixes
2821         are assigned but not read.
2822
2823         * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
2824         left hand side referenced variables. Private access types do not
2825         produce the warning "variable ... is assigned but never read".
2826         Add also additional checks to left hand side referenced variables.
2827         Aliased, renamed objects and access types do not produce the warning
2828         "variable ... is assigned but never read" since other entities may read
2829         the memory location.
2830
2831 2004-06-07  Jerome Guitton  <guitton@act-europe.fr>
2832
2833         * Makefile.in: In the powerpc/vxworks-specific section, restore
2834         EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
2835         by mistake).
2836
2837 2004-06-07  Ed Schonberg  <schonberg@gnat.com>
2838
2839         * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
2840         predefined operators.
2841         Removes spurious type errors from g-trasym-vms.adb.
2842
2843         * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
2844         distinct from the operator appearing in the source, call appropriate
2845         routine to insert conversions when needed, and complete resolution of
2846         node.
2847         (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
2848         interpretations for rewritten right operand.
2849         (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
2850         the other operand is overloaded and the context is a type conversion.
2851
2852 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2853
2854         * ada-tree.def (BLOCK_STMT): Now has two operands.
2855         (BREAK_STMT): New.
2856
2857         * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
2858
2859         * gigi.h: (gnat_poplevel): Now returns a tree.
2860
2861         * trans.c (end_block_stmt): Add arg; all callers changed.
2862         (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
2863         (start_block_stmt): Clear BLOCK_STMT_BLOCK.
2864         (add_stmt): Set TREE_TYPE.
2865         (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
2866         (gnat_expand_stmt, case BREAK_STMT): New case.
2867
2868         * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
2869
2870 2004-06-07  Jose Ruiz  <ruiz@act-europe.fr>
2871
2872         * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
2873         procedure Set_Stack_Size that is not needed.
2874
2875 2004-06-07  Sergey Rybin  <rybin@act-europe.fr>
2876
2877         * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
2878         used for gnatpp input file and for the files upon which it depends
2879
2880 2004-06-07  Ben Brosgol  <brosgol@gnat.com>
2881
2882         * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
2883
2884 2004-06-07  Arnaud Charlet  <charlet@act-europe.fr>
2885
2886         * gnatvsn.ads: Bump version numbers appropriately.
2887         Add new build type.
2888
2889 2004-06-07  Pascal Obry  <obry@gnat.com>
2890
2891         * gnat_ugn.texi: Improve comments about imported names and link names
2892         on Windows. Add a note about the requirement to use -k gnatdll's option
2893         when working with a DLL which has stripped stdcall symbols (no @nn
2894         suffix).
2895
2896 2004-05-27  Vincent Celier  <celier@gnat.com>
2897
2898         * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
2899         COMMENTS_LAYOUT=UNTOUCHED
2900
2901         * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
2902         symbols-vms-alpha.adb
2903
2904 2004-05-27  Thomas Quinot  <quinot@act-europe.fr>
2905
2906         * sem.ads: Clarify documentation on checks suppression.
2907
2908         * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
2909
2910 2004-05-27  Ed Schonberg  <schonberg@gnat.com>
2911
2912         * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
2913         the case of multiple derivations.
2914         (Is_Object_Reference): For a selected component, verify that the prefix
2915         is itself an object and not a value.
2916
2917         * sem_ch12.adb (Same_Instantiated_Constant): New name for
2918         Same_Instantiated_Entity.
2919         (Same_Instantiated_Variable): Subsidiary to
2920         Check_Formal_Package_Instance, to recognize actuals for in-out generic
2921         formals that are obtained from a previous formal package.
2922         (Instantiate_Subprogram_Body): Emit proper error when
2923         generating code and the proper body of a stub is missing.
2924
2925         * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
2926         has a universal interpretation, do the disambiguation here.
2927
2928         * exp_ch4.adb (Expand_N_Type_Conversion,
2929         Expand_N_Unchecked_Type_Conversion): Special handling when target type
2930         is Address, to avoid typing anomalies when Address is a visible integer
2931         type.
2932
2933         * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
2934         to determine whether a subprogram should not be marked Pure, even when
2935         declared in a pure package.
2936
2937 2004-05-27  Jose Ruiz  <ruiz@act-europe.fr>
2938
2939         * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
2940
2941         * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
2942         Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
2943         Update the documentation about the Ravenscar profile, following the
2944         definition found in AI-249.
2945
2946         * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
2947         setting the Profile (Ravenscar). This must be done in addition to
2948         setting the required restrictions.
2949
2950         * rtsfind.ads: Add the set of operations defined in package
2951         Ada.Interrupts.
2952
2953         * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
2954         restriction.
2955
2956 2004-05-27  Eric Botcazou  <ebotcazou@act-europe.fr>
2957
2958         lang-specs.h: Always require -c or -S and always redirect to /dev/null
2959         if -gnatc or -gnats is passed.
2960
2961 2004-05-27  Hristian Kirtchev  <kirtchev@gnat.com>
2962
2963         * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
2964         a significant reference. Warnings are now properly emitted when a
2965         discriminated type is not referenced.
2966
2967         * lib-xref.adb (Generate_Reference): A deferred constant completion,
2968         record representation clause or record type discriminant does not
2969         produce a reference to its corresponding entity. Warnings are now
2970         properly emitted when deferred constants and record types are not
2971         referenced.
2972
2973 2004-05-27  Geert Bosch  <bosch@gnat.com>
2974
2975         * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
2976         Fixes ACATS Annex G tests.
2977
2978 2004-05-27  Robert Dewar  <dewar@gnat.com>
2979
2980         * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
2981         handling WITH
2982
2983 2004-05-27  Arnaud Charlet  <charlet@act-europe.fr>
2984
2985         * s-interr.adb (Server_Task): Take into account case of early return
2986         from sigwait under e.g. linux.
2987
2988 2004-05-27  Sergey Rybin  <rybin@act-europe.fr>
2989
2990         * gnat_ugn.texi: Add description for the new gnatpp options:
2991          -rnb - replace the original source without creating its backup copy
2992          -c0 - do not format comments
2993
2994 2004-05-24  Geert Bosch  <bosch@gnat.com>
2995
2996         * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
2997         with 192 bits of precision, sufficient to reduce a double-extended
2998         arguments X with a maximum relative error of T'Machine_Epsilon, for X
2999         in -2.0**32 .. 2.0**32.
3000         (Cos, Sin):  Always reduce arguments of 1/4 Pi or larger, to prevent
3001         reduction by the processor, which only uses a 68-bit approximation of
3002         Pi.
3003         (Tan): Always reduce arguments and compute function either using
3004         the processor's fptan instruction, or by dividing sin and cos as needed.
3005
3006 2004-05-24  Doug Rupp  <rupp@gnat.com>
3007
3008         * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
3009         gcc error on 32/64 bit VMS.
3010
3011 2004-05-24  Olivier Hainque  <hainque@act-europe.fr>
3012
3013         * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
3014         since this is what we get for stack overflows although not documented
3015         as such.
3016         Document the issues which may require adjustments to our signal
3017         handlers.
3018
3019 2004-05-24  Ed Schonberg  <schonberg@gnat.com>
3020
3021         * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
3022         enclosing dynamic scope if the instantiation is within a generic unit.
3023
3024 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
3025
3026         * exp_dbug.ads: Fix typo.
3027
3028         * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
3029         Rename it to its proper name: system-linux-ia64.ads
3030         (stamp-gnatlib1): Remove extra target specific run time files when
3031         setting up the rts directory.
3032
3033 2004-05-24  Javier Miranda  <miranda@gnat.com>
3034
3035         * einfo.ads, einfo.adb (Limited_Views): Removed.
3036         (Limited_View): New attribute that replaces the previous one. It is
3037         now a bona fide package with the limited-view list through the
3038         first_entity and first_private attributes.
3039
3040         * sem_ch10.adb (Install_Private_With_Clauses): Give support to
3041         limited-private-with clause.
3042         (Install_Limited_Withed_Unit): Install the private declarations of a
3043         limited-private-withed package. Update the installation of the shadow
3044         entities according to the new structure (see Build_Limited_Views)
3045         (Build_Limited_Views): Replace the previous implementation of the
3046         limited view by a package entity that references the first shadow
3047         entity plus the first shadow private entity (required for limited-
3048         private-with clause)
3049         (New_Internal_Shadow_Entity): Code cleanup.
3050         (Remove_Limited_With_Clause): Update the implementation to undo the
3051         new work carried out by Build_Limited_Views.
3052         (Build_Chain): Complete documentation.
3053         Replace Ada0Y by Ada 0Y in comments
3054         Minor reformating
3055
3056         * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
3057         types the level of accessibility depends on the enclosing type
3058         declaration.
3059
3060         * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
3061         entities. Complete documentation of previous change.
3062
3063 2004-05-24  Robert Dewar  <dewar@gnat.com>
3064
3065         * namet.adb: Minor reformatting
3066         Avoid use of name I (replace by J)
3067         Minor code restructuring
3068
3069         * sem_ch6.adb: Minor reformatting
3070
3071         * lib-writ.adb: Do not set restriction as active if this is a
3072         Restriction_Warning case.
3073
3074         * sem_prag.adb: Reset restriction warning flag if real pragma
3075         restriction encountered.
3076
3077         * s-htable.adb: Minor reformatting
3078         Change rotate count to 3 in Hash (improves hash for small strings)
3079
3080         * 5qsystem.ads: Add comments for type Address (no literals allowed).
3081
3082         * gnat_ugn.texi: Add new section of documentation "Code Generation
3083         Control", which describes the use of -m switches.
3084
3085 2004-05-24  Eric Botcazou  <ebotcazou@act-europe.fr>
3086
3087         trans.c (tree_transform) <N_Identifier>: Do the dereference directly
3088         through the DECL_INITIAL for renamed variables.
3089
3090 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
3091
3092         * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
3093
3094 2004-05-19  Joel Brobecker  <brobecker@gnat.com>
3095
3096         * exp_dbug.ads: Correct comments concerning handling of overloading,
3097         since we no longer use $ anymore.
3098
3099 2004-05-19  Sergey Rybin  <rybin@act-europe.fr>
3100
3101         * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
3102         ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
3103         with illegal subunits.
3104
3105 2004-05-19  Ed Schonberg  <schonberg@gnat.com>
3106
3107         * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
3108         body with front-end inlining enabled, check whether an inline pragma
3109         appears immediately after the body and applies to it.
3110
3111         * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
3112         enabled and the pragma appears after the body of the subprogram.
3113
3114 2004-05-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3115
3116         Part of function-at-a-time conversion
3117
3118         * misc.c (adjust_decl_rtl): Deleted.
3119         (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
3120         Define.
3121
3122         * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
3123         (add_decl_stmt, add_stmt, block_has_vars): New functions.
3124         (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
3125
3126         * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
3127         when making a decl.
3128         (gnat_to_gnu_entity): Likewise.
3129         Use add_stmt to update setjmp buffer.
3130         Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
3131         flush_addressof.
3132         No longer call adjust_decl_rtl.
3133         (DECL_INIT_BY_ASSIGN_P): New macro.
3134         (DECL_STMT_VAR): Likewise.
3135
3136         * trans.c (gigi): Call start_block_stmt to make the outermost
3137         BLOCK_STMT.
3138         (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
3139         Call start_block_stmt and end_block_stmt temporarily.
3140         Use gnat_expand_stmt instead of expand_expr_stmt.
3141         (add_decl_stmt): New function.
3142         (tree_transform): Call it.
3143         (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
3144         (end_block_stmt): Set type and NULL_STMT.
3145         (gnat_expand_stmt): Make recursize call instead of calling
3146         expand_expr_stmt.
3147         (gnat_expand_stmt, case DECL_STMT): New case.
3148         (set_lineno_from_sloc): Do nothing if global.
3149         (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
3150         (start_block_stmt, add_stmt, end_block_stmt): New functions.
3151         (build_block_stmt): Call them.
3152         (gnat_to_code): Don't expand NULL_STMT.
3153         (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
3154         args.
3155         (tree_transform): Likewise.
3156         (tree_transform, case N_Null_Statement): Return NULL_STMT.
3157         (gnat_expand_stmt, case NULL_STMT): New case.
3158         (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
3159         IF_STMT_TRUE.
3160
3161         * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
3162         TREE_ADDRESSABLE.
3163
3164         * utils.c (create_var_decl): Do not call expand_decl or
3165         expand_decl_init.
3166         Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
3167         Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
3168         here.
3169         (struct e_stack): Add chain_next to GTY.
3170         (struct binding_level): Deleted.
3171         (struct ada_binding_level): New struct.
3172         (free_block_chain): New.
3173         (global_binding_level, clear_binding_level): Deleted.
3174         (global_bindings_p): Rework to see if no chain.
3175         (kept_level_p, set_block): Deleted.
3176         (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
3177         new data structure and work directly on BLOCK node.
3178         (gnat_poplevel): Similarly.
3179         (get_decls): Look at BLOCK_VARS.
3180         (insert_block): Work directly on BLOCK node.
3181         (block_has_var): New function.
3182         (pushdecl): Rework for new binding structures.
3183         (gnat_init_decl_processing): Rename and rework calls to pushlevel and
3184         poplevel.
3185         (build_subprog_body): Likewise.
3186         (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
3187
3188         * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
3189
3190         * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
3191         (DECL_STMT_VAR): Likewise.
3192
3193 2004-05-17  Robert Dewar  <dewar@gnat.com>
3194
3195         * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
3196         procedure
3197
3198         * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
3199         of restriction synonyums by using
3200         Restrict.Process_Restriction_Synonyms.
3201
3202         * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
3203
3204         * s-restri.ads (Tasking_Allowed): Correct missing comment
3205
3206         * s-rident.ads: Add entries for restriction synonyms
3207
3208         * ali.adb: Fix some problems with badly formatted ALI files that can
3209         result in infinite loops.
3210
3211         * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
3212         s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
3213         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
3214         s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
3215         s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
3216         s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
3217         s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
3218         s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
3219         s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
3220         a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
3221         exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
3222         s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
3223         s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
3224         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
3225         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
3226         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
3227         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
3228         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
3229         s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
3230         s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
3231         to Task_Id (minor cleanup).
3232
3233 2004-05-17  Vincent Celier  <celier@gnat.com>
3234
3235         * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
3236         directory separator.
3237
3238         * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
3239         project being extended, if Languages is not declared in extending
3240         project.
3241
3242 2004-05-17  Javier Miranda  <miranda@gnat.com>
3243
3244         * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
3245         limited view of a visible sibling.
3246
3247 2004-05-14  Robert Dewar  <dewar@gnat.com>
3248
3249         * gnat_ugn.texi: Minor change to -gnatS documentation
3250
3251         * sprint.adb: Remove some instances of Assert (False) and for this
3252         purpose replace them by output of a ??? string.
3253
3254         * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
3255         Assert (False).
3256
3257         * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
3258         flag processing. This was suppressing required dependencies in
3259         No_Run_Time mode and is not needed since the binder does not generate
3260         references for things in libgnat anyway.
3261
3262         * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
3263         warning.
3264
3265 2004-05-14  Thomas Quinot  <quinot@act-europe.fr>
3266
3267         * gnat_ugn.texi: Document AIX-specific issue with initialization of
3268         resolver library.
3269
3270         * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
3271         action for the case of an actual parameter in an init proc call.
3272
3273 2004-05-14  Ed Schonberg  <schonberg@gnat.com>
3274
3275         * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
3276         subtype, check visible entities in base type.
3277
3278         * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
3279         actions if the object is a renaming.
3280
3281         * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
3282         Check_Formal_Package_Instance, to determine more precisely when the
3283         formal and the actual denote the same entity.
3284
3285 2004-05-14  Javier Miranda  <miranda@gnat.com>
3286
3287         * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
3288
3289         * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
3290         corresponding to a private_with must be removed from visibility; it
3291         will be made visible later, just before we analyze the private part of
3292         the package.
3293         (Check_Private_Child_Unit): Allow private_with clauses in public
3294         siblings.
3295         (Install_Siblings): Make visible the private entities of private-withed
3296         siblings.
3297         (Install_Withed_Unit): Do not install the private withed unit if we
3298         are compiling a package declaration and the Private_With_OK flag was
3299         not set by the caller. These declarations will be installed later,
3300         just before we analyze the private part of the package.
3301
3302         * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
3303         during the evaluation of the expression that initializes the object,
3304         decorate it with the expected type to avoid cascade errors.
3305         Code cleanup.
3306
3307         * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
3308         subprogram we have to install the private_with clauses after its
3309         specification has been analyzed (as documented in AI-262.TXT).
3310
3311         * sem_ch8.adb (Has_Private_With): New function. Determines if the
3312         current compilation unit has a private with on a given entity.
3313         (Find_Direct_Name): Detect the Beaujolais problem described in
3314         AI-262.TXT
3315
3316         * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
3317         provides the functionality of the function Is_Ancestor that was
3318         previously available in sem_ch10. It has been renamed to avoid
3319         overloading.
3320
3321         * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
3322
3323 2004-05-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3324
3325         * utils.c (build_vms_descriptor): Use SImode pointers.
3326
3327 2004-05-14  Vasiliy Fofanov  <fofanov@act-europe.fr>
3328
3329         * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
3330
3331 2004-05-14  GNAT Script  <nobody@gnat.com>
3332
3333         * Make-lang.in: Makefile automatically updated
3334
3335 2004-05-14  Arnaud Charlet  <charlet@act-europe.fr>
3336
3337         Renaming of target specific files for clarity
3338
3339         * Makefile.in: Rename GNAT target specific files.
3340
3341         * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
3342         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
3343         3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
3344         3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
3345         3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
3346         3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
3347         42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
3348         4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
3349         4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
3350         4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
3351         4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
3352         4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
3353         51osinte.adb, 51osinte.ads, 51system.ads,
3354         52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
3355         55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
3356         56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
3357         56tpopsp.adb, 57system.ads, 58system.ads,
3358         5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
3359         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
3360         5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
3361         5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
3362         5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
3363         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
3364         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
3365         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
3366         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
3367         5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
3368         5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
3369         5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
3370         5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
3371         5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
3372         5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
3373         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
3374         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
3375         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
3376         5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
3377         5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
3378         5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
3379         5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
3380         5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
3381         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
3382         5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
3383         5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
3384         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
3385         5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
3386         5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
3387         5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
3388         5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
3389         5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
3390         5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
3391         5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
3392         5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
3393         5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
3394         7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
3395         7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
3396         7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
3397         7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
3398
3399         * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
3400         a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
3401         a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
3402         a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
3403         a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
3404         a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
3405         a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
3406         a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
3407         a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
3408         a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
3409         g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
3410         g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
3411         g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
3412         g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
3413         g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
3414         g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
3415         g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
3416         g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
3417         interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
3418         mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
3419         mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
3420         mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
3421         s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
3422         s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
3423         s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
3424         s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
3425         s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
3426         s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
3427         s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
3428         s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
3429         s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
3430         s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
3431         s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
3432         s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
3433         s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
3434         s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
3435         s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
3436         s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
3437         s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
3438         s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
3439         s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
3440         s-osinte-vms.ads, s-osinte-vxworks.adb,
3441         s-osinte-vxworks.ads, s-osprim-mingw.adb,
3442         s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
3443         s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
3444         s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
3445         s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
3446         s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
3447         s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
3448         s-stchop-vxworks.adb, s-taprop-dummy.adb,
3449         s-taprop-hpux-dce.adb, s-taprop-irix.adb,
3450         s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
3451         s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
3452         s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
3453         s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
3454         s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
3455         s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
3456         s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
3457         s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
3458         s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
3459         s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
3460         s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
3461         s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
3462         s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
3463         s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
3464         s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
3465         s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
3466         s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
3467         symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
3468         system-hpux.ads, system-interix.ads, system-irix-n32.ads,
3469         system-irix-o32.ads, system-linux-x86_64.ads,
3470         system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
3471         system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
3472         system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
3473         system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
3474         system-vxworks-alpha.ads, system-vxworks-m68k.ads,
3475         system-vxworks-mips.ads, system-vxworks-ppc.ads,
3476         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
3477         above.
3478
3479 2004-05-13  Zack Weinberg  <zack@codesourcery.com>
3480
3481         * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
3482
3483 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
3484
3485         Merge from tree-ssa-20020619-branch.
3486
3487         * config-lang.in (boot_language, build_by_default): Set
3488         to no.
3489         * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
3490         (max_size): Add static chain op for call_expr.
3491
3492 2004-05-12  Richard Sandiford  <rsandifo@redhat.com>
3493
3494         PR target/15331
3495         * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
3496
3497 2004-05-11  Roger Sayle  <roger@eyesopen.com>
3498
3499         * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
3500         COND_EXPR.
3501
3502 2004-05-10  Doug Rupp  <rupp@gnat.com>
3503
3504         * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
3505         system.aux_dec.
3506
3507         * s-auxdec.ads: Add Short_Address subtype (moved here from System).
3508
3509         * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
3510
3511         * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
3512         Fixes undefined symbols in IA64 gnatlib.
3513
3514         * 5vinmaop.adb: Reference s-auxdec for Short_Address.
3515
3516         * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
3517         Short_Address). This will be moved to system.auxdec.
3518
3519 2004-05-10  Thomas Quinot  <quinot@act-europe.fr>
3520
3521         * sem_util.adb: Replace test for presence of a node that is always
3522         present with a call to Discard_Node.
3523
3524         * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
3525         Analyze on the library unit node after generation of distribution stub
3526         constructs.  The call was a no-op because Unit_Node has already been
3527         Analyzed, and the tree fragments for the distribution stubs are
3528         analyzed as they are inserted in Exp_Dist.
3529         Update comment regarding to distribution stubs to reflect that we
3530         do not generate stub in separate files anymore.
3531
3532         * einfo.ads: Clarify the fact that a tagged private type has the
3533         E_Record_Type_With_Private Ekind.
3534
3535         * erroutc.adb: Minor reformatting
3536
3537         * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
3538         values if line length is increased using -gnatyM (noticed during code
3539         reading).
3540
3541         * eval_fat.adb: Minor reformatting
3542         Put spaces around exponentiation operator
3543
3544 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
3545
3546         PR ada/15005
3547         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
3548         has been rewritten as an explicit dereference, retrieve type of
3549         original node to check for possibly unconstrained record type.
3550
3551 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
3552
3553         * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
3554         overriding, use the operation of the parent unconditionally.
3555
3556         * sem_ch4.adb (Remove_Address_Interpretations): Remove address
3557         operation when either operand is a literal, to avoid further
3558         ambiguities.
3559
3560         * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
3561         overridden by a previous explicit declaration, mark the previous entity
3562         as overriding.
3563
3564         * sem_disp.adb (Check_Dispatching_Operation): New predicate
3565         Is_Visibly_Controlled, to determine whether a declaration of a
3566         primitive control operation for a derived type overrides an inherited
3567         one. Add warning if the explicit declaration does not override.
3568
3569 2004-05-10  Vincent Celier  <celier@gnat.com>
3570
3571         * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
3572         some cases when the sources are no longer present.
3573
3574         * make.adb (Collect_Arguments): Fail if an external source, not part
3575         of any project need to be compiled, when switch -x has not been
3576         specified.
3577
3578         * makeusg.adb: Document new switch -x
3579
3580         * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
3581         defaulted to False.
3582
3583         * switch-m.adb (Scan_Make_Switches): New switch -x
3584
3585         * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
3586         gnatmake switch -x.
3587
3588         * gnat_ugn.texi: Document new gnatmake switch -x
3589
3590 2004-05-10  Eric Botcazou  <ebotcazou@act-europe.fr>
3591
3592         * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
3593
3594         * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
3595         (process_attributes): Likewise.
3596
3597 2004-05-10  Joel Brobecker  <brobecker@gnat.com>
3598
3599         * s-inmaop.ads: Fix spelling mistake in one of the comments.
3600
3601 2004-05-10  Robert Dewar  <dewar@gnat.com>
3602
3603         * gnat_ugn.texi: Document that for config pragma files, the maximum
3604         line length is always 32767.
3605
3606         * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
3607         literals is now allowed.
3608
3609         * gnat-style.texi: Remove statement about splitting long lines before
3610         an operator rather than after, since we do not follow this rule at all.
3611         Clarify rule (really lack of rule) for spaces around exponentiation
3612
3613         * sem_elim.adb: Allow concatenation of string literals as well as a
3614         single string literal for pragma arguments.
3615
3616         * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
3617
3618         * a-textio.adb (Terminate_Line): Do not add line feed if nothing
3619         written for append case.
3620
3621         * frontend.adb: Changes to avoid checking max line length in config
3622         pragma files.
3623
3624         * g-os_lib.ads: Minor reformatting
3625
3626         * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
3627         wrong in any case. Instead use standard value. Noticed during code
3628         reading.
3629
3630         * opt.ads (Max_Line_Length): New field, used to implement removal of
3631         limitation on length of lines when scanning config pragma files.
3632
3633         * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
3634         makeutl.ads, makeutl.adb: Minor reformatting
3635
3636         * scn.adb: Do not check line length while scanning config pragma files
3637         Do not check line length while scanning out license information
3638
3639         * scng.adb: Changes to avoid line length checks while parsing config
3640         pragma files.
3641
3642 2004-05-10  GNAT Script  <nobody@gnat.com>
3643
3644         * Make-lang.in: Makefile automatically updated
3645
3646 2004-05-05  Arnaud Charlet  <charlet@act-europe.fr>
3647
3648         * osint.adb (Find_Program_Name): Fix handling of VMS version
3649         number.
3650
3651 2004-05-05  Emmanuel Briot  <briot@act-europe.fr>
3652
3653         * g-os_lib.ads (Invalid_Time): New constant
3654
3655         * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
3656         return OS_Time instead of time_t to match what is imported by Ada.
3657         Now return -1 if the file doesn't exist, instead of a random value
3658
3659 2004-05-05  Robert Dewar  <dewar@gnat.com>
3660
3661         * usage.adb: Add line for -gnatR?s switch
3662
3663         * sem_ch13.adb, exp_ch2.adb: Minor reformatting
3664
3665         * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
3666         and for Match (Data_First, Data_last)
3667
3668         * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
3669         written when we are dealing with multi-unit files.
3670
3671 2004-05-05  Jerome Guitton  <guitton@act-europe.fr>
3672
3673         * Makefile.in: Remove unused targets and variables.
3674
3675 2004-05-05  Vincent Celier  <celier@gnat.com>
3676
3677         * switch-m.adb: New gnatmake switch -eI
3678
3679         * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
3680         of new gnatmake switch -eInnn.
3681
3682         * makegpr.adb: Take into account new parameters Index and Src_Index in
3683         Prj.Util.
3684
3685         * clean.adb: Implement support for multi-unit sources, including new
3686         switch -i.
3687
3688         * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
3689         Src_Index.
3690
3691         * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
3692         (Extract_From_Q): New out parameter Index
3693         (Mark, Is_Marked): Subprograms moved to Makeutl
3694         (Switches_Of): New parameter Source_Index
3695         (Add_Switch): New parameter Index
3696         (Check): New parameter Source_Index
3697         (Collect_Arguments): New parameter Source_Index
3698         (Collect_Arguments_And_Compile): New parameter Source_Index
3699         (Compile): New parameter Source_Index
3700         Put subprograms in alphabetical order
3701         Add support for multi-source sources, including in project files.
3702
3703         * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
3704         (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
3705         Make.
3706
3707         * makeusg.adb: New gnatmake switch -eInnn
3708
3709         * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
3710         Prj.Util.Value_Of.
3711
3712         * opt.ads (Main_Index): New variable, defaulted to 0.
3713
3714         * osint.ads, osinte.adb (Add_File): New parameter Index
3715         (Current_Source_Index): New function
3716
3717         * prj.adb: Take into account new components Index and Src_Index
3718
3719         * prj.ads (String_Element): New component Index
3720         (Variable_Value): New component Index
3721         (Array_Element): New component Src_Index
3722
3723         * prj-attr.adb: Indicate that optional index may be specified for
3724         attributes Main, Executable, Spec, Body and some of Switches.
3725
3726         * prj-attr.ads (Attribute_Kind): New values for optional indexes
3727         (Attribute_Record): New component Optional_Index
3728
3729         * prj-com.ads (File_Name_Data): New component Index
3730
3731         * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
3732
3733         * prj-env.adb (Put): Output optional index
3734
3735         * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
3736         attributes Spec and Body.
3737
3738         * prj-nmsc.adb: Process optional indexes
3739
3740         * prj-pp.adb: Ouput "at" for optional indexes
3741
3742         * prj-proc.adb: Take into account optional indexes
3743
3744         * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
3745         Optional_Index. For string literal,
3746         process optional index when Optional_Index is True.
3747         (Parse_Expresion): New Boolean parameter Optional_Index
3748
3749         * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
3750         (Set_Source_Index_Of): New procedure
3751
3752         * prj-util.adb (Executable_Of, Value_Of): Take into account optional
3753         index.
3754
3755         * prj-util.ads (Executable_Of): New parameter Index
3756         (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
3757         New parameter Src_Index, defaulted to 0.
3758
3759 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
3760
3761         PR ada/15257
3762         * sem_ch3.adb (Access_Definition): If this is an access parameter
3763         whose designated type is imported through a limited_with clause, do
3764         not add the enclosing subprogram to the list of private dependents of
3765         the type.
3766
3767 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
3768
3769         PR ada/15258
3770         * sem_ch6.adb (Base_Types_Match): True if one type is imported through
3771         a limited_with clause, and the other is its non-limited view.
3772
3773 2004-05-05  Thomas Quinot  <quinot@act-europe.fr>
3774
3775         * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
3776
3777         * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
3778         exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
3779         Stand.Boolean_Literals to produce references to entities
3780         Standard_False and Standard_True from compile-time computed boolean
3781         values.
3782
3783         * stand.ads (Boolean_Literals): New variable, provides the entity
3784         values for False and True, for use by the expander.
3785
3786 2004-05-05  Doug Rupp  <rupp@gnat.com>
3787
3788         * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
3789         5vinmaop.adb: Unchecked convert Short_Address vice Address
3790
3791         * adaint.c, raise.c: Caste CRTL function return value
3792         to avoid gcc error on 32/64 bit IVMS.
3793
3794         * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
3795         target = IA64/VMS.
3796
3797         * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
3798
3799         * 5qsystem.ads (Address): Declare as Long_Integer
3800         (Short_Address): Declare as 32 bit subtype of Address
3801         Declare  abstract address operations to avoid gratuitous ambiguities.
3802
3803 2004-05-05  Jose Ruiz  <ruiz@act-europe.fr>
3804
3805         * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
3806         instead of the old Boolean_Entry_Barriers.
3807         Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
3808
3809 2004-05-05  GNAT Script  <nobody@gnat.com>
3810
3811         * Make-lang.in: Makefile automatically updated
3812
3813 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
3814
3815         * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
3816
3817 2004-05-03  Olivier Hainque  <hainque@act-europe.fr>
3818
3819         PR ada/15152
3820
3821         * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
3822         alone. Replacing object references by literals is inappropriate in a
3823         so low level context.
3824
3825 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
3826
3827         * a-exexpr.adb: Add comments
3828
3829 2004-05-03  Joel Brobecker  <brobecker@gnat.com>
3830
3831         * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
3832         declare the Ancestor_Tags array in Type_Specific_Data with a small size
3833         without risking a bounds check error when accessing one of its
3834         components.
3835         (Type_Specific_Data): Define Ancestor_Tags as a small array.
3836         This prevents us from hitting a limitation during the debug info
3837         generation when using stabs.
3838
3839         * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
3840         small array.
3841         This prevents us from hitting a limitation during the debug info
3842         generation when using stabs.
3843
3844 2004-05-03  Eric Botcazou  <ebotcazou@act-europe.fr>
3845
3846         lang-specs.h: Remove -gnatz* from specs.
3847
3848 2004-05-03  Vincent Celier  <celier@gnat.com>
3849
3850         * gprmake.adb, makegpr.ads, makegpr.adb: New files.
3851
3852         * Make-lang.in, Makefile.in: Add gprmake
3853
3854 2004-05-03  Thomas Quinot  <quinot@act-europe.fr>
3855
3856         * sem_aggr.adb: Fix typo in comment.
3857
3858 2004-05-03  Robert Dewar  <dewar@gnat.com>
3859
3860         * make.adb: Minor reformatting
3861
3862         * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
3863
3864         * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
3865         so that it works when address is not a private type.
3866
3867         * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
3868         properly with rewritten unchecked conversions. This prevents
3869         order-of-elaboration issues that can otherwise arise.
3870         (Minimum_Size): Don't check size of access types under VMS
3871
3872         * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
3873         interpretations of integer literals as type System.Address.
3874
3875         * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
3876         (Is_Descendent_Of): New function
3877
3878 2004-05-03  Jose Ruiz  <ruiz@act-europe.fr>
3879
3880         * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
3881         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
3882         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
3883
3884         * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
3885         of the old Max_Entry_Queue_Depth.
3886
3887         * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
3888         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
3889         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
3890
3891         * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
3892         New entry for proper handling of Max_Entry_Queue_Depth.
3893         New entry for proper handling of No_Dynamic_Interrupts.
3894
3895         * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
3896         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
3897         Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
3898         the GNAT specific restriction Max_Entry_Queue_Depth.
3899         Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
3900         the GNAT specific restriction No_Dynamic_Interrupts.
3901
3902         * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
3903         instead of the old Boolean_Entry_Barriers.
3904         Use the new restriction No_Dynamic_Attachment instead of the old
3905         No_Dynamic_Interrupts.
3906
3907         * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
3908         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
3909
3910         * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
3911         of the old Max_Entry_Queue_Depth.
3912
3913 2004-05-03  GNAT Script  <nobody@gnat.com>
3914
3915         * Make-lang.in: Makefile automatically updated
3916
3917 2004-04-29  Ed Schonberg  <schonberg@gnat.com>
3918
3919         * checks.adb (Enable_Range_Check): If the prefix of an index component
3920         is an access to an unconstrained array, perform check unconditionally.
3921
3922 2004-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3923
3924         * decl.c (gnat_to_gnu_field): Also call make_packable_type if
3925         Component_Clause.
3926
3927 2004-04-29  Olivier Hainque  <hainque@act-europe.fr>
3928
3929         * init.c (__gnat_install_handler, __gnat_error_handler): Remove
3930         alternate stack setting. There was no support for the tasking cases
3931         and the changes eventually caused a number of side-effect failures in
3932         the non-tasking case too.
3933
3934 2004-04-29  Eric Botcazou  <ebotcazou@act-europe.fr>
3935
3936         lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
3937         -gnats is passed.
3938
3939 2004-04-29  Vincent Celier  <celier@gnat.com>
3940
3941         * make.adb (Gnatmake): Increase max size of argument array for
3942         gnatbind for the potential addition of -F.
3943         If there are Stand-Alone Library projects, invoke gnatbind with -F to
3944         be sure that elaboration flags will be checked.
3945
3946         * switch-c.adb: Correct call to Scan_Pos for -gnateI
3947
3948 2004-04-29  Thomas Quinot  <quinot@act-europe.fr>
3949
3950         * sem_warn.adb (Check_References): Move '<access-variable> may be
3951         null' warning out of under Warn_On_No_Value_Assigned.
3952
3953 2004-04-29  Ed Falis  <falis@gnat.com>
3954
3955         * gnat_ugn.texi: Fixed texi error
3956
3957 2004-04-29  Robert Dewar  <dewar@gnat.com>
3958
3959         * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
3960         abstract operations if they come from predefined files.
3961
3962         * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
3963         Dynamic, not RM).
3964
3965         * s-addope.adb: Correct obvious error in mod function
3966
3967 2004-04-28  Andrew W. Reynolds  <awreynolds@mac.com>
3968
3969         * Makefile.in: Add target pairs for powerpc darwin*
3970         tasking support.
3971
3972         * a-intnam-darwin.ads, s-osinte-darwin.adb,
3973         s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
3974
3975 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
3976
3977         * Makefile.in: Add target macro definitions for s390*-linux*.
3978         * system-linux-s390.ads: New file.
3979         * system-linux-s390x.ads: New file.
3980
3981 2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
3982
3983         * gnat_ugn.texi: Correct argument to @setfilename.
3984
3985 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
3986
3987         * a-exexpr.adb (Unwind_Word): New data type.
3988         (Unwind_Exception): Use it as type of Private1 and Private2.
3989
3990         * raise.c (db_action_for): Fix debug printf.
3991
3992 2004-04-27  Ed Schonberg  <schonberg@gnat.com>
3993
3994         * a-wtmoio.ads: Formal type must be a modular type, not a signed
3995         integer type.
3996
3997 2004-04-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3998
3999         * decl.c (gnat_to_gnu_entity, case object): Call
4000         __builtin_update_setjmp_buf.
4001
4002         * gigi.h (update_setjmp_buf): Deleted.
4003         (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
4004
4005         * misc.c: (update_setjmp_buf): Deleted.
4006
4007         * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
4008         around block of RTL.
4009
4010         * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
4011
4012 2004-04-26  Thomas Quinot  <quinot@act-europe.fr>
4013
4014         * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
4015         subprogram for which no pragma All_Calls_Remote applies, store the
4016         address of the real subprogram in the underlying record type, so local
4017         dereferences do not go through the PCS.
4018
4019 2004-04-26  Robert Dewar  <dewar@gnat.com>
4020
4021         * i-c.ads: Add some type qualifications to avoid ambiguities when
4022         compiling with s-auxdec.ads and a non-private address type.
4023
4024 2004-04-26  Arnaud Charlet  <charlet@act-europe.fr>
4025
4026         * Makefile.rtl: Fix error in previous check-in:
4027         Add s-addope.o to non tasking object list (rather than tasking object
4028         list).
4029
4030 2004-04-26  Javier Miranda  <miranda@gnat.com>
4031
4032         * sem_aggr.adb: Fix typo in comments
4033         (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
4034         Required to check the null-exclusion attribute.
4035
4036         * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
4037         case of anonymous access types in record and array components. For a
4038         component definition the level is the same of the enclosing composite
4039         type.
4040
4041         * sem_ch3.adb (Analyze_Component_Declaration): In case of components
4042         that are anonymous access types the level of accessibility depends on
4043         the enclosing type declaration. In order to have this information, set
4044         the scope of the anonymous access type to the enclosing record type
4045         declaration.
4046         (Array_Type_Declaration): In case of components that are anonymous
4047         access types the level of accessibility depends on the enclosing type
4048         declaration. In order to have this information, set the scope of the
4049         anonymous access type to the enclosing array type declaration.
4050
4051         * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
4052         access type.
4053
4054         * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
4055         renaming of anonymous access-to-constant types allowed if and only if
4056         the renamed object is access-to-constant.
4057
4058         * sem_util.adb (Type_Access_Level): In case of anonymous access types
4059         that are component_definition or discriminants of a nonlimited type,
4060         the level is the same as that of the enclosing component type.
4061
4062 2004-04-26  Sergey Rybin  <rybin@act-europe.fr>
4063
4064         * sem_elim.adb: Some minor code reorganization from code reading. Fix
4065         misprint in the function name (File_Name_Match).
4066
4067 2004-04-23  Laurent GUERBY <laurent@guerby.net>
4068
4069         * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
4070         install.
4071
4072 2004-04-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4073
4074         * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
4075
4076 2004-04-23  Emmanuel Briot  <briot@act-europe.fr>
4077
4078         * adaint.c (__gnat_try_lock): No longer requires that the parent
4079         directory be writable, the directory itself is enough.
4080         (gnat_is_absolute_path): Change profile, so that the call from
4081         GNAT.OS_Lib can be made more efficient.
4082
4083         * adaint.h (gnat_is_absolute_path): Change profile, so that the call
4084         from GNAT.OS_Lib can be made more efficient.
4085
4086         * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
4087         one copy of the file name. Found by code reading.
4088
4089 2004-04-23  Vincent Celier  <celier@gnat.com>
4090
4091         * gnat_ugn.texi: Add documentation for gnatmake switch -eL
4092         Correct documentation on gnatmake switches transmitted to the compiler
4093
4094         * ali.ads: Minor comment fix
4095
4096 2004-04-23  Javier Miranda  <miranda@gnat.com>
4097
4098         * sem_ch6.adb: (Confirming Types): Code cleanup
4099
4100         * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
4101         subprogram types: E_Anonymous_Access_Subprogram_Type and
4102         E_Anonymous_Access_Protected_Subprogram_Type.
4103
4104 2004-04-23  Thomas Quinot  <quinot@act-europe.fr>
4105
4106         * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
4107         whether a pragma All_Calls_Remote applies to the subprogram on which
4108         'Access is taken.
4109         No functional change is introduced by this revision; the new parameter
4110         will be used to allow calls to local RCI subprograms to be optimized
4111         to not use the PCS in the case where no pragma All_Calls_Remote applies,
4112         as is already done in the PolyORB implementation of the DSA.
4113
4114         * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
4115         whether a pragma All_Calls_Remote applies to the subprogram on which
4116         'Access is taken.
4117         No functional change is introduced by this revision; the new parameter
4118         will be used to allow calls to local RCI subprograms to be optimized
4119         to not use the PCS in the case where no pragma All_Calls_Remote applies,
4120         as is already done in the PolyORB implementation of the DSA.
4121
4122 2004-04-23  Robert Dewar  <dewar@gnat.com>
4123
4124         * Makefile.rtl: Add entry for s-addope.o in run time library list
4125         * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
4126         * s-addope.ads, s-addope.adb: New files.
4127
4128         * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
4129         s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
4130         s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
4131         System.Address to be non-private and signed.
4132
4133         * sem_elim.adb: Minor reformatting (fairly extensive)
4134         Some minor code reorganization from code reading
4135         Add a couple of ??? comments
4136
4137 2004-04-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4138
4139         * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
4140         (tree_transform, case N_If_Statement): Remove non-determinism.
4141
4142         * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
4143
4144 2004-04-23  Sergey Rybin  <rybin@act-europe.fr>
4145
4146         * gnat_rm.texi: Small fixes in the changes made in the 'pragma
4147         Eliminate' section.
4148
4149         * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
4150         no longer used as a parameter name for Eliminate pragma).
4151
4152 2004-04-22  Laurent GUERBY <laurent@guerby.net>
4153
4154         PR optimization/14984
4155         PR optimization/14985
4156         * trans.c (gigi): Fix non determinism leading to bootstrap
4157         comparison failures.
4158
4159 2004-04-21  Pascal Obry  <obry@gnat.com>
4160
4161         * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
4162         passed to spawnvp() to properly handle program pathname with spaces on
4163         Win32.
4164
4165 2004-04-21  Emmanuel Briot  <briot@act-europe.fr>
4166
4167         * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
4168         (Allocate, Deallocate, Free_Physically): Make sure the tasks are
4169         unlocked in case of exceptions.
4170
4171 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
4172
4173         * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
4174         This function does not exist anymore.
4175
4176 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
4177
4178         * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
4179
4180         * link.c: Move variables to the __gnat name space.
4181
4182         * Makefile.in: list link.o explicitly when needed.
4183
4184         * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
4185
4186 2004-04-21  Javier Miranda  <miranda@gnat.com>
4187
4188         * einfo.adb (Original_Access_Type): New subprogram
4189         (Set_Original_Access_Type): New subprogram
4190         (Write_Field21_Name): Write the name of the new field
4191
4192         * einfo.ads (Original_Access_Type): New field present in access to
4193         subprogram types.
4194         Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
4195         E_Anonymous_Access_Protected_Subprogram_Type.
4196
4197         * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
4198         subprogram types.
4199
4200         * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
4201         to anonymous access to subprogram types.
4202
4203         * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
4204         to subprogram types.
4205
4206         * sem_ch3.adb (Access_Definition): Complete decoration of entities
4207         corresponding to anonymous access to subprogram types.
4208         (Analyze_Component_Declaration): Add new actual to the call to
4209         subprogram replace_anonymous_access_to_protected_subprogram.
4210         (Array_Type_Declaration): Add new actual to the call to subprogram
4211         replace_anonymous_access_to_protected_subprogram.
4212         (Process_Discriminants): Add new actual to the call to subprogram
4213         replace_anonymous_access_to_protected_subprogram.
4214         (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
4215
4216         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
4217         formal.
4218
4219         * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
4220         access to subprogram types.
4221
4222         * sem_util.adb (Has_Declarations): Addition of package_specification
4223         nodes.
4224
4225 2004-04-21  Ed Schonberg  <schonberg@gnat.com>
4226
4227         * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
4228         inlined flags to renamed entity only if in current unit.
4229
4230 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
4231
4232         * s-parint.ads: Add DSA implementation marker.
4233
4234         * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
4235         value of System.Partition_Interface.DSA_Implementation to determine
4236         what version of the distributed systems annex is available (no
4237         implementation, GLADE, or PolyORB).
4238
4239 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
4240
4241         * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
4242
4243 2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4244
4245         * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
4246         with new type if alias sets differ.
4247         Fixes ACATS c41103b.
4248
4249 2004-04-21  Vincent Celier  <celier@gnat.com>
4250
4251         * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
4252         Add array Lang_Args for the language specific compiling argument
4253         switches.
4254
4255         * gnat_ugn.texi: Explain in more details when a library is rebuilt.
4256
4257 2004-04-21  Sergey Rybin  <rybin@act-europe.fr>
4258
4259         * gnat_rm.texi: Update the descripton of the Eliminate pragma
4260         according to the recent changes in the format of the parameters of the
4261         pragma (replacing Homonym_Number with Source_Location).
4262
4263 2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>
4264
4265         * 5isystem.ads: Removed, unused.
4266
4267         * gnat_rm.texi: Redo 1.13 change.
4268
4269 2004-04-19  Robert Dewar  <dewar@gnat.com>
4270
4271         * s-stoele.ads: Clean up definition of Storage_Offset (the new
4272         definition is cleaner, avoids the kludge of explicit Standard operator
4273         references, and also is consistent with a visible System.Address with
4274         no visible operations.
4275
4276         * s-geveop.adb: Add declarations to avoid assumption of visible
4277         operations on type System.Address (since these might not be available
4278         if Address is a non-private type for which the operations
4279         are made abstract).
4280
4281         * sem_eval.adb: Minor reformatting
4282
4283         * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
4284         s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
4285         reformatting (new function spec format).
4286
4287         * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
4288         s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
4289         s-caun64.adb: Add declarations to avoid assumption of visible
4290         operations on type System.Address (since these might not be available
4291         if Address is a non-private type for which the operations are made
4292         abstract).
4293
4294         * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
4295
4296         * exp_intr.adb: Minor comment update
4297
4298         * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
4299
4300         * 5omastop.adb: Add declarations to avoid assumption of visible
4301         operations on type System.Address (since these might not be available
4302         if Address is a non-private type for which the operations
4303         are made abstract).
4304
4305 2004-04-19  Vincent Celier  <celier@gnat.com>
4306
4307         * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
4308
4309         * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
4310         defaulted to Ada.
4311
4312         * prj-proc.adb (Process): New Boolean parameter Process_Languages,
4313         defaulted to Ada.
4314         Call Check with Process_Languages.
4315         (Check): New Boolean parameter Process_Languages. Call Recursive_Check
4316         with Process_Languages.
4317         (Recursive_Check): New Boolean parameter Process_Languages. Call
4318         Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
4319         Process_Languages.
4320
4321         * prj-proc.ads (Process): New Boolean parameter Process_Languages,
4322
4323         * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
4324         parameter Ada_Main, defaulted to True.
4325         Check for Ada specific characteristics only when Ada_Main is True.
4326
4327         * opt.ads: (Follow_Links): New Boolean flag for gnatmake
4328
4329         * prj.adb: (Project_Empty): Add new Project_Data components.
4330
4331         * prj.ads: New types and tables for non Ada languages.
4332         (Project_Data): New components Languages, Impl_Suffixes,
4333         First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
4334         Include_Path, Include_Data_Set.
4335
4336         * prj-env.ads, prj-env.adb: Minor reformatting
4337
4338         * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
4339         Put subprograms in alphabetical order
4340
4341         * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
4342         defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
4343         Opt.Follow_Links.
4344
4345         * mlib-prj.adb: Back out modification in last version, as they are
4346         incorrect.
4347         (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
4348
4349         * make.adb: (Mains): Moved to package Makeutl
4350         (Linker_Opts): Moved to package Makeutl
4351         (Is_External_Assignment): Moved to package Makeutl
4352         (Test_If_Relative_Path): Moved to package Makeutl
4353         (Gnatmake): Move sorting of linker options to function
4354         Makeutl.Linker_Options_Switches.
4355
4356         * makeutl.ads, makeutl.adb: New files.
4357
4358         * Makefile.in: Add makeutl.o to the object files for gnatmake
4359
4360         * makeusg.adb: Add line for new switch -eL.
4361
4362         * gnatls.adb (Image): New function.
4363         (Output_Unit): If in verbose mode, output the list of restrictions
4364         specified by pragmas Restrictions.
4365
4366         * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
4367         Text_IO.
4368
4369         * a-calend.adb (Split): Shift the date by multiple of 56 years, if
4370         needed, to put it in the range 1970 (included) - 2026 (excluded).
4371         (Time_Of): Do not shift Unix_Min_Year (1970).
4372         Shift the date by multiple of 56 years, if needed, to put it in the
4373         range 1970 (included) - 2026 (excluded).
4374
4375         * adaint.h, adaint.c (__gnat_set_executable): New function.
4376
4377 2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4378
4379         * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
4380         and pop GC context.
4381         (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
4382         (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
4383         (tree_transform, case N_Procedure_Call_Statement): Build a tree.
4384         (tree_transform, case N_Code_Statement): Likewise.
4385         (gnat_expand_stmt, case LABEL_STMT): Don't look at
4386         LABEL_STMT_FIRST_IN_EH.
4387         (gnat_expand_stmt, case ASM_STMT): New case.
4388
4389         * utils2.c (build_unary_op): Properly set TREE_READONLY of
4390         UNCONSTRAINED_ARRAY_REF.
4391
4392         * utils.c (poplevel): Temporarily push/pop GC context around inline
4393         function expansion.
4394
4395         * decl.c (maybe_variable): Properly set TREE_READONLY of
4396         UNCONSTRAINED_ARRAY_REF.
4397         (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
4398
4399         * ada-tree.def: (ASM_STMT): New.
4400
4401         * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
4402         (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
4403         ASM_STMT_INPUT): New.
4404         (ASM_STMT_CLOBBER): Likewise.
4405
4406 2004-04-19  Thomas Quinot  <quinot@act-europe.fr>
4407
4408         * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
4409         general rcheck mechanism to raise Program_Error for E.4(18), instead
4410         of a custom raiser in System.Partition_Interface.
4411         Part of general cleanup work before PolyORB integration.
4412
4413         * snames.ads, snames.adb: Add new runtime library entities and names
4414         for PolyORB DSA.
4415
4416         * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
4417         exp_dist.
4418         (Build_Subprogram_Id): New subprogram provided by exp_dist
4419         Code reorganisation in preparation for PolyORB integration.
4420
4421         * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
4422         exp_dist.
4423         (Build_Subprogram_Id): New subprogram provided by exp_dist
4424
4425         * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
4426         actual parameter types for call to dereference of an
4427         access-to-subprogram type.
4428
4429         * rtsfind.ads: Add new runtime library entities and names for PolyORB
4430         DSA.
4431
4432         * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
4433         instead, which has the same behaviour here since we never pass it a
4434         NULL pointer.
4435
4436         * link.c (run_path_option, Solaris case): Use -Wl, as for other
4437         platforms.
4438
4439         * Makefile.in: adjust object file lists for gnatlink and gnatmake
4440         to account for new dependency upon Interfaces.C.Strings + link.o
4441         For x86 FreeBSD, use 86numaux.
4442
4443         * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
4444         from Mlib.Tgt to Mlib.
4445
4446         * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
4447         target-independent.
4448
4449         * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
4450         target-specific versions of this subprogram, now implemented as a
4451         target-independent function in Mlib.
4452
4453         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
4454         5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
4455         (Linker_Library_Path_Option): Remove target-specific versions of this
4456         subprogram, now implemented as a target-independent function in Mlib.
4457
4458         * atree.adb: (Allocate_Initialize_Node): New subprogram.
4459         Factors out node table slots allocation.
4460         (Fix_Parents): New subprogram.
4461         Encapsulate the pattern of fixing up parent pointers for syntactic
4462         children of a rewritten node.
4463         (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
4464         (Rewrite): Use New_Copy when creating saved copy of original node.
4465         (Replace): Use Copy_Node to copy nodes.
4466
4467 2004-04-19  Javier Miranda  <miranda@gnat.com>
4468
4469         * sprint.adb (Sprint_Node_Actual): Give support to the new
4470         Access_To_Subprogram node available in Access_Definition nodes. In
4471         addition, give support to the AI-231 node fields: null-exclusion,
4472         all-present, constant-present.
4473
4474         * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
4475
4476         * sinfo.ads, sinfo.adb:
4477         New field Access_To_Subprogram_Definition in Access_Definition nodes
4478
4479         * sem_ch6.adb (Process_Formals): Move here the code that creates and
4480         decorates internal subtype declaration corresponding to the
4481         null-excluding formal. This code was previously in Set_Actual_Subtypes.
4482         In addition, carry out some code cleanup on this code. In case of
4483         access to protected subprogram call
4484         Replace_Anonymous_Access_To_Protected_Subprogram.
4485         (Set_Actual_Subtypes): Code cleanup.
4486
4487         * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
4488         Find_Type in case of anonymous access renamings. Add warning in case of
4489         null-excluding attribute used in anonymous access renaming.
4490
4491         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
4492         subprogram
4493
4494         * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
4495         subprogram.
4496         (Access_Definition): In case of anonymous access to subprograms call
4497         the corresponding semantic routine to decorate the node.
4498         (Access_Subprogram_Declaration): Addition of some comments indicating
4499         some code that probably should be added here. Detected by comparison
4500         with the access_definition subprogram.
4501         (Analyze_Component_Declaration): In case of access to protected
4502         subprogram call Replace_Anonymous_Access_To_Protected.
4503         (Array_Type_Declaration): In case of access to protected subprogram call
4504         Replace_Anonymous_Access_To_Protected_Subprogram.
4505         (Process_Discriminants): In case of access to protected subprogram call
4506         Replace_Anonymous_Access_To_Protected_Subprogram.
4507
4508         * par.adb (P_Access_Definition): New formal that indicates if the
4509         null-exclusion part was present.
4510         (P_Access_Type_Definition): New formal that indicates if the caller has
4511         already parsed the null-excluding part.
4512
4513         * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
4514         (P_Identifier_Declarations): Code cleanup and give support to renamings
4515         of anonymous access to subprogram types.
4516         (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
4517         (P_Array_Type_Definition): Give support to AI-254.
4518         (P_Component_Items): Give support to AI-254.
4519         (P_Access_Definition): New formal that indicates if the header was
4520         already parsed by the caller.
4521         (P_Access_Type_Definition): New formal that indicates if the caller has
4522         already parsed the null-excluding part.
4523
4524         * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
4525         call to P_Access_Definition.
4526
4527 2004-04-19  Geert Bosch  <bosch@gnat.com>
4528
4529         * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
4530         the delicate semantics of floating-point to integer conversion.
4531         (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
4532
4533         * eval_fat.adb (Machine_Mantissa): Moved to spec.
4534         (Machine_Radix): New function.
4535
4536         * eval_fat.ads (Machine_Mantissa): Moved from body for use in
4537         conversion checks.
4538         (Machine_Radix): New function also for use in conversion checks.
4539
4540 2004-04-19  Ed Schonberg  <schonberg@gnat.com>
4541
4542         * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
4543
4544         * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
4545         to decorate the access-to-protected subprogram and the equivalent type.
4546
4547         * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
4548         to anonymous access to subprogram types.
4549
4550         * exp_ch4.adb (Expand_N_In): Preserve Static flag before
4551         constant-folding, for legality checks in contexts that require an RM
4552         static expression.
4553
4554         * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
4555         temporary but stack checking is not enabled, increment serial number
4556         to so that symbol generation is consistent with and without stack
4557         checking.
4558
4559         * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
4560         independent on whether stack checking is enabled, caller must check
4561         the corresponding flag.
4562
4563         * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
4564         range checks.
4565         (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
4566         parent if it has discriminants.
4567         (Build_Derived_Private_Type): Constructed full view does
4568         not come from source.
4569         (Process_Discriminants): Default discriminants on a tagged type are
4570         legal if this is the internal completion of a private untagged
4571         derivation.
4572
4573         * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
4574         no constraint checks, because it corresponds to an existing object.
4575
4576         * sem_prag.adb (Process_Convention): Pragma applies
4577         only to subprograms in the same declarative part, i.e. the same unit,
4578         not the same scope.
4579
4580         * sem_res.adb (Valid_Conversion): In an instance or inlined body,
4581         ignore type mismatch on a numeric conversion if expression comes from
4582         expansion.
4583
4584 2004-04-19  Sergey Rybin  <rybin@act-europe.fr>
4585
4586         * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
4587         Homonym_Number parameter, add processing for Source_Location parameter
4588         corresponding.
4589         (Check_Eliminated): Remove the check for homonym numbers, add the check
4590         for source location traces.
4591
4592         * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
4593         with Arg_Source_Location corresponding to the changes in the format of
4594         the pragma.
4595
4596         * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
4597         Eliminate pragma corresponding to the changes in the format of the
4598         pragma: Homonym_Number is replaced with Source_Location, two ways of
4599         distinguishing homonyms are mutially-exclusive.
4600
4601 2004-04-19  Joel Brobecker  <brobecker@gnat.com>
4602
4603         * get_targ.ads (Get_No_Dollar_In_Label): Remove.
4604
4605         * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
4606         No_Dollar_In_Label, no longer necessary, as it is always True.
4607         (Strip_Suffixes): Likewise.
4608
4609 2004-04-19  Gary Dismukes  <dismukes@gnat.com>
4610
4611         * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
4612         modulus for compatibility with size clause on targets with 16-bit
4613         Integer.
4614
4615         * layout.adb (Discrimify): In the case of private types, set Vtyp to
4616         full type to fix type mismatches on calls to size functions for
4617         discriminant-dependent array components.
4618
4619 2004-04-19  Jerome Guitton  <guitton@act-europe.fr>
4620
4621         * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
4622         lib.
4623
4624 2004-04-19  Pascal Obry  <obry@gnat.com>
4625
4626         * mdll-utl.adb (Locate): New version is idempotent.
4627
4628 2004-04-17  Laurent Guerby <laurent@guerby.net>
4629
4630         PR ada/14988 (partial)
4631         * impunit.adb: Fix typo.
4632
4633 2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
4634
4635         * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
4636         and install-rts-cert targets.  Remove all gnatlib and gnattools
4637         targets and all other rts-* targets (moved to libada).  Remove (now)
4638         unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
4639         TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
4640
4641 2004-04-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4642
4643         * trans.c (tree_transform): Shortcut returning error_mark_node for
4644         statements in annotate_only_mode.
4645         (tree_transform, case N_Label, case N_Return_Statement,
4646         N_Goto_Statement): Make statement tree instead of generating code.
4647         (tree_transform, case N_Assignment_Statement): No longer check
4648         type_annotate_only.
4649         (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
4650         RETURN_STMT): New.
4651         (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
4652         New fcns.
4653         (gnat_to_gnu): Collect any RTL generated and deal with it.
4654         (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
4655         (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
4656         (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
4657
4658         * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
4659
4660         * ada-tree.def (EXPR_STMT): Fix typo in name.
4661         (BLOCK_STMT, IF_STMT): New nodes.
4662
4663         * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
4664         LABEL_STMT_FIRST_IN_EH): New macros.
4665         (RETURN_STMT_EXPR): Likewise.
4666
4667         * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
4668         IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
4669
4670 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
4671
4672         * atree.ads: Correct documentation on extended nodes.
4673
4674         * link.c: Set run_path_option for FreeBSD.
4675
4676 2004-04-08  Vincent Celier  <celier@gnat.com>
4677
4678         * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
4679         one of the ALI file, do not link with DEC lib.
4680
4681         * par.adb Remove the last two characters ("%s" or "%b") when checking
4682         if a language defined unit may be recompiled.
4683
4684 2004-04-08  Ed Schonberg  <schonberg@gnat.com>
4685
4686         * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
4687         removal of abstract operation leaves no possible interpretation for
4688         expression.
4689
4690         * sem_eval.adb (Eval_Qualified_Expression): Use
4691         Set_Raises_Constraint_Error on node when needed, so that it does not
4692         get optimized away by subsequent optimizations.
4693
4694         * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
4695         operands even when they are not wrapped in a type conversion.
4696
4697 2004-04-08  Olivier Hainque  <hainque@act-europe.fr>
4698
4699         * sem_prag.adb (Set_Exported): Warn about making static as result of
4700         export only when the export is coming from source. This may be not
4701         be true e.g. on VMS where we expand export pragmas for exception codes
4702         together with imported or exported exceptions, and we don't want the
4703         user to be warned about something he didn't write.
4704
4705 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
4706
4707         * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
4708         duplication between normal entities and those declared as renamings.
4709         No functional change.
4710
4711         * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
4712         inline functions returning an unconstrained result.
4713
4714 2004-04-08  Eric Botcazou  <ebotcazou@act-europe.fr>
4715
4716         * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
4717         conform to what other front-ends do.
4718
4719 2004-04-08  Doug Rupp  <rupp@gnat.com>
4720
4721         * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
4722         libraries.
4723
4724 2004-04-06  Pascal Obry  <obry@gnat.com>
4725
4726         * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
4727
4728         * osint.adb (Program_Name): Do not look past a directory separator.
4729
4730 2004-04-06  Thomas Quinot  <quinot@act-europe.fr>
4731
4732         * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
4733
4734         * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
4735         requirement for preserving a copy of the original assignment node.
4736
4737         * sinfo.ads: Update comment (Original_Tree -> Original_Node).
4738
4739 2004-04-06  Olivier Hainque  <hainque@act-europe.fr>
4740
4741         (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
4742         when supported.
4743
4744 2004-04-06  Ed Schonberg  <schonberg@gnat.com>
4745
4746         * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
4747         operator calls in functional notation, and apply
4748         Universal_Interpretation to operands, not to their type.
4749
4750 2004-04-06  Robert Dewar  <dewar@gnat.com>
4751
4752         * 5wdirval.adb: Minor reformatting
4753
4754 2004-04-06  Ed Falis  <falis@gnat.com>
4755
4756         * gnat_rm.texi: Improve a reference to the GCC manual
4757
4758 2004-04-05  Vincent Celier  <celier@gnat.com>
4759
4760         * adaint.h, adaint.c: Add function __gnat_named_file_length
4761
4762         * impunit.adb: Add Ada.Directories to the list
4763
4764         * Makefile.in: Add VMS and Windows versions of
4765         Ada.Directories.Validity package body.
4766
4767         * Makefile.rtl: Add a-direct and a-dirval
4768
4769         * mlib-tgt.ads: Minor comment update.
4770
4771         * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
4772         a-direct.ads, a-direct.adb: New files.
4773
4774 2004-04-05  Vincent Celier  <celier@gnat.com>
4775
4776         PR ada/13620
4777         * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
4778         just to the compiler.
4779
4780 2004-04-05  Robert Dewar  <dewar@gnat.com>
4781
4782         * a-except.adb (Exception_Name_Simple): Make sure lower bound of
4783         returned string is 1.
4784
4785         * ali-util.adb: Use proper specific form for Warnings (Off, entity)
4786
4787         * eval_fat.ads: Minor reformatting
4788
4789         * g-curexc.ads: Document that lower bound of returned string values
4790         is always one.
4791
4792         * gnatlink.adb: Add ??? comment for previous change
4793         (need to document why this is VMS specific)
4794
4795         * s-stoele.ads: Minor reformatting
4796
4797         * tbuild.ads: Minor reformatting throughout (new function specs)
4798
4799         * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
4800         after WITH.
4801
4802         * scng.adb: Minor reformatting
4803
4804 2004-04-05  Geert Bosch  <bosch@gnat.com>
4805
4806         * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
4807         (Leading_Part): Still perform truncation to machine number if the
4808         specified radix_digits is greater or equal to machine_mantissa.
4809
4810 2004-04-05  Javier Miranda  <miranda@gnat.com>
4811
4812         * par-ch3.adb: Complete documentation of previous change
4813         Correct wrong syntax documentation of the OBJECT_DECLARATION rule
4814         (aliased must appear before constant).
4815
4816         * par-ch4.adb: Complete documentation of previous change.
4817
4818         * par-ch6.adb: Complete documentation of previous change.
4819
4820         * sinfo.ads: Fix typo in commment.
4821
4822 2004-04-05  Ed Schonberg  <schonberg@gnat.com>
4823
4824         * sem_ch3.adb (Inherit_Components): If derived type is private and has
4825         stored discriminants, use its discriminants to constrain parent type,
4826         as is done for non-private derived record types.
4827
4828         * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
4829         Ada 2005 AI-310: an abstract non-dispatching operation is not a
4830         candidate interpretation in an overloaded call.
4831
4832         * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
4833         expression is Null and target type is not an access type (e.g. a
4834         non-private address type).
4835
4836 2004-04-05  Thomas Quinot  <quinot@act-europe.fr>
4837
4838         * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
4839         statement whose right-hand side is an inlined call, save a copy of the
4840         original assignment subtree to preserve enough consistency for
4841         Analyze_Assignment to proceed.
4842
4843         * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
4844         complete assignment subtree which is now unnecessary, as the expansion
4845         of inlined call has been improved to preserve a consistent assignment
4846         tree.  Note_Possible_Modification must be called only
4847         after checks have been applied, or else unnecessary checks will
4848         be generated.
4849
4850         * sem_util.adb (Note_Possible_Modification): Reorganise the handling
4851         of explicit dereferences that do not Come_From_Source:
4852          - be selective on cases where we must go back to the dereferenced
4853            pointer (an assignment to an implicit dereference must not be
4854            recorded as modifying the pointer);
4855          - do not rely on Original_Node being present (Analyze_Assignment
4856            calls Note_Possible_Modification on a copied tree).
4857
4858         * sem_warn.adb (Check_References): When an unset reference to a pointer
4859         that is never assigned is encountered, prefer '<pointer> may be null'
4860         warning over '<pointer> is never assigned a value'.
4861
4862 2004-04-05  Ramon Fernandez  <fernandez@gnat.com>
4863
4864         * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
4865         the ABI.
4866
4867 2004-04-05  Olivier Hainque  <hainque@act-europe.fr>
4868
4869         * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
4870         libexc. We currently don't reference anything in this library and
4871         linking it in triggers linker warnings we don't want to see.
4872
4873         * init.c: Update comments.
4874
4875 2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4876
4877         * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
4878         * utils.c (create_field_decl): Likewise.
4879         * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
4880
4881 2004-04-02  Arnaud Charlet  <charlet@act-europe.fr>
4882
4883         * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
4884         Replace ifinfo by ifnottex, to make makeinfo --html happy again.
4885         Add info directory entry and category.
4886
4887 2004-04-02  Jan Hubicka  <jh@suse.cz>
4888
4889         * utils.c: Include function.h
4890         (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
4891
4892 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
4893
4894         PR ada/14150
4895         * Make-lang.in: Clean up generation of documentation
4896
4897         * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
4898
4899         * xgnatug.adb: Removed, replaced by xgnatugn.adb
4900
4901         * xgnatugn.adb: Replaces xgnatug.adb
4902
4903         * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
4904
4905         * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
4906
4907         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
4908         gnat_ug_wnt.texi: Removed.
4909
4910 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
4911
4912         * utils2.c: Update copyright notice.
4913
4914 2004-04-01  Robert Dewar  <dewar@gnat.com>
4915
4916         * checks.adb: Minor reformatting throughout
4917         Note that prev checkin added RM reference to alignment warning
4918
4919 2004-04-01  Ed Schonberg  <schonberg@gnat.com>
4920
4921         * exp_aggr.adb (Get_Component_Val): Treat a string literal as
4922         non-static when building aggregate for bit-packed array.
4923
4924         * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
4925         function call that is itself the actual in a procedure call, build
4926         temporary for it.
4927
4928         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
4929         a string literal, create a temporary for it, constant folding only
4930         handles scalars here.
4931
4932 2004-04-01  Vincent Celier  <celier@gnat.com>
4933
4934         * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
4935         Error_Msg_SP): New empty procedures to instantiate the Scanner.
4936         (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
4937         tokens.
4938         (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
4939         (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
4940         and get the checksum.
4941
4942         * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
4943         already in the Q.
4944         Increase the Marking_Label at the end of the Multiple_Main_Loop,
4945         instead of at the beginning.
4946
4947         * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
4948         directly.
4949         (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
4950         on VMS.
4951
4952         * osint.ads (Multi_Unit_Index_Character): New Character global variable
4953
4954         * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
4955         not '~' directly.
4956
4957         * par.adb: Remove test on file name to detect language defined units.
4958         Add test on unit name, after parsing, to detect language defined units
4959         that are not compiled with -gnatg (except System.RPC and its children)
4960
4961         * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
4962         following units without style checking.
4963
4964         * switch-c.adb: Change -gnatC to -gnateI
4965
4966         * usage.adb: Document new switch -gnateInnn
4967
4968         * scng.adb (Accumulate_Token_Checksum): New procedure
4969         (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
4970         word or literal number.
4971         (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
4972         numbers.
4973
4974 2004-04-01  Thomas Quinot  <quinot@act-europe.fr>
4975
4976         * a-tasatt.adb,
4977         g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
4978         switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
4979         5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
4980         5vtpopde.adb: Add missing 'constant' keywords.
4981
4982 2004-04-01  Javier Miranda  <miranda@gnat.com>
4983
4984         * par-ch4.adb: (P_Allocator): Code cleanup
4985
4986         * sem_ch3.adb (Access_Definition): Properly set the null-excluding
4987         attribute.
4988
4989         * sinfo.ads: Complete documentation of previous change
4990
4991 2004-04-01  Pascal Obry  <obry@gnat.com>
4992
4993         * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
4994         only on VMS.  This special handling was done because an old GNU/ld bug
4995         on Windows which has been fixed.
4996
4997 2004-04-01  GNAT Script  <nobody@gnat.com>
4998
4999         * Make-lang.in: Makefile automatically updated
5000
5001 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5002
5003         * decl.c (gnat_to_gnu_entity, make_type_from_size):
5004         Use TYPE_UNSIGNED, not TREE_UNSIGNED.
5005         * trans.c (tree_transform, convert_with_check): Likewise.
5006         * utils.c (gnat_signed_or_unsigned_type): Likewise.
5007         (build_vms_descriptor, unchecked_convert): Likewise.
5008         * utils2.c (nonbinary_modular_operation): Likewise.
5009
5010 2004-03-29  Javier Miranda  <miranda@gnat.com>
5011
5012         * checks.adb (Null_Exclusion_Static_Checks): New subprogram
5013         (Install_Null_Excluding_Check): Local subprogram that determines whether
5014         an access node requires a runtime access check and if so inserts the
5015         appropriate run-time check.
5016         (Apply_Access_Check): Call Install_Null_Excluding check if required
5017         (Apply_Constraint_Check): Call Install_Null_Excluding check if required
5018
5019         * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
5020
5021         * einfo.ads: Fix typo in comment
5022
5023         * exp_ch3.adb (Build_Assignment): Generate conversion to the
5024         null-excluding type to force the corresponding run-time check.
5025         (Expand_N_Object_Declaration): Generate conversion to the null-excluding
5026         type to force the corresponding run-time check.
5027
5028         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
5029         the null-excluding type to force the corresponding run-time check.
5030
5031         * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
5032         case of access types unless they have the null-excluding attribute.
5033
5034         * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
5035         part.
5036
5037         * exp_util.ads: Fix typo in comment
5038
5039         * par.adb (P_Null_Exclusion): New subprogram
5040         (P_Subtype_Indication): New formal that indicates if the null-excluding
5041         part has been scanned-out and it was present
5042
5043         * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
5044
5045         * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
5046         (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
5047         type to force the corresponding run-time check
5048         (Resolve_Aggregate): Propagate the null-excluding attribute to the array
5049         components
5050         (Resolve_Array_Aggregate): Carry out some static checks
5051         (Resolve_Record_Aggregate.Get_Value): Carry out some static check
5052
5053         * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
5054         attribute must be set only if specified by means of the null-excluding
5055         part. In addition, we must also propagate the access-constant attribute
5056         if present.
5057         (Access_Subprogram_Declaration, Access_Type_Declaration,
5058         Analyze_Component_Declaration, Analyze_Object_Declaration,
5059         Array_Type_Declaration, Process_Discriminants,
5060         Analyze_Subtype_Declaration): Propagate the null-excluding attribute
5061         and carry out some static checks.
5062         (Build_Derived_Access_Type): Set the null-excluding attribute
5063         (Derived_Type_Declaration, Process_Subtype): Carry out some static
5064         checks.
5065
5066         * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
5067
5068         * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
5069
5070         * sem_ch6.adb (Process_Formals): Carry out some static checks.
5071         (Set_Actual_Subtypes): Generate null-excluding subtype if the
5072         null-excluding part was present; it is not required to be done here in
5073         case of anonymous access types.
5074         (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
5075         value.
5076
5077         * sem_res.adb (Resolve_Actuals): Carry out some static check
5078         (Resolve_Null): Allow null in anonymous access
5079
5080         * sinfo.adb: New subprogram Null_Exclusion_Present
5081         All_Present and Constant_Present available on access_definition nodes
5082
5083         * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
5084         object_declaration, derived_type_definition, component_definition,
5085         discriminant_specification, access_to_object_definition,
5086         access_function_definition, allocator, access_procedure_definition,
5087         access_definition, parameter_specification, All_Present and
5088         Constant_Present flags available on access_definition nodes.
5089
5090 2004-03-29  Robert Dewar  <dewar@gnat.com>
5091
5092         * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
5093         gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
5094         opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
5095         par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
5096         sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
5097         sem_prag.adb: Updates to handle multiple units/file
5098
5099         * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
5100
5101         * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
5102         sem_util.adb: Minor reformatting
5103
5104         * sem_ch12.adb: Add comment for previous change
5105
5106 2004-03-29  Laurent Pautet  <pautet@act-europe.fr>
5107
5108         * osint.adb (Executable_Prefix): Set Exec_Name to the current
5109         executable name when not initialized. Otherwise, use its current value.
5110
5111         * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
5112         initialize it to another executable name than the current one. This
5113         allows to configure paths for an executable name (gnatmake) different
5114         from the current one (gnatdist).
5115
5116 2004-03-29  Ed Schonberg  <schonberg@gnat.com>
5117
5118         * exp_ch6.adb (Expand_Call): A call to a function declared in the
5119         current unit cannot be inlined if it appears in the body of a withed
5120         unit, to avoid order of elaboration problems in gigi.
5121
5122         * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
5123         information for protected (wrapper) operation as well, to simplify gdb
5124         use.
5125
5126         * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
5127         protected body, indicate that the entity for the generated spec comes
5128         from source, to ensure that references are properly generated for it.
5129         (Build_Body_To_Inline): Do not inline a function that returns a
5130         controlled type.
5131
5132         * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
5133         apply convention to homonyms that are declared explicitly.
5134
5135         * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
5136         that renames an equality operator and the operands are overloaded,
5137         resolve them with the declared formal types, before rewriting as an
5138         operator.
5139
5140 2004-03-29  GNAT Script  <nobody@gnat.com>
5141
5142         * Make-lang.in: Makefile automatically updated
5143
5144 2004-03-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
5145
5146         * memtrack.adb: Log realloc calls, which are treated as free followed
5147         by alloc.
5148
5149 2004-03-25  Vincent Celier  <celier@gnat.com>
5150
5151         * prj-makr.adb (Process_Directories): Detect when a file contains
5152         several units. Do not include such files in the config pragmas or
5153         in the naming scheme.
5154
5155         * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
5156         Resolve links only when not in Trusted_Mode.
5157         (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
5158         Do not resolve links for the display names.
5159
5160         * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
5161         resolve links when computing the display names.
5162
5163 2004-03-25  Thomas Quinot  <quinot@act-europe.fr>
5164
5165         * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
5166         attribute reference does not denote a subtype, it can be any
5167         expression that has a classwide type, potentially after an implicit
5168         dereference.  In particular, the prefix can be a view conversion for
5169         a classwide type (for which Is_Object_Reference holds), but it can
5170         also be a value conversion for an access-to-classwide type. In the
5171         latter case, there is an implicit dereference, and the original node
5172         for the prefix does not verify Is_Object_Reference.
5173
5174         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
5175         conversion of a discriminant-dependent component of a mutable object
5176         is one itself.
5177
5178 2004-03-25  Ed Schonberg  <schonberg@gnat.com>
5179
5180         * freeze.adb (Freeze_Entity): When an inherited subprogram is
5181         inherited, has convention C, and has unconstrained array parameters,
5182         place the corresponding warning on the derived type declaration rather
5183         than the original subprogram.
5184
5185         * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
5186         indication on renaming declaration, if formal has a box and actual
5187         is absent.
5188
5189         * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
5190         determine whether to generate an implicit or explicit reference to
5191         the renamed entity.
5192
5193         * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
5194         subprogram renaming comes from a defaulted formal subprogram in an
5195         instance.
5196
5197 2004-03-25  Gary Dismukes  <dismukes@gnat.com>
5198
5199         * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
5200         value expressions to ensure that calls within a component definition
5201         will be checked (since those are evaluated during the record type's
5202         elaboration).
5203
5204 2004-03-25  Arnaud Charlet  <charlet@act-europe.fr>
5205
5206         * s-tpobop.adb: Code clean up:
5207         (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
5208         code.
5209         (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
5210
5211 2004-03-25  Jose Ruiz  <ruiz@act-europe.fr>
5212
5213         * Makefile.in: Clean up in the ravenscar run time.
5214
5215 2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5216
5217         * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
5218         of No_Strict_Aliasing to build_pointer_type_for_mode.
5219         * utils.c (update_pointer_to): Walk pointer and ref chains.
5220
5221 2004-03-22  Cyrille Comar  <comar@act-europe.fr>
5222
5223         * ali.ads: Fix Comment about Dynamic_Elab.
5224
5225         * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
5226         Has_RACW, Is_Generic, etc.)
5227         (Output_Object, Gnatls): Take into account ALI files not attached to
5228         an object.
5229
5230 2004-03-22  Vincent Celier  <celier@gnat.com>
5231
5232         * gprep.adb: Change all String_Access to Name_Id
5233         (Is_ASCII_Letter): new function
5234         (Double_File_Name_Buffer): New procedure
5235         (Preprocess_Infile_Name): New procedure
5236         (Process_Files): New procedure
5237         (Gnatprep): Check if output and input are existing directories.
5238         Call Process_Files to do the real job.
5239
5240 2004-03-22  Robert Dewar  <dewar@gnat.com>
5241
5242         * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
5243         s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
5244
5245 2004-03-22  Sergey Rybin  <rybin@act-europe.fr>
5246
5247         * scn.adb (Contains): Add check for EOF, is needed for a degenerated
5248         case when the source contains only comments.
5249
5250 2004-03-22  Ed Schonberg  <schonberg@gnat.com>
5251
5252         * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
5253         declaration for a child subprogram body that acts as a spec, indicate
5254         that the entity in the declaration needs debugging information.
5255
5256         * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
5257         full view if the subtype is created for a constrained record component;
5258         gigi has enough information to construct the record, and there is no
5259         place in the tree for the declaration.
5260
5261         * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
5262         serial number for the dummy body that is built for analysis, to avoid
5263         inconsistencies in the generation of internal names when compiling
5264         with -gnatN.
5265
5266 2004-03-22  Thomas Quinot  <quinot@act-europe.fr>
5267
5268         * sem_util.adb (Is_Object_Reference): A view conversion denotes an
5269         object.
5270
5271 2004-03-22  GNAT Script  <nobody@gnat.com>
5272
5273         * Make-lang.in: Makefile automatically updated
5274
5275 2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5276
5277         * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
5278         * trans.c (tree_transform, emit_index_check): Likewise.
5279         * utils.c (build_template): Likewise.
5280         (max_size, convert): Remove handling of WITH_RECORD_EXPR.
5281         (maybe_unconstrained_array, unchecked_convert): Likewise.
5282         * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
5283         (build_unary_op): Likewise.
5284         (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
5285         (fill_vms_descriptor): Likewise.
5286         (build_call_alloc_dealloc): Likewise.
5287         ALIGN is unsigned.
5288         * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
5289
5290 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
5291
5292         PR other/14630
5293         * gnat_ug.texi: Add info directory category and entry.
5294         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
5295         gnat_ug_wnt.texi: Regenerate.
5296
5297 2004-03-19  Arnaud Charlet  <charlet@act-europe.fr>
5298
5299         * ada-tree.h: Update copyright notice.
5300         Minor reformatting.
5301
5302 2004-03-19  Olivier Hainque  <hainque@act-europe.fr>
5303
5304         * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
5305         as regular exception objects and not as mere integers representing the
5306         condition code.  The latter approach required some dynamics to mask off
5307         severity bits, which did not fit well into the GCC table based model.
5308         (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
5309         exception data objects. We don't it and it would conflict with the other
5310         external symbol we have to generate for such exceptions.
5311
5312         * trans.c (tree_transform, case N_Exception_Handler): Remove part of
5313         the special code for VMS exceptions, since these are now represented
5314         as regular exceptions objects.
5315
5316 2004-03-19 Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5317
5318         * decl.c (debug_no_type_hash): Remove.
5319         (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
5320         * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
5321
5322 2004-03-19  Laurent Guerby <laurent@guerby.net>
5323
5324         * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
5325         aggregate, allows bootstrap from 3.3 on powerpc-darwin.
5326
5327 2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5328
5329         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
5330         (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
5331         (TYPE_RM_SIZE_INT): Directly use type.values.
5332         (TREE_LOOP_ID): Clean up check.
5333         * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
5334         TYPE_VALUES, not TYPE_FIELDS.
5335         * trans.c (convert_with_check): Delay access of bounds of basetype
5336         until sure is numeric.
5337
5338 2004-03-18  Arnaud Charlet  <charlet@act-europe.fr>
5339
5340         * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
5341
5342         Code clean up:
5343         * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
5344         5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
5345         Specific.Set instead of direct call to e.g pthread_setspecific.
5346
5347 2004-03-18  Thomas Quinot  <quinot@act-europe.fr>
5348
5349         * adaint.c: Update comments.
5350
5351         * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
5352         GNATLIB_SHARED for FreeBSD.
5353
5354 2004-03-18  Jose Ruiz  <ruiz@act-europe.fr>
5355
5356         * init.c [VxWorks]: Do not fix the stack size for the environment task.
5357         When needed (stack checking) the stack size is retrieved
5358         from the VxWorks kernel.
5359
5360         * Makefile.in: Flag -nostdinc is required when building the run time
5361         for avoiding looking for files in the base compiler.
5362         Add the VxWorks specific version of the package body for
5363         System.Stack_checking.Operations (5zstchop.adb).
5364
5365         * Make-lang.in: Add the object file for
5366         System.Stack_Checking.Operations.
5367
5368         * Makefile.rtl: Add object file for the package
5369         System.Stack_Checking.Operations.
5370
5371         * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
5372
5373         * s-stache.ads, s-stache.adb: Move the operations related to stack
5374         checking from this package to package System.Stack_Checking.Operations.
5375         This way, stack checking operations are only linked in the final
5376         executable when using the -fstack-check flag.
5377
5378 2004-03-18  Doug Rupp  <rupp@gnat.com>
5379
5380         * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
5381         Reorganize ifeq's.
5382
5383         * 5qsystem.ads, 5xcrtl.ads: New files.
5384
5385 2004-03-18  Vincent Celier  <celier@gnat.com>
5386
5387         * prj.adb (Reset): Reset hash table Files_Htable
5388
5389         * prj-env.adb (Source_Paths, Object_Paths): New tables.
5390         (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
5391         the procedures Add_To_Path_File.
5392         (Set_Ada_Paths): Accumulate source and object dirs in the tables,
5393         making sure that each directory is present only once and, for object
5394         dirs, when a directory already present is added, the duplicate is
5395         removed and the directory is always put as the last in the table.
5396         Write the path files at the end of these accumulations.
5397
5398         * prj-nmsc.adb (Record_Source): Add source file name in hash table
5399         Files_Htable for all sources.
5400
5401         * prj-proc.adb (Process): Remove restrictions between not directly
5402         related extending projects.
5403
5404 2004-03-18  Emmanuel Briot  <briot@act-europe.fr>
5405
5406         * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
5407         (Find_Sources): Minor speed optimization.
5408
5409         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
5410         parameter Trusted_Mode.
5411
5412 2004-03-18  Sergey Rybin  <rybin@act-europe.fr>
5413
5414         * scn.adb (Determine_License): Take into account a degenerated case
5415         when the source contains only comments.
5416
5417 2004-03-18  Ed Schonberg  <schonberg@gnat.com>
5418
5419         * sem_warn.adb (Check_References): For a warning on a selected
5420         component that does not come from source, locate an uninitialized
5421         component of the record type to produce a more precise error message.
5422
5423 2004-03-15  Jerome Guitton  <guitton@act-europe.fr>
5424
5425         * 3zsoccon.ads: Fix multicast options.
5426
5427         * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
5428         in the spec.
5429
5430 2004-03-15  Robert Dewar  <dewar@gnat.com>
5431
5432         * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
5433         pragma used for a private type.
5434
5435         * lib-xref.adb (Generate_Reference): Do not generate warning if
5436         reference is in a different unit from the pragma Unreferenced.
5437
5438         * 5vtpopde.adb: Minor reformatting
5439         Fix casing of To_Task_ID
5440
5441         * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
5442         flag if we have an unchecked conversion to an access type in the same
5443         unit.
5444
5445 2004-03-15  Geert Bosch  <bosch@gnat.com>
5446
5447         * a-ngcoty.adb (Modulus): In alternate formula for large real or
5448         imaginary parts, use Double precision throughout.
5449
5450         * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
5451         we want to be able to compile run-time with -gnata for testing, but
5452         this may also be instantiated in user code that is compiled with -gnata.
5453
5454 2004-03-15  Olivier Hainque  <hainque@act-europe.fr>
5455
5456         * s-stalib.ads (Exception_Code): New type, to represent Import/Export
5457         codes. Having a separate type for this is useful to enforce consistency
5458         throughout the various run-time units.
5459         (Exception_Data): Use Exception_Code for Import_Code.
5460
5461         * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
5462         Natural and Integer in various places.
5463         (Register_VMS_Exception): Use Base_Code_In to compute the exception code
5464         with the severity bits masked off.
5465         (Register_VMS_Exception): Handle the additional exception data pointer
5466         argument.
5467
5468         * raise.c (_GNAT_Exception structure): Remove the handled_by_others
5469         component, now reflected by an exported accessor.
5470         (is_handled_by): New routine to compute whether the propagated
5471         occurrence matches some handler choice specification. Extracted out of
5472         get_action_description_for, and expanded to take care of the VMS
5473         specifities.
5474         (get_action_description_for): Use is_handled_by instead of an explicit
5475         complex condition to decide if the current choice at hand catches the
5476         propagated occurrence.
5477
5478         * raise.h (Exception_Code): New type for C.
5479
5480         * rtsfind.ads (RE_Id, RE_Unit_Table): Add
5481         System.Standard_Library.Exception_Code, to allow references from the
5482         pragma import/export expander.
5483
5484         * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
5485         New accessors to allow easy access to GNAT exception data
5486         characteristics.
5487         (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
5488         redundant Handled_By_Others component, helper for the personality
5489         routine which will now be able to call the appropriate exception data
5490         accessor instead.
5491
5492         * cstand.adb (Create_Standard): Adjust the type of the Import_Code
5493         component of Standard_Exception_Type to be the closest possible to
5494         Exception_Code in System.Standard_Library, that we cannot get at this
5495         point. Expand a ??? comment to notify that this type node should
5496         probably be rewritten later on.
5497
5498         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
5499         registration call to include a pointer to the exception object in the
5500         arguments.
5501
5502         * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
5503         instead of int and explicit bitmasks.
5504
5505 2004-03-15  Vincent Celier  <celier@gnat.com>
5506
5507         * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
5508         equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
5509
5510         * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
5511         longer needed now that it is in the spec of
5512         System.Tasking.Task_Attributes.
5513
5514         * adaint.h, adaint.c: (__gnat_create_output_file): New function
5515
5516         * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
5517
5518         * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
5519
5520         * make.adb (Gnatmake): Do not check the executable suffix; it is being
5521         taken care of in Scan_Make_Arg.
5522         (Scan_Make_Arg): Add the executable suffix only if the argument
5523         following -o, in canonical case, does not end with the executable
5524         suffix.  When in verbose mode and executable file name does not end
5525         with executable suffix, output the executable name, in canonical case.
5526
5527         * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
5528         to avoid warnings when instantiating Ada.Task_Attributes.
5529         Minor reformating.
5530
5531         * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
5532         in the correct order.
5533
5534         * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
5535         redirect standard output and error to a file for the invocation of the
5536         compiler, then read the file.
5537
5538         * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
5539         directory, instead of the Value.
5540         (Find_Source_Dirs): Remove useless code & comments.
5541
5542 2004-03-15  Ed Schonberg  <schonberg@gnat.com>
5543
5544         * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
5545         tagged type is inherited, and the parent operation is not frozen yet,
5546         force generation of a freeze node for the inherited operation, so the
5547         corresponding dispatch entry is properly initialized.
5548         (Make_Predefined_Primitive_Specs): Check that return type is Boolean
5549         when looking for user-defined equality operation.
5550
5551         * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
5552         boolean when locating primitive equality of tagged component.
5553
5554         * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
5555         bit-aligned field and the right-hand side a string literal, introduce
5556         a temporary before expanding assignment into a loop.
5557
5558         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
5559         priority in full, to ensure that any expanded subepxressions of it are
5560         elaborated in the scope of the init_proc.
5561
5562         * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
5563         after object declaration, skipping over code that may have been
5564         generated for validity checks.
5565
5566         * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
5567         discriminants, ignore the known discriminants of its full view, if
5568         any, to check legality.
5569
5570         * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
5571         component if type has unknown discriminants.
5572         (Analyze_Private_Extension_Declaration): Discriminant constraint is
5573         null if type has unknown discriminants.
5574
5575         * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
5576         for end label when present.
5577
5578         * s-fileio.adb (Open): When called with a C_Stream, use given name for
5579         temporary file, rather than an empty string.
5580
5581 2004-03-15  Ed Falis  <falis@gnat.com>
5582
5583         * s-thread.adb: Removed, no longer used.
5584
5585 2004-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5586
5587         * decl.c (target.h): Now include.
5588         (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
5589         in new build_pointer_from_mode calls for non-fat/non-thin pointer.
5590         (validate_size): For POINTER_TYPE, get smallest size permitted on
5591         machine.
5592
5593         * fe.h: Sort Einfo decls and add Set_Mechanism.
5594
5595         * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
5596         (ada/decl.o): Depends on target.h.
5597
5598         * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
5599         FUNCTION_BOUNDARY; always use TYPE_ALIGN.
5600
5601 2004-03-15  Thomas Quinot  <quinot@act-europe.fr>
5602
5603         * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
5604
5605         * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
5606         Insert_Dereference_Action when rewriting an implicit dereference into
5607         an explicit one, this will be taken care of during expansion of the
5608         explicit dereference.
5609         (Expand_N_Slice): Same. Always do the rewriting, even for the case
5610         of non-packed slices, since the dereference action generated by
5611         expansion of the explicit dereference is needed in any case.
5612         (Expand_N_Selected_Component): When rewriting an implicit dereference,
5613         analyze and resolve the rewritten explicit dereference so it is seen
5614         by the expander.
5615         (Insert_Dereference_Action): This procedure is now called only for the
5616         expansion of an N_Explcit_Dereference_Node. Do insert a check even for
5617         dereferences that do not come from source (including explicit
5618         dereferences resulting from rewriting implicit ones), but do not
5619         recursively insert a check for the dereference nodes contained within
5620         the check.
5621         (Insert_Dereference_Action): Clarify and correct comment.
5622
5623 2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
5624
5625         PR ada/14131
5626         Move language detection to the top level.
5627         * config-lang.in: Build by default.
5628
5629 2004-03-05  Robert Dewar  <dewar@gnat.com>
5630
5631         * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
5632
5633         * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
5634         i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
5635         5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
5636         5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
5637         unchecked conversion to spec to avoid warnings.
5638
5639         * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
5640         to Task_ID
5641
5642         * 7stpopsp.adb: Correct casing in To_Task_ID call
5643
5644         * a-strsea.ads, a-strsea.adb: Minor reformatting
5645
5646         * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
5647
5648         * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
5649         Adjust Max_Msg_Length to be clearly large enough.
5650
5651         * fe.h: Define In_Same_Source_Unit
5652
5653         * osint.adb: Add pragma Warnings Off to suppress warnings
5654         * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
5655         aliasing warnings.
5656
5657         * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
5658
5659         * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
5660
5661         * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
5662
5663         * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
5664
5665         * sem_prag.adb: Implement pragma No_Strict_Aliasing.
5666
5667         * sinfo.ads: Remove obsolete comment on validate unchecked conversion
5668         node. We now do generate them for gcc back end.
5669
5670         * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
5671         warning.
5672
5673         * sinput-c.adb: Fix bad name in header.
5674         Add pragma Warnings Off to suppress aliasing warning.
5675
5676         * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
5677
5678         * snames.h, snames.ads, snames.adb: Add entry for pragma
5679         No_Strict_Aliasing.
5680
5681 2004-03-05  Vincent Celier  <celier@gnat.com>
5682
5683         * prj-com.ads: Add hash table Files_Htable to check when a file name
5684         is already a source of another project.
5685
5686         * prj-nmsc.adb (Record_Source): Before recording a new source, check
5687         if its file name is not already a source of another project. Report an
5688         error if it is.
5689
5690         * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
5691         source file name, call gnatpp with all the sources of the main project.
5692
5693         * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
5694         of file names.
5695
5696         * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
5697         NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
5698         /RUNTIME_SYSTEM=, converted to --RTS=
5699         /NOTABS, converted to -notabs
5700
5701 2004-03-05  Pascal Obry  <obry@gnat.com>
5702
5703         * make.adb: Minor reformatting.
5704
5705 2004-03-05  Ed Schonberg  <schonberg@gnat.com>
5706
5707         Part of implemention of AI-262.
5708         * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
5709
5710         * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
5711         procedure.
5712
5713         * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
5714         when component type is a partially constrained class-wide subtype.
5715         (Constrain_Discriminated_Type): If parent type has unknown
5716         discriminants, a constraint is illegal, even if full view has
5717         discriminants.
5718         (Build_Derived_Record_Type): Inherit discriminants when deriving a type
5719         with unknown discriminants whose full view is a discriminated record.
5720
5721         * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
5722         flag, to handle properly derivations of tagged types with unknown
5723         discriminants.
5724         (Analyze_Package_Spec, Analyze_Package_Body): Install
5725         Private_With_Clauses before analyzing private part or body.
5726
5727         * einfo.ads: Indicate that both Has_Unknown_Discriminants and
5728         Has_Discriminants can be true for a given type (documentation).
5729
5730 2004-03-05  Arnaud Charlet  <charlet@act-europe.fr>
5731
5732         * s-restri.ads: Fix license (GPL->GMGPL).
5733
5734         * s-tassta.adb: Minor reformatting.
5735
5736         * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
5737         by calls to Exit_One_ATC_Level, since additional clean up is performed
5738         by this function.
5739
5740         * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
5741         by calls to Exit_One_ATC_Level, since additional clean up is performed
5742         by this function.
5743
5744 2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5745
5746         * trans.c: Reflect GCC changes to fix bootstrap problem.
5747         Add warning for suspicious aliasing unchecked conversion.
5748
5749 2004-03-05  GNAT Script  <nobody@gnat.com>
5750
5751         * Make-lang.in: Makefile automatically updated
5752
5753 2004-03-02  Emmanuel Briot  <briot@act-europe.fr>
5754
5755         * ali.adb (Read_Instantiation_Instance): Do not modify the
5756         current_file_num when reading information about instantiations, since
5757         this corrupts files in later references.
5758
5759 2004-03-02  Vincent Celier  <celier@gnat.com>
5760
5761         * bcheck.adb (Check_Consistency): Get the full path of an ALI file
5762         before checking if it is read-only.
5763
5764         * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
5765         of SRC_DIRS and eliminate duplicates.
5766
5767         * gprcmd.adb: Replace command "path" with command "path_sep" to return
5768         the path separator.
5769         (Usage): Document path_sep
5770
5771         * Makefile.generic: For Ada and GNU C++ cases, link directly with the
5772         C++ compiler. No need for a script.
5773         Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
5774         Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
5775         subst.
5776
5777         * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
5778         where there are Ada sources.
5779         (Set_Ada_Paths): Only add to the include path the source dirs of project
5780         with Ada sources.
5781         (Add_To_Path): Add the Display_Values of the directories, not their
5782         Values.
5783
5784         * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
5785         data.
5786
5787         * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
5788         is not No_Name.
5789         (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
5790         Value is canonicalized.
5791         (Language_Independent_Check): Do not copy Value to Display_Value when
5792         canonicalizing Value.
5793
5794         * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
5795         path to find limited with cycles.
5796         (Parse_Single_Project): Use canonical cased path to find the end of a
5797         with cycle.
5798
5799 2004-03-02  Ed Schonberg  <schonberg@gnat.com>
5800
5801         * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
5802         and not a child unit.
5803
5804         * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
5805         appear in a with_clause.
5806
5807         * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
5808         only happen in type_annotate mode, do not try to elaborate it.
5809
5810         * exp_util.adb (Force_Evaluation): If expression is a selected
5811         component on the left of an assignment, use a renaming rather than a
5812         temporary to remove side effects.
5813
5814         * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
5815         inlined instance body, which is analyzed before the end of the
5816         enclosing scope.
5817
5818 2004-03-02  Robert Dewar  <dewar@gnat.com>
5819
5820         * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
5821         sem_ch4.adb: Use new feature for substitution of keywords in VMS
5822
5823         * errout.ads, errout.adb: Implement new circuit for substitution of
5824         keywords in VMS.
5825
5826         * sem_case.adb (Analyze_Choices): Place message properly when case is
5827         a subtype reference rather than an explicit range.
5828
5829         * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
5830
5831 2004-03-02  Doug Rupp  <rupp@gnat.com>
5832
5833         * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
5834
5835 2004-03-02  Thomas Quinot  <quinot@act-europe.fr>
5836
5837         * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
5838
5839 2004-03-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5840
5841         * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
5842         BLKmode bitfield.
5843
5844 2004-02-25  Robert Dewar  <dewar@gnat.com>
5845
5846         * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
5847         55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
5848         5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
5849         5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
5850         5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
5851         5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
5852         the defining instance of the type to avoid aliasing problems.
5853         Fix copyright header.  Fix bad comments in package header.
5854
5855         * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
5856
5857 2004-02-25  Ed Schonberg  <schonberg@gnat.com>
5858
5859         * exp_ch2.adb (Param_Entity): Handle properly formals that have been
5860         rewritten as references when aliased through an address clause.
5861
5862         * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
5863         whether call can be interpreted as an indirect call to the result of a
5864         parameterless function call returning an access subprogram.
5865
5866 2004-02-25  Arnaud Charlet  <charlet@act-europe.fr>
5867
5868         Code clean up:
5869         * exp_ch7.adb (Make_Clean): Remove generation of calls to
5870         Unlock[_Entries], since this is now done by Service_Entries directly.
5871
5872         * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
5873
5874         * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
5875         Requeue_Call for better code readability. Change spec and update calls:
5876         PO_Service_Entries now unlock the PO on exit.
5877         (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
5878         PO_Service_Entries.
5879
5880         * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
5881
5882         * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
5883
5884 2004-02-25  Sergey Rybin  <rybin@act-europe.fr>
5885
5886         * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
5887         protected subprogram call and analyzing the result of such expanding
5888         in case when the called protected subprogram is eliminated.
5889
5890         * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
5891         names.
5892
5893 2004-02-25  Jerome Guitton  <guitton@act-europe.fr>
5894
5895         * Makefile.in: Clean ups.
5896
5897 2004-02-23  Ed Schonberg  <schonberg@gnat.com>
5898
5899         * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
5900         protected operations if original subprogram is flagged as eliminated.
5901         (Expand_N_Subprogram_Body): For a protected operation, create
5902         discriminals for next operation before checking whether the operation
5903         is eliminated.
5904
5905         * exp_ch9.adb (Expand_N_Protected_Body,
5906         Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
5907         for internal protected operations if the original subprogram is
5908         eliminated.
5909
5910         * sem_elim.adb (Check_Eliminated): Handle properly protected operations
5911         declared in a single protected object.
5912
5913 2004-02-23  Vincent Celier  <celier@gnat.com>
5914
5915         * prj-attr.adb: Make attribute Builder'Executable an associative array,
5916         case insensitive if file names are case insensitive, instead of a
5917         standard associative array.
5918
5919         * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
5920         them as case insensitive on platforms where the file names are case
5921         sensitive.
5922
5923         * prj-part.adb (Parse_Single_Project): Make sure, when checking if
5924         project file has already been parsed that canonical path are compared.
5925
5926 2004-02-23  Robert Dewar  <dewar@gnat.com>
5927
5928         * sinput-c.ads: Correct bad unit title in header
5929
5930         * freeze.adb: Minor reformatting
5931
5932 2004-02-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5933
5934         * trans.c (tree_transform, case N_Procedure_Call_Statement): For
5935         nonaddressable COMPONENT_REF that is removing padding that we are
5936         taking the address of, take the address of the padded record instead
5937         if item is variable size.
5938
5939 2004-02-20  Robert Dewar  <dewar@gnat.com>
5940
5941         * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
5942
5943 2004-02-20  Ed Schonberg  <schonberg@gnat.com>
5944
5945         * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
5946         itype references for the constrained designated type of a component
5947         whose base type is already frozen.
5948
5949 2004-02-20  Arnaud Charlet  <charlet@act-europe.fr>
5950
5951         * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
5952         avoid GCC warnings.
5953
5954 2004-02-20  Sergey Rybin  <rybin@act-europe.fr>
5955
5956         * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
5957         identifier for a phantom package that rewrites the formal package
5958         declaration with a box. The Add semantic decorations for the defining
5959         identifier from the original node (that represents the formal package).
5960
5961 2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
5962
5963         * Make-lang.in (ada/stamp-sdefault): Use the top level
5964         move-if-change.
5965
5966 2004-02-19  Richard Henderson  <rth@redhat.com>
5967
5968         * misc.c (record_code_position): Add third build arg for RTL_EXPR.
5969
5970 2004-02-18  Emmanuel Briot  <briot@act-europe.fr>
5971
5972         * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
5973         Scan_ALI can be used for multiple ALI files without reinitializing
5974         between calls.
5975
5976 2004-02-18  Robert Dewar  <dewar@gnat.com>
5977
5978         * debug.adb: Minor reformatting.
5979
5980 2004-02-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5981
5982         * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
5983         to zero if there is an address clause.
5984
5985 2004-02-18  Thomas Quinot  <quinot@act-europe.fr>
5986
5987         * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
5988
5989 2004-02-18  Gary Dismukes  <dismukes@gnat.com>
5990
5991         * layout.adb (Layout_Component_List): Revise generation of call to
5992         discriminant-checking function to pass selections of all of the type's
5993         discriminants rather than just the variant-controlling discriminant.
5994
5995 2004-02-18  Olivier Hainque  <hainque@act-europe.fr>
5996
5997         * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
5998         fail in the current setup and triggers spurious system error messages.
5999         Pretend it occurred and failed instead.
6000
6001 2004-02-18  Vincent Celier  <celier@gnat.com>
6002
6003         * bld.adb: Mark FLDFLAGS as saved
6004         (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
6005         it is not the root project.  Put each directory to be
6006         extended between double quotes to prevent it to be expanded on Windows.
6007         (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
6008         the project file. Set them back to their initial values if they have not
6009         been set in the project file.
6010
6011         * gprcmd.adb: (Gprdebug, Debug): New global variables
6012         (Display_Command): New procedure
6013         (Usage): Document new command "linkopts"
6014         Call Display_Command when env var GPRDEBUG has the value "TRUE"
6015         Implement new command "linkopts"
6016         Remove quotes that may be around arguments for "extend"
6017         Always call Normalize_Pathname with arguments formatted for the platform
6018
6019         * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
6020         Change @echo to @$(display) in target clean to be able to clean silently
6021
6022         * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
6023
6024         * prj-part.adb (Project_Path_Name_Of): Do not put final result in
6025         canonical case.
6026
6027         * prj-part.adb (Parse_Single_Project): Always call with From_Extended
6028         = Extending_All when current project is an extending all project.
6029
6030         * vms_conv.adb (Output_File_Expected): New Boolean global variable,
6031         set to True only for LINK command, after Unix switch -o.
6032         (Process_Arguments): Set Output_File_Expected to True for LINK command
6033         after Unix switch -o. When Output_File_Expected is True, never add an
6034         extension to a file name.
6035
6036         * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
6037         option file name, only to the --for-linker= switch.
6038         (Option_File_Name): If option file name do not end with ".opt", append
6039         "/OPTIONS".
6040
6041 2004-02-18  GNAT Script  <nobody@gnat.com>
6042
6043         * Make-lang.in: Makefile automatically updated
6044
6045 2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
6046
6047         * Make-lang.in (stamp-sdefault): Do not depend on
6048         move-if-change.
6049
6050 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
6051
6052         * config-lang.in: Disable Ada by default until probe logic for
6053         a bootstrap Ada compiler can be moved to the top level configure
6054         script.
6055
6056 2004-02-12  Olivier Hainque  <hainque@act-europe.fr>
6057
6058         * decl.c (components_to_record): Don't claim that the internal fields
6059         we make to hold the variant parts are semantically addressable, because
6060         they are not.
6061
6062         * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
6063         adjust the comment describing the modular type form when we can use it.
6064         (Install_PAT): Account for the Esiz renaming.
6065
6066         * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
6067         sc_onstack context indication before raising the exception to which
6068         the signal is mapped. Allows better handling of later signals possibly
6069         triggered by the resumed user code if the exception is handled.
6070
6071 2004-02-12  Arnaud Charlet  <charlet@act-europe.fr>
6072
6073         * 5zinit.adb: Removed, no longer used.
6074
6075 2004-02-12  Robert Dewar  <dewar@gnat.com>
6076
6077         * ali.adb: Remove separating space between parameters on R line. Makes
6078         format consistent with format used by the binder for Set_Globals call.
6079
6080         * atree.ads, atree.adb: Minor reformatting (new function header format)
6081
6082         * bindgen.adb: Add Run-Time Globals documentation section containing
6083         detailed documentation of the globals passed from the binder file to
6084         the run time.
6085
6086         * gnatls.adb: Minor reformatting
6087
6088         * init.c (__gnat_set_globals): Add note pointing to documentation in
6089         bindgen.
6090
6091         * lib-writ.ads, lib-writ.adb: Remove separating space between
6092         parameters on R line.
6093         Makes format consistent with format used by the binder for Set_Globals
6094         call.
6095
6096         * osint.ads: Add 2004 to copyright notice
6097         Minor reformatting
6098
6099         * snames.ads: Correct capitalization of FIFO_Within_Priorities
6100         Noticed during code reading, documentation issue only
6101
6102         * usage.adb: Remove junk line for obsolete C switch
6103         Noticed during code reading
6104
6105 2004-02-12  Vincent Celier  <celier@gnat.com>
6106
6107         * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
6108         extend for each directory, so that multiple /** directories are
6109         extended individually.
6110         (Recursive_Process): Set the default for LANGUAGES to ada
6111
6112         * gprcmd.adb: Define new command "ignore", to do nothing.
6113         Implement new comment "path".
6114
6115         * Makefile.generic: Suppress output when SILENT is set
6116         Make sure that when compiler for C/C++ is gcc, the correct -x switch is
6117         used, so that the correct compiler is invoked.
6118         When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
6119         CXX_INCLUDE_PATH, to avoid failure with too long command lines.
6120
6121 2004-02-12  Jerome Guitton  <guitton@act-europe.fr>
6122
6123         * Makefile.in: Clean ups and remove obsolete targets.
6124
6125 2004-02-12  Ed Schonberg  <schonberg@gnat.com>
6126
6127         * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
6128         predicate declared in exp_util.
6129
6130         * exp_util.adb: Add comments.
6131
6132         * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
6133         visibility before compiling context of the subunit.
6134
6135         * sem_res.adb (Check_Parameterless_Call): If the context expects a
6136         value but the name is a procedure, do not attempt to analyze as a call,
6137         in order to obtain more telling diagnostics.
6138
6139         * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
6140         'Access on parameterless function calls.
6141         (Normalize_Actuals): For a parameterless function call with missing
6142         actuals, defer diagnostic until resolution of enclosing call.
6143
6144         * sem_util.adb (Wrong_Type): If the context type is an access to
6145         subprogram and the expression is a procedure name, suggest a missing
6146         'attribute.
6147
6148 2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>,
6149             Nathanael Nerode  <neroden@gcc.gnu.org>
6150
6151         PR ada/6637, PR ada/5911
6152         Merge with libada-branch:
6153         * config-lang.in: Build libada only when ada is built.
6154
6155 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
6156
6157         * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
6158         for a tagged type, verify that both formals have the same type.
6159
6160         * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
6161         temporary when the formal is an in-parameter and the actual a possibly
6162         unaligned slice.
6163
6164         * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
6165         when expansion is disabled, to ensure proper name capture with
6166         overloaded literals.  Condition can be of any boolean type, resolve
6167         accordingly.
6168
6169         * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
6170         renaming is for a formal subprogram with a default operator name, and
6171         there is a usable operator that is visible at the point of
6172         instantiation.
6173
6174 2004-02-09  Robert Dewar  <dewar@gnat.com>
6175
6176         * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
6177         rewrite to ignore errors in ali files, intended to allow tools downward
6178         compatibility with new versions of ali files.
6179
6180         * ali.ads: Add new parameter Ignore_Errors
6181
6182         * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
6183         duplicating the error message giving the file with restrictions.
6184
6185         * debug.adb: Add debug flag I for gnatbind
6186
6187         * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
6188         operators for the case where the operator is a defining operator.
6189
6190         * exp_ch3.adb: Minor reformatting (new function spec format).
6191
6192         * exp_ch4.adb: Add comment for previous change, and make minor
6193         adjustment to loop to always check for improper loop termination.
6194         Minor reformatting throughout (new function spec format).
6195
6196         * gnatbind.adb: Implement -di debug flag for gnatbind
6197
6198         * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
6199
6200         * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
6201
6202         * lib-load.adb: Fix bad assertion.
6203         Found by testing and code reading.
6204         Minor reformatting.
6205
6206         * lib-load.ads: Minor reformatting.
6207
6208         * lib-writ.adb: There is only one R line now.
6209
6210         * lib-writ.ads: Add documentation on making downward compatible changes
6211         to ali files so old tools work with new ali files.
6212         There is only one R line now.
6213         Add documentation on format incompatibilities (with special GPS note)
6214
6215         * namet.ads, namet.adb: (Is_Operator_Name): New procedure
6216
6217         * par-load.adb: Minor reformatting
6218
6219         * sem_ch8.adb: Fix to error message from last update
6220         Minor reformatting and restructuring of code from last update
6221
6222         * par-prag.adb, snames.adb, snames.ads, snames.h,
6223         sem_prag.adb: Implement pragma Profile.
6224
6225         * stylesw.adb: Implement -gnatyN switch to turn off all style check
6226         options.
6227
6228         * usage.adb: Add line for -gnatyN switch
6229
6230         * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
6231
6232 2004-02-09  Albert Lee  <lee@gnat.com>
6233
6234         * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
6235
6236 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
6237
6238         * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
6239         slices.
6240
6241         * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
6242         is nested in an instance that is not frozen yet, to avoid
6243         order-of-elaboration problems in gigi.
6244
6245         * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
6246         body the attribute is legal.
6247
6248 2004-02-09  Robert Dewar  <dewar@gnat.com>
6249
6250         * s-rident.ads: Minor comment correction
6251
6252         * targparm.adb: Remove dependence on uintp completely. There was
6253         always a bug in Make in that it called Targparm before initializing
6254         the Uint package. The old code appeared to get away with this, but
6255         the new code did not! This caused an assertion error in gnatmake.
6256
6257         * targparm.ads: Fix bad comment, restriction pragmas with parameters
6258         are indeed fully supported.
6259
6260 2004-02-06  Alan Modra  <amodra@bigpond.net.au>
6261
6262         * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
6263
6264 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
6265
6266         * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
6267         with targetm.calls.promote_prototypes.
6268
6269 2004-02-04  Robert Dewar  <dewar@gnat.com>
6270
6271         * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
6272         ali.ads, gprcmd.adb: Minor reformatting
6273
6274         * bindgen.adb: Output restrictions string for new style restrictions
6275         handling
6276
6277         * impunit.adb: Add s-rident.ads (System.Rident) and
6278         s-restri (System.Restrictions)
6279
6280         * lib-writ.adb: Fix bug in writing restrictions string (last few
6281         entries wrong)
6282
6283         * s-restri.ads, s-restri.adb: Change name Restrictions to
6284         Run_Time_Restrictions to avoid conflict with package name.
6285         Add circuit to read and acquire run time restrictions.
6286
6287 2004-02-04  Jose Ruiz  <ruiz@act-europe.fr>
6288
6289         * restrict.ads, restrict.adb: Use the new restriction
6290         No_Task_Attributes_Package instead of the old No_Task_Attributes.
6291
6292         * sem_prag.adb: No_Task_Attributes is a synonym of
6293         No_Task_Attributes_Package.
6294
6295         * snames.ads, snames.adb: New entry for proper handling of
6296         No_Task_Attributes.
6297
6298         * s-rident.ads: Adding restriction No_Task_Attributes_Package
6299         (AI-00249) that supersedes the GNAT specific restriction
6300         No_Task_Attributes.
6301
6302 2004-02-04  Ed Schonberg  <schonberg@gnat.com>
6303
6304         * sem_prag.adb:
6305         (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
6306          body, an identifier may be wrapped in an unchecked conversion.
6307
6308 2004-02-04  Vincent Celier  <celier@gnat.com>
6309
6310         * lib-writ.ads: Comment update for the W lines
6311
6312         * bld.adb: (Expression): An empty string list is static
6313
6314         * fname-uf.adb: Minor comment update
6315
6316         * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
6317
6318         * gnatbind.adb: Initialize Cumulative_Restrictions with the
6319         restrictions on the target.
6320
6321 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
6322
6323         * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
6324         gen_rtx.
6325
6326 2004-02-02  Arnaud Charlet  <charlet@gnat.com>
6327
6328         * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
6329
6330 2004-02-02  Vincent Celier  <celier@gnat.com>
6331
6332         * gprcmd.adb (Check_Args): If condition is false, print the invoked
6333         comment before the usage.
6334         Gprcmd: Fail when command is not recognized.
6335         (Usage): Document command "prefix"
6336
6337         * g-md5.adb (Digest): Process last block.
6338         (Update): Do not process last block. Store remaining characters and
6339         length in Context.
6340
6341         * g-md5.ads (Update): Document that several call to update are
6342         equivalent to one call with the concatenated string.
6343         (Context): Add fields to allow new Update behaviour.
6344
6345         * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
6346         defaulted to False.
6347         When May_Fail is True and no existing file can be found, return No_File.
6348
6349         * 6vcstrea.adb: Inlined functions are now wrappers to implementation
6350         functions.
6351
6352         * lib-writ.adb (Write_With_Lines): When body file does not exist, use
6353         spec file name instead on the W line.
6354
6355 2004-02-02  Robert Dewar  <dewar@gnat.com>
6356
6357         * ali.adb: Read and acquire info from new format restrictions lines
6358
6359         * bcheck.adb: Add circuits for checking restrictions with parameters
6360
6361         * bindgen.adb: Output dummy restrictions data
6362         To be changed later
6363
6364         * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
6365         exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
6366         freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
6367         sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
6368         sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
6369
6370         * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
6371         the warning message on access to possibly uninitialized variable S)
6372         Minor changes for new restrictions handling.
6373
6374         * gnatbind.adb: Minor reformatting
6375         Minor changes for new restrictions handling
6376         Move circuit for -r processing here from bcheck (cleaner)
6377
6378         * gnatcmd.adb, gnatlink.adb: Minor reformatting
6379
6380         * lib-writ.adb: Output new format restrictions lines
6381
6382         * lib-writ.ads: Document new R format lines for new restrictions
6383         handling.
6384
6385         * s-restri.ads/adb: New files
6386
6387         * Makefile.rtl: Add entry for s-restri.ads/adb
6388
6389         * par-ch3.adb: Fix bad error messages starting with upper case letter
6390         Minor reformatting
6391
6392         * restrict.adb: Major rewrite throughout for new restrictions handling
6393         Major point is to handle restrictions with parameters
6394
6395         * restrict.ads: Major changes in interface to handle restrictions with
6396         parameters. Also generally simplifies setting of restrictions.
6397
6398         * snames.ads/adb: New entry for proper handling of No_Requeue
6399
6400         * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
6401         restriction counting.
6402         Other minor changes for new restrictions handling
6403
6404         * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
6405         Restriction_Warnings now allows full parameter notation
6406         Major rewrite of Restrictions for new restrictions handling
6407
6408 2004-02-02  Javier Miranda  <miranda@gnat.com>
6409
6410         * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
6411         syntax rule for object renaming declarations.
6412         (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
6413         component definitions.
6414
6415         * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
6416         components.
6417         (Array_Type_Declaration): Give support to access components. In addition
6418         it was also modified to reflect the name of the object in anonymous
6419         array types. The old code did not take into account that it is possible
6420         to have an unconstrained anonymous array with an initial value.
6421         (Check_Or_Process_Discriminants): Allow access discriminant in
6422         non-limited types.
6423         (Process_Discriminants): Allow access discriminant in non-limited types
6424         Initialize the new Access_Definition field in N_Object_Renaming_Decl
6425         node.  Change Ada0Y to Ada 0Y in comments
6426
6427         * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
6428         equality operators.
6429         Change Ada0Y to Ada 0Y in comments
6430
6431         * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
6432         renamings Change Ada0Y to Ada 0Y in comments
6433
6434         * sem_type.adb (Find_Unique_Type): Give support to the equality
6435         operators for universal access types
6436         Change Ada0Y to Ada 0Y in comments
6437
6438         * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
6439
6440         * sinfo.ads (N_Component_Definition): Addition of Access_Definition
6441         field.
6442         (N_Object_Renaming_Declaration): Addition of Access_Definition field
6443         Change Ada0Y to Ada 0Y in comments
6444
6445         * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
6446         component definition and object renaming nodes
6447         Change Ada0Y to Ada 0Y in comments
6448
6449 2004-02-02  Jose Ruiz  <ruiz@act-europe.fr>
6450
6451         * restrict.adb: Use the new restriction identifier
6452         No_Requeue_Statements instead of the old No_Requeue for defining the
6453         restricted profile.
6454
6455         * sem_ch9.adb (Analyze_Requeue): Check the new restriction
6456         No_Requeue_Statements.
6457
6458         * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
6459         that supersedes the GNAT specific restriction No_Requeue. The later is
6460         kept for backward compatibility.
6461
6462 2004-02-02  Ed Schonberg  <schonberg@gnat.com>
6463
6464         * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
6465         5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
6466         pragma and fix incorrect ones.
6467
6468         * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
6469         warning if the pragma is redundant.
6470
6471 2004-02-02  Thomas Quinot  <quinot@act-europe.fr>
6472
6473         * 5staprop.adb: Add missing 'constant' keywords.
6474
6475         * Makefile.in: use consistent value for SYMLIB on
6476         platforms where libaddr2line is supported.
6477
6478 2004-02-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6479
6480         * utils.c (end_subprog_body): Do not call rest_of_compilation if just
6481         annotating types.
6482
6483 2004-02-02  Olivier Hainque  <hainque@act-europe.fr>
6484
6485         * init.c (__gnat_install_handler): Setup an alternate stack for signal
6486         handlers in the environment thread. This allows proper propagation of
6487         an exception on stack overflows in this thread even when the builtin
6488         ABI stack-checking scheme is used without support for a stack reserve
6489         region.
6490
6491         * utils.c (create_field_decl): Augment the head comment about bitfield
6492         creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
6493         here, because the former is not accurate enough at this point.
6494         Let finish_record_type decide instead.
6495         Don't make a bitfield if the field is to be addressable.
6496         Always set a size for the field if the record is packed, to ensure the
6497         checks for bitfield creation are triggered.
6498         (finish_record_type): During last pass over the fields, clear
6499         DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
6500         not covered by the calls to layout_decl.  Adjust DECL_NONADDRESSABLE_P
6501         from DECL_BIT_FIELD.
6502
6503 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
6504
6505         * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
6506         (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
6507         (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
6508
6509 2004-01-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6510
6511         * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
6512
6513         * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
6514         (ZCX_By_Default): Likewise.
6515         (Front_End_ZCX_Support): Likewise.
6516
6517         * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
6518         (Initialize_Lock): Mark Level unreferenced.
6519         (Sleep): Mark Reason unreferenced.
6520         (Timed_Sleep): Likewise.
6521         (Wakeup): Likewise.
6522         (Exit_Task): Use Result.
6523         (Check_No_Locks): Mark Self_ID unreferenced.
6524
6525         * 5gtasinf.adb (New_Sproc): Make Attr constant.
6526         (Bound_Thread_Attributes): Make Sproc constant.
6527         (New_Bound_Thread_Attributes): Likewise.
6528
6529 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
6530
6531         * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
6532         one-dimensional array an slice assignments, when component type is
6533         controlled.
6534
6535         * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
6536         component type is controlled, and control_actions are in effect, use
6537         TSS procedure rather than generating inline code.
6538
6539         * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
6540         arrays with controlled components.
6541
6542 2004-01-26  Vincent Celier  <celier@gnat.com>
6543
6544         * gnatcmd.adb (GNATCmd): Add specification of argument file on the
6545         command line for the non VMS case.
6546
6547         * gnatlink.adb (Process_Binder_File): When building object file, if
6548         GNU linker is used, put all object paths between quotes, to prevent ld
6549         error when there are unusual characters (such as '!') in the paths.
6550
6551         * Makefile.generic: When there are sources in Ada and the main is in
6552         C/C++, invoke gnatmake with -B, instead of -z.
6553
6554         * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
6555         from VMS_Conversion.
6556         (Process_Argument): New procedure, extracted from VMS_Conversion. Add
6557         specification of argument file on the command line.
6558
6559 2004-01-26  Bernard Banner  <banner@gnat.com>
6560
6561         * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
6562
6563 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
6564
6565         * snames.adb: Update copyright notice.
6566         Add info on slice assignment for controlled arrays.
6567
6568 2004-01-23  Robert Dewar  <dewar@gnat.com>
6569
6570         * exp_aggr.adb: Minor reformatting
6571
6572         * exp_ch9.adb: Minor code clean up
6573         Minor reformatting
6574         Fix bad character in comment
6575
6576         PR ada/13471
6577         * targparm.adb (Get_Target_Parameters): Give clean abort error on
6578         unexpected end of file, along with more detailed message.
6579
6580 2004-01-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6581
6582         * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
6583         PAT.
6584
6585         * decl.c (copy_alias_set): New function.
6586         (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
6587
6588 2004-01-23  Doug Rupp  <rupp@gnat.com>
6589
6590         * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
6591         lib$${file} in case subsequent character is not a separator.
6592
6593 2004-01-23  Vincent Celier  <celier@gnat.com>
6594
6595         * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
6596         when the GCC version is at least 3.
6597
6598         * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
6599         Remove all "Opt.", to prepare for opt split
6600
6601         * prj-part.adb (Parse_Single_Project): New Boolean out parameter
6602         Extends_All. Set to True when the project parsed is an extending all
6603         project. Fails for importing an extending all project only when the
6604         imported project is an extending all project.
6605         (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
6606         depending on the value of Extends_All returned.
6607
6608         * prj-proc.adb (Process): Check that no project shares its object
6609         directory with a project that extends it, directly or indirectly,
6610         including a virtual project.
6611         Check that no project extended by another project shares its object
6612         directory with another also extended project.
6613
6614         * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
6615         Kind = N_With_Clause
6616
6617         * prj-tree.ads: Minor reformatting
6618         Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
6619
6620 2004-01-23  Ed Schonberg  <schonberg@gnat.com>
6621
6622         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
6623         applies to a type with an incomplete view, use full view in Name of
6624         clause, for consistency with uses of Get_Attribute_Definition_Clause.
6625
6626 2004-01-23  Arnaud Charlet  <charlet@act-europe.fr>
6627
6628         * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
6629         SCHED_RR, since other values are not supported by this policy.
6630         (Initialize): Move initialization of mutex attribute to package
6631         elaboration, to prevent early access to this variable.
6632
6633         * Makefile.in: Remove mention of Makefile.adalib, unused.
6634
6635         * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
6636         1ssecsta.ads: Removed, unused.
6637
6638 2004-01-21  Javier Miranda  <miranda@gnat.com>
6639
6640         * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
6641         entity if already built in the current scope.
6642
6643         * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
6644         reminder in internal scopes. Required for nested limited aggregates.
6645
6646 2004-01-21  Doug Rupp  <rupp@gnat.com>
6647
6648         * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
6649         VMS. Replace all occurences of libgnat- and libgnarl- with
6650         libgnat$(hyphen) and libgnarl$(hyphen).
6651         Fixed shared library build problem on VMS.
6652
6653 2004-01-21  Robert Dewar  <dewar@gnat.com>
6654
6655         * mlib-prj.adb: Minor reformatting
6656
6657 2004-01-21  Thomas Quinot  <quinot@act-europe.fr>
6658
6659         * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
6660         'constant' keywords for declaration of pointers that are not modified.
6661
6662         * exp_pakd.adb: Fix English in comment.
6663
6664 2004-01-21  Ed Schonberg  <schonberg@gnat.com>
6665
6666         PR ada/10889
6667         * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
6668         copy all attributes of the parent, including the foreign language
6669         convention.
6670
6671 2004-01-21  Sergey Rybin  <rybin@act-europe.fr>
6672
6673         PR ada/10565
6674         * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
6675         for 'delay until' statement.
6676
6677 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
6678
6679         * Make-lang.in: Replace $(docdir) with doc.
6680         (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
6681         doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
6682         to use consistent MAKEINFO rule.
6683         (ada.man, ada.srcman): Dummy entry.
6684         (ADA_INFOFILES): Define.
6685         (ada.info, ada.srcinfo): New rules.
6686
6687 2004-01-19  Arnaud Charlet  <charlet@act-europe.fr>
6688
6689         * utils.c: Update copyright notice, missed in previous change.
6690
6691 2004-01-19  Vincent Celier  <celier@gnat.com>
6692
6693         * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
6694         args if Bind is True. Set First_ALI, if not already done.
6695         (Build_Library): For Stand Alone Libraries, extract from one ALI file
6696         an eventual --RTS switch, for gnatbind, and all backend switches +
6697         --RTS, for linking.
6698
6699 2004-01-19  Robert Dewar  <dewar@gnat.com>
6700
6701         * sem_attr.adb, memtrack.adb: Minor reformatting
6702
6703 2004-01-19  Ed Schonberg  <schonberg@gnat.com>
6704
6705         * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
6706         that rename enumeration literals. This is properly done in sem_eval.
6707
6708         * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
6709         to functions that rename enumeration literals.
6710
6711         * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
6712         functions that rename enumeration literals.
6713
6714 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
6715
6716         * Make-lang.in (utils.o): Depend on target.h.
6717         * utils.c: Include target.h.
6718         (process_attributes): Use targetm.have_named_sections instead
6719         of ASM_OUTPUT_SECTION_NAME.
6720
6721 2004-01-16  Andreas Jaeger  <aj@suse.de>
6722
6723         * Makefile.in: Add $(DESTDIR).
6724
6725 2004-01-15  Olivier Hainque  <hainque@act-europe.fr>
6726
6727         * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
6728         also when not defining if a Size clause applies. That information is
6729         not to be ignored.
6730
6731 2004-01-15  Arnaud Charlet  <charlet@act-europe.fr>
6732
6733         * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
6734         symbolic links for the shared gnat run time when needed.
6735
6736 2004-01-15  Vasiliy Fofanov  <fofanov@act-europe.fr>
6737
6738         * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
6739         for writing, and terminate with an error message if not.
6740
6741 2004-01-15  Ed Schonberg  <schonberg@gnat.com>
6742
6743         * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
6744         warning on an access to subprogram in an instance, when the target
6745         type is declared in the same generic unit.
6746         (Eval_Attribute): If 'access is known to fail accessibility check,
6747         rewrite as a raise statement.
6748
6749 2004-01-15  GNAT Script  <nobody@gnat.com>
6750
6751         * Make-lang.in: Makefile automatically updated
6752
6753 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
6754
6755         * Make-lang.in (ada.srcextra): Dummy entry.
6756
6757 2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
6758
6759         * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
6760
6761 2004-01-13  Ed Schonberg  <schonberg@gnat.com>
6762
6763         * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
6764         components that are initialized with aggregates.
6765
6766 2004-01-13  Vincent Celier  <celier@gnat.com>
6767
6768         * gnatlink.adb (Process_Binder_File): To find directory of shared
6769         libgcc, if "gcc-lib" is not a subdirectory, look for the last
6770         subdirectory "lib" in the path of the shared libgnat or libgnarl.
6771
6772         * make.adb (Gnatmake): If GCC version is at least 3, link with
6773         -shared-libgcc, when there is at least one shared library project.
6774
6775         * opt.ads (GCC_Version): New integer constant.
6776
6777         * adaint.c (get_gcc_version): New function.
6778
6779 2004-01-13  Robert Dewar  <dewar@gnat.com>
6780
6781         * sem_dist.adb, sem_res.adb, sem_util.adb,
6782         sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
6783         exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
6784
6785 2004-01-13  Thomas Quinot  <quinot@act-europe.fr>
6786
6787         * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
6788         g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
6789         declarations.
6790
6791 2004-01-12  Arnaud Charlet  <charlet@act-europe.fr>
6792
6793         * misc.c: Remove trailing spaces.
6794         Update copyright notice missed in previous change.
6795
6796         PR ada/13572
6797         * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
6798         prefix/share/make
6799
6800         * Makefile.generic: Update copyright.
6801         Add license notice.
6802
6803         * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
6804         of prefix/share/make.
6805
6806         * Makefile.prolog: Update copyright.
6807         Add license notice.
6808
6809 2004-01-12  Laurent Pautet  <pautet@act-europe.fr>
6810
6811         * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
6812         3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
6813         g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
6814         instead of String.
6815
6816         * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
6817         signature.
6818
6819 2004-01-12  Javier Miranda  <miranda@gnat.com>
6820
6821         * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
6822         exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
6823         sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
6824         sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
6825         Component_Definition node.
6826
6827 2004-01-12  Ed Falis  <falis@gnat.com>
6828
6829         * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
6830
6831 2004-01-12  Thomas Quinot  <quinot@act-europe.fr>
6832
6833         * link.c: Change default libgnat kind to STATIC for FreeBSD.
6834
6835 2004-01-12  Bernard Banner  <banner@gnat.com>
6836
6837         * Makefile.in: map 86numaux to a-numaux for x86_64
6838
6839 2004-01-12  Ed Schonberg  <schonberg@gnat.com>
6840
6841         * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
6842         generated to rename a generic actual, go to the actual itself, the
6843         subtype is not a user-visible entity.
6844
6845         * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
6846         part is a private subtype, reset the visibility of its full view, if
6847         any, to be consistent.
6848
6849         PR ada/13417
6850         * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
6851         to use a generic package G as a formal package for another generic
6852         declared within G.
6853
6854 2004-01-12  Robert Dewar  <dewar@gnat.com>
6855
6856         * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
6857
6858         * usage.adb: Remove mention of obsolete -gnatwb switch
6859         Noticed during code reading
6860
6861 2004-01-12  Jerome Guitton  <guitton@act-europe.fr>
6862
6863         * 1ssecsta.adb: Minor changes for -gnatwa warnings
6864
6865 2004-01-12  GNAT Script  <nobody@gnat.com>
6866
6867         * Make-lang.in: Makefile automatically updated
6868
6869 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
6870
6871         * misc.c (gnat_expand_expr): Add alt_rtl parameter.
6872
6873 2004-01-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6874
6875         * link.c [sgi] (shared_libgnat_default): Change to STATIC.
6876
6877 2004-01-05  Kelley Cook  <kcook@gcc.gnu.org>
6878
6879         * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
6880         Update comment and copyright date.
6881         * stamp-xgnatug: Delete.
6882
6883 2004-01-05  Robert Dewar  <dewar@gnat.com>
6884
6885         * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
6886         be modified by the binder generated main program if the -D switch is
6887         used.
6888
6889         * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
6890         imported functions (since now we expect this to be done for imported
6891         functions)
6892
6893         * 5vtaprop.adb: Add several ??? for sections requiring more comments
6894         Minor reformatting throughout
6895
6896         * 5zinit.adb: Minor reformatting
6897         Add 2004 to copyright date
6898         Minor changes to avoid -gnatwa warnings
6899         Correct some instances of using OR instead of OR ELSE (noted while
6900         doing reformatting)
6901
6902         * sprint.adb: Minor updates to avoid -gnatwa warnings
6903
6904         * s-secsta.ads, s-secsta.adb:
6905         (SS_Get_Max): New function to obtain high water mark for ss stack
6906         Default_Secondary_Stack is not a constant since it may be modified by
6907         the binder generated main program if the -D switch is used.
6908
6909         * switch-b.adb: New -Dnnn switch for binder
6910
6911         * switch-c.adb:
6912         Make -gnatg imply all warnings currently in -gnatwa
6913
6914         * vms_conv.adb: Minor reformatting
6915         Add 2004 to copyright notice
6916         Add 2004 to printed copyright notice
6917
6918         * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
6919         3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
6920         5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
6921         5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
6922         5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
6923         5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
6924         5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
6925         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
6926         5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
6927         5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
6928         6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
6929         vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
6930         xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
6931         sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
6932         checks.adb, clean.adb, cstand.adb, einfo.ads,
6933         einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
6934         exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
6935         prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
6936         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
6937         g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
6938         lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
6939         Minor reformatting and code clean ups.
6940         Minor changes to prevent -gnatwa warnings
6941
6942         * ali.adb: Minor reformatting and cleanup of code
6943         Acquire new SS indication of secondary stack use from ali files
6944
6945         * a-numaux.ads: Add Pure_Function pragmas for all imported functions
6946         (since now we expect this to be done for imported functions)
6947
6948         * bindgen.adb: Generate call to modify default secondary stack size if
6949         -Dnnn switch given
6950
6951         * bindusg.adb: Add line for new -D switch
6952
6953         * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
6954         replacement name for Type_May_Have_Non_Bit_Aligned_Components!
6955         Add circuitry for both records and arrays to avoid gigi
6956         processing if the type involved has non-bit-aligned components
6957
6958         * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
6959         N_String_Literal node always references an E_String_Literal_Subtype
6960         entity. This may not be true in the future.
6961         (Possible_Bit_Aligned_Component): Move processing of
6962         Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
6963
6964         * exp_ch6.adb (Expand_Thread_Body): Pick up
6965         Default_Secondary_Stack_Size as variable so that we get value modified
6966         by possible -Dnnn binder parameter.
6967
6968         * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
6969         (Type_May_Have_Bit_Aligned_Components): New function.
6970
6971         * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
6972         (Type_May_Have_Bit_Aligned_Components): New function.
6973
6974         * fe.h: (Set_Identifier_Casing): Fix prototype.
6975         Add declaration for Sem_Elim.Eliminate_Error_Msg.
6976         Minor reformatting.
6977
6978         * freeze.adb (Freeze_Entity): Add RM reference to error message about
6979         importing constant atomic/volatile objects.
6980         (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
6981         unless explicit Pure_Function pragma given, to avoid insidious bug of
6982         call to non-pure imported function getting eliminated.
6983
6984         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
6985         gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
6986         gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
6987         Add 2004 to printed copyright notice
6988
6989         * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
6990         stack used.
6991
6992         * Makefile.rtl: Add entry for g-sestin.o
6993         g-sestin.ads: New file.
6994
6995         * mdll.adb: Minor changes to avoid -gnatwa warnings
6996
6997         * mlib-tgt.adb: Minor reformatting
6998
6999         * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
7000         New switch Sec_Stack_Used (GNAT, GNATBIND)
7001         Make Default_Secondary_Stack_Size a variable instead of a constant,
7002         so that it can be modified by the new -Dnnn bind switch.
7003
7004         * rtsfind.adb (Load_Fail): Give full error message in configurable
7005         run-time mode if all_errors mode is set. This was not done in the case
7006         of a file not found, which was an oversight.
7007         Note if secondary stack unit is used by compiler.
7008
7009         * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
7010         ineffective elaborate all pragmas on non-visible packages (this
7011         happened when a renamed subprogram was called). Now the elaborate all
7012         always goes on the package containing the renaming rather than the one
7013         containing the renamed subprogram.
7014
7015         * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
7016         (Process_Eliminate_Pragma): Add parameter to capture pragma location.
7017
7018         * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
7019         has an Etype that references an E_String_Literal.
7020         (Eval_String_Literal): Avoid assumption that N_String_Literal node
7021         always references an E_String_Literal_Subtype entity. This may not
7022         be true in the future.
7023
7024         * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
7025         pragma location.
7026
7027         * sem_res.adb (Resolve): Specialize msg for function name used in proc
7028         call.
7029
7030 2004-01-05  Ed Falis  <falis@gnat.com>
7031
7032         * g-debuti.adb: Replaced direct boolean operator with short-circuit
7033         form.
7034
7035 2004-01-05  Vincent Celier  <celier@gnat.com>
7036
7037         * bld.adb: Minor comment updates
7038         (Process_Declarative_Items): Correct incorrect name (Index_Name instead
7039         of Item_Name).
7040
7041         * make.adb (Gnatmake): Special process for files to compile/check when
7042         -B is specified. Fail when there are only foreign mains in attribute
7043         Main of the project file and -B is not specified. Do not skip bind/link
7044         steps when -B is specified.
7045
7046         * makeusg.adb: Document new switch -B
7047
7048         * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
7049
7050         * switch-m.adb: (Scan_Make_Switches): Process -B switch
7051
7052         * vms_data.ads: Add new GNAT PRETTY qualifier
7053         /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
7054
7055 2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7056
7057         * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
7058         case.
7059
7060         * misc.c (gnat_printable_name): If VERBOSITY is 2, call
7061         Set_Identifier_Casing.
7062
7063         * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
7064         has size that overflows.
7065
7066 2004-01-05  Gary Dismukes  <dismukes@gnat.com>
7067
7068         * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
7069         -gnatwa warning on static condition.
7070
7071 2004-01-05  Doug Rupp  <rupp@gnat.com>
7072
7073         * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
7074
7075 2004-01-05  Arnaud Charlet  <charlet@act-europe.fr>
7076
7077         * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
7078         all attributes, including read-only attribute.
7079
7080 2004-01-05  Pascal Obry  <obry@gnat.com>
7081
7082         * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
7083         library naming scheme.
7084
7085         * mlib-prj.adb (Build_Library): Generate different names for the static
7086         or dynamic version of the GNAT runtime. This is needed to support the
7087         new shared library naming scheme.
7088         (Process_Binder_File): Add detection of shared library in binder file
7089         based on the new naming scheme.
7090
7091         * gnatlink.adb (Process_Binder_File): Properly detect the new naming
7092         scheme for the shared runtime libraries.
7093
7094         * Makefile.in:
7095         (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
7096         scheme.
7097         (install-gnatlib): Do not create symlinks for shared libraries.
7098         (gnatlib-shared-default): Idem.
7099         (gnatlib-shared-dual-win32): New target. Not used for now as the
7100         auto-import feature does not support arrays/records.
7101         (gnatlib-shared-win32): Do not create copy for the shared libraries.
7102         (gnatlib-shared-vms): Fix shared runtime libraries names.
7103
7104         * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
7105         dependent runtime shared library name.
7106
7107 2004-01-05  Vasiliy Fofanov  <fofanov@act-europe.fr>
7108
7109         * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
7110         than the object.
7111
7112 2004-01-05  Ed Schonberg  <schonberg@gnat.com>
7113
7114         * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
7115         protected objects when allocator has a subtype indication, not a
7116         qualified expression. Note that qualified expressions may have to be
7117         checked when limited aggregates are implemented.
7118
7119         * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
7120         pure, emit warning.
7121         (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
7122         subprogram is imported, remove warning.
7123
7124 2004-01-05  Geert Bosch  <bosch@gnat.com>
7125
7126         * s-poosiz.adb: Update copyright notice.
7127         (Allocate): Use Task_Lock to protect against concurrent access.
7128         (Deallocate): Likewise.
7129
7130 2004-01-05  Joel Brobecker  <brobecker@gnat.com>
7131
7132         * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
7133         comment.
7134
7135 2003-12-23  Kelley Cook  <kcook@gcc.gnu.org>
7136
7137         * gnat_ug.texi: Force a CVS commit by updating copyright.
7138         * gnat_ug_vxw.texi: Regenerate.
7139         * gnat_ug_wnt.texi: Regenerate.
7140         * gnat_ug_vms.texi: Regenerate.
7141         * gnat_ug_unx.texi: Regenerate.
7142
7143 2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
7144
7145         * trans.c: Remove uses of "register" specifier in
7146         declarations of local variables.
7147
7148 2003-12-18  Kelley Cook  <kcook@gcc.gnu.org>
7149
7150         * stamp-xgnatug: New stamp file.
7151         * Make-lang.in (stamp-xgnatug):  New stamp file and comment.
7152         (ada/doctools/xgnatug): Add $(build_exeext).
7153         (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
7154         ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
7155
7156 2003-12-17  Ed Falis  <falis@gnat.com>
7157
7158         * a-elchha.adb (Tailored_Exception_Information): made Info constant to
7159         eliminate warning.
7160
7161         * a-exextr.adb: Add context clause for
7162         Ada.Exceptions.Last_Chance_Handler.
7163
7164 2003-12-17  Sergey Rybin  <rybin@act-europe.fr>
7165
7166         * cstand.adb (Create_Standard): Change the way how the declaration of
7167         the Duration type is created (making it the same way as it is for all
7168         the other standard types).
7169
7170 2003-12-17  Robert Dewar  <dewar@gnat.com>
7171
7172         * s-crtl.ads: Fix header format
7173         Change Pure to Preelaborate
7174
7175 2003-12-17  Ed Schonberg  <schonberg@gnat.com>
7176
7177         * checks.adb (Selected_Length_Checks): Generate an Itype reference for
7178         the expression type only if it is declared in the current unit.
7179
7180         * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
7181         are universal and already analyzed, as can occur in constrained
7182         subcomponents that depend on discriminants, when one constraint is a
7183         subtype mark.
7184
7185         * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
7186         type Any_Fixed is legal as the argument of a conversion, if only one
7187         fixed-point type is in context.
7188
7189 2003-12-17  GNAT Script  <nobody@gnat.com>
7190
7191         * Make-lang.in: Makefile automatically updated
7192
7193 2003-12-15  Robert Dewar  <dewar@gnat.com>
7194
7195         * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
7196         sec stack size.
7197
7198 2003-12-15  Vincent Celier  <celier@gnat.com>
7199
7200         * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
7201         (Gnatchop): Do not set failure status when reporting the number of
7202         warnings.
7203
7204 2003-12-15  Doug Rupp  <rupp@gnat.com>
7205
7206         * s-ctrl.ads: New file.
7207
7208         * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
7209
7210         * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
7211         (GNATBIND_OBJS): Add ada/s-crtl.o.
7212
7213         * Makefile.in [VMS]: Clean up ifeq rules.
7214
7215         * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
7216         a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
7217         g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
7218         s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
7219         s-tasdeb.adb: Update copyright.
7220         Import System.CRTL.
7221         Make minor modifications to use System.CRTL declared functions instead
7222         of importing locally.
7223
7224 2003-12-15  GNAT Script  <nobody@gnat.com>
7225
7226         * Make-lang.in: Makefile automatically updated
7227
7228 2003-12-11  Ed Falis  <falis@gnat.com>
7229
7230         * 5zinit.adb: Clean up.
7231
7232         * 5zintman.adb (Notify_Exception): replaced case statement with a call
7233         to __gnat_map_signal, imported from init.c to support
7234         signal -> exception mappings that depend on the vxWorks version.
7235
7236         * init.c:
7237         Created and exported __gnat_map_signal to support signal -> exception
7238         mapping that is dependent on the VxWorks version.
7239         Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
7240
7241 2003-12-11  Vasiliy Fofanv  <fofanov@act-europe.fr>
7242
7243         * 5wosinte.ads: Link with -mthreads switch.
7244
7245 2003-12-11  Arnaud Charlet  <charlet@act-europe.fr>
7246
7247         * init.c (__gnat_install_handler [NetBSD]): Set
7248         __gnat_handler_installed, as done on all other platforms.
7249         Remove duplicated code.
7250
7251 2003-12-11  Jerome Guitton  <guitton@act-europe.fr>
7252
7253         * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
7254
7255 2003-12-11  Thomas Quinot  <quinot@act-europe.fr>
7256
7257         * sinfo.ads: Fix inconsistent example code in comment.
7258
7259 2003-12-11  Robert Dewar  <dewar@gnat.com>
7260
7261         * a-tiinau.adb: Add a couple of comments
7262
7263         * sem_ch3.adb: Minor reformatting
7264
7265         * sem_prag.adb:
7266         Fix bad prototype of Same_Base_Type in body (code reading cleanup)
7267         Minor reformatting throughout
7268
7269 2003-12-11  Ed Schonberg  <schonberg@gnat.com>
7270
7271         * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
7272         bounds of a loop, create a separate block in order to generate proper
7273         cleanup actions to prevent memory leaks.
7274
7275         * sem_res.adb (Resolve_Call): After a call to
7276         Establish_Transient_Scope, the call may be rewritten and relocated, in
7277         which case no further processing is needed.
7278
7279         * sem_util.adb: (Wrong_Type): Refine previous fix.
7280          Fixes ACATS regressions.
7281
7282         PR ada/13353
7283
7284         * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
7285         be inlined.
7286
7287 2003-12-08  Jerome Guitton  <guitton@act-europe.fr>
7288
7289         * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
7290         i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
7291         obsolete files.
7292
7293         * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
7294         (rts-zfp): Ditto.
7295
7296 2003-12-08  Robert Dewar  <dewar@gnat.com>
7297
7298         * 7sintman.adb: Minor reformatting
7299
7300         * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
7301         standard linker options to get standard libraries linked. We now plan
7302         to provide dummy versions of these libraries to match the appropriate
7303         configurable run-time (e.g. if a library is not needed at all, provide
7304         a dummy empty library).
7305
7306         * targparm.ads: Configurable_Run_Time mode no longer affects linker
7307         options (-L parameters and standard libraries). What we plan to do is
7308         to provide dummy libraries where the libraries are not required.
7309
7310         * gnatbind.adb: Minor comment improvement
7311
7312 2003-12-08  Javier Miranda  <miranda@gnat.com>
7313
7314         * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
7315         aggregate in the parent. Otherwise constants with limited aggregates
7316         are not supported. Add new formal to pass the component type (Ctype).
7317         It is required to call the corresponding IP subprogram in case of
7318         default initialized components.
7319         (Gen_Assign): In case of default-initialized component, generate a
7320         call to the IP subprogram associated with the component.
7321         (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
7322         of aggregate with default initialized components.
7323         (Has_Default_Init_Comps): Improve implementation to recursively check
7324         all the present expressions.
7325
7326         * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
7327         to indicate that the initialization call corresponds to a
7328         default-initialized component of an aggregate.
7329         In case of default initialized aggregate with tasks this parameter is
7330         used to generate a null string (this is just a workaround that must be
7331         improved later). In case of discriminants, this parameter is used to
7332         generate a selected component node that gives access to the discriminant
7333         value.
7334
7335         * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
7336         subprogram, based on Build_Task_Allocate_Block, but adapted to expand
7337         allocated aggregates with default-initialized components.
7338
7339         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
7340         the box notation is used in positional aggregates.
7341
7342 2003-12-08  Samuel Tardieu  <tardieu@act-europe.fr>
7343
7344         * lib.ads: Fix typo in comment
7345
7346 2003-12-08  Vincent Celier  <celier@gnat.com>
7347
7348         * prj.adb (Project_Empty): New component Unkept_Comments
7349         (Scan): Remove procedure; moved to Prj.Err.
7350
7351         * prj.ads (Project_Data): New Boolean component Unkept_Comments
7352         (Scan): Remove procedure; moved to Prj.Err.
7353
7354         * prj-dect.adb: Manage comments for the different declarations.
7355
7356         * prj-part.adb (With_Record): New component Node
7357         (Parse): New Boolean parameter Store_Comments, defaulted to False.
7358         Set the scanner to return ends of line and comments as tokens, if
7359         Store_Comments is True.
7360         (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
7361         comments are associated with these nodes. Store the node IDs in the
7362         With_Records.
7363         (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
7364         With_Records.
7365         (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
7366         the N_Project node. Call Tree.Save and Tree.Reset before scanning the
7367         current project. Call Tree.Restore afterwards. Set the various nodes
7368         for comment storage (Next_End, End_Of_Line, Previous_Line,
7369         Previous_End).
7370
7371         * prj-part.ads (Parse): New Boolean parameter Store_Comments,
7372         defaulted to False.
7373
7374         * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
7375         to False. When Truncated is True, truncate the string, never go to the
7376         next line.
7377         (Write_End_Of_Line_Comment): New procedure
7378         (Print): Process comments for nodes N_With_Clause,
7379         N_Package_Declaration, N_String_Type_Declaration,
7380         N_Attribute_Declaration, N_Typed_Variable_Declaration,
7381         N_Variable_Declaration, N_Case_Construction, N_Case_Item.
7382         Process nodes N_Comment.
7383
7384         * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
7385         without comments and there are some comments, set the flag
7386         Unkept_Comments to True.
7387         (Scan): If there are comments, set the flag Unkept_Comments to True and
7388         clear the comments.
7389         (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
7390         (Next_End_Nodes: New table
7391         (Comment_Zones_Of): New function
7392         (Scan): New procedure; moved from Prj. Accumulate comments in the
7393         Comments table and set end of line comments, comments after, after end
7394         and before end.
7395         (Add_Comments): New procedure
7396         (Save, Restore, Seset_State): New procedures
7397         (There_Are_Unkept_Comments): New function
7398         (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
7399         (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
7400         procedures.
7401         (First_Comment_After, First_Comment_After_End): New functions
7402         (First_Comment_Before, First_Comment_Before_End): New functions
7403         (Next_Comment): New function
7404         (End_Of_Line_Comment, Follows_Empty_Line,
7405         Is_Followed_By_Empty_Line): New functions
7406         (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
7407         (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
7408         (Set_Next_Comment): New procedure
7409         (Default_Project_Node): Associate comment before if the node can store
7410         comments.
7411
7412         * scans.ads (Token_Type): New enumeration value Tok_Comment
7413         (Comment_Id): New global variable
7414
7415         * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
7416         defaulted to False.
7417         (Scan): Store position of start of comment. If comments are tokens, set
7418         Comment_Id and set Token to Tok_Comment when scanning a comment.
7419         (Set_Comment_As_Token): New procedure
7420
7421         * sinput-p.adb: Update Copyright notice
7422         (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
7423         that no longer exists.
7424
7425 2003-12-08  Javier Miranda  <miranda@gnat.com>
7426
7427         * sem_aggr.adb: Add dependence on Exp_Tss package
7428         Correct typo in comment
7429         (Resolve_Aggregate): In case of array aggregates set the estimated
7430         type of the aggregate before calling resolve. This is needed to know
7431         the name of the corresponding IP in case of limited array aggregates.
7432         (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
7433         in case of default initialized array components.
7434
7435         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
7436         types. Required to give support to limited aggregates in generic
7437         formals.
7438
7439 2003-12-08  Ed Schonberg  <schonberg@gnat.com>
7440
7441         * sem_ch3.adb (Check_Initialization): For legality purposes, an
7442         inlined body functions like an instantiation.
7443         (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
7444         until bounds are analyzed, to diagnose premature use of type.
7445
7446         * sem_util.adb (Wrong_Type): Improve error message when the type of
7447         the expression is used prematurely.
7448
7449 2003-12-08  GNAT Script  <nobody@gnat.com>
7450
7451         * Make-lang.in: Makefile automatically updated
7452
7453 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
7454
7455         * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
7456         they are automatically generated by Make-lang.in and cause nothing but
7457         maintenance troubles.
7458
7459 2003-12-05  Thomas Quinot  <quinot@act-europe.fr>
7460
7461         * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
7462         version of this unit).
7463
7464 2003-12-05  Olivier Hainque  <hainque@act-europe.fr>
7465
7466         * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
7467         5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
7468         5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
7469         the body of System.Interrupt_Management common to several targets.
7470         Update copyright notice when appropriate.
7471
7472         * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
7473         constant.
7474
7475         * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
7476         to ensure that the kernel fills in the interrupted context structure
7477         before calling a signal handler, which is necessary to be able to
7478         unwind past it. Update the copyright notice.
7479
7480 2003-12-05  Jerome Guitton  <guitton@act-europe.fr>
7481
7482         * a-elchha.ads: New file.
7483
7484         * a-elchha.adb: New default last chance handler. Contents taken from
7485         Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
7486
7487         * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
7488         is moved to a-elchha.adb to provide a target-independent default last
7489         chance handler.
7490
7491         * Makefile.rtl: Add a-elchha.o
7492
7493         * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
7494
7495 2003-12-05  Ed Schonberg  <schonberg@gnat.com>
7496
7497         * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
7498         declared in an instance, do not inline the call if the instance is not
7499         frozen yet, to prevent order of elaboration problems.
7500
7501         * sem_prag.adb: Add comments for previous fix.
7502
7503 2003-12-05  Samuel Tardieu  <tardieu@act-europe.fr>
7504
7505         * g-table.adb: Use the right variable in Set_Item.
7506         Update copyright notice.
7507
7508 2003-12-05  Arnaud Charlet  <charlet@act-europe.fr>
7509
7510         * Makefile.in: Remove unused rules.
7511
7512 2003-12-05  Vincent Celier  <celier@gnat.com>
7513
7514         * switch-c.adb (Scan_Front_End_Switches): Remove processing of
7515         -nostdlib. Not needed here after all.
7516
7517 2003-12-03  Thomas Quinot  <quinot@act-europe.fr>
7518
7519         PR ada/11724
7520
7521         * adaint.h, adaint.c, g-os_lib.ads:
7522         Do not assume that the offset argument to lseek(2) is a 32 bit integer,
7523         on some platforms (including FreeBSD), it is a 64 bit value.
7524         Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
7525
7526 2003-12-03  Arnaud Charlet  <charlet@act-europe.fr>
7527
7528         * gnatvsn.ads (Library_Version): Now contain only the relevant
7529         version info.
7530         (Verbose_Library_Version): New constant.
7531
7532         * g-spipat.adb, g-awk.adb, g-debpoo.adb,
7533         g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
7534         s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
7535
7536         * gnatlbr.adb: Clean up: replace Library_Version by
7537         Verbose_Library_Version.
7538
7539         * make.adb, lib-writ.adb, exp_attr.adb:
7540         Clean up: replace Library_Version by Verbose_Library_Version.
7541
7542         * 5lintman.adb: Removed.
7543
7544         * Makefile.in:
7545         Update and simplify computation of LIBRARY_VERSION.
7546         Fix computation of GSMATCH_VERSION.
7547         5lintman.adb is no longer used: replaced by 7sintman.adb.
7548
7549 2003-12-03  Robert Dewar  <dewar@gnat.com>
7550
7551         * exp_ch5.adb:
7552         (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
7553         name. Modified to consider small non-bit-packed arrays as troublesome
7554         and in need of component-by-component assigment expansion.
7555
7556 2003-12-03  Vincent Celier  <celier@gnat.com>
7557
7558         * lang-specs.h: Process nostdlib as nostdinc
7559
7560         * back_end.adb: Update Copyright notice
7561         (Scan_Compiler_Arguments): Process -nostdlib directly.
7562
7563 2003-12-03  Jose Ruiz  <ruiz@act-europe.fr>
7564
7565         * Makefile.in:
7566         When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
7567         redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
7568         included in HIE_NONE_TARGET_PAIRS.
7569
7570 2003-12-03  Ed Schonberg  <schonberg@gnat.com>
7571
7572         * sem_attr.adb:
7573         (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
7574         is legal in an instance, because legality is cheched in the template.
7575
7576         * sem_prag.adb:
7577         (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
7578         appplied to an unchecked conversion of a formal parameter.
7579
7580         * sem_warn.adb:
7581         (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
7582         variables.
7583
7584 2003-12-03  Olivier Hainque  <hainque@act-europe.fr>
7585
7586         * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
7587         routines. The second one is new functionality to deal with backtracing
7588         through signal handlers.
7589         (unwind): Split into the two separate subroutines above.
7590         Update the documentation, and deal properly with sizeof (REG) different
7591         from sizeof (void*).
7592
7593 2003-12-01  Nicolas Setton  <setton@act-europe.fr>
7594
7595         * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
7596         so that the debugger can reliably access the value of the parameter,
7597         and therefore is able to display the exception name when an exception
7598         breakpoint is reached.
7599
7600 2003-12-01  Thomas Quinot  <quinot@act-europe.fr>
7601
7602         * fmap.adb: Fix typo in warning message.
7603
7604         * g-socket.ads, g-socket.adb: Make Free a visible instance of
7605         Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
7606
7607 2003-12-01  Vincent Celier  <celier@gnat.com>
7608
7609         * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
7610         ther is no Afile.
7611         (Build_Library): Get the switches only if Default_Switches is declared
7612         in package Binder.
7613
7614 2003-12-01  Ed Schonberg  <schonberg@gnat.com>
7615
7616         * exp_ch6.adb (Expand_Actuals): When applying validity checks to
7617         actuals that are indexed components, reanalyze actual to ensure that
7618         packed array references are properly expanded.
7619
7620         * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
7621         attempted assignment to a discriminant.
7622
7623 2003-12-01  Robert Dewar  <dewar@gnat.com>
7624
7625         * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
7626         reformatting.
7627
7628         * switch-c.adb: Minor reformatting of comments
7629
7630 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
7631
7632         * Makefile.in: Clean ups.
7633
7634 2003-12-01  GNAT Script  <nobody@gnat.com>
7635
7636         * Make-lang.in: Makefile automatically updated
7637
7638 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
7639
7640         * 5wsystem.ads: Disable zero cost exception, not ready yet.
7641
7642 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
7643
7644         * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
7645         to force serialization.
7646
7647 2003-11-26  Thomas Quinot  <quinot@act-europe.fr>
7648
7649         * g-socket.ads, g-socket.adb:
7650         Clarify documentation of function Stream. Introduce a Free procedure
7651         to release the returned Stream once it becomes unused.
7652
7653         * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
7654
7655 2003-11-26  Arnaud Charlet  <charlet@act-europe.fr>
7656
7657         (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
7658         since NT 4 cannot handle timeout values that are too large,
7659         e.g. DWORD'Last - 1.
7660
7661 2003-11-26  Ed Schonberg  <schonberg@gnat.com>
7662
7663         * exp_ch4.adb:
7664         (Expand_N_Slice): Recognize all cases of slices that appear as actuals
7665         in procedure calls and whose expansion must be deferred.
7666
7667         * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
7668         is in exp_ch4.
7669
7670         * sem_ch3.adb:
7671         (Build_Derived_Array_Type): Create operator for unconstrained type
7672         if ancestor is unconstrained.
7673
7674 2003-11-26  Vincent Celier  <celier@gnat.com>
7675
7676         * make.adb (Project_Object_Directory): New global variable
7677         (Change_To_Object_Directory): New procedure
7678         (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
7679         of Change_Dir directly. Do not change working directory to object
7680         directory of main project after each compilation.
7681         (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
7682         directly.
7683         Change to object directory of main project before binding step.
7684         (Initialize): Initialize Project_Object_Directory to No_Project
7685
7686         * mlib-prj.adb:
7687         (Build_Library): Take into account Builder'Default_Switches ("Ada") when
7688         binding a Stand-Alone Library.
7689
7690         * output.adb: Update Copyright notice
7691         (Write_Char): Output buffer when full
7692
7693 2003-11-26  Robert Dewar  <dewar@gnat.com>
7694
7695         * sem_ch13.adb: (Check_Size): Reset size if size is too small
7696
7697         * sem_ch13.ads:
7698         (Check_Size): Fix documentation to include bit-packed array case
7699
7700         * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
7701
7702         * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
7703
7704         * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
7705
7706 2003-11-24  Arnaud Charlet <charlet@act-europe.fr>
7707
7708         PR ada/13142
7709         * utils.c (init_gigi_decls): Change name of built-in setjmp to
7710         __builtin_setjmp, since this is apparently needed by recent
7711         non Ada changes.
7712
7713 2003-11-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7714
7715         * adadecode.c: Only include ctype.h if not IN_GCC.
7716         (__gnat_decode): Use ISDIGIT from safe-ctype.h.
7717
7718 2003-11-24  Jose Ruiz  <ruiz@act-europe.fr>
7719
7720         * Makefile.in:
7721         Use 5zintman.ads for VxWorks targets. This file avoid confusion between
7722         signals and interrupts.
7723
7724         * 5zintman.ads: New File.
7725
7726         * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
7727         add exception signals to the set of unmasked signals.
7728
7729         * 5ztaprop.adb:
7730         Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
7731         between signals and interrupts.
7732         Add to Unblocked_Signal_Mask the set of signals that are in
7733         Keep_Unmasked.
7734
7735         * 7sinmaop.adb:
7736         Adding a check to see whether the Interrupt_ID we want to unmask is in
7737         the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
7738         reason is that the index type of the Keep_Unmasked array is not always
7739         Interrupt_ID; it may be a subtype of Interrupt_ID.
7740
7741 2003-11-24  Gary Dismukes  <dismukes@gnat.com>
7742
7743         * exp_util.adb:
7744         (Remove_Side_Effects): Condition constantness of object created for a
7745          an unchecked type conversion on the constantness of the expression
7746          to ensure the correct value for 'Constrained when passing components
7747          of view-converted class-wide objects.
7748
7749 2003-11-24  Robert Dewar  <dewar@gnat.com>
7750
7751         * par-load.adb (Load): Improve handling of misspelled and missing units
7752         Removes several cases of compilation abandoned messages
7753
7754         * lib.adb: (Remove_Unit): New procedure
7755
7756         * lib.ads: (Remove_Unit): New procedure
7757
7758         * lib-load.adb: Minor reformatting
7759
7760 2003-11-24  Vincent Celier  <celier@gnat.com>
7761
7762         * make.adb:
7763         (Gnatmake, Initialize): Call Usage instead of Makeusg directly
7764         (Marking_Label): Label to mark processed source files. Incremented for
7765         each executable.
7766         (Gnatmake): Increase Marking_Labet for each executable
7767         (Is_Marked): Compare against marking label
7768         (Mark): Mark with marking label
7769
7770 2003-11-24  Jerome Guitton  <guitton@act-europe.fr>
7771
7772         * s-thread.ads:
7773         Move the declaration of the TSD for System.Threads to System.Soft_Links.
7774         Add some comments.
7775
7776         * Makefile.in: Added target pair for s-thread.adb for cert runtime.
7777         (rts-cert): build a single relocatable object for the run-time lib.
7778         Fix perms.
7779
7780 2003-11-24  Vasiliy Fofanov  <fofanov@act-europe.fr>
7781
7782         * Make-lang.in:
7783         Use gnatls rather than gcc to obtain the location of GNAT RTL for
7784         crosstools build.
7785
7786 2003-11-24  Sergey Rybin  <rybin@act-europe.fr>
7787
7788         * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
7789         can not use it as before (that is, as a variable) when dumping it into
7790         the tree file. Add a local variable to store the result of this
7791         function and to be used as the string to be written into the tree.
7792
7793         * scn.adb (Initialize_Scanner): Add comments explaining the recent
7794         changes.
7795
7796         * sinput.adb (Source_First, Source_Last): In case of
7797         Internal_Source_File, replace returning attributes of
7798         Internal_Source_Ptr (which is wrong) with returning attributes of
7799         Internal_Source.
7800
7801 2003-11-24  Ed Schonberg  <schonberg@gnat.com>
7802
7803         * sem_ch3.adb:
7804         (New_Concatenation_Op): Proper name for New_Binary_Operator, only
7805         used for implicit concatenation operators.
7806         Code cleanup.
7807
7808         * sem_elab.adb:
7809         (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
7810         task bodies that are in the scope of a Suppress pragma.
7811         (Check_A Call): Use the flag to prevent spurious elaboration checks.
7812
7813         * sinfo.ads, sinfo.adb:
7814         New flag No_Elaboration_Check on function/procedure calls, to properly
7815         suppress checks on calls in task bodies that are within a local suppress
7816         pragma.
7817
7818         * exp_ch4.adb:
7819         (Expand_Concatenate_Other): Use the proper integer type for the
7820         expression for the upper bound, to avoid universal_integer computations
7821         when possible.
7822
7823 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
7824
7825         * .cvsignore: Delete.
7826
7827 2003-11-21  Andreas Schwab  <schwab@suse.de>
7828
7829         * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
7830
7831 2003-11-21  Vasiliy Fofanov  <fofanov@act-europe.fr>
7832
7833         * 5wsystem.ads: Enable zero cost exception.
7834
7835 2003-11-21  Jerome Guitton  <guitton@act-europe.fr>
7836
7837         * 5ztiitho.adb: Remove an unreferenced variable.
7838
7839 2003-11-21  Thomas Quinot  <quinot@act-europe.fr>
7840
7841         * adaint.c: For FreeBSD, use mkstemp.
7842
7843 2003-11-21  Arnaud Charlet  <charlet@act-europe.fr>
7844
7845         * gnatlbr.adb: Now reference Gnat_Static_Version_String.
7846
7847 2003-11-21  Robert Dewar  <dewar@gnat.com>
7848
7849         * bld.adb: Remove useless USE of gnatvsn
7850
7851         * gnatchop.adb: Minor reformatting
7852         Clean up version handling to be more consistent
7853
7854         * gnatxref.adb: Minor reformatting
7855
7856         * gprcmd.adb: Minor reformatting
7857         Fix output of copyright to be more consistent with other tools
7858
7859 2003-11-21  Vincent Celier  <celier@gnat.com>
7860
7861         * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
7862
7863 2003-11-21  Sergey Rybin  <rybin@act-europe.fr>
7864
7865         * atree.adb (Initialize): Add initializations for global variables
7866         used in New_Copy_Tree.
7867
7868         * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
7869         Internal_Source_File as the actual).
7870         Put the set of statements creating Any_Character before the set of
7871         statements creating Any_Array to have Any_Character fully initialized
7872         when it is used in creating Any_Array.
7873
7874         * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
7875         not call Scan in case if the actual is Internal_Source_File
7876         Add 2003 to copyright note.
7877
7878         * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
7879         processing Internal_Source_File.
7880
7881         * types.ads: Add the constant Internal_Source_File representing the
7882         source buffer for artificial source-code-like strings created within
7883         the compiler (the definition of Source_File_Index is changed).
7884
7885 2003-11-20  Arnaud Charlet  <charlet@act-europe.fr>
7886
7887         * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
7888         56system.ads: New file, FreeBSD version.
7889
7890 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
7891
7892         * Make-lang.in (ada.extraclean): Delete.
7893
7894 2003-11-19  Arnaud Charlet  <charlet@act-europe.fr>
7895
7896         * gnatmem.adb: Clean up verbose output.
7897
7898         * gprcmd.adb: Change copyright to FSF.
7899
7900 2003-11-19  Vincent Celier  <celier@gnat.com>
7901
7902         * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
7903         and Version (ignored).
7904
7905         * symbols.ads: (Policy): New type
7906         (Initialize): New parameter Reference, Symbol_Policy and
7907         Library_Version.
7908         Remove parameter Force.
7909         Minor reformatting.
7910
7911         * snames.ads, snames.adbadb: New standard names
7912         Library_Reference_Symbol_File and Library_Symbol_Policy
7913
7914         * mlib-prj.adb:
7915         (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
7916         project.
7917
7918         * mlib-tgt.adb:
7919         (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
7920
7921         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
7922
7923         * prj.adb: (Project_Empty): New component Symbol_Data
7924
7925         * prj.ads: (Policy, Symbol_Record): New types
7926         (Project_Data): New component Symbol_Data
7927
7928         * prj-attr.adb:
7929         New attributes Library_Symbol_File, Library_Symbol_Policy and
7930         Library_Reference_Symbol_File.
7931
7932         * prj-nmsc.adb:
7933         (Ada_Check): When project is a Stand-Alone library project, process
7934         attribute Library_Symbol_File, Library_Symbol_Policy and
7935         Library_Reference_Symbol_File.
7936
7937         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
7938         5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
7939         5sml-tgt.adb (Build_Dynamic_Library): New parameter
7940         Symbol_Data (ignored).
7941
7942         * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
7943         (Build_Dynamic_Library): New parameter Symbol_Data. New internal
7944         functions Option_File_Name and Version_String. Set new options of
7945         gnatsym related to symbol file, symbol policy and reference symbol
7946         file.
7947
7948         * 5vsymbol.adb:
7949         Extensive modifications to take into account the reference symbol file,
7950         the symbol policy, the library version and to put in the symbol file the
7951         minor and major IDs.
7952
7953         * bld.adb (Process_Declarative_Items): Put second argument of
7954         gprcmd to_absolute between single quotes, to avoid problems with
7955         Windows.
7956
7957         * bld-io.adb: Update Copyright notice.
7958         (Flush): Remove last character of a line, if it is a back slash, to
7959         avoid make problems.
7960
7961         * gnatsym.adb:
7962         Implement new scheme with reference symbol file and symbol policy.
7963
7964         * g-os_lib.ads: (Is_Directory): Clarify comment
7965
7966 2003-11-19  Robert Dewar  <dewar@gnat.com>
7967
7968         * atree.adb: Move New_Copy_Tree global variables to head of package
7969
7970         * errout.adb: Minor reformatting
7971
7972 2003-11-19  Javier Miranda  <miranda@gnat.com>
7973
7974         * sem_ch4.adb: (Diagnose_Call): Improve error message.
7975         Add reference to Ada0Y (AI-50217)
7976
7977         * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
7978         sem_util.adb: Add reference to AI-50217
7979
7980         * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
7981
7982         * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
7983
7984         * sem_aggr.adb: Complete documentation of AI-287 changes
7985
7986         * par-ch4.adb: Document previous changes.
7987
7988         * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
7989         sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
7990         Ada0Y (AI-50217)
7991
7992         * exp_aggr.adb: Add references to AI-287 in previous changes
7993
7994 2003-11-19  Ed Schonberg  <schonberg@gnat.com>
7995
7996         * exp_ch6.adb:
7997         (Add_Call_By_Copy_Node): Do not original node of rewritten expression
7998         in the rewriting is the result of an inlined call.
7999
8000         * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
8001         parameter is a type conversion, use original node to construct the
8002         post-call assignment, because expression may have been rewritten, e.g.
8003         if it is a packed array.
8004
8005         * sem_attr.adb:
8006         (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
8007         body, just as it is in an instance.
8008         Categorization routines
8009
8010         * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
8011         Instantiate_Object): Set proper sloc reference for message on missing
8012         actual.
8013
8014 2003-11-19  Thomas Quinot  <quinot@act-europe.fr>
8015
8016         * Makefile.in: Add FreeBSD libgnat pairs.
8017
8018         * usage.adb: Fix typo in usage message.
8019
8020 2003-11-19  Jerome Guitton  <guitton@act-europe.fr>
8021
8022         * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
8023         s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
8024         pragma Thread_Body.
8025         Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
8026
8027         * s-thread.adb: This file is now a dummy implementation of
8028         System.Thread.
8029
8030 2003-11-19  Sergey Rybin  <rybin@act-europe.fr>
8031
8032         * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
8033
8034 2003-11-19  Emmanuel Briot  <briot@act-europe.fr>
8035
8036         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
8037         instanciation references in the parent type description.
8038
8039 2003-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8040
8041         * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
8042
8043         * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
8044         TYPE_PRECISION directly from esize.
8045
8046 2003-11-18  Thomas Quinot  <quinot@act-europe.fr>
8047
8048         * cstreams.c:
8049         Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
8050
8051         * init.c: Initialization routines for FreeBSD
8052
8053         * link.c: Link info for FreeBSD
8054
8055         * sysdep.c: Add the case of FreeBSD
8056
8057 2003-11-17  Jerome Guitton  <guitton@act-europe.fr>
8058
8059         * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
8060         already called in System.Threads.
8061
8062         * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
8063         environment task, as it has been moved to System.Threads.Initialization.
8064
8065 2003-11-17  Arnaud Charlet  <charlet@act-europe.fr>
8066
8067         * adaint.c (__gnatlib_install_locks): Only reference
8068         __gnat_install_locks on VMS, since other platforms can avoid using
8069         --enable-threads=gnat
8070
8071 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8072
8073         * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
8074
8075         * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
8076         TYPE_PACKED_ARRAY_TYPE_P.
8077         (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
8078
8079         Part of PR ada/12806
8080         * utils.c (float_type_for_precision): Renamed from float_type_for_size.
8081         Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
8082
8083 2003-11-17  Vincent Celier  <celier@gnat.com>
8084
8085         * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
8086         to False.
8087         Do not set exit status to Failure when Warning is True.
8088         (Gnatchop): Make errors "no compilation units found" and
8089         "no source files written" warnings only.
8090
8091         * make.adb (Gnatmake): When using a project file, set
8092         Look_In_Primary_Dir to False.
8093         (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
8094         and Local_Configuration_Pragmas in the project where they are declared
8095         not an extending project which might have inherited them.
8096
8097         * osint.adb (Locate_File): If Name is already an absolute path, do not
8098         look for a directory.
8099
8100         * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
8101         -gnats (Check_Syntax) is used, issue only a warning, not an error.
8102
8103         * prj.adb (Register_Default_Naming_Scheme): Add new component Project
8104         in objects of type Variable_Value.
8105
8106         * prj.ads: (Variable_Value): New component Project
8107
8108         * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
8109         is in a project extended by Project.
8110
8111         * prj-proc.adb (Add_Attributes): New parameter Project. Set component
8112         Project of Variable_Values to this new parameter value.
8113         (Expression): Set component Project of Variable_Values.
8114         (Process_Declarative_Items): Call Add_Attributes with parameter Project.
8115         Set the component Project in array elements.
8116
8117 2003-11-17  Sergey Rybin  <rybin@act-europe.fr>
8118
8119         * errout.adb: (Initialize): Add initialization for error nodes.
8120
8121         * sem_ch12.adb (Initialize): Add missing initializations for
8122         Exchanged_Views and Hidden_Entities.
8123
8124 2003-11-17  Ed Schonberg  <schonberg@gnat.com>
8125
8126         * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
8127         already instantiated tree for use in subsequent inlining.
8128         (Analyze_Associations, Instantiate_Formal_Subprogram,
8129         Instantiate_Object): improve error message for mismatch in
8130         instantiations.
8131
8132         * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
8133         instantiations of subprograms declared in instances.
8134
8135 2003-11-17  Javier Miranda  <miranda@gnat.com>
8136
8137         * sem_ch4.adb (Analyze_Allocator): Previous modification must be
8138         executed only under the Extensions_Allowed flag.
8139
8140 2003-11-17  Robert Dewar  <dewar@gnat.com>
8141
8142         * a-exexda.adb (Address_Image): Fix documentation to indicate leading
8143         zeroes suppressed.
8144         (Address_Image): Fix bug of returning 0x instead of 0x0
8145         Minor reformatting (function specs).
8146
8147         * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
8148         (missed case of 33-63)
8149
8150         * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
8151
8152         * s-thread.adb: Add comments for pragma Restriction
8153
8154         * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
8155         sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
8156
8157 2003-11-17  Ed Falis  <falis@gnat.com>
8158
8159         * s-thread.adb: Added No_Tasking restriction for this implementation.
8160
8161 2003-11-17  Emmanuel Briot  <briot@act-europe.fr>
8162
8163         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
8164         instanciation references in the parent type description.
8165
8166 2003-11-17  GNAT Script  <nobody@gnat.com>
8167
8168         * Make-lang.in: Makefile automatically updated
8169
8170 2003-11-16  Jason Merrill  <jason@redhat.com>
8171
8172         * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
8173         and TAGS files that include them for each front end.
8174
8175 2003-11-14  Andreas Jaeger  <aj@suse.de>
8176
8177         * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
8178         is the canonical version.
8179         * misc.c (gnat_handle_option): Likewise.
8180
8181         * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
8182
8183         * 5nsystem.ads: New file for x86_64-linux-gnu.
8184
8185 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
8186
8187         * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
8188
8189         * comperr.adb: Fix logic in previous change.
8190
8191 2003-11-13  Vincent Celier  <celier@gnat.com>
8192
8193         * 5bml-tgt.adb (Build_Dynamic_Library): Use
8194         Osint.Include_Dir_Default_Prefix instead of
8195         Sdefault.Include_Dir_Default_Name.
8196
8197         * gnatlbr.adb: Update Copyright notice
8198         (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
8199         Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
8200         instead of Sdefault.Object_Dir_Default_Name
8201
8202         * gnatlink.adb:
8203         (Process_Binder_File): Never suppress the option following -Xlinker
8204
8205         * mdll-utl.adb:
8206         (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
8207         Sdefault.Object_Dir_Default_Name.
8208
8209         * osint.ads, osint.adb:
8210         (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
8211         Minor reformatting.
8212
8213         * vms_conv.ads: Minor reformating
8214         Remove GNAT STANDARD and GNAT PSTA
8215
8216         * vms_conv.adb:
8217         Allow GNAT MAKE to have several files on the command line.
8218         (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
8219         Sdefault.Object_Dir_Default_Name.
8220         Minor Reformating
8221         Remove data for GNAT STANDARD
8222
8223         * vms_data.ads:
8224         Add new compiler qualifier /PRINT_STANDARD (-gnatS)
8225         Remove data for GNAT STANDARD
8226         Remove options and documentation for -gnatwb/-gnatwB: these warning
8227         options no longer exist.
8228
8229 2003-11-13  Ed Falis  <falis@gnat.com>
8230
8231         * 5zthrini.adb: (Init_RTS): Made visible
8232
8233         * 5zthrini.adb:
8234         (Register): Removed unnecessary call to taskVarGet that checked whether
8235          an ATSD was already set as a task var for the argument thread.
8236
8237         * s-thread.adb:
8238         Updated comment to reflect that this is a VxWorks version
8239         Added context clause for System.Threads.Initialization
8240         Added call to System.Threads.Initialization.Init_RTS
8241
8242 2003-11-13  Jerome Guitton  <guitton@act-europe.fr>
8243
8244         * 5zthrini.adb:
8245         (Init_RTS): New procedure, for the initialization of the run-time lib.
8246
8247         * s-thread.adb:
8248         Remove dependancy on System.Init, so that this file can be used in the
8249         AE653 sequential run-time lib.
8250
8251 2003-11-13  Robert Dewar  <dewar@gnat.com>
8252
8253         * bindgen.adb: Minor reformatting
8254
8255 2003-11-13  Ed Schonberg  <schonberg@gnat.com>
8256
8257         * checks.adb:
8258         (Apply_Discriminant_Check): Do no apply check if target type is derived
8259         from source type with no applicable constraint.
8260
8261         * lib-writ.adb:
8262         (Ensure_System_Dependency): Do not apply the style checks that may have
8263         been specified for the main unit.
8264
8265         * sem_ch8.adb:
8266         (Find_Selected_Component): Further improvement in error message, with
8267         RM reference.
8268
8269         * sem_res.adb:
8270         (Resolve): Handle properly the case of an illegal overloaded protected
8271         procedure.
8272
8273 2003-11-13  Javier Miranda  <miranda@gnat.com>
8274
8275         * exp_aggr.adb:
8276         (Has_Default_Init_Comps): New function to check the presence of
8277         default initialization in an aggregate.
8278         (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
8279         extension aggregate of a limited record. In addition, a new formal
8280         was added to do not initialize the record controller (if any) during
8281         this recursive expansion of ancestors.
8282         (Init_Controller): Add support for limited record components.
8283         (Expand_Record_Aggregate): In case of default initialized components
8284         convert the aggregate into a set of assignments.
8285
8286         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
8287         describing the new syntax.
8288         Nothing else needed to be done because this subprogram delegates part of
8289         its work to P_Precord_Or_Array_Component_Association.
8290         (P_Record_Or_Array_Component_Association): Give support to the new
8291         syntax for default initialization of components.
8292
8293         * sem_aggr.adb:
8294         (Resolve_Aggregate): Relax the strictness of the frontend in case of
8295         limited aggregates.
8296         (Resolve_Record_Aggregate): Give support to default initialized
8297         components.
8298         (Get_Value): In case of default initialized components, duplicate
8299         the corresponding default expression (from the record type
8300         declaration). In case of default initialization in the *others*
8301         choice, do not check that all components have the same type.
8302         (Resolve_Extension_Aggregate): Give support to limited extension
8303         aggregates.
8304
8305         * sem_ch3.adb:
8306         (Check_Initialization): Relax the strictness of the front-end in case
8307         of aggregate and extension aggregates. This test is now done in
8308         Get_Value in a per-component manner.
8309
8310         * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
8311         expression corresponds to a limited aggregate. This test is now done
8312         in Get_Value.
8313
8314         * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
8315         Box_Present flag.
8316
8317         * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
8318         present in an N_Component_Association node
8319
8320 2003-11-13  Thomas Quinot  <quinot@act-europe.fr>
8321
8322         * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
8323         type-conformant entry only if they are homographs.
8324
8325 2003-11-13  GNAT Script  <nobody@gnat.com>
8326
8327         * Make-lang.in: Makefile automatically updated
8328
8329 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8330
8331         * adadecode.c: Use <> form of include for ctype.h.
8332         * sysdep.c [IN_RTS]: Use <> form of include for time.h.
8333
8334 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8335
8336         * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
8337         Works around PR middle-end/6552.
8338
8339 2003-11-10  Ed Falis  <falis@gnat.com>
8340
8341         * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
8342
8343         * 5zinit.adb: (Install_Handler): Moved back to spec
8344         (Install_Signal_Handlers): Deleted
8345
8346         * 5zthrini.adb: Added context clause for System.Storage_Elements
8347         (Register): Only handles creation of taskVar; initialization moved to
8348         Thread_Body_Enter.
8349         (Reset_TSD): Deleted; replaced by Thread_Body_Enter
8350         Added declaration of environment task secondary stack and
8351         initialization.
8352
8353         * s-thread.adb: Implement bodies for thread body processing
8354
8355         * s-thread.ads:
8356         Added comment identifying supported targets for pragma Thread_Body.
8357
8358 2003-11-10  Pascal Obry  <obry@gnat.com>
8359
8360         * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
8361         GNAT_MAX_PATH_LEN.
8362
8363         * s-fileio.adb:
8364         (Open): Properly check for string length before copying into the buffer.
8365         Raises Name_Error if buffer is too small. Note that this was a potential
8366         buffer overflow.
8367
8368 2003-11-10  Romain Berrendonner  <berrendo@act-europe.fr>
8369
8370         * bindgen.adb, comperr.adb: Code clean ups.
8371         * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
8372
8373 2003-11-10  Sergey Rybin  <rybin@act-europe.fr>
8374
8375         * gnat1drv.adb: Add call to Sem_Elim.Initialize.
8376
8377 2003-11-10  Vincent Celier  <celier@gnat.com>
8378
8379         * gprcmd.adb:
8380         (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
8381         installation.
8382
8383         * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
8384
8385         * prj.adb: (Project_Empty): Add new boolean component Virtual
8386
8387         * prj.ads: (Virtual_Prefix): New constant string
8388         (Project_Data): New boolean component Virtual
8389
8390         * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
8391         a library project is extended by a virtual extending project.
8392
8393         * prj-part.adb:
8394         Modifications throughout to implement extending-all project, including:
8395         (Virtual_Hash, Processed_Hash): New hash tables
8396         (Create_Virtual_Extending_Project): New procedure
8397         (Look_For_Virtual_Projects_For): New procedure
8398
8399         * prj-proc.adb:
8400         (Process): After checking the projects, if main project is an
8401         extending-all project, set the object directory of all virtual extending
8402         project to the object directory of the main project.
8403         Adjust error message when a virtual extending project has the same
8404         object directory as an project being extended.
8405         (Recursive_Process): If name starts with the virtual prefix, set Virtual
8406         to True in the project data.
8407
8408         * prj-tree.adb:
8409         (Default_Project_Node): Add new boolean component Extending_All
8410         (Is_Extending_All): New function
8411         (Set_Is_Extending_All): New procedure
8412
8413         * prj-tree.ads: (Is_Extending_All): New function
8414         (Set_Is_Extending_All): New procedure
8415         (Project_Node_Record): New boolean component Extending_All
8416
8417         * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
8418
8419         * vms_data.ads:
8420         Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
8421
8422         * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
8423         "gprcmd prefix" to define it.
8424
8425 2003-11-10  Thomas Quinot  <quinot@act-europe.fr>
8426
8427         * einfo.ads: Fix a typo and remove an extraneous word in comments.
8428
8429         * lib-load.adb:
8430         (Create_Dummy_Package_Unit): Set the scope of the entity for the
8431         created dummy package to Standard_Standard, not to itself, to
8432         defend other parts of the front-end against encoutering a cycle in
8433         the scope chain.
8434
8435         * sem_ch10.adb:
8436         (Analyze_With_Clause): When setting the entities for the successive
8437         N_Expanded_Names that constitute the name of a child unit, do not
8438         attempt to go further than Standard_Standard in the chain of scopes.
8439         This case arises from the placeholder units created by
8440         Create_Dummy_Package_Unit in the case of a with_clause for a
8441         nonexistent child unit.
8442
8443 2003-11-10  Ed Schonberg  <schonberg@gnat.com>
8444
8445         * exp_ch6.adb:
8446         (Expand_Thread_Body): Place subprogram on scope stack, so that new
8447         declarations are given the proper scope.
8448
8449         * sem_ch13.adb:
8450         (Check_Expr_Constants): Reject an expression that contains a constant
8451         created during expansion, and that appears after the object to which
8452         the address clause applies.
8453
8454         * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
8455         Analyze_Iteration_Scheme, to rewrite a loop parameter specification
8456         that uses 'Range of a function call with controlled components, so
8457         that the function result can be finalized before starting the loop.
8458
8459         * sem_ch8.adb:
8460         (Find_Selected_Component): Improve error message when prefix is
8461         an implicit dereference of an incomplete type.
8462
8463 2003-11-10  Robert Dewar  <dewar@gnat.com>
8464
8465         * opt.ads: New Print_Standard flag for -gnatS switch
8466
8467         * sem_ch13.adb: Remove some additional checks for unaligned arrays
8468
8469         * cstand.adb (Create_Standard): Print out package standard if -gnatS
8470         switch set
8471
8472         * debug.adb: Update doc for -gnatds to discuss relationship with new
8473         -gnatS flag
8474
8475         * sinfo.adb: Add new field Entity_Or_Associated_Node
8476
8477         * sinfo.ads: Add new field Entity_Or_Associated_Node
8478         Update documentation for Associated_Node and Entity fields to clarify
8479         relationship and usage.
8480
8481         * sprint.adb:
8482         (Write_Id): Properly process Associated_Node field in generic template
8483
8484         * switch-c.adb:
8485         Recognize new -gnatS switch for printing package Standard
8486         This replaces gnatpsta
8487
8488         * usage.adb:
8489         Add line for  new -gnatS switch for printing package Standard
8490         This replaces gnatpsta
8491
8492 2003-11-10  Andreas Jaeger  <aj@suse.de>
8493
8494         * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
8495         integer.
8496
8497 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
8498
8499         * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
8500         by gnat1.
8501
8502 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
8503
8504         * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
8505         no longer needed.
8506
8507         * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
8508
8509         * sysdep.c: Add handling of cygwin.
8510
8511 2003-11-10  GNAT Script  <nobody@gnat.com>
8512
8513         * Make-lang.in: Makefile automatically updated
8514
8515 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
8516
8517         PR 12950
8518         * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
8519         functions. Used to handle dynamic prefix relocation, via set_std_prefix.
8520         Replace GNAT_ROOT by GCC_ROOT.
8521
8522         * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
8523
8524 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
8525
8526         * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
8527         and update for changed meaning of GET_MODE_BITSIZE.
8528
8529 2003-11-04  Doug Rupp  <rupp@gnat.com>
8530
8531         * sysdep.c: Problem discovered during IA64 VMS port.
8532         [VMS] #include <unixio.h> to get proper prototypes.
8533
8534         * adaint.c:
8535         Issues discovered/problems fixed during IA64 VMS port.
8536         [VMS] #define _POSIX_EXIT for proper semantics.
8537         [VMS] #include <unixio.h> for proper prototypes.
8538         [VMS] (fork): #define IA64 version.
8539         (__gnat_os_exit): Remove unnecessary VMS specific code.
8540
8541 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8542
8543         Part of PR ada/12806
8544
8545         * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
8546         tree, not integer.
8547
8548         * decl.c:
8549         (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
8550         not integer.
8551
8552         * targtyps.c, decl.c, misc.c,
8553         gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
8554         routines to work around change in FP sizing semantics in GCC.
8555
8556         * utils.c:
8557         (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
8558
8559         * gigi.h: (enumerate_modes): New function.
8560
8561         * Make-lang.in: (ada/misc.o): Add real.h.
8562
8563         * misc.c: (enumerate_modes): New function.
8564
8565 2003-11-04  Robert Dewar  <dewar@gnat.com>
8566
8567         * 3vtrasym.adb: Minor reformatting
8568         Use terminology encoded/decoded name, rather than C++ specific notion
8569         of mangling (this is the terminology used throughout GNAT).
8570
8571         * einfo.h: Regenerated
8572
8573         * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
8574
8575         * exp_ch6.adb:
8576         (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
8577
8578         * par-prag.adb: Add dummy entry for Thread_Body pragma
8579
8580         * rtsfind.ads:
8581         Add entries for System.Threads entities for thread body processing
8582
8583         * sem_attr.adb:
8584         (Analyze_Pragma, Access attributes): Check these are not applied to a
8585         thread body, since this is not permitted
8586
8587         * sem_prag.adb: Add processing for Thread_Body pragma.
8588         Minor comment fix.
8589
8590         * sem_res.adb:
8591         (Resolve_Call): Check for incorrect attempt to call a thread body
8592          procedure with a direct call.
8593
8594         * snames.ads, snames.adb: Add entry for Thread_Body pragma
8595         Add names associated with thread body expansion
8596
8597         * snames.h: Add entry for Thread_Body pragma
8598
8599         * s-thread.adb: Add entries for thread body processing
8600         These are dummy bodies so far
8601
8602         * s-thread.ads: Add documentation on thread body handling.
8603         Add entries for thread body processing.
8604
8605 2003-11-04  Javier Miranda  <miranda@gnat.com>
8606
8607         * sem_ch10.adb:
8608         (Build_Limited_Views): Return after posting an error in case of limited
8609         with_clause on subprograms, generics, instances or generic renamings
8610         (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
8611         on subprograms, generics, instances or generic renamings
8612
8613 2003-11-04  Arnaud Charlet  <charlet@act-europe.fr>
8614
8615         * raise.c (setup_to_install): Correct mistake in last revision; two
8616         arguments out of order.
8617
8618         * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
8619         gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
8620         notice, missed in previous change.
8621         Remove trailing blanks and other style errors introduced in previous
8622         change.
8623
8624 2003-11-04  Olivier Hainque  <hainque@act-europe.fr>
8625
8626         * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
8627         rid of the wrapper for a LJM type, ensuring we don't do that if the
8628         field is addressable.  This avoids potential low level type view
8629         mismatches later on, for instance in a by-reference argument passing
8630         process.
8631
8632 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8633
8634         * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
8635         aligned at byte boundary.
8636
8637 2003-11-04  Joel Brobecker  <brobecker@gnat.com>
8638
8639         * decl.c (components_to_record): Do not delete the empty variants from
8640         the end of the union type.
8641
8642 2003-11-04  Ed Schonberg  <schonberg@gnat.com>
8643
8644         * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
8645         operation for a derived type, an explicit declaration may use a local
8646         subtype of Boolean.
8647
8648 2003-11-04  Vincent Celier  <celier@gnat.com>
8649
8650         * make.adb (Gnatmake): Allow main sources on the command line with a
8651         library project when it is only for compilation (no binding or
8652         linking).
8653
8654 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8655
8656         * Makefile.in: Remove many duplicate variables.
8657
8658 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
8659
8660         * Make-lang.in (dvi): Move targets to $(docobjdir).
8661         (gnat_ug_vms.dvi): Simplify rule and adjust target.
8662         (gnat_ug_wnt.dvi): Likewise.
8663         (gnat_ug_unx.dvi): Likewise.
8664         (gnat_ug_vxw.dvi): Likewise.
8665         (gnat_rm.dvi): Likewise.
8666         (gnat-style.dvi): Likewise.
8667
8668 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
8669
8670         * gigi.h: Missed commit from update for C90.
8671
8672 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
8673
8674         * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
8675
8676 2003-10-31  Andreas Schwab  <schwab@suse.de>
8677
8678         * raise.c (get_action_description_for): Fix typo in last change.
8679
8680 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
8681
8682         PR ada/12761
8683         * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
8684         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
8685
8686 2003-10-30  Kelley Cook  <kcook@gcc.gnu.org>
8687
8688         * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
8689         ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
8690         gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
8691         sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
8692         trans.c, utils.c, utils2.c: Convert function prototypes to C90.
8693
8694 2003-10-30  Vasiliy Fofanov  <fofanov@act-europe.fr>
8695
8696         * 3vtrasym.adb:
8697         Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
8698         numbers when symbol name is too long.
8699
8700 2003-10-30  Ed Falis  <falis@gnat.com>
8701
8702         * g-signal.ads, g-signal.adb: New files
8703
8704         * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
8705
8706         * Makefile.rtl: Introduce GNAT.Signals
8707
8708 2003-10-30  Robert Dewar  <dewar@gnat.com>
8709
8710         * freeze.adb: Minor reformatting
8711
8712         * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
8713
8714         * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
8715         par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
8716         New handling of Id_Check parameter to improve recognition of keywords
8717         used as identifiers.
8718         Update copyright notice to include 2003
8719
8720 2003-10-29  Robert Dewar  <dewar@gnat.com>
8721
8722         * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
8723         sem_ch10.adb: Minor reformatting
8724
8725         * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
8726         (Expand_Assign_Record): Test right hand side for bit unaligned as well
8727
8728 2003-10-29  Vasiliy Fofanov  <fofanov@act-europe.fr>
8729
8730         * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
8731         Support for TBK$SYMBOLIZE-based symbolic traceback.
8732
8733 2003-10-29  Jose Ruiz  <ruiz@act-europe.fr>
8734
8735         * exp_disp.adb:
8736         Revert previous change, that did not work well when pragma No_Run_Time
8737         was used in conjunction with a run-time other than ZFP.
8738
8739 2003-10-29  Vincent Celier  <celier@gnat.com>
8740
8741         * make.adb:
8742         (Gnatmake): When there are no Ada mains in attribute Main, disable the
8743          bind and link steps only is switch -z is not used.
8744
8745 2003-10-29  Arnaud Charlet  <charlet@act-europe.fr>
8746
8747         * Makefile.generic: Remove duplicated setting of CC.
8748
8749         * Makefile.prolog: Set CC to gcc by default, to override make's
8750         default (cc).
8751
8752         * einfo.h: Regenerated.
8753
8754 2003-10-29  Ed Schonberg  <schonberg@gnat.com>
8755
8756         * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
8757         current body, after compiling subunit.
8758
8759         * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
8760         when in deleted code, because gigi needs properly ordered freeze
8761         actions to annotate types.
8762
8763         * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
8764         prevent the premature freezing of record type that contains
8765         subcomponents with a private type that does not yet have a completion.
8766
8767 2003-10-29  Javier Miranda  <miranda@gnat.com>
8768
8769         * sem_ch12.adb:
8770         (Analyze_Package_Instantiation): Check that instances can not be used in
8771         limited with_clauses.
8772
8773         * sem_ch8.adb:
8774         (Analyze_Package_Renaming): Check that limited withed packages cannot
8775         be renamed. Improve text on error messages related to limited
8776         with_clauses.
8777
8778         * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
8779
8780         * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
8781         Update copyright notice.
8782
8783         * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
8784         (Install_Limited_Context_Clauses): New subprogram that isolates all the
8785         checks required for limited context_clauses and installs the limited
8786         view.
8787         (Install_Limited_Withed_Unit): Complete its documentation.
8788         (Analyze_Context): Check that limited with_clauses are only allowed in
8789         package specs.
8790         (Install_Context): Call Install_Limited_Context_Clauses after the
8791         parents have been installed.
8792         (Install_Limited_Withed_Unit): Add documentation. Mark the installed
8793         package as 'From_With_Type'; this mark indicates that the limited view
8794         is installed. Used to check bad usages of limited with_clauses.
8795         (Build_Limited_Views): Do not add shadow entities to the scope's list
8796         of entities. Do not add real entities to the Non_Limited_Views chain.
8797         Improve error notification.
8798         (Remove_Context_Clauses): Remove context clauses in two phases:
8799         limited views first and regular views later (to maintain the
8800         stack model).
8801         (Remove_Limited_With_Clause): If the package is analyzed then reinstall
8802         its visible entities.
8803
8804 2003-10-29  Thomas Quinot  <quinot@act-europe.fr>
8805
8806         * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
8807         with any type that Is_Fixed_Point_Type.
8808
8809         * sinfo.ads: Fix documentation for Associated_Node attribute.
8810
8811 2003-10-29  Sergey Rybin  <rybin@act-europe.fr>
8812
8813         * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
8814         both '-gnatc' and '-gnatt' are specified.
8815
8816         * atree.adb (Initialize): Add initialization for Node_Count (set to
8817         zero).
8818
8819 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8820
8821         * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
8822         do not consider as Pure.
8823
8824         Part of implementation of function-at-a-time:
8825
8826         * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
8827         (tree_transform): Add new argument to build_component_ref.
8828         (tree_transform, case N_Assignment_Statement): Make and return an
8829         EXPR_STMT.
8830         (tree_transform): If result IS_STMT, set flags and return it.
8831         (gnat_expand_stmt, set_lineno_from_sloc): New functions.
8832
8833         * utils2.c (build_simple_component_ref, build_component_ref): Add new
8834         arg, NO_FOLD_P.
8835         (build_binary_op, case EQ_EXPR): Pass additional arg to it.
8836         (build_allocator): Likewise.
8837
8838         * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
8839         Add new arg to build_component_ref.
8840         (maybe_unconstrained_array, unchecked_convert): Likewise.
8841
8842         * ada-tree.def (EXPR_STMT): New code.
8843
8844         * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
8845
8846         * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
8847         build_component_ref calls.
8848
8849         * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
8850
8851         * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
8852         (build_component_ref): Add new argument, NO_FOLD_P.
8853
8854 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
8855
8856         * Makefile.generic: Add missing substitution on object_deps handling.
8857
8858         PR ada/5909:
8859         * Make-lang.in (check-ada): Enable ACATS test suite.
8860
8861 2003-10-27  Robert Dewar  <dewar@gnat.com>
8862
8863         * exp_ch3.adb:
8864         (Freeze_Array_Type): We do not need an initialization routine for types
8865         derived from String or Wide_String. They should be treated the same
8866         as String and Wide_String themselves. This caused problems with the
8867         use of Initialize_Scalars.
8868
8869         * exp_ch5.adb:
8870         (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
8871         composites. This allows use of component clauses that are not byte
8872         aligned.
8873
8874         * sem_prag.adb:
8875         (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
8876         is an attempt to pack an array of atomic objects.
8877
8878         * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
8879
8880 2003-10-27  Pascal Obry  <obry@gnat.com>
8881
8882         * g-dirope.adb:
8883         (Basename): Check for drive letters in a pathname only on DOS based OS.
8884
8885 2003-10-27  Vincent Celier  <celier@gnat.com>
8886
8887         * make.adb:
8888         (Gnatmake): When unable to change dir to the object dir, display the
8889         content of the parent dir of the obj dir, to try to understand why this
8890         happens.
8891
8892 2003-10-27  GNAT Script  <nobody@gnat.com>
8893
8894         * Make-lang.in: Makefile automatically updated
8895
8896 2003-10-27  Ed Schonberg  <schonberg@gnat.com>
8897
8898         * sem_ch12.adb:
8899         (Inline_Instance_Body): Indicate that the save/restore of use_clauses
8900         should not be done in Save/Restore_Scope_Stack, because it is performed
8901         locally.
8902
8903         * sem_ch8.adb:
8904         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
8905         whether use clauses should be removed/restored.
8906
8907         * sem_ch8.ads:
8908         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
8909         whether use clauses should be removed/restored.
8910
8911 2003-10-26  Andreas Jaeger  <aj@suse.de>
8912
8913         * Makefile.in: Remove duplicated lines.
8914
8915 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
8916
8917         * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
8918         minimize the differences with ACT tree.
8919
8920         * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
8921         gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
8922         Gnatvsn.Gnat_Static_Version_String to reduce differences between
8923         ACT and FSF trees.
8924
8925 2003-10-24  Pascal Obry  <obry@gnat.com>
8926
8927         * adadecode.c (ostrcpy): New function.
8928         (__gnat_decode): Use ostrcpy of strcpy.
8929         (has_prefix): Set first parameter a const.
8930         (has_suffix): Set first parameter a const.
8931         Update copyright notice. Fix source name in header.
8932         Removes a trailing space.
8933         PR ada/12014.
8934
8935 2003-10-24  Jose Ruiz  <ruiz@act-europe.fr>
8936
8937         * exp_disp.adb:
8938         Remove the test against being in No_Run_Time_Mode before generating a
8939         call to Register_Tag. It is redundant with the test against the
8940         availability of the function Register_Tag.
8941
8942 2003-10-24  Vincent Celier  <celier@gnat.com>
8943
8944         * g-catiio.adb: (Month_Name): Correct spelling of February
8945
8946         * make.adb: (Mains): New package
8947         (Initialize): Call Mains.Delete
8948         (Gnatmake): Check that each main on the command line is a source of a
8949         project file and, if there are several mains, each of them is a source
8950         of the same project file.
8951         (Gnatmake): When a foreign language is specified in attribute Languages,
8952         no main is specified on the command line and attribute Mains is not
8953         empty, only build the Ada main. If there is no Ada main, just compile
8954         the Ada sources and their closure.
8955         (Gnatmake): If a main is specified on the command line with directory
8956         information, check that the source exists and, if it does, that the path
8957         is the actual path of a source of a project.
8958
8959         * prj-env.adb:
8960         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
8961         Full_Path is True, return the full path instead of the simple file name.
8962         (Project_Of): New function
8963
8964         * prj-env.ads:
8965         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
8966         defaulted to False.
8967         (Project_Of): New function
8968
8969 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
8970
8971         * Makefile.generic:
8972         Ensure objects of main project are always checked and rebuilt if needed.
8973         Set CC to gcc by default.
8974         Prepare new handling of link by creating a global archive (not activated
8975         yet).
8976
8977         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
8978         stringt.h: Update copyright notice. Remove trailing blanks.
8979         Fix source name in header.
8980
8981 2003-10-24  Robert Dewar  <dewar@gnat.com>
8982
8983         * sem_ch12.adb: Minor reformatting
8984
8985         * sem_ch3.adb:
8986         Minor reformatting (including new function return style throughout)
8987
8988         * sem_ch3.ads:
8989         Minor reformatting (including new function return style throughout)
8990
8991 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
8992
8993         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
8994         stringt.h: Update copyright notice. Remove trailing blanks.
8995         Fix source name in header.
8996
8997 2003-10-24  GNAT Script  <nobody@gnat.com>
8998
8999         * Make-lang.in: Makefile automatically updated
9000
9001 2003-10-23  Nathanael Nerode  <neroden@gcc.gnu.org>
9002
9003         * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
9004         stringt.h: Convert to ISO C90 declarations and definitions.
9005
9006 2003-10-23  Thomas Quinot  <quinot@act-europe.fr>
9007
9008         PR ada/11978:
9009         * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
9010         External_Tag attribute definition clauses.
9011
9012 2003-10-23  Ed Schonberg  <schonberg@gnat.com>
9013
9014         PR ada/7613:
9015         * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
9016         child unit, generate a fully qualified name to avoid spurious errors
9017         when the context contains renamings of different child units with
9018         the same simple name.
9019
9020         * exp_dbug.ads: Add documentation on name qualification for renamings
9021         of child units.
9022
9023 2003-10-23  Robert Dewar  <dewar@gnat.com>
9024
9025         * g-regpat.ads, g-regpat.adb: Minor reformatting
9026
9027 2003-10-23  Jose Ruiz  <ruiz@act-europe.fr>
9028
9029         * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
9030
9031 2003-10-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9032
9033         * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
9034         Machine call.
9035
9036         * urealp.h: (Machine): Update to proper definition.
9037
9038 2003-10-23  Arnaud Charlet  <charlet@act-europe.fr>
9039
9040         * init.c, adaint.c: Minor reformatting.
9041
9042 2003-10-23  Danny Smith  <dannysmith@users.sourceforge.net>
9043
9044         * adaint.c (w32_epoch_offset): Define static const at file level.
9045         (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
9046         rather than t_create, t_access in call to GetFileTime. Use union
9047         to convert between FILETIME and  unsigned long long.
9048         (__gnat_file_time_name): Test for invalid file handle.
9049         (__gnat_set_filetime_name): Support win32 targets using
9050         w32api SetFileTime.
9051
9052 2003-10-22  Danny Smith  <dannysmith@users.sourceforge.net>
9053
9054         * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
9055
9056         * ctrl_c.c (__gnat_int_handler): Remove declaration.
9057
9058         * decl.c (creat_concat_name):  Const-ify prefix.
9059
9060         * adaint.c: Include ctype.h if __MINGW32__.
9061         (__gnat_readlink): Mark arguments as possibly unused.
9062         (__gnat_symlink): Likewise.
9063         (__gnat_is_symbolic_link): Likewise.
9064         (__gnat_portable_spawn): Likewise.  Cast last arg of spawnvp to match
9065         declaration
9066         (__gnat_file_time_name): Don't declare struct stat statbuf when
9067         not needed.
9068         (__gnat_is_absolute_path): Add parenthesis around condition of
9069         'if' statement to avoid warning.
9070         (__gnat_plist_init): Specify void as parameter.
9071         (plist_enter): Likewise.
9072         (plist_leave): Likewise.
9073         (remove_handle): Make static. Initialize prev.
9074
9075 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
9076
9077         * Makefile.in: Disable build of gnatpsta. PR ada/10110.
9078         * cstreams.c (__gnat_full_name): Minor improvements and clean up
9079         of previous change.
9080
9081 2003-10-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9082
9083         * tracebak.c (MAX): Avoid redefinition warning.
9084
9085         * init.c [sgi] (__gnat_error_handler): Remove i, unused.
9086         Change msg to const char *.
9087         (__gnat_install_handler): Remove ss, unused.
9088         [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
9089         to const char *.
9090         * cstreams.c (__gnat_full_name): Declare p only when used.
9091         (__gnat_full_name) [sgi] Return buffer.
9092
9093 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
9094
9095         * mingw32.h: New file.
9096         * gnat_wrapper.adb: New file.
9097
9098 2003-10-22  Jerome Roussel  <roussel@act-europe.fr>
9099
9100         * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
9101         string match a pre compiled regular expression (the corresponding
9102         version of the function working on a raw regular expression)
9103         Fix typos in various comments
9104         Update copyright notice in spec
9105
9106 2003-10-21  Gary Dismukes  <dismukes@gnat.com>
9107
9108         * exp_ch3.adb:
9109         (Component_Needs_Simple_Initialization): Return False when the type is a
9110         packed bit array. Revise spec comments to document this case.
9111
9112         * exp_prag.adb:
9113         (Expand_Pragma_Import): Set any expression on the imported object to
9114         empty to avoid initializing imported objects (in particular this
9115         covers the case of zero-initialization of bit arrays).
9116         Update copyright notice.
9117
9118 2003-10-21  Ed Schonberg  <schonberg@gnat.com>
9119
9120         * sem_ch12.adb:
9121         (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
9122         a subunit is missing.
9123         (Instantiate_Subprogram_Body): If body of function is missing, set type
9124         of return expression explicitly in dummy body, to prevent cascaded
9125         errors when a subunit is missing.
9126         Fixes PR 5677.
9127
9128         * sem_ch3.adb:
9129         (Access_Subprogram_Declaration): Verify that return type is valid.
9130         Fixes PR 8693.
9131
9132         * sem_elab.adb:
9133         (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
9134         generic.
9135         Fixes PR 12318.
9136
9137         * sem_util.adb:
9138         (Corresponding_Discriminant): If the scope of the discriminant is a
9139         private type without discriminant, use its full view.
9140         Fixes PR 8247.
9141
9142 2003-10-21  Arnaud Charlet  <charlet@act-europe.fr>
9143
9144         * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
9145         3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
9146         3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
9147         55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
9148         56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
9149         59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
9150         5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
9151         5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
9152         5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
9153         5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
9154         5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
9155         5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
9156         5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
9157         5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
9158         7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
9159         a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
9160         a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
9161         a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
9162         bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
9163         erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
9164         err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
9165         g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
9166         g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
9167         g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
9168         g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
9169         g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
9170         g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
9171         gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
9172         g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
9173         g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
9174         i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
9175         prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
9176         prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
9177         s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
9178         s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
9179         s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
9180         s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
9181         s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
9182         s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
9183         s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
9184         s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
9185         socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
9186         s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
9187         s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
9188         s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
9189         styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
9190         s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
9191         tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
9192         vms_conv.ads, vms_conv.adb, vms_data.ads,
9193         vxaddr2line.adb: Files added. Merge with ACT tree.
9194
9195         * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
9196         5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
9197         5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
9198         5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
9199         g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
9200         s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
9201         s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
9202         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
9203         s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
9204         s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
9205
9206         * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
9207         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
9208         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
9209         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
9210         4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
9211         4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
9212         4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
9213         4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
9214         51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
9215         53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
9216         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
9217         5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
9218         5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
9219         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
9220         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
9221         5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
9222         5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
9223         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
9224         5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
9225         5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
9226         5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
9227         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
9228         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
9229         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
9230         5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
9231         5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
9232         5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
9233         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
9234         5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
9235         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
9236         5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
9237         5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
9238         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
9239         5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
9240         6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
9241         7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
9242         7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
9243         a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
9244         a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
9245         a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
9246         a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
9247         a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
9248         ali.adb, ali.ads, ali-util.adb, ali-util.ads,
9249         a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
9250         a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
9251         a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
9252         a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
9253         a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
9254         a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
9255         a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
9256         a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
9257         a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
9258         a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
9259         a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
9260         a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
9261         atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
9262         a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
9263         a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
9264         bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
9265         checks.adb, checks.ads, cio.c, comperr.adb,
9266         comperr.ads, csets.adb, cstand.adb, cstreams.c,
9267         debug_a.adb, debug_a.ads, debug.adb, decl.c,
9268         einfo.adb, einfo.ads, errout.adb, errout.ads,
9269         eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
9270         expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
9271         exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
9272         exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
9273         exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
9274         exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
9275         exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
9276         exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
9277         exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
9278         fe.h, fmap.adb, fmap.ads, fname.adb,
9279         fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
9280         freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
9281         g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
9282         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
9283         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
9284         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
9285         g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
9286         g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
9287         g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
9288         g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
9289         g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
9290         g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
9291         g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
9292         g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
9293         gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
9294         gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
9295         gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
9296         gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
9297         gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
9298         g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
9299         g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
9300         g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
9301         g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
9302         g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
9303         g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
9304         g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
9305         g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
9306         i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
9307         i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
9308         inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
9309         itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
9310         layout.adb, lib.adb, lib.ads, lib-list.adb,
9311         lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
9312         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
9313         link.c, live.adb, make.adb, make.ads,
9314         Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
9315         mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
9316         mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
9317         misc.c, mkdir.c, mlib.adb, mlib.ads,
9318         mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
9319         mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
9320         namet.adb, namet.ads, namet.h, nlists.ads,
9321         nlists.h, nmake.adt, opt.adb, opt.ads,
9322         osint.adb, osint.ads, osint-b.adb, osint-c.adb,
9323         par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
9324         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
9325         par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
9326         par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
9327         prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
9328         prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
9329         prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
9330         prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
9331         prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
9332         prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
9333         prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
9334         prj-util.adb, prj-util.ads, raise.c, raise.h,
9335         repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
9336         rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
9337         s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
9338         s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
9339         scans.ads, scn.adb, scn.ads, s-crc32.adb,
9340         s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
9341         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
9342         sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
9343         sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
9344         sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
9345         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
9346         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
9347         sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
9348         sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
9349         sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
9350         sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
9351         sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
9352         s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
9353         s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
9354         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
9355         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
9356         s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
9357         s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
9358         s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
9359         sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
9360         sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
9361         sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
9362         s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
9363         s-memory.adb, s-memory.ads, snames.adb, snames.ads,
9364         snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
9365         s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
9366         s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
9367         s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
9368         s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
9369         s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
9370         s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
9371         s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
9372         s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
9373         s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
9374         s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
9375         s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
9376         s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
9377         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
9378         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
9379         s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
9380         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
9381         stringt.adb, stringt.ads, stringt.h, style.ads,
9382         stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
9383         s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
9384         s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
9385         switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
9386         s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
9387         table.adb, table.ads, targparm.adb, targparm.ads,
9388         targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
9389         trans.c, tree_io.adb, treepr.adb, treeprs.adt,
9390         ttypes.ads, types.ads, types.h, uintp.adb,
9391         uintp.ads, uintp.h, uname.adb, urealp.adb,
9392         urealp.ads, urealp.h, usage.adb, utils2.c,
9393         utils.c, validsw.adb, validsw.ads, widechar.adb,
9394         xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
9395         xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
9396         einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
9397         gnatvsn.ads: Merge with ACT tree.
9398
9399         * gnatvsn.adb: Rewritten in a simpler and more efficient way.
9400
9401 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
9402
9403         * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
9404         (gnat_ug_vmx.info): Likewise.
9405         (gnat_ug_vxw.info): Likewise.
9406         (gnat_ug_wnt.info): Likewise.
9407         (gnat_rm.info): Likewise.
9408         (gnat-style.info): Likewise.
9409
9410         * Make-lang.in (ada.install-info): Remove target.
9411         (info): New target.
9412         (install-info): Likewise.
9413         (gnat_ug_unx.info): Simplify rule.
9414         (gnat_ug_vmx.info): Likewise.
9415         (gnat_ug_vxw.info): Likewise.
9416         (gnat_ug_wnt.info): Likewise.
9417         (gnat_rm.info): Likewise.
9418         (gnat-style.info): Likewise.
9419
9420 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
9421
9422         * Make-lang.in: Replace uses of $(target_alias) with
9423         $(target_noncanonical).
9424         * ada/Makefile.in: Remove unused mention of $(target_alias).
9425
9426 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
9427
9428         * Make-lang.in (ada.info): Replace with ...
9429         (info): ... this.
9430         (ada.dvi): Replace with ...
9431         (dvi): ... this.
9432
9433 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
9434
9435         * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
9436         initialize dconstp5 and dconstmp5.
9437
9438 2003-09-28  Richard Henderson  <rth@redhat.com>
9439
9440         * trans.c (tree_transform): Update call to expand_asm_operands.
9441
9442 2003-09-21  Richard Henderson  <rth@redhat.com>
9443
9444         * trans.c, utils.c: Revert.
9445
9446 2003-09-21  Richard Henderson  <rth@redhat.com>
9447
9448         * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
9449         change to const.
9450
9451 2003-09-04  Michael Matz  <matz@suse.de>
9452
9453         * misc.c: Include "target.h".
9454         * Make-lang.in (misc.o): Add dependency on target.h.
9455
9456 2003-09-03  DJ Delorie  <dj@redhat.com>
9457
9458         * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
9459         hook.
9460
9461 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
9462
9463         * Makefile.in: Update substitutions to match changes to
9464         configure.  Use include directives instead of @-insertions
9465         to read in host and target fragments.  Add a rule to
9466         regenerate ada/Makefile.
9467
9468 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
9469
9470         * lang-options.h: Remove.
9471         * lang.opt: Add help text.
9472
9473 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
9474
9475         * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
9476         calls.
9477
9478 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
9479
9480         * misc.c (gnat_handle_option): Don't handle filenames.
9481
9482 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
9483
9484         * Make-lang.in: Replace PWD with PWD_COMMAND.
9485         * Makefile.adalib: Likewise.
9486         * Makefile.in: Likewise.
9487
9488 2003-07-04  Matt Kraai  <kraai@alumni.cmu.edu>
9489
9490         * misc.c (gnat_argv): Revert last change.
9491         (gnat_handle_option, gnat_init_options): Copy arguments.
9492
9493 2003-07-03  Neil Booth  <neil@daikokuya.co.uk>
9494
9495         * misc.c (gnat_argv): Make const.
9496
9497 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
9498
9499         * misc.c (save_argc, save_argv): Keep non-static!
9500
9501 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
9502
9503         * misc.c (save_argc, save_argv): Make static.
9504         (gnat_init_options): New prototype.
9505         (gnat_init_options): Update.
9506
9507 2003-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
9508
9509         * gnat_ug.texi: Remove unlikely characters from @vars.
9510         * gnat_ug_vms.texi: Regenerate.
9511
9512 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
9513
9514         * misc.c (record_code_position): Adjust emit_note call.
9515
9516 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
9517
9518         * misc.c (gnat_handle_option): Don't check for missing arguments.
9519
9520 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
9521
9522         * utils.c (end_subprog_body): Adjust expand_function_end call.
9523
9524 2003-06-16  Matt Kraai  <kraai@alumni.cmu.edu>
9525
9526         * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
9527         Bind_Main_Program.
9528
9529 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
9530
9531         * lang.opt: Declare Ada.
9532         * misc.c (gnat_init_options): Update.
9533
9534 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
9535
9536         * utils.c (begin_subprog_body): Adjust init_function_start call.
9537
9538 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
9539
9540         * Make-lang.in: Update to use options.c and options.h.
9541         * misc.c: Include options.h not aoptions.h.
9542         (gnat_handle_option): Abort on unrecognized switch.
9543         (gnat_init_options): Request Ada switches.
9544
9545 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
9546
9547         * lang.opt: Add -Wall.
9548         * misc.c (gnat_handle_option): Handle it.
9549
9550 2003-06-12  Neil Booth  <neil@daikokuya.co.uk>
9551
9552         * misc.c (gnat_handle_option): Fix warnings.
9553
9554 2003-06-11  Matt Kraai  <kraai@alumni.cmu.edu>
9555
9556         * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
9557
9558 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
9559
9560         * Make-lang.in: Update to handle command-line options.
9561         * lang.opt: New file.
9562         * misc.c: Include aoptions.h.
9563         (cl_options_count, cl_options): Remove.
9564         (gnat_handle_option): New.
9565         (gnat_decode_option): Remove.
9566         (LANG_HOOKS_DECODE_OPTION): Remove.
9567         (LANG_HOOKS_HANDLE_OPTION): Override.
9568
9569 2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
9570
9571         * init.c, misc.c, trans.c, utils.c: Remove dead code.
9572
9573 2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
9574
9575         * Makefile.in: Replace "host_canonical" with "host" for autoconf
9576         substitution.
9577
9578 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
9579
9580         * Make-lang.in: Update.
9581         * misc.c: Include opts.h. Define cl_options_count and cl_options.
9582
9583 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
9584
9585         * misc.c (gnat_init_options): Update.
9586
9587 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
9588
9589         * Make-lang.in (ada/b_gnatb.o-warn): Remove.
9590         * bindgen.adb (Gen_Main_C): Mark ensure_reference with
9591         __attribute__ ((__unused__)).
9592
9593 2003-06-05  Jan Hubicka  <jh@suse.cz>
9594
9595         * Make-lang.in:  Add support for stageprofile and stagefeedback
9596
9597 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
9598
9599         * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
9600         (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
9601
9602 2003-06-04  Matt Kraai  <kraai@alumni.cmu.edu>
9603
9604         * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
9605         Remove non-VMS directive.
9606         (Switches for gnatlbr, Optimization Levels): Remove non-VMS
9607         alternatives.
9608         (Examples of gnatls Usage): Remove VMS alternative.
9609
9610 2003-06-04  Olivier Hainque  <hainque@act-europe.fr>
9611
9612         PR ada/9953:
9613         * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
9614         and turn ZCX_By_Default back to False since the underlying support
9615         is not quite there yet.
9616
9617 2003-06-01  Andreas Jaeger  <aj@suse.de>
9618
9619         * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
9620         and ROUND_TYPE_SIZE_UNIT.
9621
9622 2003-05-22   Geert Bosch <bosch@gnat.com>
9623
9624         * gnat_rm.texi : Remove reference to Ada Core Technologies.
9625
9626 2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
9627
9628         * trans.c (tree_transform): Use location_t and input_location
9629         directly.
9630         (build_unit_elab): Likewise.
9631         * utils.c (create_label_decl): Likewise.
9632
9633 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
9634
9635         * trans.c (tree_transform, build_unit_elab,
9636         set_lineno): Rename lineno to input_line.
9637         * utils.c (pushdecl, create_label_decl, begin_subprog_body,
9638         end_subprog_body): Likewise.
9639         * utils2.c (build_call_raise): Likewise.
9640
9641 2003-05-01  Laurent Guerby <guerby@acm.org>
9642
9643         PR ada/10546
9644         * 5iosinte.ads: Increase pthread_cond_t size to match recent
9645         LinuxThread and NPTL version, merge from ACT.
9646
9647 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
9648
9649         * utils.c (convert): No need to clear TREE_CST_RTL.
9650
9651 2003-04-23   Geert Bosch <bosch@gnat.com>
9652
9653         * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
9654         1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
9655         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
9656         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
9657         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
9658         4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
9659         4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
9660         4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
9661         4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
9662         4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
9663         4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
9664         4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
9665         52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
9666         5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
9667         5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
9668         5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
9669         5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
9670         5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
9671         5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
9672         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
9673         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
9674         5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
9675         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
9676         5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
9677         5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
9678         5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
9679         5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
9680         5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
9681         5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
9682         5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
9683         5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
9684         5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
9685         5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
9686         5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
9687         5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
9688         5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
9689         5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
9690         5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
9691         5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
9692         5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
9693         5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
9694         5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
9695         5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
9696         5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
9697         6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
9698         7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
9699         7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
9700         9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
9701         a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
9702         a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
9703         a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
9704         a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
9705         a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
9706         a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
9707         a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
9708         a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
9709         a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
9710         a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
9711         a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
9712         a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
9713         a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
9714         a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
9715         a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
9716         a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
9717         a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
9718         a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
9719         a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
9720         a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
9721         a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
9722         a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
9723         a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
9724         a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
9725         a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
9726         a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
9727         a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
9728         a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
9729         a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
9730         a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
9731         a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
9732         a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
9733         a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
9734         a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
9735         a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
9736         a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
9737         a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
9738         a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
9739         a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
9740         a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
9741         a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
9742         a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
9743         a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
9744         a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
9745         a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
9746         a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
9747         a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
9748         a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
9749         a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
9750         a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
9751         a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
9752         a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
9753         a-wttest.ads, ada-tree.h, ada.ads, ada.h,
9754         adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
9755         ali.adb, ali.ads, alloc.ads, argv.c,
9756         atree.adb, atree.ads, atree.h, aux-io.c,
9757         back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
9758         binde.adb, binde.ads, binderr.adb, binderr.ads,
9759         bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
9760         butil.adb, butil.ads, cal.c, calendar.ads,
9761         casing.adb, casing.ads, ceinfo.adb, checks.adb,
9762         checks.ads, cio.c, comperr.adb, comperr.ads,
9763         config-lang.in, csets.adb, csets.ads, csinfo.adb,
9764         cstand.adb, cstand.ads, cuintp.c, debug.adb,
9765         debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
9766         dec-io.ads, dec.ads, deftarg.c, directio.ads,
9767         einfo.adb, einfo.ads, elists.adb, elists.ads,
9768         elists.h, errno.c, errout.adb, errout.ads,
9769         eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
9770         exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
9771         exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
9772         exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
9773         exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
9774         exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
9775         exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
9776         exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
9777         exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
9778         exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
9779         exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
9780         exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
9781         exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
9782         exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
9783         exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
9784         fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
9785         fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
9786         freeze.adb, freeze.ads, frontend.adb, frontend.ads,
9787         g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
9788         g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
9789         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
9790         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
9791         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
9792         g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
9793         g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
9794         g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
9795         g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
9796         g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
9797         g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
9798         g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
9799         g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
9800         g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
9801         g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
9802         g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
9803         g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
9804         g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
9805         g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
9806         g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
9807         g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
9808         g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
9809         get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
9810         gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
9811         gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
9812         gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
9813         gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
9814         gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
9815         gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
9816         gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
9817         hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
9818         i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
9819         i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
9820         i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
9821         i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
9822         i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
9823         i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
9824         inline.adb, inline.ads, interfac.ads, ioexcept.ads,
9825         itypes.adb, itypes.ads, krunch.adb, krunch.ads,
9826         layout.adb, layout.ads, lib-list.adb, lib-load.adb,
9827         lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
9828         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
9829         lib.adb, lib.ads, live.adb, live.ads,
9830         machcode.ads, make.adb, make.ads, makeusg.adb,
9831         makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
9832         mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
9833         memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
9834         mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
9835         mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
9836         mlib.ads, namet.adb, namet.ads, nlists.adb,
9837         nlists.ads, opt.adb, opt.ads, osint-b.adb,
9838         osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
9839         osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
9840         osint.ads, output.adb, output.ads, par-ch10.adb,
9841         par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
9842         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
9843         par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
9844         par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
9845         par-tchk.adb, par-util.adb, par.adb, par.ads,
9846         prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
9847         prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
9848         prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
9849         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
9850         prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
9851         prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
9852         prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
9853         prj.adb, prj.ads, repinfo.adb, repinfo.ads,
9854         restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
9855         rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
9856         s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
9857         s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
9858         s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
9859         s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
9860         s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
9861         s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
9862         s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
9863         s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
9864         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
9865         s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
9866         s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
9867         s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
9868         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
9869         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
9870         s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
9871         s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
9872         s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
9873         s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
9874         s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
9875         s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
9876         s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
9877         s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
9878         s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
9879         s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
9880         s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
9881         s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
9882         s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
9883         s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
9884         s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
9885         s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
9886         s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
9887         s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
9888         s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
9889         s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
9890         s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
9891         s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
9892         s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
9893         s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
9894         s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
9895         s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
9896         s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
9897         s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
9898         s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
9899         s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
9900         s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
9901         s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
9902         s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
9903         s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
9904         s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
9905         s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
9906         s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
9907         s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
9908         s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
9909         s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
9910         s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
9911         s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
9912         s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
9913         s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
9914         s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
9915         s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
9916         s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
9917         s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
9918         s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
9919         s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
9920         s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
9921         s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
9922         s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
9923         s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
9924         s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
9925         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
9926         s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
9927         s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
9928         s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
9929         s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
9930         s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
9931         s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
9932         s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
9933         s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
9934         s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
9935         s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
9936         s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
9937         s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
9938         s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
9939         s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
9940         s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
9941         s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
9942         s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
9943         s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
9944         s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
9945         s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
9946         s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
9947         s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
9948         s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
9949         scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
9950         sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
9951         sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
9952         sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
9953         sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
9954         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
9955         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
9956         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
9957         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
9958         sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
9959         sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
9960         sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
9961         sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
9962         sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
9963         sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
9964         sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
9965         sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
9966         sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
9967         sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
9968         sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
9969         sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
9970         snames.ads, sprint.adb, sprint.ads, stand.adb,
9971         stand.ads, stringt.adb, stringt.ads, style.adb,
9972         style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
9973         switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
9974         switch-m.ads, switch.adb, switch.ads, system.ads,
9975         table.adb, table.ads, targparm.adb, targparm.ads,
9976         tbuild.adb, tbuild.ads, text_io.ads, trans.c,
9977         tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
9978         tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
9979         ttypef.ads, ttypes.ads, types.adb, types.ads,
9980         uintp.adb, uintp.ads, uname.adb, uname.ads,
9981         unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
9982         usage.adb, usage.ads, validsw.adb, validsw.ads,
9983         widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
9984         xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
9985         xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
9986         formatting and other trivial changes from ACT.
9987
9988 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
9989
9990         * gigi.h, utils2.c (build_constructor):
9991         Rename gnat_build_constructor. Use build_constructor.
9992         * decl.c (gnat_to_gnu_entity)
9993         * trans.c (tree_transform, pos_to_constructor, extract_values)
9994         * ada/utils.c (build_template, convert_to_fat_pointer, convert)
9995         (unchecked_convert)
9996         * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
9997         (fill_vms_descriptor):
9998         Update to match.
9999
10000 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
10001
10002         * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
10003         * misc.c (gnat_tree_size): New function.
10004         (LANG_HOOKS_TREE_SIZE): Override.
10005
10006 2003-04-03  Jason Merrill  <jason@redhat.com>
10007
10008         * misc.c (gnat_adjust_rli): #if 0.
10009
10010 2003-03-31   Geert Bosch <bosch@gnat.com>
10011
10012         PR ada/10020
10013         * link.c : Fix misspelled "const" keyword
10014
10015 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
10016
10017         PR c++/7086
10018         * utils2.c: Adjust calls to put_var_into_stack.
10019
10020 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
10021
10022         * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
10023
10024 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
10025
10026         * misc.c (gnat_init): Update for new prototype.
10027
10028 2003-03-05  Olivier Hainque  <hainque@gnat.com>
10029
10030         ada/9961
10031         * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
10032         warning, and fix return type for the IN_RTS && !SJLJ case.
10033
10034 2003-03-04  Tom Tromey  <tromey@redhat.com>
10035
10036         * Make-lang.in (ada.tags): New target.
10037
10038 2003-03-04  Olivier Hainque  <hainque@act-europe.fr>
10039
10040         ada/9911
10041         * a-except.adb (Unwind_RaiseException): Import a GNAT specific
10042         wrapper, which name remains constant whatever underlying GCC
10043         scheme.
10044
10045         * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
10046         the stable interface needed for a-except.
10047
10048 2003-03-02  Andreas Jaeger  <aj@suse.de>
10049
10050         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10051         gnat_ug_wnt.texi: Regenerate.
10052
10053 2003-03-02  Laurent Guerby <guerby@acm.org>
10054
10055         * Makefile.in (install-gnatlib): Match previous change there
10056         so it works.
10057
10058 2003-02-28  Andreas Schwab  <schwab@suse.de>
10059
10060         * Make-lang.in (install-gnatlib): Change to ada directory before
10061         running make instead of using ada/Makefile directly.
10062
10063 2003-02-18  Ben Elliston  <bje@redhat.com>
10064
10065         Part of fix for PR ada/9406
10066         * gnat_ug.texi (Binder output file): Grammar fix.
10067
10068 2003-02-18  Ben Elliston  <bje@redhat.com>
10069
10070         PR other/7350
10071         * 5qtaprop.adb (Sleep): Fix typo in comment.
10072
10073 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
10074
10075         * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
10076         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10077         gnat_ug_wnt.texi: Regenerate.
10078
10079 2003-02-03  Christian Cornelssen <ccorn@cs.tu-berlin.de>
10080
10081         * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
10082         be created if necessary.
10083         (ada.install-common): Let $(DESTDIR)$(bindir) be created
10084         if necessary.  Remove erroneous and redundant gnatchop
10085         installation commands.  Test for gnatdll before attempting
10086         to install it.
10087         (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
10088         and gnatdll from all plausible locations.
10089
10090 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
10091
10092         * utils2.c (build_unary_op): Don't check flag_volatile.
10093         * gnat_ug.texi: Remove -fvolatile from example.
10094         * gnat_ug_vxw.texi: Likewise.
10095
10096 2003-01-29  Laurent Guerby <guerby@acm.org>
10097
10098         PR ada/8344
10099         * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
10100         * Makefile.in: match previous change.
10101         * Make-lang.in: match previous change.
10102
10103 2003-01-29      Joel Sherrill <joel@OARcorp.com>
10104
10105         * 5rosinte.ads: Add SIGXCPU.
10106         * 5rtpopsp.adb: New file.
10107         * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
10108         * Makefile.in: Recognize more RTEMS targets and add the RTEMS
10109         specific file 5rtpopsp.adb.
10110         * adaint.h: Add include of <stdio.h> when target is RTEMS.  This
10111         is likely needed for all newlib targets.
10112         * init.c: Add RTEMS specific version of __gnat_initialize().
10113
10114 2003-01-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10115
10116         * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
10117
10118 2003-01-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10119
10120         * init.c (__gnat_error_handler): Make msg const.
10121
10122         * gmem.c (convert_addresses): Move declaration ...
10123         * adaint.h: ... here.
10124         * adaint.c (convert_addresses): Adapt addrs type to match
10125         prototype.
10126
10127         * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
10128
10129 2003-01-24  Andreas Schwab  <schwab@suse.de>
10130
10131         * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
10132         size_t to avoid warning.
10133
10134 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
10135
10136         * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
10137
10138 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
10139
10140         * gnat_rm.texi: Remove RCS version number.
10141
10142         * ada-tree.h (union lang_tree_node): Add chain_next option.
10143
10144 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
10145
10146         * Make-lang.in (ada.install-info, ada.install-common,
10147         ada.uninstall): Prepend $(DESTDIR) to the destination
10148         directory in all (un)installation commands.
10149         * Makefile.in (install-gnatlib, install-rts): Ditto.
10150
10151 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
10152
10153         * gnat_rm.texi, gnat_ug.texi: Use @copying.
10154         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10155         gnat_ug_wnt.texi: Regenerate.
10156
10157 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
10158
10159         * gnat_rm.texi: Include gcc-common.texi.  Use GCC version number
10160         only.
10161         * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
10162         $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
10163         $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
10164         ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
10165         ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
10166         $(srcdir)/doc/include/gcc-common.texi.
10167
10168 2002-12-15   Geert Bosch <bosch@gnat.com>
10169
10170         * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
10171
10172 2002-12-14   Geert Bosch <bosch@gnat.com>
10173
10174         * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
10175         case of a body created for a Renaming_As_Body, on which
10176         conformance checks are not performed. Fixes PR ada/5690.
10177
10178 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
10179
10180         * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
10181         utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
10182         not already included.
10183         * Make-lang.in: Update dependencies.
10184
10185 2002-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
10186         * adaint.c (__gnat_tmp_name): Better, but good enough for now,
10187         solution to buffer overflow bug on GNU/Linux.
10188
10189 2002-11-14  Nathanael Nerode  <neroden@gcc.gnu.org>
10190         Closes PR ada/5856 and PR ada/6919 !
10191         * bindgen.adb: Remove all references to Public_Version.
10192         * comperr.adb: Remove all references to Public_Version and
10193         GNATPRO_Version; correct bug reporting instructions.
10194         * comperr.ads: Change to match bug box.
10195         * gnatvsn.ads: Remove all references to Public version and
10196         GNATPRO version.
10197
10198 2002-11-13  Nathanael Nerode  <neroden@gcc.gnu.org>
10199         PR ada/6919
10200         * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
10201         GNU/Linux.
10202
10203         PR ada/6558
10204         * config-lang.in: Remove diff_excludes.
10205
10206 2002-11-05  Graham Stott  <graham.stott@btinternet.com>
10207         PR ada/8358
10208         * trans.c (gnu_pending_elaboration_lists): New GC root.
10209         (build_unit_elab): Use..
10210
10211 2002-10-30   Geert Bosch <bosch@gnat.com>
10212         PR ada/6558
10213         * misc.c : Include optabs.h
10214
10215         * Make-lang.in (misc.o): Add dependency on optabs.h
10216
10217 2002-10-29   Geert Bosch <bosch@gnat.com>
10218         PR ada/6558
10219         * Make-lang.in (gnatbind): Depend on CONFIG_H
10220
10221 2002-10-29  Geert bosch  <bosch@gnat.com>
10222         PR ada/6558
10223         * misc.c: Unrevert misc.c (1.13)
10224
10225 2002-10-28  Nathanael Nerode  <neroden@gcc.gnu.org>
10226
10227         * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
10228         maintainership comments.
10229
10230 2002-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
10231         PR ada/5904
10232         * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
10233         5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
10234         5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
10235         7staprop.adb: Correct statements in comments about
10236         maintainership of GNAT.
10237
10238         PR ada/5904
10239         * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
10240         gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
10241         osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
10242         osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
10243         s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
10244         s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
10245         sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
10246         switch-c.ads switch-m.adb switch-m.ads: Correct statements in
10247         comments about maintainership of GNAT.
10248
10249         PR ada/6919 (forward port of patch for PR ada/5904)
10250         * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
10251         4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
10252         4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
10253         4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
10254         4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
10255         4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
10256         4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
10257         52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
10258         5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
10259         5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
10260         5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
10261         5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
10262         5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
10263         5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
10264         5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
10265         5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
10266         5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
10267         5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
10268         5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
10269         5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
10270         5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
10271         5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
10272         5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
10273         5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
10274         5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
10275         5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
10276         5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
10277         5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
10278         7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
10279         a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
10280         a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
10281         a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
10282         a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
10283         a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
10284         a-except.adb a-except.ads a-excpol.adb a-exctra.adb
10285         a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
10286         a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
10287         a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
10288         a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
10289         a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
10290         a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
10291         a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
10292         a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
10293         a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
10294         a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
10295         a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
10296         a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
10297         a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
10298         a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
10299         a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
10300         a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
10301         a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
10302         a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
10303         a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
10304         a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
10305         a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
10306         a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
10307         a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
10308         a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
10309         a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
10310         a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
10311         a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
10312         a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
10313         a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
10314         a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
10315         a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
10316         a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
10317         a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
10318         adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
10319         alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
10320         back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
10321         binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
10322         bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
10323         ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
10324         csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
10325         cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
10326         debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
10327         einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
10328         errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
10329         exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
10330         exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
10331         exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
10332         exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
10333         exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
10334         exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
10335         exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
10336         exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
10337         exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
10338         exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
10339         exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
10340         exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
10341         exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
10342         final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
10343         fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
10344         freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
10345         g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
10346         g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
10347         gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
10348         gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
10349         gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
10350         gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
10351         gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
10352         gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
10353         i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
10354         i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
10355         i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
10356         i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
10357         impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
10358         itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
10359         lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
10360         lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
10361         lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
10362         lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
10363         makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
10364         namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
10365         nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
10366         osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
10367         par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
10368         par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
10369         par-endh.adb par-labl.adb par-load.adb par-prag.adb
10370         par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
10371         prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
10372         prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
10373         prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
10374         prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
10375         prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
10376         prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
10377         repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
10378         rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
10379         s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
10380         s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
10381         s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
10382         s-direio.adb s-direio.ads s-except.ads s-exctab.adb
10383         s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
10384         s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
10385         s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
10386         s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
10387         s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
10388         s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
10389         s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
10390         s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
10391         s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
10392         s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
10393         s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
10394         s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
10395         s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
10396         s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
10397         s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
10398         s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
10399         s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
10400         s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
10401         s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
10402         s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
10403         s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
10404         s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
10405         s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
10406         s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
10407         s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
10408         s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
10409         s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
10410         s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
10411         s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
10412         s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
10413         s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
10414         s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
10415         s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
10416         s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
10417         s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
10418         s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
10419         s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
10420         s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
10421         s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
10422         s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
10423         s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
10424         s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
10425         s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
10426         s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
10427         s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
10428         s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
10429         s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
10430         s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
10431         s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
10432         s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
10433         s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
10434         s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
10435         s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
10436         s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
10437         s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
10438         s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
10439         s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
10440         s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
10441         s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
10442         s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
10443         s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
10444         s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
10445         s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
10446         s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
10447         s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
10448         s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
10449         s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
10450         s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
10451         s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
10452         s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
10453         s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
10454         s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
10455         s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
10456         s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
10457         s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
10458         s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
10459         s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
10460         s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
10461         scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
10462         sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
10463         sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
10464         sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
10465         sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
10466         sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
10467         sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
10468         sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
10469         sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
10470         sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
10471         sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
10472         sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
10473         sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
10474         sem_type.adb sem_type.ads sem_util.adb sem_util.ads
10475         sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
10476         sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
10477         sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
10478         sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
10479         snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
10480         stringt.ads stringt.h style.adb style.ads stylesw.adb
10481         stylesw.ads switch.adb switch.ads sysdep.c system.ads
10482         table.adb table.ads targparm.adb targparm.ads targtyps.c
10483         tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
10484         tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
10485         treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
10486         types.adb types.ads types.h uintp.adb uintp.ads uintp.h
10487         uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
10488         usage.ads utils.c utils2.c validsw.adb validsw.ads
10489         widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
10490         xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
10491         xtreeprs.adb: Correct statements in comments about maintainership
10492         of GNAT.
10493
10494 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
10495
10496         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
10497         * Makefile.in (TOOLS_LIBS): Add ../../version.o.
10498         * gnatvsn.ads: Gnat_Version_String is now a function.
10499         * gnatvsn.adb: New file.  When asked for Gnat_Version_String,
10500         copy the C version_string into a String and return it.
10501         * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
10502         gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
10503         Remove pragma Ident (Gnat_Version_String).  If this was the
10504         sole use of package Gnatvsn, remove the with statement too.
10505         * gnat1drv.adb: Tweak -gnatv output.
10506
10507 2002-09-17  Richard Henderson  <rth@redhat.com>
10508
10509         * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
10510         * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
10511         * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
10512         (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
10513         * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
10514         and real_2expN instead of a loop.
10515         * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
10516         (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
10517
10518 2002-08-25  Andre Leis <a.leis@gmx.net>
10519             David Billinghurst (David.Billinghurst@riotinto.com>
10520
10521         * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
10522
10523 2002-08-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10524
10525         * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
10526         Remove $(CONFIG_H) dependency.
10527
10528 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10529
10530         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
10531
10532 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10533
10534         * adadecode.c (ada_demangle): Use xstrdup in lieu of
10535         xmalloc/strcpy.
10536         * misc.c (gnat_decode_option): Likewise.
10537
10538 2002-07-15  Florian Weimer  <fw@deneb.enyo.de>
10539
10540         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
10541         function approach did not work well because of a side effect (the
10542         function call could reallocate the table which was being indexed
10543         using its result). Fixes ada/4851. [RESURRECTED]
10544
10545 2002-07-01  Roger Sayle  <roger@eyesopen.com>
10546
10547         * ada/utils.c (builtin_function): Accept an additional parameter.
10548
10549 2002-06-28  Andreas Jaeger  <aj@suse.de>
10550
10551         PR ada/7144
10552         * Makefile.in: Fix typo in comment, patch by Adrian Knoth
10553         <adi@thur.de>.
10554
10555 2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10556
10557         * Makefile.in (SHELL): Set to @SHELL@.
10558
10559 2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10560
10561         * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
10562         array size calculation.
10563
10564 2002-06-04  Andreas Jaeger  <aj@suse.de>
10565
10566         * Make-lang.in (gnatbind): Readd rule that has been lost in last
10567         patch.
10568
10569 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
10570
10571         Merge from pch-branch:
10572
10573         * config-lang.in (gtfiles): Add ada-tree.h.
10574         * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
10575         (SET_TYPE_MODULUS): New.
10576         (SET_TYPE_INDEX): New.
10577         (SET_TYPE_DIGITS_VALUE): New.
10578         (SET_TYPE_RM_SIZE): New.
10579         (SET_TYPE_UNCONSTRAINED_ARRAY): New.
10580         (SET_TYPE_ADA_SIZE): New.
10581         (SET_TYPE_ACTUAL_BOUNDS): New.
10582         (SET_DECL_CONST_CORRESPONDING_VAR): New.
10583         (SET_DECL_ORIGINAL_FIELD): New.
10584         (TREE_LOOP_ID): Correct typo.
10585         * decl.c: Use new macros.
10586         * utils.c: Include debug.h, use new macros.
10587         * utils2.c: Use new macros.
10588
10589         * ada-tree.h: Update all macros for new tree description.
10590         (struct tree_loop_id): New.
10591         (union lang_tree_node): New.
10592         (struct lang_decl): New.
10593         (struct lang_type): New.
10594         * misc.c (gnat_mark_tree): Delete.
10595         (LANG_HOOKS_MARK_TREE): Delete.
10596         * trans.c (tree_transform): No longer any need to cast
10597         for TREE_LOOP_ID.
10598
10599         * utils.c (struct language_function): New dummy structure.
10600
10601         * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
10602         (misc.o): Likewise.
10603         (utils.o): Likewise; also gtype-ada.h.
10604         * Make-lang.in (gnat1): Add dependency on s-gtype.
10605         (gnatbind): Add dependency on $(CONFIG_H).
10606         * utils.c: Correct last #include.
10607         (stuct e_stack): Remove unnecessary 'static'.
10608         (mark_e_stack): Remove unused prototype.
10609
10610         * scn-nlit.adb: Remove whitespace after version number to
10611         keep lines under 80 chars.
10612         * snames.adb: Likewise.
10613         * treepr.ads: Likewise.
10614
10615         * Makefile.in (decl.o): Include gt-ada-<filename>.h.
10616         (misc.o): Likewise.
10617         (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
10618         * config-lang.in (gtfiles): New.
10619         * decl.c: Use gengtype for roots.
10620         * gigi.h: Use gengtype for roots.
10621         * trans.c: Use gengtype for roots.
10622         * utils.c: Use gengtype for roots, marking.  Include gtype-ada.h.
10623
10624 2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
10625
10626         * misc.c (gnat_init): Adjust setting of internal_error_function.
10627
10628 2002-06-01  Joseph S. Myers  <jsm28@cam.ac.uk>
10629
10630         * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
10631         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10632         gnat_ug_wnt.texi: Regenerate.
10633
10634 2002-05-31  Florian Weimer  <fw@deneb.enyo.de>
10635
10636         * 5ntaprop.adb (with System.OS_Primitives): Remove.
10637
10638         * cstreams.c (max_path_len): Move from here ...
10639         * adaint.c (__gnat_max_path_len): ... to here.
10640         * adaint.c (__gnat_max_path_len): Declare.
10641         * g-dirope.adb (Max_Path): Adjust.
10642         * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
10643         * i-cstrea.ads (max_path_len): Adjust.
10644         * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
10645         * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
10646
10647         * Makefile.in, Make-lang.in: Documentation is now built in
10648         Make-lang.in.  Store Info and generated Texinfo files in the
10649         source directory.
10650         * gnat_ug.texi: Remove CVS keywords, correct version number.
10651         Set file name correctly.
10652
10653         * gnat_ug_*.texi: Add.
10654         * .cvsignore: Ignore generated Texinfo files.
10655
10656 2002-05-30  Zack Weinberg  <zack@codesourcery.com>
10657
10658         * ada.h: Add MI guard macro.
10659         (SUBTYPE): Define constants with an anonymous enum, not static
10660         const variables.
10661         (IN): Cast constants to appropriate type before use.
10662
10663 2002-05-26  Joseph S. Myers  <jsm28@cam.ac.uk>
10664
10665         * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
10666         (experimental)".
10667
10668 2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10669
10670         * Make-lang.in (CP, ECHO): Copy from Makefile.in.
10671         (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
10672         (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
10673         (ALL_ADA_CFLAGS): Likewise.
10674         (ADA_INCLUDES): Likewise.
10675         Adapt for new working dir.
10676         (GNATBIND): Use Makefile.in version.
10677         (.SUFFIXES): Copy from Makefile.in.
10678         (ada-warn): Define.
10679         (.adb.o, .ads.o): Copy from Makefile.in.
10680         Added $(OUTPUT_OPTION).
10681         (GNAT1_C_OBJS): Moved from Makefile.in.
10682         Prefix with ada subdir.
10683         (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
10684         (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
10685         Adapt for new working dir.
10686         (EXTRA_GNATBIND_OBJS): Likewise.
10687         (ADA_BACKEND): Moved from Makefile.in.
10688         Renamed to avoid conflict with global BACKEND.
10689         Use that one.
10690         (TARGET_ADA_SRCS): Moved from Makefile.in.
10691         (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
10692         Use ADA_BACKEND.
10693         (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
10694         (ada_extra_files): Moved from Makefile.in.
10695         Prefix with ada subdir.
10696         (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
10697         (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
10698         (ada/nmake.ads): Likewise.
10699         (update-sources): Moved from Makefile.in.
10700         Prefix with ada subdir.
10701         (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
10702         (ADA_TREE_H): Likewise.
10703         (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
10704         (ada/memtrack.o): Likewise.
10705         (ada/adadecode.o): Likewise.
10706         Update dependencies.
10707         (ada/adaint.o): New.
10708         (ada/argv.o): Moved from Makefile.in.
10709         Prefix with ada subdir.
10710         Update dependencies.
10711         (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
10712         (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
10713         (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
10714         Prefix with ada subdir.
10715         (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
10716         (GNAT DEPENDENCIES): Regenerate.
10717         * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
10718         toplevel Makefile.in.
10719         (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
10720         (TARGET_ADA_SRCS): Removed.
10721         (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
10722         (GNATBIND_OBJS): Likewise.
10723         (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
10724         (BACKEND): Removed.
10725         (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
10726         (TREE_H): Likewise.
10727         (ada_extra_files): Likewise.
10728         (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
10729         (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
10730         (update-sources): Likewise.
10731         (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
10732         (ADA_TREE_H): Likewise.
10733         (adadecoce.o): Likewise.
10734         (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
10735         (GNAT DEPENDENCIES): Likewise.
10736
10737 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10738
10739         * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
10740         * Makefile.in: Likewise.
10741
10742 2002-05-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10743
10744         * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
10745         Restore $(CONFIG_H) and prefix.o dependencies.
10746         (ada.stage[1-4]): Depend on stage?-start.
10747
10748         * Makefile.in (b_gnatb.c): Depend on interfac.o.
10749
10750 2002-05-02  Jim Wilson  <wilson@redhat.com>
10751
10752         * utils.c (finish_record_type): Change record_size to record_type.
10753
10754 2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10755
10756         * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
10757         (ALL_ADA_CFLAGS): Define.  Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
10758         ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
10759
10760 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
10761
10762         * misc.c (gnat_parse_file): Update.
10763
10764 2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
10765
10766         * misc.c (gnat_init): Don't set lang_attribute_common.
10767
10768 2002-04-21  Joseph S. Myers  <jsm28@cam.ac.uk>
10769
10770         * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
10771
10772 2002-04-21  Florian Weimer  <fw@deneb.enyo.de>
10773
10774         * gnat_ug.texi: New file.
10775
10776         * gnat_rm.texi: Do not include texiplus.texi.  Include fdl.texi
10777         instead of gfdl.texi
10778
10779         * xgnatug.adb, ug_words: New files.
10780
10781         * Makefile.in (doc, dvi): New targets.  Build gnat_ug_*,
10782         gnat_rm and gnat-style manuals.
10783
10784 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
10785
10786         * gigi.h (incomplete_type_error): Remove.
10787         * utils.c (incomplete_type_error): Remove.
10788
10789 2002-04-16  Mark Mitchell  <mark@codesourcery.com>
10790
10791         * trans.c (tree_transform): Add has_scope argument to
10792         expand_start_stmt_expr.
10793
10794 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
10795
10796         * gigi.h (truthvalue_conversion): Rename.
10797         * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
10798         * trans.c (tree_transform): Update.
10799         * utils2.c (truthvalue_conversion): Rename, update.
10800         (build_binary_op, build_unary_op): Update.
10801
10802 2002-04-04  Laurent Guerby  <guerby@acm.org>
10803
10804         * make.adb: Implement -margs, remove restriction about file name placement.
10805         * makeusg.adb: Documentation update.
10806         * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
10807         * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
10808
10809 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
10810
10811         * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
10812         (builtin_function): Similarly.
10813
10814 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
10815
10816         * decl.c (gnat_to_gnu_entity): Update.
10817         * gigi.h (mark_addressable): Rename.
10818         * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
10819         * trans.c (tree_transform): Update.
10820         * utils.c (create_var_decl): Update.
10821         * util2.c (build_binary_op, build_unary_op,
10822         fill_vms_descriptor): Update.
10823         (mark_addressable): Rename, update.
10824
10825 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
10826
10827         * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
10828         Rename.
10829         * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
10830         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
10831         * trans.c (tree_transform, convert_with_check): Update.
10832         * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
10833         Rename.
10834
10835 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
10836
10837         * gigi.h (finish_incomplete_decl): Rename.
10838         * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
10839         * utils.c (gnat_init_decl_processing): Don't set hook.
10840         (finish_incomplete_decl): Rename.
10841
10842 2002-03-29  Andreas Schwab  <schwab@suse.de>
10843
10844         * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
10845         directory.
10846
10847 2001-03-28  Robert Dewar <dewar@gnat.com>
10848
10849         * checks.ads:
10850         (Remove_Checks): New procedure
10851
10852         * checks.adb:
10853         (Remove_Checks): New procedure
10854
10855         * exp_util.adb:
10856         Use new Duplicate_Subexpr functions
10857         (Duplicate_Subexpr_No_Checks): New procedure
10858         (Duplicate_Subexpr_No_Checks_Orig): New procedure
10859         (Duplicate_Subexpr): Restore original form (checks duplicated)
10860         (Duplicate_Subexpr): Call Remove_Checks
10861
10862         * exp_util.ads:
10863         (Duplicate_Subexpr_No_Checks): New procedure
10864         (Duplicate_Subexpr_No_Checks_Orig): New procedure
10865         Add 2002 to copyright notice
10866
10867         * sem_util.adb: Use new Duplicate_Subexpr functions
10868
10869         * sem_eval.adb:
10870         (Eval_Indexed_Component): This is the place to call
10871         Constant_Array_Ref and to replace the value. We simply merge
10872         the code of this function in here, since it is now no longer
10873         used elsewhere. This fixes the problem of the back end not
10874         realizing we were clever enough to see that this was
10875         constant.
10876         (Expr_Val): Remove call to Constant_Array_Ref
10877         (Expr_Rep_Val): Remove call to Constant_Array_Ref
10878         Minor reformatting
10879         (Constant_Array_Ref): Deal with string literals (patch
10880         suggested by Zack Weinberg on the gcc list)
10881
10882 2001-03-28  Ed Schonberg <schonber@gnat.com>
10883
10884         * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
10885         Duplicate_Subexpr_Move_Checks.
10886
10887         * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
10888         Duplicate_Subexpr_Move_Checks.
10889
10890         * sem_eval.adb: (Constant_Array_Ref): Verify that constant
10891         value of array exists before retrieving it (it may a private
10892         protected component in a function).
10893
10894 2002-03-28   Geert Bosch <bosch@gnat.com>
10895
10896         * prj-pp.adb : New file.
10897
10898         * prj-pp.ads : New file.
10899
10900 2002-03-28  Andreas Jaeger  <aj@suse.de>
10901
10902         * Makefile.in (stamp-sdefault): Fix path for Makefile.
10903
10904 2002-03-28  Neil Booth  <neil@daikokuya.demon.co.uk>
10905
10906         * misc.c (gnat_expand_expr): Move prototype.
10907
10908 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10909
10910         * misc.c (insert_default_attributes): Remove.
10911
10912 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10913
10914         * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
10915         (gnat_init): Don't set hook.
10916         (gnat_expand_expr): Fix prototype.
10917
10918 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10919
10920         * misc.c (ggc_p): Remove.
10921
10922 2002-03-27  Geert Bosch  <bosch@gnat.com>
10923
10924         * prj-makr.ads, prj-makr.adb : New files.
10925
10926 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
10927
10928         * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
10929         (lang_mark_tree): Make static, rename.
10930
10931 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
10932
10933         * misc.c (maybe_build_cleanup): Remove.
10934
10935 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
10936
10937         * gigi.h (yyparse): Remove.
10938
10939 2002-03-23  Florian Weimer  <fw@deneb.enyo.de>
10940
10941         * gnat_rm.texi: Sync with ACT version.
10942           (From Ben Brosgol <brosgol@gnat.com>)
10943
10944 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
10945
10946         * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
10947         (gnat_init): Remove old hook.
10948
10949 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
10950
10951         * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
10952         (yyparse): Rename gnat_parse_file.
10953
10954 2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
10955
10956         Delete all lines containing "$Revision:".
10957         * xeinfo.adb: Don't look for revision numbers.
10958         * xnmake.adb: Likewise.
10959         * xsinfo.adb: Likewise.
10960         * xsnames.adb: Likewise.
10961         * xtreeprs.adb: Likewise.
10962
10963 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10964
10965         * misc.c (gnat_tree_code_type, gnat_tree_code_length,
10966         gnat_tree_code_name): Delete.
10967         (tree_code_type, tree_code_length, tree_code_name): Define.
10968         (gnat_init): Don't try to copy into the various tree_code
10969         arrays.
10970
10971 2002-03-11  Richard Henderson  <rth@redhat.com>
10972
10973         * Makefile.in (.NOTPARALLEL): Add fake tag.
10974
10975 2002-03-07  Geert Bosch  <bosch@gnat.com>
10976
10977         * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
10978         s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
10979         switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
10980         switch-m.adb, switch-m.ads : New files.
10981
10982 2002-03-07  Geert Bosch  <bosch@gnat.com>
10983
10984         * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
10985         4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
10986         4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
10987         4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
10988         5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
10989         5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
10990         5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
10991         5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
10992         5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
10993         5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
10994         5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
10995         5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
10996         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
10997         5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
10998         5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
10999         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
11000         5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
11001         5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
11002         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
11003         5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
11004         7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
11005         Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
11006         a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
11007         a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
11008         a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
11009         a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
11010         a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
11011         a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
11012         a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
11013         adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
11014         atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
11015         bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
11016         csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
11017         einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
11018         eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
11019         exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
11020         exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
11021         exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
11022         exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
11023         exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
11024         expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
11025         freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
11026         g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
11027         g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
11028         g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
11029         g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
11030         g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
11031         g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
11032         gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
11033         gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
11034         gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
11035         i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
11036         impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
11037         lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
11038         lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
11039         memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
11040         mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
11041         nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
11042         output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
11043         par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
11044         prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
11045         prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
11046         prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
11047         rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
11048         s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
11049         s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
11050         s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
11051         s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
11052         s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
11053         s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
11054         s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
11055         s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
11056         s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
11057         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
11058         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
11059         s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
11060         s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
11061         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
11062         s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
11063         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
11064         sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
11065         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
11066         sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
11067         sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
11068         sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
11069         sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
11070         sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
11071         sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
11072         sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
11073         snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
11074         stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
11075         table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
11076         tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
11077         treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
11078         types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
11079         utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
11080         xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
11081
11082         * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
11083         g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
11084         mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
11085         osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
11086
11087         * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
11088         5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
11089
11090         * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
11091         to mdll-fil.ad[bs] and mdll-util.ad[bs]
11092
11093         * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
11094         from mdllfile.ad[bs] and mdlltool.ad[bs]
11095
11096 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11097
11098         * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
11099         lieu of explicit sizeof/sizeof.
11100
11101 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
11102
11103         * misc.c (copy_lang_decl): Remove.
11104
11105 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
11106
11107         * misc.c: Delete traditional-mode-related code copied from the
11108         C front end but not used, or used only to permit the compiler
11109         to link.
11110
11111 2002-02-07  Richard Henderson  <rth@redhat.com>
11112
11113         * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
11114         * adaint.h (__gnat_to_gm_time): Update prototype.
11115
11116 2002-01-30  Richard Henderson  <rth@redhat.com>
11117
11118         * trans.c (tree_transform) [N_Loop_Statement]: Use
11119         expand_exit_loop_top_cond.
11120
11121 2001-12-23  Richard Henderson  <rth@redhat.com>
11122
11123         * utils.c (end_subprog_body): Push GC context around
11124         rest_of_compilation for nested functions.
11125
11126 2001-12-23  Richard Henderson  <rth@redhat.com>
11127
11128         * 5nosinte.ads: Get definition of "int" from Interfaces.C.
11129
11130 2001-12-23  Florian Weimer  <fw@deneb.enyo.de>
11131
11132         * gnat-style.texi (Declarations and Types): Remove ancient style
11133         rule which was mandated by code generation issues.
11134
11135         * gnat-style.texi (header): Add @dircategory, @direntry.
11136         (title page): Remove date.
11137         (general) Add @./@: where approriate, and two spaces after the
11138         full stop at the end of a sentence.  Use @samp markup when
11139         referring concrete lexical entities (keywords, attribute names
11140         etc.), and @syntax for ARM grammar elements. Use @r for English
11141         text in comments.  Use @emph for emphasis.  Change "if-statements"
11142         etc. to "if statements" (without @samp). Break long lines.  Make
11143         casing of section names consistent.
11144         (Identifiers): Use @samp markup for variable names.
11145         (Comments): Use @samp markup for comment characters. Line-end
11146         comments may follow any Ada code, not just statements.  Fix
11147         misspelling of "Integer" as "integer".
11148         (Loop statements): Do not use variable name "I", use "J".
11149         (Subprogram Declarations): Document alignment.
11150         (Subprogram Bodies, Block statements): Document empty line before
11151         "begin".
11152
11153 2001-12-22  Florian Weimer  <fw@deneb.enyo.de>
11154
11155         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
11156         function approach did not work well because of a side effect (the
11157         function call could reallocate the table which was being indexed
11158         using its result). Fixes ada/4851.
11159
11160 2001-12-19  Robert Dewar <dewar@gnat.com>
11161
11162         * bindgen.adb: Minor reformatting
11163
11164         * cstand.adb: Minor reformatting
11165
11166         * fmap.adb: Minor reformatting
11167         Change name from Add for Add_To_File_Map (Add is much too generic)
11168         Change Path_Name_Of to Mapped_Path_Name
11169         Change File_Name_Of to Mapped_File_Name
11170         Fix copyright dates in header
11171
11172         * fmap.ads:
11173         Change name from Add for Add_To_File_Map (Add is much too generic)
11174         Change Path_Name_Of to Mapped_Path_Name
11175         Change File_Name_Of to Mapped_File_Name
11176         Fix copyright dates in header
11177
11178         * fname-uf.adb: Minor reformatting.  New names of stuff in Fmap.
11179         Add use clause for Fmap.
11180
11181         * make.adb: Minor reformatting
11182
11183         * osint.adb: Minor reformatting.  Change of names in Fmap.
11184         Add use clause for Fmap.
11185
11186         * prj-env.adb: Minor reformatting
11187
11188         * prj-env.ads: Minor reformatting
11189
11190         * switch.adb: Minor reformatting.  Do proper raise of Bad_Switch if
11191         error found (there were odd exceptions to this general rule in
11192         -gnatec/-gnatem processing)
11193
11194 2001-12-19  Olivier Hainque <hainque@gnat.com>
11195
11196         * raise.c (__gnat_eh_personality): Exception handling personality
11197         routine for Ada.  Still in rough state, inspired from the C++ version
11198         and still containing a bunch of debugging artifacts.
11199         (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
11200         inspired from the C++ library.
11201
11202         * raise.c (eh_personality): Add comments. Part of work for the GCC 3
11203         exception handling integration.
11204
11205 2001-12-19  Arnaud Charlet <charlet@gnat.com>
11206
11207         * Makefile.in: Remove use of 5smastop.adb which is obsolete.
11208         (HIE_SOURCES): Add s-secsta.ad{s,b}.
11209         (HIE_OBJS): Add s-fat*.o
11210         (RAVEN_SOURCES): Remove files that are no longer required. Add
11211         interrupt handling files.
11212         (RAVEN_MOD): Removed, no longer needed.
11213
11214 2001-12-19  Robert Dewar <dewar@gnat.com>
11215
11216         * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
11217         Add 2001 to copyright date
11218
11219         * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
11220         need to force universal inlining for these cases.
11221
11222 2001-12-19  Arnaud Charlet <charlet@gnat.com>
11223
11224         * s-taprob.adb: Minor clean ups so that this unit can be used in
11225         Ravenscar HI.
11226
11227         * exp_ch7.adb: Allow use of secondary stack in HI mode.
11228         Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
11229
11230 2001-12-19  Vincent Celier <celier@gnat.com>
11231
11232         * prj-tree.ads (Project_Node_Record): Add comments for components
11233         Pkg_Id and Case_Insensitive.
11234
11235 2001-12-19  Pascal Obry <obry@gnat.com>
11236
11237         * g-socket.adb: Minor reformatting. Found while reading code.
11238
11239 2001-12-19  Robert Dewar <dewar@gnat.com>
11240
11241         * prj-tree.ads: Minor reformatting
11242
11243 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
11244
11245         * config-lang.in (diff_excludes): Remove.
11246
11247 2001-12-17  Ed Schonberg <schonber@gnat.com>
11248
11249         * sem_res.adb (Resolve_Selected_Component): do not generate a
11250         discriminant check if the selected component is a component of
11251         the argument of an initialization procedure.
11252
11253         * trans.c (tree_transform, case of arithmetic operators): If result
11254         type is private, the gnu_type is the base type of the full view,
11255         given that the full view itself may be a subtype.
11256
11257 2001-12-17  Robert Dewar <dewar@gnat.com>
11258
11259         * sem_res.adb: Minor reformatting
11260
11261         * trans.c (tree_transform, case N_Real_Literal): Add missing third
11262         parameter in call to Machine (unknown horrible effects from this
11263         omission).
11264
11265         * urealp.h: Add definition of Round_Even for call to Machine
11266         Add third parameter for Machine
11267
11268 2001-12-17  Ed Schonberg <schonber@gnat.com>
11269
11270         * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
11271         predefined units in No_Run_Time mode.
11272
11273 2001-12-17  Richard Kenner <kenner@gnat.com>
11274
11275         * misc.c (insn-codes.h): Now include.
11276
11277 2001-12-17  Olivier Hainque <hainque@gnat.com>
11278
11279         * a-except.adb: Preparation work for future integration of the GCC 3
11280         exception handling mechanism
11281         (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
11282         to factorize previous code sequences and make them externally callable,
11283         e.g. for the Ada personality routine when the GCC 3 mechanism is used.
11284         (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
11285         Use the new notification routines.
11286
11287 2001-12-17  Emmanuel Briot <briot@gnat.com>
11288
11289         * prj-tree.ads (First_Choice_Of): Document the when others case
11290
11291 2001-12-17  Arnaud Charlet <charlet@gnat.com>
11292
11293         * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
11294         HI-E mode, in order to support Ravenscar profile properly.
11295
11296         * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
11297         mode on 32 bits targets.
11298
11299 2001-12-17  Vincent Celier <celier@gnat.com>
11300
11301         * fmap.adb: Initial version.
11302
11303         * fmap.ads: Initial version.
11304
11305         * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
11306         If search is successfully done, add to mapping.
11307
11308         * frontend.adb: Initialize the mapping if a -gnatem switch was used.
11309
11310         * make.adb:
11311         (Gnatmake): Add new local variable Mapping_File_Name.
11312          Create mapping file when using project file(s).
11313          Delete mapping file before exiting.
11314
11315         * opt.ads (Mapping_File_Name): New variable
11316
11317         * osint.adb (Find_File): Use path name found in mapping, if any.
11318
11319         * prj-env.adb (Create_Mapping_File): New procedure
11320
11321         * prj-env.ads (Create_Mapping_File): New procedure.
11322
11323         * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
11324         (Mapping_File)
11325
11326         * usage.adb: Add entry for new switch -gnatem.
11327
11328         * Makefile.in: Add dependencies for fmap.o.
11329
11330 2001-12-17  Ed Schonberg <schonber@gnat.com>
11331
11332         * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
11333         is a package instantiation rewritten as a package body.
11334         (Install_Withed_Unit): Undo previous change, now redundant.
11335
11336 2001-12-17  Gary Dismukes <dismukes@gnat.com>
11337
11338         * layout.adb:
11339         (Compute_Length): Move conversion to Unsigned to callers.
11340         (Get_Max_Size): Convert Len expression to Unsigned after calls to
11341         Compute_Length and Determine_Range.
11342         (Layout_Array_Type): Convert Len expression to Unsigned after calls to
11343         Compute_Length and Determine_Range.
11344         Above changes fix problem with length computation for supernull arrays
11345         where Max (Len, 0) wasn't getting applied due to the Unsigned
11346         conversion used by Compute_Length.
11347
11348 2001-12-17  Arnaud Charlet <charlet@gnat.com>
11349
11350         * rtsfind.ads:
11351         (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
11352          System.Secondary_Stack.
11353         (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
11354          in HI-E mode.
11355         Remove unused entity RE_Exception_Data.
11356
11357         * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
11358
11359         * rident.ads (No_Secondary_Stack): New restriction.
11360
11361 2001-12-17  Joel Brobecker <brobecke@gnat.com>
11362
11363         * gnat_rm.texi: Fix minor typos. Found while reading the section
11364         regarding "Bit_Order Clauses" that was sent to a customer.
11365         Very interesting documentation!
11366
11367 2001-12-17  Robert Dewar <dewar@gnat.com>
11368
11369         * sem_case.adb (Choice_Image): Avoid creating improper character
11370         literal names by using the routine Set_Character_Literal_Name. This
11371         fixes bombs in certain error message cases.
11372
11373 2001-12-17  Arnaud Charlet <charlet@gnat.com>
11374
11375         * a-reatim.adb: Minor reformatting.
11376
11377 2001-12-17  Ed Schonberg <schonber@gnat.com>
11378
11379         * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
11380         case where the formal is an extension of another formal in the current
11381         unit or in a parent generic unit.
11382
11383 2001-12-17  Arnaud Charlet <charlet@gnat.com>
11384
11385         * s-tposen.adb: Update comments.  Minor reformatting.
11386         Minor code clean up.
11387
11388         * s-tarest.adb: Update comments.  Minor code reorganization.
11389
11390 2001-12-17  Gary Dismukes <dismukes@gnat.com>
11391
11392         * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
11393         when Java_VM.
11394
11395 2001-12-17  Robert Dewar <dewar@gnat.com>
11396
11397         * exp_attr.adb: Minor reformatting
11398
11399 2001-12-17  Ed Schonberg <schonber@gnat.com>
11400
11401         * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
11402         derivations nested within a child unit: verify that the parent
11403         type is declared in an outer scope.
11404
11405 2001-12-17  Robert Dewar <dewar@gnat.com>
11406
11407         * sem_ch12.adb: Minor reformatting
11408
11409 2001-12-17  Ed Schonberg <schonber@gnat.com>
11410
11411         * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
11412         warning if current unit is a predefined one, from which bodies may
11413         have been deleted.
11414
11415 2001-12-17  Robert Dewar <dewar@gnat.com>
11416
11417         * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
11418         Fix header format. Add 2001 to copyright date.
11419
11420         * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
11421         which caused CE during compilation if checks were enabled.
11422
11423 2001-12-17  Vincent Celier <celier@gnat.com>
11424
11425         * make.adb:
11426         (Switches_Of): New function
11427         (Test_If_Relative_Path): New procedure
11428         (Add_Switches): Use new function Switches_Of
11429         (Collect_Arguments_And_Compile): Use new function Switches_Of.
11430         When using a project file, test if there are any relative
11431         search path. Fail if there are any.
11432         (Gnatmake): Only add switches for the primary directory when not using
11433         a project file. When using a project file, change directory to the
11434         object directory of the main project file. When using a project file,
11435         test if there are any relative search path. Fail if there are any.
11436         When using a project file, fail if specified executable is relative
11437         path with directory information, and prepend executable, if not
11438         specified as an absolute path, with the exec directory.  Make sure
11439         that only one -o switch is transmitted to the linker.
11440
11441         * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
11442
11443         * prj-nmsc.adb:
11444         (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
11445         when using a non standard naming scheme.
11446         (Check_Ada_Naming_Scheme): Make sure that error messages
11447         do not raise exceptions.
11448         (Is_Illegal_Append): Return True if there is no dot in the suffix.
11449         (Language_Independent_Check): Check the exec directory.
11450
11451         * prj.adb (Project_Empty): Add new component Exec_Directory
11452
11453         * prj.ads:
11454         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
11455         (Project_Data): Add component Exec_Directory
11456
11457         * snames.adb: Updated to match snames.ads revision 1.215
11458
11459         * snames.ads: Added Exec_Dir
11460
11461 2001-12-17  Robert Dewar <dewar@gnat.com>
11462
11463         * make.adb: Minor reformatting
11464
11465         * prj-nmsc.adb: Minor reformatting
11466
11467         * snames.adb: Updated to match snames.ads
11468
11469         * snames.ads: Alphebetize entries for project file
11470
11471 2001-12-17  Ed Schonberg <schonber@gnat.com>
11472
11473         * trans.c (process_freeze_entity): Do nothing if the entity is a
11474         subprogram that was already elaborated.
11475
11476 2001-12-17  Richard Kenner <kenner@gnat.com>
11477
11478         * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
11479         and Esize if object is referenced via pointer.
11480
11481 2001-12-17  Ed Schonberg <schonber@gnat.com>
11482
11483         * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
11484         is discrete before analyzing choices.
11485
11486 2001-12-17  Joel Brobecker <brobecke@gnat.com>
11487
11488         * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
11489         containing the name of the Ada Main Program. This string is mainly
11490         intended for the debugger.
11491         (Gen_Output_File_C): Do the equivalent change when generating a C file.
11492
11493 2001-12-17  Robert Dewar <dewar@gnat.com>
11494
11495         * ali.adb: Set new Dummy_Entry field in dependency entry
11496
11497         * ali.ads: Add Dummy_Entry field to source dependency table
11498
11499         * bcheck.adb (Check_Consistency): Ignore dummy D lines
11500
11501         * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
11502
11503         * lib-writ.ads: Document dummy D lines for missing files.
11504
11505         * types.ads: (Dummy_Time_Stamp): New value for non-existant files
11506
11507 2001-12-17  Robert Dewar <dewar@gnat.com>
11508
11509         * ali.adb: Type reference does not reset current file.
11510
11511         * ali.adb: Recognize and scan renaming reference
11512
11513         * ali.ads: Add spec for storing renaming references.
11514
11515         * lib-xref.ads: Add documentation for handling of renaming references
11516
11517         * lib-xref.adb: Implement output of renaming reference.
11518
11519         * checks.adb:
11520         (Determine_Range): Document local variables
11521         (Determine_Range): Make sure Hbound is initialized. It looks as though
11522          there could be a real problem here with an uninitialized reference
11523          to Hbound, but no actual example of failure has been found.
11524
11525 2001-12-17  Laurent Pautet <pautet@gnat.com>
11526
11527         * g-socket.ads:
11528         Fix comment of Shutdown_Socket and Close_Socket. These functions
11529         should not fail silently because if they are called twice, this
11530         probably means that there is a race condition in the user program.
11531         Anyway, this behaviour is consistent with the rest of this unit.
11532         When an error occurs, an exception is raised with the error message
11533         as exception message.
11534
11535 2001-12-17  Robert Dewar <dewar@gnat.com>
11536
11537         * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
11538         that it happens before modification of Sloc values for -gnatD.
11539
11540         * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
11541         so that it happens before modification of Sloc values for -gnatD.
11542
11543         * switch.adb: Minor reformatting
11544
11545 2001-12-15  Richard Henderson  <rth@redhat.com>
11546
11547         * sem_ch7.adb: Wrap comment.
11548
11549 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
11550
11551         * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
11552         5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
11553         5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
11554         5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
11555         5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
11556         7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
11557         a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
11558         a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
11559         cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
11560         exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
11561         exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
11562         g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
11563         gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
11564         make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
11565         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
11566         repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
11567         s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
11568         s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
11569         s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
11570         s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
11571         sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
11572         sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
11573         sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
11574         sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
11575         spelling errors.
11576
11577 2001-12-14  Vincent Celier <celier@gnat.com>
11578
11579         * osint.adb(Create_Debug_File): When an object file is specified,
11580         put the .dg file in the same directory as the object file.
11581
11582 2001-12-14  Robert Dewar <dewar@gnat.com>
11583
11584         * osint.adb: Minor reformatting
11585
11586         * lib-xref.adb (Output_Instantiation): New procedure to generate
11587         instantiation references.
11588
11589         * lib-xref.ads: Add documentation of handling of generic references.
11590
11591         * ali.adb (Read_Instantiation_Ref): New procedure to read
11592         instantiation references
11593
11594         * ali.ads: Add spec for storing instantiation references
11595
11596         * bindusg.adb: Minor reformatting
11597
11598         * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11599
11600         * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11601
11602         * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11603
11604         * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11605
11606         * csets.ads:
11607         Fix header format
11608         Add 2001 to copyright date
11609         Add entry for Latin-5 (Cyrillic ISO-8859-5)
11610
11611 2001-12-14  Matt Gingell <gingell@gnat.com>
11612
11613         * adaint.c: mktemp is a macro on Lynx and can not be used as an
11614         expression.
11615
11616 2001-12-14  Richard Kenner <kenner@gnat.com>
11617
11618         * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
11619         if operand is CONSTRUCTOR.
11620
11621 2001-12-14  Ed Schonberg <schonber@gnat.com>
11622
11623         * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
11624         before emiting check on right-hand side, so that exception information
11625         is correct.
11626
11627 2001-12-14  Richard Kenner <kenner@gnat.com>
11628
11629         * utils.c (create_var_decl): Throw away initializing expression
11630         if just annotating types and non-constant.
11631
11632 2001-12-14  Vincent Celier <celier@gnat.com>
11633
11634         * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
11635         Default_Ada_...
11636
11637         * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
11638         Remove functions.
11639         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
11640
11641         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
11642         Remove functions.
11643         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
11644
11645 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
11646
11647         * ChangeLog: Remove piece of diff output.
11648
11649 2001-12-14  Geert Bosch <bosch@gnat.com>
11650
11651         * config-lang.in: Update copyright notice
11652
11653         * layout.adb: Remove commented out code.
11654
11655         * mdllfile.ads: Update copyright notice. Fix header format.
11656
11657         * sem_case.ads: Likewise.
11658
11659         * sem_ch3.adb: Minor reformatting.
11660
11661 2001-12-12  Geert Bosch <bosch@gnat.com>
11662
11663         * freeze.ads: Update copyright date.
11664
11665         * g-comlin.ads: Minor reformatting.
11666
11667         * gnat-style.texi: Fix typo.
11668
11669 2001-12-12  Geert Bosch <bosch@gnat.com>
11670
11671         *  einfo.h: Regenerate.
11672
11673 2001-12-12  Ed Schonberg <schonber@gnat.com>
11674
11675         * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
11676         on known node types, rather than untyped fields. Further cleanups.
11677
11678 2001-12-12  Robert Dewar <dewar@gnat.com>
11679
11680         * sem_ch12.adb:
11681         (Save_Entity_Descendant): Minor comment update.
11682         (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
11683          of an N_Attribute_Reference node. As per note below, this does not
11684         eliminate need for Associated_Node in attribute ref nodes.
11685         (Associated_Node): Documentation explicitly mentions attribute
11686         reference nodes, since this field is used in such nodes.
11687
11688         * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
11689
11690 2001-12-12  Robert Dewar <dewar@gnat.com>
11691
11692         * s-stalib.adb: Add more comments on with statements being needed
11693
11694         * par-ch12.adb: Minor reformatting
11695
11696         * prj-dect.ads: Fix copyright header
11697
11698         * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
11699         inputs fit in 32 bits, but the result still overflows.
11700
11701         * s-fatgen.ads: Minor comment improvement
11702
11703 2001-12-12  Ed Schonberg <schonber@gnat.com>
11704
11705         * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
11706         formal derived type, look for an inherited component from the full
11707         view of the parent, if any.
11708
11709 2001-12-12  Robert Dewar <dewar@gnat.com>
11710
11711         * checks.ads (Apply_Alignment_Check): New procedure.
11712
11713         * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
11714         ensure that the alignment of objects with address clauses is
11715         appropriate, and raise PE if not.
11716
11717         * exp_util.ads (Must_Be_Aligned): Removed, replaced by
11718         Exp_Pakd.Known_Aligned_Enough
11719
11720         * mdllfile.ads: Minor reformatting
11721
11722         * mlib-fil.ads: Minor reformatting
11723
11724 2001-12-12  Ed Schonberg <schonber@gnat.com>
11725
11726         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
11727         fix to any component reference if enclosing record has non-standard
11728         representation.
11729
11730 2001-12-12  Vincent Celier <celier@gnat.com>
11731
11732         * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
11733         Iteration
11734
11735 2001-12-12  Ed Schonberg <schonber@gnat.com>
11736
11737         * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
11738         sem_attr.
11739
11740 2001-12-12  Robert Dewar <dewar@gnat.com>
11741
11742         * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
11743
11744 2001-12-12  Emmanuel Briot <briot@gnat.com>
11745
11746         * g-regexp.adb: Remove all debug code, since it isn't required anymore,
11747         and it adds dependencies to system.io.
11748
11749 2001-12-12  Pascal Obry <obry@gnat.com>
11750
11751         * g-dirope.adb (Expand_Path.Var): Correctly detect end of
11752         variable name.
11753
11754 2001-12-11  Ed Schonberg <schonber@gnat.com>
11755
11756         * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
11757         that is the parent of other generics, the instance body replaces the
11758         instance node.  Retrieve the instance of the spec, which is the one
11759         that is visible in clients and within the body.
11760
11761 2001-12-11  Vincent Celier <celier@gnat.com>
11762
11763         * gnatmain.adb: Initial version.
11764
11765         * gnatmain.ads: Initial version.
11766
11767         * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
11768
11769         * snames.adb: Updated to match snames.ads.
11770
11771         * snames.ads: Added Gnatstub.
11772
11773 2001-12-11  Vincent Celier <celier@gnat.com>
11774
11775         * prj-attr.adb (Initialization_Data): Change name from
11776         Initialisation_Data.
11777
11778 2001-12-11  Emmanuel Briot <briot@gnat.com>
11779
11780         * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
11781         + and * applied to backslashed expressions like \r.
11782
11783 2001-12-11  Vasiliy Fofanov <fofanov@gnat.com>
11784
11785         * g-os_lib.ads: String_List type added, Argument_List type is now
11786         subtype of String_List.
11787
11788 2001-12-11  Robert Dewar <dewar@gnat.com>
11789
11790         * g-os_lib.ads: Change copyright to FSF
11791         Add comments for String_List type
11792
11793 2001-12-11  Vincent Celier <celier@gnat.com>
11794
11795         * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
11796         string to the buffer).
11797
11798 2001-12-11  Ed Schonberg <schonber@gnat.com>
11799
11800         * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
11801         sem_attr.
11802
11803         * sem_attr.adb: Simplify previous fix for Address.
11804         (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
11805         to avoid anomalies where the bound of the type appears to raise
11806         constraint error.
11807
11808 2001-12-11  Robert Dewar <dewar@gnat.com>
11809
11810         * lib-xref.adb (Output_Refs): Make sure pointers are always properly
11811         handled.
11812
11813 2001-12-11  Ed Schonberg <schonber@gnat.com>
11814
11815         * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
11816         renamed unit before checking for recursive instantiations.
11817
11818 2001-12-11  Emmanuel Briot <briot@gnat.com>
11819
11820         * prj.ads: Add comments for some of the fields.
11821
11822 2001-12-11  Robert Dewar <dewar@gnat.com>
11823
11824         * lib-xref.adb (Output_Refs): Don't output type references outside
11825         the main unit if they are not otherwise referenced.
11826
11827 2001-12-11  Ed Schonberg <schonber@gnat.com>
11828
11829         * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
11830         code and diagnose additional illegal uses
11831
11832         * sem_util.adb (Is_Object_Reference): An indexed component is an
11833         object only if the prefix is.
11834
11835 2001-12-11  Vincent Celier <celier@gnat.com>
11836
11837         * g-diopit.adb: Initial version.
11838
11839         * g-diopit.ads: Initial version.
11840
11841         * g-dirope.adb:
11842         (Expand_Path): Avoid use of Unbounded_String
11843         (Find, Wildcard_Iterator): Moved to child package Iteration
11844
11845         * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
11846
11847 2001-12-11  Robert Dewar <dewar@gnat.com>
11848
11849         * sem_attr.adb: Minor reformatting
11850
11851 2001-12-11  Ed Schonberg <schonber@gnat.com>
11852
11853         * sem_ch3.adb: Clarify some ???.
11854
11855 2001-12-11  Robert Dewar <dewar@gnat.com>
11856
11857         * exp_util.adb (Must_Be_Aligned): Removed, replaced by
11858         Exp_Pakd.Known_Aligned_Enough
11859
11860         * sem_ch13.adb (Check_Address_Alignment): Removed, extended
11861         version is moved to Exp_Ch13.
11862
11863 2001-12-11  Robert Dewar <dewar@gnat.com>
11864
11865         * einfo.ads: Minor reformatting
11866
11867         * exp_ch5.adb: Add comment for previous.change
11868
11869         * ali.adb: New interface for extended typeref stuff.
11870
11871         * ali.ads: New interface for typeref stuff.
11872
11873         * checks.adb (Apply_Alignment_Check): New procedure.
11874
11875         * debug.adb: Add -gnatdM for modified ALI output
11876
11877         * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
11878
11879         * lib-xref.adb: Extend generation of <..> notation to cover
11880         subtype/object types. Note that this is a complete rewrite,
11881         getting rid of the very nasty quadratic algorithm previously
11882         used for derived type output.
11883
11884         * lib-xref.ads: Extend description of <..> notation to cover
11885         subtype/object types. Uses {..} for these other cases.
11886         Also use (..) for pointer types.
11887
11888         * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
11889
11890         * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
11891         (Known_Aligned_Enough): Replaces Must_Be_Aligned.
11892
11893 2001-12-11  Vincent Celier <celier@gnat.com>
11894
11895         * gnatcmd.adb:
11896         Changed /COMPILE_ONLY to /ACTIONS=COMPILE
11897         Changed /BIND_ONLY to /ACTIONS=BIND
11898         Changed /LINK_ONLY to /ACTIONS=LINK
11899
11900 2001-12-11  Ed Schonberg  <schonber@gnat.com>
11901
11902         * sem_ch8.adb (Find_Selected_Component): improved search for a
11903         candidate package in case of error.
11904
11905         * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
11906         chain back on scope stack before reinstalling use clauses.
11907
11908         * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
11909         is enabled, do not kill the code for the condition, to preserve
11910         warning.
11911
11912 2001-12-11  Robert Dewar <dewar@gnat.com>
11913
11914         * checks.adb (Insert_Valid_Check): Apply validity check to expression
11915         of conversion, not to result of conversion.
11916
11917 2001-12-11  Ed Schonberg <schonber@gnat.com>
11918
11919         * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
11920         before freezing parent. If the declarations are mutually recursive,
11921         an access to the current record type may be frozen before the
11922         derivation is complete.
11923
11924 2001-12-05  Vincent Celier <celier@gnat.com>
11925
11926         * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
11927         -c /COMPILE_ONLY, -l /LINK_ONLY
11928
11929         * opt.ads:
11930         (Bind_Only): New Flag
11931         (Link_Only): New flag
11932
11933         * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
11934         and -l (Link_Only)
11935
11936         * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
11937
11938         * make.adb:
11939         (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
11940         (Gnatmake): Set the step flags. Only perform a step if the
11941         corresponding step flag is True.
11942         (Scan_Make_Arg): Reset the bind and link step flags when -u
11943         or -gnatc has been specified.
11944
11945 2001-12-05  Ed Schonberg <schonber@gnat.com>
11946
11947         * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
11948         get bounds from right operand.
11949
11950         * sem_eval.adb: Minor reformatting
11951
11952         * exp_util.adb (Make_Literal_Range): use bound of literal rather
11953         than Index'First, its lower bound may be different from 1.
11954
11955         * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
11956         and C48009J
11957
11958 2001-12-05  Vincent Celier <celier@gnat.com>
11959
11960         * prj-nmsc.adb Minor reformatting
11961
11962         * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
11963         set and libraries are not supported.
11964
11965 2001-12-05  Ed Schonberg <schonber@gnat.com>
11966
11967         * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
11968         private view explicitly, so the back-end can treat as a global
11969         when appropriate.
11970
11971 2001-12-05  Ed Schonberg <schonber@gnat.com>
11972
11973         * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
11974          unit, always replace instance node with new body, for ASIS use.
11975
11976 2001-12-05  Vincent Celier <celier@gnat.com>
11977
11978         * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
11979         libraries are not supported and both attributes Library_Name and
11980         Library_Dir are specified.
11981
11982         * prj-proc.adb (Expression): Set location of Result to location of
11983         first term.
11984
11985         * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
11986         (prj-nmsc is now importing MLib.Tgt)
11987
11988         * prj-proc.adb: Put the change indicated above that was forgotten.
11989
11990 2001-12-05  Robert Dewar <dewar@gnat.com>
11991
11992         * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
11993
11994 2001-12-05  Ed Schonberg <schonber@gnat.com>
11995
11996         * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
11997         constraint, introduce explicit subtype declaration and derive from it.
11998
11999         * sem_ch3.adb: Minor reformatting
12000
12001 2001-12-05  Robert Dewar <dewar@gnat.com>
12002
12003         * checks.adb (Determine_Range): Increase cache size for checks.
12004         Minor reformatting
12005
12006         * exp_ch6.adb: Minor reformatting
12007         (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
12008         a parameter whose root type is System.Address, since treating such
12009         subprograms as pure in the code generator is almost surely a mistake
12010         that will lead to unexpected results.
12011
12012         * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
12013         change handling of conversions.
12014
12015         * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
12016
12017 2001-12-05  Ed Schonberg <schonber@gnat.com>
12018
12019         * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
12020         aggregate with static wrong size, attach generated Raise node to
12021         declaration.
12022
12023 2001-12-05  Robert Dewar <dewar@gnat.com>
12024
12025         * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
12026         Fixes compilation abandoned bomb in B24009B.
12027
12028 2001-12-05  Ed Schonberg <schonber@gnat.com>
12029
12030         * sem_ch12.adb:
12031         Document use of Associated_Node on Selected_Components.
12032         (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
12033         to clarify use of untyped descendant fields.
12034
12035 2001-12-05  Robert Dewar <dewar@gnat.com>
12036
12037         * prj-dect.ads: Add ??? comment
12038         Add 2001 to copyright notice (was not done in after all)
12039
12040         * prj-part.adb: Minor reformatting. Reword one awkward error message.
12041
12042         * prj.ads: Minor reformatting throughout, and add some ??? comments
12043
12044         * snames.ads: Minor reformatting
12045
12046 2001-12-05  Geert Bosch <bosch@gnat.com>
12047
12048         * snames.adb: Autoupdate
12049
12050 2001-12-05  Vincent Celier <celier@gnat.com>
12051
12052         * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
12053
12054         * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
12055
12056         * prj-env.adb: Minor comment changes (modifying -> extends).
12057
12058         * prj-nmsc.adb: Minor comment changes (modifying -> extends).
12059
12060         * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
12061         Tok_Extends.
12062
12063         * prj.adb (Initialize): Change Modifying to Extends.
12064
12065         * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
12066
12067         * prj.ads: Minor comment change (Modifying -> extending).
12068
12069         * snames.ads: Change modifying to extends.
12070
12071 2001-12-05  Robert Dewar <dewar@gnat.com>
12072
12073         * sem_warn.adb: Remove stuff for conditionals, we are not going to
12074         do this after all.
12075
12076         * sem_warn.ads: Remove stuff for conditionals, we are not going to
12077         do this after all.  Add 2001 to copyright notice
12078
12079 2001-12-04  Geert Bosch <bosch@gnat.com>
12080
12081         *  einfo.h, sinfo.h, treeprs.ads: Regenerate.
12082
12083 2001-12-04  Robert Dewar <dewar@gnat.com>
12084
12085         * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
12086         location if we already have errors. Stops some cases of cascaded
12087         errors.
12088
12089         * errout.adb: Improve comment.
12090
12091 2001-12-04  Robert Dewar <dewar@gnat.com>
12092
12093         * sem_ch12.adb:
12094         (Analyze_Formal_Type_Definition): Defend against Error.
12095         (Analyze_Formal_Subprogram): Defend against Error.
12096
12097         * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
12098         remove following semicolon if present. Removes cascaded error.
12099
12100 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
12101
12102         * bindgen.adb:
12103         (Gen_Exception_Table_Ada): Write "begin" and then return if Num
12104          exceptions equals 0.
12105         (Gen_Exception_Table_C): Return if Num exceptions equals 0.
12106         Fixes PIWG E tests (which have to be run with -gnatL).
12107
12108 2001-12-04  Robert Dewar <dewar@gnat.com>
12109
12110         * einfo.ads: Minor reformatting
12111
12112 2001-12-04  Ed Schonberg <schonber@gnat.com>
12113
12114         * einfo.ads: Block_Node points to the identifier of the block, not to
12115         the block node itself, to preserve the link when the block is
12116         rewritten, e.g. within an if-statement with a static condition.
12117
12118         * inline.adb (Cleanup_Scopes): recover block statement from block
12119         entity using new meaning of Block_Node.
12120
12121         * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
12122         identifier of block node, rather than to node itself.
12123
12124 2001-12-04  Gary Dismukes <dismukes@gnat.com>
12125
12126         * layout.adb:
12127         (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
12128         (Discrimify): Go back to setting the Etypes of the selected component
12129         because the Vname component does not exist at this point and will
12130         fail name resolution. Also set Analyzed.
12131         Remove with and use of Sem_Res.
12132
12133 2001-12-04  Arnaud Charlet <charlet@gnat.com>
12134
12135         * Makefile.in: (HIE_SOURCES): add s-fat*.
12136
12137 2001-12-04  Robert Dewar <dewar@gnat.com>
12138
12139         * sem_attr.adb:
12140         (Compile_Time_Known_Attribute): New procedure.
12141         (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
12142          proper range check.
12143
12144 2001-12-04  Ed Schonberg <schonber@gnat.com>
12145
12146         * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
12147         processing discriminants to diagnose illegal default values.
12148
12149 2001-12-04  Ed Schonberg <schonber@gnat.com>
12150
12151         * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
12152         access discriminant within a type extension that constrains its
12153         parent discriminants.
12154
12155 2001-12-04  Ed Schonberg <schonber@gnat.com>
12156
12157         * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
12158         is malformed, use instance of Any_Id to allow analysis to proceed.
12159
12160         * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
12161         type definition is illegal.
12162         (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
12163         misplaced.
12164
12165 2001-12-04  Ed Schonberg <schonber@gnat.com>
12166
12167         * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
12168         constants.
12169
12170 2001-12-04  Robert Dewar <dewar@gnat.com>
12171
12172         * errout.adb: Minor reformatting
12173
12174 2001-12-04  Robert Dewar <dewar@gnat.com>
12175
12176         * exp_util.adb: Minor reformatting from last change
12177
12178         * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
12179         which is a rewriting of an expression, traverse the original
12180         expression to remove warnings that may have been posted on it.
12181
12182 2001-12-04  Ed Schonberg <schonber@gnat.com>
12183
12184         * exp_util.adb (Must_Be_Aligned): Return false for a component of a
12185         record that has other packed components.
12186
12187 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
12188
12189         * adaint.c: Minor cleanups.
12190
12191 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
12192
12193         * adaint.c: Do not use utime.h on vxworks.
12194
12195 2001-12-04  Arnaud Charlet <charlet@gnat.com>
12196
12197         * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
12198         more confusion than it solves.
12199
12200 2001-12-04  Geert bosch <bosch@gnat.com>
12201
12202         * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
12203
12204 2001-12-04  Geert Bosch  <bosch@gnat.com>
12205
12206         * Makefile.in (update-sources): New target.
12207         For use by gcc_release script.
12208
12209 2001-12-04  Ed Schonberg <schonber@gnat.com>
12210
12211         * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
12212         a configuration pragma, it is now legal wherever a pragma can appear.
12213
12214 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
12215
12216         * Makefile.in: Don't set ALL.  Delete @cross_defines@,
12217         @cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
12218         is now @CROSS@ -DIN_GCC; update comment.
12219
12220 2001-12-04  Robert Dewar <dewar@gnat.com>
12221
12222         * einfo.adb (Has_Pragma_Pure_Function): New flag.
12223         Fix problem that stopped ceinfo from working
12224
12225         * einfo.ads (Has_Pragma_Pure_Function): New flag.
12226
12227         * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
12228
12229 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
12230
12231         * gnatchop.adb:
12232         (File_Time_Stamp): New procedure.
12233         (Preserve_Mode): New boolean.
12234         (Write_Unit): Pass time stamp.
12235         Implement -p switch (preserve time stamps).
12236
12237         * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
12238
12239         * gnatchop.adb: Do usage info for -p switch
12240
12241         * adaint.h (__gnat_set_file_time_name): New function
12242
12243         * adaint.c (__gnat_set_file_time_name): Implement
12244
12245         * adaint.h: Fix typo
12246
12247 2001-12-03  Robert Dewar <dewar@gnat.com>
12248
12249         * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
12250         have Associated_Node.
12251
12252 2001-12-03  Robert Dewar <dewar@gnat.com>
12253
12254         * prj-proc.adb: Minor reformatting
12255
12256         * make.adb: Minor reformatting
12257
12258 2001-12-03  Geert Bosch <bosch@gnat.com>
12259
12260         * make.adb: Minor reformatting.
12261
12262 2001-12-03 Robert Dewar  <dewar@gnat.com>
12263
12264         * sem_ch12.adb: Minor reformatting
12265
12266 2001-12-03  Ed Schonberg <schonber@gnat.com>
12267
12268         * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
12269         push Standard on the stack before analyzing the instance body,
12270         in order to have a clean visibility environment.
12271
12272         * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
12273
12274 2001-12-03  Ed Schonberg <schonber@gnat.com>
12275
12276         * sem_ch12.adb (Instantiate_Package_Body): Protect against double
12277         instantiation of a body that contains an inlined body.
12278
12279 2001-12-03  Ed Schonberg <schonber@gnat.com>
12280
12281         * sem_ch12.adb:
12282         (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
12283         to prevent freezing within formal packages.
12284         (Freeze_Subprogram_Body): If body comes from another instance that
12285         appeared before its own body, place freeze node at end of current
12286         declarative part, to prevent a back-end crash.
12287         (Inline_Instance_Body): Handle properly a package instance within
12288         a subprogram instance that is a child unit.
12289
12290 2001-12-01  Graham Stott  <grahams@redhat.com>
12291
12292         * Makefile.in (misc.o): Add missing $(srcdir) prefix
12293         and add optabs.h dependency.
12294
12295         * misc.c: Include optabs.h
12296         (gnat_tree_code_type): Make static and const.
12297         (gnat_tree_code_length): Likewise.
12298         (gnat_tree_code_name): Likewise.
12299         (update_setjmp_buf): Obtain operands mode from insn_data.
12300
12301 2001-11-29  Richard Henderson  <rth@redhat.com>
12302
12303         * init.c: Remove obsolete dwarf2 frame.h section.
12304
12305 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
12306
12307         * Make-lang.in (ada.generated-manpages): New dummy target.
12308
12309 2001-11-29  Ed Schonberg <schonber@gnat.com>
12310
12311         * g-os_lib.adb (Add_To_Command): use explicit loop to move string
12312         into Command, an array conversion is illegal here. Uncovered by
12313         ACATS B460005.
12314
12315 2001/11/28  Geert Bosch <bosch@gnat.com>
12316
12317         * init.c: Minor whitespace changes.
12318
12319 2001-11-28  Doug Rupp <rupp@gnat.com>
12320
12321         * init.c: (__gnat_install_handler,VMS): Increase size of alternate
12322         signal stack.
12323
12324 2001-11-28  Zack Weinberg  <zack@codesourcery.com>
12325
12326         * misc.c (gnat_expand_constant): Move declaration above
12327         definition of lang_hooks.
12328         (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
12329         (gnat_init): lang_expand_constant no longer exists.
12330
12331         (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
12332         always have vprintf.
12333         (gnat_init): Always call set_internal_error_function.
12334
12335 2001-11-27  Andreas Jaeger  <aj@suse.de>
12336
12337         * Makefile.in (stamp-tool_src_dir): Use symbolic link.
12338
12339 2001-11-27  Laurent Guerby  <guerby@acm.org>
12340
12341         * Makefile.in: Regenerate Ada dependencies.
12342
12343 2001-11-26  Richard Henderson  <rth@redhat.com>
12344
12345         * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
12346         gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
12347         gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
12348
12349 2001-11-25  Laurent Guerby  <guerby@acm.org>
12350
12351         * sysdep.c (rts_get_*): Fix style.
12352
12353 2001-11-19  Laurent Guerby  <guerby@acm.org>
12354
12355         * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
12356         since it is of no apparent use and cause warnings.
12357
12358 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
12359
12360         * misc.c (gnat_decode_option, gnat_init_options): Make definitions
12361         static too.
12362         (gnat_init): Don't return NULL.
12363         (finish_parse): Remove.
12364
12365 2001-11-17  Laurent Guerby  <guerby@acm.org>
12366
12367         * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
12368         * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
12369         * io-aux.c: Provide K&R prototypes to all functions, reformat code.
12370         * lang-spec.h: Add missing struct field to silence warnings.
12371         * sysdep.c (rts_get_*): Provide K&R prototype.
12372         * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
12373         * traceback.c (Unlock_Task, Lock_Task): Likewise.
12374         * tracebak.c (__gnat_backtrace): Remove unused variable.
12375         * utils.c (end_subprog_body): Move to K&R style.
12376
12377 Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12378
12379         * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
12380
12381 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
12382
12383         * misc.c (gnat_init): Change prototype.  Include the
12384         functionality of the old init_parse and init_decl_processing.
12385         (gnat_init_decl_processing): New prototype.
12386         (init_parse): Remove.
12387         * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
12388
12389 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12390
12391         * misc.c (gnat_print_decl, gnat_print_type): Renamed.
12392         (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
12393         (print_lang_statistics, lang_print_xnode, print_lang_identifier,
12394         set_yydebug): Remove.
12395
12396 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12397
12398         * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
12399         (struct lang_hooks): Constify.
12400         (language_string, lang_identify): Remove.
12401         * utils.c (init_decl_processing): Update.
12402
12403 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12404
12405         * misc.c: Include langhooks-def.h.
12406         * Makefile.in: Update.
12407
12408 2001-10-30  Robert Dewar <dewar@gnat.com>
12409
12410         * style.adb:
12411         (Check_Identifier): Rewrite circuit to be compatible with use of letters
12412         in the upper half of ASCII.
12413         (Check_Identifier): Minor reformatting
12414
12415 2001-10-30  Geert Bosch <bosch@gnat.com>
12416
12417         * (Associated_Node, Set_Associated_Node): Do not check for
12418         Freeze_Entity.
12419
12420 2001-10-30  Robert Dewar <dewar@gnat.com>
12421
12422         * a-reatim.ads: Minor reformatting
12423
12424 2001-10-30  Robert Dewar <dewar@gnat.com>
12425
12426         * gnatdll.adb: Minor reformatting throughout. Many ??? added for
12427         undocumented declarations.
12428
12429 2001-10-30  Pascal Obry <obry@gnat.com>
12430
12431         * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
12432         to the binder and linker.
12433         Minor style fix.
12434
12435         * mdll.ads: Fix layout.  Update copyright notice.
12436
12437         * mdll.adb: Fix layout.  Update copyright notice.
12438
12439 2001-10-30  Robert Dewar <dewar@gnat.com>
12440
12441         * usage.adb: Minor fix to output for -gnaty.
12442
12443 2001-10-30  Ed Schonberg <schonber@gnat.com>
12444
12445         * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
12446         to accommodate all its possible values.
12447
12448         * a-reatim.adb (Split): Special-case handling of Time_Span_First
12449         and of small absolute values of T.
12450
12451 2001-10-30  Richard Kenner <kenner@gnat.com>
12452
12453         * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
12454         set_mem_attributes since not needed and wrong if RESULT if a REG;
12455         fixes ACATS failures.
12456
12457 2001-10-30  Geert Bosch <bosch@gnat.com>
12458
12459         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
12460         s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
12461
12462 2001-10-30  Robert Dewar <dewar@gnat.com>
12463
12464         * bindusg.adb: Undocument -f switch.
12465
12466         * gnatcmd.adb: Remove /FULL_ELABORATION.
12467
12468         * opt.ads (Force_RM_Elaboration_Order): Document that this is
12469         obsolescent.
12470
12471         * gnatbind.adb: Output new warning for use of obsolescent -f switch.
12472
12473         * gnatbind.adb: Minor update of warning msg.
12474
12475 2001-10-30  Vincent Celier <celier@gnat.com>
12476
12477         * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
12478         for project file switches (-P (/PROJECT_FILE=),
12479          -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
12480         or MEDIUM or HIGH)
12481
12482 2001-10-30  Geert Bosch <bosch@gnat.com>
12483
12484         * decl.c: Minor whitespace fixes.
12485
12486 2001-10-30  Richard Kenner <kenner@gnat.com>
12487
12488         * utils2.c (build_allocator): Test for SIZE overflow in array case too
12489
12490 2001-10-30  Geert Bosch <bosch@gnat.com>
12491
12492         * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
12493         Found due to GCC 3.0 warning of using uninitialized value.
12494
12495         * layout.adb:
12496         (Get_Max_Size): Use variant record for tracking value/expression.
12497          Makes logic clearer and prevents warnings for uninitialized variables.
12498         (Layout_Array_Type): Use variant record for tracking value/expression.
12499          Makes logic clearer and prevents warnings for uninitialized variables.
12500
12501 2001-10-30  Robert Dewar <dewar@gnat.com>
12502
12503         * lib.adb: Minor reformatting
12504
12505         * s-taprop.ads: Minor reformatting
12506
12507 2001-10-29  Laurent Guerby  <guerby@acm.org>
12508
12509         * init.c:
12510         (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
12511         const.
12512         (_gnat_error_handler): Make MSG const.
12513
12514 2001-10-29  Richard Kenner <kenner@gnat.com>
12515
12516         * sysdep.c: Fix localtime_r problem on LynxOS.
12517         Also remove #elif to avoid warnings.
12518
12519         * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
12520         used by this.
12521
12522         * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
12523
12524 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
12525
12526         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
12527         exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
12528         g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
12529         g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
12530         layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
12531         s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
12532         sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
12533         sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
12534         sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
12535         types.ads, urealp.adb: Fix spelling errors.
12536
12537 2001-10-27  Laurent Guerby <guerby@acm.org>
12538
12539         * trans.c (gigi): Fix non determinism leading to bootstrap
12540         comparison failures for debugging information.
12541
12542 2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
12543
12544         * gnat_rm.texi: Use @./@: where appropriate.
12545
12546 2001-10-26  Robert Dewar <dewar@gnat.com>
12547
12548         * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
12549
12550 2001-10-26  Richard Kenner <kenner@gnat.com>
12551
12552         * gmem.c (__gnat_gmem_read_next): Properly check for EOF
12553
12554 2001-10-26  Richard Kenner <kenner@gnat.com>
12555
12556         * decl.c (validate_size): Modify message for bad size to avoid
12557         implication that compiler is modifying the size.
12558
12559 2001-10-26  Robert Dewar <dewar@gnat.com>
12560
12561         * prj-util.adb: Minor reformatting. Fix bad header format.
12562
12563 2001-10-26  Robert Dewar <dewar@gnat.com>
12564
12565         * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
12566
12567         * sinfo.ads: Clarify use of Associated_Node (documentation only).
12568
12569         * sem_ch12.adb: Change Node4 to Associated_Node. Change
12570         Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
12571         much more narrowly in places where needed. These are cleanups.
12572
12573 2001-10-26  Joel Brobecker <brobecke@gnat.com>
12574
12575         * 5zosinte.ads (null_pthread): new constant.
12576
12577         * 5ztaprop.adb:
12578         (Initialize_TCB): Initialize thread ID to null, to be able to verify
12579          later that this field has been set.
12580         (Finalize_TCB): ditto.
12581         (Suspend_Task): Verify that the thread ID is not null before using it.
12582         (Resume_Task): ditto.
12583
12584         * s-tasdeb.adb:
12585         (Resume_All_Tasks): Lock the tasks list before using it.
12586         (Suspend_All_Tasks): ditto.
12587
12588 2001-10-26  Richard Kenner <kenner@gnat.com>
12589
12590         * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
12591         Make constant variant of designated type for Is_Access_Constant.
12592         Call update_pointer_to with main variant.
12593
12594         * trans.c (process_freeze_entity, process_type):
12595         Call update_pointer_to on main variant.
12596
12597         * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
12598         If main variant, update all other variants.
12599
12600         * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
12601         TREE_STATIC.
12602
12603 2001-10-26  Robert Dewar <dewar@gnat.com>
12604
12605         * prj-util.adb: Minor reformatting
12606
12607 2001-10-26  Robert Dewar <dewar@gnat.com>
12608
12609         * prj-util.adb: Minor reformatting
12610
12611 2001-10-26  Robert Dewar <dewar@gnat.com>
12612
12613         * prj-attr.adb: Minor reformatting throughout
12614
12615 2001-10-26  Robert Dewar <dewar@gnat.com>
12616
12617         * prj-attr.ads: Minor reformatting
12618         Add ??? comment (this whole spec has almost no comments)
12619
12620 2001-10-26  Vincent Celier <celier@gnat.com>
12621
12622         * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
12623         ("//") that precede the drive letter on Interix.
12624
12625 2001-10-26  Geert Bosch <bosch@gnat.com>
12626
12627         * gnat_rm.texi: Add GNAT Reference Manual.
12628
12629 2001-10-25  Robert Dewar <dewar@gnat.com>
12630
12631         * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
12632         is Error. Similar change for other renaming cases.
12633
12634 2001-10-25  Robert Dewar <dewar@gnat.com>
12635
12636         * s-atacco.ads: Add pragma Inline_Always for functions.
12637         Fix header format. Add copyright 2001
12638
12639 2001-10-25  Ed Schonberg <schonber@gnat.com>
12640
12641         * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
12642         return Error rather than Empty so that analysis can proceed.
12643
12644 2001-10-25  Ed Schonberg <schonber@gnat.com>
12645
12646         * sem_util.adb (Enter_Name): better handling of cascaded error
12647         messages when a unit appears in its own context.
12648
12649 2001-10-25  Ed Schonberg <schonber@gnat.com>
12650
12651         * sem_util.adb (Defining_Entity): in case of error, attach created
12652         entity to specification, so that semantic analysis can proceed.
12653
12654 2001-10-25  Robert Dewar <dewar@gnat.com>
12655
12656         * sem_util.adb
12657         (Defining_Entity): Deal with Error.
12658         (Process_End_Label): Deal with bad end label for.
12659
12660 2001-10-25  Ed Schonberg <schonber@gnat.com>
12661
12662         * sem_elab.adb (Check_A_Call): refine message when call is in an
12663         instance but callee is not declared in the generic unit.
12664
12665 2001-10-25  Ed Schonberg <schonber@gnat.com>
12666
12667         * sem_elab.adb (Check_A_Call): check for renaming before finding the
12668         enclosing unit, which may already be different from the calling unit.
12669
12670 2001-10-25  Geert Bosch <bosch@gnat.com>
12671
12672         * 4gintnam.ads: fix header format.
12673
12674 2001-10-25  Ed Schonberg <schonber@gnat.com>
12675
12676         * sem_res.adb (Resolve_Call): if the call is actually an indexing
12677         operation on the result of a parameterless call, perform elaboration
12678         check after the node has been properly rewritten.
12679
12680         * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
12681         inlined within the generic tree, the defining identifier is not a
12682         compilation_unit.
12683
12684 2001-10-25  Ed Schonberg <schonber@gnat.com>
12685
12686         * sem_res.adb (Resolve): special-case resolution of Null in an
12687          instance or an inlined body to avoid view conflicts.
12688
12689         * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
12690          compatibility by retrieving the access type of the generic copy.
12691
12692 2001-10-25  Robert Dewar <dewar@gnat.com>
12693
12694         * sem_ch3.adb:
12695         (Analyze_Number_Declaration): Handle error expression.
12696         (Signed_Integer_Type_Declaration): Handle error bound.
12697         (Analyze_Subtype_Indication): Handle error range.
12698
12699         * sem_util.adb (Get_Index_Bounds): Check for Error.
12700
12701 2001-10-25  Robert Dewar <dewar@gnat.com>
12702
12703         * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
12704         in no run time mode.
12705
12706 2001-10-25  Pascal Obry <obry@gnat.com>
12707
12708         * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
12709         mode case for ALLOC case.
12710
12711         * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
12712         all platforms. Improvement of last change.
12713
12714 2001-10-25  Robert Dewar <dewar@gnat.com>
12715
12716         * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
12717
12718 2001-10-25  Geert Bosch  <bosch@gnat.com>
12719
12720         * osint.adb (Is_Relative): Remove duplicate.
12721
12722 2001-10-25  Pascal Obry <obry@gnat.com>
12723
12724         * osint.adb (Read_Default_Search_Dirs): correctly detect relative
12725         pathnames in UNIX and DOS style with drive letter.
12726         (Is_Relative): new routine.
12727
12728         * osint.adb: Minor reformatting
12729
12730         * osint.adb (Is_Relative): implementation using
12731         GNAT.OS_Lib.Is_Absolute_Path. Better fix.
12732
12733 2001-10-25  Pascal Obry <obry@gnat.com>
12734
12735         * g-dirope.adb (Basename): correctly compute offset between the
12736         original Path and the translated one.
12737
12738         * g-dirope.adb: (Base_Name): add some comments.
12739
12740 2001-10-25  Robert Dewar <dewar@gnat.com>
12741
12742         * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
12743         in HIE mode, avoids compilation abandoned message
12744
12745         * exp_imgv.adb: Correct typo in previous change
12746
12747         * exp_imgv.adb: Correct typo in previous change (not my day!)
12748
12749 2001-10-25  Robert Dewar <dewar@gnat.com>
12750
12751         * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
12752
12753 2001-10-25  Pascal Obry <obry@gnat.com>
12754
12755         * g-awk.ads: Move all pragma inlines next to the routine
12756          declarations. This is more uniform with other GNAT spec.
12757
12758 2001-10-22  Geert Bosch  <bosch@gnat.com>
12759
12760         * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
12761
12762 2001-10-19  Geert Bosch  <bosch@gnat.com>
12763
12764         * Makefile.in (tools, gnattools): Remove gnatmem.
12765
12766 2001-10-17  Richard Henderson  <rth@redhat.com>
12767
12768         * Makefile.in (misc.o): Depend on langhooks.h.
12769         * misc.c: Include it.
12770         (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
12771         (LANG_HOOKS_DECODE_OPTION): New.
12772         (lang_hooks): Use LANG_HOOKS_INITIALIZER.
12773
12774 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
12775
12776         * trans.c (tree_transform): Adjust to recent change in
12777         expand_asm_operands to implement named asm operands.
12778
12779 2001-10-11  Ed Schonberg  <schonber@gnat.com>
12780
12781         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
12782         renaming of discriminant for mutable record type.
12783
12784 2001-10-11  Robert Dewar  <dewar@gnat.com>
12785
12786         * validsw.adb: Properly save -gnatVn status.
12787
12788 2001-10-11  Robert Dewar <dewar@gnat.com>
12789
12790         * usage.adb: Add lines for V switch.
12791
12792         * gnatcmd.adb (COMPILE): Revise translations for -gnatV
12793         (/VALIDITY_CHECKING).
12794
12795 2001-10-11  Ed Schonberg <schonber@gnat.com>
12796
12797         * sem_type.adb (Add_One_Interp): an operator for a type declared in
12798         an extension of System is known to be visible.
12799
12800 2001-10-11  Ed Schonberg <schonber@gnat.com>
12801
12802         * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
12803         properly. Fixes regression on ACATS C34005G.
12804
12805 2001-10-11  Robert Dewar <dewar@gnat.com>
12806
12807         * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
12808         loop in generic instance, since this is likely not very useful.
12809
12810 2001-10-11  Robert Dewar <dewar@gnat.com>
12811
12812         * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
12813         the error message for high integrity mode.
12814
12815         * rtsfind.adb (RTE): Give message if we try to find an entity that
12816         is not available in high integrity mode.
12817
12818         * rtsfind.ads:
12819         (OK_To_Use_In_HIE_Mode): New array.
12820         (RTE): May return Empty in high integrity mode.
12821
12822         * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
12823         OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
12824
12825         * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
12826         unit if not inlined always and in no runtime mode. Fixes problem
12827         caused by new Rtsfind changes.
12828
12829         * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
12830         body is deleted.
12831
12832         * rtsfind.adb (RTE): Make sure we do not try to load unit after
12833         giving message for entity not available in high integrity mode.
12834
12835 2001-10-11  Pascal Obry <obry@gnat.com>
12836
12837         * impunit.adb: Add GNAT.CRC32.
12838
12839 2001-10-11  Ed Schonberg <schonber@gnat.com>
12840
12841         * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
12842         properly the case where one universal operand in a non-static
12843         exponentiation of a real literal.
12844
12845 2001-10-11  Ed Schonberg <schonber@gnat.com>
12846
12847         * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
12848         clause, return the gobal finalization list, for lack of anthing else.
12849
12850 2001-10-11  Ed Schonberg <schonber@gnat.com>
12851
12852         * exp_ch7.adb (Make_Transient_Block): if statement is within
12853         exception handler, always use new transient scope to place Clean
12854         procedure.
12855
12856 2001-10-11  Pascal Obry <obry@gnat.com>
12857
12858         * Makefile.in:
12859         (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
12860         (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
12861         (GNATLS_RTL_OBJS): add g-crc32.o
12862         (GNATMAKE_RTL_OBJS): add g-crc32.o
12863
12864         * ali-util.adb:
12865         (CRC_Match): new function.
12866         (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
12867         instead of the previous simple checksum algorithm.
12868         (Time_Stamp_Mismatch): use CRC_Match for comparison.
12869         (Set_Source_Table): idem.
12870
12871         * ali-util.ads:
12872         (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
12873         instead of simple checksum.
12874         (CRC_Match): new function.
12875         (CRC_Error): new constant.
12876
12877         * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
12878         a CRC now and not a simple checksum. A CRC uses lower-case hex
12879         letters, fixes ambiguity in parsing.
12880
12881         * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
12882         is what this variable will store.
12883
12884         * bcheck.adb: Change reference to chechsum in comments by CRC.
12885         (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
12886         rename All_Checksum_Match to All_CRC_Match. Change due to API
12887         renaming since now GNAT does not use a simple checksum but a
12888         CRC using GNAT.CRC32.
12889
12890         * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
12891         now and not anymore a simple checksum.
12892
12893         * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
12894         places.
12895
12896         * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
12897
12898         * scans.adb:
12899         (Restore_Scan_State): rename Checksum to CRC.
12900         (Save_Scan_State): idem.
12901
12902         * scans.ads:
12903         With GNAT.CRC32.
12904         (Checksum): rename to CRC.
12905         (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
12906
12907         * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
12908         GNAT.CRC32).  Update copyright notice.
12909
12910         * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
12911         GNAT.CRC32).  Update copyright notice.
12912
12913         * scn.adb:
12914         (Accumulate_Checksum): removed.
12915         (Update): new procedure. Add a wide-character into the CRC.
12916
12917         * sinput-l.adb:
12918         (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
12919         (Load_File): fix initialization of S (change Source_Checksum to
12920         Source_CRC)
12921
12922         * sinput-p.adb (Load_Project_File): rename Source_Checksum to
12923         Source_CRC in S initialization.
12924
12925         * sinput.adb (Source_Checksum): renamed to Source_CRC.
12926
12927         * sinput.ads (Source_Checksum): renamed to Source_CRC.
12928         Update comments for the CRC.
12929
12930         * types.adb (Hex): Use lowercase for the letter part.
12931
12932         * types.ads (Get_Hex_String): Returns the hexadecimal representation
12933         for a word. This is currently used only for CRC. In previous version,
12934         the checksum was using a representation with all letter being
12935         upper-case. With the new implementation (using CRC) we do not remove
12936         the 32th bit of the CRC, so we can have an upper-case starting letter
12937         in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
12938         It is ambigous since the CRC was optional and could be followed by
12939         options like EB, EE. So now this routines uses lower-case letter for
12940         the hexadecimal representation. Strange enough only lower case letters
12941         where checked in Scan_ALI (even if this was not a possible case).
12942
12943         * gnatvsn.ads (Library_Version): changed to 3.15a.
12944
12945         * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
12946         for the compiler.
12947
12948         * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
12949         for the compiler.
12950
12951         * ali-util.adb: Redo previous change to avoid using word CRC everywhere
12952         Add 2001 to copyright notice
12953         (Accumulate_Checksum): Modify to use System.CRC32.
12954
12955         * ali-util.ads: Redo changes of previous revision to continue to use
12956         the word Checksum. Add 2001 to copyright notice.
12957
12958         * ali.adb: Undo some of previous changes, not needed.
12959         Keep the change for lower case letters in the checksum.
12960
12961         * ali.ads: Undo previous change not needed.
12962
12963         * bcheck.adb: Undo most of previous change, not needed.
12964         But do use Checksums_Match for checksum comparison.
12965
12966         * gnatls.adb: Undo most of previous change, not needed.
12967         But do use Checksums_Match for comparing checksums.
12968
12969         * lib-load.adb: Undo previous change, not needed.
12970
12971         * lib-writ.adb: Undo previous change, not needed.
12972
12973         * lib-writ.ads: Document that checksums use lower case,
12974         not upper case letters.
12975
12976         * scans.adb: Undo previous change, not needed
12977
12978         * scans.ads: Undo previous change, not needed.
12979
12980         * scn-nlit.adb: Undo previous changes, not needed.
12981
12982         * scn-slit.adb: Undo previous change, not needed.  Fix header format.
12983
12984         * scn.adb:
12985         (Accumulate_Checksum): Use System.CRC32.
12986         (Initialize_Checksum): New procedure.
12987         Remove other changes of previous revision.
12988
12989         * sinput-p.adb: Undo previous change, not needed.
12990
12991         * sinput.adb: Undo previous change, not needed.
12992
12993         * sinput-l.adb: Undo previous change, not needed.
12994
12995         * sinput.ads: Undo previous change, not needed.  Keep only comment
12996         on new checksum algorithm
12997
12998         * Makefile.in: Add s-crc32 as needed, remove g-crc32.
12999         Also remove a-tags and a-stream from GNAT sources.
13000
13001         * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
13002
13003         * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
13004
13005 2001-10-11  Geert Bosch  <bosch@gnat.com>
13006
13007         * einfo.h: Regenerate.
13008
13009         * nmake.ads: Regenerate.
13010
13011         * nmake.adb: Regenerate.
13012
13013         * sinfo.h: Regenerate.
13014
13015         * treeprs.adb: Regenerate.
13016
13017 2001-10-10  Geert Bosch  <bosch@gnat.com>
13018
13019         * gnat-style.texi: New file describing coding guidelines for Ada.
13020
13021 2001-10-10  Ed Schonberg <schonber@gnat.com>
13022
13023         * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
13024         is Flag174.
13025
13026 2001-10-10  Geert Bosch  <bosch@gnat.com>
13027
13028         * snames.ads: Add new names for project facility.
13029
13030         * snames.adb: Update to reflect snames.ads changes.
13031
13032         * snames.h: Update to reflect snames.ads changes.
13033
13034 2001-10-10  Vincent Celier <celier@gnat.com>
13035
13036         * make.adb:
13037         (Add_Switches): reflect the changes for the switches attributes
13038         Default_Switches indexed by the programming language,
13039         Switches indexed by the file name.
13040         (Collect_Arguments_And_Compile): Idem.
13041         Reflect the attribute name changes.
13042
13043         * prj-attr.adb:
13044         (Initialisation_Data): Change the names of some packages and
13045         attributes.
13046         (Initialize): process case insensitive associative arrays.
13047
13048         * prj-attr.ads:
13049         (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
13050
13051         * prj-dect.adb:
13052         (Parse_Attribute_Declaration): For case insensitive associative
13053          arrays, set the index string to lower case.
13054
13055         * prj-env.adb:
13056         Reflect the changes of the project attributes.
13057
13058         * prj-nmsc.adb:
13059         Replace Check_Naming_Scheme by Ada_Check and
13060         Language_Independent_Check.
13061
13062         * prj-nmsc.ads:
13063         Replaced Check_Naming_Scheme by 2 procedures:
13064         Ada_Check and Language_Independent_Check.
13065
13066         * prj-proc.adb:
13067         (Process_Declarative_Items): For case-insensitive associative
13068         arrays, set the index string to lower case.
13069         (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
13070         Prj.Nmsc.Check_Naming_Scheme.
13071
13072         * prj-tree.adb:
13073         (Case_Insensitive): New function
13074         (Set_Case_Insensitive): New procedure
13075
13076         * prj-tree.ads:
13077         (Case_Insensitive): New function
13078         (Set_Case_Insensitive): New procedure
13079         (Project_Node_Record): New flag Case_Insensitive.
13080
13081         * prj-util.adb:
13082         (Value_Of): new function to get the string value of a single
13083         string variable or attribute.
13084
13085         * prj-util.ads:
13086         (Value_Of): new function to get the string value of a single
13087         string variable or attribute.
13088
13089         * prj.adb:
13090         (Ada_Default_Spec_Suffix): New function
13091         (Ada_Default_Impl_Suffix): New function
13092         Change definitions of several constants to reflect
13093         new components of record types.
13094
13095         * prj.ads:
13096         (Naming_Data): Change several components to reflect new
13097         elements of naming schemes.
13098         (Project_Data): New flags Sources_Present and
13099         Language_Independent_Checked.
13100         (Ada_Default_Spec_Suffix): New function.
13101         (Ada_Default_Impl_Suffix): New function.
13102
13103         * snames.ads:
13104         Modification of predefined names for project manager: added
13105         Implementation, Specification_Exceptions, Implementation_Exceptions,
13106         Specification_Suffix, Implementation_Suffix, Separate_Suffix,
13107         Default_Switches, _Languages, Builder, Cross_Reference,
13108         Finder. Removed Body_Part, Specification_Append, Body_Append,
13109         Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
13110         Gnatlink.
13111
13112         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
13113         Add comments.
13114
13115         * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
13116         not that it is Nil_Variable_Value.
13117
13118         * prj.ads: Add ??? for uncommented declarations
13119
13120 2001-10-10  Ed Schonberg <schonber@gnat.com>
13121
13122         * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
13123         constant, do not indicate possible modification, so that gigi can
13124         treat it as a bona fide constant.
13125
13126 2001-10-10  Robert Dewar <dewar@gnat.com>
13127
13128         * sem_prag.adb: Add processing for pragma External.
13129
13130         * snames.ads: Add entry for pragma External.
13131
13132         * par-prag.adb: Add pragma External.
13133
13134         * snames.adb: Updated to match snames.ads.
13135
13136 2001-10-10  Ed Schonberg <schonber@gnat.com>
13137
13138         * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
13139         a dynamic task if the allocator appears in an indexed assignment
13140         or selected component assignment.
13141
13142         * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
13143         For a dynamic task in an assignment statement, use target of
13144         assignment to generate meaningful name.
13145
13146 2001-10-10  Ed Schonberg <schonber@gnat.com>
13147
13148         * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
13149         a generic package.
13150
13151         * einfo.ads: Body_Entity is also defined for generic package.
13152         Documentation change only
13153
13154         * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
13155         others_choice for a discriminated component initialization,
13156         convert discriminant references into the corresponding discriminals.
13157
13158         * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
13159         only if original type is private and expression has to be wrapped
13160         in a conversion.
13161
13162         * checks.adb:
13163         (Apply_Constraint_Check): Do not perform length check
13164         if expression is an aggregate with only an others_choice.
13165         (Length_N_Cond): two references to the same in_parameter
13166         (typically the discriminal in an init_proc) denote the same value.
13167         Two useful optimization uncovered by bugfixes above.
13168
13169 2001-10-10  Robert Dewar <dewar@gnat.com>
13170
13171         * xeinfo.adb: Change int to char in translation of enumeration types.
13172         This fixes a problem in the C representation of component alignment.
13173         Add 2001 to copyright notice
13174
13175 2001-10-10  Richard Kenner <kenner@gnat.com>
13176
13177         * decl.c: (validate_size): Do check size of object of integral type
13178         if it is a packed array type.
13179
13180 2001-10-10  Richard Kenner <kenner@gnat.com>
13181
13182         * decl.c: (gnat_to_gnu_entity, case object): Also materialize
13183         VAR_DECL for constant if not Is_Public but -O0.
13184
13185 2001-10-10  Richard Kenner  <kenner@gnat.com>
13186
13187         * misc.c (struct lang_hooks): Add new initializer to match GCC change.
13188
13189 2001-10-10  Geert Bosch  <bosch@gnat.com>
13190
13191         * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
13192         use '/' as switch character, allowing for absolute file names.
13193
13194 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
13195
13196         * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
13197         FSF address.
13198
13199 2001-10-08  Geert Bosch  <bosch@gnat.com>
13200
13201         * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
13202         Automatically build utilities when files need to be regenerated.
13203
13204 2001-10-08  Geert Bosch  <bosch@gnat.com>
13205
13206         * xsnames.adb: New utility for updating snames.ads and snames.adb
13207
13208 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
13209
13210         * Make-lang.in (ADAFLAGS): Add -W -Wall.
13211         (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
13212         (gnat1): Also depend on attribs.o.
13213         (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
13214         * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
13215         (ADAC): Set to @ADAC@ in stage1, $(CC) later.
13216         (ADAFLAGS): Add -W -Wall.
13217         (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
13218         take out CFLAGS.
13219
13220         (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
13221         s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
13222         s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
13223         Use $(ADAC), not $(CC), as compilation command.
13224
13225         (gnattools): Depend directly on tools to build, don't use
13226         recursive make.
13227         (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
13228
13229         * einfo.h, sinfo.h: New files (autogenerated).
13230
13231 2001-10-08  Richard Henderson  <rth@redhat.com>
13232
13233         * comperr.adb (Abort_In_Progress): New.
13234         (Compiler_Abort): Use it to prevent recursion.
13235
13236 2001-10-08  Robert Dewar <dewar@gnat.com>
13237
13238         * atree.adb: Set Error_Posted in Error node, helps error recovery.
13239
13240         * par-endh.adb (Output_End_Expected): We should also not test
13241         Error_Posted on the Error node, since now it is always set.
13242
13243         * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
13244         to help error recovery. Part of general work on 9407-004.
13245
13246         * par.adb: Add ??? for misuse of error
13247
13248         * sem_res.adb:
13249         (Resolve): Defend against Error, fixes 9407-003.
13250         (Resolve_Discrete_Subtype_Indication): Defend against Error.
13251
13252         * sinfo.ads (N_Error): Now has Etype field (which will be set
13253         to Any_Type to help error recovery).
13254
13255 2001-10-08  Richard Kenner (kenner@gnat.com)
13256
13257         * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
13258         Consistently set MEM attributes from expression; fixes
13259         bootstrap failure on x86.
13260
13261 2001-10-08  Geert Bosch  (bosch@gnat.com)
13262
13263         * 5oosinte.adb: Add 2001 to copyright notice.
13264
13265 2001-10-08  Geert Bosch  (bosch@gnat.com)
13266
13267         * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
13268
13269         * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
13270
13271 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
13272
13273         * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
13274
13275 2001-10-05  Geert Bosch  (bosch@gnat.com)
13276
13277         * adaint.h: Small formatting fix.
13278
13279 2001-10-04  Geert Bosch  <bosch@gnat.com>
13280
13281         * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
13282         Arg is int, not FILE *, in dummy version of functions.
13283
13284         * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
13285         Arg is int, not FILE *.
13286
13287 2001-10-04  Geert Bosch  <bosch@gnat.com>
13288
13289         * 3lsoccon.ads: Added file, missed with initial check ins.
13290
13291         * 4lintnam.ads: Fix header format.
13292         Change Linux to GNU/Linux.
13293
13294         * 5iosinte.adb: Change Linux to GNU/Linux.
13295
13296         * 5iosinte.ads: Change Linux to GNU/Linux.
13297
13298         * 5itaprop.adb: Change Linux to GNU/Linux.
13299
13300         * 5itaspri.ads: Change Linux to GNU/Linux.
13301         Update copyright notice.
13302
13303         * 5lintman.adb: Change Linux to GNU/Linux.
13304
13305         * 5lml-tgt.adb: Change Linux to GNU/Linux.
13306
13307         * 5losinte.ads: Change Linux to GNU/Linux.
13308
13309         * 5lsystem.ads: Change Linux to GNU/Linux.
13310
13311         * 5qosinte.adb: Change Linux to GNU/Linux.
13312
13313         * 5qosinte.ads: Change Linux to GNU/Linux.
13314
13315         * 5qparame.ads: Change Linux to GNU/Linux.
13316
13317         * 5qtaprop.adb: Change Linux to GNU/Linux.
13318
13319         * 5qtaspri.ads: Change Linux to GNU/Linux.
13320         Add 2001 to copyright notice.
13321
13322         * 5vintman.ads: Change Linux to GNU/Linux.
13323         Fix header format.  Add 2001 to copyright notice.
13324
13325         * g-soccon.ads: Change Linux to GNU/Linux.
13326
13327         * g-trasym.ads: Change Linux to GNU/Linux.
13328         Add 2001 to copyright notice.
13329
13330         * memtrack.adb: Change Linux to GNU/Linux.
13331
13332         * s-intman.ads: Change Linux to GNU/Linux.
13333         Add 2001 to copyright notice.  Fix header format.
13334
13335         * s-stache.adb: Change Linux to GNU/Linux.
13336
13337         * adaint.c: Change Linux to GNU/Linux.
13338
13339         * cio.c: Change Linux to GNU/Linux.
13340
13341         * cstreams.c: Change Linux to GNU/Linux.
13342
13343         * init.c: Change Linux to GNU/Linux.
13344
13345         * gmem.c: Change Linux to GNU/Linux.
13346
13347         * tracebak.c: Change Linux to GNU/Linux.
13348
13349
13350 2001-10-02  Geert Bosch  <bosch@gnat.com>
13351
13352         * misc.c (insert_default_attributes): Add dummy version.