OSDN Git Service

2004-10-04 Sergey Rybin <rybin@act-europe.fr>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2004-10-04  Sergey Rybin  <rybin@act-europe.fr>
2
3         * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
4         in the documentation.
5
6 2004-10-04  Robert Dewar  <dewar@gnat.com>
7
8         * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
9         IF and CASE.
10         (Analyze_Block_Statement): Add circuitry to detect following dead code
11         (Check_Unreachable_Code): Handle case of block exit
12
13 2004-10-04  Robert Dewar  <dewar@gnat.com>
14
15         * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
16         (XMatchD): Avoid warning for Logic_Error call
17
18 2004-10-04  Robert Dewar  <dewar@gnat.com>
19
20         * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
21         consider expressions buried within a procedure actual to be an actual.
22         This caused some blowups with uses of packed slices within a procedure
23         actual.
24
25 2004-10-04  Robert Dewar  <dewar@gnat.com>
26
27         * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
28         longer need to be initialized to zero.
29         (Get_Simple_Init_Val): Modular packed arrays no longer need to be
30         initialized to zero.
31
32         * checks.adb (Expr_Known_Valid): Packed arrays are now always
33         considered valid, even if the representation is modular. That's correct
34         now that we no longer initialize packed modular arrays to zero.
35
36         * exp_dbug.ads: Clarify documentation on handling of PAD and JM
37         suffixes. These are now documented as the only cases in which the
38         debugger ignores outer records.
39         Previously, the spec allowed arbitrary suffixes for this purpose.
40         Change name of LJM to JM for packed array pad records
41         Create separate section on packed array handling, and add a whole new
42         set of comments to this section describing the situation with packed
43         modular types and justification requirements depending on endianness.
44
45 2004-10-04  Robert Dewar  <dewar@gnat.com>
46
47         * a-except.adb: Add a comment for last change
48
49         * einfo.ads: Minor spelling correction in comment
50
51         * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
52
53         * sem_ch11.adb: Fix a case of using | instead of \ for continuation
54         messages.
55
56         * sem_util.ads: Minor comment update
57
58 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
59
60         * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
61         Inline_Always when in Configurable_Run_Time mode.
62
63         * sem_prag.adb (Process_Convention): If entity is an inherited
64         subprogram, apply convention to parent subprogram if in same scope.
65         (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
66         when in Configurable_Run_Time mode.
67
68 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
69
70         * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
71         class_wide type after component list has been inherited.
72
73 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
74
75         * sem_ch12.adb (Check_Generic_Actuals): New predicate
76         Denotes_Previous_Actual, to handle properly the case of a private
77         actual that is also the component type of a subsequent array actual.
78         The visibility status of the first actual is not affected when the
79         second is installed.
80         (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
81         make fully recursive the treatment of formals of packages declared
82         with a box.
83         (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
84         the above on exit from an instantiation.
85         (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
86         current instantiation which is now complete.
87         (Analyze_Package_Instantiation): No instantiated body is needed if the
88         main unit is generic. Efficient, and avoid anomalies when a instance
89         appears in a package accessed through rtsfind.
90
91 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
92
93         * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
94         do not generate a declaration for a temporary if the call is part of a
95         library-level instantiation.
96
97 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
98
99         * sem_util.adb (Explain_Limited_Type): Ignore internal components when
100         searching for a limited component to flag.
101
102         * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
103         expansion of Input, to account for the fact that the implicit call
104         generated by the attribute reference must freeze the user-defined
105         stream subprogram. This is only relevant to 'Input, because it can
106         appear in an object declaration, prior to the body of the subprogram.
107
108         * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
109         expansion can proceed and further errors uncovered.
110         (Minor clean up): Fix cases of using | instead of \ for continuation
111         messages.
112
113 2004-10-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
114
115         * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
116
117         * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
118         (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
119         Use gcc_assert and gcc_unreachable.
120
121         * decl.c (gnat_to_gnu_entity, case object): Check and process a
122         specified alignment before validating size.
123         (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
124         stripped-down declaration for the type of the inner field when making
125         a JM type.
126
127         * utils.c (finish_record_type): Do not compute the size in units
128         incrementally. Instead compute it once for the rep clause case.
129         Use gcc_assert and gcc_unreachable.
130
131 2004-10-04  Vincent Celier  <celier@gnat.com>
132
133         * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
134         in file name.
135         (Is_Valid_Path_Name): Take '/' as a directory separator.
136
137 2004-10-04  Vincent Celier  <celier@gnat.com>
138
139         * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
140         (Extended_Project) only if Extended_Project is defined, to avoid
141         assertion error.
142         (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
143         resolved path.
144         (Parse_Single_Project): Ditto.
145
146         * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
147         Add_To_Project_Path for virtual projects.
148
149 2004-10-04  Vincent Celier  <celier@gnat.com>
150
151         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, 
152         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, 
153         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, 
154         mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
155         parameter Options_2.
156
157         * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
158         Build_Dynamic_Library with an empty Options_2.
159
160         * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
161         default anymore.
162
163         * makegpr.adb (Get_Imported_Directories.add): Remove trailing
164         directory separator, if any.
165         (Gprmake): Do not allow mains on the command line for library projects.
166         Do not attempt to link when the project is a library project.
167         (Library_Opts): New table to store Library_Options.
168         (Build_Library): If Library_Options is specified, pass these options
169         when building a shared library.
170
171 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
172
173         * s-tposen.adb (Service_Entry): The object must be always unlocked at
174         the end of this procedure now that the unlock operation was inserted
175         by the expander.
176
177 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
178
179         * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
180         corresponding to the Preallocated_Stacks flags in System.
181         (Get_Target_Parameters): Including the processing for
182         Preallocated_Stacks.
183
184         * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads, 
185         system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads, 
186         system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads, 
187         system-linux-x86_64.ads, system-tru64.ads, system-aix.ads, 
188         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads, 
189         system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads, 
190         system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads, 
191         system-vxworks-mips.ads, system-os2.ads, system-interix.ads, 
192         system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, 
193         system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads, 
194         system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
195         used to signal whether the compiler creates the required stacks and
196         descriptors for the different tasks (when True) or it is done by the
197         underlying operating system at run time (when False).
198         It is initially set to False in all targets.
199
200         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
201         if it is supported by the target.
202         (Make_Task_Create_Call): Pass the stack address if it has been
203         previously created. Otherwise pass a Null_Address.
204
205         * snames.adb: Add _stack.
206
207         * snames.ads: Add Name_uStack. Required to allow the expander to
208         statically allocated task stacks.
209
210         * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
211         Stack_Address argument.
212         Check that its value is equal to Null_Address because this target does
213         not support the static stack allocation.
214
215 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
216
217         * usage.adb: Change "pragma inline" to "pragma Inline" in information
218         and error messages
219
220 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
221
222         * exp_dist.adb: Split declaration of asynchronous flag out of
223         Add_RACW_Read_Attribute.
224         Minor reformatting for better alignment with PolyORB version.
225         Store the entity for the asynchronous flag of an RACW, rather than the
226         expression, in the asynchronous flags table. This will allow this flag
227         to be used in other subprograms beside Add_RACW_Read_Attribute.
228
229 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
230
231         * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
232         g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads, 
233         g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb, 
234         g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads, 
235         g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads:  Add new
236         sockets constant MSG_NOSIGNAL (Linux-specific).
237         Add new sockets constant MSG_Forced_Flags, list of flags to be set on
238         all Send operations.
239         For Linux, set MSG_NOSIGNAL on all send operations to prevent them
240         from trigerring SIGPIPE.
241         Rename components to avoid clash with Ada 2005 possible reserved
242         word 'interface'.
243         (Check_Selector): When the select system call returns with an error
244         condition, propagate Socket_Error to the caller.
245
246 2004-10-01  Jan Hubicka  <jh@suse.cz>
247
248         * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
249
250 2004-09-23  Robert Dewar  <dewar@gnat.com>
251
252         PR ada/17540
253
254         * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
255         instead do this at freeze time (we won't do it if there is an address
256         clause).
257         Change "pragma inline" to "pragma Inline" in information and error
258         messages.
259         Minor reformatting.
260
261         * freeze.adb (Check_Address_Clause): Remove previous change, not the
262         right way of doing things after all.
263         (Freeze_Entity): For object, set Is_Public for imported entities
264         unless there is an address clause present.
265
266 2004-09-21  Olivier Hainque  <hainque@act-europe.fr>
267
268         * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
269         dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
270         ensures proper handling of types with rep clauses, which might have
271         their TYPE_SIZE set already.
272
273 2004-09-21  Robert Dewar  <dewar@gnat.com>
274
275         * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
276         packed array types in both little- and big-endian cases. This change
277         ensures that we no longer count on the unused bits being initialized
278         for such types (and in particular ensures that equality testing will
279         only read the relevant bits).
280         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
281         These changes mean that we no longer need to initialize small packed
282         arrays.
283         (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
284         optimization to an LJM field as to its parent field.
285
286         * ada-tree.h, trans.c, utils.c, utils2.c:
287         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
288
289 2004-09-20  Jan Hubicka  <jh@suse.cz>
290
291         * utils.c (gnat_finalize): Remove.
292         (end_subprog_body): Directly call cgraph_finalize_function;
293         do not lower the nested functions.
294
295 2004-09-20  Robert Dewar  <dewar@gnat.com>
296
297         PR ada/17540
298
299         * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
300         if an address clause is present, since that means that the Import
301         should be ignored.
302
303 2004-09-20  Arnaud Charlet  <charlet@act-europe.fr>
304
305         * 5tsystem.ads: Removed, no longer used.
306
307 2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
308             Zack Weinberg  <zack@codesourcery.com>
309
310         * ada-tree.def: Use tree_code_class enumeration constants
311         instead of code letters.
312         * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
313         Update for new tree-class enumeration constants.
314
315 2004-09-17  Vincent Celier  <celier@gnat.com>
316
317         * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
318         capabilities of the general project manager.
319
320 2004-09-09  Vincent Celier  <celier@gnat.com>
321
322         * a-direct.ads: Add pragma Ada_05
323         (Directory_Entry_Type): Give default value to component Kind to avoid
324         not initialized warnings.
325
326         * a-direct.adb (Current_Directory): Remove directory separator at the
327         end.
328         (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
329         an existing directory.
330         (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
331         (Size (String)): Function C_Size returns Long_Integer, not File_Size.
332         Convert the result to File_Size.
333
334         * prj.ads: (Project_Error): New exception
335
336         * prj-attr.adb: Except in procedure Initialize, Fail comes from
337         Prj.Com, not from Osint.
338         (Attrs, Package_Attributes): Tables moved to private part of spec
339         (Add_Attribute, Add_Unknown_Package): Moved to new child package
340         Prj.Attr.PM.
341         (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
342         Prj.Project_Error after call to Fail.
343         (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
344         Fail. Check that package name is not already in use.
345
346         * prj-attr.ads: Comment updates to indicate that all subprograms may be
347         used by tools, not only by the project manager, and to indicate that
348         exception Prj.Prj_Error may be raised in case of problem.
349         (Add_Unknown_Package, Add_Attribute): Moved to new child package
350         Prj.Attr.PM.
351         (Attrs, Package_Attributes): Table instantiations moved from the body to
352         the private part to be accessible from Prj.Attr.PM body.
353
354         * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
355         from new package Prj.Attr.PM.
356         (Parse_Attribute_Declaration): Call Add_Attribute from new package
357         Prj.Attr.PM.
358
359         * Makefile.in: Add prj-attr-pm.o to gnatmake object list
360
361         * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
362         instead of Elaboration_Checks).
363
364         * a-calend.adb: Minor reformatting
365
366 2004-09-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
367
368         * gigi.h (maybe_pad_type): New declaration.
369         (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
370
371         * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
372
373         * cuintp.c: Convert to use buildN.
374
375         * decl.c (maybe_pad_type): No longer static.
376         (gnat_to_gnu_entity, case E_Function): Handle case of returning by
377         target pointer.
378         Convert to use buildN.
379
380         * trans.c (call_to_gnu): Add arg GNU_TARGET; support
381         TYPE_RETURNS_BY_TARGET_PTR_P.  All callers changed.
382         (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
383         RHS.
384         (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
385         (gnat_gimplify_expr, case ADDR_EXPR): New case.
386         Convert to use buildN.
387
388         * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
389         TREE_READONLY for const.
390         Convert to use buildN.
391
392         * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
393         (create_var_decl): Refine when TREE_STATIC is set.
394         Convert to use buildN.
395
396 2004-09-09  Gary Dismukes  <dismukes@gnat.com>
397
398         * gnat_ugn.texi: Delete text relating to checking of ali and object
399         consistency.
400
401         * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
402         routines.
403
404 2004-09-09  Jose Ruiz  <ruiz@act-europe.fr>
405
406         * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
407         pragmas recognized by GNAT.
408
409         * gnat_rm.texi: Document pragma Detect_Blocking.
410
411         * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
412         raise Program_Error if called from a protected operation.
413
414         * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
415         the protected action nesting level.
416         (Lock_Read_Only): When pragma Detect_Blocking is active increase the
417         protected action nesting level.
418         (Unlock): When pragma Detect_Blocking is active decrease the protected
419         action nesting level.
420
421         * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
422         Protected_Action_Nesting.
423
424         * s-taskin.ads: Adding the field Protected_Action_Nesting to the
425         Common_ATCB record. It contains the dynamic level of protected action
426         nesting for each task. It is needed for checking whether potentially
427         blocking operations are called from protected operations.
428         (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
429         Detect_Blocking is active or not in the partition.
430
431         * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
432         raise Program_Error if called from a protected operation.
433         (Task_Entry_Call): When pragma Detect_Blocking is active, raise
434         Program_Error if called from a protected operation.
435         (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
436         Program_Error if called from a protected operation.
437
438         * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
439         raise Program_Error if called from a protected operation.
440
441         * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
442         raise Program_Error if called from a protected operation, and increase
443         the protected action nesting level.
444         (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
445         Program_Error if called from a protected operation, and increase the
446         protected action nesting level.
447         (Unlock_Entries): When pragma Detect_Blocking is active decrease the
448         protected action nesting level.
449
450         * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
451         raise Program_Error if called from a protected operation, and increase
452         the protected action nesting level.
453         (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
454         Program_Error if called from a protected operation, and increase the
455         protected action nesting level.
456         (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
457         raise Program_Error if called from a protected operation.
458         (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
459         active, raise Program_Error if called from a protected operation.
460         (Unlock_Entry): When pragma Detect_Blocking is active decrease the
461         protected action nesting level.
462
463         * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
464         insertion of the statement raising Program_Error. The run time
465         contains the required machinery for handling that.
466
467         * sem_util.ads: Change comment associated to procedure
468         Check_Potentially_Blocking_Operation.
469         This procedure does not insert a call for raising the exception because
470         that is currently done by the run time.
471
472         * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
473
474         * init.c: Add the global variable __gl_detect_blocking that indicates
475         whether pragma Detect_Blocking is active (1) or not (0). Needed for
476         making the pragma available at run time.
477         (__gnat_set_globals): Pass and update the detect_blocking parameter.
478
479         * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
480         pragma Detect_Blocking is active.
481
482         * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
483
484         * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
485         DB is found in the ali file. Any unit compiled with pragma
486         Detect_Blocking active forces its effect in the whole partition.
487
488         * a-retide.adb (Delay_Until): Raise Program_Error if pragma
489         Detect_Blocking is active and delay is called from a protected
490         operation.
491
492         * bindgen.adb (Gen_Adainit_Ada): When generating the call to
493         __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
494         Detect_Blocking is active (0 otherwise).
495         (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
496         as Detect_Blocking parameter if pragma Detect_Blocking is active (0
497         otherwise).
498
499 2004-09-09  Thomas Quinot  <quinot@act-europe.fr>
500
501         * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
502         GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
503         package.
504
505         * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
506         (Register_Receiving_Stub): Add Subp_Info formal parameter.
507         Update API in placeholder implemetation of s-parint to reflect changes
508         in distribution runtime library.
509
510         * sem_ch3.adb (Expand_Derived_Record): Rename to
511         Expand_Record_Extension.
512
513         * sem_disp.adb (Check_Controlling_Formals): Improve error message for
514         primitive operations of potentially distributed object types that have
515         non-controlling anonymous access formals.
516
517         * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
518         subprogram.
519         New implementation of expansion for remote access-to-subprogram types,
520         based on the RACW infrastructure.
521         This version of sem_dist is compatible with PolyORB/DSA as well as
522         GLADE.
523
524         * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
525         Asynchrronous that applies to a remote access-to-subprogram type, mark
526         the underlying RACW type as asynchronous.
527
528         * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
529          __gnat_using_gnu_linker to 1.
530
531         * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
532         g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
533         GNAT.Perfect_Hash_Generators, and remove the empty
534         GNAT.Perfect_Hash package.
535
536         * atree.adb: Minor reformatting
537
538         * exp_ch3.adb (Expand_Derived_Record): Rename to
539         Expand_Record_Extension.
540         (Build_Record_Init_Proc.Build_Assignment): The default expression in
541         a component declaration must remain attached at that point in the
542         tree so New_Copy_Tree copies it if the enclosing record type is derived.
543         It is therefore necessary to take a copy of the expression when building
544         the corresponding assignment statement in the init proc.
545         As a side effect, in the case of a derived record type, we now see the
546         original expression, without any rewriting that could have occurred
547         during expansion of the ancestor type's init proc, and we do not need
548         to go back to Original_Node.
549
550         * exp_ch3.ads (Expand_Derived_Record): Rename to
551         Expand_Record_Extension.
552
553         * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
554         Returns the RACW type used to implement a remote access-to-subprogram
555         type.
556         (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
557         New subprograms. Used to create a proxy tagged object for a remote
558         subprogram. The proxy object is used as the designated object
559         for RAS values on the same partition (unless All_Calls_Remote applies).
560         (Build_Get_Unique_RP_Call): New subprogram. Build a call to
561         System.Partition_Interface.Get_Unique_Remote_Pointer.
562         (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
563         Renamed from Add_RAS_*_Attribute.
564         (Add_Receiving_Stubs_To_Declarations): Generate a table of local
565         subprograms.
566         New implementation of expansion for remote access-to-subprogram types,
567         based on the RACW infrastructure.
568
569         * exp_dist.ads (Copy_Specification): Update comment to note that this
570         function can copy the specification from either a subprogram
571         specification or an access-to-subprogram type definition.
572
573 2004-09-09  Ed Schonberg  <schonberg@gnat.com>
574
575         * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
576         in an instance, between an explicit subprogram an one inherited from a
577         type derived from an actual.
578
579         * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
580         add a polling call if the subprogram is to be inlined by the back-end,
581         to avoid repeated calls with multiple inlinings.
582
583         * checks.adb (Apply_Alignment_Check): If the expression in the address
584         clause is a call whose name is not a static entity (e.g. a dispatching
585         call), treat as dynamic.
586
587 2004-09-09  Robert Dewar  <dewar@gnat.com>
588
589         * g-trasym.ads: Minor reformatting
590
591         * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
592         packed arrays, since unused bits are expected to be zero for a
593         comparison.
594
595 2004-09-09  Eric Botcazou  <ebotcazou@act-europe.fr>
596
597         * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
598         comment.
599
600 2004-09-09  Pascal Obry  <obry@gnat.com>
601
602         * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
603         enable map file generation. Add the right option to generate the map
604         file if Map_File is set to True.
605
606         * gnatdll.adb (Gen_Map_File): New variable.
607         (Syntax): Add info about new -m (Map_File) option.
608         (Parse_Command_Line): Add support for -m option.
609         (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
610         Minor reformatting.
611
612 2004-09-09  Laurent Pautet  <pautet@act-europe.fr>
613
614         * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
615         new gnatdist implementation.
616         Define a subpackage isolating the output routines specific to this
617         verbose mode.
618
619 2004-09-09  Joel Brobecker  <brobecker@gnat.com>
620
621         * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
622
623         * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
624
625 2004-09-09  Cyrille Comar  <comar@act-europe.fr>
626
627         * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
628         internal unit.
629
630         * opt.ads: Add Ada_Version_Runtime constant used to decide which
631         version of the language is used to compile the run time.
632
633 2004-09-09  Arnaud Charlet  <charlet@act-europe.fr>
634
635         * sem_util.adb (Requires_Transient_Scope): Re-enable handling
636         of variable length temporaries for function return now that the
637         back-end and gigi support it.
638
639 2004-09-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
640
641         * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
642
643         * trans.c (struct stmt_group): Delete field GLOBAL.
644         (gnat_init_stmt_group): Do not initialize it.
645         (call_to_gnu): Use save_expr, not protect_multiple_eval.
646         (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
647         (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
648         (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
649         (start_stmt_group): Likewise.
650         (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
651
652         * utils2.c (ggc.h): Include.
653         (build_call_raise): Call build_int_cst, not build_int_2.
654
655         * utils.c (gnat_init_decl_processing): Fix arg to
656         build_common_tree_nodes.
657         (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
658         (gnat_define_builtin): Set built_in_decls.
659         (init_gigi_decls): Call build_int_cst, not build_int_2.
660
661         * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
662         (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
663         (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
664         (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
665         SET_TYPE_MODULE): Use them.
666         (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
667         (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
668         (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
669         SET_TYPE_ADA_SIZE): Likewise.
670         (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
671         (DECL_CONST_CORRESPONDING_VAR,
672         SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
673         (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
674         (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
675         (TYPE_RM_SIZE_NUM): New macro.
676         (TYPE_RM_SIZE): Modified to use above.
677
678         * cuintp.c: (build_cst_from_int): New function.
679         (UI_To_gnu): Use it.
680
681         * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
682         (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
683         (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
684         MIN_EXPR for the size, copy it into new.
685
686 2004-09-01  Robert Dewar  <dewar@gnat.com>
687
688         * exp_ch6.adb (Expand_Call): Properly handle validity checks for
689         packed indexed component where array is an IN OUT formal. This
690         generated garbage code previously.
691
692         * gnat_ugn.texi: Document -fverbose-asm
693
694         * gnat-style.texi: Minor updates (note that boolean constants and
695         variables are joined with AND/OR rather than short circuit forms).
696
697 2004-09-01  Ed Schonberg  <schonberg@gnat.com>
698
699         * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
700         it is an upward conversion of an untagged type with no representation
701         change.
702
703 2004-09-01  Thomas Quinot  <quinot@act-europe.fr>
704
705         * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
706         System.Partition_Interface.
707
708         * checks.adb (Apply_Access_Checks): Do not generate checks when
709         expander is not active (but check for unset reference to prefix of
710         dereference).
711
712         * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
713         pragma Debug as an if statement with a constant condition, for
714         consistent treatment of entity references contained within the
715         enclosed procedure call.
716
717 2004-09-01  Vincent Celier  <celier@gnat.com>
718
719         * bindgen.adb: (Set_EA_Last): New procedure
720         (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
721         Set_EA_Last.
722         (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
723         (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
724         linked without errors.
725         (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
726         ST and EA.
727         (Gen_Exception_Table_C): Correct same bugs
728
729         * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
730
731         * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
732         on Windows, make sure that the drive letter is in upper case.
733
734         * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
735         Windows, when the drive letter is added and Case_Sensitive is True, the
736         drive letter is forced to upper case.
737
738         * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
739         to Options_2 for the call to MLib.Utl.Gcc.
740
741         * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
742         directory separator when defining BASE_DIR.
743
744 2004-09-01  Pascal Obry  <obry@gnat.com>
745
746         * gprcmd.adb (Extend): Do not output trailing directory separator. This
747         is not needed and it confuses Windows GNU/make which does not report
748         directory terminated by a slash as a directory.
749         (gprcmd): Idem for "pwd" internal command.
750
751         * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
752         target names rewrite to fix regressions with recent version of
753         GNU/make. Starting with GNU/make 3.80 the pipe character was not
754         handled properly anymore.
755
756 2004-09-01  Andreas Schwab  <schwab@suse.de>
757
758         * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
759         * raise.c [!IN_RTS]: Undef abort.
760
761 2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
762
763         * utils2.c (build_allocator): Use ssize_int.
764
765         * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
766
767 2004-08-27  Andreas Schwab  <schwab@suse.de>
768
769         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
770
771 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
772             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
773
774         * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
775
776 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
777
778         * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
779         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
780         * utils.c (init_gigi_decls): Likewise.
781         * utils2.c (build_call_raise, build_allocator): Likewise.
782
783 2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
784
785         * utils.c (gnat_init_decl_processing): Adjust
786         build_common_tree_nodes call.
787
788 2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
789
790         * utils2.c (build_allocator): Use build_int_cst for negative
791         size types.
792
793 2004-08-18  Richard Henderson  <rth@redhat.com>
794
795         * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
796
797 2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
798
799         * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
800         call.s
801         * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
802         (gnat_to_gnu): Likewise.
803
804 2004-08-16  Pascal Obry  <obry@gnat.com>
805
806         * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
807         backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
808         option and not mdll anymore. Update comment.
809
810 2004-08-16  Pascal Obry  <obry@gnat.com>
811
812         * bld.adb (Put_Include_Project): Properly handle directory separators
813         on Windows.
814
815 2004-08-16  Ed Schonberg  <schonberg@gnat.com>
816
817         * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
818         decreasing the number of allocated junk nodes while searching for the
819         appropriate subprogram.
820
821 2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
822
823         * cuintp.c (UI_To_gnu): Use build_int_cst..
824         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
825         * utils.c (init_gigi_decls): Likewise.
826         * utils2.c (build_call_raise): Likewise.
827
828 2004-08-13  Olivier Hainque  <hainque@act-europe.fr>
829
830         * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
831         for a global aliased object with a variable size and an unconstrained
832         nominal subtype, pretend there is no initializer if the one we have is
833         incomplete, and avoid referencing an inexistant component in there. The
834         part we have will be rebuilt anyway and the reference may confuse
835         further operations.
836
837 2004-08-13  Thomas Quinot  <quinot@act-europe.fr>
838
839         * einfo.ads: Minor reformatting
840
841         * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
842         restrictions in the ALI if we only want to warn about violations.
843
844 2004-08-13  Vincent Celier  <celier@gnat.com>
845
846         * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
847         when creating a new Unit_Record in table Units.
848
849         * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
850         that are violated, if any.
851
852         * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
853         add directory separator if path already ends with a directory separator.
854
855 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
856
857         * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
858         unit, this is an attempt to inline a construct that is not available in
859         the current restricted mode, so abort rather than trying to continue.
860
861         * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
862         discriminants that rename those of the parent, recover names of
863         original discriminants for the constraint on the full view of the
864         parent.
865         (Complete_Private_Subtype): Do not create a subtype declaration if the
866         subtype is an itype.
867
868         * gnat_rm.texi: Added section on implementation of discriminated
869         records with default values for discriminants.
870
871 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
872
873         PR ada/15601
874         * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
875         the second operand is overloaded.
876
877 2004-08-10  Richard Henderson  <rth@redhat.com>
878
879         * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
880         add __builtin_alloca.
881
882 2004-08-10  Richard Henderson  <rth@redhat.com>
883
884         * config-lang.in (boot_language): Yes.
885
886 2004-08-09  Thomas Quinot  <quinot@act-europe.fr>
887
888         * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
889         from complaining on potential uninitialized reference.
890         Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
891         new specification and test explicitly for non-zero return value.
892
893         * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
894         returning C.int, to avoid using a derived boolean type.
895
896         * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
897         Duplicate_Subexpr_No_Checks in preference to direct use of
898         Remove_Side_Effects and New_Copy_Tree.
899         Clear Comes_From_Source on prefix of 'Size attribute reference.
900
901         * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
902         g-socthi-vxworks.adb: Change calls to
903         GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
904         and test explicitly for non-zero return value.
905
906         * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
907         (Is_Socket_In_Set): Declare imported function as returning C.int, to
908         avoid using a derived boolean type.
909
910 2004-08-09  Albert Lee  <lee@gnat.com>
911
912         * system-irix-n32.ads: Refine tasking priority constants for IRIX.
913
914 2004-08-09  Pascal Obry  <obry@gnat.com>
915
916         * gnat_ugn.texi: Document new way to build DLLs on Windows using
917         GCC's -shared option.
918
919         * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
920         Options_2 parameter (options put after object files).
921
922 2004-08-09  Olivier Hainque  <hainque@act-europe.fr>
923
924         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
925         ignore overflows on low and high bounds of an index to also account for
926         differences in signedness between sizetype and gnu_index_subtype.
927         These are as legitimate as the ones caused by a lower TYPE_PRECISION
928         on sizetype.
929
930 2004-08-09  Robert Dewar  <dewar@gnat.com>
931
932         * s-solita.ads, s-solita.adb: Minor reformatting
933
934         * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
935         Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
936         obsolescent section
937         Add note that No_Implicit_Conditionals does not suppress
938         run time constraint checks.
939
940         * vms_conv.ads: Minor reformatting
941
942         * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
943         and necessary for following change).
944         (Mark): Return new format Mark_Id containing sec stack address
945         (Release): Use sec stack address from Mark_Id avoiding Self call
946
947         * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
948         pointer (cleanup and necessary for following change).
949         Define Mark_Id as record containing address of secondary stack, that way
950         Release does not need to find the stack again, decreasing the number of
951         calls to Self and improving efficiency.
952
953         * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
954
955         * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
956         case variable into the individual case branches when possible.
957
958         * sem_ch11.adb: Minor reformatting
959
960         * prj.ads: Correct spelling of suffixs
961
962         * prj-nmsc.adb: Minor reformatting
963         Correct spelling suffixs throughout (also in identifiers)
964
965         * freeze.adb: Minor spelling correction
966
967         * exp_ch2.adb: Cleanups to handling of Current_Value
968         (no functional effect).
969
970         * bld.adb: Correct spelling of suffixs
971
972         * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
973
974 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
975
976         PR ada/15408
977
978         * sem_ch7.adb (Install_Private_Declarations): In the body of the
979         package or of a child, private entities are both immediately_visible
980         and not hidden.
981
982 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
983
984         * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
985         there are no range checks on the value of the literal.
986
987         * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
988         wrapped is the triggering alternative of an asynchronous select, action
989         statements mustbe inserted before the select itself.
990
991         * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
992         case where the prefix is a protected function call.
993         (Resolve_Attribute, case 'Access): The attribute reference on a
994         subprogram is legal in a generic body if the subprogram is declared
995         elsewhere.
996
997 2004-08-09  Vincent Celier  <celier@gnat.com>
998
999         * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
1000         languages, otherwise building the library may fail with unresolved
1001         symbols.
1002         (Compile_Sources): Do not build libraries if -c switch is used
1003
1004         * gnatlink.adb (Process_Args): New switches -M and -Mmap
1005         (Write_Usage): If map file creation is supported, output new switches
1006         -M and -Mmap.
1007         (Gnatlink): When -M is specified, add the necessary switch(es) to the
1008         gcc call, when supported.
1009
1010         * Makefile.in: Added indepsw.o to the object list for gnatlink
1011         Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
1012
1013         * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
1014         indepsw.adb, indepsw.ads: New files.
1015
1016 2004-08-09  Bernard Banner  <banner@gnat.com>
1017
1018         * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
1019
1020         * Makefile.in: add section for vxworks x86
1021
1022 2004-08-09  Hristian Kirtchev  <kirtchev@gnat.com>
1023
1024         * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
1025         per-object constrained components where the discriminant is of an
1026         Access type.
1027         (Build_Record_Init_Proc): Add condition to prevent the inheritance of
1028         the parent initialization procedure for derived Unchecked_Unions.
1029         Instead, derived Unchecked_Unions build their own initialization
1030         procedure.
1031         (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
1032         Check the body of the subprogram for details.
1033         (Freeze_Record_Type): Prevent the inheritance of discriminant checking
1034         functions for derived Unchecked_Union types by introducing a condition.
1035         Allow the creation of TSS equality functions for Unchecked_Unions.
1036         (Make_Eq_Case): Rename formal parameter Node to E in function signature.
1037         Add formal parameter Discr to function signature. Discr is used to
1038         control the generated case statement for Unchecked_Union types.
1039         (Make_Eq_If): Rename formal parameter Node to E in function signature.
1040
1041         * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
1042         Unchecked_Unions.
1043         Check the body of the subprogram for details.
1044         (Expand_Composite_Equality): Augment composite type equality to include
1045         correct handling of Unchecked_Union components.
1046         (Expand_N_In): Add condition to detect illegal membership tests when the
1047         subtype mark is a constrained Unchecked_Union and the expression lacks
1048         inferable discriminants, and build a Raise_Program_Error node.
1049         (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
1050         to detect types that contain components of unconstrained Unchecked_Union
1051         subtype. Add condition to detect equality between types that have an
1052         unconstrained Unchecked_Union component, and build a Raise_Program_Error
1053         node. Add condition to detect equality between Unchecked_Union types
1054         that lack inferable discriminants, and build a Raise_Program_Error node.
1055         Otherwise build a TSS equality function call.
1056         (Expand_N_Type_Conversion): Add condition to detect illegal conversions
1057         from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
1058         with the operand lacking inferable discriminants, and build a Raise_
1059         Program_Error node.
1060         (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
1061         composite equality.
1062         (Has_Inferable_Discriminants): Implement new predicate for objects and
1063         expressions of Unchecked_Union type. Check the body of subprogram for
1064         details.
1065         (Has_Unconstrained_UU_Components): Add function
1066         Component_Is_Unconstrained_UU. It is used to detect whether a single
1067         component is of an unconstrained Unchecked_Union subtype. Add function
1068         Variant_Is_Unconstrained_UU. It is used to detect whether a single
1069         component inside a variant is of an unconstrained Unchecked_Union type.
1070
1071         * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
1072         inferred discriminant values. Add condition to generate a case
1073         statement with an inferred discriminant as the switch.
1074         (Make_Component_List_Assign): Introduce a Boolean flag that determines
1075         the behaviour of the subprogram in the presence of an Unchecked_Union.
1076         Add condition to trigger the usage of the inferred discriminant value
1077         as the generated case statement switch.
1078         (Make_Field_Assign): Introduce a Boolean flag that determines the
1079         behaviour of the subprogram in the presence of an Unchecked_Union. Add
1080         condition to trigger the usage of the inferred discriminant value as
1081         the right-hand side of the generated assignment.
1082
1083         * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
1084         parameter generation when dealing with Unchecked_Unions.
1085
1086         * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
1087         checks for Unchecked_Unions.
1088
1089         * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
1090
1091         * exp_attr.adb (Expand_N_Attribute_Reference): Produce
1092         Raise_Program_Error nodes for the execution of Read and Write
1093         attributes of Unchecked_Union types and the execution of Input and
1094         Output attributes of Unchecked_Union types that lack default
1095         discriminant values.
1096
1097         * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
1098         Unchecked_Union. Add procedure Check_Component. It is used to inspect
1099         per-object constrained components of Unchecked_Unions for being
1100         Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
1101         check individual components withing a variant.
1102
1103         * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
1104         comparison of Unchecked_Unions.
1105         (Resolve_Equality_OP): Remove guard that prevents equality between
1106         Unchecked_Unions.
1107
1108         * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
1109         of component subtypes for Unchecked_Union components.
1110         (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
1111         since it is the actual subtype.
1112
1113         * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
1114         pass of Unchecked_Union subtypes as generic actuals to formal types
1115         that lack known_discriminant_parts or that are derived Unchecked_Union
1116         types, and do nothing. In any other case, produce an error message.
1117
1118         * sem_ch3.adb (Analyze_Component_Declaration): Add function
1119         Contains_POC. It determines whether a constraint uses the discriminant
1120         of an enclosing record type.
1121         Add condition to detect per-object constrained component and set the
1122         appropriate flag.
1123         (Derived_Type_Declaration): Remove guard that prevents derivation from
1124         Unchecked_Union types.
1125         (Process_Subtype): Remove quard that prevents the creation of Unchecked_
1126         Union subtypes.
1127
1128         * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
1129         references to Unchecked_Union discriminants.
1130
1131         * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
1132         formal generation when dealing with Unchecked_Unions.
1133         (Set_Actual_Subtypes): Add condition to prevent generation of actual
1134         subtypes for Unchecked_Unions.
1135
1136         * sem_ch7.adb (Analyze_Package_Specification): Add procedure
1137         Inspect_Unchecked_Union_Completion. It is used to detect incorrect
1138         completions of discriminated partial views by Unchecked_Unions and
1139         produce an error message.
1140
1141 2004-08-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1142
1143         * trans.c (struct stmt_group): New field, GLOBAL.
1144         (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
1145         (struct elab_info): New struct.
1146         (elab_info_list, gnu_elab_proc_stack): New variables.
1147         (Compilation_Unit_to_gnu): New procedure.
1148         (gigi): Call it and also handle elaboration procs we've saved.
1149         (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
1150         global field from parent.
1151         (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
1152         (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
1153         (start_stmt_group): Initialize global field from parent.
1154         (add_decl_expr): Set to global for current statement group.
1155         (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
1156         post.
1157
1158         * utils.c (global_bindings_p): True when no current_function_decl; no
1159         longer check current_binding_level.
1160
1161 2004-08-09  Ben Brosgol  <brosgol@gnat.com>
1162
1163         * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
1164         choice.
1165
1166         * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
1167
1168 2004-08-06  Andreas Schwab  <schwab@suse.de>
1169
1170         * utils.c (gnat_define_builtin): Remove second parameter of
1171         make_decl_rtl.
1172         (begin_subprog_body): Likewise.
1173
1174 2004-07-26  Arnaud Charlet  <charlet@act-europe.fr>
1175
1176         * sem_util.adb (Requires_Transient_Scope): Temporarily disable
1177         optimization, not supported by the tree-ssa back-end.
1178
1179 2004-07-26  Olivier Hainque  <hainque@act-europe.fr>
1180
1181         * s-mastop-irix.adb: Update comments.
1182
1183         * a-except.adb (Exception_Information): Raise Constraint_Error if
1184         exception Id is Null_Id.
1185         This is required behavior, which is more reliably and clearly checked
1186         at the top level interface level.
1187
1188 2004-07-26  Javier Miranda  <miranda@gnat.com>
1189
1190         * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
1191         call if a component has no default_expression and the box is used.
1192
1193         * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
1194         default_expression and you use box, it behaves as if you had declared a
1195         stand-alone object.
1196         (Resolve_Record_Aggregate): If a component has no default_expression and
1197         you use box, it behaves as if you had declared a stand-alone object.
1198
1199         * sem_ch10.adb (Install_Siblings): Do not make visible the private
1200         entities of private-with siblings.
1201
1202 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
1203
1204         * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
1205         for a component of an itype, set the parent pointer for analysis,
1206         there is no list in which to insert it.
1207
1208         * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
1209         bona-fide renamings, not for inherited operations.
1210
1211         * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
1212         actual for a formal that is an access parameter, create local
1213         finalization list even if the expression is not an aggregate.
1214
1215 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
1216
1217         PR ada/16213
1218         * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
1219         Diagnose properly illegal subprogram renamings that are library units.
1220
1221 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
1222
1223         PR ada/15588
1224         * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
1225         conversion rewritten as an unchecked conversion, check that original
1226         expression is a variable.
1227
1228         * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
1229         unchecked_conversion, create new node rather than rewriting in place,
1230         to preserve original construct.
1231
1232 2004-07-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1233
1234         * gigi.h (gnat_expand_body): Deleted.
1235
1236         * Make-lang.in: (trans.o): Depends on function.h.
1237
1238         * misc.c: (gnat_expand_body): Moved to here.
1239
1240         * trans.c (gnat_expand_body_1): Deleted.
1241         (gnat_expand_body): Moved from here.
1242         (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
1243         (add_stmt): Check for marked visited with global_bindings_p.
1244         (gnat_gimplify_expr, case COMPONENT_REF): New case.
1245         (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
1246
1247         * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
1248         VIEW_CONVERT_EXPR if not operation type.
1249
1250         * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
1251         fat pointer.
1252
1253         * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
1254         changes: reformatting of negation operators, removing unneeded
1255         inequality comparison with zero, converting equality comparisons with
1256         zero to negations, changing int/0/1 to bool/false/true, replace calls
1257         to gigi_abort with abort, and various other similar changes.
1258
1259 2004-07-26  Vincent Celier  <celier@gnat.com>
1260
1261         * gnatcmd.adb (GNATCmd): Add processing for new built-in command
1262         "setup".
1263
1264         * make.adb (Gnatmake): Fail when a library is not present and there is
1265         no object directory.
1266
1267         * mlib-prj.adb (Check_Library): No need to check if the library needs
1268         to be rebuilt if there is no object directory, hence no object files
1269         to build the library.
1270
1271         * opt.ads (Setup_Projects): New Boolean flag.
1272
1273         * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
1274         Location.
1275         Create directory when Kind /= "" and in "gnat setup". Report error if
1276         directory cannot be created.
1277         (Ada_Check): Create library interface copy dir if it does not exist
1278         and we are in "gnat setup".
1279         (Find_Sources): No error if in "gnat setup" and no Ada sources were
1280         found.
1281         (Language_Independent_Check): Create object directory, exec directory
1282         and/or library directory if they do not exist and we are in
1283         "gnat setup".
1284
1285         * vms_conv.ads: (Command_Type): New command Setup.
1286
1287         * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
1288
1289         * vms_data.ads: Add qualifiers/switches for new built-in command
1290         "setup".
1291
1292 2004-07-25  Richard Henderson  <rth@redhat.com>
1293
1294         * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
1295         DECL_IGNORED_P on RESULT_DECL.
1296
1297 2004-07-20  Olivier Hainque  <hainque@act-europe.fr>
1298
1299         * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
1300         allocation and potentially overflowing update with
1301         Tailored_Exception_Information. Use the sec-stack free procedural
1302         interface to output Exception_Information instead.
1303
1304         * a-except.adb (To_Stderr): New subprogram for character, and string
1305         version moved from a-exextr to be visible from other separate units.
1306         (Tailored_Exception_Information): Remove the procedural version,
1307         previously used by the default Last_Chance_Handler and not any more.
1308         Adjust various comments.
1309
1310         * a-exexda.adb: Generalize the exception information procedural
1311         interface, to minimize the use of secondary stack and the need for
1312         local buffers when the info is to be output to stderr:
1313         (Address_Image): Removed.
1314         (Append_Info_Character): New subprogram, checking for overflows and
1315         outputing to stderr if buffer to fill is of length 0.
1316         (Append_Info_String): Output to stderr if buffer to fill is of length 0.
1317         (Append_Info_Address, Append_Info_Exception_Name,
1318         Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
1319         Append_Info_Basic_Exception_Traceback,
1320         Append_Info_Exception_Information): New subprograms.
1321         (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
1322         (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
1323         Exception_Info_Maxlength, Exception_Name_Length,
1324         Exception_Message_Length): New subprograms.
1325         (Exception_Information): Use Append_Info_Exception_Information.
1326         (Tailored_Exception_Information): Use
1327         Append_Info_Basic_Exception_Information.
1328         Export services for the default Last_Chance_Handler.
1329
1330         * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
1331         other separate units.
1332
1333 2004-07-20  Vincent Celier  <celier@gnat.com>
1334
1335         * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
1336
1337 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
1338
1339         * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
1340         emit itype references for the designated types of component types that
1341         are declared outside of the full record declaration, and that may
1342         denote a partial view of that record type.
1343
1344 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
1345
1346         PR ada/15607
1347         * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
1348         which is the designated type in an access component declaration, to the
1349         list of incomplete dependents of the parent type, to avoid elaboration
1350         issues with out-of-scope subtypes.
1351         (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
1352         full view of the parent.
1353
1354 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
1355
1356         PR ada/15610
1357         * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
1358         entities that are hidden, such as references to generic actuals
1359         outside an instance.
1360
1361 2004-07-20  Javier Miranda  <miranda@gnat.com>
1362
1363         * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
1364         support to the new notation.
1365         (Analyze_Selected_Component): Add call to Try_Object_Operation.
1366
1367 2004-07-20  Jose Ruiz  <ruiz@act-europe.fr>
1368
1369         * s-taprob.adb: Adding the elaboration code required for initializing
1370         the tasking soft links that are common to the full and the restricted
1371         run times.
1372
1373         * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
1374         restricted run time has been moved to the package
1375         System.Soft_Links.Tasking.
1376
1377         * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
1378         restricted run time has been moved to the package
1379         System.Soft_Links.Tasking.
1380
1381         * Makefile.rtl: Add entry for s-solita.o in run-time library list.
1382
1383         * s-solita.ads, s-solita.adb: New files.
1384
1385 2004-07-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1386
1387         * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
1388         Case_Statement_to_gnu): Split off from gnat_to_gnu.
1389         (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
1390         Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
1391         Exception_Handler_to_gnu_zcx): Likewise.
1392
1393 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
1394
1395         * gigi.h (builtin_function): Declare.
1396
1397 2004-07-15  Robert Dewar  <dewar@gnat.com>
1398
1399         * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
1400         reformatting
1401
1402         * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
1403         access values as an example of a warning.
1404
1405         * gnat_rm.texi: Document new attribute Has_Access_Values
1406
1407         * gnat-style.texi: Document that box comments belong on nested
1408         subprograms
1409
1410         * sem_util.ads (Has_Access_Values): Improved documentation
1411
1412         * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
1413
1414         * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
1415         (Process_Interface_Name): Call to this new procedure
1416         (Set_Extended_Import_Export_External_Name): Call to this new procedure
1417
1418         * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
1419
1420         * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
1421
1422         * einfo.ads: Minor comment typo fixed
1423
1424 2004-07-15  Jose Ruiz  <ruiz@act-europe.fr>
1425
1426         * snames.adb: Add _atcb.
1427
1428         * snames.ads: Add Name_uATCB.
1429
1430         * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
1431         (in the expanded code) when using the restricted run time.
1432
1433         * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
1434         a in parameter in order to allow ATCBs to be preallocated (in the
1435         expanded code).
1436
1437         * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
1438         order to allow ATCBs to be preallocated. In case of error, the ATCB is
1439         deallocated in System.Tasking.Stages.
1440
1441         * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
1442         order to allow ATCBs to be preallocated.
1443
1444         * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
1445         here. It was previously done in Initialize_ATCB.
1446
1447         * rtsfind.ads: Make the Ada_Task_Control_Block visible.
1448
1449         * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
1450         Restricted run time.
1451
1452         * exp_ch3.adb: When using the Restricted run time, pass the
1453         preallocated Ada_Task_Control_Block when creating a task.
1454
1455 2004-07-15  Ed Schonberg  <schonberg@gnat.com>
1456
1457         * sem_util.adb (Normalize_Actuals): If there are no actuals on a
1458         function call that is itself an actual in an enclosing call, diagnose
1459         problem here rather than assuming that resolution will catch it.
1460
1461         * sem_ch7.adb (Analyze_Package_Specification): If the specification is
1462         the local copy of a generic unit for a formal package, and the generic
1463         is a child unit, install private part of ancestors before compiling
1464         private part of spec.
1465
1466         * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
1467         use scope entities rather than tree structures, to handle properly
1468         parent units that are instances rewritten as bodies for inlining
1469         purposes.
1470
1471         * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
1472         Remove_Parents): Handle properly a parent unit that is an
1473         instantiation, when the unit has been rewritten as a body for inlining
1474         purposes.
1475
1476         * par.adb (Goto_List): Global variable to collect goto statements in a
1477         given unit, for use in detecting natural loops.
1478
1479         * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
1480         use in detecting natural loops.
1481
1482         * par-labl.adb (Find_Natural_Loops): Recognize loops create by
1483         backwards goto's, and rewrite as a infinite loop, to improve locality
1484         of temporaries.
1485
1486         * exp_util.adb (Force_Evaluation): Recognize a left-hand side
1487         subcomponent that includes an indexed reference, to prevent the
1488         generation of copies that would miscompile the desired assignment
1489         statement.
1490         (Build_Task_Image_Decls): Add a numeric suffix to
1491         generated name for string variable, to avoid spurious conflicts with
1492         the name of the type of a single protected object.
1493
1494         * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
1495         loop with an explicit exit statement, to avoid generating an
1496         out-of-range value with 'Succ leading to spurious constraint_errors
1497         when compiling with -gnatVo.
1498
1499 2004-07-15  Thomas Quinot  <quinot@act-europe.fr>
1500
1501         * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
1502         might not be analyzed yet, even if its Etype is already set (case of an
1503         unchecked conversion built using Unchecked_Convert_To, for example).
1504         If the prefix has already been analyzed, this will be a nop anyway.
1505
1506         * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
1507         controller type, or an assignment of a record type with controlled
1508         components, copy only user data, and leave the finalization chain
1509         pointers untouched.
1510
1511 2004-07-15  Vincent Celier  <celier@gnat.com>
1512
1513         * make.adb (Collect_Arguments): Improve error message when attempting
1514         to compile a source not part of any project, when -x is not used.
1515
1516         * prj.ads: (Defined_Variable_Kind): New subtype
1517
1518         * prj-attr.adb (Register_New_Package): Two new procedures to register
1519         a package with or without its attributes.
1520         (Register_New_Attribute): Mew procedure to register a new attribute in a
1521         package.
1522         New attribute oriented subprograms: Attribute_Node_Id_Of,
1523         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
1524         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
1525         Next_Attribute.
1526         New package oriented subprograms: Package_Node_Id_Of,
1527         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
1528
1529         * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
1530         type.
1531         (Package_Node_Id): Now a private, self initialized type
1532         (Register_New_Package): New procedure to register a package with its
1533         attributes.
1534         New attribute oriented subprograms: Attribute_Node_Id_Of,
1535         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
1536         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
1537         Next_Attribute.
1538         New package oriented subprograms: Package_Node_Id_Of,
1539         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
1540
1541         * prj-dect.adb (Parse_Attribute_Declaration,
1542         Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
1543
1544         * prj-makr.adb (Make): Parse existing project file before creating
1545         other files. Fail if there was an error during parsing.
1546
1547         * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
1548         new spec of Prj.Attr.
1549
1550         * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
1551         to new spec of Prj.Attr.
1552
1553 2004-07-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1554
1555         * utils2.c: Fix typo in comment.
1556
1557 2004-07-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1558
1559         * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
1560         * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
1561
1562 2004-07-14  Andreas Schwab  <schwab@suse.de>
1563
1564         * trans.c (gnat_init_stmt_group): Remove duplicate definition.
1565
1566 2004-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1567
1568         * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
1569         object type.
1570         (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
1571         TYPE_STUB_DECL.
1572
1573         * misc.c (gnat_types_compatible_p): New function.
1574         (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
1575         (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
1576
1577         * trans.c (gigi): Move processing of main N_Compilation_Unit here.
1578         (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
1579         (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
1580         (mark_visited): Don't mark dummy type.
1581         (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
1582         parameter, we must remove any LJM building from GNU_NAME.
1583         (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
1584         (pos_to_constructor): Use int_const_binop.
1585         (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
1586         PARM_DECL.
1587
1588         * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
1589         (gnat_pushlevel): Set TREE_USE on BLOCK node.
1590         (gnat_install_builtins): Add __builtin_memset.
1591
1592 2004-07-13  Olivier Hainque  <hainque@act-europe.fr>
1593
1594         * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
1595         for a renaming, stabilize the initialization expression if we are at a
1596         local level.  At the local level, uses of the renaming may be performed
1597         by a direct dereference of the initializing expression, and we don't
1598         want possible variables there to be evaluated for every use.
1599
1600         * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
1601         Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
1602         them on the way.  Account for the fact that we may introduce side
1603         effects in the process.
1604
1605 2004-07-13  Richard Henderson  <rth@redhat.com>
1606
1607         * misc.c (default_pass_by_ref): Use pass_by_reference.
1608
1609 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
1610
1611         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
1612         LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
1613
1614 2004-07-08  Richard Henderson  <rth@redhat.com>
1615
1616         * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
1617         commentary.
1618
1619 2004-07-06  Vincent Celier  <celier@gnat.com>
1620
1621         * vms_conv.ads: Minor reformatting.
1622         Alphabetical order for enumerated values of type Command_Type, to have
1623         the command in alphabetical order for the usage.
1624
1625         * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
1626         the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
1627
1628         * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
1629
1630         * makegpr.adb (Global_Archive_Exists): New global Boolean variable
1631         (Add_Archive_Path): Only add the global archive if there is one.
1632         (Build_Global_Archive): Set Global_Archive_Exists depending if there is
1633         or not any object file to put in the global archive, and don't build
1634         a global archive if there is none.
1635         (X_Switches): New table
1636         (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
1637         in the X_Switches table, if any.
1638         (Initialize): Make sure the X_Switches table is empty
1639         (Scan_Arg): Record -X switches in table X_Switches
1640
1641         * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
1642
1643         * make.adb: Minor comment fix
1644
1645         * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
1646         invoked with directory information, add the directory in front of the
1647         path.
1648
1649         * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
1650         invoked with directory information, add the directory in front of the
1651         path.
1652
1653         * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
1654         when Keep_Temporary_Files is False.
1655         (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
1656         directory information, add the directory in front of the path.
1657         When not on VMS, handle new switch -dn before the command to set
1658         Keep_Temporary_Files to True.
1659         (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
1660         everywhere.
1661
1662         * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
1663         invoked with directory information, add the directory in front of the
1664         path.
1665
1666 2004-07-06  Thomas Quinot  <quinot@act-europe.fr>
1667
1668         * snames.ads, snames.adb (Name_Stub): New name for the distributed
1669         systems annex.
1670
1671         * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
1672         New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
1673
1674         * g-socket.adb (To_Timeval): Fix incorrect conversion of
1675         Selector_Duration to Timeval for the case of 0.0.
1676
1677         * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
1678         documentation from Evolve_And_Then.
1679
1680 2004-07-06  Jose Ruiz  <ruiz@act-europe.fr>
1681
1682         * s-taprop-tru64.adb, s-taprop-os2.adb,
1683         s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
1684
1685 2004-07-06  Robert Dewar  <dewar@gnat.com>
1686
1687         * s-osinte-hpux.ads, s-osinte-freebsd.ads,
1688         s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
1689         s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
1690         s-interr-sigaction.adb, s-taprop-irix-athread.adb,
1691         s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
1692         s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
1693         s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
1694         s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
1695         a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
1696         a-tags.ads, bindgen.ads, checks.adb, checks.adb,
1697         csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
1698         exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
1699         g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
1700         i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
1701         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
1702         sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
1703         sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
1704         s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
1705         s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
1706         s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
1707         vms_data.ads: Minor reformatting,
1708         Fix bad box comment format.
1709
1710         * gnat_rm.texi: Fix minor grammatical error
1711
1712         * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
1713
1714         * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
1715         more cases of discriminated records to be recognized as not needing a
1716         secondary stack.
1717         (Has_Access_Values): New function.
1718
1719         * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
1720
1721         * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
1722         Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
1723         with LRM terminology).
1724         Change terminology in comments primitive type => elementary type.
1725
1726 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
1727
1728         PR ada/15602
1729         * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
1730         parameters do not impose any requirements on the presence of a body.
1731
1732 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
1733
1734         PR ada/15593
1735         * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
1736         compilation unit and is in an open scope at the point of instantiation,
1737         assume that a body may be present later.
1738
1739 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
1740
1741         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
1742         Improve error message when specified size is not supported.
1743
1744         * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
1745         is never a primitive operation.
1746
1747 2004-07-05  Andreas Schwab  <schwab@suse.de>
1748
1749         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
1750         RECORD_OR_UNION_CHECK.
1751         (TYPE_CONTAINS_TEMPLATE_P): Likewise.
1752
1753 2004-07-04  Kelley Cook  <kcook@gcc.gnu.org>
1754
1755         * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
1756         dependency on xgnatugn, instead build it via a submake.
1757         (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
1758
1759 2004-07-04  Richard Henderson  <rth@redhat.com>
1760
1761         * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
1762
1763 2004-07-01  Richard Henderson  <rth@redhat.com>
1764
1765         * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
1766         * utils.c (max_size): Likewise.
1767
1768 2004-06-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1769
1770         * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
1771         and rest_of_type_compilation; add arg to create_*_decl.
1772         (annotate_decl_with_node): Deleted.
1773         (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
1774         * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
1775         (get_current_block_context, gnat_pushdecl): New declarations.
1776         (gnat_init_stmt_group): Likewise.
1777         (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
1778         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
1779         (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
1780         (gnat_init): Call gnat_init_stmt_group.
1781         * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
1782         (gnu_pending_elaboration_list): Deleted.
1783         (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
1784         (gigi): Rearrange initialization calls and move some to last above.
1785         (gnat_to_gnu): If statement and not in procedure, go into elab proc.
1786         Delete calls to add_decl_expr; add arg to create_*_decl.
1787         (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
1788         (gnat_to_gnu, case N_Subprogram_Body): Move some code to
1789         begin_subprog_body and call it.
1790         Don't push and pop ggc context.
1791         (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
1792         (add_stmt): Remove handling of DECL_EXPR from here.
1793         If not in function, mark visited.
1794         (add_decl_expr): Put global at top level.
1795         Check for cases of DECL_INITIAL we have to handle here.
1796         (process_type): Add extra arg to create_type_decl.
1797         (build_unit_elab): Rework to just gimplify.
1798         * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
1799         (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
1800         (get_pending_elaborations, pending_elaborations_p): Likewise.
1801         (push_pending_elaborations, pop_pending_elaborations): Likewise.
1802         (get_elaboration_location, insert_elaboration_list): Likewise.
1803         (gnat_binding_level): Renamed from ada_binding_level.
1804         (init_gnat_to_gnu): Don't clear pending_elaborations.
1805         (global_bindings_p): Treat as global if no current_binding_level.
1806         (set_current_block_context): New function.
1807         (gnat_pushdecl): Renamed from pushdecl; major rework.
1808         All callers changed.
1809         (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
1810         (finish_record_type): Call call pushdecl for stub decl.
1811         (function_nesting_depth): Deleted.
1812         (begin_subprog_body): Delete obsolete code.
1813         * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
1814
1815 2004-06-28  Robert Dewar  <dewar@gnat.com>
1816
1817         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
1818         mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
1819         mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
1820         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
1821         a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
1822
1823         * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
1824         deal with problem of inefficient slices on machines with strict
1825         alignment, when the slice is a component of a composite.
1826
1827         * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
1828         machines, we need the check there as well.
1829
1830 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
1831
1832         * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
1833         determine safe copying direction for overlapping slice assignments
1834         when component is controlled.
1835
1836         * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
1837         formal derived type in the actual for a formal package are visible in
1838         the enclosing instance.
1839
1840 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
1841
1842         PR ada/15600
1843         * sem_util.adb (Trace_Components): Diagnose properly an illegal
1844         circularity involving a private type whose completion includes a
1845         self-referential component.
1846         (Enter_Name): Use Is_Inherited_Operation to distinguish a source
1847         renaming or an instantiation from an implicit derived operation.
1848
1849 2004-06-28  Pascal Obry  <obry@gnat.com>
1850
1851         * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
1852         DLL.
1853         (Library_File_Name_For): Idem.
1854
1855 2004-06-28  Matthew Gingell  <gingell@gnat.com>
1856
1857         * g-traceb.ads: Add explanatory note on the format of addresses
1858         expected by addr2line.
1859
1860 2004-06-28  Jerome Guitton  <guitton@act-europe.fr>
1861
1862         * Makefile.in: Force debugging information on s-tasdeb.adb,
1863         a-except.adb and s-assert.adb needed by the debugger.
1864
1865 2004-06-28  Vincent Celier  <celier@gnat.com>
1866
1867         * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
1868         Need_To_Build_Lib.
1869         (Gnatmake): Ditto.
1870
1871         * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
1872
1873         * prj.adb: Minor reformatting
1874         (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
1875
1876         * prj.ads: Comment updates
1877         Minor reformatting
1878         (Project_Data): Change Flag1 to Need_To_Build_Lib.
1879         Remove Flag2: not used.
1880
1881         * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
1882         declaration.
1883
1884         * gnat_ugn.texi: Put a "null;" declaration in one project file example
1885
1886         * gnat_rm.texi: Document Empty declarations "null;".
1887
1888         * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
1889         front of the linker options.
1890         (Link_Foreign): Put the global archives and the libraries in front of
1891         the linker options.
1892
1893 2004-06-28  Javier Miranda  <miranda@gnat.com>
1894
1895         * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
1896         (RTU_Loaded): Code cleanup
1897         (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
1898         withed predefined units.
1899
1900         * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
1901         explicitly withed predefined units.
1902         Fix typo in comment
1903
1904         * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
1905         explicitly withed predefined units.
1906
1907 2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1908
1909         * ada-tree.def (DECL_STMT): Deleted.
1910         * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
1911         (DECL_STMT_VAR): Deleted.
1912         * decl.c: add_decl_stmt now add_decl_expr.
1913         * gigi.h: Likewise.
1914         * trans.c: Likewise.
1915         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
1916         (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
1917         (add_stmt): Only handle padded type here.
1918         (add_stmt_with_node): Allow gnat_node to not be present.
1919         (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
1920         (gnat_gimplify_stmt, case DECL_STMT): Deleted.
1921         (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
1922         make a SAVE_EXPR for the entire fat pointer.
1923         * utils.c (pushdecl): Walk a DECL_EXPR in global case.
1924         (create_index_type): Make a DECL_EXPR.
1925         (end_subprog_body): Don't call allocate_struct_function here but
1926         do clear cfun.
1927
1928 2004-06-25  Pascal Obry  <obry@gnat.com>
1929
1930         * makegpr.adb (Build_Library): Remove parameter Lib_Address and
1931         Relocatable from Build_Dynamic_Library call.
1932
1933         * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
1934         Relocatable are now synonym.
1935
1936         * Makefile.in: Use s-parame-mingw.adb on MingW platform.
1937
1938         * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
1939         Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
1940         call.
1941
1942         * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
1943         Lib_Address and Relocatable.
1944         (Default_DLL_Address): Removed.
1945
1946         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
1947         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
1948         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
1949         (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
1950         (Default_DLL_Address): Removed.
1951
1952         * mlib-tgt-mingw.adb: Ditto.
1953         (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
1954
1955         * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
1956         the initial thread stack size.
1957
1958         * a-strmap.ads: Move package L to private part as it is not used in
1959         the spec. Found while reading code.
1960
1961 2004-06-25  Olivier Hainque  <hainque@act-europe.fr>
1962
1963         * tracebak.c: Introduce support for a GCC infrastructure based
1964         implementation of __gnat_backtrace.
1965
1966         * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
1967         any more. Use accessors instead. This eases maintenance and relaxes
1968         some alignment constraints.
1969         (_GNAT_Exception structure): Remove the Ada specific fields
1970         (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
1971         a-exexpr.adb.
1972         (is_handled_by, __gnat_eh_personality): Replace component references to
1973         exception structure by use of the new accessors.
1974
1975         * init.c (__gnat_initialize): Adjust comments to match the just
1976         reverted meaning of the -static link-time option.
1977
1978         * adaint.c (convert_addresses): Arrange not to define a stub for
1979         mips-irix any more, as we now want to rely on a real version from a
1980         recent libaddr2line.
1981
1982         * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
1983         the personality routine can use them and not have to rely on a C
1984         counterpart of the record anymore. This simplifies maintenance and
1985         relaxes the constraint of having Standard'Maximum_Alignment match
1986         BIGGEST_ALIGNMENT.
1987         Update comments, and add a section on the common header alignment issue.
1988
1989 2004-06-25  Geert Bosch  <bosch@gnat.com>
1990
1991         * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
1992         polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
1993
1994 2004-06-25  Robert Dewar  <dewar@gnat.com>
1995
1996         * gnat_rm.texi: Fix section on component clauses to indicate that the
1997         restriction on byte boundary placement still applies for bit packed
1998         arrays.
1999         Add comment on stack usage from Initialize_Scalars
2000
2001         * gnat_ugn.texi: Add documentation for -gnatyLnnn
2002
2003         * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
2004         limiting nesting level.
2005
2006         * usage.adb: Add line for -gnatyLnnn switch
2007
2008         * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
2009         sem_ch13.adb, exp_aggr.adb: Minor reformatting
2010
2011         * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
2012         type as well as on the subtype. This corrects a problem in freeze in
2013         setting alignments of atomic types.
2014
2015         * sem_eval.ads: Minor comment typo fixed
2016
2017         * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
2018         level.  Minor reformatting.
2019
2020         * fname.adb (Is_Predefined_File_Name): Require a letter after the
2021         minus sign. This means that file names like a--b.adb will not be
2022         considered predefined.
2023
2024         * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
2025         record Test new flag and give diagnostic for bad component clause.
2026         (Freeze_Entity): Set alignment of array from component alignment in
2027         cases where this is safe to do.
2028
2029         * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
2030         arrays.
2031
2032         * cstand.adb: (Create_Standard): Set alignment of String to 1
2033
2034         * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
2035
2036         * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
2037         code in the common constrained array cases.
2038
2039         * a-storio.adb: Change implementation to avoid possible alignment
2040         problems on machines requiring strict alignment (data should be moved
2041         as type Buffer, not type Elmt).
2042
2043         * checks.adb (Apply_Array_Size_Check): Improve these checks by
2044         killing the overflow checks which we really do not need (64-bits is
2045         enough).
2046
2047 2004-06-25  Vincent Celier  <celier@gnat.com>
2048
2049         * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
2050         (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
2051         inconditionally for the main project.
2052         (Recursive_Add_Archives.Add_Archive_Path): New procedure
2053         (Link_Executables.Check_Time_Stamps): New procedure
2054         (Link_Executables.Link_Foreign): New procedure
2055         Changes made to reduce nesting level of this package
2056         (Check): New procedure
2057         (Add_Switches): When not in quiet output, check that a switch is not
2058         the concatenation of several valid switches. If it is, issue a warning.
2059         (Build_Global_Archive): If the global archive is rebuilt, linking need
2060         to be done.
2061         (Compile_Sources): Rebuilding a library archive does not imply
2062         rebuilding the global archive.
2063         (Build_Global_Archive): New procedure
2064         (Build_Library): New name for Build_Archive, now only for library
2065         project
2066         (Check_Archive_Builder): New procedure
2067         (Create_Global_Archive_Dependency_File): New procedure
2068         (Gprmake): Call Build_Global_Archive before linking
2069         * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
2070         throughout.
2071         (Scan_Arg): Display the Copyright notice when -v is used
2072
2073         * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
2074         for gnatls.
2075
2076         * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
2077         COMPILE.
2078         Add new GNAT LIST qualifier /FILES=
2079         Added qualifier /DIRECTORY= to GNAT METRIC
2080         Added qualifier /FILES= to GNAT METRIC
2081         Added qualifier /FILES to GNAT PRETTY
2082
2083         * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
2084         to take into account both versions of the switch.
2085
2086         * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
2087         always be the last switch to the gcc driver. Disable switch storing so
2088         that switches automatically added by the gcc driver are not put in the
2089         ALI file.
2090
2091         * prj.adb (Project_Empty): Take into account changes in components of
2092         Project_Data.
2093
2094         * prj.ads (Languages_Processed): New enumaration value All_Languages.
2095
2096         * prj.ads (Project_Data): Remove component Lib_Elaboration: never
2097         used. Split Boolean component Ada_Sources_Present in two Boolean
2098         components Ada_Sources_Present and Other_Sources_Present.
2099         Minor reformatting
2100
2101         * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
2102         instead of Sources_Present.
2103         (Set_Ada_Paths.Add.Recursive_Add): Ditto
2104
2105         * prj-nmsc.adb: Minor reformatting
2106         (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
2107         (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
2108         Check_Ada_Naming_Scheme.
2109         Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
2110         throughout.
2111
2112         * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
2113         In_Limited.
2114         Make sure that all cycles where there is at least one "limited with"
2115         are detected.
2116         (Parse_Single_Project): New Boolean parameter In_Limited
2117
2118         * prj-proc.adb (Recursive_Check): When Process_Languages is
2119         All_Languages, call first Prj.Nmsc.Ada_Check, then
2120         Prj.Nmsc.Other_Languages_Check.
2121
2122         * prj-proc.adb (Process): Use Ada_Sources_Present or
2123         Other_Sources_Present (instead of Sources_Present) depending on
2124         Process_Languages.
2125
2126         * lang-specs.h: Keep -g and -m switches in the same order, and as the
2127         last switches.
2128
2129         * lib.adb (Switch_Storing_Enabled): New global Boolean flag
2130         (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
2131         False.
2132         (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
2133         False.
2134
2135         * lib.ads (Disable_Switch_Storing): New procedure.
2136
2137         * make.adb: Modifications to reduce nesting level of this package.
2138         (Check_Standard_Library): New procedure
2139         (Gnatmake.Check_Mains): New procedure
2140         (Gnatmake.Create_Binder_Mapping_File): New procedure
2141         (Compile_Sources.Compile): Add switch -gnatez as the last option
2142         (Display): Never display -gnatez
2143
2144         * Makefile.generic:
2145         When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
2146
2147         * gnatcmd.adb (Check_Project): New function
2148         (Process_Link): New procedure to reduce nesting depth
2149         (Check_Files): New procedure to reduce the nesting depth.
2150         For GNAT METRIC, include the inherited sources in extending projects.
2151         (GNATCmd): When GNAT LS is invoked with a project file and no files,
2152         add the list of files from the sources of the project file. If this list
2153         is too long, put it in a temp text files and use switch -files=
2154         (Delete_Temp_Config_Files): Delete the temp text file that contains
2155         a list of source for gnatpp or gnatmetric, if one has been created.
2156         (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
2157         in the project file is too large, create a temporary text file that
2158         list them and pass it to the tool with "-files=<temp text file>".
2159         (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
2160
2161         * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
2162         generated file is in not in Ada.
2163
2164         * gnatls.adb: Remove all parameters And_Save that are no longer used.
2165         (Scan_Ls_Arg): Add processing for -files=
2166         (Usage): Add line for -files=
2167
2168         * g-os_lib.adb (On_Windows): New global constant Boolean flag
2169         (Normalize_Pathname): When on Windows and the path starts with a
2170         directory separator, make sure that the resulting path will start with
2171         a drive letter.
2172
2173         * clean.adb (Clean_Archive): New procedure
2174         (Clean_Project): When there is non-Ada code, delete the global archive,
2175         the archive dependency files, the object files and their dependency
2176         files, if they exist.
2177         (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
2178
2179 2004-06-25  Thomas Quinot  <quinot@act-europe.fr>
2180
2181         * sinfo.ads: Fix typo in comment.
2182
2183         * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
2184         the TSS for remote access-to-subprogram types, since these TSS are
2185         always present once the type has been analyzed.
2186         (RAS_E_Dereference): Same.
2187
2188         * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
2189         reference raises Bad_Attribute, mark the reference as analyzed so the
2190         node (and any children resulting from rewrites that could have occurred
2191         during the analysis that ultimately failed) is not analyzed again.
2192
2193         * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
2194
2195         * exp_dist.adb: Minor comment fix.
2196
2197         * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
2198         type is an anonymous access type, no unchecked deallocation of the
2199         allocated object can occur. If the object is controlled, attach it with
2200         a count of 1. This allows attachment to the Global_Final_List, if
2201         no other relevant list is available.
2202         (Get_Allocator_Final_List): For an anonymous access type that is
2203         the type of a discriminant or record component, the corresponding
2204         finalisation list is the one of the scope of the type.
2205
2206 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
2207
2208         * sem_ch3.adb (Replace_Type): When computing the signature of an
2209         inherited subprogram, use the first subtype if the derived type
2210         declaration has no constraint.
2211
2212         * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
2213         before applying previous optimization. Minor code cleanup.
2214
2215         * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
2216         placed at the beginning of an unpacked record without explicit
2217         alignment, a slice of it will be aligned and does not need a copy when
2218         used as an actual.
2219
2220 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
2221
2222         PR ada/15591
2223         PR ada/15592
2224         * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
2225         reference is written with expressions mimicking parameters.
2226
2227 2004-06-25  Hristian Kirtchev  <kirtchev@gnat.com>
2228
2229         PR ada/15589
2230         * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
2231         STEP 2a. The constraints of a full type declaration of a derived record
2232         type are checked for conformance with those declared in the
2233         corresponding private extension declaration. The message
2234         "not conformant with previous declaration" is emitted if an error is
2235         detected.
2236
2237 2004-06-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
2238
2239         * g-traceb.ads: Document the need for -E binder switch in the spec.
2240
2241         * g-trasym.ads: Document the need for -E binder switch in the spec.
2242
2243 2004-06-25  Jose Ruiz  <ruiz@act-europe.fr>
2244
2245         * sem_prag.adb: Add handling of pragma Detect_Blocking.
2246
2247         * snames.h, snames.ads, snames.adb: Add entry for pragma
2248         Detect_Blocking.
2249
2250         * s-rident.ads: Change reference to pragma Detect_Blocking.
2251
2252         * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
2253         system.ads.
2254
2255         * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
2256         to indicate whether pragma Detect_Blocking is active.
2257
2258         * par-prag.adb: Add entry for pragma Detect_Blocking.
2259
2260         * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
2261         of not handling WITH.
2262         Note that this replaces the previous update which was incorrect.
2263
2264 2004-06-25  Javier Miranda  <miranda@gnat.com>
2265
2266         * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
2267         use-clauses to have a clean environment.
2268
2269         * sem_ch8.adb (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; otherwise the call to
2272         use_one_package is protected by the barrier Applicable_Use.
2273
2274         * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
2275         the installation of the use-clauses to stablish a clean environment in
2276         case of compilation of a separate unit.
2277         (End_Use_Clauses): Minor comment cleanup.
2278
2279 2004-06-25  Sergey Rybin  <rybin@act-europe.fr>
2280
2281         * gnat_ugn.texi: Add description of the gnatpp 'files' switch
2282
2283 2004-06-23  Richard Henderson  <rth@redhat.com>
2284
2285         * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
2286
2287 2004-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2288
2289         * decl.c (elaborate_expression, elaborate_expression_1): Arguments
2290         now bool instead of int.
2291         (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
2292         * trans.c (gnu_switch_label_stack): New function.
2293         (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
2294         elaboration of renamed entity returns.
2295         (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
2296         (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
2297         (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
2298         (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
2299         DECL_SIZE_UNIT and simplify variable-sized case.
2300         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
2301         Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
2302         (gnat_stabilize_reference): Add arg to COMPONENT_REF.
2303         (build_unit_elab): Disable for now.
2304         * utils.c (mark_visited): New function.
2305         (pushdecl): Walk tree to call it for global decl.
2306         (update_pointer_to): Update all variants of pointer and ref types.
2307         Add arg to COMPONENT_REF.
2308         (convert): Likewise.
2309         Move check for converting between variants lower down.
2310         * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
2311         (build_allocator): Don't force type of MODIFY_EXPR.
2312         (gnat_mark_addressable, case VAR_DECL): Unconditionally call
2313         put_var_into_stack.
2314
2315 2004-06-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2316
2317         * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
2318         * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
2319         * decl.c (gnat_to_gnu_entity): Also set force_global for imported
2320         subprograms.
2321         * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
2322         all callers changed.
2323         (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
2324         the way that EXIT_STMT finds the loop label.
2325         (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
2326         (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
2327         (add_stmt): Use annotate_with_locus insted of setting directly.
2328         (pos_to_construct): Set TREE_PURPOSE of each entry to index.
2329         (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
2330         * utils.c (gnat_install_builtins): Install __builtin_memcmp.
2331         (build_vms_descriptor): Add extra args to ARRAY_REF.
2332         (convert): Use VIEW_CONVERT_EXPR between aggregate types.
2333         * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
2334         New cases.
2335         (build_binary_op): Don't make explicit CONVERT_EXPR.
2336         Add extra rgs to ARRAY_REF.
2337
2338 2004-06-14  Pascal Obry  <obry@gnat.com>
2339
2340         * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
2341         Windows.  Fix minor typo.
2342
2343         * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
2344         which is now supported on Windows. With this implementation using the
2345         Library Project feature is no different on Windows than on UNIX.
2346
2347 2004-06-14  Vincent Celier  <celier@gnat.com>
2348
2349         * makegpr.adb (Compile_Sources): Nothing to do when there are no
2350         non-Ada sources.
2351
2352         * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
2353
2354         * prj-part.adb (Parse_Single_Project): When a duplicate project name is
2355         found, show the project name and the path of the previously parsed
2356         project file.
2357
2358 2004-06-14  Ed Schonberg  <schonberg@gnat.com>
2359
2360         * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
2361         array, avoid copying the actual before the call.
2362
2363 2004-06-14  Thomas Quinot  <quinot@act-europe.fr>
2364
2365         * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
2366         Instead, allocate memory on worst-case alignment assumptions, and then
2367         return an aligned address within the allocated zone.
2368
2369 2004-06-14  Robert Dewar  <dewar@gnat.com>
2370
2371         * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
2372         elab entities in predefined units in No_Run_Time_Mode.
2373         (Gen_Adainit_C): Same fix
2374         (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
2375         units in No_Run_Time_Mode
2376         (Gen_Elab_Calls_C): Same fix
2377
2378         * symbols-vms-alpha.adb: Minor reformatting
2379
2380         * g-debpoo.ads: Minor reformatting
2381
2382         * lib.adb (In_Same_Extended_Unit): Version working on node id's
2383
2384         * lib.ads (In_Same_Extended_Unit): Version working on node id's
2385
2386         * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
2387         working on nodes.
2388
2389         * make.adb: Minor reformatting
2390
2391         * par-ch12.adb: Minor reformatting
2392
2393         * par-prag.adb: Add dummy entry for pragma Profile_Warnings
2394
2395         * prj-strt.adb: Minor reformatting
2396
2397         * restrict.ads, restrict.adb: Redo handling of profile restrictions to
2398         be more general.
2399
2400         * sem_attr.adb: Minor reformatting
2401
2402         * sem_ch7.adb: Minor reformatting
2403
2404         * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
2405         for type in the same unit as the object declaration.
2406
2407         * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
2408         static string expressions and not just string literals.
2409         Minor reformatting
2410         (Set_Warning): Reset restriction warning flag for restriction pragma
2411         Implement pragma Profile_Warnings
2412         Implement pragma Profile (Restricted)
2413         Give obolescent messages for old restrictions and pragmas
2414
2415         * snames.h, snames.ads, snames.adb: Add new entry for pragma
2416         Profile_Warnings.
2417
2418         * s-rident.ads: Add declarations for restrictions required by profile
2419         Restricted and profile Ravenscar.
2420
2421         * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
2422
2423         * gnat_ugn.texi: Correct some missing entries in the list of GNAT
2424         configuration pragmas.
2425
2426 2004-06-11  Vincent Celier  <celier@gnat.com>
2427
2428         * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
2429         gnatsym, when symbol policy is Restricted.
2430
2431         * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
2432         gnatsym, when symbol policy is Restricted.
2433
2434         * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
2435         read the symbol file.
2436         (Finalize): Fail in symbol policy Restricted if a symbol in the original
2437         symbol file is not in the object files. Do not create a new symbol file
2438         when symbol policy is Restricted.
2439
2440         * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
2441         in Scng.
2442
2443         * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
2444         Restricted.
2445         (Usage): Line for new switch -R
2446
2447         * make.adb (Initialize): When the platform is not VMS, add the
2448         directory where gnatmake is invoked in the front of the path, if
2449         gnatmake is invoked with directory information.  Change the Scan_Args
2450         while loop to a for loop.
2451         (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
2452         if Depth is equal or greater than the proposed depth, there is nothing
2453         to do.
2454         (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
2455         instead of 0.
2456
2457         * prj.ads: Add new symbol policy Restricted.
2458
2459         * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
2460         with the new parameters Check_All_Labels and Case_Location.
2461
2462         * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
2463         (Library_Symbol_File needs to be defined).
2464
2465         * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
2466         and Case_Location If Check_All_Labels is True, check that all values of
2467         the string type are used, and output warning(s) if they are not.
2468
2469         * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
2470         and Case_Location.
2471
2472         * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
2473
2474         * gnat_ugn.texi: Update documentation about the library directory in
2475         Library Projects.
2476
2477         * makegpr.adb (Display_Command): In verbose mode, also display the
2478         value of the CPATH env var, when the compiler is gcc.
2479         (Initialize): Change the Scan_Args while loop to a for loop
2480         (Compile_Individual_Sources): Change directory to object directory
2481         before compilations.
2482
2483         * symbols.ads: New symbol policy Restricted.
2484
2485 2004-06-11  Olivier Hainque  <hainque@act-europe.fr>
2486
2487         * a-except.adb (Raise_After_Setup family): Remove. The responsibility
2488         is now taken care of internally in the Exception_Propagation package
2489         and does not require clients assistance any more.
2490
2491         * a-exexpr.adb (Is_Setup_And_Not_Propagated,
2492         Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
2493         functions. Helpers to maintain a predicate required in the handling of
2494         occurrence transfer between tasks.
2495         This is now handled internally and does not require clients assistance
2496         for the setup/propagate separation anymore.
2497         (Setup_Exception, Propagate_Exception): Simplify the Private_Data
2498         allocation strategy, handle the Setup_And_Not_Propagated predicate and
2499         document.
2500
2501         * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
2502         raise_after_setup, now that everything is handled internally within the
2503         setup/propagation engine.
2504
2505 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
2506
2507         * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
2508         Add additional conditions for the case of an actual being a simple
2509         name or literal. Improve inlining by preventing the generation
2510         of temporaries with a short lifetime (one use).
2511
2512 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
2513
2514         PR ada/15587
2515
2516         * einfo.ads: Minor comment updates for Has_Completion and
2517         E_Constant list of flags.
2518
2519         * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
2520         and constant redeclarations now set the Has_Completion flag of their
2521         defining identifiers.
2522
2523         * sem_ch7.adb (Analyze_Package_Spec): Add procedure
2524         Inspect_Deferred_Constant_Completion.
2525         Used to detect private deferred constants that have not been completed
2526         either by a constant redeclaration or pragma Import. Emits error message
2527         "constant declaration requires initialization expression".
2528
2529         * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
2530         completes a deferred constant.
2531
2532 2004-06-11  Geert Bosch  <bosch@gnat.com>
2533
2534         * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
2535
2536         * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
2537         calculating exponent for scaling denormal numbers.
2538         (Leading_Part): Properly raise Constraint_Error for zero or negative
2539         Adjustment.
2540         (Remainder): Properly raise Constraint_Error for zero divisor.
2541
2542 2004-06-11  Thomas Quinot  <quinot@act-europe.fr>
2543
2544         * sem_util.adb: Minor reformatting.
2545
2546         * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
2547         dereference when accessing the entry parameter record.
2548         (Check_Array_Type): Always check for possible implicit dereference.
2549         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
2550         Abort if a pointer is still present (denoting that an implicit
2551         dereference was left in the tree by the front-end).
2552
2553         * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
2554         dereference when accessing the entry parameter record.
2555         (Check_Array_Type): Always check for possible implicit dereference.
2556         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
2557         Abort if a pointer is still present (denoting that an implicit
2558         dereference was left in the tree by the front-end).
2559
2560 2004-06-11  Emmanuel Briot  <briot@act-europe.fr>
2561
2562         * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
2563         message, like the compiler itself does. Easier to parse the output.
2564
2565         * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
2566
2567         * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
2568         be base names, and not includes directories.
2569
2570 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
2571
2572         * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
2573         so that dependencies are properly taken into account by make.
2574
2575 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
2576
2577         PR ada/15622
2578         * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
2579         exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
2580
2581 2004-06-11  Jerome Guitton  <guitton@act-europe.fr>
2582
2583         * Makefile.in (install-gnatlib): install target-specific run-time files.
2584
2585         * Make-lang.in: Remove obsolete targets.
2586
2587 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
2588
2589         * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
2590         specification, to catch misuses of program unit names.
2591
2592         * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
2593         superfluous conversions in an instance.
2594
2595 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
2596
2597         PR ada/15403
2598
2599         * sem_ch12.adb (Save_References): If operator node has been folded to
2600         enumeration literal, associated_node must be discarded.
2601
2602 2004-06-11  Jose Ruiz  <ruiz@act-europe.fr>
2603
2604         * s-stchop-vxworks.adb: Add required pragma Convention to
2605         Task_Descriptor because it is updated by a C function.
2606
2607 2004-06-08  Arnaud Charlet  <charlet@act-europe.fr>
2608
2609         PR ada/15568
2610
2611         * Makefile.in: Remove target specific SO_OPT on IRIX
2612
2613 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2614
2615         * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
2616         (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
2617         (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
2618         (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
2619         (STMT_STMT, USE_STMT): New statement codes.
2620         (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
2621         * ada-tree.h: Reflect above changes.
2622         (struct tree_loop_id): Deleted.
2623         (union lang_tree_node, struct lang_decl, struct lang_type):
2624         Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
2625         and DECL_LANGUAGE_SPECIFIC to reflect these changes.
2626         (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
2627         (IS_ADA_STMT): New macro.
2628         * decl.c (annotate_decl_with_node): New function.
2629         (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
2630         (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
2631         Call add_stmt_with_node to do needed assignments.
2632         Add call to update setjmp buffer directly, not via EXPR_STMT.
2633         (maybe_variable): Argment GNAT_NODE deleted.
2634         * gigi.h (maybe_variable): Likewise.
2635         (make_transform, add_stmt_with_node, set_block_for_group): New.
2636         (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
2637         (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
2638         (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
2639         (set_lineno, set_lineno_from_sloc): Likewise.
2640         (record_code_position, insert_code_for): Likewise.
2641         (gnat_poplevel): Now returns void.
2642         (end_subprog_body): Now takes argument.
2643         * misc.c (cgraph.h, tree-inline.h): New includes.
2644         (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
2645         (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
2646         (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
2647         (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
2648         (gnat_parse_file): Don't set immediate_size_expand.
2649         Call cgraph functions.
2650         (gnat_expand_expr): Remove most cases.
2651         (record_code_position, insert_code_for): Remove from here.
2652         * trans.c (toplev.h, tree-gimple.h): Now included.
2653         (discard_file_names): Deleted.
2654         (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
2655         (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
2656         (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
2657         (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
2658         (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
2659         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
2660         (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
2661         (set_block_for_group, add_stmt_list): Likewise.
2662         (start_stmt_group): Renamed from start_block_stmt.
2663         (end_stmt_group): Likewise, from end_block_stmt.
2664         (build_stmt_group): Likewise, from build_block_stmt, also add arg.
2665         (gigi): Don't set discard_file_names or call set_lineno.
2666         Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
2667         (tree_transform): Deleted, now renamed to be gnat_to_gnu.
2668         Numerous changes throughout to reflect new names and complete
2669         function-at-a-time implementation.
2670         (gnat_expand_stmt): Delete or comment out all cases.
2671         (process_inlined_subprograms): Use add_stmt.
2672         (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
2673         call set_lineno; also remove unneeded block handling.
2674         (process_type): Remove unneeded block handling.
2675         (build_unit_elab): Remove calls to deleted functions.
2676         * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
2677         (tree-dump.h): Likewise.
2678         (struct ada_binding_level): Add field jmpbuf_decl.
2679         (gnat_define_builtin, gnat_install_builtins): New.
2680         (gnat_gimplify_function, gnat_finalize): Likewise.
2681         (gnat_poplevel): No longer return BLOCK, set it instead.
2682         Remove code dealing with nested functions.
2683         (gnat_init_decl_processing): Also set size_type_node.
2684         Call gnat_install_builtins.
2685         (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
2686         (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
2687         Remove special-case for "main".
2688         (end_subprog_body): Add arg and rework for tree-ssa.
2689         (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
2690         Add case for BOOLEAN_TYPE.
2691         * utils2.c (rtl.h): Now include.
2692         (build_call_raise): Test Debug_Flag_NN directly.
2693         (build_call_alloc_dealloc): Don't use local stack allocation for now.
2694         (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
2695         (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
2696
2697 2004-06-07  Robert Dewar  <dewar@gnat.com>
2698
2699         * a-direct.ads, einfo.ads: Minor comment updates
2700
2701         * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
2702         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
2703         s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
2704         s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
2705         s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
2706
2707         * s-interr-sigaction.adb: Remove unreferenced variable
2708         (Attached_Interrupts).  Minor reformatting.
2709         Avoid use of variable I (replace by J).
2710
2711         * par-ch10.adb: Fix text of one error message
2712
2713         * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
2714         exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
2715         exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
2716         opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
2717         par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
2718         par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
2719         sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
2720         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
2721         sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
2722         sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
2723         snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
2724         2005 support.
2725
2726 2004-06-07  Doug Rupp  <rupp@gnat.com>
2727
2728         * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
2729
2730         * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
2731
2732         * mlib-tgt-vms-ia64.adb: New file.
2733
2734         * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
2735         Add mlib-tgt-vms-ia64.adb
2736         Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
2737         Move to alpha specific ifeq section.
2738         Add VMS specific versions of symbols.adb
2739         Renaming of 5q vms files.
2740
2741         * 5qsystem.ads renamed to system-vms_64.ads.
2742
2743 2004-06-07  Vincent Celier  <celier@gnat.com>
2744
2745         * a-calend.ads: Add a GNAT Note comment after function Time_Of to
2746         explain that when a time of day corresponding to the non existing hour
2747         on the day switching to DST is specified, Split may return a different
2748         value for Seconds.
2749
2750         * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
2751         to GNAT PRETTY.
2752
2753         * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
2754         (Normalize_Pathname): Only resolve VMS logical names when on VMS.
2755
2756         * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
2757         to False.
2758         If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
2759         the linking options.
2760         (Build_Library.Check_Libs): On VMS, if there is a dependency on
2761         g-trasym.ads, set Gtrasymobj_Needed to True.
2762
2763         * prj-attr.adb: Add new package Metrics for gnatmetric
2764
2765         * prj-nmsc.adb (Record_Other_Sources): Put source file names in
2766         canonical case to take into account files with upper case characters on
2767         Windows.
2768         (Ada_Check): Load the reference symbol file name in the name buffer to
2769         check it, not the symbol file name.
2770
2771         * snames.ads, snames.adb: Add standard name Metrics (name of project
2772         file package for gnatmetric).
2773
2774         * vms_conv.ads: Add Metric to Comment_Type
2775
2776         * vms_conv.adb (Initialize): Add component dor Metric in Command_List
2777
2778         * vms_data.ads: Add qualifiers for GNAT METRIC
2779
2780         * makegpr.adb (Link_Executables): Take into account the switches
2781         specified in package Linker of the main project.
2782
2783 2004-06-07  Thomas Quinot  <quinot@act-europe.fr>
2784
2785         * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
2786         the index of the last element is Units.Last, not Units.Table'Last
2787         (which is usually not a valid index within the actually allocated
2788         storage for the table).
2789
2790         * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
2791         determines whether to generate a call to a checked storage pool
2792         Dereference action.
2793         Generate such a call only for a dereference that either comes from
2794         source, or is the result of rewriting a dereference that comes from
2795         source.
2796
2797 2004-06-07  Romain Berrendonner  <berrendo@act-europe.fr>
2798
2799         * bindgen.adb (Gen_Output_File): Add support for GAP builds.
2800
2801 2004-06-07  Eric Botcazou  <ebotcazou@act-europe.fr>
2802
2803         (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
2804         file level, elaborate the stride for inner dimensions in alignment
2805         units, not bytes.
2806
2807         * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
2808         in a comment.
2809
2810 2004-06-07  Javier Miranda  <miranda@gnat.com>
2811
2812         * exp_ch6.adb: Correct wrong modification in previous patch
2813
2814 2004-06-07  Vasiliy Fofanov  <fofanov@act-europe.fr>
2815
2816         * g-trasym.ads: Corrected comment to properly reflect level of support
2817         on VMS.
2818
2819 2004-06-07  Hristian Kirtchev  <kirtchev@gnat.com>
2820
2821         * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
2822         includes case of a variable referenced on the left hand side of an
2823         assignment, therefore remove redundant code. Variables and prefixes of
2824         indexed or selected components are now marked as referenced on left
2825         hand side. Warnings are now properly emitted when variables or prefixes
2826         are assigned but not read.
2827
2828         * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
2829         left hand side referenced variables. Private access types do not
2830         produce the warning "variable ... is assigned but never read".
2831         Add also additional checks to left hand side referenced variables.
2832         Aliased, renamed objects and access types do not produce the warning
2833         "variable ... is assigned but never read" since other entities may read
2834         the memory location.
2835
2836 2004-06-07  Jerome Guitton  <guitton@act-europe.fr>
2837
2838         * Makefile.in: In the powerpc/vxworks-specific section, restore
2839         EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
2840         by mistake).
2841
2842 2004-06-07  Ed Schonberg  <schonberg@gnat.com>
2843
2844         * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
2845         predefined operators.
2846         Removes spurious type errors from g-trasym-vms.adb.
2847
2848         * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
2849         distinct from the operator appearing in the source, call appropriate
2850         routine to insert conversions when needed, and complete resolution of
2851         node.
2852         (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
2853         interpretations for rewritten right operand.
2854         (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
2855         the other operand is overloaded and the context is a type conversion.
2856
2857 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2858
2859         * ada-tree.def (BLOCK_STMT): Now has two operands.
2860         (BREAK_STMT): New.
2861
2862         * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
2863
2864         * gigi.h: (gnat_poplevel): Now returns a tree.
2865
2866         * trans.c (end_block_stmt): Add arg; all callers changed.
2867         (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
2868         (start_block_stmt): Clear BLOCK_STMT_BLOCK.
2869         (add_stmt): Set TREE_TYPE.
2870         (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
2871         (gnat_expand_stmt, case BREAK_STMT): New case.
2872
2873         * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
2874
2875 2004-06-07  Jose Ruiz  <ruiz@act-europe.fr>
2876
2877         * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
2878         procedure Set_Stack_Size that is not needed.
2879
2880 2004-06-07  Sergey Rybin  <rybin@act-europe.fr>
2881
2882         * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
2883         used for gnatpp input file and for the files upon which it depends
2884
2885 2004-06-07  Ben Brosgol  <brosgol@gnat.com>
2886
2887         * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
2888
2889 2004-06-07  Arnaud Charlet  <charlet@act-europe.fr>
2890
2891         * gnatvsn.ads: Bump version numbers appropriately.
2892         Add new build type.
2893
2894 2004-06-07  Pascal Obry  <obry@gnat.com>
2895
2896         * gnat_ugn.texi: Improve comments about imported names and link names
2897         on Windows. Add a note about the requirement to use -k gnatdll's option
2898         when working with a DLL which has stripped stdcall symbols (no @nn
2899         suffix).
2900
2901 2004-05-27  Vincent Celier  <celier@gnat.com>
2902
2903         * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
2904         COMMENTS_LAYOUT=UNTOUCHED
2905
2906         * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
2907         symbols-vms-alpha.adb
2908
2909 2004-05-27  Thomas Quinot  <quinot@act-europe.fr>
2910
2911         * sem.ads: Clarify documentation on checks suppression.
2912
2913         * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
2914
2915 2004-05-27  Ed Schonberg  <schonberg@gnat.com>
2916
2917         * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
2918         the case of multiple derivations.
2919         (Is_Object_Reference): For a selected component, verify that the prefix
2920         is itself an object and not a value.
2921
2922         * sem_ch12.adb (Same_Instantiated_Constant): New name for
2923         Same_Instantiated_Entity.
2924         (Same_Instantiated_Variable): Subsidiary to
2925         Check_Formal_Package_Instance, to recognize actuals for in-out generic
2926         formals that are obtained from a previous formal package.
2927         (Instantiate_Subprogram_Body): Emit proper error when
2928         generating code and the proper body of a stub is missing.
2929
2930         * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
2931         has a universal interpretation, do the disambiguation here.
2932
2933         * exp_ch4.adb (Expand_N_Type_Conversion,
2934         Expand_N_Unchecked_Type_Conversion): Special handling when target type
2935         is Address, to avoid typing anomalies when Address is a visible integer
2936         type.
2937
2938         * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
2939         to determine whether a subprogram should not be marked Pure, even when
2940         declared in a pure package.
2941
2942 2004-05-27  Jose Ruiz  <ruiz@act-europe.fr>
2943
2944         * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
2945
2946         * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
2947         Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
2948         Update the documentation about the Ravenscar profile, following the
2949         definition found in AI-249.
2950
2951         * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
2952         setting the Profile (Ravenscar). This must be done in addition to
2953         setting the required restrictions.
2954
2955         * rtsfind.ads: Add the set of operations defined in package
2956         Ada.Interrupts.
2957
2958         * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
2959         restriction.
2960
2961 2004-05-27  Eric Botcazou  <ebotcazou@act-europe.fr>
2962
2963         lang-specs.h: Always require -c or -S and always redirect to /dev/null
2964         if -gnatc or -gnats is passed.
2965
2966 2004-05-27  Hristian Kirtchev  <kirtchev@gnat.com>
2967
2968         * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
2969         a significant reference. Warnings are now properly emitted when a
2970         discriminated type is not referenced.
2971
2972         * lib-xref.adb (Generate_Reference): A deferred constant completion,
2973         record representation clause or record type discriminant does not
2974         produce a reference to its corresponding entity. Warnings are now
2975         properly emitted when deferred constants and record types are not
2976         referenced.
2977
2978 2004-05-27  Geert Bosch  <bosch@gnat.com>
2979
2980         * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
2981         Fixes ACATS Annex G tests.
2982
2983 2004-05-27  Robert Dewar  <dewar@gnat.com>
2984
2985         * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
2986         handling WITH
2987
2988 2004-05-27  Arnaud Charlet  <charlet@act-europe.fr>
2989
2990         * s-interr.adb (Server_Task): Take into account case of early return
2991         from sigwait under e.g. linux.
2992
2993 2004-05-27  Sergey Rybin  <rybin@act-europe.fr>
2994
2995         * gnat_ugn.texi: Add description for the new gnatpp options:
2996          -rnb - replace the original source without creating its backup copy
2997          -c0 - do not format comments
2998
2999 2004-05-24  Geert Bosch  <bosch@gnat.com>
3000
3001         * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
3002         with 192 bits of precision, sufficient to reduce a double-extended
3003         arguments X with a maximum relative error of T'Machine_Epsilon, for X
3004         in -2.0**32 .. 2.0**32.
3005         (Cos, Sin):  Always reduce arguments of 1/4 Pi or larger, to prevent
3006         reduction by the processor, which only uses a 68-bit approximation of
3007         Pi.
3008         (Tan): Always reduce arguments and compute function either using
3009         the processor's fptan instruction, or by dividing sin and cos as needed.
3010
3011 2004-05-24  Doug Rupp  <rupp@gnat.com>
3012
3013         * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
3014         gcc error on 32/64 bit VMS.
3015
3016 2004-05-24  Olivier Hainque  <hainque@act-europe.fr>
3017
3018         * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
3019         since this is what we get for stack overflows although not documented
3020         as such.
3021         Document the issues which may require adjustments to our signal
3022         handlers.
3023
3024 2004-05-24  Ed Schonberg  <schonberg@gnat.com>
3025
3026         * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
3027         enclosing dynamic scope if the instantiation is within a generic unit.
3028
3029 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
3030
3031         * exp_dbug.ads: Fix typo.
3032
3033         * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
3034         Rename it to its proper name: system-linux-ia64.ads
3035         (stamp-gnatlib1): Remove extra target specific run time files when
3036         setting up the rts directory.
3037
3038 2004-05-24  Javier Miranda  <miranda@gnat.com>
3039
3040         * einfo.ads, einfo.adb (Limited_Views): Removed.
3041         (Limited_View): New attribute that replaces the previous one. It is
3042         now a bona fide package with the limited-view list through the
3043         first_entity and first_private attributes.
3044
3045         * sem_ch10.adb (Install_Private_With_Clauses): Give support to
3046         limited-private-with clause.
3047         (Install_Limited_Withed_Unit): Install the private declarations of a
3048         limited-private-withed package. Update the installation of the shadow
3049         entities according to the new structure (see Build_Limited_Views)
3050         (Build_Limited_Views): Replace the previous implementation of the
3051         limited view by a package entity that references the first shadow
3052         entity plus the first shadow private entity (required for limited-
3053         private-with clause)
3054         (New_Internal_Shadow_Entity): Code cleanup.
3055         (Remove_Limited_With_Clause): Update the implementation to undo the
3056         new work carried out by Build_Limited_Views.
3057         (Build_Chain): Complete documentation.
3058         Replace Ada0Y by Ada 0Y in comments
3059         Minor reformating
3060
3061         * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
3062         types the level of accessibility depends on the enclosing type
3063         declaration.
3064
3065         * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
3066         entities. Complete documentation of previous change.
3067
3068 2004-05-24  Robert Dewar  <dewar@gnat.com>
3069
3070         * namet.adb: Minor reformatting
3071         Avoid use of name I (replace by J)
3072         Minor code restructuring
3073
3074         * sem_ch6.adb: Minor reformatting
3075
3076         * lib-writ.adb: Do not set restriction as active if this is a
3077         Restriction_Warning case.
3078
3079         * sem_prag.adb: Reset restriction warning flag if real pragma
3080         restriction encountered.
3081
3082         * s-htable.adb: Minor reformatting
3083         Change rotate count to 3 in Hash (improves hash for small strings)
3084
3085         * 5qsystem.ads: Add comments for type Address (no literals allowed).
3086
3087         * gnat_ugn.texi: Add new section of documentation "Code Generation
3088         Control", which describes the use of -m switches.
3089
3090 2004-05-24  Eric Botcazou  <ebotcazou@act-europe.fr>
3091
3092         trans.c (tree_transform) <N_Identifier>: Do the dereference directly
3093         through the DECL_INITIAL for renamed variables.
3094
3095 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
3096
3097         * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
3098
3099 2004-05-19  Joel Brobecker  <brobecker@gnat.com>
3100
3101         * exp_dbug.ads: Correct comments concerning handling of overloading,
3102         since we no longer use $ anymore.
3103
3104 2004-05-19  Sergey Rybin  <rybin@act-europe.fr>
3105
3106         * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
3107         ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
3108         with illegal subunits.
3109
3110 2004-05-19  Ed Schonberg  <schonberg@gnat.com>
3111
3112         * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
3113         body with front-end inlining enabled, check whether an inline pragma
3114         appears immediately after the body and applies to it.
3115
3116         * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
3117         enabled and the pragma appears after the body of the subprogram.
3118
3119 2004-05-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3120
3121         Part of function-at-a-time conversion
3122
3123         * misc.c (adjust_decl_rtl): Deleted.
3124         (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
3125         Define.
3126
3127         * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
3128         (add_decl_stmt, add_stmt, block_has_vars): New functions.
3129         (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
3130
3131         * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
3132         when making a decl.
3133         (gnat_to_gnu_entity): Likewise.
3134         Use add_stmt to update setjmp buffer.
3135         Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
3136         flush_addressof.
3137         No longer call adjust_decl_rtl.
3138         (DECL_INIT_BY_ASSIGN_P): New macro.
3139         (DECL_STMT_VAR): Likewise.
3140
3141         * trans.c (gigi): Call start_block_stmt to make the outermost
3142         BLOCK_STMT.
3143         (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
3144         Call start_block_stmt and end_block_stmt temporarily.
3145         Use gnat_expand_stmt instead of expand_expr_stmt.
3146         (add_decl_stmt): New function.
3147         (tree_transform): Call it.
3148         (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
3149         (end_block_stmt): Set type and NULL_STMT.
3150         (gnat_expand_stmt): Make recursize call instead of calling
3151         expand_expr_stmt.
3152         (gnat_expand_stmt, case DECL_STMT): New case.
3153         (set_lineno_from_sloc): Do nothing if global.
3154         (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
3155         (start_block_stmt, add_stmt, end_block_stmt): New functions.
3156         (build_block_stmt): Call them.
3157         (gnat_to_code): Don't expand NULL_STMT.
3158         (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
3159         args.
3160         (tree_transform): Likewise.
3161         (tree_transform, case N_Null_Statement): Return NULL_STMT.
3162         (gnat_expand_stmt, case NULL_STMT): New case.
3163         (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
3164         IF_STMT_TRUE.
3165
3166         * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
3167         TREE_ADDRESSABLE.
3168
3169         * utils.c (create_var_decl): Do not call expand_decl or
3170         expand_decl_init.
3171         Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
3172         Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
3173         here.
3174         (struct e_stack): Add chain_next to GTY.
3175         (struct binding_level): Deleted.
3176         (struct ada_binding_level): New struct.
3177         (free_block_chain): New.
3178         (global_binding_level, clear_binding_level): Deleted.
3179         (global_bindings_p): Rework to see if no chain.
3180         (kept_level_p, set_block): Deleted.
3181         (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
3182         new data structure and work directly on BLOCK node.
3183         (gnat_poplevel): Similarly.
3184         (get_decls): Look at BLOCK_VARS.
3185         (insert_block): Work directly on BLOCK node.
3186         (block_has_var): New function.
3187         (pushdecl): Rework for new binding structures.
3188         (gnat_init_decl_processing): Rename and rework calls to pushlevel and
3189         poplevel.
3190         (build_subprog_body): Likewise.
3191         (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
3192
3193         * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
3194
3195         * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
3196         (DECL_STMT_VAR): Likewise.
3197
3198 2004-05-17  Robert Dewar  <dewar@gnat.com>
3199
3200         * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
3201         procedure
3202
3203         * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
3204         of restriction synonyums by using
3205         Restrict.Process_Restriction_Synonyms.
3206
3207         * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
3208
3209         * s-restri.ads (Tasking_Allowed): Correct missing comment
3210
3211         * s-rident.ads: Add entries for restriction synonyms
3212
3213         * ali.adb: Fix some problems with badly formatted ALI files that can
3214         result in infinite loops.
3215
3216         * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
3217         s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
3218         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
3219         s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
3220         s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
3221         s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
3222         s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
3223         s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
3224         s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
3225         a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
3226         exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
3227         s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
3228         s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
3229         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
3230         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
3231         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
3232         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
3233         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
3234         s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
3235         s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
3236         to Task_Id (minor cleanup).
3237
3238 2004-05-17  Vincent Celier  <celier@gnat.com>
3239
3240         * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
3241         directory separator.
3242
3243         * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
3244         project being extended, if Languages is not declared in extending
3245         project.
3246
3247 2004-05-17  Javier Miranda  <miranda@gnat.com>
3248
3249         * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
3250         limited view of a visible sibling.
3251
3252 2004-05-14  Robert Dewar  <dewar@gnat.com>
3253
3254         * gnat_ugn.texi: Minor change to -gnatS documentation
3255
3256         * sprint.adb: Remove some instances of Assert (False) and for this
3257         purpose replace them by output of a ??? string.
3258
3259         * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
3260         Assert (False).
3261
3262         * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
3263         flag processing. This was suppressing required dependencies in
3264         No_Run_Time mode and is not needed since the binder does not generate
3265         references for things in libgnat anyway.
3266
3267         * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
3268         warning.
3269
3270 2004-05-14  Thomas Quinot  <quinot@act-europe.fr>
3271
3272         * gnat_ugn.texi: Document AIX-specific issue with initialization of
3273         resolver library.
3274
3275         * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
3276         action for the case of an actual parameter in an init proc call.
3277
3278 2004-05-14  Ed Schonberg  <schonberg@gnat.com>
3279
3280         * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
3281         subtype, check visible entities in base type.
3282
3283         * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
3284         actions if the object is a renaming.
3285
3286         * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
3287         Check_Formal_Package_Instance, to determine more precisely when the
3288         formal and the actual denote the same entity.
3289
3290 2004-05-14  Javier Miranda  <miranda@gnat.com>
3291
3292         * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
3293
3294         * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
3295         corresponding to a private_with must be removed from visibility; it
3296         will be made visible later, just before we analyze the private part of
3297         the package.
3298         (Check_Private_Child_Unit): Allow private_with clauses in public
3299         siblings.
3300         (Install_Siblings): Make visible the private entities of private-withed
3301         siblings.
3302         (Install_Withed_Unit): Do not install the private withed unit if we
3303         are compiling a package declaration and the Private_With_OK flag was
3304         not set by the caller. These declarations will be installed later,
3305         just before we analyze the private part of the package.
3306
3307         * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
3308         during the evaluation of the expression that initializes the object,
3309         decorate it with the expected type to avoid cascade errors.
3310         Code cleanup.
3311
3312         * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
3313         subprogram we have to install the private_with clauses after its
3314         specification has been analyzed (as documented in AI-262.TXT).
3315
3316         * sem_ch8.adb (Has_Private_With): New function. Determines if the
3317         current compilation unit has a private with on a given entity.
3318         (Find_Direct_Name): Detect the Beaujolais problem described in
3319         AI-262.TXT
3320
3321         * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
3322         provides the functionality of the function Is_Ancestor that was
3323         previously available in sem_ch10. It has been renamed to avoid
3324         overloading.
3325
3326         * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
3327
3328 2004-05-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3329
3330         * utils.c (build_vms_descriptor): Use SImode pointers.
3331
3332 2004-05-14  Vasiliy Fofanov  <fofanov@act-europe.fr>
3333
3334         * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
3335
3336 2004-05-14  GNAT Script  <nobody@gnat.com>
3337
3338         * Make-lang.in: Makefile automatically updated
3339
3340 2004-05-14  Arnaud Charlet  <charlet@act-europe.fr>
3341
3342         Renaming of target specific files for clarity
3343
3344         * Makefile.in: Rename GNAT target specific files.
3345
3346         * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
3347         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
3348         3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
3349         3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
3350         3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
3351         3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
3352         42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
3353         4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
3354         4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
3355         4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
3356         4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
3357         4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
3358         51osinte.adb, 51osinte.ads, 51system.ads,
3359         52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
3360         55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
3361         56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
3362         56tpopsp.adb, 57system.ads, 58system.ads,
3363         5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
3364         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
3365         5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
3366         5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
3367         5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
3368         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
3369         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
3370         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
3371         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
3372         5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
3373         5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
3374         5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
3375         5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
3376         5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
3377         5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
3378         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
3379         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
3380         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
3381         5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
3382         5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
3383         5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
3384         5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
3385         5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
3386         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
3387         5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
3388         5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
3389         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
3390         5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
3391         5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
3392         5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
3393         5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
3394         5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
3395         5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
3396         5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
3397         5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
3398         5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
3399         7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
3400         7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
3401         7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
3402         7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
3403
3404         * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
3405         a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
3406         a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
3407         a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
3408         a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
3409         a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
3410         a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
3411         a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
3412         a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
3413         a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
3414         g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
3415         g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
3416         g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
3417         g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
3418         g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
3419         g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
3420         g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
3421         g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
3422         interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
3423         mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
3424         mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
3425         mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
3426         s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
3427         s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
3428         s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
3429         s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
3430         s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
3431         s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
3432         s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
3433         s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
3434         s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
3435         s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
3436         s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
3437         s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
3438         s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
3439         s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
3440         s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
3441         s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
3442         s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
3443         s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
3444         s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
3445         s-osinte-vms.ads, s-osinte-vxworks.adb,
3446         s-osinte-vxworks.ads, s-osprim-mingw.adb,
3447         s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
3448         s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
3449         s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
3450         s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
3451         s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
3452         s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
3453         s-stchop-vxworks.adb, s-taprop-dummy.adb,
3454         s-taprop-hpux-dce.adb, s-taprop-irix.adb,
3455         s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
3456         s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
3457         s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
3458         s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
3459         s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
3460         s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
3461         s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
3462         s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
3463         s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
3464         s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
3465         s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
3466         s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
3467         s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
3468         s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
3469         s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
3470         s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
3471         s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
3472         symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
3473         system-hpux.ads, system-interix.ads, system-irix-n32.ads,
3474         system-irix-o32.ads, system-linux-x86_64.ads,
3475         system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
3476         system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
3477         system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
3478         system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
3479         system-vxworks-alpha.ads, system-vxworks-m68k.ads,
3480         system-vxworks-mips.ads, system-vxworks-ppc.ads,
3481         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
3482         above.
3483
3484 2004-05-13  Zack Weinberg  <zack@codesourcery.com>
3485
3486         * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
3487
3488 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
3489
3490         Merge from tree-ssa-20020619-branch.
3491
3492         * config-lang.in (boot_language, build_by_default): Set
3493         to no.
3494         * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
3495         (max_size): Add static chain op for call_expr.
3496
3497 2004-05-12  Richard Sandiford  <rsandifo@redhat.com>
3498
3499         PR target/15331
3500         * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
3501
3502 2004-05-11  Roger Sayle  <roger@eyesopen.com>
3503
3504         * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
3505         COND_EXPR.
3506
3507 2004-05-10  Doug Rupp  <rupp@gnat.com>
3508
3509         * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
3510         system.aux_dec.
3511
3512         * s-auxdec.ads: Add Short_Address subtype (moved here from System).
3513
3514         * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
3515
3516         * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
3517         Fixes undefined symbols in IA64 gnatlib.
3518
3519         * 5vinmaop.adb: Reference s-auxdec for Short_Address.
3520
3521         * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
3522         Short_Address). This will be moved to system.auxdec.
3523
3524 2004-05-10  Thomas Quinot  <quinot@act-europe.fr>
3525
3526         * sem_util.adb: Replace test for presence of a node that is always
3527         present with a call to Discard_Node.
3528
3529         * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
3530         Analyze on the library unit node after generation of distribution stub
3531         constructs.  The call was a no-op because Unit_Node has already been
3532         Analyzed, and the tree fragments for the distribution stubs are
3533         analyzed as they are inserted in Exp_Dist.
3534         Update comment regarding to distribution stubs to reflect that we
3535         do not generate stub in separate files anymore.
3536
3537         * einfo.ads: Clarify the fact that a tagged private type has the
3538         E_Record_Type_With_Private Ekind.
3539
3540         * erroutc.adb: Minor reformatting
3541
3542         * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
3543         values if line length is increased using -gnatyM (noticed during code
3544         reading).
3545
3546         * eval_fat.adb: Minor reformatting
3547         Put spaces around exponentiation operator
3548
3549 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
3550
3551         PR ada/15005
3552         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
3553         has been rewritten as an explicit dereference, retrieve type of
3554         original node to check for possibly unconstrained record type.
3555
3556 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
3557
3558         * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
3559         overriding, use the operation of the parent unconditionally.
3560
3561         * sem_ch4.adb (Remove_Address_Interpretations): Remove address
3562         operation when either operand is a literal, to avoid further
3563         ambiguities.
3564
3565         * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
3566         overridden by a previous explicit declaration, mark the previous entity
3567         as overriding.
3568
3569         * sem_disp.adb (Check_Dispatching_Operation): New predicate
3570         Is_Visibly_Controlled, to determine whether a declaration of a
3571         primitive control operation for a derived type overrides an inherited
3572         one. Add warning if the explicit declaration does not override.
3573
3574 2004-05-10  Vincent Celier  <celier@gnat.com>
3575
3576         * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
3577         some cases when the sources are no longer present.
3578
3579         * make.adb (Collect_Arguments): Fail if an external source, not part
3580         of any project need to be compiled, when switch -x has not been
3581         specified.
3582
3583         * makeusg.adb: Document new switch -x
3584
3585         * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
3586         defaulted to False.
3587
3588         * switch-m.adb (Scan_Make_Switches): New switch -x
3589
3590         * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
3591         gnatmake switch -x.
3592
3593         * gnat_ugn.texi: Document new gnatmake switch -x
3594
3595 2004-05-10  Eric Botcazou  <ebotcazou@act-europe.fr>
3596
3597         * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
3598
3599         * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
3600         (process_attributes): Likewise.
3601
3602 2004-05-10  Joel Brobecker  <brobecker@gnat.com>
3603
3604         * s-inmaop.ads: Fix spelling mistake in one of the comments.
3605
3606 2004-05-10  Robert Dewar  <dewar@gnat.com>
3607
3608         * gnat_ugn.texi: Document that for config pragma files, the maximum
3609         line length is always 32767.
3610
3611         * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
3612         literals is now allowed.
3613
3614         * gnat-style.texi: Remove statement about splitting long lines before
3615         an operator rather than after, since we do not follow this rule at all.
3616         Clarify rule (really lack of rule) for spaces around exponentiation
3617
3618         * sem_elim.adb: Allow concatenation of string literals as well as a
3619         single string literal for pragma arguments.
3620
3621         * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
3622
3623         * a-textio.adb (Terminate_Line): Do not add line feed if nothing
3624         written for append case.
3625
3626         * frontend.adb: Changes to avoid checking max line length in config
3627         pragma files.
3628
3629         * g-os_lib.ads: Minor reformatting
3630
3631         * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
3632         wrong in any case. Instead use standard value. Noticed during code
3633         reading.
3634
3635         * opt.ads (Max_Line_Length): New field, used to implement removal of
3636         limitation on length of lines when scanning config pragma files.
3637
3638         * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
3639         makeutl.ads, makeutl.adb: Minor reformatting
3640
3641         * scn.adb: Do not check line length while scanning config pragma files
3642         Do not check line length while scanning out license information
3643
3644         * scng.adb: Changes to avoid line length checks while parsing config
3645         pragma files.
3646
3647 2004-05-10  GNAT Script  <nobody@gnat.com>
3648
3649         * Make-lang.in: Makefile automatically updated
3650
3651 2004-05-05  Arnaud Charlet  <charlet@act-europe.fr>
3652
3653         * osint.adb (Find_Program_Name): Fix handling of VMS version
3654         number.
3655
3656 2004-05-05  Emmanuel Briot  <briot@act-europe.fr>
3657
3658         * g-os_lib.ads (Invalid_Time): New constant
3659
3660         * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
3661         return OS_Time instead of time_t to match what is imported by Ada.
3662         Now return -1 if the file doesn't exist, instead of a random value
3663
3664 2004-05-05  Robert Dewar  <dewar@gnat.com>
3665
3666         * usage.adb: Add line for -gnatR?s switch
3667
3668         * sem_ch13.adb, exp_ch2.adb: Minor reformatting
3669
3670         * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
3671         and for Match (Data_First, Data_last)
3672
3673         * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
3674         written when we are dealing with multi-unit files.
3675
3676 2004-05-05  Jerome Guitton  <guitton@act-europe.fr>
3677
3678         * Makefile.in: Remove unused targets and variables.
3679
3680 2004-05-05  Vincent Celier  <celier@gnat.com>
3681
3682         * switch-m.adb: New gnatmake switch -eI
3683
3684         * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
3685         of new gnatmake switch -eInnn.
3686
3687         * makegpr.adb: Take into account new parameters Index and Src_Index in
3688         Prj.Util.
3689
3690         * clean.adb: Implement support for multi-unit sources, including new
3691         switch -i.
3692
3693         * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
3694         Src_Index.
3695
3696         * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
3697         (Extract_From_Q): New out parameter Index
3698         (Mark, Is_Marked): Subprograms moved to Makeutl
3699         (Switches_Of): New parameter Source_Index
3700         (Add_Switch): New parameter Index
3701         (Check): New parameter Source_Index
3702         (Collect_Arguments): New parameter Source_Index
3703         (Collect_Arguments_And_Compile): New parameter Source_Index
3704         (Compile): New parameter Source_Index
3705         Put subprograms in alphabetical order
3706         Add support for multi-source sources, including in project files.
3707
3708         * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
3709         (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
3710         Make.
3711
3712         * makeusg.adb: New gnatmake switch -eInnn
3713
3714         * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
3715         Prj.Util.Value_Of.
3716
3717         * opt.ads (Main_Index): New variable, defaulted to 0.
3718
3719         * osint.ads, osinte.adb (Add_File): New parameter Index
3720         (Current_Source_Index): New function
3721
3722         * prj.adb: Take into account new components Index and Src_Index
3723
3724         * prj.ads (String_Element): New component Index
3725         (Variable_Value): New component Index
3726         (Array_Element): New component Src_Index
3727
3728         * prj-attr.adb: Indicate that optional index may be specified for
3729         attributes Main, Executable, Spec, Body and some of Switches.
3730
3731         * prj-attr.ads (Attribute_Kind): New values for optional indexes
3732         (Attribute_Record): New component Optional_Index
3733
3734         * prj-com.ads (File_Name_Data): New component Index
3735
3736         * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
3737
3738         * prj-env.adb (Put): Output optional index
3739
3740         * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
3741         attributes Spec and Body.
3742
3743         * prj-nmsc.adb: Process optional indexes
3744
3745         * prj-pp.adb: Ouput "at" for optional indexes
3746
3747         * prj-proc.adb: Take into account optional indexes
3748
3749         * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
3750         Optional_Index. For string literal,
3751         process optional index when Optional_Index is True.
3752         (Parse_Expresion): New Boolean parameter Optional_Index
3753
3754         * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
3755         (Set_Source_Index_Of): New procedure
3756
3757         * prj-util.adb (Executable_Of, Value_Of): Take into account optional
3758         index.
3759
3760         * prj-util.ads (Executable_Of): New parameter Index
3761         (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
3762         New parameter Src_Index, defaulted to 0.
3763
3764 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
3765
3766         PR ada/15257
3767         * sem_ch3.adb (Access_Definition): If this is an access parameter
3768         whose designated type is imported through a limited_with clause, do
3769         not add the enclosing subprogram to the list of private dependents of
3770         the type.
3771
3772 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
3773
3774         PR ada/15258
3775         * sem_ch6.adb (Base_Types_Match): True if one type is imported through
3776         a limited_with clause, and the other is its non-limited view.
3777
3778 2004-05-05  Thomas Quinot  <quinot@act-europe.fr>
3779
3780         * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
3781
3782         * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
3783         exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
3784         Stand.Boolean_Literals to produce references to entities
3785         Standard_False and Standard_True from compile-time computed boolean
3786         values.
3787
3788         * stand.ads (Boolean_Literals): New variable, provides the entity
3789         values for False and True, for use by the expander.
3790
3791 2004-05-05  Doug Rupp  <rupp@gnat.com>
3792
3793         * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
3794         5vinmaop.adb: Unchecked convert Short_Address vice Address
3795
3796         * adaint.c, raise.c: Caste CRTL function return value
3797         to avoid gcc error on 32/64 bit IVMS.
3798
3799         * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
3800         target = IA64/VMS.
3801
3802         * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
3803
3804         * 5qsystem.ads (Address): Declare as Long_Integer
3805         (Short_Address): Declare as 32 bit subtype of Address
3806         Declare  abstract address operations to avoid gratuitous ambiguities.
3807
3808 2004-05-05  Jose Ruiz  <ruiz@act-europe.fr>
3809
3810         * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
3811         instead of the old Boolean_Entry_Barriers.
3812         Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
3813
3814 2004-05-05  GNAT Script  <nobody@gnat.com>
3815
3816         * Make-lang.in: Makefile automatically updated
3817
3818 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
3819
3820         * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
3821
3822 2004-05-03  Olivier Hainque  <hainque@act-europe.fr>
3823
3824         PR ada/15152
3825
3826         * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
3827         alone. Replacing object references by literals is inappropriate in a
3828         so low level context.
3829
3830 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
3831
3832         * a-exexpr.adb: Add comments
3833
3834 2004-05-03  Joel Brobecker  <brobecker@gnat.com>
3835
3836         * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
3837         declare the Ancestor_Tags array in Type_Specific_Data with a small size
3838         without risking a bounds check error when accessing one of its
3839         components.
3840         (Type_Specific_Data): Define Ancestor_Tags as a small array.
3841         This prevents us from hitting a limitation during the debug info
3842         generation when using stabs.
3843
3844         * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
3845         small array.
3846         This prevents us from hitting a limitation during the debug info
3847         generation when using stabs.
3848
3849 2004-05-03  Eric Botcazou  <ebotcazou@act-europe.fr>
3850
3851         lang-specs.h: Remove -gnatz* from specs.
3852
3853 2004-05-03  Vincent Celier  <celier@gnat.com>
3854
3855         * gprmake.adb, makegpr.ads, makegpr.adb: New files.
3856
3857         * Make-lang.in, Makefile.in: Add gprmake
3858
3859 2004-05-03  Thomas Quinot  <quinot@act-europe.fr>
3860
3861         * sem_aggr.adb: Fix typo in comment.
3862
3863 2004-05-03  Robert Dewar  <dewar@gnat.com>
3864
3865         * make.adb: Minor reformatting
3866
3867         * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
3868
3869         * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
3870         so that it works when address is not a private type.
3871
3872         * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
3873         properly with rewritten unchecked conversions. This prevents
3874         order-of-elaboration issues that can otherwise arise.
3875         (Minimum_Size): Don't check size of access types under VMS
3876
3877         * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
3878         interpretations of integer literals as type System.Address.
3879
3880         * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
3881         (Is_Descendent_Of): New function
3882
3883 2004-05-03  Jose Ruiz  <ruiz@act-europe.fr>
3884
3885         * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
3886         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
3887         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
3888
3889         * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
3890         of the old Max_Entry_Queue_Depth.
3891
3892         * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
3893         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
3894         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
3895
3896         * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
3897         New entry for proper handling of Max_Entry_Queue_Depth.
3898         New entry for proper handling of No_Dynamic_Interrupts.
3899
3900         * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
3901         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
3902         Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
3903         the GNAT specific restriction Max_Entry_Queue_Depth.
3904         Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
3905         the GNAT specific restriction No_Dynamic_Interrupts.
3906
3907         * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
3908         instead of the old Boolean_Entry_Barriers.
3909         Use the new restriction No_Dynamic_Attachment instead of the old
3910         No_Dynamic_Interrupts.
3911
3912         * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
3913         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
3914
3915         * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
3916         of the old Max_Entry_Queue_Depth.
3917
3918 2004-05-03  GNAT Script  <nobody@gnat.com>
3919
3920         * Make-lang.in: Makefile automatically updated
3921
3922 2004-04-29  Ed Schonberg  <schonberg@gnat.com>
3923
3924         * checks.adb (Enable_Range_Check): If the prefix of an index component
3925         is an access to an unconstrained array, perform check unconditionally.
3926
3927 2004-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3928
3929         * decl.c (gnat_to_gnu_field): Also call make_packable_type if
3930         Component_Clause.
3931
3932 2004-04-29  Olivier Hainque  <hainque@act-europe.fr>
3933
3934         * init.c (__gnat_install_handler, __gnat_error_handler): Remove
3935         alternate stack setting. There was no support for the tasking cases
3936         and the changes eventually caused a number of side-effect failures in
3937         the non-tasking case too.
3938
3939 2004-04-29  Eric Botcazou  <ebotcazou@act-europe.fr>
3940
3941         lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
3942         -gnats is passed.
3943
3944 2004-04-29  Vincent Celier  <celier@gnat.com>
3945
3946         * make.adb (Gnatmake): Increase max size of argument array for
3947         gnatbind for the potential addition of -F.
3948         If there are Stand-Alone Library projects, invoke gnatbind with -F to
3949         be sure that elaboration flags will be checked.
3950
3951         * switch-c.adb: Correct call to Scan_Pos for -gnateI
3952
3953 2004-04-29  Thomas Quinot  <quinot@act-europe.fr>
3954
3955         * sem_warn.adb (Check_References): Move '<access-variable> may be
3956         null' warning out of under Warn_On_No_Value_Assigned.
3957
3958 2004-04-29  Ed Falis  <falis@gnat.com>
3959
3960         * gnat_ugn.texi: Fixed texi error
3961
3962 2004-04-29  Robert Dewar  <dewar@gnat.com>
3963
3964         * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
3965         abstract operations if they come from predefined files.
3966
3967         * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
3968         Dynamic, not RM).
3969
3970         * s-addope.adb: Correct obvious error in mod function
3971
3972 2004-04-28  Andrew W. Reynolds  <awreynolds@mac.com>
3973
3974         * Makefile.in: Add target pairs for powerpc darwin*
3975         tasking support.
3976
3977         * a-intnam-darwin.ads, s-osinte-darwin.adb,
3978         s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
3979
3980 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
3981
3982         * Makefile.in: Add target macro definitions for s390*-linux*.
3983         * system-linux-s390.ads: New file.
3984         * system-linux-s390x.ads: New file.
3985
3986 2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
3987
3988         * gnat_ugn.texi: Correct argument to @setfilename.
3989
3990 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
3991
3992         * a-exexpr.adb (Unwind_Word): New data type.
3993         (Unwind_Exception): Use it as type of Private1 and Private2.
3994
3995         * raise.c (db_action_for): Fix debug printf.
3996
3997 2004-04-27  Ed Schonberg  <schonberg@gnat.com>
3998
3999         * a-wtmoio.ads: Formal type must be a modular type, not a signed
4000         integer type.
4001
4002 2004-04-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4003
4004         * decl.c (gnat_to_gnu_entity, case object): Call
4005         __builtin_update_setjmp_buf.
4006
4007         * gigi.h (update_setjmp_buf): Deleted.
4008         (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
4009
4010         * misc.c: (update_setjmp_buf): Deleted.
4011
4012         * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
4013         around block of RTL.
4014
4015         * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
4016
4017 2004-04-26  Thomas Quinot  <quinot@act-europe.fr>
4018
4019         * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
4020         subprogram for which no pragma All_Calls_Remote applies, store the
4021         address of the real subprogram in the underlying record type, so local
4022         dereferences do not go through the PCS.
4023
4024 2004-04-26  Robert Dewar  <dewar@gnat.com>
4025
4026         * i-c.ads: Add some type qualifications to avoid ambiguities when
4027         compiling with s-auxdec.ads and a non-private address type.
4028
4029 2004-04-26  Arnaud Charlet  <charlet@act-europe.fr>
4030
4031         * Makefile.rtl: Fix error in previous check-in:
4032         Add s-addope.o to non tasking object list (rather than tasking object
4033         list).
4034
4035 2004-04-26  Javier Miranda  <miranda@gnat.com>
4036
4037         * sem_aggr.adb: Fix typo in comments
4038         (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
4039         Required to check the null-exclusion attribute.
4040
4041         * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
4042         case of anonymous access types in record and array components. For a
4043         component definition the level is the same of the enclosing composite
4044         type.
4045
4046         * sem_ch3.adb (Analyze_Component_Declaration): In case of components
4047         that are anonymous access types the level of accessibility depends on
4048         the enclosing type declaration. In order to have this information, set
4049         the scope of the anonymous access type to the enclosing record type
4050         declaration.
4051         (Array_Type_Declaration): In case of components that are anonymous
4052         access types the level of accessibility depends on the enclosing type
4053         declaration. In order to have this information, set the scope of the
4054         anonymous access type to the enclosing array type declaration.
4055
4056         * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
4057         access type.
4058
4059         * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
4060         renaming of anonymous access-to-constant types allowed if and only if
4061         the renamed object is access-to-constant.
4062
4063         * sem_util.adb (Type_Access_Level): In case of anonymous access types
4064         that are component_definition or discriminants of a nonlimited type,
4065         the level is the same as that of the enclosing component type.
4066
4067 2004-04-26  Sergey Rybin  <rybin@act-europe.fr>
4068
4069         * sem_elim.adb: Some minor code reorganization from code reading. Fix
4070         misprint in the function name (File_Name_Match).
4071
4072 2004-04-23  Laurent GUERBY <laurent@guerby.net>
4073
4074         * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
4075         install.
4076
4077 2004-04-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4078
4079         * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
4080
4081 2004-04-23  Emmanuel Briot  <briot@act-europe.fr>
4082
4083         * adaint.c (__gnat_try_lock): No longer requires that the parent
4084         directory be writable, the directory itself is enough.
4085         (gnat_is_absolute_path): Change profile, so that the call from
4086         GNAT.OS_Lib can be made more efficient.
4087
4088         * adaint.h (gnat_is_absolute_path): Change profile, so that the call
4089         from GNAT.OS_Lib can be made more efficient.
4090
4091         * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
4092         one copy of the file name. Found by code reading.
4093
4094 2004-04-23  Vincent Celier  <celier@gnat.com>
4095
4096         * gnat_ugn.texi: Add documentation for gnatmake switch -eL
4097         Correct documentation on gnatmake switches transmitted to the compiler
4098
4099         * ali.ads: Minor comment fix
4100
4101 2004-04-23  Javier Miranda  <miranda@gnat.com>
4102
4103         * sem_ch6.adb: (Confirming Types): Code cleanup
4104
4105         * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
4106         subprogram types: E_Anonymous_Access_Subprogram_Type and
4107         E_Anonymous_Access_Protected_Subprogram_Type.
4108
4109 2004-04-23  Thomas Quinot  <quinot@act-europe.fr>
4110
4111         * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
4112         whether a pragma All_Calls_Remote applies to the subprogram on which
4113         'Access is taken.
4114         No functional change is introduced by this revision; the new parameter
4115         will be used to allow calls to local RCI subprograms to be optimized
4116         to not use the PCS in the case where no pragma All_Calls_Remote applies,
4117         as is already done in the PolyORB implementation of the DSA.
4118
4119         * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
4120         whether a pragma All_Calls_Remote applies to the subprogram on which
4121         'Access is taken.
4122         No functional change is introduced by this revision; the new parameter
4123         will be used to allow calls to local RCI subprograms to be optimized
4124         to not use the PCS in the case where no pragma All_Calls_Remote applies,
4125         as is already done in the PolyORB implementation of the DSA.
4126
4127 2004-04-23  Robert Dewar  <dewar@gnat.com>
4128
4129         * Makefile.rtl: Add entry for s-addope.o in run time library list
4130         * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
4131         * s-addope.ads, s-addope.adb: New files.
4132
4133         * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
4134         s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
4135         s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
4136         System.Address to be non-private and signed.
4137
4138         * sem_elim.adb: Minor reformatting (fairly extensive)
4139         Some minor code reorganization from code reading
4140         Add a couple of ??? comments
4141
4142 2004-04-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4143
4144         * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
4145         (tree_transform, case N_If_Statement): Remove non-determinism.
4146
4147         * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
4148
4149 2004-04-23  Sergey Rybin  <rybin@act-europe.fr>
4150
4151         * gnat_rm.texi: Small fixes in the changes made in the 'pragma
4152         Eliminate' section.
4153
4154         * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
4155         no longer used as a parameter name for Eliminate pragma).
4156
4157 2004-04-22  Laurent GUERBY <laurent@guerby.net>
4158
4159         PR optimization/14984
4160         PR optimization/14985
4161         * trans.c (gigi): Fix non determinism leading to bootstrap
4162         comparison failures.
4163
4164 2004-04-21  Pascal Obry  <obry@gnat.com>
4165
4166         * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
4167         passed to spawnvp() to properly handle program pathname with spaces on
4168         Win32.
4169
4170 2004-04-21  Emmanuel Briot  <briot@act-europe.fr>
4171
4172         * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
4173         (Allocate, Deallocate, Free_Physically): Make sure the tasks are
4174         unlocked in case of exceptions.
4175
4176 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
4177
4178         * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
4179         This function does not exist anymore.
4180
4181 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
4182
4183         * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
4184
4185         * link.c: Move variables to the __gnat name space.
4186
4187         * Makefile.in: list link.o explicitly when needed.
4188
4189         * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
4190
4191 2004-04-21  Javier Miranda  <miranda@gnat.com>
4192
4193         * einfo.adb (Original_Access_Type): New subprogram
4194         (Set_Original_Access_Type): New subprogram
4195         (Write_Field21_Name): Write the name of the new field
4196
4197         * einfo.ads (Original_Access_Type): New field present in access to
4198         subprogram types.
4199         Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
4200         E_Anonymous_Access_Protected_Subprogram_Type.
4201
4202         * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
4203         subprogram types.
4204
4205         * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
4206         to anonymous access to subprogram types.
4207
4208         * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
4209         to subprogram types.
4210
4211         * sem_ch3.adb (Access_Definition): Complete decoration of entities
4212         corresponding to anonymous access to subprogram types.
4213         (Analyze_Component_Declaration): Add new actual to the call to
4214         subprogram replace_anonymous_access_to_protected_subprogram.
4215         (Array_Type_Declaration): Add new actual to the call to subprogram
4216         replace_anonymous_access_to_protected_subprogram.
4217         (Process_Discriminants): Add new actual to the call to subprogram
4218         replace_anonymous_access_to_protected_subprogram.
4219         (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
4220
4221         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
4222         formal.
4223
4224         * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
4225         access to subprogram types.
4226
4227         * sem_util.adb (Has_Declarations): Addition of package_specification
4228         nodes.
4229
4230 2004-04-21  Ed Schonberg  <schonberg@gnat.com>
4231
4232         * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
4233         inlined flags to renamed entity only if in current unit.
4234
4235 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
4236
4237         * s-parint.ads: Add DSA implementation marker.
4238
4239         * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
4240         value of System.Partition_Interface.DSA_Implementation to determine
4241         what version of the distributed systems annex is available (no
4242         implementation, GLADE, or PolyORB).
4243
4244 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
4245
4246         * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
4247
4248 2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4249
4250         * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
4251         with new type if alias sets differ.
4252         Fixes ACATS c41103b.
4253
4254 2004-04-21  Vincent Celier  <celier@gnat.com>
4255
4256         * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
4257         Add array Lang_Args for the language specific compiling argument
4258         switches.
4259
4260         * gnat_ugn.texi: Explain in more details when a library is rebuilt.
4261
4262 2004-04-21  Sergey Rybin  <rybin@act-europe.fr>
4263
4264         * gnat_rm.texi: Update the descripton of the Eliminate pragma
4265         according to the recent changes in the format of the parameters of the
4266         pragma (replacing Homonym_Number with Source_Location).
4267
4268 2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>
4269
4270         * 5isystem.ads: Removed, unused.
4271
4272         * gnat_rm.texi: Redo 1.13 change.
4273
4274 2004-04-19  Robert Dewar  <dewar@gnat.com>
4275
4276         * s-stoele.ads: Clean up definition of Storage_Offset (the new
4277         definition is cleaner, avoids the kludge of explicit Standard operator
4278         references, and also is consistent with a visible System.Address with
4279         no visible operations.
4280
4281         * s-geveop.adb: Add declarations to avoid assumption of visible
4282         operations on type System.Address (since these might not be available
4283         if Address is a non-private type for which the operations
4284         are made abstract).
4285
4286         * sem_eval.adb: Minor reformatting
4287
4288         * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
4289         s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
4290         reformatting (new function spec format).
4291
4292         * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
4293         s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
4294         s-caun64.adb: Add declarations to avoid assumption of visible
4295         operations on type System.Address (since these might not be available
4296         if Address is a non-private type for which the operations are made
4297         abstract).
4298
4299         * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
4300
4301         * exp_intr.adb: Minor comment update
4302
4303         * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
4304
4305         * 5omastop.adb: Add declarations to avoid assumption of visible
4306         operations on type System.Address (since these might not be available
4307         if Address is a non-private type for which the operations
4308         are made abstract).
4309
4310 2004-04-19  Vincent Celier  <celier@gnat.com>
4311
4312         * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
4313
4314         * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
4315         defaulted to Ada.
4316
4317         * prj-proc.adb (Process): New Boolean parameter Process_Languages,
4318         defaulted to Ada.
4319         Call Check with Process_Languages.
4320         (Check): New Boolean parameter Process_Languages. Call Recursive_Check
4321         with Process_Languages.
4322         (Recursive_Check): New Boolean parameter Process_Languages. Call
4323         Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
4324         Process_Languages.
4325
4326         * prj-proc.ads (Process): New Boolean parameter Process_Languages,
4327
4328         * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
4329         parameter Ada_Main, defaulted to True.
4330         Check for Ada specific characteristics only when Ada_Main is True.
4331
4332         * opt.ads: (Follow_Links): New Boolean flag for gnatmake
4333
4334         * prj.adb: (Project_Empty): Add new Project_Data components.
4335
4336         * prj.ads: New types and tables for non Ada languages.
4337         (Project_Data): New components Languages, Impl_Suffixes,
4338         First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
4339         Include_Path, Include_Data_Set.
4340
4341         * prj-env.ads, prj-env.adb: Minor reformatting
4342
4343         * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
4344         Put subprograms in alphabetical order
4345
4346         * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
4347         defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
4348         Opt.Follow_Links.
4349
4350         * mlib-prj.adb: Back out modification in last version, as they are
4351         incorrect.
4352         (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
4353
4354         * make.adb: (Mains): Moved to package Makeutl
4355         (Linker_Opts): Moved to package Makeutl
4356         (Is_External_Assignment): Moved to package Makeutl
4357         (Test_If_Relative_Path): Moved to package Makeutl
4358         (Gnatmake): Move sorting of linker options to function
4359         Makeutl.Linker_Options_Switches.
4360
4361         * makeutl.ads, makeutl.adb: New files.
4362
4363         * Makefile.in: Add makeutl.o to the object files for gnatmake
4364
4365         * makeusg.adb: Add line for new switch -eL.
4366
4367         * gnatls.adb (Image): New function.
4368         (Output_Unit): If in verbose mode, output the list of restrictions
4369         specified by pragmas Restrictions.
4370
4371         * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
4372         Text_IO.
4373
4374         * a-calend.adb (Split): Shift the date by multiple of 56 years, if
4375         needed, to put it in the range 1970 (included) - 2026 (excluded).
4376         (Time_Of): Do not shift Unix_Min_Year (1970).
4377         Shift the date by multiple of 56 years, if needed, to put it in the
4378         range 1970 (included) - 2026 (excluded).
4379
4380         * adaint.h, adaint.c (__gnat_set_executable): New function.
4381
4382 2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4383
4384         * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
4385         and pop GC context.
4386         (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
4387         (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
4388         (tree_transform, case N_Procedure_Call_Statement): Build a tree.
4389         (tree_transform, case N_Code_Statement): Likewise.
4390         (gnat_expand_stmt, case LABEL_STMT): Don't look at
4391         LABEL_STMT_FIRST_IN_EH.
4392         (gnat_expand_stmt, case ASM_STMT): New case.
4393
4394         * utils2.c (build_unary_op): Properly set TREE_READONLY of
4395         UNCONSTRAINED_ARRAY_REF.
4396
4397         * utils.c (poplevel): Temporarily push/pop GC context around inline
4398         function expansion.
4399
4400         * decl.c (maybe_variable): Properly set TREE_READONLY of
4401         UNCONSTRAINED_ARRAY_REF.
4402         (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
4403
4404         * ada-tree.def: (ASM_STMT): New.
4405
4406         * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
4407         (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
4408         ASM_STMT_INPUT): New.
4409         (ASM_STMT_CLOBBER): Likewise.
4410
4411 2004-04-19  Thomas Quinot  <quinot@act-europe.fr>
4412
4413         * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
4414         general rcheck mechanism to raise Program_Error for E.4(18), instead
4415         of a custom raiser in System.Partition_Interface.
4416         Part of general cleanup work before PolyORB integration.
4417
4418         * snames.ads, snames.adb: Add new runtime library entities and names
4419         for PolyORB DSA.
4420
4421         * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
4422         exp_dist.
4423         (Build_Subprogram_Id): New subprogram provided by exp_dist
4424         Code reorganisation in preparation for PolyORB integration.
4425
4426         * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
4427         exp_dist.
4428         (Build_Subprogram_Id): New subprogram provided by exp_dist
4429
4430         * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
4431         actual parameter types for call to dereference of an
4432         access-to-subprogram type.
4433
4434         * rtsfind.ads: Add new runtime library entities and names for PolyORB
4435         DSA.
4436
4437         * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
4438         instead, which has the same behaviour here since we never pass it a
4439         NULL pointer.
4440
4441         * link.c (run_path_option, Solaris case): Use -Wl, as for other
4442         platforms.
4443
4444         * Makefile.in: adjust object file lists for gnatlink and gnatmake
4445         to account for new dependency upon Interfaces.C.Strings + link.o
4446         For x86 FreeBSD, use 86numaux.
4447
4448         * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
4449         from Mlib.Tgt to Mlib.
4450
4451         * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
4452         target-independent.
4453
4454         * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
4455         target-specific versions of this subprogram, now implemented as a
4456         target-independent function in Mlib.
4457
4458         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
4459         5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
4460         (Linker_Library_Path_Option): Remove target-specific versions of this
4461         subprogram, now implemented as a target-independent function in Mlib.
4462
4463         * atree.adb: (Allocate_Initialize_Node): New subprogram.
4464         Factors out node table slots allocation.
4465         (Fix_Parents): New subprogram.
4466         Encapsulate the pattern of fixing up parent pointers for syntactic
4467         children of a rewritten node.
4468         (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
4469         (Rewrite): Use New_Copy when creating saved copy of original node.
4470         (Replace): Use Copy_Node to copy nodes.
4471
4472 2004-04-19  Javier Miranda  <miranda@gnat.com>
4473
4474         * sprint.adb (Sprint_Node_Actual): Give support to the new
4475         Access_To_Subprogram node available in Access_Definition nodes. In
4476         addition, give support to the AI-231 node fields: null-exclusion,
4477         all-present, constant-present.
4478
4479         * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
4480
4481         * sinfo.ads, sinfo.adb:
4482         New field Access_To_Subprogram_Definition in Access_Definition nodes
4483
4484         * sem_ch6.adb (Process_Formals): Move here the code that creates and
4485         decorates internal subtype declaration corresponding to the
4486         null-excluding formal. This code was previously in Set_Actual_Subtypes.
4487         In addition, carry out some code cleanup on this code. In case of
4488         access to protected subprogram call
4489         Replace_Anonymous_Access_To_Protected_Subprogram.
4490         (Set_Actual_Subtypes): Code cleanup.
4491
4492         * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
4493         Find_Type in case of anonymous access renamings. Add warning in case of
4494         null-excluding attribute used in anonymous access renaming.
4495
4496         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
4497         subprogram
4498
4499         * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
4500         subprogram.
4501         (Access_Definition): In case of anonymous access to subprograms call
4502         the corresponding semantic routine to decorate the node.
4503         (Access_Subprogram_Declaration): Addition of some comments indicating
4504         some code that probably should be added here. Detected by comparison
4505         with the access_definition subprogram.
4506         (Analyze_Component_Declaration): In case of access to protected
4507         subprogram call Replace_Anonymous_Access_To_Protected.
4508         (Array_Type_Declaration): In case of access to protected subprogram call
4509         Replace_Anonymous_Access_To_Protected_Subprogram.
4510         (Process_Discriminants): In case of access to protected subprogram call
4511         Replace_Anonymous_Access_To_Protected_Subprogram.
4512
4513         * par.adb (P_Access_Definition): New formal that indicates if the
4514         null-exclusion part was present.
4515         (P_Access_Type_Definition): New formal that indicates if the caller has
4516         already parsed the null-excluding part.
4517
4518         * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
4519         (P_Identifier_Declarations): Code cleanup and give support to renamings
4520         of anonymous access to subprogram types.
4521         (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
4522         (P_Array_Type_Definition): Give support to AI-254.
4523         (P_Component_Items): Give support to AI-254.
4524         (P_Access_Definition): New formal that indicates if the header was
4525         already parsed by the caller.
4526         (P_Access_Type_Definition): New formal that indicates if the caller has
4527         already parsed the null-excluding part.
4528
4529         * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
4530         call to P_Access_Definition.
4531
4532 2004-04-19  Geert Bosch  <bosch@gnat.com>
4533
4534         * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
4535         the delicate semantics of floating-point to integer conversion.
4536         (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
4537
4538         * eval_fat.adb (Machine_Mantissa): Moved to spec.
4539         (Machine_Radix): New function.
4540
4541         * eval_fat.ads (Machine_Mantissa): Moved from body for use in
4542         conversion checks.
4543         (Machine_Radix): New function also for use in conversion checks.
4544
4545 2004-04-19  Ed Schonberg  <schonberg@gnat.com>
4546
4547         * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
4548
4549         * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
4550         to decorate the access-to-protected subprogram and the equivalent type.
4551
4552         * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
4553         to anonymous access to subprogram types.
4554
4555         * exp_ch4.adb (Expand_N_In): Preserve Static flag before
4556         constant-folding, for legality checks in contexts that require an RM
4557         static expression.
4558
4559         * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
4560         temporary but stack checking is not enabled, increment serial number
4561         to so that symbol generation is consistent with and without stack
4562         checking.
4563
4564         * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
4565         independent on whether stack checking is enabled, caller must check
4566         the corresponding flag.
4567
4568         * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
4569         range checks.
4570         (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
4571         parent if it has discriminants.
4572         (Build_Derived_Private_Type): Constructed full view does
4573         not come from source.
4574         (Process_Discriminants): Default discriminants on a tagged type are
4575         legal if this is the internal completion of a private untagged
4576         derivation.
4577
4578         * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
4579         no constraint checks, because it corresponds to an existing object.
4580
4581         * sem_prag.adb (Process_Convention): Pragma applies
4582         only to subprograms in the same declarative part, i.e. the same unit,
4583         not the same scope.
4584
4585         * sem_res.adb (Valid_Conversion): In an instance or inlined body,
4586         ignore type mismatch on a numeric conversion if expression comes from
4587         expansion.
4588
4589 2004-04-19  Sergey Rybin  <rybin@act-europe.fr>
4590
4591         * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
4592         Homonym_Number parameter, add processing for Source_Location parameter
4593         corresponding.
4594         (Check_Eliminated): Remove the check for homonym numbers, add the check
4595         for source location traces.
4596
4597         * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
4598         with Arg_Source_Location corresponding to the changes in the format of
4599         the pragma.
4600
4601         * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
4602         Eliminate pragma corresponding to the changes in the format of the
4603         pragma: Homonym_Number is replaced with Source_Location, two ways of
4604         distinguishing homonyms are mutially-exclusive.
4605
4606 2004-04-19  Joel Brobecker  <brobecker@gnat.com>
4607
4608         * get_targ.ads (Get_No_Dollar_In_Label): Remove.
4609
4610         * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
4611         No_Dollar_In_Label, no longer necessary, as it is always True.
4612         (Strip_Suffixes): Likewise.
4613
4614 2004-04-19  Gary Dismukes  <dismukes@gnat.com>
4615
4616         * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
4617         modulus for compatibility with size clause on targets with 16-bit
4618         Integer.
4619
4620         * layout.adb (Discrimify): In the case of private types, set Vtyp to
4621         full type to fix type mismatches on calls to size functions for
4622         discriminant-dependent array components.
4623
4624 2004-04-19  Jerome Guitton  <guitton@act-europe.fr>
4625
4626         * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
4627         lib.
4628
4629 2004-04-19  Pascal Obry  <obry@gnat.com>
4630
4631         * mdll-utl.adb (Locate): New version is idempotent.
4632
4633 2004-04-17  Laurent Guerby <laurent@guerby.net>
4634
4635         PR ada/14988 (partial)
4636         * impunit.adb: Fix typo.
4637
4638 2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
4639
4640         * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
4641         and install-rts-cert targets.  Remove all gnatlib and gnattools
4642         targets and all other rts-* targets (moved to libada).  Remove (now)
4643         unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
4644         TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
4645
4646 2004-04-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4647
4648         * trans.c (tree_transform): Shortcut returning error_mark_node for
4649         statements in annotate_only_mode.
4650         (tree_transform, case N_Label, case N_Return_Statement,
4651         N_Goto_Statement): Make statement tree instead of generating code.
4652         (tree_transform, case N_Assignment_Statement): No longer check
4653         type_annotate_only.
4654         (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
4655         RETURN_STMT): New.
4656         (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
4657         New fcns.
4658         (gnat_to_gnu): Collect any RTL generated and deal with it.
4659         (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
4660         (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
4661         (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
4662
4663         * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
4664
4665         * ada-tree.def (EXPR_STMT): Fix typo in name.
4666         (BLOCK_STMT, IF_STMT): New nodes.
4667
4668         * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
4669         LABEL_STMT_FIRST_IN_EH): New macros.
4670         (RETURN_STMT_EXPR): Likewise.
4671
4672         * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
4673         IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
4674
4675 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
4676
4677         * atree.ads: Correct documentation on extended nodes.
4678
4679         * link.c: Set run_path_option for FreeBSD.
4680
4681 2004-04-08  Vincent Celier  <celier@gnat.com>
4682
4683         * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
4684         one of the ALI file, do not link with DEC lib.
4685
4686         * par.adb Remove the last two characters ("%s" or "%b") when checking
4687         if a language defined unit may be recompiled.
4688
4689 2004-04-08  Ed Schonberg  <schonberg@gnat.com>
4690
4691         * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
4692         removal of abstract operation leaves no possible interpretation for
4693         expression.
4694
4695         * sem_eval.adb (Eval_Qualified_Expression): Use
4696         Set_Raises_Constraint_Error on node when needed, so that it does not
4697         get optimized away by subsequent optimizations.
4698
4699         * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
4700         operands even when they are not wrapped in a type conversion.
4701
4702 2004-04-08  Olivier Hainque  <hainque@act-europe.fr>
4703
4704         * sem_prag.adb (Set_Exported): Warn about making static as result of
4705         export only when the export is coming from source. This may be not
4706         be true e.g. on VMS where we expand export pragmas for exception codes
4707         together with imported or exported exceptions, and we don't want the
4708         user to be warned about something he didn't write.
4709
4710 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
4711
4712         * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
4713         duplication between normal entities and those declared as renamings.
4714         No functional change.
4715
4716         * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
4717         inline functions returning an unconstrained result.
4718
4719 2004-04-08  Eric Botcazou  <ebotcazou@act-europe.fr>
4720
4721         * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
4722         conform to what other front-ends do.
4723
4724 2004-04-08  Doug Rupp  <rupp@gnat.com>
4725
4726         * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
4727         libraries.
4728
4729 2004-04-06  Pascal Obry  <obry@gnat.com>
4730
4731         * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
4732
4733         * osint.adb (Program_Name): Do not look past a directory separator.
4734
4735 2004-04-06  Thomas Quinot  <quinot@act-europe.fr>
4736
4737         * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
4738
4739         * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
4740         requirement for preserving a copy of the original assignment node.
4741
4742         * sinfo.ads: Update comment (Original_Tree -> Original_Node).
4743
4744 2004-04-06  Olivier Hainque  <hainque@act-europe.fr>
4745
4746         (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
4747         when supported.
4748
4749 2004-04-06  Ed Schonberg  <schonberg@gnat.com>
4750
4751         * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
4752         operator calls in functional notation, and apply
4753         Universal_Interpretation to operands, not to their type.
4754
4755 2004-04-06  Robert Dewar  <dewar@gnat.com>
4756
4757         * 5wdirval.adb: Minor reformatting
4758
4759 2004-04-06  Ed Falis  <falis@gnat.com>
4760
4761         * gnat_rm.texi: Improve a reference to the GCC manual
4762
4763 2004-04-05  Vincent Celier  <celier@gnat.com>
4764
4765         * adaint.h, adaint.c: Add function __gnat_named_file_length
4766
4767         * impunit.adb: Add Ada.Directories to the list
4768
4769         * Makefile.in: Add VMS and Windows versions of
4770         Ada.Directories.Validity package body.
4771
4772         * Makefile.rtl: Add a-direct and a-dirval
4773
4774         * mlib-tgt.ads: Minor comment update.
4775
4776         * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
4777         a-direct.ads, a-direct.adb: New files.
4778
4779 2004-04-05  Vincent Celier  <celier@gnat.com>
4780
4781         PR ada/13620
4782         * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
4783         just to the compiler.
4784
4785 2004-04-05  Robert Dewar  <dewar@gnat.com>
4786
4787         * a-except.adb (Exception_Name_Simple): Make sure lower bound of
4788         returned string is 1.
4789
4790         * ali-util.adb: Use proper specific form for Warnings (Off, entity)
4791
4792         * eval_fat.ads: Minor reformatting
4793
4794         * g-curexc.ads: Document that lower bound of returned string values
4795         is always one.
4796
4797         * gnatlink.adb: Add ??? comment for previous change
4798         (need to document why this is VMS specific)
4799
4800         * s-stoele.ads: Minor reformatting
4801
4802         * tbuild.ads: Minor reformatting throughout (new function specs)
4803
4804         * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
4805         after WITH.
4806
4807         * scng.adb: Minor reformatting
4808
4809 2004-04-05  Geert Bosch  <bosch@gnat.com>
4810
4811         * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
4812         (Leading_Part): Still perform truncation to machine number if the
4813         specified radix_digits is greater or equal to machine_mantissa.
4814
4815 2004-04-05  Javier Miranda  <miranda@gnat.com>
4816
4817         * par-ch3.adb: Complete documentation of previous change
4818         Correct wrong syntax documentation of the OBJECT_DECLARATION rule
4819         (aliased must appear before constant).
4820
4821         * par-ch4.adb: Complete documentation of previous change.
4822
4823         * par-ch6.adb: Complete documentation of previous change.
4824
4825         * sinfo.ads: Fix typo in commment.
4826
4827 2004-04-05  Ed Schonberg  <schonberg@gnat.com>
4828
4829         * sem_ch3.adb (Inherit_Components): If derived type is private and has
4830         stored discriminants, use its discriminants to constrain parent type,
4831         as is done for non-private derived record types.
4832
4833         * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
4834         Ada 2005 AI-310: an abstract non-dispatching operation is not a
4835         candidate interpretation in an overloaded call.
4836
4837         * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
4838         expression is Null and target type is not an access type (e.g. a
4839         non-private address type).
4840
4841 2004-04-05  Thomas Quinot  <quinot@act-europe.fr>
4842
4843         * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
4844         statement whose right-hand side is an inlined call, save a copy of the
4845         original assignment subtree to preserve enough consistency for
4846         Analyze_Assignment to proceed.
4847
4848         * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
4849         complete assignment subtree which is now unnecessary, as the expansion
4850         of inlined call has been improved to preserve a consistent assignment
4851         tree.  Note_Possible_Modification must be called only
4852         after checks have been applied, or else unnecessary checks will
4853         be generated.
4854
4855         * sem_util.adb (Note_Possible_Modification): Reorganise the handling
4856         of explicit dereferences that do not Come_From_Source:
4857          - be selective on cases where we must go back to the dereferenced
4858            pointer (an assignment to an implicit dereference must not be
4859            recorded as modifying the pointer);
4860          - do not rely on Original_Node being present (Analyze_Assignment
4861            calls Note_Possible_Modification on a copied tree).
4862
4863         * sem_warn.adb (Check_References): When an unset reference to a pointer
4864         that is never assigned is encountered, prefer '<pointer> may be null'
4865         warning over '<pointer> is never assigned a value'.
4866
4867 2004-04-05  Ramon Fernandez  <fernandez@gnat.com>
4868
4869         * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
4870         the ABI.
4871
4872 2004-04-05  Olivier Hainque  <hainque@act-europe.fr>
4873
4874         * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
4875         libexc. We currently don't reference anything in this library and
4876         linking it in triggers linker warnings we don't want to see.
4877
4878         * init.c: Update comments.
4879
4880 2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4881
4882         * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
4883         * utils.c (create_field_decl): Likewise.
4884         * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
4885
4886 2004-04-02  Arnaud Charlet  <charlet@act-europe.fr>
4887
4888         * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
4889         Replace ifinfo by ifnottex, to make makeinfo --html happy again.
4890         Add info directory entry and category.
4891
4892 2004-04-02  Jan Hubicka  <jh@suse.cz>
4893
4894         * utils.c: Include function.h
4895         (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
4896
4897 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
4898
4899         PR ada/14150
4900         * Make-lang.in: Clean up generation of documentation
4901
4902         * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
4903
4904         * xgnatug.adb: Removed, replaced by xgnatugn.adb
4905
4906         * xgnatugn.adb: Replaces xgnatug.adb
4907
4908         * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
4909
4910         * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
4911
4912         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
4913         gnat_ug_wnt.texi: Removed.
4914
4915 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
4916
4917         * utils2.c: Update copyright notice.
4918
4919 2004-04-01  Robert Dewar  <dewar@gnat.com>
4920
4921         * checks.adb: Minor reformatting throughout
4922         Note that prev checkin added RM reference to alignment warning
4923
4924 2004-04-01  Ed Schonberg  <schonberg@gnat.com>
4925
4926         * exp_aggr.adb (Get_Component_Val): Treat a string literal as
4927         non-static when building aggregate for bit-packed array.
4928
4929         * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
4930         function call that is itself the actual in a procedure call, build
4931         temporary for it.
4932
4933         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
4934         a string literal, create a temporary for it, constant folding only
4935         handles scalars here.
4936
4937 2004-04-01  Vincent Celier  <celier@gnat.com>
4938
4939         * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
4940         Error_Msg_SP): New empty procedures to instantiate the Scanner.
4941         (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
4942         tokens.
4943         (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
4944         (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
4945         and get the checksum.
4946
4947         * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
4948         already in the Q.
4949         Increase the Marking_Label at the end of the Multiple_Main_Loop,
4950         instead of at the beginning.
4951
4952         * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
4953         directly.
4954         (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
4955         on VMS.
4956
4957         * osint.ads (Multi_Unit_Index_Character): New Character global variable
4958
4959         * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
4960         not '~' directly.
4961
4962         * par.adb: Remove test on file name to detect language defined units.
4963         Add test on unit name, after parsing, to detect language defined units
4964         that are not compiled with -gnatg (except System.RPC and its children)
4965
4966         * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
4967         following units without style checking.
4968
4969         * switch-c.adb: Change -gnatC to -gnateI
4970
4971         * usage.adb: Document new switch -gnateInnn
4972
4973         * scng.adb (Accumulate_Token_Checksum): New procedure
4974         (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
4975         word or literal number.
4976         (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
4977         numbers.
4978
4979 2004-04-01  Thomas Quinot  <quinot@act-europe.fr>
4980
4981         * a-tasatt.adb,
4982         g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
4983         switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
4984         5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
4985         5vtpopde.adb: Add missing 'constant' keywords.
4986
4987 2004-04-01  Javier Miranda  <miranda@gnat.com>
4988
4989         * par-ch4.adb: (P_Allocator): Code cleanup
4990
4991         * sem_ch3.adb (Access_Definition): Properly set the null-excluding
4992         attribute.
4993
4994         * sinfo.ads: Complete documentation of previous change
4995
4996 2004-04-01  Pascal Obry  <obry@gnat.com>
4997
4998         * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
4999         only on VMS.  This special handling was done because an old GNU/ld bug
5000         on Windows which has been fixed.
5001
5002 2004-04-01  GNAT Script  <nobody@gnat.com>
5003
5004         * Make-lang.in: Makefile automatically updated
5005
5006 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5007
5008         * decl.c (gnat_to_gnu_entity, make_type_from_size):
5009         Use TYPE_UNSIGNED, not TREE_UNSIGNED.
5010         * trans.c (tree_transform, convert_with_check): Likewise.
5011         * utils.c (gnat_signed_or_unsigned_type): Likewise.
5012         (build_vms_descriptor, unchecked_convert): Likewise.
5013         * utils2.c (nonbinary_modular_operation): Likewise.
5014
5015 2004-03-29  Javier Miranda  <miranda@gnat.com>
5016
5017         * checks.adb (Null_Exclusion_Static_Checks): New subprogram
5018         (Install_Null_Excluding_Check): Local subprogram that determines whether
5019         an access node requires a runtime access check and if so inserts the
5020         appropriate run-time check.
5021         (Apply_Access_Check): Call Install_Null_Excluding check if required
5022         (Apply_Constraint_Check): Call Install_Null_Excluding check if required
5023
5024         * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
5025
5026         * einfo.ads: Fix typo in comment
5027
5028         * exp_ch3.adb (Build_Assignment): Generate conversion to the
5029         null-excluding type to force the corresponding run-time check.
5030         (Expand_N_Object_Declaration): Generate conversion to the null-excluding
5031         type to force the corresponding run-time check.
5032
5033         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
5034         the null-excluding type to force the corresponding run-time check.
5035
5036         * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
5037         case of access types unless they have the null-excluding attribute.
5038
5039         * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
5040         part.
5041
5042         * exp_util.ads: Fix typo in comment
5043
5044         * par.adb (P_Null_Exclusion): New subprogram
5045         (P_Subtype_Indication): New formal that indicates if the null-excluding
5046         part has been scanned-out and it was present
5047
5048         * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
5049
5050         * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
5051         (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
5052         type to force the corresponding run-time check
5053         (Resolve_Aggregate): Propagate the null-excluding attribute to the array
5054         components
5055         (Resolve_Array_Aggregate): Carry out some static checks
5056         (Resolve_Record_Aggregate.Get_Value): Carry out some static check
5057
5058         * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
5059         attribute must be set only if specified by means of the null-excluding
5060         part. In addition, we must also propagate the access-constant attribute
5061         if present.
5062         (Access_Subprogram_Declaration, Access_Type_Declaration,
5063         Analyze_Component_Declaration, Analyze_Object_Declaration,
5064         Array_Type_Declaration, Process_Discriminants,
5065         Analyze_Subtype_Declaration): Propagate the null-excluding attribute
5066         and carry out some static checks.
5067         (Build_Derived_Access_Type): Set the null-excluding attribute
5068         (Derived_Type_Declaration, Process_Subtype): Carry out some static
5069         checks.
5070
5071         * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
5072
5073         * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
5074
5075         * sem_ch6.adb (Process_Formals): Carry out some static checks.
5076         (Set_Actual_Subtypes): Generate null-excluding subtype if the
5077         null-excluding part was present; it is not required to be done here in
5078         case of anonymous access types.
5079         (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
5080         value.
5081
5082         * sem_res.adb (Resolve_Actuals): Carry out some static check
5083         (Resolve_Null): Allow null in anonymous access
5084
5085         * sinfo.adb: New subprogram Null_Exclusion_Present
5086         All_Present and Constant_Present available on access_definition nodes
5087
5088         * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
5089         object_declaration, derived_type_definition, component_definition,
5090         discriminant_specification, access_to_object_definition,
5091         access_function_definition, allocator, access_procedure_definition,
5092         access_definition, parameter_specification, All_Present and
5093         Constant_Present flags available on access_definition nodes.
5094
5095 2004-03-29  Robert Dewar  <dewar@gnat.com>
5096
5097         * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
5098         gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
5099         opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
5100         par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
5101         sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
5102         sem_prag.adb: Updates to handle multiple units/file
5103
5104         * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
5105
5106         * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
5107         sem_util.adb: Minor reformatting
5108
5109         * sem_ch12.adb: Add comment for previous change
5110
5111 2004-03-29  Laurent Pautet  <pautet@act-europe.fr>
5112
5113         * osint.adb (Executable_Prefix): Set Exec_Name to the current
5114         executable name when not initialized. Otherwise, use its current value.
5115
5116         * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
5117         initialize it to another executable name than the current one. This
5118         allows to configure paths for an executable name (gnatmake) different
5119         from the current one (gnatdist).
5120
5121 2004-03-29  Ed Schonberg  <schonberg@gnat.com>
5122
5123         * exp_ch6.adb (Expand_Call): A call to a function declared in the
5124         current unit cannot be inlined if it appears in the body of a withed
5125         unit, to avoid order of elaboration problems in gigi.
5126
5127         * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
5128         information for protected (wrapper) operation as well, to simplify gdb
5129         use.
5130
5131         * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
5132         protected body, indicate that the entity for the generated spec comes
5133         from source, to ensure that references are properly generated for it.
5134         (Build_Body_To_Inline): Do not inline a function that returns a
5135         controlled type.
5136
5137         * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
5138         apply convention to homonyms that are declared explicitly.
5139
5140         * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
5141         that renames an equality operator and the operands are overloaded,
5142         resolve them with the declared formal types, before rewriting as an
5143         operator.
5144
5145 2004-03-29  GNAT Script  <nobody@gnat.com>
5146
5147         * Make-lang.in: Makefile automatically updated
5148
5149 2004-03-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
5150
5151         * memtrack.adb: Log realloc calls, which are treated as free followed
5152         by alloc.
5153
5154 2004-03-25  Vincent Celier  <celier@gnat.com>
5155
5156         * prj-makr.adb (Process_Directories): Detect when a file contains
5157         several units. Do not include such files in the config pragmas or
5158         in the naming scheme.
5159
5160         * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
5161         Resolve links only when not in Trusted_Mode.
5162         (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
5163         Do not resolve links for the display names.
5164
5165         * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
5166         resolve links when computing the display names.
5167
5168 2004-03-25  Thomas Quinot  <quinot@act-europe.fr>
5169
5170         * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
5171         attribute reference does not denote a subtype, it can be any
5172         expression that has a classwide type, potentially after an implicit
5173         dereference.  In particular, the prefix can be a view conversion for
5174         a classwide type (for which Is_Object_Reference holds), but it can
5175         also be a value conversion for an access-to-classwide type. In the
5176         latter case, there is an implicit dereference, and the original node
5177         for the prefix does not verify Is_Object_Reference.
5178
5179         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
5180         conversion of a discriminant-dependent component of a mutable object
5181         is one itself.
5182
5183 2004-03-25  Ed Schonberg  <schonberg@gnat.com>
5184
5185         * freeze.adb (Freeze_Entity): When an inherited subprogram is
5186         inherited, has convention C, and has unconstrained array parameters,
5187         place the corresponding warning on the derived type declaration rather
5188         than the original subprogram.
5189
5190         * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
5191         indication on renaming declaration, if formal has a box and actual
5192         is absent.
5193
5194         * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
5195         determine whether to generate an implicit or explicit reference to
5196         the renamed entity.
5197
5198         * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
5199         subprogram renaming comes from a defaulted formal subprogram in an
5200         instance.
5201
5202 2004-03-25  Gary Dismukes  <dismukes@gnat.com>
5203
5204         * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
5205         value expressions to ensure that calls within a component definition
5206         will be checked (since those are evaluated during the record type's
5207         elaboration).
5208
5209 2004-03-25  Arnaud Charlet  <charlet@act-europe.fr>
5210
5211         * s-tpobop.adb: Code clean up:
5212         (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
5213         code.
5214         (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
5215
5216 2004-03-25  Jose Ruiz  <ruiz@act-europe.fr>
5217
5218         * Makefile.in: Clean up in the ravenscar run time.
5219
5220 2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5221
5222         * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
5223         of No_Strict_Aliasing to build_pointer_type_for_mode.
5224         * utils.c (update_pointer_to): Walk pointer and ref chains.
5225
5226 2004-03-22  Cyrille Comar  <comar@act-europe.fr>
5227
5228         * ali.ads: Fix Comment about Dynamic_Elab.
5229
5230         * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
5231         Has_RACW, Is_Generic, etc.)
5232         (Output_Object, Gnatls): Take into account ALI files not attached to
5233         an object.
5234
5235 2004-03-22  Vincent Celier  <celier@gnat.com>
5236
5237         * gprep.adb: Change all String_Access to Name_Id
5238         (Is_ASCII_Letter): new function
5239         (Double_File_Name_Buffer): New procedure
5240         (Preprocess_Infile_Name): New procedure
5241         (Process_Files): New procedure
5242         (Gnatprep): Check if output and input are existing directories.
5243         Call Process_Files to do the real job.
5244
5245 2004-03-22  Robert Dewar  <dewar@gnat.com>
5246
5247         * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
5248         s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
5249
5250 2004-03-22  Sergey Rybin  <rybin@act-europe.fr>
5251
5252         * scn.adb (Contains): Add check for EOF, is needed for a degenerated
5253         case when the source contains only comments.
5254
5255 2004-03-22  Ed Schonberg  <schonberg@gnat.com>
5256
5257         * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
5258         declaration for a child subprogram body that acts as a spec, indicate
5259         that the entity in the declaration needs debugging information.
5260
5261         * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
5262         full view if the subtype is created for a constrained record component;
5263         gigi has enough information to construct the record, and there is no
5264         place in the tree for the declaration.
5265
5266         * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
5267         serial number for the dummy body that is built for analysis, to avoid
5268         inconsistencies in the generation of internal names when compiling
5269         with -gnatN.
5270
5271 2004-03-22  Thomas Quinot  <quinot@act-europe.fr>
5272
5273         * sem_util.adb (Is_Object_Reference): A view conversion denotes an
5274         object.
5275
5276 2004-03-22  GNAT Script  <nobody@gnat.com>
5277
5278         * Make-lang.in: Makefile automatically updated
5279
5280 2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5281
5282         * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
5283         * trans.c (tree_transform, emit_index_check): Likewise.
5284         * utils.c (build_template): Likewise.
5285         (max_size, convert): Remove handling of WITH_RECORD_EXPR.
5286         (maybe_unconstrained_array, unchecked_convert): Likewise.
5287         * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
5288         (build_unary_op): Likewise.
5289         (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
5290         (fill_vms_descriptor): Likewise.
5291         (build_call_alloc_dealloc): Likewise.
5292         ALIGN is unsigned.
5293         * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
5294
5295 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
5296
5297         PR other/14630
5298         * gnat_ug.texi: Add info directory category and entry.
5299         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
5300         gnat_ug_wnt.texi: Regenerate.
5301
5302 2004-03-19  Arnaud Charlet  <charlet@act-europe.fr>
5303
5304         * ada-tree.h: Update copyright notice.
5305         Minor reformatting.
5306
5307 2004-03-19  Olivier Hainque  <hainque@act-europe.fr>
5308
5309         * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
5310         as regular exception objects and not as mere integers representing the
5311         condition code.  The latter approach required some dynamics to mask off
5312         severity bits, which did not fit well into the GCC table based model.
5313         (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
5314         exception data objects. We don't it and it would conflict with the other
5315         external symbol we have to generate for such exceptions.
5316
5317         * trans.c (tree_transform, case N_Exception_Handler): Remove part of
5318         the special code for VMS exceptions, since these are now represented
5319         as regular exceptions objects.
5320
5321 2004-03-19 Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5322
5323         * decl.c (debug_no_type_hash): Remove.
5324         (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
5325         * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
5326
5327 2004-03-19  Laurent Guerby <laurent@guerby.net>
5328
5329         * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
5330         aggregate, allows bootstrap from 3.3 on powerpc-darwin.
5331
5332 2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5333
5334         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
5335         (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
5336         (TYPE_RM_SIZE_INT): Directly use type.values.
5337         (TREE_LOOP_ID): Clean up check.
5338         * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
5339         TYPE_VALUES, not TYPE_FIELDS.
5340         * trans.c (convert_with_check): Delay access of bounds of basetype
5341         until sure is numeric.
5342
5343 2004-03-18  Arnaud Charlet  <charlet@act-europe.fr>
5344
5345         * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
5346
5347         Code clean up:
5348         * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
5349         5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
5350         Specific.Set instead of direct call to e.g pthread_setspecific.
5351
5352 2004-03-18  Thomas Quinot  <quinot@act-europe.fr>
5353
5354         * adaint.c: Update comments.
5355
5356         * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
5357         GNATLIB_SHARED for FreeBSD.
5358
5359 2004-03-18  Jose Ruiz  <ruiz@act-europe.fr>
5360
5361         * init.c [VxWorks]: Do not fix the stack size for the environment task.
5362         When needed (stack checking) the stack size is retrieved
5363         from the VxWorks kernel.
5364
5365         * Makefile.in: Flag -nostdinc is required when building the run time
5366         for avoiding looking for files in the base compiler.
5367         Add the VxWorks specific version of the package body for
5368         System.Stack_checking.Operations (5zstchop.adb).
5369
5370         * Make-lang.in: Add the object file for
5371         System.Stack_Checking.Operations.
5372
5373         * Makefile.rtl: Add object file for the package
5374         System.Stack_Checking.Operations.
5375
5376         * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
5377
5378         * s-stache.ads, s-stache.adb: Move the operations related to stack
5379         checking from this package to package System.Stack_Checking.Operations.
5380         This way, stack checking operations are only linked in the final
5381         executable when using the -fstack-check flag.
5382
5383 2004-03-18  Doug Rupp  <rupp@gnat.com>
5384
5385         * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
5386         Reorganize ifeq's.
5387
5388         * 5qsystem.ads, 5xcrtl.ads: New files.
5389
5390 2004-03-18  Vincent Celier  <celier@gnat.com>
5391
5392         * prj.adb (Reset): Reset hash table Files_Htable
5393
5394         * prj-env.adb (Source_Paths, Object_Paths): New tables.
5395         (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
5396         the procedures Add_To_Path_File.
5397         (Set_Ada_Paths): Accumulate source and object dirs in the tables,
5398         making sure that each directory is present only once and, for object
5399         dirs, when a directory already present is added, the duplicate is
5400         removed and the directory is always put as the last in the table.
5401         Write the path files at the end of these accumulations.
5402
5403         * prj-nmsc.adb (Record_Source): Add source file name in hash table
5404         Files_Htable for all sources.
5405
5406         * prj-proc.adb (Process): Remove restrictions between not directly
5407         related extending projects.
5408
5409 2004-03-18  Emmanuel Briot  <briot@act-europe.fr>
5410
5411         * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
5412         (Find_Sources): Minor speed optimization.
5413
5414         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
5415         parameter Trusted_Mode.
5416
5417 2004-03-18  Sergey Rybin  <rybin@act-europe.fr>
5418
5419         * scn.adb (Determine_License): Take into account a degenerated case
5420         when the source contains only comments.
5421
5422 2004-03-18  Ed Schonberg  <schonberg@gnat.com>
5423
5424         * sem_warn.adb (Check_References): For a warning on a selected
5425         component that does not come from source, locate an uninitialized
5426         component of the record type to produce a more precise error message.
5427
5428 2004-03-15  Jerome Guitton  <guitton@act-europe.fr>
5429
5430         * 3zsoccon.ads: Fix multicast options.
5431
5432         * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
5433         in the spec.
5434
5435 2004-03-15  Robert Dewar  <dewar@gnat.com>
5436
5437         * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
5438         pragma used for a private type.
5439
5440         * lib-xref.adb (Generate_Reference): Do not generate warning if
5441         reference is in a different unit from the pragma Unreferenced.
5442
5443         * 5vtpopde.adb: Minor reformatting
5444         Fix casing of To_Task_ID
5445
5446         * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
5447         flag if we have an unchecked conversion to an access type in the same
5448         unit.
5449
5450 2004-03-15  Geert Bosch  <bosch@gnat.com>
5451
5452         * a-ngcoty.adb (Modulus): In alternate formula for large real or
5453         imaginary parts, use Double precision throughout.
5454
5455         * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
5456         we want to be able to compile run-time with -gnata for testing, but
5457         this may also be instantiated in user code that is compiled with -gnata.
5458
5459 2004-03-15  Olivier Hainque  <hainque@act-europe.fr>
5460
5461         * s-stalib.ads (Exception_Code): New type, to represent Import/Export
5462         codes. Having a separate type for this is useful to enforce consistency
5463         throughout the various run-time units.
5464         (Exception_Data): Use Exception_Code for Import_Code.
5465
5466         * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
5467         Natural and Integer in various places.
5468         (Register_VMS_Exception): Use Base_Code_In to compute the exception code
5469         with the severity bits masked off.
5470         (Register_VMS_Exception): Handle the additional exception data pointer
5471         argument.
5472
5473         * raise.c (_GNAT_Exception structure): Remove the handled_by_others
5474         component, now reflected by an exported accessor.
5475         (is_handled_by): New routine to compute whether the propagated
5476         occurrence matches some handler choice specification. Extracted out of
5477         get_action_description_for, and expanded to take care of the VMS
5478         specifities.
5479         (get_action_description_for): Use is_handled_by instead of an explicit
5480         complex condition to decide if the current choice at hand catches the
5481         propagated occurrence.
5482
5483         * raise.h (Exception_Code): New type for C.
5484
5485         * rtsfind.ads (RE_Id, RE_Unit_Table): Add
5486         System.Standard_Library.Exception_Code, to allow references from the
5487         pragma import/export expander.
5488
5489         * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
5490         New accessors to allow easy access to GNAT exception data
5491         characteristics.
5492         (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
5493         redundant Handled_By_Others component, helper for the personality
5494         routine which will now be able to call the appropriate exception data
5495         accessor instead.
5496
5497         * cstand.adb (Create_Standard): Adjust the type of the Import_Code
5498         component of Standard_Exception_Type to be the closest possible to
5499         Exception_Code in System.Standard_Library, that we cannot get at this
5500         point. Expand a ??? comment to notify that this type node should
5501         probably be rewritten later on.
5502
5503         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
5504         registration call to include a pointer to the exception object in the
5505         arguments.
5506
5507         * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
5508         instead of int and explicit bitmasks.
5509
5510 2004-03-15  Vincent Celier  <celier@gnat.com>
5511
5512         * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
5513         equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
5514
5515         * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
5516         longer needed now that it is in the spec of
5517         System.Tasking.Task_Attributes.
5518
5519         * adaint.h, adaint.c: (__gnat_create_output_file): New function
5520
5521         * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
5522
5523         * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
5524
5525         * make.adb (Gnatmake): Do not check the executable suffix; it is being
5526         taken care of in Scan_Make_Arg.
5527         (Scan_Make_Arg): Add the executable suffix only if the argument
5528         following -o, in canonical case, does not end with the executable
5529         suffix.  When in verbose mode and executable file name does not end
5530         with executable suffix, output the executable name, in canonical case.
5531
5532         * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
5533         to avoid warnings when instantiating Ada.Task_Attributes.
5534         Minor reformating.
5535
5536         * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
5537         in the correct order.
5538
5539         * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
5540         redirect standard output and error to a file for the invocation of the
5541         compiler, then read the file.
5542
5543         * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
5544         directory, instead of the Value.
5545         (Find_Source_Dirs): Remove useless code & comments.
5546
5547 2004-03-15  Ed Schonberg  <schonberg@gnat.com>
5548
5549         * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
5550         tagged type is inherited, and the parent operation is not frozen yet,
5551         force generation of a freeze node for the inherited operation, so the
5552         corresponding dispatch entry is properly initialized.
5553         (Make_Predefined_Primitive_Specs): Check that return type is Boolean
5554         when looking for user-defined equality operation.
5555
5556         * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
5557         boolean when locating primitive equality of tagged component.
5558
5559         * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
5560         bit-aligned field and the right-hand side a string literal, introduce
5561         a temporary before expanding assignment into a loop.
5562
5563         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
5564         priority in full, to ensure that any expanded subepxressions of it are
5565         elaborated in the scope of the init_proc.
5566
5567         * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
5568         after object declaration, skipping over code that may have been
5569         generated for validity checks.
5570
5571         * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
5572         discriminants, ignore the known discriminants of its full view, if
5573         any, to check legality.
5574
5575         * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
5576         component if type has unknown discriminants.
5577         (Analyze_Private_Extension_Declaration): Discriminant constraint is
5578         null if type has unknown discriminants.
5579
5580         * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
5581         for end label when present.
5582
5583         * s-fileio.adb (Open): When called with a C_Stream, use given name for
5584         temporary file, rather than an empty string.
5585
5586 2004-03-15  Ed Falis  <falis@gnat.com>
5587
5588         * s-thread.adb: Removed, no longer used.
5589
5590 2004-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5591
5592         * decl.c (target.h): Now include.
5593         (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
5594         in new build_pointer_from_mode calls for non-fat/non-thin pointer.
5595         (validate_size): For POINTER_TYPE, get smallest size permitted on
5596         machine.
5597
5598         * fe.h: Sort Einfo decls and add Set_Mechanism.
5599
5600         * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
5601         (ada/decl.o): Depends on target.h.
5602
5603         * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
5604         FUNCTION_BOUNDARY; always use TYPE_ALIGN.
5605
5606 2004-03-15  Thomas Quinot  <quinot@act-europe.fr>
5607
5608         * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
5609
5610         * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
5611         Insert_Dereference_Action when rewriting an implicit dereference into
5612         an explicit one, this will be taken care of during expansion of the
5613         explicit dereference.
5614         (Expand_N_Slice): Same. Always do the rewriting, even for the case
5615         of non-packed slices, since the dereference action generated by
5616         expansion of the explicit dereference is needed in any case.
5617         (Expand_N_Selected_Component): When rewriting an implicit dereference,
5618         analyze and resolve the rewritten explicit dereference so it is seen
5619         by the expander.
5620         (Insert_Dereference_Action): This procedure is now called only for the
5621         expansion of an N_Explcit_Dereference_Node. Do insert a check even for
5622         dereferences that do not come from source (including explicit
5623         dereferences resulting from rewriting implicit ones), but do not
5624         recursively insert a check for the dereference nodes contained within
5625         the check.
5626         (Insert_Dereference_Action): Clarify and correct comment.
5627
5628 2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
5629
5630         PR ada/14131
5631         Move language detection to the top level.
5632         * config-lang.in: Build by default.
5633
5634 2004-03-05  Robert Dewar  <dewar@gnat.com>
5635
5636         * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
5637
5638         * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
5639         i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
5640         5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
5641         5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
5642         unchecked conversion to spec to avoid warnings.
5643
5644         * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
5645         to Task_ID
5646
5647         * 7stpopsp.adb: Correct casing in To_Task_ID call
5648
5649         * a-strsea.ads, a-strsea.adb: Minor reformatting
5650
5651         * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
5652
5653         * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
5654         Adjust Max_Msg_Length to be clearly large enough.
5655
5656         * fe.h: Define In_Same_Source_Unit
5657
5658         * osint.adb: Add pragma Warnings Off to suppress warnings
5659         * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
5660         aliasing warnings.
5661
5662         * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
5663
5664         * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
5665
5666         * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
5667
5668         * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
5669
5670         * sem_prag.adb: Implement pragma No_Strict_Aliasing.
5671
5672         * sinfo.ads: Remove obsolete comment on validate unchecked conversion
5673         node. We now do generate them for gcc back end.
5674
5675         * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
5676         warning.
5677
5678         * sinput-c.adb: Fix bad name in header.
5679         Add pragma Warnings Off to suppress aliasing warning.
5680
5681         * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
5682
5683         * snames.h, snames.ads, snames.adb: Add entry for pragma
5684         No_Strict_Aliasing.
5685
5686 2004-03-05  Vincent Celier  <celier@gnat.com>
5687
5688         * prj-com.ads: Add hash table Files_Htable to check when a file name
5689         is already a source of another project.
5690
5691         * prj-nmsc.adb (Record_Source): Before recording a new source, check
5692         if its file name is not already a source of another project. Report an
5693         error if it is.
5694
5695         * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
5696         source file name, call gnatpp with all the sources of the main project.
5697
5698         * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
5699         of file names.
5700
5701         * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
5702         NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
5703         /RUNTIME_SYSTEM=, converted to --RTS=
5704         /NOTABS, converted to -notabs
5705
5706 2004-03-05  Pascal Obry  <obry@gnat.com>
5707
5708         * make.adb: Minor reformatting.
5709
5710 2004-03-05  Ed Schonberg  <schonberg@gnat.com>
5711
5712         Part of implemention of AI-262.
5713         * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
5714
5715         * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
5716         procedure.
5717
5718         * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
5719         when component type is a partially constrained class-wide subtype.
5720         (Constrain_Discriminated_Type): If parent type has unknown
5721         discriminants, a constraint is illegal, even if full view has
5722         discriminants.
5723         (Build_Derived_Record_Type): Inherit discriminants when deriving a type
5724         with unknown discriminants whose full view is a discriminated record.
5725
5726         * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
5727         flag, to handle properly derivations of tagged types with unknown
5728         discriminants.
5729         (Analyze_Package_Spec, Analyze_Package_Body): Install
5730         Private_With_Clauses before analyzing private part or body.
5731
5732         * einfo.ads: Indicate that both Has_Unknown_Discriminants and
5733         Has_Discriminants can be true for a given type (documentation).
5734
5735 2004-03-05  Arnaud Charlet  <charlet@act-europe.fr>
5736
5737         * s-restri.ads: Fix license (GPL->GMGPL).
5738
5739         * s-tassta.adb: Minor reformatting.
5740
5741         * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
5742         by calls to Exit_One_ATC_Level, since additional clean up is performed
5743         by this function.
5744
5745         * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
5746         by calls to Exit_One_ATC_Level, since additional clean up is performed
5747         by this function.
5748
5749 2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5750
5751         * trans.c: Reflect GCC changes to fix bootstrap problem.
5752         Add warning for suspicious aliasing unchecked conversion.
5753
5754 2004-03-05  GNAT Script  <nobody@gnat.com>
5755
5756         * Make-lang.in: Makefile automatically updated
5757
5758 2004-03-02  Emmanuel Briot  <briot@act-europe.fr>
5759
5760         * ali.adb (Read_Instantiation_Instance): Do not modify the
5761         current_file_num when reading information about instantiations, since
5762         this corrupts files in later references.
5763
5764 2004-03-02  Vincent Celier  <celier@gnat.com>
5765
5766         * bcheck.adb (Check_Consistency): Get the full path of an ALI file
5767         before checking if it is read-only.
5768
5769         * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
5770         of SRC_DIRS and eliminate duplicates.
5771
5772         * gprcmd.adb: Replace command "path" with command "path_sep" to return
5773         the path separator.
5774         (Usage): Document path_sep
5775
5776         * Makefile.generic: For Ada and GNU C++ cases, link directly with the
5777         C++ compiler. No need for a script.
5778         Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
5779         Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
5780         subst.
5781
5782         * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
5783         where there are Ada sources.
5784         (Set_Ada_Paths): Only add to the include path the source dirs of project
5785         with Ada sources.
5786         (Add_To_Path): Add the Display_Values of the directories, not their
5787         Values.
5788
5789         * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
5790         data.
5791
5792         * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
5793         is not No_Name.
5794         (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
5795         Value is canonicalized.
5796         (Language_Independent_Check): Do not copy Value to Display_Value when
5797         canonicalizing Value.
5798
5799         * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
5800         path to find limited with cycles.
5801         (Parse_Single_Project): Use canonical cased path to find the end of a
5802         with cycle.
5803
5804 2004-03-02  Ed Schonberg  <schonberg@gnat.com>
5805
5806         * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
5807         and not a child unit.
5808
5809         * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
5810         appear in a with_clause.
5811
5812         * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
5813         only happen in type_annotate mode, do not try to elaborate it.
5814
5815         * exp_util.adb (Force_Evaluation): If expression is a selected
5816         component on the left of an assignment, use a renaming rather than a
5817         temporary to remove side effects.
5818
5819         * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
5820         inlined instance body, which is analyzed before the end of the
5821         enclosing scope.
5822
5823 2004-03-02  Robert Dewar  <dewar@gnat.com>
5824
5825         * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
5826         sem_ch4.adb: Use new feature for substitution of keywords in VMS
5827
5828         * errout.ads, errout.adb: Implement new circuit for substitution of
5829         keywords in VMS.
5830
5831         * sem_case.adb (Analyze_Choices): Place message properly when case is
5832         a subtype reference rather than an explicit range.
5833
5834         * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
5835
5836 2004-03-02  Doug Rupp  <rupp@gnat.com>
5837
5838         * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
5839
5840 2004-03-02  Thomas Quinot  <quinot@act-europe.fr>
5841
5842         * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
5843
5844 2004-03-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5845
5846         * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
5847         BLKmode bitfield.
5848
5849 2004-02-25  Robert Dewar  <dewar@gnat.com>
5850
5851         * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
5852         55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
5853         5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
5854         5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
5855         5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
5856         5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
5857         the defining instance of the type to avoid aliasing problems.
5858         Fix copyright header.  Fix bad comments in package header.
5859
5860         * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
5861
5862 2004-02-25  Ed Schonberg  <schonberg@gnat.com>
5863
5864         * exp_ch2.adb (Param_Entity): Handle properly formals that have been
5865         rewritten as references when aliased through an address clause.
5866
5867         * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
5868         whether call can be interpreted as an indirect call to the result of a
5869         parameterless function call returning an access subprogram.
5870
5871 2004-02-25  Arnaud Charlet  <charlet@act-europe.fr>
5872
5873         Code clean up:
5874         * exp_ch7.adb (Make_Clean): Remove generation of calls to
5875         Unlock[_Entries], since this is now done by Service_Entries directly.
5876
5877         * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
5878
5879         * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
5880         Requeue_Call for better code readability. Change spec and update calls:
5881         PO_Service_Entries now unlock the PO on exit.
5882         (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
5883         PO_Service_Entries.
5884
5885         * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
5886
5887         * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
5888
5889 2004-02-25  Sergey Rybin  <rybin@act-europe.fr>
5890
5891         * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
5892         protected subprogram call and analyzing the result of such expanding
5893         in case when the called protected subprogram is eliminated.
5894
5895         * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
5896         names.
5897
5898 2004-02-25  Jerome Guitton  <guitton@act-europe.fr>
5899
5900         * Makefile.in: Clean ups.
5901
5902 2004-02-23  Ed Schonberg  <schonberg@gnat.com>
5903
5904         * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
5905         protected operations if original subprogram is flagged as eliminated.
5906         (Expand_N_Subprogram_Body): For a protected operation, create
5907         discriminals for next operation before checking whether the operation
5908         is eliminated.
5909
5910         * exp_ch9.adb (Expand_N_Protected_Body,
5911         Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
5912         for internal protected operations if the original subprogram is
5913         eliminated.
5914
5915         * sem_elim.adb (Check_Eliminated): Handle properly protected operations
5916         declared in a single protected object.
5917
5918 2004-02-23  Vincent Celier  <celier@gnat.com>
5919
5920         * prj-attr.adb: Make attribute Builder'Executable an associative array,
5921         case insensitive if file names are case insensitive, instead of a
5922         standard associative array.
5923
5924         * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
5925         them as case insensitive on platforms where the file names are case
5926         sensitive.
5927
5928         * prj-part.adb (Parse_Single_Project): Make sure, when checking if
5929         project file has already been parsed that canonical path are compared.
5930
5931 2004-02-23  Robert Dewar  <dewar@gnat.com>
5932
5933         * sinput-c.ads: Correct bad unit title in header
5934
5935         * freeze.adb: Minor reformatting
5936
5937 2004-02-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5938
5939         * trans.c (tree_transform, case N_Procedure_Call_Statement): For
5940         nonaddressable COMPONENT_REF that is removing padding that we are
5941         taking the address of, take the address of the padded record instead
5942         if item is variable size.
5943
5944 2004-02-20  Robert Dewar  <dewar@gnat.com>
5945
5946         * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
5947
5948 2004-02-20  Ed Schonberg  <schonberg@gnat.com>
5949
5950         * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
5951         itype references for the constrained designated type of a component
5952         whose base type is already frozen.
5953
5954 2004-02-20  Arnaud Charlet  <charlet@act-europe.fr>
5955
5956         * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
5957         avoid GCC warnings.
5958
5959 2004-02-20  Sergey Rybin  <rybin@act-europe.fr>
5960
5961         * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
5962         identifier for a phantom package that rewrites the formal package
5963         declaration with a box. The Add semantic decorations for the defining
5964         identifier from the original node (that represents the formal package).
5965
5966 2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
5967
5968         * Make-lang.in (ada/stamp-sdefault): Use the top level
5969         move-if-change.
5970
5971 2004-02-19  Richard Henderson  <rth@redhat.com>
5972
5973         * misc.c (record_code_position): Add third build arg for RTL_EXPR.
5974
5975 2004-02-18  Emmanuel Briot  <briot@act-europe.fr>
5976
5977         * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
5978         Scan_ALI can be used for multiple ALI files without reinitializing
5979         between calls.
5980
5981 2004-02-18  Robert Dewar  <dewar@gnat.com>
5982
5983         * debug.adb: Minor reformatting.
5984
5985 2004-02-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5986
5987         * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
5988         to zero if there is an address clause.
5989
5990 2004-02-18  Thomas Quinot  <quinot@act-europe.fr>
5991
5992         * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
5993
5994 2004-02-18  Gary Dismukes  <dismukes@gnat.com>
5995
5996         * layout.adb (Layout_Component_List): Revise generation of call to
5997         discriminant-checking function to pass selections of all of the type's
5998         discriminants rather than just the variant-controlling discriminant.
5999
6000 2004-02-18  Olivier Hainque  <hainque@act-europe.fr>
6001
6002         * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
6003         fail in the current setup and triggers spurious system error messages.
6004         Pretend it occurred and failed instead.
6005
6006 2004-02-18  Vincent Celier  <celier@gnat.com>
6007
6008         * bld.adb: Mark FLDFLAGS as saved
6009         (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
6010         it is not the root project.  Put each directory to be
6011         extended between double quotes to prevent it to be expanded on Windows.
6012         (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
6013         the project file. Set them back to their initial values if they have not
6014         been set in the project file.
6015
6016         * gprcmd.adb: (Gprdebug, Debug): New global variables
6017         (Display_Command): New procedure
6018         (Usage): Document new command "linkopts"
6019         Call Display_Command when env var GPRDEBUG has the value "TRUE"
6020         Implement new command "linkopts"
6021         Remove quotes that may be around arguments for "extend"
6022         Always call Normalize_Pathname with arguments formatted for the platform
6023
6024         * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
6025         Change @echo to @$(display) in target clean to be able to clean silently
6026
6027         * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
6028
6029         * prj-part.adb (Project_Path_Name_Of): Do not put final result in
6030         canonical case.
6031
6032         * prj-part.adb (Parse_Single_Project): Always call with From_Extended
6033         = Extending_All when current project is an extending all project.
6034
6035         * vms_conv.adb (Output_File_Expected): New Boolean global variable,
6036         set to True only for LINK command, after Unix switch -o.
6037         (Process_Arguments): Set Output_File_Expected to True for LINK command
6038         after Unix switch -o. When Output_File_Expected is True, never add an
6039         extension to a file name.
6040
6041         * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
6042         option file name, only to the --for-linker= switch.
6043         (Option_File_Name): If option file name do not end with ".opt", append
6044         "/OPTIONS".
6045
6046 2004-02-18  GNAT Script  <nobody@gnat.com>
6047
6048         * Make-lang.in: Makefile automatically updated
6049
6050 2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
6051
6052         * Make-lang.in (stamp-sdefault): Do not depend on
6053         move-if-change.
6054
6055 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
6056
6057         * config-lang.in: Disable Ada by default until probe logic for
6058         a bootstrap Ada compiler can be moved to the top level configure
6059         script.
6060
6061 2004-02-12  Olivier Hainque  <hainque@act-europe.fr>
6062
6063         * decl.c (components_to_record): Don't claim that the internal fields
6064         we make to hold the variant parts are semantically addressable, because
6065         they are not.
6066
6067         * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
6068         adjust the comment describing the modular type form when we can use it.
6069         (Install_PAT): Account for the Esiz renaming.
6070
6071         * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
6072         sc_onstack context indication before raising the exception to which
6073         the signal is mapped. Allows better handling of later signals possibly
6074         triggered by the resumed user code if the exception is handled.
6075
6076 2004-02-12  Arnaud Charlet  <charlet@act-europe.fr>
6077
6078         * 5zinit.adb: Removed, no longer used.
6079
6080 2004-02-12  Robert Dewar  <dewar@gnat.com>
6081
6082         * ali.adb: Remove separating space between parameters on R line. Makes
6083         format consistent with format used by the binder for Set_Globals call.
6084
6085         * atree.ads, atree.adb: Minor reformatting (new function header format)
6086
6087         * bindgen.adb: Add Run-Time Globals documentation section containing
6088         detailed documentation of the globals passed from the binder file to
6089         the run time.
6090
6091         * gnatls.adb: Minor reformatting
6092
6093         * init.c (__gnat_set_globals): Add note pointing to documentation in
6094         bindgen.
6095
6096         * lib-writ.ads, lib-writ.adb: Remove separating space between
6097         parameters on R line.
6098         Makes format consistent with format used by the binder for Set_Globals
6099         call.
6100
6101         * osint.ads: Add 2004 to copyright notice
6102         Minor reformatting
6103
6104         * snames.ads: Correct capitalization of FIFO_Within_Priorities
6105         Noticed during code reading, documentation issue only
6106
6107         * usage.adb: Remove junk line for obsolete C switch
6108         Noticed during code reading
6109
6110 2004-02-12  Vincent Celier  <celier@gnat.com>
6111
6112         * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
6113         extend for each directory, so that multiple /** directories are
6114         extended individually.
6115         (Recursive_Process): Set the default for LANGUAGES to ada
6116
6117         * gprcmd.adb: Define new command "ignore", to do nothing.
6118         Implement new comment "path".
6119
6120         * Makefile.generic: Suppress output when SILENT is set
6121         Make sure that when compiler for C/C++ is gcc, the correct -x switch is
6122         used, so that the correct compiler is invoked.
6123         When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
6124         CXX_INCLUDE_PATH, to avoid failure with too long command lines.
6125
6126 2004-02-12  Jerome Guitton  <guitton@act-europe.fr>
6127
6128         * Makefile.in: Clean ups and remove obsolete targets.
6129
6130 2004-02-12  Ed Schonberg  <schonberg@gnat.com>
6131
6132         * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
6133         predicate declared in exp_util.
6134
6135         * exp_util.adb: Add comments.
6136
6137         * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
6138         visibility before compiling context of the subunit.
6139
6140         * sem_res.adb (Check_Parameterless_Call): If the context expects a
6141         value but the name is a procedure, do not attempt to analyze as a call,
6142         in order to obtain more telling diagnostics.
6143
6144         * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
6145         'Access on parameterless function calls.
6146         (Normalize_Actuals): For a parameterless function call with missing
6147         actuals, defer diagnostic until resolution of enclosing call.
6148
6149         * sem_util.adb (Wrong_Type): If the context type is an access to
6150         subprogram and the expression is a procedure name, suggest a missing
6151         'attribute.
6152
6153 2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>,
6154             Nathanael Nerode  <neroden@gcc.gnu.org>
6155
6156         PR ada/6637, PR ada/5911
6157         Merge with libada-branch:
6158         * config-lang.in: Build libada only when ada is built.
6159
6160 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
6161
6162         * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
6163         for a tagged type, verify that both formals have the same type.
6164
6165         * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
6166         temporary when the formal is an in-parameter and the actual a possibly
6167         unaligned slice.
6168
6169         * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
6170         when expansion is disabled, to ensure proper name capture with
6171         overloaded literals.  Condition can be of any boolean type, resolve
6172         accordingly.
6173
6174         * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
6175         renaming is for a formal subprogram with a default operator name, and
6176         there is a usable operator that is visible at the point of
6177         instantiation.
6178
6179 2004-02-09  Robert Dewar  <dewar@gnat.com>
6180
6181         * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
6182         rewrite to ignore errors in ali files, intended to allow tools downward
6183         compatibility with new versions of ali files.
6184
6185         * ali.ads: Add new parameter Ignore_Errors
6186
6187         * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
6188         duplicating the error message giving the file with restrictions.
6189
6190         * debug.adb: Add debug flag I for gnatbind
6191
6192         * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
6193         operators for the case where the operator is a defining operator.
6194
6195         * exp_ch3.adb: Minor reformatting (new function spec format).
6196
6197         * exp_ch4.adb: Add comment for previous change, and make minor
6198         adjustment to loop to always check for improper loop termination.
6199         Minor reformatting throughout (new function spec format).
6200
6201         * gnatbind.adb: Implement -di debug flag for gnatbind
6202
6203         * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
6204
6205         * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
6206
6207         * lib-load.adb: Fix bad assertion.
6208         Found by testing and code reading.
6209         Minor reformatting.
6210
6211         * lib-load.ads: Minor reformatting.
6212
6213         * lib-writ.adb: There is only one R line now.
6214
6215         * lib-writ.ads: Add documentation on making downward compatible changes
6216         to ali files so old tools work with new ali files.
6217         There is only one R line now.
6218         Add documentation on format incompatibilities (with special GPS note)
6219
6220         * namet.ads, namet.adb: (Is_Operator_Name): New procedure
6221
6222         * par-load.adb: Minor reformatting
6223
6224         * sem_ch8.adb: Fix to error message from last update
6225         Minor reformatting and restructuring of code from last update
6226
6227         * par-prag.adb, snames.adb, snames.ads, snames.h,
6228         sem_prag.adb: Implement pragma Profile.
6229
6230         * stylesw.adb: Implement -gnatyN switch to turn off all style check
6231         options.
6232
6233         * usage.adb: Add line for -gnatyN switch
6234
6235         * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
6236
6237 2004-02-09  Albert Lee  <lee@gnat.com>
6238
6239         * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
6240
6241 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
6242
6243         * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
6244         slices.
6245
6246         * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
6247         is nested in an instance that is not frozen yet, to avoid
6248         order-of-elaboration problems in gigi.
6249
6250         * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
6251         body the attribute is legal.
6252
6253 2004-02-09  Robert Dewar  <dewar@gnat.com>
6254
6255         * s-rident.ads: Minor comment correction
6256
6257         * targparm.adb: Remove dependence on uintp completely. There was
6258         always a bug in Make in that it called Targparm before initializing
6259         the Uint package. The old code appeared to get away with this, but
6260         the new code did not! This caused an assertion error in gnatmake.
6261
6262         * targparm.ads: Fix bad comment, restriction pragmas with parameters
6263         are indeed fully supported.
6264
6265 2004-02-06  Alan Modra  <amodra@bigpond.net.au>
6266
6267         * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
6268
6269 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
6270
6271         * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
6272         with targetm.calls.promote_prototypes.
6273
6274 2004-02-04  Robert Dewar  <dewar@gnat.com>
6275
6276         * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
6277         ali.ads, gprcmd.adb: Minor reformatting
6278
6279         * bindgen.adb: Output restrictions string for new style restrictions
6280         handling
6281
6282         * impunit.adb: Add s-rident.ads (System.Rident) and
6283         s-restri (System.Restrictions)
6284
6285         * lib-writ.adb: Fix bug in writing restrictions string (last few
6286         entries wrong)
6287
6288         * s-restri.ads, s-restri.adb: Change name Restrictions to
6289         Run_Time_Restrictions to avoid conflict with package name.
6290         Add circuit to read and acquire run time restrictions.
6291
6292 2004-02-04  Jose Ruiz  <ruiz@act-europe.fr>
6293
6294         * restrict.ads, restrict.adb: Use the new restriction
6295         No_Task_Attributes_Package instead of the old No_Task_Attributes.
6296
6297         * sem_prag.adb: No_Task_Attributes is a synonym of
6298         No_Task_Attributes_Package.
6299
6300         * snames.ads, snames.adb: New entry for proper handling of
6301         No_Task_Attributes.
6302
6303         * s-rident.ads: Adding restriction No_Task_Attributes_Package
6304         (AI-00249) that supersedes the GNAT specific restriction
6305         No_Task_Attributes.
6306
6307 2004-02-04  Ed Schonberg  <schonberg@gnat.com>
6308
6309         * sem_prag.adb:
6310         (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
6311          body, an identifier may be wrapped in an unchecked conversion.
6312
6313 2004-02-04  Vincent Celier  <celier@gnat.com>
6314
6315         * lib-writ.ads: Comment update for the W lines
6316
6317         * bld.adb: (Expression): An empty string list is static
6318
6319         * fname-uf.adb: Minor comment update
6320
6321         * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
6322
6323         * gnatbind.adb: Initialize Cumulative_Restrictions with the
6324         restrictions on the target.
6325
6326 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
6327
6328         * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
6329         gen_rtx.
6330
6331 2004-02-02  Arnaud Charlet  <charlet@gnat.com>
6332
6333         * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
6334
6335 2004-02-02  Vincent Celier  <celier@gnat.com>
6336
6337         * gprcmd.adb (Check_Args): If condition is false, print the invoked
6338         comment before the usage.
6339         Gprcmd: Fail when command is not recognized.
6340         (Usage): Document command "prefix"
6341
6342         * g-md5.adb (Digest): Process last block.
6343         (Update): Do not process last block. Store remaining characters and
6344         length in Context.
6345
6346         * g-md5.ads (Update): Document that several call to update are
6347         equivalent to one call with the concatenated string.
6348         (Context): Add fields to allow new Update behaviour.
6349
6350         * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
6351         defaulted to False.
6352         When May_Fail is True and no existing file can be found, return No_File.
6353
6354         * 6vcstrea.adb: Inlined functions are now wrappers to implementation
6355         functions.
6356
6357         * lib-writ.adb (Write_With_Lines): When body file does not exist, use
6358         spec file name instead on the W line.
6359
6360 2004-02-02  Robert Dewar  <dewar@gnat.com>
6361
6362         * ali.adb: Read and acquire info from new format restrictions lines
6363
6364         * bcheck.adb: Add circuits for checking restrictions with parameters
6365
6366         * bindgen.adb: Output dummy restrictions data
6367         To be changed later
6368
6369         * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
6370         exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
6371         freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
6372         sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
6373         sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
6374
6375         * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
6376         the warning message on access to possibly uninitialized variable S)
6377         Minor changes for new restrictions handling.
6378
6379         * gnatbind.adb: Minor reformatting
6380         Minor changes for new restrictions handling
6381         Move circuit for -r processing here from bcheck (cleaner)
6382
6383         * gnatcmd.adb, gnatlink.adb: Minor reformatting
6384
6385         * lib-writ.adb: Output new format restrictions lines
6386
6387         * lib-writ.ads: Document new R format lines for new restrictions
6388         handling.
6389
6390         * s-restri.ads/adb: New files
6391
6392         * Makefile.rtl: Add entry for s-restri.ads/adb
6393
6394         * par-ch3.adb: Fix bad error messages starting with upper case letter
6395         Minor reformatting
6396
6397         * restrict.adb: Major rewrite throughout for new restrictions handling
6398         Major point is to handle restrictions with parameters
6399
6400         * restrict.ads: Major changes in interface to handle restrictions with
6401         parameters. Also generally simplifies setting of restrictions.
6402
6403         * snames.ads/adb: New entry for proper handling of No_Requeue
6404
6405         * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
6406         restriction counting.
6407         Other minor changes for new restrictions handling
6408
6409         * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
6410         Restriction_Warnings now allows full parameter notation
6411         Major rewrite of Restrictions for new restrictions handling
6412
6413 2004-02-02  Javier Miranda  <miranda@gnat.com>
6414
6415         * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
6416         syntax rule for object renaming declarations.
6417         (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
6418         component definitions.
6419
6420         * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
6421         components.
6422         (Array_Type_Declaration): Give support to access components. In addition
6423         it was also modified to reflect the name of the object in anonymous
6424         array types. The old code did not take into account that it is possible
6425         to have an unconstrained anonymous array with an initial value.
6426         (Check_Or_Process_Discriminants): Allow access discriminant in
6427         non-limited types.
6428         (Process_Discriminants): Allow access discriminant in non-limited types
6429         Initialize the new Access_Definition field in N_Object_Renaming_Decl
6430         node.  Change Ada0Y to Ada 0Y in comments
6431
6432         * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
6433         equality operators.
6434         Change Ada0Y to Ada 0Y in comments
6435
6436         * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
6437         renamings Change Ada0Y to Ada 0Y in comments
6438
6439         * sem_type.adb (Find_Unique_Type): Give support to the equality
6440         operators for universal access types
6441         Change Ada0Y to Ada 0Y in comments
6442
6443         * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
6444
6445         * sinfo.ads (N_Component_Definition): Addition of Access_Definition
6446         field.
6447         (N_Object_Renaming_Declaration): Addition of Access_Definition field
6448         Change Ada0Y to Ada 0Y in comments
6449
6450         * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
6451         component definition and object renaming nodes
6452         Change Ada0Y to Ada 0Y in comments
6453
6454 2004-02-02  Jose Ruiz  <ruiz@act-europe.fr>
6455
6456         * restrict.adb: Use the new restriction identifier
6457         No_Requeue_Statements instead of the old No_Requeue for defining the
6458         restricted profile.
6459
6460         * sem_ch9.adb (Analyze_Requeue): Check the new restriction
6461         No_Requeue_Statements.
6462
6463         * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
6464         that supersedes the GNAT specific restriction No_Requeue. The later is
6465         kept for backward compatibility.
6466
6467 2004-02-02  Ed Schonberg  <schonberg@gnat.com>
6468
6469         * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
6470         5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
6471         pragma and fix incorrect ones.
6472
6473         * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
6474         warning if the pragma is redundant.
6475
6476 2004-02-02  Thomas Quinot  <quinot@act-europe.fr>
6477
6478         * 5staprop.adb: Add missing 'constant' keywords.
6479
6480         * Makefile.in: use consistent value for SYMLIB on
6481         platforms where libaddr2line is supported.
6482
6483 2004-02-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6484
6485         * utils.c (end_subprog_body): Do not call rest_of_compilation if just
6486         annotating types.
6487
6488 2004-02-02  Olivier Hainque  <hainque@act-europe.fr>
6489
6490         * init.c (__gnat_install_handler): Setup an alternate stack for signal
6491         handlers in the environment thread. This allows proper propagation of
6492         an exception on stack overflows in this thread even when the builtin
6493         ABI stack-checking scheme is used without support for a stack reserve
6494         region.
6495
6496         * utils.c (create_field_decl): Augment the head comment about bitfield
6497         creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
6498         here, because the former is not accurate enough at this point.
6499         Let finish_record_type decide instead.
6500         Don't make a bitfield if the field is to be addressable.
6501         Always set a size for the field if the record is packed, to ensure the
6502         checks for bitfield creation are triggered.
6503         (finish_record_type): During last pass over the fields, clear
6504         DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
6505         not covered by the calls to layout_decl.  Adjust DECL_NONADDRESSABLE_P
6506         from DECL_BIT_FIELD.
6507
6508 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
6509
6510         * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
6511         (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
6512         (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
6513
6514 2004-01-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6515
6516         * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
6517
6518         * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
6519         (ZCX_By_Default): Likewise.
6520         (Front_End_ZCX_Support): Likewise.
6521
6522         * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
6523         (Initialize_Lock): Mark Level unreferenced.
6524         (Sleep): Mark Reason unreferenced.
6525         (Timed_Sleep): Likewise.
6526         (Wakeup): Likewise.
6527         (Exit_Task): Use Result.
6528         (Check_No_Locks): Mark Self_ID unreferenced.
6529
6530         * 5gtasinf.adb (New_Sproc): Make Attr constant.
6531         (Bound_Thread_Attributes): Make Sproc constant.
6532         (New_Bound_Thread_Attributes): Likewise.
6533
6534 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
6535
6536         * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
6537         one-dimensional array an slice assignments, when component type is
6538         controlled.
6539
6540         * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
6541         component type is controlled, and control_actions are in effect, use
6542         TSS procedure rather than generating inline code.
6543
6544         * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
6545         arrays with controlled components.
6546
6547 2004-01-26  Vincent Celier  <celier@gnat.com>
6548
6549         * gnatcmd.adb (GNATCmd): Add specification of argument file on the
6550         command line for the non VMS case.
6551
6552         * gnatlink.adb (Process_Binder_File): When building object file, if
6553         GNU linker is used, put all object paths between quotes, to prevent ld
6554         error when there are unusual characters (such as '!') in the paths.
6555
6556         * Makefile.generic: When there are sources in Ada and the main is in
6557         C/C++, invoke gnatmake with -B, instead of -z.
6558
6559         * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
6560         from VMS_Conversion.
6561         (Process_Argument): New procedure, extracted from VMS_Conversion. Add
6562         specification of argument file on the command line.
6563
6564 2004-01-26  Bernard Banner  <banner@gnat.com>
6565
6566         * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
6567
6568 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
6569
6570         * snames.adb: Update copyright notice.
6571         Add info on slice assignment for controlled arrays.
6572
6573 2004-01-23  Robert Dewar  <dewar@gnat.com>
6574
6575         * exp_aggr.adb: Minor reformatting
6576
6577         * exp_ch9.adb: Minor code clean up
6578         Minor reformatting
6579         Fix bad character in comment
6580
6581         PR ada/13471
6582         * targparm.adb (Get_Target_Parameters): Give clean abort error on
6583         unexpected end of file, along with more detailed message.
6584
6585 2004-01-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6586
6587         * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
6588         PAT.
6589
6590         * decl.c (copy_alias_set): New function.
6591         (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
6592
6593 2004-01-23  Doug Rupp  <rupp@gnat.com>
6594
6595         * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
6596         lib$${file} in case subsequent character is not a separator.
6597
6598 2004-01-23  Vincent Celier  <celier@gnat.com>
6599
6600         * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
6601         when the GCC version is at least 3.
6602
6603         * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
6604         Remove all "Opt.", to prepare for opt split
6605
6606         * prj-part.adb (Parse_Single_Project): New Boolean out parameter
6607         Extends_All. Set to True when the project parsed is an extending all
6608         project. Fails for importing an extending all project only when the
6609         imported project is an extending all project.
6610         (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
6611         depending on the value of Extends_All returned.
6612
6613         * prj-proc.adb (Process): Check that no project shares its object
6614         directory with a project that extends it, directly or indirectly,
6615         including a virtual project.
6616         Check that no project extended by another project shares its object
6617         directory with another also extended project.
6618
6619         * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
6620         Kind = N_With_Clause
6621
6622         * prj-tree.ads: Minor reformatting
6623         Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
6624
6625 2004-01-23  Ed Schonberg  <schonberg@gnat.com>
6626
6627         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
6628         applies to a type with an incomplete view, use full view in Name of
6629         clause, for consistency with uses of Get_Attribute_Definition_Clause.
6630
6631 2004-01-23  Arnaud Charlet  <charlet@act-europe.fr>
6632
6633         * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
6634         SCHED_RR, since other values are not supported by this policy.
6635         (Initialize): Move initialization of mutex attribute to package
6636         elaboration, to prevent early access to this variable.
6637
6638         * Makefile.in: Remove mention of Makefile.adalib, unused.
6639
6640         * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
6641         1ssecsta.ads: Removed, unused.
6642
6643 2004-01-21  Javier Miranda  <miranda@gnat.com>
6644
6645         * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
6646         entity if already built in the current scope.
6647
6648         * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
6649         reminder in internal scopes. Required for nested limited aggregates.
6650
6651 2004-01-21  Doug Rupp  <rupp@gnat.com>
6652
6653         * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
6654         VMS. Replace all occurences of libgnat- and libgnarl- with
6655         libgnat$(hyphen) and libgnarl$(hyphen).
6656         Fixed shared library build problem on VMS.
6657
6658 2004-01-21  Robert Dewar  <dewar@gnat.com>
6659
6660         * mlib-prj.adb: Minor reformatting
6661
6662 2004-01-21  Thomas Quinot  <quinot@act-europe.fr>
6663
6664         * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
6665         'constant' keywords for declaration of pointers that are not modified.
6666
6667         * exp_pakd.adb: Fix English in comment.
6668
6669 2004-01-21  Ed Schonberg  <schonberg@gnat.com>
6670
6671         PR ada/10889
6672         * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
6673         copy all attributes of the parent, including the foreign language
6674         convention.
6675
6676 2004-01-21  Sergey Rybin  <rybin@act-europe.fr>
6677
6678         PR ada/10565
6679         * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
6680         for 'delay until' statement.
6681
6682 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
6683
6684         * Make-lang.in: Replace $(docdir) with doc.
6685         (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
6686         doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
6687         to use consistent MAKEINFO rule.
6688         (ada.man, ada.srcman): Dummy entry.
6689         (ADA_INFOFILES): Define.
6690         (ada.info, ada.srcinfo): New rules.
6691
6692 2004-01-19  Arnaud Charlet  <charlet@act-europe.fr>
6693
6694         * utils.c: Update copyright notice, missed in previous change.
6695
6696 2004-01-19  Vincent Celier  <celier@gnat.com>
6697
6698         * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
6699         args if Bind is True. Set First_ALI, if not already done.
6700         (Build_Library): For Stand Alone Libraries, extract from one ALI file
6701         an eventual --RTS switch, for gnatbind, and all backend switches +
6702         --RTS, for linking.
6703
6704 2004-01-19  Robert Dewar  <dewar@gnat.com>
6705
6706         * sem_attr.adb, memtrack.adb: Minor reformatting
6707
6708 2004-01-19  Ed Schonberg  <schonberg@gnat.com>
6709
6710         * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
6711         that rename enumeration literals. This is properly done in sem_eval.
6712
6713         * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
6714         to functions that rename enumeration literals.
6715
6716         * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
6717         functions that rename enumeration literals.
6718
6719 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
6720
6721         * Make-lang.in (utils.o): Depend on target.h.
6722         * utils.c: Include target.h.
6723         (process_attributes): Use targetm.have_named_sections instead
6724         of ASM_OUTPUT_SECTION_NAME.
6725
6726 2004-01-16  Andreas Jaeger  <aj@suse.de>
6727
6728         * Makefile.in: Add $(DESTDIR).
6729
6730 2004-01-15  Olivier Hainque  <hainque@act-europe.fr>
6731
6732         * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
6733         also when not defining if a Size clause applies. That information is
6734         not to be ignored.
6735
6736 2004-01-15  Arnaud Charlet  <charlet@act-europe.fr>
6737
6738         * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
6739         symbolic links for the shared gnat run time when needed.
6740
6741 2004-01-15  Vasiliy Fofanov  <fofanov@act-europe.fr>
6742
6743         * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
6744         for writing, and terminate with an error message if not.
6745
6746 2004-01-15  Ed Schonberg  <schonberg@gnat.com>
6747
6748         * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
6749         warning on an access to subprogram in an instance, when the target
6750         type is declared in the same generic unit.
6751         (Eval_Attribute): If 'access is known to fail accessibility check,
6752         rewrite as a raise statement.
6753
6754 2004-01-15  GNAT Script  <nobody@gnat.com>
6755
6756         * Make-lang.in: Makefile automatically updated
6757
6758 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
6759
6760         * Make-lang.in (ada.srcextra): Dummy entry.
6761
6762 2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
6763
6764         * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
6765
6766 2004-01-13  Ed Schonberg  <schonberg@gnat.com>
6767
6768         * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
6769         components that are initialized with aggregates.
6770
6771 2004-01-13  Vincent Celier  <celier@gnat.com>
6772
6773         * gnatlink.adb (Process_Binder_File): To find directory of shared
6774         libgcc, if "gcc-lib" is not a subdirectory, look for the last
6775         subdirectory "lib" in the path of the shared libgnat or libgnarl.
6776
6777         * make.adb (Gnatmake): If GCC version is at least 3, link with
6778         -shared-libgcc, when there is at least one shared library project.
6779
6780         * opt.ads (GCC_Version): New integer constant.
6781
6782         * adaint.c (get_gcc_version): New function.
6783
6784 2004-01-13  Robert Dewar  <dewar@gnat.com>
6785
6786         * sem_dist.adb, sem_res.adb, sem_util.adb,
6787         sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
6788         exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
6789
6790 2004-01-13  Thomas Quinot  <quinot@act-europe.fr>
6791
6792         * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
6793         g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
6794         declarations.
6795
6796 2004-01-12  Arnaud Charlet  <charlet@act-europe.fr>
6797
6798         * misc.c: Remove trailing spaces.
6799         Update copyright notice missed in previous change.
6800
6801         PR ada/13572
6802         * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
6803         prefix/share/make
6804
6805         * Makefile.generic: Update copyright.
6806         Add license notice.
6807
6808         * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
6809         of prefix/share/make.
6810
6811         * Makefile.prolog: Update copyright.
6812         Add license notice.
6813
6814 2004-01-12  Laurent Pautet  <pautet@act-europe.fr>
6815
6816         * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
6817         3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
6818         g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
6819         instead of String.
6820
6821         * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
6822         signature.
6823
6824 2004-01-12  Javier Miranda  <miranda@gnat.com>
6825
6826         * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
6827         exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
6828         sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
6829         sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
6830         Component_Definition node.
6831
6832 2004-01-12  Ed Falis  <falis@gnat.com>
6833
6834         * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
6835
6836 2004-01-12  Thomas Quinot  <quinot@act-europe.fr>
6837
6838         * link.c: Change default libgnat kind to STATIC for FreeBSD.
6839
6840 2004-01-12  Bernard Banner  <banner@gnat.com>
6841
6842         * Makefile.in: map 86numaux to a-numaux for x86_64
6843
6844 2004-01-12  Ed Schonberg  <schonberg@gnat.com>
6845
6846         * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
6847         generated to rename a generic actual, go to the actual itself, the
6848         subtype is not a user-visible entity.
6849
6850         * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
6851         part is a private subtype, reset the visibility of its full view, if
6852         any, to be consistent.
6853
6854         PR ada/13417
6855         * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
6856         to use a generic package G as a formal package for another generic
6857         declared within G.
6858
6859 2004-01-12  Robert Dewar  <dewar@gnat.com>
6860
6861         * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
6862
6863         * usage.adb: Remove mention of obsolete -gnatwb switch
6864         Noticed during code reading
6865
6866 2004-01-12  Jerome Guitton  <guitton@act-europe.fr>
6867
6868         * 1ssecsta.adb: Minor changes for -gnatwa warnings
6869
6870 2004-01-12  GNAT Script  <nobody@gnat.com>
6871
6872         * Make-lang.in: Makefile automatically updated
6873
6874 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
6875
6876         * misc.c (gnat_expand_expr): Add alt_rtl parameter.
6877
6878 2004-01-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6879
6880         * link.c [sgi] (shared_libgnat_default): Change to STATIC.
6881
6882 2004-01-05  Kelley Cook  <kcook@gcc.gnu.org>
6883
6884         * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
6885         Update comment and copyright date.
6886         * stamp-xgnatug: Delete.
6887
6888 2004-01-05  Robert Dewar  <dewar@gnat.com>
6889
6890         * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
6891         be modified by the binder generated main program if the -D switch is
6892         used.
6893
6894         * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
6895         imported functions (since now we expect this to be done for imported
6896         functions)
6897
6898         * 5vtaprop.adb: Add several ??? for sections requiring more comments
6899         Minor reformatting throughout
6900
6901         * 5zinit.adb: Minor reformatting
6902         Add 2004 to copyright date
6903         Minor changes to avoid -gnatwa warnings
6904         Correct some instances of using OR instead of OR ELSE (noted while
6905         doing reformatting)
6906
6907         * sprint.adb: Minor updates to avoid -gnatwa warnings
6908
6909         * s-secsta.ads, s-secsta.adb:
6910         (SS_Get_Max): New function to obtain high water mark for ss stack
6911         Default_Secondary_Stack is not a constant since it may be modified by
6912         the binder generated main program if the -D switch is used.
6913
6914         * switch-b.adb: New -Dnnn switch for binder
6915
6916         * switch-c.adb:
6917         Make -gnatg imply all warnings currently in -gnatwa
6918
6919         * vms_conv.adb: Minor reformatting
6920         Add 2004 to copyright notice
6921         Add 2004 to printed copyright notice
6922
6923         * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
6924         3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
6925         5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
6926         5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
6927         5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
6928         5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
6929         5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
6930         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
6931         5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
6932         5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
6933         6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
6934         vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
6935         xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
6936         sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
6937         checks.adb, clean.adb, cstand.adb, einfo.ads,
6938         einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
6939         exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
6940         prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
6941         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
6942         g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
6943         lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
6944         Minor reformatting and code clean ups.
6945         Minor changes to prevent -gnatwa warnings
6946
6947         * ali.adb: Minor reformatting and cleanup of code
6948         Acquire new SS indication of secondary stack use from ali files
6949
6950         * a-numaux.ads: Add Pure_Function pragmas for all imported functions
6951         (since now we expect this to be done for imported functions)
6952
6953         * bindgen.adb: Generate call to modify default secondary stack size if
6954         -Dnnn switch given
6955
6956         * bindusg.adb: Add line for new -D switch
6957
6958         * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
6959         replacement name for Type_May_Have_Non_Bit_Aligned_Components!
6960         Add circuitry for both records and arrays to avoid gigi
6961         processing if the type involved has non-bit-aligned components
6962
6963         * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
6964         N_String_Literal node always references an E_String_Literal_Subtype
6965         entity. This may not be true in the future.
6966         (Possible_Bit_Aligned_Component): Move processing of
6967         Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
6968
6969         * exp_ch6.adb (Expand_Thread_Body): Pick up
6970         Default_Secondary_Stack_Size as variable so that we get value modified
6971         by possible -Dnnn binder parameter.
6972
6973         * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
6974         (Type_May_Have_Bit_Aligned_Components): New function.
6975
6976         * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
6977         (Type_May_Have_Bit_Aligned_Components): New function.
6978
6979         * fe.h: (Set_Identifier_Casing): Fix prototype.
6980         Add declaration for Sem_Elim.Eliminate_Error_Msg.
6981         Minor reformatting.
6982
6983         * freeze.adb (Freeze_Entity): Add RM reference to error message about
6984         importing constant atomic/volatile objects.
6985         (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
6986         unless explicit Pure_Function pragma given, to avoid insidious bug of
6987         call to non-pure imported function getting eliminated.
6988
6989         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
6990         gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
6991         gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
6992         Add 2004 to printed copyright notice
6993
6994         * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
6995         stack used.
6996
6997         * Makefile.rtl: Add entry for g-sestin.o
6998         g-sestin.ads: New file.
6999
7000         * mdll.adb: Minor changes to avoid -gnatwa warnings
7001
7002         * mlib-tgt.adb: Minor reformatting
7003
7004         * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
7005         New switch Sec_Stack_Used (GNAT, GNATBIND)
7006         Make Default_Secondary_Stack_Size a variable instead of a constant,
7007         so that it can be modified by the new -Dnnn bind switch.
7008
7009         * rtsfind.adb (Load_Fail): Give full error message in configurable
7010         run-time mode if all_errors mode is set. This was not done in the case
7011         of a file not found, which was an oversight.
7012         Note if secondary stack unit is used by compiler.
7013
7014         * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
7015         ineffective elaborate all pragmas on non-visible packages (this
7016         happened when a renamed subprogram was called). Now the elaborate all
7017         always goes on the package containing the renaming rather than the one
7018         containing the renamed subprogram.
7019
7020         * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
7021         (Process_Eliminate_Pragma): Add parameter to capture pragma location.
7022
7023         * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
7024         has an Etype that references an E_String_Literal.
7025         (Eval_String_Literal): Avoid assumption that N_String_Literal node
7026         always references an E_String_Literal_Subtype entity. This may not
7027         be true in the future.
7028
7029         * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
7030         pragma location.
7031
7032         * sem_res.adb (Resolve): Specialize msg for function name used in proc
7033         call.
7034
7035 2004-01-05  Ed Falis  <falis@gnat.com>
7036
7037         * g-debuti.adb: Replaced direct boolean operator with short-circuit
7038         form.
7039
7040 2004-01-05  Vincent Celier  <celier@gnat.com>
7041
7042         * bld.adb: Minor comment updates
7043         (Process_Declarative_Items): Correct incorrect name (Index_Name instead
7044         of Item_Name).
7045
7046         * make.adb (Gnatmake): Special process for files to compile/check when
7047         -B is specified. Fail when there are only foreign mains in attribute
7048         Main of the project file and -B is not specified. Do not skip bind/link
7049         steps when -B is specified.
7050
7051         * makeusg.adb: Document new switch -B
7052
7053         * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
7054
7055         * switch-m.adb: (Scan_Make_Switches): Process -B switch
7056
7057         * vms_data.ads: Add new GNAT PRETTY qualifier
7058         /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
7059
7060 2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7061
7062         * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
7063         case.
7064
7065         * misc.c (gnat_printable_name): If VERBOSITY is 2, call
7066         Set_Identifier_Casing.
7067
7068         * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
7069         has size that overflows.
7070
7071 2004-01-05  Gary Dismukes  <dismukes@gnat.com>
7072
7073         * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
7074         -gnatwa warning on static condition.
7075
7076 2004-01-05  Doug Rupp  <rupp@gnat.com>
7077
7078         * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
7079
7080 2004-01-05  Arnaud Charlet  <charlet@act-europe.fr>
7081
7082         * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
7083         all attributes, including read-only attribute.
7084
7085 2004-01-05  Pascal Obry  <obry@gnat.com>
7086
7087         * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
7088         library naming scheme.
7089
7090         * mlib-prj.adb (Build_Library): Generate different names for the static
7091         or dynamic version of the GNAT runtime. This is needed to support the
7092         new shared library naming scheme.
7093         (Process_Binder_File): Add detection of shared library in binder file
7094         based on the new naming scheme.
7095
7096         * gnatlink.adb (Process_Binder_File): Properly detect the new naming
7097         scheme for the shared runtime libraries.
7098
7099         * Makefile.in:
7100         (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
7101         scheme.
7102         (install-gnatlib): Do not create symlinks for shared libraries.
7103         (gnatlib-shared-default): Idem.
7104         (gnatlib-shared-dual-win32): New target. Not used for now as the
7105         auto-import feature does not support arrays/records.
7106         (gnatlib-shared-win32): Do not create copy for the shared libraries.
7107         (gnatlib-shared-vms): Fix shared runtime libraries names.
7108
7109         * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
7110         dependent runtime shared library name.
7111
7112 2004-01-05  Vasiliy Fofanov  <fofanov@act-europe.fr>
7113
7114         * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
7115         than the object.
7116
7117 2004-01-05  Ed Schonberg  <schonberg@gnat.com>
7118
7119         * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
7120         protected objects when allocator has a subtype indication, not a
7121         qualified expression. Note that qualified expressions may have to be
7122         checked when limited aggregates are implemented.
7123
7124         * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
7125         pure, emit warning.
7126         (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
7127         subprogram is imported, remove warning.
7128
7129 2004-01-05  Geert Bosch  <bosch@gnat.com>
7130
7131         * s-poosiz.adb: Update copyright notice.
7132         (Allocate): Use Task_Lock to protect against concurrent access.
7133         (Deallocate): Likewise.
7134
7135 2004-01-05  Joel Brobecker  <brobecker@gnat.com>
7136
7137         * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
7138         comment.
7139
7140 2003-12-23  Kelley Cook  <kcook@gcc.gnu.org>
7141
7142         * gnat_ug.texi: Force a CVS commit by updating copyright.
7143         * gnat_ug_vxw.texi: Regenerate.
7144         * gnat_ug_wnt.texi: Regenerate.
7145         * gnat_ug_vms.texi: Regenerate.
7146         * gnat_ug_unx.texi: Regenerate.
7147
7148 2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
7149
7150         * trans.c: Remove uses of "register" specifier in
7151         declarations of local variables.
7152
7153 2003-12-18  Kelley Cook  <kcook@gcc.gnu.org>
7154
7155         * stamp-xgnatug: New stamp file.
7156         * Make-lang.in (stamp-xgnatug):  New stamp file and comment.
7157         (ada/doctools/xgnatug): Add $(build_exeext).
7158         (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
7159         ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
7160
7161 2003-12-17  Ed Falis  <falis@gnat.com>
7162
7163         * a-elchha.adb (Tailored_Exception_Information): made Info constant to
7164         eliminate warning.
7165
7166         * a-exextr.adb: Add context clause for
7167         Ada.Exceptions.Last_Chance_Handler.
7168
7169 2003-12-17  Sergey Rybin  <rybin@act-europe.fr>
7170
7171         * cstand.adb (Create_Standard): Change the way how the declaration of
7172         the Duration type is created (making it the same way as it is for all
7173         the other standard types).
7174
7175 2003-12-17  Robert Dewar  <dewar@gnat.com>
7176
7177         * s-crtl.ads: Fix header format
7178         Change Pure to Preelaborate
7179
7180 2003-12-17  Ed Schonberg  <schonberg@gnat.com>
7181
7182         * checks.adb (Selected_Length_Checks): Generate an Itype reference for
7183         the expression type only if it is declared in the current unit.
7184
7185         * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
7186         are universal and already analyzed, as can occur in constrained
7187         subcomponents that depend on discriminants, when one constraint is a
7188         subtype mark.
7189
7190         * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
7191         type Any_Fixed is legal as the argument of a conversion, if only one
7192         fixed-point type is in context.
7193
7194 2003-12-17  GNAT Script  <nobody@gnat.com>
7195
7196         * Make-lang.in: Makefile automatically updated
7197
7198 2003-12-15  Robert Dewar  <dewar@gnat.com>
7199
7200         * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
7201         sec stack size.
7202
7203 2003-12-15  Vincent Celier  <celier@gnat.com>
7204
7205         * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
7206         (Gnatchop): Do not set failure status when reporting the number of
7207         warnings.
7208
7209 2003-12-15  Doug Rupp  <rupp@gnat.com>
7210
7211         * s-ctrl.ads: New file.
7212
7213         * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
7214
7215         * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
7216         (GNATBIND_OBJS): Add ada/s-crtl.o.
7217
7218         * Makefile.in [VMS]: Clean up ifeq rules.
7219
7220         * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
7221         a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
7222         g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
7223         s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
7224         s-tasdeb.adb: Update copyright.
7225         Import System.CRTL.
7226         Make minor modifications to use System.CRTL declared functions instead
7227         of importing locally.
7228
7229 2003-12-15  GNAT Script  <nobody@gnat.com>
7230
7231         * Make-lang.in: Makefile automatically updated
7232
7233 2003-12-11  Ed Falis  <falis@gnat.com>
7234
7235         * 5zinit.adb: Clean up.
7236
7237         * 5zintman.adb (Notify_Exception): replaced case statement with a call
7238         to __gnat_map_signal, imported from init.c to support
7239         signal -> exception mappings that depend on the vxWorks version.
7240
7241         * init.c:
7242         Created and exported __gnat_map_signal to support signal -> exception
7243         mapping that is dependent on the VxWorks version.
7244         Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
7245
7246 2003-12-11  Vasiliy Fofanv  <fofanov@act-europe.fr>
7247
7248         * 5wosinte.ads: Link with -mthreads switch.
7249
7250 2003-12-11  Arnaud Charlet  <charlet@act-europe.fr>
7251
7252         * init.c (__gnat_install_handler [NetBSD]): Set
7253         __gnat_handler_installed, as done on all other platforms.
7254         Remove duplicated code.
7255
7256 2003-12-11  Jerome Guitton  <guitton@act-europe.fr>
7257
7258         * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
7259
7260 2003-12-11  Thomas Quinot  <quinot@act-europe.fr>
7261
7262         * sinfo.ads: Fix inconsistent example code in comment.
7263
7264 2003-12-11  Robert Dewar  <dewar@gnat.com>
7265
7266         * a-tiinau.adb: Add a couple of comments
7267
7268         * sem_ch3.adb: Minor reformatting
7269
7270         * sem_prag.adb:
7271         Fix bad prototype of Same_Base_Type in body (code reading cleanup)
7272         Minor reformatting throughout
7273
7274 2003-12-11  Ed Schonberg  <schonberg@gnat.com>
7275
7276         * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
7277         bounds of a loop, create a separate block in order to generate proper
7278         cleanup actions to prevent memory leaks.
7279
7280         * sem_res.adb (Resolve_Call): After a call to
7281         Establish_Transient_Scope, the call may be rewritten and relocated, in
7282         which case no further processing is needed.
7283
7284         * sem_util.adb: (Wrong_Type): Refine previous fix.
7285          Fixes ACATS regressions.
7286
7287         PR ada/13353
7288
7289         * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
7290         be inlined.
7291
7292 2003-12-08  Jerome Guitton  <guitton@act-europe.fr>
7293
7294         * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
7295         i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
7296         obsolete files.
7297
7298         * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
7299         (rts-zfp): Ditto.
7300
7301 2003-12-08  Robert Dewar  <dewar@gnat.com>
7302
7303         * 7sintman.adb: Minor reformatting
7304
7305         * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
7306         standard linker options to get standard libraries linked. We now plan
7307         to provide dummy versions of these libraries to match the appropriate
7308         configurable run-time (e.g. if a library is not needed at all, provide
7309         a dummy empty library).
7310
7311         * targparm.ads: Configurable_Run_Time mode no longer affects linker
7312         options (-L parameters and standard libraries). What we plan to do is
7313         to provide dummy libraries where the libraries are not required.
7314
7315         * gnatbind.adb: Minor comment improvement
7316
7317 2003-12-08  Javier Miranda  <miranda@gnat.com>
7318
7319         * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
7320         aggregate in the parent. Otherwise constants with limited aggregates
7321         are not supported. Add new formal to pass the component type (Ctype).
7322         It is required to call the corresponding IP subprogram in case of
7323         default initialized components.
7324         (Gen_Assign): In case of default-initialized component, generate a
7325         call to the IP subprogram associated with the component.
7326         (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
7327         of aggregate with default initialized components.
7328         (Has_Default_Init_Comps): Improve implementation to recursively check
7329         all the present expressions.
7330
7331         * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
7332         to indicate that the initialization call corresponds to a
7333         default-initialized component of an aggregate.
7334         In case of default initialized aggregate with tasks this parameter is
7335         used to generate a null string (this is just a workaround that must be
7336         improved later). In case of discriminants, this parameter is used to
7337         generate a selected component node that gives access to the discriminant
7338         value.
7339
7340         * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
7341         subprogram, based on Build_Task_Allocate_Block, but adapted to expand
7342         allocated aggregates with default-initialized components.
7343
7344         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
7345         the box notation is used in positional aggregates.
7346
7347 2003-12-08  Samuel Tardieu  <tardieu@act-europe.fr>
7348
7349         * lib.ads: Fix typo in comment
7350
7351 2003-12-08  Vincent Celier  <celier@gnat.com>
7352
7353         * prj.adb (Project_Empty): New component Unkept_Comments
7354         (Scan): Remove procedure; moved to Prj.Err.
7355
7356         * prj.ads (Project_Data): New Boolean component Unkept_Comments
7357         (Scan): Remove procedure; moved to Prj.Err.
7358
7359         * prj-dect.adb: Manage comments for the different declarations.
7360
7361         * prj-part.adb (With_Record): New component Node
7362         (Parse): New Boolean parameter Store_Comments, defaulted to False.
7363         Set the scanner to return ends of line and comments as tokens, if
7364         Store_Comments is True.
7365         (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
7366         comments are associated with these nodes. Store the node IDs in the
7367         With_Records.
7368         (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
7369         With_Records.
7370         (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
7371         the N_Project node. Call Tree.Save and Tree.Reset before scanning the
7372         current project. Call Tree.Restore afterwards. Set the various nodes
7373         for comment storage (Next_End, End_Of_Line, Previous_Line,
7374         Previous_End).
7375
7376         * prj-part.ads (Parse): New Boolean parameter Store_Comments,
7377         defaulted to False.
7378
7379         * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
7380         to False. When Truncated is True, truncate the string, never go to the
7381         next line.
7382         (Write_End_Of_Line_Comment): New procedure
7383         (Print): Process comments for nodes N_With_Clause,
7384         N_Package_Declaration, N_String_Type_Declaration,
7385         N_Attribute_Declaration, N_Typed_Variable_Declaration,
7386         N_Variable_Declaration, N_Case_Construction, N_Case_Item.
7387         Process nodes N_Comment.
7388
7389         * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
7390         without comments and there are some comments, set the flag
7391         Unkept_Comments to True.
7392         (Scan): If there are comments, set the flag Unkept_Comments to True and
7393         clear the comments.
7394         (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
7395         (Next_End_Nodes: New table
7396         (Comment_Zones_Of): New function
7397         (Scan): New procedure; moved from Prj. Accumulate comments in the
7398         Comments table and set end of line comments, comments after, after end
7399         and before end.
7400         (Add_Comments): New procedure
7401         (Save, Restore, Seset_State): New procedures
7402         (There_Are_Unkept_Comments): New function
7403         (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
7404         (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
7405         procedures.
7406         (First_Comment_After, First_Comment_After_End): New functions
7407         (First_Comment_Before, First_Comment_Before_End): New functions
7408         (Next_Comment): New function
7409         (End_Of_Line_Comment, Follows_Empty_Line,
7410         Is_Followed_By_Empty_Line): New functions
7411         (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
7412         (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
7413         (Set_Next_Comment): New procedure
7414         (Default_Project_Node): Associate comment before if the node can store
7415         comments.
7416
7417         * scans.ads (Token_Type): New enumeration value Tok_Comment
7418         (Comment_Id): New global variable
7419
7420         * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
7421         defaulted to False.
7422         (Scan): Store position of start of comment. If comments are tokens, set
7423         Comment_Id and set Token to Tok_Comment when scanning a comment.
7424         (Set_Comment_As_Token): New procedure
7425
7426         * sinput-p.adb: Update Copyright notice
7427         (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
7428         that no longer exists.
7429
7430 2003-12-08  Javier Miranda  <miranda@gnat.com>
7431
7432         * sem_aggr.adb: Add dependence on Exp_Tss package
7433         Correct typo in comment
7434         (Resolve_Aggregate): In case of array aggregates set the estimated
7435         type of the aggregate before calling resolve. This is needed to know
7436         the name of the corresponding IP in case of limited array aggregates.
7437         (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
7438         in case of default initialized array components.
7439
7440         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
7441         types. Required to give support to limited aggregates in generic
7442         formals.
7443
7444 2003-12-08  Ed Schonberg  <schonberg@gnat.com>
7445
7446         * sem_ch3.adb (Check_Initialization): For legality purposes, an
7447         inlined body functions like an instantiation.
7448         (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
7449         until bounds are analyzed, to diagnose premature use of type.
7450
7451         * sem_util.adb (Wrong_Type): Improve error message when the type of
7452         the expression is used prematurely.
7453
7454 2003-12-08  GNAT Script  <nobody@gnat.com>
7455
7456         * Make-lang.in: Makefile automatically updated
7457
7458 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
7459
7460         * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
7461         they are automatically generated by Make-lang.in and cause nothing but
7462         maintenance troubles.
7463
7464 2003-12-05  Thomas Quinot  <quinot@act-europe.fr>
7465
7466         * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
7467         version of this unit).
7468
7469 2003-12-05  Olivier Hainque  <hainque@act-europe.fr>
7470
7471         * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
7472         5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
7473         5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
7474         the body of System.Interrupt_Management common to several targets.
7475         Update copyright notice when appropriate.
7476
7477         * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
7478         constant.
7479
7480         * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
7481         to ensure that the kernel fills in the interrupted context structure
7482         before calling a signal handler, which is necessary to be able to
7483         unwind past it. Update the copyright notice.
7484
7485 2003-12-05  Jerome Guitton  <guitton@act-europe.fr>
7486
7487         * a-elchha.ads: New file.
7488
7489         * a-elchha.adb: New default last chance handler. Contents taken from
7490         Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
7491
7492         * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
7493         is moved to a-elchha.adb to provide a target-independent default last
7494         chance handler.
7495
7496         * Makefile.rtl: Add a-elchha.o
7497
7498         * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
7499
7500 2003-12-05  Ed Schonberg  <schonberg@gnat.com>
7501
7502         * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
7503         declared in an instance, do not inline the call if the instance is not
7504         frozen yet, to prevent order of elaboration problems.
7505
7506         * sem_prag.adb: Add comments for previous fix.
7507
7508 2003-12-05  Samuel Tardieu  <tardieu@act-europe.fr>
7509
7510         * g-table.adb: Use the right variable in Set_Item.
7511         Update copyright notice.
7512
7513 2003-12-05  Arnaud Charlet  <charlet@act-europe.fr>
7514
7515         * Makefile.in: Remove unused rules.
7516
7517 2003-12-05  Vincent Celier  <celier@gnat.com>
7518
7519         * switch-c.adb (Scan_Front_End_Switches): Remove processing of
7520         -nostdlib. Not needed here after all.
7521
7522 2003-12-03  Thomas Quinot  <quinot@act-europe.fr>
7523
7524         PR ada/11724
7525
7526         * adaint.h, adaint.c, g-os_lib.ads:
7527         Do not assume that the offset argument to lseek(2) is a 32 bit integer,
7528         on some platforms (including FreeBSD), it is a 64 bit value.
7529         Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
7530
7531 2003-12-03  Arnaud Charlet  <charlet@act-europe.fr>
7532
7533         * gnatvsn.ads (Library_Version): Now contain only the relevant
7534         version info.
7535         (Verbose_Library_Version): New constant.
7536
7537         * g-spipat.adb, g-awk.adb, g-debpoo.adb,
7538         g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
7539         s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
7540
7541         * gnatlbr.adb: Clean up: replace Library_Version by
7542         Verbose_Library_Version.
7543
7544         * make.adb, lib-writ.adb, exp_attr.adb:
7545         Clean up: replace Library_Version by Verbose_Library_Version.
7546
7547         * 5lintman.adb: Removed.
7548
7549         * Makefile.in:
7550         Update and simplify computation of LIBRARY_VERSION.
7551         Fix computation of GSMATCH_VERSION.
7552         5lintman.adb is no longer used: replaced by 7sintman.adb.
7553
7554 2003-12-03  Robert Dewar  <dewar@gnat.com>
7555
7556         * exp_ch5.adb:
7557         (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
7558         name. Modified to consider small non-bit-packed arrays as troublesome
7559         and in need of component-by-component assigment expansion.
7560
7561 2003-12-03  Vincent Celier  <celier@gnat.com>
7562
7563         * lang-specs.h: Process nostdlib as nostdinc
7564
7565         * back_end.adb: Update Copyright notice
7566         (Scan_Compiler_Arguments): Process -nostdlib directly.
7567
7568 2003-12-03  Jose Ruiz  <ruiz@act-europe.fr>
7569
7570         * Makefile.in:
7571         When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
7572         redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
7573         included in HIE_NONE_TARGET_PAIRS.
7574
7575 2003-12-03  Ed Schonberg  <schonberg@gnat.com>
7576
7577         * sem_attr.adb:
7578         (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
7579         is legal in an instance, because legality is cheched in the template.
7580
7581         * sem_prag.adb:
7582         (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
7583         appplied to an unchecked conversion of a formal parameter.
7584
7585         * sem_warn.adb:
7586         (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
7587         variables.
7588
7589 2003-12-03  Olivier Hainque  <hainque@act-europe.fr>
7590
7591         * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
7592         routines. The second one is new functionality to deal with backtracing
7593         through signal handlers.
7594         (unwind): Split into the two separate subroutines above.
7595         Update the documentation, and deal properly with sizeof (REG) different
7596         from sizeof (void*).
7597
7598 2003-12-01  Nicolas Setton  <setton@act-europe.fr>
7599
7600         * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
7601         so that the debugger can reliably access the value of the parameter,
7602         and therefore is able to display the exception name when an exception
7603         breakpoint is reached.
7604
7605 2003-12-01  Thomas Quinot  <quinot@act-europe.fr>
7606
7607         * fmap.adb: Fix typo in warning message.
7608
7609         * g-socket.ads, g-socket.adb: Make Free a visible instance of
7610         Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
7611
7612 2003-12-01  Vincent Celier  <celier@gnat.com>
7613
7614         * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
7615         ther is no Afile.
7616         (Build_Library): Get the switches only if Default_Switches is declared
7617         in package Binder.
7618
7619 2003-12-01  Ed Schonberg  <schonberg@gnat.com>
7620
7621         * exp_ch6.adb (Expand_Actuals): When applying validity checks to
7622         actuals that are indexed components, reanalyze actual to ensure that
7623         packed array references are properly expanded.
7624
7625         * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
7626         attempted assignment to a discriminant.
7627
7628 2003-12-01  Robert Dewar  <dewar@gnat.com>
7629
7630         * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
7631         reformatting.
7632
7633         * switch-c.adb: Minor reformatting of comments
7634
7635 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
7636
7637         * Makefile.in: Clean ups.
7638
7639 2003-12-01  GNAT Script  <nobody@gnat.com>
7640
7641         * Make-lang.in: Makefile automatically updated
7642
7643 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
7644
7645         * 5wsystem.ads: Disable zero cost exception, not ready yet.
7646
7647 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
7648
7649         * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
7650         to force serialization.
7651
7652 2003-11-26  Thomas Quinot  <quinot@act-europe.fr>
7653
7654         * g-socket.ads, g-socket.adb:
7655         Clarify documentation of function Stream. Introduce a Free procedure
7656         to release the returned Stream once it becomes unused.
7657
7658         * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
7659
7660 2003-11-26  Arnaud Charlet  <charlet@act-europe.fr>
7661
7662         (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
7663         since NT 4 cannot handle timeout values that are too large,
7664         e.g. DWORD'Last - 1.
7665
7666 2003-11-26  Ed Schonberg  <schonberg@gnat.com>
7667
7668         * exp_ch4.adb:
7669         (Expand_N_Slice): Recognize all cases of slices that appear as actuals
7670         in procedure calls and whose expansion must be deferred.
7671
7672         * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
7673         is in exp_ch4.
7674
7675         * sem_ch3.adb:
7676         (Build_Derived_Array_Type): Create operator for unconstrained type
7677         if ancestor is unconstrained.
7678
7679 2003-11-26  Vincent Celier  <celier@gnat.com>
7680
7681         * make.adb (Project_Object_Directory): New global variable
7682         (Change_To_Object_Directory): New procedure
7683         (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
7684         of Change_Dir directly. Do not change working directory to object
7685         directory of main project after each compilation.
7686         (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
7687         directly.
7688         Change to object directory of main project before binding step.
7689         (Initialize): Initialize Project_Object_Directory to No_Project
7690
7691         * mlib-prj.adb:
7692         (Build_Library): Take into account Builder'Default_Switches ("Ada") when
7693         binding a Stand-Alone Library.
7694
7695         * output.adb: Update Copyright notice
7696         (Write_Char): Output buffer when full
7697
7698 2003-11-26  Robert Dewar  <dewar@gnat.com>
7699
7700         * sem_ch13.adb: (Check_Size): Reset size if size is too small
7701
7702         * sem_ch13.ads:
7703         (Check_Size): Fix documentation to include bit-packed array case
7704
7705         * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
7706
7707         * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
7708
7709         * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
7710
7711 2003-11-24  Arnaud Charlet <charlet@act-europe.fr>
7712
7713         PR ada/13142
7714         * utils.c (init_gigi_decls): Change name of built-in setjmp to
7715         __builtin_setjmp, since this is apparently needed by recent
7716         non Ada changes.
7717
7718 2003-11-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7719
7720         * adadecode.c: Only include ctype.h if not IN_GCC.
7721         (__gnat_decode): Use ISDIGIT from safe-ctype.h.
7722
7723 2003-11-24  Jose Ruiz  <ruiz@act-europe.fr>
7724
7725         * Makefile.in:
7726         Use 5zintman.ads for VxWorks targets. This file avoid confusion between
7727         signals and interrupts.
7728
7729         * 5zintman.ads: New File.
7730
7731         * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
7732         add exception signals to the set of unmasked signals.
7733
7734         * 5ztaprop.adb:
7735         Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
7736         between signals and interrupts.
7737         Add to Unblocked_Signal_Mask the set of signals that are in
7738         Keep_Unmasked.
7739
7740         * 7sinmaop.adb:
7741         Adding a check to see whether the Interrupt_ID we want to unmask is in
7742         the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
7743         reason is that the index type of the Keep_Unmasked array is not always
7744         Interrupt_ID; it may be a subtype of Interrupt_ID.
7745
7746 2003-11-24  Gary Dismukes  <dismukes@gnat.com>
7747
7748         * exp_util.adb:
7749         (Remove_Side_Effects): Condition constantness of object created for a
7750          an unchecked type conversion on the constantness of the expression
7751          to ensure the correct value for 'Constrained when passing components
7752          of view-converted class-wide objects.
7753
7754 2003-11-24  Robert Dewar  <dewar@gnat.com>
7755
7756         * par-load.adb (Load): Improve handling of misspelled and missing units
7757         Removes several cases of compilation abandoned messages
7758
7759         * lib.adb: (Remove_Unit): New procedure
7760
7761         * lib.ads: (Remove_Unit): New procedure
7762
7763         * lib-load.adb: Minor reformatting
7764
7765 2003-11-24  Vincent Celier  <celier@gnat.com>
7766
7767         * make.adb:
7768         (Gnatmake, Initialize): Call Usage instead of Makeusg directly
7769         (Marking_Label): Label to mark processed source files. Incremented for
7770         each executable.
7771         (Gnatmake): Increase Marking_Labet for each executable
7772         (Is_Marked): Compare against marking label
7773         (Mark): Mark with marking label
7774
7775 2003-11-24  Jerome Guitton  <guitton@act-europe.fr>
7776
7777         * s-thread.ads:
7778         Move the declaration of the TSD for System.Threads to System.Soft_Links.
7779         Add some comments.
7780
7781         * Makefile.in: Added target pair for s-thread.adb for cert runtime.
7782         (rts-cert): build a single relocatable object for the run-time lib.
7783         Fix perms.
7784
7785 2003-11-24  Vasiliy Fofanov  <fofanov@act-europe.fr>
7786
7787         * Make-lang.in:
7788         Use gnatls rather than gcc to obtain the location of GNAT RTL for
7789         crosstools build.
7790
7791 2003-11-24  Sergey Rybin  <rybin@act-europe.fr>
7792
7793         * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
7794         can not use it as before (that is, as a variable) when dumping it into
7795         the tree file. Add a local variable to store the result of this
7796         function and to be used as the string to be written into the tree.
7797
7798         * scn.adb (Initialize_Scanner): Add comments explaining the recent
7799         changes.
7800
7801         * sinput.adb (Source_First, Source_Last): In case of
7802         Internal_Source_File, replace returning attributes of
7803         Internal_Source_Ptr (which is wrong) with returning attributes of
7804         Internal_Source.
7805
7806 2003-11-24  Ed Schonberg  <schonberg@gnat.com>
7807
7808         * sem_ch3.adb:
7809         (New_Concatenation_Op): Proper name for New_Binary_Operator, only
7810         used for implicit concatenation operators.
7811         Code cleanup.
7812
7813         * sem_elab.adb:
7814         (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
7815         task bodies that are in the scope of a Suppress pragma.
7816         (Check_A Call): Use the flag to prevent spurious elaboration checks.
7817
7818         * sinfo.ads, sinfo.adb:
7819         New flag No_Elaboration_Check on function/procedure calls, to properly
7820         suppress checks on calls in task bodies that are within a local suppress
7821         pragma.
7822
7823         * exp_ch4.adb:
7824         (Expand_Concatenate_Other): Use the proper integer type for the
7825         expression for the upper bound, to avoid universal_integer computations
7826         when possible.
7827
7828 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
7829
7830         * .cvsignore: Delete.
7831
7832 2003-11-21  Andreas Schwab  <schwab@suse.de>
7833
7834         * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
7835
7836 2003-11-21  Vasiliy Fofanov  <fofanov@act-europe.fr>
7837
7838         * 5wsystem.ads: Enable zero cost exception.
7839
7840 2003-11-21  Jerome Guitton  <guitton@act-europe.fr>
7841
7842         * 5ztiitho.adb: Remove an unreferenced variable.
7843
7844 2003-11-21  Thomas Quinot  <quinot@act-europe.fr>
7845
7846         * adaint.c: For FreeBSD, use mkstemp.
7847
7848 2003-11-21  Arnaud Charlet  <charlet@act-europe.fr>
7849
7850         * gnatlbr.adb: Now reference Gnat_Static_Version_String.
7851
7852 2003-11-21  Robert Dewar  <dewar@gnat.com>
7853
7854         * bld.adb: Remove useless USE of gnatvsn
7855
7856         * gnatchop.adb: Minor reformatting
7857         Clean up version handling to be more consistent
7858
7859         * gnatxref.adb: Minor reformatting
7860
7861         * gprcmd.adb: Minor reformatting
7862         Fix output of copyright to be more consistent with other tools
7863
7864 2003-11-21  Vincent Celier  <celier@gnat.com>
7865
7866         * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
7867
7868 2003-11-21  Sergey Rybin  <rybin@act-europe.fr>
7869
7870         * atree.adb (Initialize): Add initializations for global variables
7871         used in New_Copy_Tree.
7872
7873         * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
7874         Internal_Source_File as the actual).
7875         Put the set of statements creating Any_Character before the set of
7876         statements creating Any_Array to have Any_Character fully initialized
7877         when it is used in creating Any_Array.
7878
7879         * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
7880         not call Scan in case if the actual is Internal_Source_File
7881         Add 2003 to copyright note.
7882
7883         * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
7884         processing Internal_Source_File.
7885
7886         * types.ads: Add the constant Internal_Source_File representing the
7887         source buffer for artificial source-code-like strings created within
7888         the compiler (the definition of Source_File_Index is changed).
7889
7890 2003-11-20  Arnaud Charlet  <charlet@act-europe.fr>
7891
7892         * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
7893         56system.ads: New file, FreeBSD version.
7894
7895 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
7896
7897         * Make-lang.in (ada.extraclean): Delete.
7898
7899 2003-11-19  Arnaud Charlet  <charlet@act-europe.fr>
7900
7901         * gnatmem.adb: Clean up verbose output.
7902
7903         * gprcmd.adb: Change copyright to FSF.
7904
7905 2003-11-19  Vincent Celier  <celier@gnat.com>
7906
7907         * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
7908         and Version (ignored).
7909
7910         * symbols.ads: (Policy): New type
7911         (Initialize): New parameter Reference, Symbol_Policy and
7912         Library_Version.
7913         Remove parameter Force.
7914         Minor reformatting.
7915
7916         * snames.ads, snames.adbadb: New standard names
7917         Library_Reference_Symbol_File and Library_Symbol_Policy
7918
7919         * mlib-prj.adb:
7920         (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
7921         project.
7922
7923         * mlib-tgt.adb:
7924         (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
7925
7926         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
7927
7928         * prj.adb: (Project_Empty): New component Symbol_Data
7929
7930         * prj.ads: (Policy, Symbol_Record): New types
7931         (Project_Data): New component Symbol_Data
7932
7933         * prj-attr.adb:
7934         New attributes Library_Symbol_File, Library_Symbol_Policy and
7935         Library_Reference_Symbol_File.
7936
7937         * prj-nmsc.adb:
7938         (Ada_Check): When project is a Stand-Alone library project, process
7939         attribute Library_Symbol_File, Library_Symbol_Policy and
7940         Library_Reference_Symbol_File.
7941
7942         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
7943         5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
7944         5sml-tgt.adb (Build_Dynamic_Library): New parameter
7945         Symbol_Data (ignored).
7946
7947         * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
7948         (Build_Dynamic_Library): New parameter Symbol_Data. New internal
7949         functions Option_File_Name and Version_String. Set new options of
7950         gnatsym related to symbol file, symbol policy and reference symbol
7951         file.
7952
7953         * 5vsymbol.adb:
7954         Extensive modifications to take into account the reference symbol file,
7955         the symbol policy, the library version and to put in the symbol file the
7956         minor and major IDs.
7957
7958         * bld.adb (Process_Declarative_Items): Put second argument of
7959         gprcmd to_absolute between single quotes, to avoid problems with
7960         Windows.
7961
7962         * bld-io.adb: Update Copyright notice.
7963         (Flush): Remove last character of a line, if it is a back slash, to
7964         avoid make problems.
7965
7966         * gnatsym.adb:
7967         Implement new scheme with reference symbol file and symbol policy.
7968
7969         * g-os_lib.ads: (Is_Directory): Clarify comment
7970
7971 2003-11-19  Robert Dewar  <dewar@gnat.com>
7972
7973         * atree.adb: Move New_Copy_Tree global variables to head of package
7974
7975         * errout.adb: Minor reformatting
7976
7977 2003-11-19  Javier Miranda  <miranda@gnat.com>
7978
7979         * sem_ch4.adb: (Diagnose_Call): Improve error message.
7980         Add reference to Ada0Y (AI-50217)
7981
7982         * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
7983         sem_util.adb: Add reference to AI-50217
7984
7985         * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
7986
7987         * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
7988
7989         * sem_aggr.adb: Complete documentation of AI-287 changes
7990
7991         * par-ch4.adb: Document previous changes.
7992
7993         * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
7994         sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
7995         Ada0Y (AI-50217)
7996
7997         * exp_aggr.adb: Add references to AI-287 in previous changes
7998
7999 2003-11-19  Ed Schonberg  <schonberg@gnat.com>
8000
8001         * exp_ch6.adb:
8002         (Add_Call_By_Copy_Node): Do not original node of rewritten expression
8003         in the rewriting is the result of an inlined call.
8004
8005         * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
8006         parameter is a type conversion, use original node to construct the
8007         post-call assignment, because expression may have been rewritten, e.g.
8008         if it is a packed array.
8009
8010         * sem_attr.adb:
8011         (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
8012         body, just as it is in an instance.
8013         Categorization routines
8014
8015         * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
8016         Instantiate_Object): Set proper sloc reference for message on missing
8017         actual.
8018
8019 2003-11-19  Thomas Quinot  <quinot@act-europe.fr>
8020
8021         * Makefile.in: Add FreeBSD libgnat pairs.
8022
8023         * usage.adb: Fix typo in usage message.
8024
8025 2003-11-19  Jerome Guitton  <guitton@act-europe.fr>
8026
8027         * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
8028         s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
8029         pragma Thread_Body.
8030         Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
8031
8032         * s-thread.adb: This file is now a dummy implementation of
8033         System.Thread.
8034
8035 2003-11-19  Sergey Rybin  <rybin@act-europe.fr>
8036
8037         * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
8038
8039 2003-11-19  Emmanuel Briot  <briot@act-europe.fr>
8040
8041         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
8042         instanciation references in the parent type description.
8043
8044 2003-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8045
8046         * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
8047
8048         * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
8049         TYPE_PRECISION directly from esize.
8050
8051 2003-11-18  Thomas Quinot  <quinot@act-europe.fr>
8052
8053         * cstreams.c:
8054         Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
8055
8056         * init.c: Initialization routines for FreeBSD
8057
8058         * link.c: Link info for FreeBSD
8059
8060         * sysdep.c: Add the case of FreeBSD
8061
8062 2003-11-17  Jerome Guitton  <guitton@act-europe.fr>
8063
8064         * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
8065         already called in System.Threads.
8066
8067         * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
8068         environment task, as it has been moved to System.Threads.Initialization.
8069
8070 2003-11-17  Arnaud Charlet  <charlet@act-europe.fr>
8071
8072         * adaint.c (__gnatlib_install_locks): Only reference
8073         __gnat_install_locks on VMS, since other platforms can avoid using
8074         --enable-threads=gnat
8075
8076 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8077
8078         * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
8079
8080         * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
8081         TYPE_PACKED_ARRAY_TYPE_P.
8082         (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
8083
8084         Part of PR ada/12806
8085         * utils.c (float_type_for_precision): Renamed from float_type_for_size.
8086         Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
8087
8088 2003-11-17  Vincent Celier  <celier@gnat.com>
8089
8090         * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
8091         to False.
8092         Do not set exit status to Failure when Warning is True.
8093         (Gnatchop): Make errors "no compilation units found" and
8094         "no source files written" warnings only.
8095
8096         * make.adb (Gnatmake): When using a project file, set
8097         Look_In_Primary_Dir to False.
8098         (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
8099         and Local_Configuration_Pragmas in the project where they are declared
8100         not an extending project which might have inherited them.
8101
8102         * osint.adb (Locate_File): If Name is already an absolute path, do not
8103         look for a directory.
8104
8105         * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
8106         -gnats (Check_Syntax) is used, issue only a warning, not an error.
8107
8108         * prj.adb (Register_Default_Naming_Scheme): Add new component Project
8109         in objects of type Variable_Value.
8110
8111         * prj.ads: (Variable_Value): New component Project
8112
8113         * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
8114         is in a project extended by Project.
8115
8116         * prj-proc.adb (Add_Attributes): New parameter Project. Set component
8117         Project of Variable_Values to this new parameter value.
8118         (Expression): Set component Project of Variable_Values.
8119         (Process_Declarative_Items): Call Add_Attributes with parameter Project.
8120         Set the component Project in array elements.
8121
8122 2003-11-17  Sergey Rybin  <rybin@act-europe.fr>
8123
8124         * errout.adb: (Initialize): Add initialization for error nodes.
8125
8126         * sem_ch12.adb (Initialize): Add missing initializations for
8127         Exchanged_Views and Hidden_Entities.
8128
8129 2003-11-17  Ed Schonberg  <schonberg@gnat.com>
8130
8131         * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
8132         already instantiated tree for use in subsequent inlining.
8133         (Analyze_Associations, Instantiate_Formal_Subprogram,
8134         Instantiate_Object): improve error message for mismatch in
8135         instantiations.
8136
8137         * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
8138         instantiations of subprograms declared in instances.
8139
8140 2003-11-17  Javier Miranda  <miranda@gnat.com>
8141
8142         * sem_ch4.adb (Analyze_Allocator): Previous modification must be
8143         executed only under the Extensions_Allowed flag.
8144
8145 2003-11-17  Robert Dewar  <dewar@gnat.com>
8146
8147         * a-exexda.adb (Address_Image): Fix documentation to indicate leading
8148         zeroes suppressed.
8149         (Address_Image): Fix bug of returning 0x instead of 0x0
8150         Minor reformatting (function specs).
8151
8152         * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
8153         (missed case of 33-63)
8154
8155         * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
8156
8157         * s-thread.adb: Add comments for pragma Restriction
8158
8159         * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
8160         sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
8161
8162 2003-11-17  Ed Falis  <falis@gnat.com>
8163
8164         * s-thread.adb: Added No_Tasking restriction for this implementation.
8165
8166 2003-11-17  Emmanuel Briot  <briot@act-europe.fr>
8167
8168         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
8169         instanciation references in the parent type description.
8170
8171 2003-11-17  GNAT Script  <nobody@gnat.com>
8172
8173         * Make-lang.in: Makefile automatically updated
8174
8175 2003-11-16  Jason Merrill  <jason@redhat.com>
8176
8177         * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
8178         and TAGS files that include them for each front end.
8179
8180 2003-11-14  Andreas Jaeger  <aj@suse.de>
8181
8182         * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
8183         is the canonical version.
8184         * misc.c (gnat_handle_option): Likewise.
8185
8186         * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
8187
8188         * 5nsystem.ads: New file for x86_64-linux-gnu.
8189
8190 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
8191
8192         * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
8193
8194         * comperr.adb: Fix logic in previous change.
8195
8196 2003-11-13  Vincent Celier  <celier@gnat.com>
8197
8198         * 5bml-tgt.adb (Build_Dynamic_Library): Use
8199         Osint.Include_Dir_Default_Prefix instead of
8200         Sdefault.Include_Dir_Default_Name.
8201
8202         * gnatlbr.adb: Update Copyright notice
8203         (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
8204         Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
8205         instead of Sdefault.Object_Dir_Default_Name
8206
8207         * gnatlink.adb:
8208         (Process_Binder_File): Never suppress the option following -Xlinker
8209
8210         * mdll-utl.adb:
8211         (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
8212         Sdefault.Object_Dir_Default_Name.
8213
8214         * osint.ads, osint.adb:
8215         (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
8216         Minor reformatting.
8217
8218         * vms_conv.ads: Minor reformating
8219         Remove GNAT STANDARD and GNAT PSTA
8220
8221         * vms_conv.adb:
8222         Allow GNAT MAKE to have several files on the command line.
8223         (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
8224         Sdefault.Object_Dir_Default_Name.
8225         Minor Reformating
8226         Remove data for GNAT STANDARD
8227
8228         * vms_data.ads:
8229         Add new compiler qualifier /PRINT_STANDARD (-gnatS)
8230         Remove data for GNAT STANDARD
8231         Remove options and documentation for -gnatwb/-gnatwB: these warning
8232         options no longer exist.
8233
8234 2003-11-13  Ed Falis  <falis@gnat.com>
8235
8236         * 5zthrini.adb: (Init_RTS): Made visible
8237
8238         * 5zthrini.adb:
8239         (Register): Removed unnecessary call to taskVarGet that checked whether
8240          an ATSD was already set as a task var for the argument thread.
8241
8242         * s-thread.adb:
8243         Updated comment to reflect that this is a VxWorks version
8244         Added context clause for System.Threads.Initialization
8245         Added call to System.Threads.Initialization.Init_RTS
8246
8247 2003-11-13  Jerome Guitton  <guitton@act-europe.fr>
8248
8249         * 5zthrini.adb:
8250         (Init_RTS): New procedure, for the initialization of the run-time lib.
8251
8252         * s-thread.adb:
8253         Remove dependancy on System.Init, so that this file can be used in the
8254         AE653 sequential run-time lib.
8255
8256 2003-11-13  Robert Dewar  <dewar@gnat.com>
8257
8258         * bindgen.adb: Minor reformatting
8259
8260 2003-11-13  Ed Schonberg  <schonberg@gnat.com>
8261
8262         * checks.adb:
8263         (Apply_Discriminant_Check): Do no apply check if target type is derived
8264         from source type with no applicable constraint.
8265
8266         * lib-writ.adb:
8267         (Ensure_System_Dependency): Do not apply the style checks that may have
8268         been specified for the main unit.
8269
8270         * sem_ch8.adb:
8271         (Find_Selected_Component): Further improvement in error message, with
8272         RM reference.
8273
8274         * sem_res.adb:
8275         (Resolve): Handle properly the case of an illegal overloaded protected
8276         procedure.
8277
8278 2003-11-13  Javier Miranda  <miranda@gnat.com>
8279
8280         * exp_aggr.adb:
8281         (Has_Default_Init_Comps): New function to check the presence of
8282         default initialization in an aggregate.
8283         (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
8284         extension aggregate of a limited record. In addition, a new formal
8285         was added to do not initialize the record controller (if any) during
8286         this recursive expansion of ancestors.
8287         (Init_Controller): Add support for limited record components.
8288         (Expand_Record_Aggregate): In case of default initialized components
8289         convert the aggregate into a set of assignments.
8290
8291         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
8292         describing the new syntax.
8293         Nothing else needed to be done because this subprogram delegates part of
8294         its work to P_Precord_Or_Array_Component_Association.
8295         (P_Record_Or_Array_Component_Association): Give support to the new
8296         syntax for default initialization of components.
8297
8298         * sem_aggr.adb:
8299         (Resolve_Aggregate): Relax the strictness of the frontend in case of
8300         limited aggregates.
8301         (Resolve_Record_Aggregate): Give support to default initialized
8302         components.
8303         (Get_Value): In case of default initialized components, duplicate
8304         the corresponding default expression (from the record type
8305         declaration). In case of default initialization in the *others*
8306         choice, do not check that all components have the same type.
8307         (Resolve_Extension_Aggregate): Give support to limited extension
8308         aggregates.
8309
8310         * sem_ch3.adb:
8311         (Check_Initialization): Relax the strictness of the front-end in case
8312         of aggregate and extension aggregates. This test is now done in
8313         Get_Value in a per-component manner.
8314
8315         * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
8316         expression corresponds to a limited aggregate. This test is now done
8317         in Get_Value.
8318
8319         * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
8320         Box_Present flag.
8321
8322         * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
8323         present in an N_Component_Association node
8324
8325 2003-11-13  Thomas Quinot  <quinot@act-europe.fr>
8326
8327         * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
8328         type-conformant entry only if they are homographs.
8329
8330 2003-11-13  GNAT Script  <nobody@gnat.com>
8331
8332         * Make-lang.in: Makefile automatically updated
8333
8334 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8335
8336         * adadecode.c: Use <> form of include for ctype.h.
8337         * sysdep.c [IN_RTS]: Use <> form of include for time.h.
8338
8339 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8340
8341         * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
8342         Works around PR middle-end/6552.
8343
8344 2003-11-10  Ed Falis  <falis@gnat.com>
8345
8346         * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
8347
8348         * 5zinit.adb: (Install_Handler): Moved back to spec
8349         (Install_Signal_Handlers): Deleted
8350
8351         * 5zthrini.adb: Added context clause for System.Storage_Elements
8352         (Register): Only handles creation of taskVar; initialization moved to
8353         Thread_Body_Enter.
8354         (Reset_TSD): Deleted; replaced by Thread_Body_Enter
8355         Added declaration of environment task secondary stack and
8356         initialization.
8357
8358         * s-thread.adb: Implement bodies for thread body processing
8359
8360         * s-thread.ads:
8361         Added comment identifying supported targets for pragma Thread_Body.
8362
8363 2003-11-10  Pascal Obry  <obry@gnat.com>
8364
8365         * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
8366         GNAT_MAX_PATH_LEN.
8367
8368         * s-fileio.adb:
8369         (Open): Properly check for string length before copying into the buffer.
8370         Raises Name_Error if buffer is too small. Note that this was a potential
8371         buffer overflow.
8372
8373 2003-11-10  Romain Berrendonner  <berrendo@act-europe.fr>
8374
8375         * bindgen.adb, comperr.adb: Code clean ups.
8376         * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
8377
8378 2003-11-10  Sergey Rybin  <rybin@act-europe.fr>
8379
8380         * gnat1drv.adb: Add call to Sem_Elim.Initialize.
8381
8382 2003-11-10  Vincent Celier  <celier@gnat.com>
8383
8384         * gprcmd.adb:
8385         (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
8386         installation.
8387
8388         * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
8389
8390         * prj.adb: (Project_Empty): Add new boolean component Virtual
8391
8392         * prj.ads: (Virtual_Prefix): New constant string
8393         (Project_Data): New boolean component Virtual
8394
8395         * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
8396         a library project is extended by a virtual extending project.
8397
8398         * prj-part.adb:
8399         Modifications throughout to implement extending-all project, including:
8400         (Virtual_Hash, Processed_Hash): New hash tables
8401         (Create_Virtual_Extending_Project): New procedure
8402         (Look_For_Virtual_Projects_For): New procedure
8403
8404         * prj-proc.adb:
8405         (Process): After checking the projects, if main project is an
8406         extending-all project, set the object directory of all virtual extending
8407         project to the object directory of the main project.
8408         Adjust error message when a virtual extending project has the same
8409         object directory as an project being extended.
8410         (Recursive_Process): If name starts with the virtual prefix, set Virtual
8411         to True in the project data.
8412
8413         * prj-tree.adb:
8414         (Default_Project_Node): Add new boolean component Extending_All
8415         (Is_Extending_All): New function
8416         (Set_Is_Extending_All): New procedure
8417
8418         * prj-tree.ads: (Is_Extending_All): New function
8419         (Set_Is_Extending_All): New procedure
8420         (Project_Node_Record): New boolean component Extending_All
8421
8422         * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
8423
8424         * vms_data.ads:
8425         Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
8426
8427         * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
8428         "gprcmd prefix" to define it.
8429
8430 2003-11-10  Thomas Quinot  <quinot@act-europe.fr>
8431
8432         * einfo.ads: Fix a typo and remove an extraneous word in comments.
8433
8434         * lib-load.adb:
8435         (Create_Dummy_Package_Unit): Set the scope of the entity for the
8436         created dummy package to Standard_Standard, not to itself, to
8437         defend other parts of the front-end against encoutering a cycle in
8438         the scope chain.
8439
8440         * sem_ch10.adb:
8441         (Analyze_With_Clause): When setting the entities for the successive
8442         N_Expanded_Names that constitute the name of a child unit, do not
8443         attempt to go further than Standard_Standard in the chain of scopes.
8444         This case arises from the placeholder units created by
8445         Create_Dummy_Package_Unit in the case of a with_clause for a
8446         nonexistent child unit.
8447
8448 2003-11-10  Ed Schonberg  <schonberg@gnat.com>
8449
8450         * exp_ch6.adb:
8451         (Expand_Thread_Body): Place subprogram on scope stack, so that new
8452         declarations are given the proper scope.
8453
8454         * sem_ch13.adb:
8455         (Check_Expr_Constants): Reject an expression that contains a constant
8456         created during expansion, and that appears after the object to which
8457         the address clause applies.
8458
8459         * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
8460         Analyze_Iteration_Scheme, to rewrite a loop parameter specification
8461         that uses 'Range of a function call with controlled components, so
8462         that the function result can be finalized before starting the loop.
8463
8464         * sem_ch8.adb:
8465         (Find_Selected_Component): Improve error message when prefix is
8466         an implicit dereference of an incomplete type.
8467
8468 2003-11-10  Robert Dewar  <dewar@gnat.com>
8469
8470         * opt.ads: New Print_Standard flag for -gnatS switch
8471
8472         * sem_ch13.adb: Remove some additional checks for unaligned arrays
8473
8474         * cstand.adb (Create_Standard): Print out package standard if -gnatS
8475         switch set
8476
8477         * debug.adb: Update doc for -gnatds to discuss relationship with new
8478         -gnatS flag
8479
8480         * sinfo.adb: Add new field Entity_Or_Associated_Node
8481
8482         * sinfo.ads: Add new field Entity_Or_Associated_Node
8483         Update documentation for Associated_Node and Entity fields to clarify
8484         relationship and usage.
8485
8486         * sprint.adb:
8487         (Write_Id): Properly process Associated_Node field in generic template
8488
8489         * switch-c.adb:
8490         Recognize new -gnatS switch for printing package Standard
8491         This replaces gnatpsta
8492
8493         * usage.adb:
8494         Add line for  new -gnatS switch for printing package Standard
8495         This replaces gnatpsta
8496
8497 2003-11-10  Andreas Jaeger  <aj@suse.de>
8498
8499         * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
8500         integer.
8501
8502 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
8503
8504         * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
8505         by gnat1.
8506
8507 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
8508
8509         * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
8510         no longer needed.
8511
8512         * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
8513
8514         * sysdep.c: Add handling of cygwin.
8515
8516 2003-11-10  GNAT Script  <nobody@gnat.com>
8517
8518         * Make-lang.in: Makefile automatically updated
8519
8520 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
8521
8522         PR 12950
8523         * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
8524         functions. Used to handle dynamic prefix relocation, via set_std_prefix.
8525         Replace GNAT_ROOT by GCC_ROOT.
8526
8527         * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
8528
8529 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
8530
8531         * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
8532         and update for changed meaning of GET_MODE_BITSIZE.
8533
8534 2003-11-04  Doug Rupp  <rupp@gnat.com>
8535
8536         * sysdep.c: Problem discovered during IA64 VMS port.
8537         [VMS] #include <unixio.h> to get proper prototypes.
8538
8539         * adaint.c:
8540         Issues discovered/problems fixed during IA64 VMS port.
8541         [VMS] #define _POSIX_EXIT for proper semantics.
8542         [VMS] #include <unixio.h> for proper prototypes.
8543         [VMS] (fork): #define IA64 version.
8544         (__gnat_os_exit): Remove unnecessary VMS specific code.
8545
8546 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8547
8548         Part of PR ada/12806
8549
8550         * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
8551         tree, not integer.
8552
8553         * decl.c:
8554         (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
8555         not integer.
8556
8557         * targtyps.c, decl.c, misc.c,
8558         gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
8559         routines to work around change in FP sizing semantics in GCC.
8560
8561         * utils.c:
8562         (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
8563
8564         * gigi.h: (enumerate_modes): New function.
8565
8566         * Make-lang.in: (ada/misc.o): Add real.h.
8567
8568         * misc.c: (enumerate_modes): New function.
8569
8570 2003-11-04  Robert Dewar  <dewar@gnat.com>
8571
8572         * 3vtrasym.adb: Minor reformatting
8573         Use terminology encoded/decoded name, rather than C++ specific notion
8574         of mangling (this is the terminology used throughout GNAT).
8575
8576         * einfo.h: Regenerated
8577
8578         * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
8579
8580         * exp_ch6.adb:
8581         (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
8582
8583         * par-prag.adb: Add dummy entry for Thread_Body pragma
8584
8585         * rtsfind.ads:
8586         Add entries for System.Threads entities for thread body processing
8587
8588         * sem_attr.adb:
8589         (Analyze_Pragma, Access attributes): Check these are not applied to a
8590         thread body, since this is not permitted
8591
8592         * sem_prag.adb: Add processing for Thread_Body pragma.
8593         Minor comment fix.
8594
8595         * sem_res.adb:
8596         (Resolve_Call): Check for incorrect attempt to call a thread body
8597          procedure with a direct call.
8598
8599         * snames.ads, snames.adb: Add entry for Thread_Body pragma
8600         Add names associated with thread body expansion
8601
8602         * snames.h: Add entry for Thread_Body pragma
8603
8604         * s-thread.adb: Add entries for thread body processing
8605         These are dummy bodies so far
8606
8607         * s-thread.ads: Add documentation on thread body handling.
8608         Add entries for thread body processing.
8609
8610 2003-11-04  Javier Miranda  <miranda@gnat.com>
8611
8612         * sem_ch10.adb:
8613         (Build_Limited_Views): Return after posting an error in case of limited
8614         with_clause on subprograms, generics, instances or generic renamings
8615         (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
8616         on subprograms, generics, instances or generic renamings
8617
8618 2003-11-04  Arnaud Charlet  <charlet@act-europe.fr>
8619
8620         * raise.c (setup_to_install): Correct mistake in last revision; two
8621         arguments out of order.
8622
8623         * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
8624         gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
8625         notice, missed in previous change.
8626         Remove trailing blanks and other style errors introduced in previous
8627         change.
8628
8629 2003-11-04  Olivier Hainque  <hainque@act-europe.fr>
8630
8631         * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
8632         rid of the wrapper for a LJM type, ensuring we don't do that if the
8633         field is addressable.  This avoids potential low level type view
8634         mismatches later on, for instance in a by-reference argument passing
8635         process.
8636
8637 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8638
8639         * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
8640         aligned at byte boundary.
8641
8642 2003-11-04  Joel Brobecker  <brobecker@gnat.com>
8643
8644         * decl.c (components_to_record): Do not delete the empty variants from
8645         the end of the union type.
8646
8647 2003-11-04  Ed Schonberg  <schonberg@gnat.com>
8648
8649         * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
8650         operation for a derived type, an explicit declaration may use a local
8651         subtype of Boolean.
8652
8653 2003-11-04  Vincent Celier  <celier@gnat.com>
8654
8655         * make.adb (Gnatmake): Allow main sources on the command line with a
8656         library project when it is only for compilation (no binding or
8657         linking).
8658
8659 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8660
8661         * Makefile.in: Remove many duplicate variables.
8662
8663 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
8664
8665         * Make-lang.in (dvi): Move targets to $(docobjdir).
8666         (gnat_ug_vms.dvi): Simplify rule and adjust target.
8667         (gnat_ug_wnt.dvi): Likewise.
8668         (gnat_ug_unx.dvi): Likewise.
8669         (gnat_ug_vxw.dvi): Likewise.
8670         (gnat_rm.dvi): Likewise.
8671         (gnat-style.dvi): Likewise.
8672
8673 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
8674
8675         * gigi.h: Missed commit from update for C90.
8676
8677 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
8678
8679         * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
8680
8681 2003-10-31  Andreas Schwab  <schwab@suse.de>
8682
8683         * raise.c (get_action_description_for): Fix typo in last change.
8684
8685 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
8686
8687         PR ada/12761
8688         * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
8689         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
8690
8691 2003-10-30  Kelley Cook  <kcook@gcc.gnu.org>
8692
8693         * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
8694         ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
8695         gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
8696         sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
8697         trans.c, utils.c, utils2.c: Convert function prototypes to C90.
8698
8699 2003-10-30  Vasiliy Fofanov  <fofanov@act-europe.fr>
8700
8701         * 3vtrasym.adb:
8702         Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
8703         numbers when symbol name is too long.
8704
8705 2003-10-30  Ed Falis  <falis@gnat.com>
8706
8707         * g-signal.ads, g-signal.adb: New files
8708
8709         * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
8710
8711         * Makefile.rtl: Introduce GNAT.Signals
8712
8713 2003-10-30  Robert Dewar  <dewar@gnat.com>
8714
8715         * freeze.adb: Minor reformatting
8716
8717         * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
8718
8719         * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
8720         par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
8721         New handling of Id_Check parameter to improve recognition of keywords
8722         used as identifiers.
8723         Update copyright notice to include 2003
8724
8725 2003-10-29  Robert Dewar  <dewar@gnat.com>
8726
8727         * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
8728         sem_ch10.adb: Minor reformatting
8729
8730         * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
8731         (Expand_Assign_Record): Test right hand side for bit unaligned as well
8732
8733 2003-10-29  Vasiliy Fofanov  <fofanov@act-europe.fr>
8734
8735         * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
8736         Support for TBK$SYMBOLIZE-based symbolic traceback.
8737
8738 2003-10-29  Jose Ruiz  <ruiz@act-europe.fr>
8739
8740         * exp_disp.adb:
8741         Revert previous change, that did not work well when pragma No_Run_Time
8742         was used in conjunction with a run-time other than ZFP.
8743
8744 2003-10-29  Vincent Celier  <celier@gnat.com>
8745
8746         * make.adb:
8747         (Gnatmake): When there are no Ada mains in attribute Main, disable the
8748          bind and link steps only is switch -z is not used.
8749
8750 2003-10-29  Arnaud Charlet  <charlet@act-europe.fr>
8751
8752         * Makefile.generic: Remove duplicated setting of CC.
8753
8754         * Makefile.prolog: Set CC to gcc by default, to override make's
8755         default (cc).
8756
8757         * einfo.h: Regenerated.
8758
8759 2003-10-29  Ed Schonberg  <schonberg@gnat.com>
8760
8761         * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
8762         current body, after compiling subunit.
8763
8764         * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
8765         when in deleted code, because gigi needs properly ordered freeze
8766         actions to annotate types.
8767
8768         * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
8769         prevent the premature freezing of record type that contains
8770         subcomponents with a private type that does not yet have a completion.
8771
8772 2003-10-29  Javier Miranda  <miranda@gnat.com>
8773
8774         * sem_ch12.adb:
8775         (Analyze_Package_Instantiation): Check that instances can not be used in
8776         limited with_clauses.
8777
8778         * sem_ch8.adb:
8779         (Analyze_Package_Renaming): Check that limited withed packages cannot
8780         be renamed. Improve text on error messages related to limited
8781         with_clauses.
8782
8783         * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
8784
8785         * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
8786         Update copyright notice.
8787
8788         * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
8789         (Install_Limited_Context_Clauses): New subprogram that isolates all the
8790         checks required for limited context_clauses and installs the limited
8791         view.
8792         (Install_Limited_Withed_Unit): Complete its documentation.
8793         (Analyze_Context): Check that limited with_clauses are only allowed in
8794         package specs.
8795         (Install_Context): Call Install_Limited_Context_Clauses after the
8796         parents have been installed.
8797         (Install_Limited_Withed_Unit): Add documentation. Mark the installed
8798         package as 'From_With_Type'; this mark indicates that the limited view
8799         is installed. Used to check bad usages of limited with_clauses.
8800         (Build_Limited_Views): Do not add shadow entities to the scope's list
8801         of entities. Do not add real entities to the Non_Limited_Views chain.
8802         Improve error notification.
8803         (Remove_Context_Clauses): Remove context clauses in two phases:
8804         limited views first and regular views later (to maintain the
8805         stack model).
8806         (Remove_Limited_With_Clause): If the package is analyzed then reinstall
8807         its visible entities.
8808
8809 2003-10-29  Thomas Quinot  <quinot@act-europe.fr>
8810
8811         * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
8812         with any type that Is_Fixed_Point_Type.
8813
8814         * sinfo.ads: Fix documentation for Associated_Node attribute.
8815
8816 2003-10-29  Sergey Rybin  <rybin@act-europe.fr>
8817
8818         * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
8819         both '-gnatc' and '-gnatt' are specified.
8820
8821         * atree.adb (Initialize): Add initialization for Node_Count (set to
8822         zero).
8823
8824 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8825
8826         * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
8827         do not consider as Pure.
8828
8829         Part of implementation of function-at-a-time:
8830
8831         * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
8832         (tree_transform): Add new argument to build_component_ref.
8833         (tree_transform, case N_Assignment_Statement): Make and return an
8834         EXPR_STMT.
8835         (tree_transform): If result IS_STMT, set flags and return it.
8836         (gnat_expand_stmt, set_lineno_from_sloc): New functions.
8837
8838         * utils2.c (build_simple_component_ref, build_component_ref): Add new
8839         arg, NO_FOLD_P.
8840         (build_binary_op, case EQ_EXPR): Pass additional arg to it.
8841         (build_allocator): Likewise.
8842
8843         * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
8844         Add new arg to build_component_ref.
8845         (maybe_unconstrained_array, unchecked_convert): Likewise.
8846
8847         * ada-tree.def (EXPR_STMT): New code.
8848
8849         * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
8850
8851         * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
8852         build_component_ref calls.
8853
8854         * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
8855
8856         * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
8857         (build_component_ref): Add new argument, NO_FOLD_P.
8858
8859 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
8860
8861         * Makefile.generic: Add missing substitution on object_deps handling.
8862
8863         PR ada/5909:
8864         * Make-lang.in (check-ada): Enable ACATS test suite.
8865
8866 2003-10-27  Robert Dewar  <dewar@gnat.com>
8867
8868         * exp_ch3.adb:
8869         (Freeze_Array_Type): We do not need an initialization routine for types
8870         derived from String or Wide_String. They should be treated the same
8871         as String and Wide_String themselves. This caused problems with the
8872         use of Initialize_Scalars.
8873
8874         * exp_ch5.adb:
8875         (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
8876         composites. This allows use of component clauses that are not byte
8877         aligned.
8878
8879         * sem_prag.adb:
8880         (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
8881         is an attempt to pack an array of atomic objects.
8882
8883         * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
8884
8885 2003-10-27  Pascal Obry  <obry@gnat.com>
8886
8887         * g-dirope.adb:
8888         (Basename): Check for drive letters in a pathname only on DOS based OS.
8889
8890 2003-10-27  Vincent Celier  <celier@gnat.com>
8891
8892         * make.adb:
8893         (Gnatmake): When unable to change dir to the object dir, display the
8894         content of the parent dir of the obj dir, to try to understand why this
8895         happens.
8896
8897 2003-10-27  GNAT Script  <nobody@gnat.com>
8898
8899         * Make-lang.in: Makefile automatically updated
8900
8901 2003-10-27  Ed Schonberg  <schonberg@gnat.com>
8902
8903         * sem_ch12.adb:
8904         (Inline_Instance_Body): Indicate that the save/restore of use_clauses
8905         should not be done in Save/Restore_Scope_Stack, because it is performed
8906         locally.
8907
8908         * sem_ch8.adb:
8909         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
8910         whether use clauses should be removed/restored.
8911
8912         * sem_ch8.ads:
8913         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
8914         whether use clauses should be removed/restored.
8915
8916 2003-10-26  Andreas Jaeger  <aj@suse.de>
8917
8918         * Makefile.in: Remove duplicated lines.
8919
8920 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
8921
8922         * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
8923         minimize the differences with ACT tree.
8924
8925         * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
8926         gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
8927         Gnatvsn.Gnat_Static_Version_String to reduce differences between
8928         ACT and FSF trees.
8929
8930 2003-10-24  Pascal Obry  <obry@gnat.com>
8931
8932         * adadecode.c (ostrcpy): New function.
8933         (__gnat_decode): Use ostrcpy of strcpy.
8934         (has_prefix): Set first parameter a const.
8935         (has_suffix): Set first parameter a const.
8936         Update copyright notice. Fix source name in header.
8937         Removes a trailing space.
8938         PR ada/12014.
8939
8940 2003-10-24  Jose Ruiz  <ruiz@act-europe.fr>
8941
8942         * exp_disp.adb:
8943         Remove the test against being in No_Run_Time_Mode before generating a
8944         call to Register_Tag. It is redundant with the test against the
8945         availability of the function Register_Tag.
8946
8947 2003-10-24  Vincent Celier  <celier@gnat.com>
8948
8949         * g-catiio.adb: (Month_Name): Correct spelling of February
8950
8951         * make.adb: (Mains): New package
8952         (Initialize): Call Mains.Delete
8953         (Gnatmake): Check that each main on the command line is a source of a
8954         project file and, if there are several mains, each of them is a source
8955         of the same project file.
8956         (Gnatmake): When a foreign language is specified in attribute Languages,
8957         no main is specified on the command line and attribute Mains is not
8958         empty, only build the Ada main. If there is no Ada main, just compile
8959         the Ada sources and their closure.
8960         (Gnatmake): If a main is specified on the command line with directory
8961         information, check that the source exists and, if it does, that the path
8962         is the actual path of a source of a project.
8963
8964         * prj-env.adb:
8965         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
8966         Full_Path is True, return the full path instead of the simple file name.
8967         (Project_Of): New function
8968
8969         * prj-env.ads:
8970         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
8971         defaulted to False.
8972         (Project_Of): New function
8973
8974 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
8975
8976         * Makefile.generic:
8977         Ensure objects of main project are always checked and rebuilt if needed.
8978         Set CC to gcc by default.
8979         Prepare new handling of link by creating a global archive (not activated
8980         yet).
8981
8982         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
8983         stringt.h: Update copyright notice. Remove trailing blanks.
8984         Fix source name in header.
8985
8986 2003-10-24  Robert Dewar  <dewar@gnat.com>
8987
8988         * sem_ch12.adb: Minor reformatting
8989
8990         * sem_ch3.adb:
8991         Minor reformatting (including new function return style throughout)
8992
8993         * sem_ch3.ads:
8994         Minor reformatting (including new function return style throughout)
8995
8996 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
8997
8998         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
8999         stringt.h: Update copyright notice. Remove trailing blanks.
9000         Fix source name in header.
9001
9002 2003-10-24  GNAT Script  <nobody@gnat.com>
9003
9004         * Make-lang.in: Makefile automatically updated
9005
9006 2003-10-23  Nathanael Nerode  <neroden@gcc.gnu.org>
9007
9008         * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
9009         stringt.h: Convert to ISO C90 declarations and definitions.
9010
9011 2003-10-23  Thomas Quinot  <quinot@act-europe.fr>
9012
9013         PR ada/11978:
9014         * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
9015         External_Tag attribute definition clauses.
9016
9017 2003-10-23  Ed Schonberg  <schonberg@gnat.com>
9018
9019         PR ada/7613:
9020         * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
9021         child unit, generate a fully qualified name to avoid spurious errors
9022         when the context contains renamings of different child units with
9023         the same simple name.
9024
9025         * exp_dbug.ads: Add documentation on name qualification for renamings
9026         of child units.
9027
9028 2003-10-23  Robert Dewar  <dewar@gnat.com>
9029
9030         * g-regpat.ads, g-regpat.adb: Minor reformatting
9031
9032 2003-10-23  Jose Ruiz  <ruiz@act-europe.fr>
9033
9034         * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
9035
9036 2003-10-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9037
9038         * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
9039         Machine call.
9040
9041         * urealp.h: (Machine): Update to proper definition.
9042
9043 2003-10-23  Arnaud Charlet  <charlet@act-europe.fr>
9044
9045         * init.c, adaint.c: Minor reformatting.
9046
9047 2003-10-23  Danny Smith  <dannysmith@users.sourceforge.net>
9048
9049         * adaint.c (w32_epoch_offset): Define static const at file level.
9050         (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
9051         rather than t_create, t_access in call to GetFileTime. Use union
9052         to convert between FILETIME and  unsigned long long.
9053         (__gnat_file_time_name): Test for invalid file handle.
9054         (__gnat_set_filetime_name): Support win32 targets using
9055         w32api SetFileTime.
9056
9057 2003-10-22  Danny Smith  <dannysmith@users.sourceforge.net>
9058
9059         * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
9060
9061         * ctrl_c.c (__gnat_int_handler): Remove declaration.
9062
9063         * decl.c (creat_concat_name):  Const-ify prefix.
9064
9065         * adaint.c: Include ctype.h if __MINGW32__.
9066         (__gnat_readlink): Mark arguments as possibly unused.
9067         (__gnat_symlink): Likewise.
9068         (__gnat_is_symbolic_link): Likewise.
9069         (__gnat_portable_spawn): Likewise.  Cast last arg of spawnvp to match
9070         declaration
9071         (__gnat_file_time_name): Don't declare struct stat statbuf when
9072         not needed.
9073         (__gnat_is_absolute_path): Add parenthesis around condition of
9074         'if' statement to avoid warning.
9075         (__gnat_plist_init): Specify void as parameter.
9076         (plist_enter): Likewise.
9077         (plist_leave): Likewise.
9078         (remove_handle): Make static. Initialize prev.
9079
9080 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
9081
9082         * Makefile.in: Disable build of gnatpsta. PR ada/10110.
9083         * cstreams.c (__gnat_full_name): Minor improvements and clean up
9084         of previous change.
9085
9086 2003-10-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9087
9088         * tracebak.c (MAX): Avoid redefinition warning.
9089
9090         * init.c [sgi] (__gnat_error_handler): Remove i, unused.
9091         Change msg to const char *.
9092         (__gnat_install_handler): Remove ss, unused.
9093         [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
9094         to const char *.
9095         * cstreams.c (__gnat_full_name): Declare p only when used.
9096         (__gnat_full_name) [sgi] Return buffer.
9097
9098 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
9099
9100         * mingw32.h: New file.
9101         * gnat_wrapper.adb: New file.
9102
9103 2003-10-22  Jerome Roussel  <roussel@act-europe.fr>
9104
9105         * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
9106         string match a pre compiled regular expression (the corresponding
9107         version of the function working on a raw regular expression)
9108         Fix typos in various comments
9109         Update copyright notice in spec
9110
9111 2003-10-21  Gary Dismukes  <dismukes@gnat.com>
9112
9113         * exp_ch3.adb:
9114         (Component_Needs_Simple_Initialization): Return False when the type is a
9115         packed bit array. Revise spec comments to document this case.
9116
9117         * exp_prag.adb:
9118         (Expand_Pragma_Import): Set any expression on the imported object to
9119         empty to avoid initializing imported objects (in particular this
9120         covers the case of zero-initialization of bit arrays).
9121         Update copyright notice.
9122
9123 2003-10-21  Ed Schonberg  <schonberg@gnat.com>
9124
9125         * sem_ch12.adb:
9126         (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
9127         a subunit is missing.
9128         (Instantiate_Subprogram_Body): If body of function is missing, set type
9129         of return expression explicitly in dummy body, to prevent cascaded
9130         errors when a subunit is missing.
9131         Fixes PR 5677.
9132
9133         * sem_ch3.adb:
9134         (Access_Subprogram_Declaration): Verify that return type is valid.
9135         Fixes PR 8693.
9136
9137         * sem_elab.adb:
9138         (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
9139         generic.
9140         Fixes PR 12318.
9141
9142         * sem_util.adb:
9143         (Corresponding_Discriminant): If the scope of the discriminant is a
9144         private type without discriminant, use its full view.
9145         Fixes PR 8247.
9146
9147 2003-10-21  Arnaud Charlet  <charlet@act-europe.fr>
9148
9149         * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
9150         3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
9151         3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
9152         55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
9153         56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
9154         59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
9155         5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
9156         5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
9157         5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
9158         5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
9159         5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
9160         5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
9161         5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
9162         5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
9163         7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
9164         a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
9165         a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
9166         a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
9167         bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
9168         erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
9169         err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
9170         g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
9171         g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
9172         g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
9173         g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
9174         g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
9175         g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
9176         gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
9177         g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
9178         g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
9179         i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
9180         prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
9181         prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
9182         s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
9183         s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
9184         s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
9185         s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
9186         s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
9187         s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
9188         s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
9189         s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
9190         socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
9191         s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
9192         s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
9193         s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
9194         styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
9195         s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
9196         tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
9197         vms_conv.ads, vms_conv.adb, vms_data.ads,
9198         vxaddr2line.adb: Files added. Merge with ACT tree.
9199
9200         * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
9201         5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
9202         5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
9203         5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
9204         g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
9205         s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
9206         s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
9207         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
9208         s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
9209         s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
9210
9211         * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
9212         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
9213         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
9214         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
9215         4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
9216         4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
9217         4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
9218         4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
9219         51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
9220         53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
9221         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
9222         5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
9223         5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
9224         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
9225         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
9226         5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
9227         5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
9228         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
9229         5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
9230         5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
9231         5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
9232         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
9233         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
9234         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
9235         5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
9236         5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
9237         5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
9238         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
9239         5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
9240         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
9241         5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
9242         5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
9243         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
9244         5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
9245         6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
9246         7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
9247         7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
9248         a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
9249         a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
9250         a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
9251         a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
9252         a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
9253         ali.adb, ali.ads, ali-util.adb, ali-util.ads,
9254         a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
9255         a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
9256         a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
9257         a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
9258         a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
9259         a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
9260         a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
9261         a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
9262         a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
9263         a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
9264         a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
9265         a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
9266         atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
9267         a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
9268         a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
9269         bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
9270         checks.adb, checks.ads, cio.c, comperr.adb,
9271         comperr.ads, csets.adb, cstand.adb, cstreams.c,
9272         debug_a.adb, debug_a.ads, debug.adb, decl.c,
9273         einfo.adb, einfo.ads, errout.adb, errout.ads,
9274         eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
9275         expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
9276         exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
9277         exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
9278         exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
9279         exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
9280         exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
9281         exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
9282         exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
9283         fe.h, fmap.adb, fmap.ads, fname.adb,
9284         fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
9285         freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
9286         g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
9287         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
9288         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
9289         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
9290         g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
9291         g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
9292         g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
9293         g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
9294         g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
9295         g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
9296         g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
9297         g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
9298         gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
9299         gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
9300         gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
9301         gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
9302         gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
9303         g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
9304         g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
9305         g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
9306         g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
9307         g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
9308         g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
9309         g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
9310         g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
9311         i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
9312         i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
9313         inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
9314         itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
9315         layout.adb, lib.adb, lib.ads, lib-list.adb,
9316         lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
9317         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
9318         link.c, live.adb, make.adb, make.ads,
9319         Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
9320         mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
9321         mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
9322         misc.c, mkdir.c, mlib.adb, mlib.ads,
9323         mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
9324         mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
9325         namet.adb, namet.ads, namet.h, nlists.ads,
9326         nlists.h, nmake.adt, opt.adb, opt.ads,
9327         osint.adb, osint.ads, osint-b.adb, osint-c.adb,
9328         par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
9329         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
9330         par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
9331         par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
9332         prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
9333         prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
9334         prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
9335         prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
9336         prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
9337         prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
9338         prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
9339         prj-util.adb, prj-util.ads, raise.c, raise.h,
9340         repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
9341         rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
9342         s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
9343         s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
9344         scans.ads, scn.adb, scn.ads, s-crc32.adb,
9345         s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
9346         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
9347         sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
9348         sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
9349         sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
9350         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
9351         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
9352         sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
9353         sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
9354         sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
9355         sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
9356         sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
9357         s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
9358         s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
9359         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
9360         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
9361         s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
9362         s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
9363         s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
9364         sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
9365         sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
9366         sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
9367         s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
9368         s-memory.adb, s-memory.ads, snames.adb, snames.ads,
9369         snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
9370         s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
9371         s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
9372         s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
9373         s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
9374         s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
9375         s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
9376         s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
9377         s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
9378         s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
9379         s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
9380         s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
9381         s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
9382         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
9383         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
9384         s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
9385         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
9386         stringt.adb, stringt.ads, stringt.h, style.ads,
9387         stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
9388         s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
9389         s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
9390         switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
9391         s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
9392         table.adb, table.ads, targparm.adb, targparm.ads,
9393         targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
9394         trans.c, tree_io.adb, treepr.adb, treeprs.adt,
9395         ttypes.ads, types.ads, types.h, uintp.adb,
9396         uintp.ads, uintp.h, uname.adb, urealp.adb,
9397         urealp.ads, urealp.h, usage.adb, utils2.c,
9398         utils.c, validsw.adb, validsw.ads, widechar.adb,
9399         xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
9400         xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
9401         einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
9402         gnatvsn.ads: Merge with ACT tree.
9403
9404         * gnatvsn.adb: Rewritten in a simpler and more efficient way.
9405
9406 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
9407
9408         * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
9409         (gnat_ug_vmx.info): Likewise.
9410         (gnat_ug_vxw.info): Likewise.
9411         (gnat_ug_wnt.info): Likewise.
9412         (gnat_rm.info): Likewise.
9413         (gnat-style.info): Likewise.
9414
9415         * Make-lang.in (ada.install-info): Remove target.
9416         (info): New target.
9417         (install-info): Likewise.
9418         (gnat_ug_unx.info): Simplify rule.
9419         (gnat_ug_vmx.info): Likewise.
9420         (gnat_ug_vxw.info): Likewise.
9421         (gnat_ug_wnt.info): Likewise.
9422         (gnat_rm.info): Likewise.
9423         (gnat-style.info): Likewise.
9424
9425 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
9426
9427         * Make-lang.in: Replace uses of $(target_alias) with
9428         $(target_noncanonical).
9429         * ada/Makefile.in: Remove unused mention of $(target_alias).
9430
9431 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
9432
9433         * Make-lang.in (ada.info): Replace with ...
9434         (info): ... this.
9435         (ada.dvi): Replace with ...
9436         (dvi): ... this.
9437
9438 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
9439
9440         * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
9441         initialize dconstp5 and dconstmp5.
9442
9443 2003-09-28  Richard Henderson  <rth@redhat.com>
9444
9445         * trans.c (tree_transform): Update call to expand_asm_operands.
9446
9447 2003-09-21  Richard Henderson  <rth@redhat.com>
9448
9449         * trans.c, utils.c: Revert.
9450
9451 2003-09-21  Richard Henderson  <rth@redhat.com>
9452
9453         * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
9454         change to const.
9455
9456 2003-09-04  Michael Matz  <matz@suse.de>
9457
9458         * misc.c: Include "target.h".
9459         * Make-lang.in (misc.o): Add dependency on target.h.
9460
9461 2003-09-03  DJ Delorie  <dj@redhat.com>
9462
9463         * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
9464         hook.
9465
9466 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
9467
9468         * Makefile.in: Update substitutions to match changes to
9469         configure.  Use include directives instead of @-insertions
9470         to read in host and target fragments.  Add a rule to
9471         regenerate ada/Makefile.
9472
9473 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
9474
9475         * lang-options.h: Remove.
9476         * lang.opt: Add help text.
9477
9478 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
9479
9480         * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
9481         calls.
9482
9483 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
9484
9485         * misc.c (gnat_handle_option): Don't handle filenames.
9486
9487 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
9488
9489         * Make-lang.in: Replace PWD with PWD_COMMAND.
9490         * Makefile.adalib: Likewise.
9491         * Makefile.in: Likewise.
9492
9493 2003-07-04  Matt Kraai  <kraai@alumni.cmu.edu>
9494
9495         * misc.c (gnat_argv): Revert last change.
9496         (gnat_handle_option, gnat_init_options): Copy arguments.
9497
9498 2003-07-03  Neil Booth  <neil@daikokuya.co.uk>
9499
9500         * misc.c (gnat_argv): Make const.
9501
9502 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
9503
9504         * misc.c (save_argc, save_argv): Keep non-static!
9505
9506 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
9507
9508         * misc.c (save_argc, save_argv): Make static.
9509         (gnat_init_options): New prototype.
9510         (gnat_init_options): Update.
9511
9512 2003-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
9513
9514         * gnat_ug.texi: Remove unlikely characters from @vars.
9515         * gnat_ug_vms.texi: Regenerate.
9516
9517 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
9518
9519         * misc.c (record_code_position): Adjust emit_note call.
9520
9521 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
9522
9523         * misc.c (gnat_handle_option): Don't check for missing arguments.
9524
9525 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
9526
9527         * utils.c (end_subprog_body): Adjust expand_function_end call.
9528
9529 2003-06-16  Matt Kraai  <kraai@alumni.cmu.edu>
9530
9531         * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
9532         Bind_Main_Program.
9533
9534 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
9535
9536         * lang.opt: Declare Ada.
9537         * misc.c (gnat_init_options): Update.
9538
9539 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
9540
9541         * utils.c (begin_subprog_body): Adjust init_function_start call.
9542
9543 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
9544
9545         * Make-lang.in: Update to use options.c and options.h.
9546         * misc.c: Include options.h not aoptions.h.
9547         (gnat_handle_option): Abort on unrecognized switch.
9548         (gnat_init_options): Request Ada switches.
9549
9550 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
9551
9552         * lang.opt: Add -Wall.
9553         * misc.c (gnat_handle_option): Handle it.
9554
9555 2003-06-12  Neil Booth  <neil@daikokuya.co.uk>
9556
9557         * misc.c (gnat_handle_option): Fix warnings.
9558
9559 2003-06-11  Matt Kraai  <kraai@alumni.cmu.edu>
9560
9561         * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
9562
9563 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
9564
9565         * Make-lang.in: Update to handle command-line options.
9566         * lang.opt: New file.
9567         * misc.c: Include aoptions.h.
9568         (cl_options_count, cl_options): Remove.
9569         (gnat_handle_option): New.
9570         (gnat_decode_option): Remove.
9571         (LANG_HOOKS_DECODE_OPTION): Remove.
9572         (LANG_HOOKS_HANDLE_OPTION): Override.
9573
9574 2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
9575
9576         * init.c, misc.c, trans.c, utils.c: Remove dead code.
9577
9578 2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
9579
9580         * Makefile.in: Replace "host_canonical" with "host" for autoconf
9581         substitution.
9582
9583 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
9584
9585         * Make-lang.in: Update.
9586         * misc.c: Include opts.h. Define cl_options_count and cl_options.
9587
9588 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
9589
9590         * misc.c (gnat_init_options): Update.
9591
9592 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
9593
9594         * Make-lang.in (ada/b_gnatb.o-warn): Remove.
9595         * bindgen.adb (Gen_Main_C): Mark ensure_reference with
9596         __attribute__ ((__unused__)).
9597
9598 2003-06-05  Jan Hubicka  <jh@suse.cz>
9599
9600         * Make-lang.in:  Add support for stageprofile and stagefeedback
9601
9602 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
9603
9604         * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
9605         (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
9606
9607 2003-06-04  Matt Kraai  <kraai@alumni.cmu.edu>
9608
9609         * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
9610         Remove non-VMS directive.
9611         (Switches for gnatlbr, Optimization Levels): Remove non-VMS
9612         alternatives.
9613         (Examples of gnatls Usage): Remove VMS alternative.
9614
9615 2003-06-04  Olivier Hainque  <hainque@act-europe.fr>
9616
9617         PR ada/9953:
9618         * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
9619         and turn ZCX_By_Default back to False since the underlying support
9620         is not quite there yet.
9621
9622 2003-06-01  Andreas Jaeger  <aj@suse.de>
9623
9624         * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
9625         and ROUND_TYPE_SIZE_UNIT.
9626
9627 2003-05-22   Geert Bosch <bosch@gnat.com>
9628
9629         * gnat_rm.texi : Remove reference to Ada Core Technologies.
9630
9631 2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
9632
9633         * trans.c (tree_transform): Use location_t and input_location
9634         directly.
9635         (build_unit_elab): Likewise.
9636         * utils.c (create_label_decl): Likewise.
9637
9638 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
9639
9640         * trans.c (tree_transform, build_unit_elab,
9641         set_lineno): Rename lineno to input_line.
9642         * utils.c (pushdecl, create_label_decl, begin_subprog_body,
9643         end_subprog_body): Likewise.
9644         * utils2.c (build_call_raise): Likewise.
9645
9646 2003-05-01  Laurent Guerby <guerby@acm.org>
9647
9648         PR ada/10546
9649         * 5iosinte.ads: Increase pthread_cond_t size to match recent
9650         LinuxThread and NPTL version, merge from ACT.
9651
9652 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
9653
9654         * utils.c (convert): No need to clear TREE_CST_RTL.
9655
9656 2003-04-23   Geert Bosch <bosch@gnat.com>
9657
9658         * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
9659         1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
9660         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
9661         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
9662         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
9663         4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
9664         4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
9665         4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
9666         4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
9667         4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
9668         4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
9669         4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
9670         52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
9671         5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
9672         5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
9673         5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
9674         5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
9675         5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
9676         5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
9677         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
9678         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
9679         5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
9680         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
9681         5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
9682         5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
9683         5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
9684         5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
9685         5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
9686         5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
9687         5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
9688         5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
9689         5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
9690         5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
9691         5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
9692         5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
9693         5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
9694         5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
9695         5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
9696         5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
9697         5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
9698         5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
9699         5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
9700         5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
9701         5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
9702         6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
9703         7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
9704         7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
9705         9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
9706         a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
9707         a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
9708         a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
9709         a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
9710         a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
9711         a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
9712         a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
9713         a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
9714         a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
9715         a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
9716         a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
9717         a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
9718         a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
9719         a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
9720         a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
9721         a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
9722         a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
9723         a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
9724         a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
9725         a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
9726         a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
9727         a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
9728         a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
9729         a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
9730         a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
9731         a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
9732         a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
9733         a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
9734         a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
9735         a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
9736         a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
9737         a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
9738         a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
9739         a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
9740         a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
9741         a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
9742         a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
9743         a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
9744         a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
9745         a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
9746         a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
9747         a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
9748         a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
9749         a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
9750         a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
9751         a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
9752         a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
9753         a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
9754         a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
9755         a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
9756         a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
9757         a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
9758         a-wttest.ads, ada-tree.h, ada.ads, ada.h,
9759         adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
9760         ali.adb, ali.ads, alloc.ads, argv.c,
9761         atree.adb, atree.ads, atree.h, aux-io.c,
9762         back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
9763         binde.adb, binde.ads, binderr.adb, binderr.ads,
9764         bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
9765         butil.adb, butil.ads, cal.c, calendar.ads,
9766         casing.adb, casing.ads, ceinfo.adb, checks.adb,
9767         checks.ads, cio.c, comperr.adb, comperr.ads,
9768         config-lang.in, csets.adb, csets.ads, csinfo.adb,
9769         cstand.adb, cstand.ads, cuintp.c, debug.adb,
9770         debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
9771         dec-io.ads, dec.ads, deftarg.c, directio.ads,
9772         einfo.adb, einfo.ads, elists.adb, elists.ads,
9773         elists.h, errno.c, errout.adb, errout.ads,
9774         eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
9775         exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
9776         exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
9777         exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
9778         exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
9779         exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
9780         exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
9781         exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
9782         exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
9783         exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
9784         exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
9785         exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
9786         exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
9787         exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
9788         exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
9789         fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
9790         fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
9791         freeze.adb, freeze.ads, frontend.adb, frontend.ads,
9792         g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
9793         g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
9794         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
9795         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
9796         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
9797         g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
9798         g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
9799         g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
9800         g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
9801         g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
9802         g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
9803         g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
9804         g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
9805         g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
9806         g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
9807         g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
9808         g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
9809         g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
9810         g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
9811         g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
9812         g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
9813         g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
9814         get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
9815         gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
9816         gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
9817         gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
9818         gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
9819         gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
9820         gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
9821         gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
9822         hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
9823         i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
9824         i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
9825         i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
9826         i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
9827         i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
9828         i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
9829         inline.adb, inline.ads, interfac.ads, ioexcept.ads,
9830         itypes.adb, itypes.ads, krunch.adb, krunch.ads,
9831         layout.adb, layout.ads, lib-list.adb, lib-load.adb,
9832         lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
9833         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
9834         lib.adb, lib.ads, live.adb, live.ads,
9835         machcode.ads, make.adb, make.ads, makeusg.adb,
9836         makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
9837         mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
9838         memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
9839         mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
9840         mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
9841         mlib.ads, namet.adb, namet.ads, nlists.adb,
9842         nlists.ads, opt.adb, opt.ads, osint-b.adb,
9843         osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
9844         osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
9845         osint.ads, output.adb, output.ads, par-ch10.adb,
9846         par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
9847         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
9848         par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
9849         par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
9850         par-tchk.adb, par-util.adb, par.adb, par.ads,
9851         prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
9852         prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
9853         prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
9854         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
9855         prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
9856         prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
9857         prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
9858         prj.adb, prj.ads, repinfo.adb, repinfo.ads,
9859         restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
9860         rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
9861         s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
9862         s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
9863         s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
9864         s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
9865         s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
9866         s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
9867         s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
9868         s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
9869         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
9870         s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
9871         s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
9872         s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
9873         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
9874         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
9875         s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
9876         s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
9877         s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
9878         s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
9879         s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
9880         s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
9881         s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
9882         s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
9883         s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
9884         s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
9885         s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
9886         s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
9887         s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
9888         s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
9889         s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
9890         s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
9891         s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
9892         s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
9893         s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
9894         s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
9895         s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
9896         s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
9897         s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
9898         s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
9899         s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
9900         s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
9901         s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
9902         s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
9903         s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
9904         s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
9905         s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
9906         s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
9907         s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
9908         s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
9909         s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
9910         s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
9911         s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
9912         s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
9913         s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
9914         s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
9915         s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
9916         s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
9917         s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
9918         s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
9919         s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
9920         s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
9921         s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
9922         s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
9923         s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
9924         s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
9925         s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
9926         s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
9927         s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
9928         s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
9929         s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
9930         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
9931         s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
9932         s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
9933         s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
9934         s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
9935         s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
9936         s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
9937         s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
9938         s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
9939         s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
9940         s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
9941         s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
9942         s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
9943         s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
9944         s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
9945         s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
9946         s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
9947         s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
9948         s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
9949         s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
9950         s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
9951         s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
9952         s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
9953         s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
9954         scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
9955         sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
9956         sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
9957         sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
9958         sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
9959         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
9960         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
9961         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
9962         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
9963         sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
9964         sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
9965         sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
9966         sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
9967         sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
9968         sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
9969         sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
9970         sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
9971         sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
9972         sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
9973         sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
9974         sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
9975         snames.ads, sprint.adb, sprint.ads, stand.adb,
9976         stand.ads, stringt.adb, stringt.ads, style.adb,
9977         style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
9978         switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
9979         switch-m.ads, switch.adb, switch.ads, system.ads,
9980         table.adb, table.ads, targparm.adb, targparm.ads,
9981         tbuild.adb, tbuild.ads, text_io.ads, trans.c,
9982         tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
9983         tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
9984         ttypef.ads, ttypes.ads, types.adb, types.ads,
9985         uintp.adb, uintp.ads, uname.adb, uname.ads,
9986         unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
9987         usage.adb, usage.ads, validsw.adb, validsw.ads,
9988         widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
9989         xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
9990         xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
9991         formatting and other trivial changes from ACT.
9992
9993 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
9994
9995         * gigi.h, utils2.c (build_constructor):
9996         Rename gnat_build_constructor. Use build_constructor.
9997         * decl.c (gnat_to_gnu_entity)
9998         * trans.c (tree_transform, pos_to_constructor, extract_values)
9999         * ada/utils.c (build_template, convert_to_fat_pointer, convert)
10000         (unchecked_convert)
10001         * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
10002         (fill_vms_descriptor):
10003         Update to match.
10004
10005 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
10006
10007         * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
10008         * misc.c (gnat_tree_size): New function.
10009         (LANG_HOOKS_TREE_SIZE): Override.
10010
10011 2003-04-03  Jason Merrill  <jason@redhat.com>
10012
10013         * misc.c (gnat_adjust_rli): #if 0.
10014
10015 2003-03-31   Geert Bosch <bosch@gnat.com>
10016
10017         PR ada/10020
10018         * link.c : Fix misspelled "const" keyword
10019
10020 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
10021
10022         PR c++/7086
10023         * utils2.c: Adjust calls to put_var_into_stack.
10024
10025 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
10026
10027         * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
10028
10029 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
10030
10031         * misc.c (gnat_init): Update for new prototype.
10032
10033 2003-03-05  Olivier Hainque  <hainque@gnat.com>
10034
10035         ada/9961
10036         * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
10037         warning, and fix return type for the IN_RTS && !SJLJ case.
10038
10039 2003-03-04  Tom Tromey  <tromey@redhat.com>
10040
10041         * Make-lang.in (ada.tags): New target.
10042
10043 2003-03-04  Olivier Hainque  <hainque@act-europe.fr>
10044
10045         ada/9911
10046         * a-except.adb (Unwind_RaiseException): Import a GNAT specific
10047         wrapper, which name remains constant whatever underlying GCC
10048         scheme.
10049
10050         * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
10051         the stable interface needed for a-except.
10052
10053 2003-03-02  Andreas Jaeger  <aj@suse.de>
10054
10055         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10056         gnat_ug_wnt.texi: Regenerate.
10057
10058 2003-03-02  Laurent Guerby <guerby@acm.org>
10059
10060         * Makefile.in (install-gnatlib): Match previous change there
10061         so it works.
10062
10063 2003-02-28  Andreas Schwab  <schwab@suse.de>
10064
10065         * Make-lang.in (install-gnatlib): Change to ada directory before
10066         running make instead of using ada/Makefile directly.
10067
10068 2003-02-18  Ben Elliston  <bje@redhat.com>
10069
10070         Part of fix for PR ada/9406
10071         * gnat_ug.texi (Binder output file): Grammar fix.
10072
10073 2003-02-18  Ben Elliston  <bje@redhat.com>
10074
10075         PR other/7350
10076         * 5qtaprop.adb (Sleep): Fix typo in comment.
10077
10078 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
10079
10080         * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
10081         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10082         gnat_ug_wnt.texi: Regenerate.
10083
10084 2003-02-03  Christian Cornelssen <ccorn@cs.tu-berlin.de>
10085
10086         * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
10087         be created if necessary.
10088         (ada.install-common): Let $(DESTDIR)$(bindir) be created
10089         if necessary.  Remove erroneous and redundant gnatchop
10090         installation commands.  Test for gnatdll before attempting
10091         to install it.
10092         (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
10093         and gnatdll from all plausible locations.
10094
10095 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
10096
10097         * utils2.c (build_unary_op): Don't check flag_volatile.
10098         * gnat_ug.texi: Remove -fvolatile from example.
10099         * gnat_ug_vxw.texi: Likewise.
10100
10101 2003-01-29  Laurent Guerby <guerby@acm.org>
10102
10103         PR ada/8344
10104         * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
10105         * Makefile.in: match previous change.
10106         * Make-lang.in: match previous change.
10107
10108 2003-01-29      Joel Sherrill <joel@OARcorp.com>
10109
10110         * 5rosinte.ads: Add SIGXCPU.
10111         * 5rtpopsp.adb: New file.
10112         * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
10113         * Makefile.in: Recognize more RTEMS targets and add the RTEMS
10114         specific file 5rtpopsp.adb.
10115         * adaint.h: Add include of <stdio.h> when target is RTEMS.  This
10116         is likely needed for all newlib targets.
10117         * init.c: Add RTEMS specific version of __gnat_initialize().
10118
10119 2003-01-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10120
10121         * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
10122
10123 2003-01-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10124
10125         * init.c (__gnat_error_handler): Make msg const.
10126
10127         * gmem.c (convert_addresses): Move declaration ...
10128         * adaint.h: ... here.
10129         * adaint.c (convert_addresses): Adapt addrs type to match
10130         prototype.
10131
10132         * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
10133
10134 2003-01-24  Andreas Schwab  <schwab@suse.de>
10135
10136         * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
10137         size_t to avoid warning.
10138
10139 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
10140
10141         * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
10142
10143 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
10144
10145         * gnat_rm.texi: Remove RCS version number.
10146
10147         * ada-tree.h (union lang_tree_node): Add chain_next option.
10148
10149 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
10150
10151         * Make-lang.in (ada.install-info, ada.install-common,
10152         ada.uninstall): Prepend $(DESTDIR) to the destination
10153         directory in all (un)installation commands.
10154         * Makefile.in (install-gnatlib, install-rts): Ditto.
10155
10156 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
10157
10158         * gnat_rm.texi, gnat_ug.texi: Use @copying.
10159         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10160         gnat_ug_wnt.texi: Regenerate.
10161
10162 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
10163
10164         * gnat_rm.texi: Include gcc-common.texi.  Use GCC version number
10165         only.
10166         * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
10167         $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
10168         $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
10169         ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
10170         ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
10171         $(srcdir)/doc/include/gcc-common.texi.
10172
10173 2002-12-15   Geert Bosch <bosch@gnat.com>
10174
10175         * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
10176
10177 2002-12-14   Geert Bosch <bosch@gnat.com>
10178
10179         * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
10180         case of a body created for a Renaming_As_Body, on which
10181         conformance checks are not performed. Fixes PR ada/5690.
10182
10183 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
10184
10185         * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
10186         utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
10187         not already included.
10188         * Make-lang.in: Update dependencies.
10189
10190 2002-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
10191         * adaint.c (__gnat_tmp_name): Better, but good enough for now,
10192         solution to buffer overflow bug on GNU/Linux.
10193
10194 2002-11-14  Nathanael Nerode  <neroden@gcc.gnu.org>
10195         Closes PR ada/5856 and PR ada/6919 !
10196         * bindgen.adb: Remove all references to Public_Version.
10197         * comperr.adb: Remove all references to Public_Version and
10198         GNATPRO_Version; correct bug reporting instructions.
10199         * comperr.ads: Change to match bug box.
10200         * gnatvsn.ads: Remove all references to Public version and
10201         GNATPRO version.
10202
10203 2002-11-13  Nathanael Nerode  <neroden@gcc.gnu.org>
10204         PR ada/6919
10205         * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
10206         GNU/Linux.
10207
10208         PR ada/6558
10209         * config-lang.in: Remove diff_excludes.
10210
10211 2002-11-05  Graham Stott  <graham.stott@btinternet.com>
10212         PR ada/8358
10213         * trans.c (gnu_pending_elaboration_lists): New GC root.
10214         (build_unit_elab): Use..
10215
10216 2002-10-30   Geert Bosch <bosch@gnat.com>
10217         PR ada/6558
10218         * misc.c : Include optabs.h
10219
10220         * Make-lang.in (misc.o): Add dependency on optabs.h
10221
10222 2002-10-29   Geert Bosch <bosch@gnat.com>
10223         PR ada/6558
10224         * Make-lang.in (gnatbind): Depend on CONFIG_H
10225
10226 2002-10-29  Geert bosch  <bosch@gnat.com>
10227         PR ada/6558
10228         * misc.c: Unrevert misc.c (1.13)
10229
10230 2002-10-28  Nathanael Nerode  <neroden@gcc.gnu.org>
10231
10232         * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
10233         maintainership comments.
10234
10235 2002-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
10236         PR ada/5904
10237         * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
10238         5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
10239         5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
10240         7staprop.adb: Correct statements in comments about
10241         maintainership of GNAT.
10242
10243         PR ada/5904
10244         * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
10245         gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
10246         osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
10247         osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
10248         s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
10249         s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
10250         sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
10251         switch-c.ads switch-m.adb switch-m.ads: Correct statements in
10252         comments about maintainership of GNAT.
10253
10254         PR ada/6919 (forward port of patch for PR ada/5904)
10255         * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
10256         4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
10257         4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
10258         4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
10259         4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
10260         4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
10261         4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
10262         52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
10263         5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
10264         5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
10265         5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
10266         5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
10267         5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
10268         5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
10269         5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
10270         5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
10271         5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
10272         5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
10273         5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
10274         5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
10275         5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
10276         5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
10277         5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
10278         5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
10279         5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
10280         5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
10281         5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
10282         5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
10283         7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
10284         a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
10285         a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
10286         a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
10287         a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
10288         a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
10289         a-except.adb a-except.ads a-excpol.adb a-exctra.adb
10290         a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
10291         a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
10292         a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
10293         a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
10294         a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
10295         a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
10296         a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
10297         a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
10298         a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
10299         a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
10300         a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
10301         a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
10302         a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
10303         a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
10304         a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
10305         a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
10306         a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
10307         a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
10308         a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
10309         a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
10310         a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
10311         a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
10312         a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
10313         a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
10314         a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
10315         a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
10316         a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
10317         a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
10318         a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
10319         a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
10320         a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
10321         a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
10322         a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
10323         adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
10324         alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
10325         back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
10326         binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
10327         bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
10328         ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
10329         csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
10330         cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
10331         debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
10332         einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
10333         errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
10334         exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
10335         exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
10336         exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
10337         exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
10338         exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
10339         exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
10340         exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
10341         exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
10342         exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
10343         exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
10344         exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
10345         exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
10346         exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
10347         final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
10348         fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
10349         freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
10350         g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
10351         g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
10352         gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
10353         gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
10354         gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
10355         gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
10356         gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
10357         gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
10358         i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
10359         i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
10360         i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
10361         i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
10362         impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
10363         itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
10364         lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
10365         lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
10366         lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
10367         lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
10368         makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
10369         namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
10370         nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
10371         osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
10372         par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
10373         par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
10374         par-endh.adb par-labl.adb par-load.adb par-prag.adb
10375         par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
10376         prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
10377         prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
10378         prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
10379         prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
10380         prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
10381         prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
10382         repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
10383         rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
10384         s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
10385         s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
10386         s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
10387         s-direio.adb s-direio.ads s-except.ads s-exctab.adb
10388         s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
10389         s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
10390         s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
10391         s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
10392         s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
10393         s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
10394         s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
10395         s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
10396         s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
10397         s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
10398         s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
10399         s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
10400         s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
10401         s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
10402         s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
10403         s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
10404         s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
10405         s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
10406         s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
10407         s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
10408         s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
10409         s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
10410         s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
10411         s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
10412         s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
10413         s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
10414         s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
10415         s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
10416         s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
10417         s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
10418         s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
10419         s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
10420         s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
10421         s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
10422         s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
10423         s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
10424         s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
10425         s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
10426         s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
10427         s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
10428         s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
10429         s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
10430         s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
10431         s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
10432         s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
10433         s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
10434         s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
10435         s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
10436         s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
10437         s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
10438         s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
10439         s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
10440         s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
10441         s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
10442         s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
10443         s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
10444         s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
10445         s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
10446         s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
10447         s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
10448         s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
10449         s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
10450         s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
10451         s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
10452         s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
10453         s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
10454         s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
10455         s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
10456         s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
10457         s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
10458         s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
10459         s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
10460         s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
10461         s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
10462         s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
10463         s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
10464         s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
10465         s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
10466         scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
10467         sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
10468         sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
10469         sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
10470         sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
10471         sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
10472         sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
10473         sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
10474         sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
10475         sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
10476         sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
10477         sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
10478         sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
10479         sem_type.adb sem_type.ads sem_util.adb sem_util.ads
10480         sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
10481         sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
10482         sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
10483         sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
10484         snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
10485         stringt.ads stringt.h style.adb style.ads stylesw.adb
10486         stylesw.ads switch.adb switch.ads sysdep.c system.ads
10487         table.adb table.ads targparm.adb targparm.ads targtyps.c
10488         tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
10489         tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
10490         treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
10491         types.adb types.ads types.h uintp.adb uintp.ads uintp.h
10492         uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
10493         usage.ads utils.c utils2.c validsw.adb validsw.ads
10494         widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
10495         xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
10496         xtreeprs.adb: Correct statements in comments about maintainership
10497         of GNAT.
10498
10499 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
10500
10501         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
10502         * Makefile.in (TOOLS_LIBS): Add ../../version.o.
10503         * gnatvsn.ads: Gnat_Version_String is now a function.
10504         * gnatvsn.adb: New file.  When asked for Gnat_Version_String,
10505         copy the C version_string into a String and return it.
10506         * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
10507         gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
10508         Remove pragma Ident (Gnat_Version_String).  If this was the
10509         sole use of package Gnatvsn, remove the with statement too.
10510         * gnat1drv.adb: Tweak -gnatv output.
10511
10512 2002-09-17  Richard Henderson  <rth@redhat.com>
10513
10514         * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
10515         * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
10516         * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
10517         (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
10518         * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
10519         and real_2expN instead of a loop.
10520         * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
10521         (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
10522
10523 2002-08-25  Andre Leis <a.leis@gmx.net>
10524             David Billinghurst (David.Billinghurst@riotinto.com>
10525
10526         * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
10527
10528 2002-08-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10529
10530         * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
10531         Remove $(CONFIG_H) dependency.
10532
10533 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10534
10535         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
10536
10537 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10538
10539         * adadecode.c (ada_demangle): Use xstrdup in lieu of
10540         xmalloc/strcpy.
10541         * misc.c (gnat_decode_option): Likewise.
10542
10543 2002-07-15  Florian Weimer  <fw@deneb.enyo.de>
10544
10545         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
10546         function approach did not work well because of a side effect (the
10547         function call could reallocate the table which was being indexed
10548         using its result). Fixes ada/4851. [RESURRECTED]
10549
10550 2002-07-01  Roger Sayle  <roger@eyesopen.com>
10551
10552         * ada/utils.c (builtin_function): Accept an additional parameter.
10553
10554 2002-06-28  Andreas Jaeger  <aj@suse.de>
10555
10556         PR ada/7144
10557         * Makefile.in: Fix typo in comment, patch by Adrian Knoth
10558         <adi@thur.de>.
10559
10560 2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10561
10562         * Makefile.in (SHELL): Set to @SHELL@.
10563
10564 2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10565
10566         * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
10567         array size calculation.
10568
10569 2002-06-04  Andreas Jaeger  <aj@suse.de>
10570
10571         * Make-lang.in (gnatbind): Readd rule that has been lost in last
10572         patch.
10573
10574 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
10575
10576         Merge from pch-branch:
10577
10578         * config-lang.in (gtfiles): Add ada-tree.h.
10579         * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
10580         (SET_TYPE_MODULUS): New.
10581         (SET_TYPE_INDEX): New.
10582         (SET_TYPE_DIGITS_VALUE): New.
10583         (SET_TYPE_RM_SIZE): New.
10584         (SET_TYPE_UNCONSTRAINED_ARRAY): New.
10585         (SET_TYPE_ADA_SIZE): New.
10586         (SET_TYPE_ACTUAL_BOUNDS): New.
10587         (SET_DECL_CONST_CORRESPONDING_VAR): New.
10588         (SET_DECL_ORIGINAL_FIELD): New.
10589         (TREE_LOOP_ID): Correct typo.
10590         * decl.c: Use new macros.
10591         * utils.c: Include debug.h, use new macros.
10592         * utils2.c: Use new macros.
10593
10594         * ada-tree.h: Update all macros for new tree description.
10595         (struct tree_loop_id): New.
10596         (union lang_tree_node): New.
10597         (struct lang_decl): New.
10598         (struct lang_type): New.
10599         * misc.c (gnat_mark_tree): Delete.
10600         (LANG_HOOKS_MARK_TREE): Delete.
10601         * trans.c (tree_transform): No longer any need to cast
10602         for TREE_LOOP_ID.
10603
10604         * utils.c (struct language_function): New dummy structure.
10605
10606         * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
10607         (misc.o): Likewise.
10608         (utils.o): Likewise; also gtype-ada.h.
10609         * Make-lang.in (gnat1): Add dependency on s-gtype.
10610         (gnatbind): Add dependency on $(CONFIG_H).
10611         * utils.c: Correct last #include.
10612         (stuct e_stack): Remove unnecessary 'static'.
10613         (mark_e_stack): Remove unused prototype.
10614
10615         * scn-nlit.adb: Remove whitespace after version number to
10616         keep lines under 80 chars.
10617         * snames.adb: Likewise.
10618         * treepr.ads: Likewise.
10619
10620         * Makefile.in (decl.o): Include gt-ada-<filename>.h.
10621         (misc.o): Likewise.
10622         (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
10623         * config-lang.in (gtfiles): New.
10624         * decl.c: Use gengtype for roots.
10625         * gigi.h: Use gengtype for roots.
10626         * trans.c: Use gengtype for roots.
10627         * utils.c: Use gengtype for roots, marking.  Include gtype-ada.h.
10628
10629 2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
10630
10631         * misc.c (gnat_init): Adjust setting of internal_error_function.
10632
10633 2002-06-01  Joseph S. Myers  <jsm28@cam.ac.uk>
10634
10635         * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
10636         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10637         gnat_ug_wnt.texi: Regenerate.
10638
10639 2002-05-31  Florian Weimer  <fw@deneb.enyo.de>
10640
10641         * 5ntaprop.adb (with System.OS_Primitives): Remove.
10642
10643         * cstreams.c (max_path_len): Move from here ...
10644         * adaint.c (__gnat_max_path_len): ... to here.
10645         * adaint.c (__gnat_max_path_len): Declare.
10646         * g-dirope.adb (Max_Path): Adjust.
10647         * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
10648         * i-cstrea.ads (max_path_len): Adjust.
10649         * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
10650         * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
10651
10652         * Makefile.in, Make-lang.in: Documentation is now built in
10653         Make-lang.in.  Store Info and generated Texinfo files in the
10654         source directory.
10655         * gnat_ug.texi: Remove CVS keywords, correct version number.
10656         Set file name correctly.
10657
10658         * gnat_ug_*.texi: Add.
10659         * .cvsignore: Ignore generated Texinfo files.
10660
10661 2002-05-30  Zack Weinberg  <zack@codesourcery.com>
10662
10663         * ada.h: Add MI guard macro.
10664         (SUBTYPE): Define constants with an anonymous enum, not static
10665         const variables.
10666         (IN): Cast constants to appropriate type before use.
10667
10668 2002-05-26  Joseph S. Myers  <jsm28@cam.ac.uk>
10669
10670         * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
10671         (experimental)".
10672
10673 2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10674
10675         * Make-lang.in (CP, ECHO): Copy from Makefile.in.
10676         (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
10677         (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
10678         (ALL_ADA_CFLAGS): Likewise.
10679         (ADA_INCLUDES): Likewise.
10680         Adapt for new working dir.
10681         (GNATBIND): Use Makefile.in version.
10682         (.SUFFIXES): Copy from Makefile.in.
10683         (ada-warn): Define.
10684         (.adb.o, .ads.o): Copy from Makefile.in.
10685         Added $(OUTPUT_OPTION).
10686         (GNAT1_C_OBJS): Moved from Makefile.in.
10687         Prefix with ada subdir.
10688         (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
10689         (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
10690         Adapt for new working dir.
10691         (EXTRA_GNATBIND_OBJS): Likewise.
10692         (ADA_BACKEND): Moved from Makefile.in.
10693         Renamed to avoid conflict with global BACKEND.
10694         Use that one.
10695         (TARGET_ADA_SRCS): Moved from Makefile.in.
10696         (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
10697         Use ADA_BACKEND.
10698         (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
10699         (ada_extra_files): Moved from Makefile.in.
10700         Prefix with ada subdir.
10701         (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
10702         (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
10703         (ada/nmake.ads): Likewise.
10704         (update-sources): Moved from Makefile.in.
10705         Prefix with ada subdir.
10706         (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
10707         (ADA_TREE_H): Likewise.
10708         (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
10709         (ada/memtrack.o): Likewise.
10710         (ada/adadecode.o): Likewise.
10711         Update dependencies.
10712         (ada/adaint.o): New.
10713         (ada/argv.o): Moved from Makefile.in.
10714         Prefix with ada subdir.
10715         Update dependencies.
10716         (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
10717         (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
10718         (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
10719         Prefix with ada subdir.
10720         (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
10721         (GNAT DEPENDENCIES): Regenerate.
10722         * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
10723         toplevel Makefile.in.
10724         (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
10725         (TARGET_ADA_SRCS): Removed.
10726         (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
10727         (GNATBIND_OBJS): Likewise.
10728         (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
10729         (BACKEND): Removed.
10730         (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
10731         (TREE_H): Likewise.
10732         (ada_extra_files): Likewise.
10733         (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
10734         (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
10735         (update-sources): Likewise.
10736         (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
10737         (ADA_TREE_H): Likewise.
10738         (adadecoce.o): Likewise.
10739         (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
10740         (GNAT DEPENDENCIES): Likewise.
10741
10742 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10743
10744         * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
10745         * Makefile.in: Likewise.
10746
10747 2002-05-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10748
10749         * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
10750         Restore $(CONFIG_H) and prefix.o dependencies.
10751         (ada.stage[1-4]): Depend on stage?-start.
10752
10753         * Makefile.in (b_gnatb.c): Depend on interfac.o.
10754
10755 2002-05-02  Jim Wilson  <wilson@redhat.com>
10756
10757         * utils.c (finish_record_type): Change record_size to record_type.
10758
10759 2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10760
10761         * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
10762         (ALL_ADA_CFLAGS): Define.  Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
10763         ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
10764
10765 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
10766
10767         * misc.c (gnat_parse_file): Update.
10768
10769 2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
10770
10771         * misc.c (gnat_init): Don't set lang_attribute_common.
10772
10773 2002-04-21  Joseph S. Myers  <jsm28@cam.ac.uk>
10774
10775         * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
10776
10777 2002-04-21  Florian Weimer  <fw@deneb.enyo.de>
10778
10779         * gnat_ug.texi: New file.
10780
10781         * gnat_rm.texi: Do not include texiplus.texi.  Include fdl.texi
10782         instead of gfdl.texi
10783
10784         * xgnatug.adb, ug_words: New files.
10785
10786         * Makefile.in (doc, dvi): New targets.  Build gnat_ug_*,
10787         gnat_rm and gnat-style manuals.
10788
10789 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
10790
10791         * gigi.h (incomplete_type_error): Remove.
10792         * utils.c (incomplete_type_error): Remove.
10793
10794 2002-04-16  Mark Mitchell  <mark@codesourcery.com>
10795
10796         * trans.c (tree_transform): Add has_scope argument to
10797         expand_start_stmt_expr.
10798
10799 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
10800
10801         * gigi.h (truthvalue_conversion): Rename.
10802         * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
10803         * trans.c (tree_transform): Update.
10804         * utils2.c (truthvalue_conversion): Rename, update.
10805         (build_binary_op, build_unary_op): Update.
10806
10807 2002-04-04  Laurent Guerby  <guerby@acm.org>
10808
10809         * make.adb: Implement -margs, remove restriction about file name placement.
10810         * makeusg.adb: Documentation update.
10811         * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
10812         * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
10813
10814 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
10815
10816         * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
10817         (builtin_function): Similarly.
10818
10819 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
10820
10821         * decl.c (gnat_to_gnu_entity): Update.
10822         * gigi.h (mark_addressable): Rename.
10823         * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
10824         * trans.c (tree_transform): Update.
10825         * utils.c (create_var_decl): Update.
10826         * util2.c (build_binary_op, build_unary_op,
10827         fill_vms_descriptor): Update.
10828         (mark_addressable): Rename, update.
10829
10830 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
10831
10832         * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
10833         Rename.
10834         * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
10835         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
10836         * trans.c (tree_transform, convert_with_check): Update.
10837         * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
10838         Rename.
10839
10840 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
10841
10842         * gigi.h (finish_incomplete_decl): Rename.
10843         * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
10844         * utils.c (gnat_init_decl_processing): Don't set hook.
10845         (finish_incomplete_decl): Rename.
10846
10847 2002-03-29  Andreas Schwab  <schwab@suse.de>
10848
10849         * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
10850         directory.
10851
10852 2001-03-28  Robert Dewar <dewar@gnat.com>
10853
10854         * checks.ads:
10855         (Remove_Checks): New procedure
10856
10857         * checks.adb:
10858         (Remove_Checks): New procedure
10859
10860         * exp_util.adb:
10861         Use new Duplicate_Subexpr functions
10862         (Duplicate_Subexpr_No_Checks): New procedure
10863         (Duplicate_Subexpr_No_Checks_Orig): New procedure
10864         (Duplicate_Subexpr): Restore original form (checks duplicated)
10865         (Duplicate_Subexpr): Call Remove_Checks
10866
10867         * exp_util.ads:
10868         (Duplicate_Subexpr_No_Checks): New procedure
10869         (Duplicate_Subexpr_No_Checks_Orig): New procedure
10870         Add 2002 to copyright notice
10871
10872         * sem_util.adb: Use new Duplicate_Subexpr functions
10873
10874         * sem_eval.adb:
10875         (Eval_Indexed_Component): This is the place to call
10876         Constant_Array_Ref and to replace the value. We simply merge
10877         the code of this function in here, since it is now no longer
10878         used elsewhere. This fixes the problem of the back end not
10879         realizing we were clever enough to see that this was
10880         constant.
10881         (Expr_Val): Remove call to Constant_Array_Ref
10882         (Expr_Rep_Val): Remove call to Constant_Array_Ref
10883         Minor reformatting
10884         (Constant_Array_Ref): Deal with string literals (patch
10885         suggested by Zack Weinberg on the gcc list)
10886
10887 2001-03-28  Ed Schonberg <schonber@gnat.com>
10888
10889         * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
10890         Duplicate_Subexpr_Move_Checks.
10891
10892         * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
10893         Duplicate_Subexpr_Move_Checks.
10894
10895         * sem_eval.adb: (Constant_Array_Ref): Verify that constant
10896         value of array exists before retrieving it (it may a private
10897         protected component in a function).
10898
10899 2002-03-28   Geert Bosch <bosch@gnat.com>
10900
10901         * prj-pp.adb : New file.
10902
10903         * prj-pp.ads : New file.
10904
10905 2002-03-28  Andreas Jaeger  <aj@suse.de>
10906
10907         * Makefile.in (stamp-sdefault): Fix path for Makefile.
10908
10909 2002-03-28  Neil Booth  <neil@daikokuya.demon.co.uk>
10910
10911         * misc.c (gnat_expand_expr): Move prototype.
10912
10913 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10914
10915         * misc.c (insert_default_attributes): Remove.
10916
10917 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10918
10919         * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
10920         (gnat_init): Don't set hook.
10921         (gnat_expand_expr): Fix prototype.
10922
10923 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10924
10925         * misc.c (ggc_p): Remove.
10926
10927 2002-03-27  Geert Bosch  <bosch@gnat.com>
10928
10929         * prj-makr.ads, prj-makr.adb : New files.
10930
10931 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
10932
10933         * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
10934         (lang_mark_tree): Make static, rename.
10935
10936 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
10937
10938         * misc.c (maybe_build_cleanup): Remove.
10939
10940 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
10941
10942         * gigi.h (yyparse): Remove.
10943
10944 2002-03-23  Florian Weimer  <fw@deneb.enyo.de>
10945
10946         * gnat_rm.texi: Sync with ACT version.
10947           (From Ben Brosgol <brosgol@gnat.com>)
10948
10949 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
10950
10951         * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
10952         (gnat_init): Remove old hook.
10953
10954 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
10955
10956         * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
10957         (yyparse): Rename gnat_parse_file.
10958
10959 2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
10960
10961         Delete all lines containing "$Revision:".
10962         * xeinfo.adb: Don't look for revision numbers.
10963         * xnmake.adb: Likewise.
10964         * xsinfo.adb: Likewise.
10965         * xsnames.adb: Likewise.
10966         * xtreeprs.adb: Likewise.
10967
10968 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10969
10970         * misc.c (gnat_tree_code_type, gnat_tree_code_length,
10971         gnat_tree_code_name): Delete.
10972         (tree_code_type, tree_code_length, tree_code_name): Define.
10973         (gnat_init): Don't try to copy into the various tree_code
10974         arrays.
10975
10976 2002-03-11  Richard Henderson  <rth@redhat.com>
10977
10978         * Makefile.in (.NOTPARALLEL): Add fake tag.
10979
10980 2002-03-07  Geert Bosch  <bosch@gnat.com>
10981
10982         * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
10983         s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
10984         switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
10985         switch-m.adb, switch-m.ads : New files.
10986
10987 2002-03-07  Geert Bosch  <bosch@gnat.com>
10988
10989         * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
10990         4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
10991         4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
10992         4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
10993         5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
10994         5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
10995         5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
10996         5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
10997         5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
10998         5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
10999         5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
11000         5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
11001         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
11002         5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
11003         5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
11004         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
11005         5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
11006         5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
11007         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
11008         5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
11009         7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
11010         Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
11011         a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
11012         a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
11013         a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
11014         a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
11015         a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
11016         a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
11017         a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
11018         adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
11019         atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
11020         bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
11021         csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
11022         einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
11023         eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
11024         exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
11025         exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
11026         exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
11027         exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
11028         exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
11029         expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
11030         freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
11031         g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
11032         g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
11033         g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
11034         g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
11035         g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
11036         g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
11037         gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
11038         gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
11039         gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
11040         i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
11041         impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
11042         lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
11043         lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
11044         memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
11045         mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
11046         nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
11047         output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
11048         par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
11049         prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
11050         prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
11051         prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
11052         rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
11053         s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
11054         s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
11055         s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
11056         s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
11057         s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
11058         s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
11059         s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
11060         s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
11061         s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
11062         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
11063         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
11064         s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
11065         s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
11066         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
11067         s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
11068         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
11069         sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
11070         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
11071         sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
11072         sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
11073         sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
11074         sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
11075         sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
11076         sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
11077         sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
11078         snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
11079         stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
11080         table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
11081         tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
11082         treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
11083         types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
11084         utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
11085         xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
11086
11087         * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
11088         g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
11089         mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
11090         osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
11091
11092         * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
11093         5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
11094
11095         * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
11096         to mdll-fil.ad[bs] and mdll-util.ad[bs]
11097
11098         * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
11099         from mdllfile.ad[bs] and mdlltool.ad[bs]
11100
11101 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11102
11103         * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
11104         lieu of explicit sizeof/sizeof.
11105
11106 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
11107
11108         * misc.c (copy_lang_decl): Remove.
11109
11110 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
11111
11112         * misc.c: Delete traditional-mode-related code copied from the
11113         C front end but not used, or used only to permit the compiler
11114         to link.
11115
11116 2002-02-07  Richard Henderson  <rth@redhat.com>
11117
11118         * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
11119         * adaint.h (__gnat_to_gm_time): Update prototype.
11120
11121 2002-01-30  Richard Henderson  <rth@redhat.com>
11122
11123         * trans.c (tree_transform) [N_Loop_Statement]: Use
11124         expand_exit_loop_top_cond.
11125
11126 2001-12-23  Richard Henderson  <rth@redhat.com>
11127
11128         * utils.c (end_subprog_body): Push GC context around
11129         rest_of_compilation for nested functions.
11130
11131 2001-12-23  Richard Henderson  <rth@redhat.com>
11132
11133         * 5nosinte.ads: Get definition of "int" from Interfaces.C.
11134
11135 2001-12-23  Florian Weimer  <fw@deneb.enyo.de>
11136
11137         * gnat-style.texi (Declarations and Types): Remove ancient style
11138         rule which was mandated by code generation issues.
11139
11140         * gnat-style.texi (header): Add @dircategory, @direntry.
11141         (title page): Remove date.
11142         (general) Add @./@: where approriate, and two spaces after the
11143         full stop at the end of a sentence.  Use @samp markup when
11144         referring concrete lexical entities (keywords, attribute names
11145         etc.), and @syntax for ARM grammar elements. Use @r for English
11146         text in comments.  Use @emph for emphasis.  Change "if-statements"
11147         etc. to "if statements" (without @samp). Break long lines.  Make
11148         casing of section names consistent.
11149         (Identifiers): Use @samp markup for variable names.
11150         (Comments): Use @samp markup for comment characters. Line-end
11151         comments may follow any Ada code, not just statements.  Fix
11152         misspelling of "Integer" as "integer".
11153         (Loop statements): Do not use variable name "I", use "J".
11154         (Subprogram Declarations): Document alignment.
11155         (Subprogram Bodies, Block statements): Document empty line before
11156         "begin".
11157
11158 2001-12-22  Florian Weimer  <fw@deneb.enyo.de>
11159
11160         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
11161         function approach did not work well because of a side effect (the
11162         function call could reallocate the table which was being indexed
11163         using its result). Fixes ada/4851.
11164
11165 2001-12-19  Robert Dewar <dewar@gnat.com>
11166
11167         * bindgen.adb: Minor reformatting
11168
11169         * cstand.adb: Minor reformatting
11170
11171         * fmap.adb: Minor reformatting
11172         Change name from Add for Add_To_File_Map (Add is much too generic)
11173         Change Path_Name_Of to Mapped_Path_Name
11174         Change File_Name_Of to Mapped_File_Name
11175         Fix copyright dates in header
11176
11177         * fmap.ads:
11178         Change name from Add for Add_To_File_Map (Add is much too generic)
11179         Change Path_Name_Of to Mapped_Path_Name
11180         Change File_Name_Of to Mapped_File_Name
11181         Fix copyright dates in header
11182
11183         * fname-uf.adb: Minor reformatting.  New names of stuff in Fmap.
11184         Add use clause for Fmap.
11185
11186         * make.adb: Minor reformatting
11187
11188         * osint.adb: Minor reformatting.  Change of names in Fmap.
11189         Add use clause for Fmap.
11190
11191         * prj-env.adb: Minor reformatting
11192
11193         * prj-env.ads: Minor reformatting
11194
11195         * switch.adb: Minor reformatting.  Do proper raise of Bad_Switch if
11196         error found (there were odd exceptions to this general rule in
11197         -gnatec/-gnatem processing)
11198
11199 2001-12-19  Olivier Hainque <hainque@gnat.com>
11200
11201         * raise.c (__gnat_eh_personality): Exception handling personality
11202         routine for Ada.  Still in rough state, inspired from the C++ version
11203         and still containing a bunch of debugging artifacts.
11204         (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
11205         inspired from the C++ library.
11206
11207         * raise.c (eh_personality): Add comments. Part of work for the GCC 3
11208         exception handling integration.
11209
11210 2001-12-19  Arnaud Charlet <charlet@gnat.com>
11211
11212         * Makefile.in: Remove use of 5smastop.adb which is obsolete.
11213         (HIE_SOURCES): Add s-secsta.ad{s,b}.
11214         (HIE_OBJS): Add s-fat*.o
11215         (RAVEN_SOURCES): Remove files that are no longer required. Add
11216         interrupt handling files.
11217         (RAVEN_MOD): Removed, no longer needed.
11218
11219 2001-12-19  Robert Dewar <dewar@gnat.com>
11220
11221         * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
11222         Add 2001 to copyright date
11223
11224         * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
11225         need to force universal inlining for these cases.
11226
11227 2001-12-19  Arnaud Charlet <charlet@gnat.com>
11228
11229         * s-taprob.adb: Minor clean ups so that this unit can be used in
11230         Ravenscar HI.
11231
11232         * exp_ch7.adb: Allow use of secondary stack in HI mode.
11233         Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
11234
11235 2001-12-19  Vincent Celier <celier@gnat.com>
11236
11237         * prj-tree.ads (Project_Node_Record): Add comments for components
11238         Pkg_Id and Case_Insensitive.
11239
11240 2001-12-19  Pascal Obry <obry@gnat.com>
11241
11242         * g-socket.adb: Minor reformatting. Found while reading code.
11243
11244 2001-12-19  Robert Dewar <dewar@gnat.com>
11245
11246         * prj-tree.ads: Minor reformatting
11247
11248 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
11249
11250         * config-lang.in (diff_excludes): Remove.
11251
11252 2001-12-17  Ed Schonberg <schonber@gnat.com>
11253
11254         * sem_res.adb (Resolve_Selected_Component): do not generate a
11255         discriminant check if the selected component is a component of
11256         the argument of an initialization procedure.
11257
11258         * trans.c (tree_transform, case of arithmetic operators): If result
11259         type is private, the gnu_type is the base type of the full view,
11260         given that the full view itself may be a subtype.
11261
11262 2001-12-17  Robert Dewar <dewar@gnat.com>
11263
11264         * sem_res.adb: Minor reformatting
11265
11266         * trans.c (tree_transform, case N_Real_Literal): Add missing third
11267         parameter in call to Machine (unknown horrible effects from this
11268         omission).
11269
11270         * urealp.h: Add definition of Round_Even for call to Machine
11271         Add third parameter for Machine
11272
11273 2001-12-17  Ed Schonberg <schonber@gnat.com>
11274
11275         * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
11276         predefined units in No_Run_Time mode.
11277
11278 2001-12-17  Richard Kenner <kenner@gnat.com>
11279
11280         * misc.c (insn-codes.h): Now include.
11281
11282 2001-12-17  Olivier Hainque <hainque@gnat.com>
11283
11284         * a-except.adb: Preparation work for future integration of the GCC 3
11285         exception handling mechanism
11286         (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
11287         to factorize previous code sequences and make them externally callable,
11288         e.g. for the Ada personality routine when the GCC 3 mechanism is used.
11289         (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
11290         Use the new notification routines.
11291
11292 2001-12-17  Emmanuel Briot <briot@gnat.com>
11293
11294         * prj-tree.ads (First_Choice_Of): Document the when others case
11295
11296 2001-12-17  Arnaud Charlet <charlet@gnat.com>
11297
11298         * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
11299         HI-E mode, in order to support Ravenscar profile properly.
11300
11301         * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
11302         mode on 32 bits targets.
11303
11304 2001-12-17  Vincent Celier <celier@gnat.com>
11305
11306         * fmap.adb: Initial version.
11307
11308         * fmap.ads: Initial version.
11309
11310         * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
11311         If search is successfully done, add to mapping.
11312
11313         * frontend.adb: Initialize the mapping if a -gnatem switch was used.
11314
11315         * make.adb:
11316         (Gnatmake): Add new local variable Mapping_File_Name.
11317          Create mapping file when using project file(s).
11318          Delete mapping file before exiting.
11319
11320         * opt.ads (Mapping_File_Name): New variable
11321
11322         * osint.adb (Find_File): Use path name found in mapping, if any.
11323
11324         * prj-env.adb (Create_Mapping_File): New procedure
11325
11326         * prj-env.ads (Create_Mapping_File): New procedure.
11327
11328         * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
11329         (Mapping_File)
11330
11331         * usage.adb: Add entry for new switch -gnatem.
11332
11333         * Makefile.in: Add dependencies for fmap.o.
11334
11335 2001-12-17  Ed Schonberg <schonber@gnat.com>
11336
11337         * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
11338         is a package instantiation rewritten as a package body.
11339         (Install_Withed_Unit): Undo previous change, now redundant.
11340
11341 2001-12-17  Gary Dismukes <dismukes@gnat.com>
11342
11343         * layout.adb:
11344         (Compute_Length): Move conversion to Unsigned to callers.
11345         (Get_Max_Size): Convert Len expression to Unsigned after calls to
11346         Compute_Length and Determine_Range.
11347         (Layout_Array_Type): Convert Len expression to Unsigned after calls to
11348         Compute_Length and Determine_Range.
11349         Above changes fix problem with length computation for supernull arrays
11350         where Max (Len, 0) wasn't getting applied due to the Unsigned
11351         conversion used by Compute_Length.
11352
11353 2001-12-17  Arnaud Charlet <charlet@gnat.com>
11354
11355         * rtsfind.ads:
11356         (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
11357          System.Secondary_Stack.
11358         (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
11359          in HI-E mode.
11360         Remove unused entity RE_Exception_Data.
11361
11362         * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
11363
11364         * rident.ads (No_Secondary_Stack): New restriction.
11365
11366 2001-12-17  Joel Brobecker <brobecke@gnat.com>
11367
11368         * gnat_rm.texi: Fix minor typos. Found while reading the section
11369         regarding "Bit_Order Clauses" that was sent to a customer.
11370         Very interesting documentation!
11371
11372 2001-12-17  Robert Dewar <dewar@gnat.com>
11373
11374         * sem_case.adb (Choice_Image): Avoid creating improper character
11375         literal names by using the routine Set_Character_Literal_Name. This
11376         fixes bombs in certain error message cases.
11377
11378 2001-12-17  Arnaud Charlet <charlet@gnat.com>
11379
11380         * a-reatim.adb: Minor reformatting.
11381
11382 2001-12-17  Ed Schonberg <schonber@gnat.com>
11383
11384         * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
11385         case where the formal is an extension of another formal in the current
11386         unit or in a parent generic unit.
11387
11388 2001-12-17  Arnaud Charlet <charlet@gnat.com>
11389
11390         * s-tposen.adb: Update comments.  Minor reformatting.
11391         Minor code clean up.
11392
11393         * s-tarest.adb: Update comments.  Minor code reorganization.
11394
11395 2001-12-17  Gary Dismukes <dismukes@gnat.com>
11396
11397         * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
11398         when Java_VM.
11399
11400 2001-12-17  Robert Dewar <dewar@gnat.com>
11401
11402         * exp_attr.adb: Minor reformatting
11403
11404 2001-12-17  Ed Schonberg <schonber@gnat.com>
11405
11406         * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
11407         derivations nested within a child unit: verify that the parent
11408         type is declared in an outer scope.
11409
11410 2001-12-17  Robert Dewar <dewar@gnat.com>
11411
11412         * sem_ch12.adb: Minor reformatting
11413
11414 2001-12-17  Ed Schonberg <schonber@gnat.com>
11415
11416         * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
11417         warning if current unit is a predefined one, from which bodies may
11418         have been deleted.
11419
11420 2001-12-17  Robert Dewar <dewar@gnat.com>
11421
11422         * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
11423         Fix header format. Add 2001 to copyright date.
11424
11425         * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
11426         which caused CE during compilation if checks were enabled.
11427
11428 2001-12-17  Vincent Celier <celier@gnat.com>
11429
11430         * make.adb:
11431         (Switches_Of): New function
11432         (Test_If_Relative_Path): New procedure
11433         (Add_Switches): Use new function Switches_Of
11434         (Collect_Arguments_And_Compile): Use new function Switches_Of.
11435         When using a project file, test if there are any relative
11436         search path. Fail if there are any.
11437         (Gnatmake): Only add switches for the primary directory when not using
11438         a project file. When using a project file, change directory to the
11439         object directory of the main project file. When using a project file,
11440         test if there are any relative search path. Fail if there are any.
11441         When using a project file, fail if specified executable is relative
11442         path with directory information, and prepend executable, if not
11443         specified as an absolute path, with the exec directory.  Make sure
11444         that only one -o switch is transmitted to the linker.
11445
11446         * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
11447
11448         * prj-nmsc.adb:
11449         (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
11450         when using a non standard naming scheme.
11451         (Check_Ada_Naming_Scheme): Make sure that error messages
11452         do not raise exceptions.
11453         (Is_Illegal_Append): Return True if there is no dot in the suffix.
11454         (Language_Independent_Check): Check the exec directory.
11455
11456         * prj.adb (Project_Empty): Add new component Exec_Directory
11457
11458         * prj.ads:
11459         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
11460         (Project_Data): Add component Exec_Directory
11461
11462         * snames.adb: Updated to match snames.ads revision 1.215
11463
11464         * snames.ads: Added Exec_Dir
11465
11466 2001-12-17  Robert Dewar <dewar@gnat.com>
11467
11468         * make.adb: Minor reformatting
11469
11470         * prj-nmsc.adb: Minor reformatting
11471
11472         * snames.adb: Updated to match snames.ads
11473
11474         * snames.ads: Alphebetize entries for project file
11475
11476 2001-12-17  Ed Schonberg <schonber@gnat.com>
11477
11478         * trans.c (process_freeze_entity): Do nothing if the entity is a
11479         subprogram that was already elaborated.
11480
11481 2001-12-17  Richard Kenner <kenner@gnat.com>
11482
11483         * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
11484         and Esize if object is referenced via pointer.
11485
11486 2001-12-17  Ed Schonberg <schonber@gnat.com>
11487
11488         * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
11489         is discrete before analyzing choices.
11490
11491 2001-12-17  Joel Brobecker <brobecke@gnat.com>
11492
11493         * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
11494         containing the name of the Ada Main Program. This string is mainly
11495         intended for the debugger.
11496         (Gen_Output_File_C): Do the equivalent change when generating a C file.
11497
11498 2001-12-17  Robert Dewar <dewar@gnat.com>
11499
11500         * ali.adb: Set new Dummy_Entry field in dependency entry
11501
11502         * ali.ads: Add Dummy_Entry field to source dependency table
11503
11504         * bcheck.adb (Check_Consistency): Ignore dummy D lines
11505
11506         * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
11507
11508         * lib-writ.ads: Document dummy D lines for missing files.
11509
11510         * types.ads: (Dummy_Time_Stamp): New value for non-existant files
11511
11512 2001-12-17  Robert Dewar <dewar@gnat.com>
11513
11514         * ali.adb: Type reference does not reset current file.
11515
11516         * ali.adb: Recognize and scan renaming reference
11517
11518         * ali.ads: Add spec for storing renaming references.
11519
11520         * lib-xref.ads: Add documentation for handling of renaming references
11521
11522         * lib-xref.adb: Implement output of renaming reference.
11523
11524         * checks.adb:
11525         (Determine_Range): Document local variables
11526         (Determine_Range): Make sure Hbound is initialized. It looks as though
11527          there could be a real problem here with an uninitialized reference
11528          to Hbound, but no actual example of failure has been found.
11529
11530 2001-12-17  Laurent Pautet <pautet@gnat.com>
11531
11532         * g-socket.ads:
11533         Fix comment of Shutdown_Socket and Close_Socket. These functions
11534         should not fail silently because if they are called twice, this
11535         probably means that there is a race condition in the user program.
11536         Anyway, this behaviour is consistent with the rest of this unit.
11537         When an error occurs, an exception is raised with the error message
11538         as exception message.
11539
11540 2001-12-17  Robert Dewar <dewar@gnat.com>
11541
11542         * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
11543         that it happens before modification of Sloc values for -gnatD.
11544
11545         * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
11546         so that it happens before modification of Sloc values for -gnatD.
11547
11548         * switch.adb: Minor reformatting
11549
11550 2001-12-15  Richard Henderson  <rth@redhat.com>
11551
11552         * sem_ch7.adb: Wrap comment.
11553
11554 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
11555
11556         * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
11557         5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
11558         5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
11559         5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
11560         5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
11561         7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
11562         a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
11563         a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
11564         cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
11565         exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
11566         exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
11567         g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
11568         gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
11569         make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
11570         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
11571         repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
11572         s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
11573         s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
11574         s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
11575         s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
11576         sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
11577         sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
11578         sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
11579         sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
11580         spelling errors.
11581
11582 2001-12-14  Vincent Celier <celier@gnat.com>
11583
11584         * osint.adb(Create_Debug_File): When an object file is specified,
11585         put the .dg file in the same directory as the object file.
11586
11587 2001-12-14  Robert Dewar <dewar@gnat.com>
11588
11589         * osint.adb: Minor reformatting
11590
11591         * lib-xref.adb (Output_Instantiation): New procedure to generate
11592         instantiation references.
11593
11594         * lib-xref.ads: Add documentation of handling of generic references.
11595
11596         * ali.adb (Read_Instantiation_Ref): New procedure to read
11597         instantiation references
11598
11599         * ali.ads: Add spec for storing instantiation references
11600
11601         * bindusg.adb: Minor reformatting
11602
11603         * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11604
11605         * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11606
11607         * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11608
11609         * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11610
11611         * csets.ads:
11612         Fix header format
11613         Add 2001 to copyright date
11614         Add entry for Latin-5 (Cyrillic ISO-8859-5)
11615
11616 2001-12-14  Matt Gingell <gingell@gnat.com>
11617
11618         * adaint.c: mktemp is a macro on Lynx and can not be used as an
11619         expression.
11620
11621 2001-12-14  Richard Kenner <kenner@gnat.com>
11622
11623         * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
11624         if operand is CONSTRUCTOR.
11625
11626 2001-12-14  Ed Schonberg <schonber@gnat.com>
11627
11628         * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
11629         before emiting check on right-hand side, so that exception information
11630         is correct.
11631
11632 2001-12-14  Richard Kenner <kenner@gnat.com>
11633
11634         * utils.c (create_var_decl): Throw away initializing expression
11635         if just annotating types and non-constant.
11636
11637 2001-12-14  Vincent Celier <celier@gnat.com>
11638
11639         * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
11640         Default_Ada_...
11641
11642         * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
11643         Remove functions.
11644         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
11645
11646         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
11647         Remove functions.
11648         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
11649
11650 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
11651
11652         * ChangeLog: Remove piece of diff output.
11653
11654 2001-12-14  Geert Bosch <bosch@gnat.com>
11655
11656         * config-lang.in: Update copyright notice
11657
11658         * layout.adb: Remove commented out code.
11659
11660         * mdllfile.ads: Update copyright notice. Fix header format.
11661
11662         * sem_case.ads: Likewise.
11663
11664         * sem_ch3.adb: Minor reformatting.
11665
11666 2001-12-12  Geert Bosch <bosch@gnat.com>
11667
11668         * freeze.ads: Update copyright date.
11669
11670         * g-comlin.ads: Minor reformatting.
11671
11672         * gnat-style.texi: Fix typo.
11673
11674 2001-12-12  Geert Bosch <bosch@gnat.com>
11675
11676         *  einfo.h: Regenerate.
11677
11678 2001-12-12  Ed Schonberg <schonber@gnat.com>
11679
11680         * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
11681         on known node types, rather than untyped fields. Further cleanups.
11682
11683 2001-12-12  Robert Dewar <dewar@gnat.com>
11684
11685         * sem_ch12.adb:
11686         (Save_Entity_Descendant): Minor comment update.
11687         (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
11688          of an N_Attribute_Reference node. As per note below, this does not
11689         eliminate need for Associated_Node in attribute ref nodes.
11690         (Associated_Node): Documentation explicitly mentions attribute
11691         reference nodes, since this field is used in such nodes.
11692
11693         * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
11694
11695 2001-12-12  Robert Dewar <dewar@gnat.com>
11696
11697         * s-stalib.adb: Add more comments on with statements being needed
11698
11699         * par-ch12.adb: Minor reformatting
11700
11701         * prj-dect.ads: Fix copyright header
11702
11703         * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
11704         inputs fit in 32 bits, but the result still overflows.
11705
11706         * s-fatgen.ads: Minor comment improvement
11707
11708 2001-12-12  Ed Schonberg <schonber@gnat.com>
11709
11710         * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
11711         formal derived type, look for an inherited component from the full
11712         view of the parent, if any.
11713
11714 2001-12-12  Robert Dewar <dewar@gnat.com>
11715
11716         * checks.ads (Apply_Alignment_Check): New procedure.
11717
11718         * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
11719         ensure that the alignment of objects with address clauses is
11720         appropriate, and raise PE if not.
11721
11722         * exp_util.ads (Must_Be_Aligned): Removed, replaced by
11723         Exp_Pakd.Known_Aligned_Enough
11724
11725         * mdllfile.ads: Minor reformatting
11726
11727         * mlib-fil.ads: Minor reformatting
11728
11729 2001-12-12  Ed Schonberg <schonber@gnat.com>
11730
11731         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
11732         fix to any component reference if enclosing record has non-standard
11733         representation.
11734
11735 2001-12-12  Vincent Celier <celier@gnat.com>
11736
11737         * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
11738         Iteration
11739
11740 2001-12-12  Ed Schonberg <schonber@gnat.com>
11741
11742         * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
11743         sem_attr.
11744
11745 2001-12-12  Robert Dewar <dewar@gnat.com>
11746
11747         * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
11748
11749 2001-12-12  Emmanuel Briot <briot@gnat.com>
11750
11751         * g-regexp.adb: Remove all debug code, since it isn't required anymore,
11752         and it adds dependencies to system.io.
11753
11754 2001-12-12  Pascal Obry <obry@gnat.com>
11755
11756         * g-dirope.adb (Expand_Path.Var): Correctly detect end of
11757         variable name.
11758
11759 2001-12-11  Ed Schonberg <schonber@gnat.com>
11760
11761         * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
11762         that is the parent of other generics, the instance body replaces the
11763         instance node.  Retrieve the instance of the spec, which is the one
11764         that is visible in clients and within the body.
11765
11766 2001-12-11  Vincent Celier <celier@gnat.com>
11767
11768         * gnatmain.adb: Initial version.
11769
11770         * gnatmain.ads: Initial version.
11771
11772         * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
11773
11774         * snames.adb: Updated to match snames.ads.
11775
11776         * snames.ads: Added Gnatstub.
11777
11778 2001-12-11  Vincent Celier <celier@gnat.com>
11779
11780         * prj-attr.adb (Initialization_Data): Change name from
11781         Initialisation_Data.
11782
11783 2001-12-11  Emmanuel Briot <briot@gnat.com>
11784
11785         * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
11786         + and * applied to backslashed expressions like \r.
11787
11788 2001-12-11  Vasiliy Fofanov <fofanov@gnat.com>
11789
11790         * g-os_lib.ads: String_List type added, Argument_List type is now
11791         subtype of String_List.
11792
11793 2001-12-11  Robert Dewar <dewar@gnat.com>
11794
11795         * g-os_lib.ads: Change copyright to FSF
11796         Add comments for String_List type
11797
11798 2001-12-11  Vincent Celier <celier@gnat.com>
11799
11800         * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
11801         string to the buffer).
11802
11803 2001-12-11  Ed Schonberg <schonber@gnat.com>
11804
11805         * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
11806         sem_attr.
11807
11808         * sem_attr.adb: Simplify previous fix for Address.
11809         (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
11810         to avoid anomalies where the bound of the type appears to raise
11811         constraint error.
11812
11813 2001-12-11  Robert Dewar <dewar@gnat.com>
11814
11815         * lib-xref.adb (Output_Refs): Make sure pointers are always properly
11816         handled.
11817
11818 2001-12-11  Ed Schonberg <schonber@gnat.com>
11819
11820         * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
11821         renamed unit before checking for recursive instantiations.
11822
11823 2001-12-11  Emmanuel Briot <briot@gnat.com>
11824
11825         * prj.ads: Add comments for some of the fields.
11826
11827 2001-12-11  Robert Dewar <dewar@gnat.com>
11828
11829         * lib-xref.adb (Output_Refs): Don't output type references outside
11830         the main unit if they are not otherwise referenced.
11831
11832 2001-12-11  Ed Schonberg <schonber@gnat.com>
11833
11834         * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
11835         code and diagnose additional illegal uses
11836
11837         * sem_util.adb (Is_Object_Reference): An indexed component is an
11838         object only if the prefix is.
11839
11840 2001-12-11  Vincent Celier <celier@gnat.com>
11841
11842         * g-diopit.adb: Initial version.
11843
11844         * g-diopit.ads: Initial version.
11845
11846         * g-dirope.adb:
11847         (Expand_Path): Avoid use of Unbounded_String
11848         (Find, Wildcard_Iterator): Moved to child package Iteration
11849
11850         * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
11851
11852 2001-12-11  Robert Dewar <dewar@gnat.com>
11853
11854         * sem_attr.adb: Minor reformatting
11855
11856 2001-12-11  Ed Schonberg <schonber@gnat.com>
11857
11858         * sem_ch3.adb: Clarify some ???.
11859
11860 2001-12-11  Robert Dewar <dewar@gnat.com>
11861
11862         * exp_util.adb (Must_Be_Aligned): Removed, replaced by
11863         Exp_Pakd.Known_Aligned_Enough
11864
11865         * sem_ch13.adb (Check_Address_Alignment): Removed, extended
11866         version is moved to Exp_Ch13.
11867
11868 2001-12-11  Robert Dewar <dewar@gnat.com>
11869
11870         * einfo.ads: Minor reformatting
11871
11872         * exp_ch5.adb: Add comment for previous.change
11873
11874         * ali.adb: New interface for extended typeref stuff.
11875
11876         * ali.ads: New interface for typeref stuff.
11877
11878         * checks.adb (Apply_Alignment_Check): New procedure.
11879
11880         * debug.adb: Add -gnatdM for modified ALI output
11881
11882         * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
11883
11884         * lib-xref.adb: Extend generation of <..> notation to cover
11885         subtype/object types. Note that this is a complete rewrite,
11886         getting rid of the very nasty quadratic algorithm previously
11887         used for derived type output.
11888
11889         * lib-xref.ads: Extend description of <..> notation to cover
11890         subtype/object types. Uses {..} for these other cases.
11891         Also use (..) for pointer types.
11892
11893         * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
11894
11895         * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
11896         (Known_Aligned_Enough): Replaces Must_Be_Aligned.
11897
11898 2001-12-11  Vincent Celier <celier@gnat.com>
11899
11900         * gnatcmd.adb:
11901         Changed /COMPILE_ONLY to /ACTIONS=COMPILE
11902         Changed /BIND_ONLY to /ACTIONS=BIND
11903         Changed /LINK_ONLY to /ACTIONS=LINK
11904
11905 2001-12-11  Ed Schonberg  <schonber@gnat.com>
11906
11907         * sem_ch8.adb (Find_Selected_Component): improved search for a
11908         candidate package in case of error.
11909
11910         * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
11911         chain back on scope stack before reinstalling use clauses.
11912
11913         * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
11914         is enabled, do not kill the code for the condition, to preserve
11915         warning.
11916
11917 2001-12-11  Robert Dewar <dewar@gnat.com>
11918
11919         * checks.adb (Insert_Valid_Check): Apply validity check to expression
11920         of conversion, not to result of conversion.
11921
11922 2001-12-11  Ed Schonberg <schonber@gnat.com>
11923
11924         * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
11925         before freezing parent. If the declarations are mutually recursive,
11926         an access to the current record type may be frozen before the
11927         derivation is complete.
11928
11929 2001-12-05  Vincent Celier <celier@gnat.com>
11930
11931         * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
11932         -c /COMPILE_ONLY, -l /LINK_ONLY
11933
11934         * opt.ads:
11935         (Bind_Only): New Flag
11936         (Link_Only): New flag
11937
11938         * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
11939         and -l (Link_Only)
11940
11941         * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
11942
11943         * make.adb:
11944         (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
11945         (Gnatmake): Set the step flags. Only perform a step if the
11946         corresponding step flag is True.
11947         (Scan_Make_Arg): Reset the bind and link step flags when -u
11948         or -gnatc has been specified.
11949
11950 2001-12-05  Ed Schonberg <schonber@gnat.com>
11951
11952         * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
11953         get bounds from right operand.
11954
11955         * sem_eval.adb: Minor reformatting
11956
11957         * exp_util.adb (Make_Literal_Range): use bound of literal rather
11958         than Index'First, its lower bound may be different from 1.
11959
11960         * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
11961         and C48009J
11962
11963 2001-12-05  Vincent Celier <celier@gnat.com>
11964
11965         * prj-nmsc.adb Minor reformatting
11966
11967         * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
11968         set and libraries are not supported.
11969
11970 2001-12-05  Ed Schonberg <schonber@gnat.com>
11971
11972         * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
11973         private view explicitly, so the back-end can treat as a global
11974         when appropriate.
11975
11976 2001-12-05  Ed Schonberg <schonber@gnat.com>
11977
11978         * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
11979          unit, always replace instance node with new body, for ASIS use.
11980
11981 2001-12-05  Vincent Celier <celier@gnat.com>
11982
11983         * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
11984         libraries are not supported and both attributes Library_Name and
11985         Library_Dir are specified.
11986
11987         * prj-proc.adb (Expression): Set location of Result to location of
11988         first term.
11989
11990         * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
11991         (prj-nmsc is now importing MLib.Tgt)
11992
11993         * prj-proc.adb: Put the change indicated above that was forgotten.
11994
11995 2001-12-05  Robert Dewar <dewar@gnat.com>
11996
11997         * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
11998
11999 2001-12-05  Ed Schonberg <schonber@gnat.com>
12000
12001         * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
12002         constraint, introduce explicit subtype declaration and derive from it.
12003
12004         * sem_ch3.adb: Minor reformatting
12005
12006 2001-12-05  Robert Dewar <dewar@gnat.com>
12007
12008         * checks.adb (Determine_Range): Increase cache size for checks.
12009         Minor reformatting
12010
12011         * exp_ch6.adb: Minor reformatting
12012         (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
12013         a parameter whose root type is System.Address, since treating such
12014         subprograms as pure in the code generator is almost surely a mistake
12015         that will lead to unexpected results.
12016
12017         * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
12018         change handling of conversions.
12019
12020         * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
12021
12022 2001-12-05  Ed Schonberg <schonber@gnat.com>
12023
12024         * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
12025         aggregate with static wrong size, attach generated Raise node to
12026         declaration.
12027
12028 2001-12-05  Robert Dewar <dewar@gnat.com>
12029
12030         * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
12031         Fixes compilation abandoned bomb in B24009B.
12032
12033 2001-12-05  Ed Schonberg <schonber@gnat.com>
12034
12035         * sem_ch12.adb:
12036         Document use of Associated_Node on Selected_Components.
12037         (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
12038         to clarify use of untyped descendant fields.
12039
12040 2001-12-05  Robert Dewar <dewar@gnat.com>
12041
12042         * prj-dect.ads: Add ??? comment
12043         Add 2001 to copyright notice (was not done in after all)
12044
12045         * prj-part.adb: Minor reformatting. Reword one awkward error message.
12046
12047         * prj.ads: Minor reformatting throughout, and add some ??? comments
12048
12049         * snames.ads: Minor reformatting
12050
12051 2001-12-05  Geert Bosch <bosch@gnat.com>
12052
12053         * snames.adb: Autoupdate
12054
12055 2001-12-05  Vincent Celier <celier@gnat.com>
12056
12057         * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
12058
12059         * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
12060
12061         * prj-env.adb: Minor comment changes (modifying -> extends).
12062
12063         * prj-nmsc.adb: Minor comment changes (modifying -> extends).
12064
12065         * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
12066         Tok_Extends.
12067
12068         * prj.adb (Initialize): Change Modifying to Extends.
12069
12070         * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
12071
12072         * prj.ads: Minor comment change (Modifying -> extending).
12073
12074         * snames.ads: Change modifying to extends.
12075
12076 2001-12-05  Robert Dewar <dewar@gnat.com>
12077
12078         * sem_warn.adb: Remove stuff for conditionals, we are not going to
12079         do this after all.
12080
12081         * sem_warn.ads: Remove stuff for conditionals, we are not going to
12082         do this after all.  Add 2001 to copyright notice
12083
12084 2001-12-04  Geert Bosch <bosch@gnat.com>
12085
12086         *  einfo.h, sinfo.h, treeprs.ads: Regenerate.
12087
12088 2001-12-04  Robert Dewar <dewar@gnat.com>
12089
12090         * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
12091         location if we already have errors. Stops some cases of cascaded
12092         errors.
12093
12094         * errout.adb: Improve comment.
12095
12096 2001-12-04  Robert Dewar <dewar@gnat.com>
12097
12098         * sem_ch12.adb:
12099         (Analyze_Formal_Type_Definition): Defend against Error.
12100         (Analyze_Formal_Subprogram): Defend against Error.
12101
12102         * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
12103         remove following semicolon if present. Removes cascaded error.
12104
12105 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
12106
12107         * bindgen.adb:
12108         (Gen_Exception_Table_Ada): Write "begin" and then return if Num
12109          exceptions equals 0.
12110         (Gen_Exception_Table_C): Return if Num exceptions equals 0.
12111         Fixes PIWG E tests (which have to be run with -gnatL).
12112
12113 2001-12-04  Robert Dewar <dewar@gnat.com>
12114
12115         * einfo.ads: Minor reformatting
12116
12117 2001-12-04  Ed Schonberg <schonber@gnat.com>
12118
12119         * einfo.ads: Block_Node points to the identifier of the block, not to
12120         the block node itself, to preserve the link when the block is
12121         rewritten, e.g. within an if-statement with a static condition.
12122
12123         * inline.adb (Cleanup_Scopes): recover block statement from block
12124         entity using new meaning of Block_Node.
12125
12126         * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
12127         identifier of block node, rather than to node itself.
12128
12129 2001-12-04  Gary Dismukes <dismukes@gnat.com>
12130
12131         * layout.adb:
12132         (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
12133         (Discrimify): Go back to setting the Etypes of the selected component
12134         because the Vname component does not exist at this point and will
12135         fail name resolution. Also set Analyzed.
12136         Remove with and use of Sem_Res.
12137
12138 2001-12-04  Arnaud Charlet <charlet@gnat.com>
12139
12140         * Makefile.in: (HIE_SOURCES): add s-fat*.
12141
12142 2001-12-04  Robert Dewar <dewar@gnat.com>
12143
12144         * sem_attr.adb:
12145         (Compile_Time_Known_Attribute): New procedure.
12146         (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
12147          proper range check.
12148
12149 2001-12-04  Ed Schonberg <schonber@gnat.com>
12150
12151         * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
12152         processing discriminants to diagnose illegal default values.
12153
12154 2001-12-04  Ed Schonberg <schonber@gnat.com>
12155
12156         * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
12157         access discriminant within a type extension that constrains its
12158         parent discriminants.
12159
12160 2001-12-04  Ed Schonberg <schonber@gnat.com>
12161
12162         * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
12163         is malformed, use instance of Any_Id to allow analysis to proceed.
12164
12165         * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
12166         type definition is illegal.
12167         (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
12168         misplaced.
12169
12170 2001-12-04  Ed Schonberg <schonber@gnat.com>
12171
12172         * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
12173         constants.
12174
12175 2001-12-04  Robert Dewar <dewar@gnat.com>
12176
12177         * errout.adb: Minor reformatting
12178
12179 2001-12-04  Robert Dewar <dewar@gnat.com>
12180
12181         * exp_util.adb: Minor reformatting from last change
12182
12183         * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
12184         which is a rewriting of an expression, traverse the original
12185         expression to remove warnings that may have been posted on it.
12186
12187 2001-12-04  Ed Schonberg <schonber@gnat.com>
12188
12189         * exp_util.adb (Must_Be_Aligned): Return false for a component of a
12190         record that has other packed components.
12191
12192 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
12193
12194         * adaint.c: Minor cleanups.
12195
12196 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
12197
12198         * adaint.c: Do not use utime.h on vxworks.
12199
12200 2001-12-04  Arnaud Charlet <charlet@gnat.com>
12201
12202         * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
12203         more confusion than it solves.
12204
12205 2001-12-04  Geert bosch <bosch@gnat.com>
12206
12207         * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
12208
12209 2001-12-04  Geert Bosch  <bosch@gnat.com>
12210
12211         * Makefile.in (update-sources): New target.
12212         For use by gcc_release script.
12213
12214 2001-12-04  Ed Schonberg <schonber@gnat.com>
12215
12216         * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
12217         a configuration pragma, it is now legal wherever a pragma can appear.
12218
12219 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
12220
12221         * Makefile.in: Don't set ALL.  Delete @cross_defines@,
12222         @cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
12223         is now @CROSS@ -DIN_GCC; update comment.
12224
12225 2001-12-04  Robert Dewar <dewar@gnat.com>
12226
12227         * einfo.adb (Has_Pragma_Pure_Function): New flag.
12228         Fix problem that stopped ceinfo from working
12229
12230         * einfo.ads (Has_Pragma_Pure_Function): New flag.
12231
12232         * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
12233
12234 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
12235
12236         * gnatchop.adb:
12237         (File_Time_Stamp): New procedure.
12238         (Preserve_Mode): New boolean.
12239         (Write_Unit): Pass time stamp.
12240         Implement -p switch (preserve time stamps).
12241
12242         * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
12243
12244         * gnatchop.adb: Do usage info for -p switch
12245
12246         * adaint.h (__gnat_set_file_time_name): New function
12247
12248         * adaint.c (__gnat_set_file_time_name): Implement
12249
12250         * adaint.h: Fix typo
12251
12252 2001-12-03  Robert Dewar <dewar@gnat.com>
12253
12254         * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
12255         have Associated_Node.
12256
12257 2001-12-03  Robert Dewar <dewar@gnat.com>
12258
12259         * prj-proc.adb: Minor reformatting
12260
12261         * make.adb: Minor reformatting
12262
12263 2001-12-03  Geert Bosch <bosch@gnat.com>
12264
12265         * make.adb: Minor reformatting.
12266
12267 2001-12-03 Robert Dewar  <dewar@gnat.com>
12268
12269         * sem_ch12.adb: Minor reformatting
12270
12271 2001-12-03  Ed Schonberg <schonber@gnat.com>
12272
12273         * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
12274         push Standard on the stack before analyzing the instance body,
12275         in order to have a clean visibility environment.
12276
12277         * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
12278
12279 2001-12-03  Ed Schonberg <schonber@gnat.com>
12280
12281         * sem_ch12.adb (Instantiate_Package_Body): Protect against double
12282         instantiation of a body that contains an inlined body.
12283
12284 2001-12-03  Ed Schonberg <schonber@gnat.com>
12285
12286         * sem_ch12.adb:
12287         (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
12288         to prevent freezing within formal packages.
12289         (Freeze_Subprogram_Body): If body comes from another instance that
12290         appeared before its own body, place freeze node at end of current
12291         declarative part, to prevent a back-end crash.
12292         (Inline_Instance_Body): Handle properly a package instance within
12293         a subprogram instance that is a child unit.
12294
12295 2001-12-01  Graham Stott  <grahams@redhat.com>
12296
12297         * Makefile.in (misc.o): Add missing $(srcdir) prefix
12298         and add optabs.h dependency.
12299
12300         * misc.c: Include optabs.h
12301         (gnat_tree_code_type): Make static and const.
12302         (gnat_tree_code_length): Likewise.
12303         (gnat_tree_code_name): Likewise.
12304         (update_setjmp_buf): Obtain operands mode from insn_data.
12305
12306 2001-11-29  Richard Henderson  <rth@redhat.com>
12307
12308         * init.c: Remove obsolete dwarf2 frame.h section.
12309
12310 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
12311
12312         * Make-lang.in (ada.generated-manpages): New dummy target.
12313
12314 2001-11-29  Ed Schonberg <schonber@gnat.com>
12315
12316         * g-os_lib.adb (Add_To_Command): use explicit loop to move string
12317         into Command, an array conversion is illegal here. Uncovered by
12318         ACATS B460005.
12319
12320 2001/11/28  Geert Bosch <bosch@gnat.com>
12321
12322         * init.c: Minor whitespace changes.
12323
12324 2001-11-28  Doug Rupp <rupp@gnat.com>
12325
12326         * init.c: (__gnat_install_handler,VMS): Increase size of alternate
12327         signal stack.
12328
12329 2001-11-28  Zack Weinberg  <zack@codesourcery.com>
12330
12331         * misc.c (gnat_expand_constant): Move declaration above
12332         definition of lang_hooks.
12333         (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
12334         (gnat_init): lang_expand_constant no longer exists.
12335
12336         (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
12337         always have vprintf.
12338         (gnat_init): Always call set_internal_error_function.
12339
12340 2001-11-27  Andreas Jaeger  <aj@suse.de>
12341
12342         * Makefile.in (stamp-tool_src_dir): Use symbolic link.
12343
12344 2001-11-27  Laurent Guerby  <guerby@acm.org>
12345
12346         * Makefile.in: Regenerate Ada dependencies.
12347
12348 2001-11-26  Richard Henderson  <rth@redhat.com>
12349
12350         * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
12351         gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
12352         gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
12353
12354 2001-11-25  Laurent Guerby  <guerby@acm.org>
12355
12356         * sysdep.c (rts_get_*): Fix style.
12357
12358 2001-11-19  Laurent Guerby  <guerby@acm.org>
12359
12360         * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
12361         since it is of no apparent use and cause warnings.
12362
12363 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
12364
12365         * misc.c (gnat_decode_option, gnat_init_options): Make definitions
12366         static too.
12367         (gnat_init): Don't return NULL.
12368         (finish_parse): Remove.
12369
12370 2001-11-17  Laurent Guerby  <guerby@acm.org>
12371
12372         * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
12373         * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
12374         * io-aux.c: Provide K&R prototypes to all functions, reformat code.
12375         * lang-spec.h: Add missing struct field to silence warnings.
12376         * sysdep.c (rts_get_*): Provide K&R prototype.
12377         * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
12378         * traceback.c (Unlock_Task, Lock_Task): Likewise.
12379         * tracebak.c (__gnat_backtrace): Remove unused variable.
12380         * utils.c (end_subprog_body): Move to K&R style.
12381
12382 Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12383
12384         * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
12385
12386 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
12387
12388         * misc.c (gnat_init): Change prototype.  Include the
12389         functionality of the old init_parse and init_decl_processing.
12390         (gnat_init_decl_processing): New prototype.
12391         (init_parse): Remove.
12392         * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
12393
12394 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12395
12396         * misc.c (gnat_print_decl, gnat_print_type): Renamed.
12397         (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
12398         (print_lang_statistics, lang_print_xnode, print_lang_identifier,
12399         set_yydebug): Remove.
12400
12401 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12402
12403         * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
12404         (struct lang_hooks): Constify.
12405         (language_string, lang_identify): Remove.
12406         * utils.c (init_decl_processing): Update.
12407
12408 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12409
12410         * misc.c: Include langhooks-def.h.
12411         * Makefile.in: Update.
12412
12413 2001-10-30  Robert Dewar <dewar@gnat.com>
12414
12415         * style.adb:
12416         (Check_Identifier): Rewrite circuit to be compatible with use of letters
12417         in the upper half of ASCII.
12418         (Check_Identifier): Minor reformatting
12419
12420 2001-10-30  Geert Bosch <bosch@gnat.com>
12421
12422         * (Associated_Node, Set_Associated_Node): Do not check for
12423         Freeze_Entity.
12424
12425 2001-10-30  Robert Dewar <dewar@gnat.com>
12426
12427         * a-reatim.ads: Minor reformatting
12428
12429 2001-10-30  Robert Dewar <dewar@gnat.com>
12430
12431         * gnatdll.adb: Minor reformatting throughout. Many ??? added for
12432         undocumented declarations.
12433
12434 2001-10-30  Pascal Obry <obry@gnat.com>
12435
12436         * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
12437         to the binder and linker.
12438         Minor style fix.
12439
12440         * mdll.ads: Fix layout.  Update copyright notice.
12441
12442         * mdll.adb: Fix layout.  Update copyright notice.
12443
12444 2001-10-30  Robert Dewar <dewar@gnat.com>
12445
12446         * usage.adb: Minor fix to output for -gnaty.
12447
12448 2001-10-30  Ed Schonberg <schonber@gnat.com>
12449
12450         * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
12451         to accommodate all its possible values.
12452
12453         * a-reatim.adb (Split): Special-case handling of Time_Span_First
12454         and of small absolute values of T.
12455
12456 2001-10-30  Richard Kenner <kenner@gnat.com>
12457
12458         * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
12459         set_mem_attributes since not needed and wrong if RESULT if a REG;
12460         fixes ACATS failures.
12461
12462 2001-10-30  Geert Bosch <bosch@gnat.com>
12463
12464         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
12465         s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
12466
12467 2001-10-30  Robert Dewar <dewar@gnat.com>
12468
12469         * bindusg.adb: Undocument -f switch.
12470
12471         * gnatcmd.adb: Remove /FULL_ELABORATION.
12472
12473         * opt.ads (Force_RM_Elaboration_Order): Document that this is
12474         obsolescent.
12475
12476         * gnatbind.adb: Output new warning for use of obsolescent -f switch.
12477
12478         * gnatbind.adb: Minor update of warning msg.
12479
12480 2001-10-30  Vincent Celier <celier@gnat.com>
12481
12482         * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
12483         for project file switches (-P (/PROJECT_FILE=),
12484          -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
12485         or MEDIUM or HIGH)
12486
12487 2001-10-30  Geert Bosch <bosch@gnat.com>
12488
12489         * decl.c: Minor whitespace fixes.
12490
12491 2001-10-30  Richard Kenner <kenner@gnat.com>
12492
12493         * utils2.c (build_allocator): Test for SIZE overflow in array case too
12494
12495 2001-10-30  Geert Bosch <bosch@gnat.com>
12496
12497         * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
12498         Found due to GCC 3.0 warning of using uninitialized value.
12499
12500         * layout.adb:
12501         (Get_Max_Size): Use variant record for tracking value/expression.
12502          Makes logic clearer and prevents warnings for uninitialized variables.
12503         (Layout_Array_Type): Use variant record for tracking value/expression.
12504          Makes logic clearer and prevents warnings for uninitialized variables.
12505
12506 2001-10-30  Robert Dewar <dewar@gnat.com>
12507
12508         * lib.adb: Minor reformatting
12509
12510         * s-taprop.ads: Minor reformatting
12511
12512 2001-10-29  Laurent Guerby  <guerby@acm.org>
12513
12514         * init.c:
12515         (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
12516         const.
12517         (_gnat_error_handler): Make MSG const.
12518
12519 2001-10-29  Richard Kenner <kenner@gnat.com>
12520
12521         * sysdep.c: Fix localtime_r problem on LynxOS.
12522         Also remove #elif to avoid warnings.
12523
12524         * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
12525         used by this.
12526
12527         * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
12528
12529 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
12530
12531         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
12532         exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
12533         g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
12534         g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
12535         layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
12536         s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
12537         sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
12538         sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
12539         sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
12540         types.ads, urealp.adb: Fix spelling errors.
12541
12542 2001-10-27  Laurent Guerby <guerby@acm.org>
12543
12544         * trans.c (gigi): Fix non determinism leading to bootstrap
12545         comparison failures for debugging information.
12546
12547 2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
12548
12549         * gnat_rm.texi: Use @./@: where appropriate.
12550
12551 2001-10-26  Robert Dewar <dewar@gnat.com>
12552
12553         * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
12554
12555 2001-10-26  Richard Kenner <kenner@gnat.com>
12556
12557         * gmem.c (__gnat_gmem_read_next): Properly check for EOF
12558
12559 2001-10-26  Richard Kenner <kenner@gnat.com>
12560
12561         * decl.c (validate_size): Modify message for bad size to avoid
12562         implication that compiler is modifying the size.
12563
12564 2001-10-26  Robert Dewar <dewar@gnat.com>
12565
12566         * prj-util.adb: Minor reformatting. Fix bad header format.
12567
12568 2001-10-26  Robert Dewar <dewar@gnat.com>
12569
12570         * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
12571
12572         * sinfo.ads: Clarify use of Associated_Node (documentation only).
12573
12574         * sem_ch12.adb: Change Node4 to Associated_Node. Change
12575         Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
12576         much more narrowly in places where needed. These are cleanups.
12577
12578 2001-10-26  Joel Brobecker <brobecke@gnat.com>
12579
12580         * 5zosinte.ads (null_pthread): new constant.
12581
12582         * 5ztaprop.adb:
12583         (Initialize_TCB): Initialize thread ID to null, to be able to verify
12584          later that this field has been set.
12585         (Finalize_TCB): ditto.
12586         (Suspend_Task): Verify that the thread ID is not null before using it.
12587         (Resume_Task): ditto.
12588
12589         * s-tasdeb.adb:
12590         (Resume_All_Tasks): Lock the tasks list before using it.
12591         (Suspend_All_Tasks): ditto.
12592
12593 2001-10-26  Richard Kenner <kenner@gnat.com>
12594
12595         * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
12596         Make constant variant of designated type for Is_Access_Constant.
12597         Call update_pointer_to with main variant.
12598
12599         * trans.c (process_freeze_entity, process_type):
12600         Call update_pointer_to on main variant.
12601
12602         * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
12603         If main variant, update all other variants.
12604
12605         * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
12606         TREE_STATIC.
12607
12608 2001-10-26  Robert Dewar <dewar@gnat.com>
12609
12610         * prj-util.adb: Minor reformatting
12611
12612 2001-10-26  Robert Dewar <dewar@gnat.com>
12613
12614         * prj-util.adb: Minor reformatting
12615
12616 2001-10-26  Robert Dewar <dewar@gnat.com>
12617
12618         * prj-attr.adb: Minor reformatting throughout
12619
12620 2001-10-26  Robert Dewar <dewar@gnat.com>
12621
12622         * prj-attr.ads: Minor reformatting
12623         Add ??? comment (this whole spec has almost no comments)
12624
12625 2001-10-26  Vincent Celier <celier@gnat.com>
12626
12627         * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
12628         ("//") that precede the drive letter on Interix.
12629
12630 2001-10-26  Geert Bosch <bosch@gnat.com>
12631
12632         * gnat_rm.texi: Add GNAT Reference Manual.
12633
12634 2001-10-25  Robert Dewar <dewar@gnat.com>
12635
12636         * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
12637         is Error. Similar change for other renaming cases.
12638
12639 2001-10-25  Robert Dewar <dewar@gnat.com>
12640
12641         * s-atacco.ads: Add pragma Inline_Always for functions.
12642         Fix header format. Add copyright 2001
12643
12644 2001-10-25  Ed Schonberg <schonber@gnat.com>
12645
12646         * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
12647         return Error rather than Empty so that analysis can proceed.
12648
12649 2001-10-25  Ed Schonberg <schonber@gnat.com>
12650
12651         * sem_util.adb (Enter_Name): better handling of cascaded error
12652         messages when a unit appears in its own context.
12653
12654 2001-10-25  Ed Schonberg <schonber@gnat.com>
12655
12656         * sem_util.adb (Defining_Entity): in case of error, attach created
12657         entity to specification, so that semantic analysis can proceed.
12658
12659 2001-10-25  Robert Dewar <dewar@gnat.com>
12660
12661         * sem_util.adb
12662         (Defining_Entity): Deal with Error.
12663         (Process_End_Label): Deal with bad end label for.
12664
12665 2001-10-25  Ed Schonberg <schonber@gnat.com>
12666
12667         * sem_elab.adb (Check_A_Call): refine message when call is in an
12668         instance but callee is not declared in the generic unit.
12669
12670 2001-10-25  Ed Schonberg <schonber@gnat.com>
12671
12672         * sem_elab.adb (Check_A_Call): check for renaming before finding the
12673         enclosing unit, which may already be different from the calling unit.
12674
12675 2001-10-25  Geert Bosch <bosch@gnat.com>
12676
12677         * 4gintnam.ads: fix header format.
12678
12679 2001-10-25  Ed Schonberg <schonber@gnat.com>
12680
12681         * sem_res.adb (Resolve_Call): if the call is actually an indexing
12682         operation on the result of a parameterless call, perform elaboration
12683         check after the node has been properly rewritten.
12684
12685         * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
12686         inlined within the generic tree, the defining identifier is not a
12687         compilation_unit.
12688
12689 2001-10-25  Ed Schonberg <schonber@gnat.com>
12690
12691         * sem_res.adb (Resolve): special-case resolution of Null in an
12692          instance or an inlined body to avoid view conflicts.
12693
12694         * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
12695          compatibility by retrieving the access type of the generic copy.
12696
12697 2001-10-25  Robert Dewar <dewar@gnat.com>
12698
12699         * sem_ch3.adb:
12700         (Analyze_Number_Declaration): Handle error expression.
12701         (Signed_Integer_Type_Declaration): Handle error bound.
12702         (Analyze_Subtype_Indication): Handle error range.
12703
12704         * sem_util.adb (Get_Index_Bounds): Check for Error.
12705
12706 2001-10-25  Robert Dewar <dewar@gnat.com>
12707
12708         * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
12709         in no run time mode.
12710
12711 2001-10-25  Pascal Obry <obry@gnat.com>
12712
12713         * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
12714         mode case for ALLOC case.
12715
12716         * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
12717         all platforms. Improvement of last change.
12718
12719 2001-10-25  Robert Dewar <dewar@gnat.com>
12720
12721         * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
12722
12723 2001-10-25  Geert Bosch  <bosch@gnat.com>
12724
12725         * osint.adb (Is_Relative): Remove duplicate.
12726
12727 2001-10-25  Pascal Obry <obry@gnat.com>
12728
12729         * osint.adb (Read_Default_Search_Dirs): correctly detect relative
12730         pathnames in UNIX and DOS style with drive letter.
12731         (Is_Relative): new routine.
12732
12733         * osint.adb: Minor reformatting
12734
12735         * osint.adb (Is_Relative): implementation using
12736         GNAT.OS_Lib.Is_Absolute_Path. Better fix.
12737
12738 2001-10-25  Pascal Obry <obry@gnat.com>
12739
12740         * g-dirope.adb (Basename): correctly compute offset between the
12741         original Path and the translated one.
12742
12743         * g-dirope.adb: (Base_Name): add some comments.
12744
12745 2001-10-25  Robert Dewar <dewar@gnat.com>
12746
12747         * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
12748         in HIE mode, avoids compilation abandoned message
12749
12750         * exp_imgv.adb: Correct typo in previous change
12751
12752         * exp_imgv.adb: Correct typo in previous change (not my day!)
12753
12754 2001-10-25  Robert Dewar <dewar@gnat.com>
12755
12756         * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
12757
12758 2001-10-25  Pascal Obry <obry@gnat.com>
12759
12760         * g-awk.ads: Move all pragma inlines next to the routine
12761          declarations. This is more uniform with other GNAT spec.
12762
12763 2001-10-22  Geert Bosch  <bosch@gnat.com>
12764
12765         * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
12766
12767 2001-10-19  Geert Bosch  <bosch@gnat.com>
12768
12769         * Makefile.in (tools, gnattools): Remove gnatmem.
12770
12771 2001-10-17  Richard Henderson  <rth@redhat.com>
12772
12773         * Makefile.in (misc.o): Depend on langhooks.h.
12774         * misc.c: Include it.
12775         (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
12776         (LANG_HOOKS_DECODE_OPTION): New.
12777         (lang_hooks): Use LANG_HOOKS_INITIALIZER.
12778
12779 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
12780
12781         * trans.c (tree_transform): Adjust to recent change in
12782         expand_asm_operands to implement named asm operands.
12783
12784 2001-10-11  Ed Schonberg  <schonber@gnat.com>
12785
12786         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
12787         renaming of discriminant for mutable record type.
12788
12789 2001-10-11  Robert Dewar  <dewar@gnat.com>
12790
12791         * validsw.adb: Properly save -gnatVn status.
12792
12793 2001-10-11  Robert Dewar <dewar@gnat.com>
12794
12795         * usage.adb: Add lines for V switch.
12796
12797         * gnatcmd.adb (COMPILE): Revise translations for -gnatV
12798         (/VALIDITY_CHECKING).
12799
12800 2001-10-11  Ed Schonberg <schonber@gnat.com>
12801
12802         * sem_type.adb (Add_One_Interp): an operator for a type declared in
12803         an extension of System is known to be visible.
12804
12805 2001-10-11  Ed Schonberg <schonber@gnat.com>
12806
12807         * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
12808         properly. Fixes regression on ACATS C34005G.
12809
12810 2001-10-11  Robert Dewar <dewar@gnat.com>
12811
12812         * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
12813         loop in generic instance, since this is likely not very useful.
12814
12815 2001-10-11  Robert Dewar <dewar@gnat.com>
12816
12817         * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
12818         the error message for high integrity mode.
12819
12820         * rtsfind.adb (RTE): Give message if we try to find an entity that
12821         is not available in high integrity mode.
12822
12823         * rtsfind.ads:
12824         (OK_To_Use_In_HIE_Mode): New array.
12825         (RTE): May return Empty in high integrity mode.
12826
12827         * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
12828         OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
12829
12830         * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
12831         unit if not inlined always and in no runtime mode. Fixes problem
12832         caused by new Rtsfind changes.
12833
12834         * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
12835         body is deleted.
12836
12837         * rtsfind.adb (RTE): Make sure we do not try to load unit after
12838         giving message for entity not available in high integrity mode.
12839
12840 2001-10-11  Pascal Obry <obry@gnat.com>
12841
12842         * impunit.adb: Add GNAT.CRC32.
12843
12844 2001-10-11  Ed Schonberg <schonber@gnat.com>
12845
12846         * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
12847         properly the case where one universal operand in a non-static
12848         exponentiation of a real literal.
12849
12850 2001-10-11  Ed Schonberg <schonber@gnat.com>
12851
12852         * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
12853         clause, return the gobal finalization list, for lack of anthing else.
12854
12855 2001-10-11  Ed Schonberg <schonber@gnat.com>
12856
12857         * exp_ch7.adb (Make_Transient_Block): if statement is within
12858         exception handler, always use new transient scope to place Clean
12859         procedure.
12860
12861 2001-10-11  Pascal Obry <obry@gnat.com>
12862
12863         * Makefile.in:
12864         (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
12865         (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
12866         (GNATLS_RTL_OBJS): add g-crc32.o
12867         (GNATMAKE_RTL_OBJS): add g-crc32.o
12868
12869         * ali-util.adb:
12870         (CRC_Match): new function.
12871         (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
12872         instead of the previous simple checksum algorithm.
12873         (Time_Stamp_Mismatch): use CRC_Match for comparison.
12874         (Set_Source_Table): idem.
12875
12876         * ali-util.ads:
12877         (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
12878         instead of simple checksum.
12879         (CRC_Match): new function.
12880         (CRC_Error): new constant.
12881
12882         * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
12883         a CRC now and not a simple checksum. A CRC uses lower-case hex
12884         letters, fixes ambiguity in parsing.
12885
12886         * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
12887         is what this variable will store.
12888
12889         * bcheck.adb: Change reference to chechsum in comments by CRC.
12890         (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
12891         rename All_Checksum_Match to All_CRC_Match. Change due to API
12892         renaming since now GNAT does not use a simple checksum but a
12893         CRC using GNAT.CRC32.
12894
12895         * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
12896         now and not anymore a simple checksum.
12897
12898         * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
12899         places.
12900
12901         * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
12902
12903         * scans.adb:
12904         (Restore_Scan_State): rename Checksum to CRC.
12905         (Save_Scan_State): idem.
12906
12907         * scans.ads:
12908         With GNAT.CRC32.
12909         (Checksum): rename to CRC.
12910         (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
12911
12912         * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
12913         GNAT.CRC32).  Update copyright notice.
12914
12915         * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
12916         GNAT.CRC32).  Update copyright notice.
12917
12918         * scn.adb:
12919         (Accumulate_Checksum): removed.
12920         (Update): new procedure. Add a wide-character into the CRC.
12921
12922         * sinput-l.adb:
12923         (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
12924         (Load_File): fix initialization of S (change Source_Checksum to
12925         Source_CRC)
12926
12927         * sinput-p.adb (Load_Project_File): rename Source_Checksum to
12928         Source_CRC in S initialization.
12929
12930         * sinput.adb (Source_Checksum): renamed to Source_CRC.
12931
12932         * sinput.ads (Source_Checksum): renamed to Source_CRC.
12933         Update comments for the CRC.
12934
12935         * types.adb (Hex): Use lowercase for the letter part.
12936
12937         * types.ads (Get_Hex_String): Returns the hexadecimal representation
12938         for a word. This is currently used only for CRC. In previous version,
12939         the checksum was using a representation with all letter being
12940         upper-case. With the new implementation (using CRC) we do not remove
12941         the 32th bit of the CRC, so we can have an upper-case starting letter
12942         in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
12943         It is ambigous since the CRC was optional and could be followed by
12944         options like EB, EE. So now this routines uses lower-case letter for
12945         the hexadecimal representation. Strange enough only lower case letters
12946         where checked in Scan_ALI (even if this was not a possible case).
12947
12948         * gnatvsn.ads (Library_Version): changed to 3.15a.
12949
12950         * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
12951         for the compiler.
12952
12953         * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
12954         for the compiler.
12955
12956         * ali-util.adb: Redo previous change to avoid using word CRC everywhere
12957         Add 2001 to copyright notice
12958         (Accumulate_Checksum): Modify to use System.CRC32.
12959
12960         * ali-util.ads: Redo changes of previous revision to continue to use
12961         the word Checksum. Add 2001 to copyright notice.
12962
12963         * ali.adb: Undo some of previous changes, not needed.
12964         Keep the change for lower case letters in the checksum.
12965
12966         * ali.ads: Undo previous change not needed.
12967
12968         * bcheck.adb: Undo most of previous change, not needed.
12969         But do use Checksums_Match for checksum comparison.
12970
12971         * gnatls.adb: Undo most of previous change, not needed.
12972         But do use Checksums_Match for comparing checksums.
12973
12974         * lib-load.adb: Undo previous change, not needed.
12975
12976         * lib-writ.adb: Undo previous change, not needed.
12977
12978         * lib-writ.ads: Document that checksums use lower case,
12979         not upper case letters.
12980
12981         * scans.adb: Undo previous change, not needed
12982
12983         * scans.ads: Undo previous change, not needed.
12984
12985         * scn-nlit.adb: Undo previous changes, not needed.
12986
12987         * scn-slit.adb: Undo previous change, not needed.  Fix header format.
12988
12989         * scn.adb:
12990         (Accumulate_Checksum): Use System.CRC32.
12991         (Initialize_Checksum): New procedure.
12992         Remove other changes of previous revision.
12993
12994         * sinput-p.adb: Undo previous change, not needed.
12995
12996         * sinput.adb: Undo previous change, not needed.
12997
12998         * sinput-l.adb: Undo previous change, not needed.
12999
13000         * sinput.ads: Undo previous change, not needed.  Keep only comment
13001         on new checksum algorithm
13002
13003         * Makefile.in: Add s-crc32 as needed, remove g-crc32.
13004         Also remove a-tags and a-stream from GNAT sources.
13005
13006         * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
13007
13008         * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
13009
13010 2001-10-11  Geert Bosch  <bosch@gnat.com>
13011
13012         * einfo.h: Regenerate.
13013
13014         * nmake.ads: Regenerate.
13015
13016         * nmake.adb: Regenerate.
13017
13018         * sinfo.h: Regenerate.
13019
13020         * treeprs.adb: Regenerate.
13021
13022 2001-10-10  Geert Bosch  <bosch@gnat.com>
13023
13024         * gnat-style.texi: New file describing coding guidelines for Ada.
13025
13026 2001-10-10  Ed Schonberg <schonber@gnat.com>
13027
13028         * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
13029         is Flag174.
13030
13031 2001-10-10  Geert Bosch  <bosch@gnat.com>
13032
13033         * snames.ads: Add new names for project facility.
13034
13035         * snames.adb: Update to reflect snames.ads changes.
13036
13037         * snames.h: Update to reflect snames.ads changes.
13038
13039 2001-10-10  Vincent Celier <celier@gnat.com>
13040
13041         * make.adb:
13042         (Add_Switches): reflect the changes for the switches attributes
13043         Default_Switches indexed by the programming language,
13044         Switches indexed by the file name.
13045         (Collect_Arguments_And_Compile): Idem.
13046         Reflect the attribute name changes.
13047
13048         * prj-attr.adb:
13049         (Initialisation_Data): Change the names of some packages and
13050         attributes.
13051         (Initialize): process case insensitive associative arrays.
13052
13053         * prj-attr.ads:
13054         (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
13055
13056         * prj-dect.adb:
13057         (Parse_Attribute_Declaration): For case insensitive associative
13058          arrays, set the index string to lower case.
13059
13060         * prj-env.adb:
13061         Reflect the changes of the project attributes.
13062
13063         * prj-nmsc.adb:
13064         Replace Check_Naming_Scheme by Ada_Check and
13065         Language_Independent_Check.
13066
13067         * prj-nmsc.ads:
13068         Replaced Check_Naming_Scheme by 2 procedures:
13069         Ada_Check and Language_Independent_Check.
13070
13071         * prj-proc.adb:
13072         (Process_Declarative_Items): For case-insensitive associative
13073         arrays, set the index string to lower case.
13074         (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
13075         Prj.Nmsc.Check_Naming_Scheme.
13076
13077         * prj-tree.adb:
13078         (Case_Insensitive): New function
13079         (Set_Case_Insensitive): New procedure
13080
13081         * prj-tree.ads:
13082         (Case_Insensitive): New function
13083         (Set_Case_Insensitive): New procedure
13084         (Project_Node_Record): New flag Case_Insensitive.
13085
13086         * prj-util.adb:
13087         (Value_Of): new function to get the string value of a single
13088         string variable or attribute.
13089
13090         * prj-util.ads:
13091         (Value_Of): new function to get the string value of a single
13092         string variable or attribute.
13093
13094         * prj.adb:
13095         (Ada_Default_Spec_Suffix): New function
13096         (Ada_Default_Impl_Suffix): New function
13097         Change definitions of several constants to reflect
13098         new components of record types.
13099
13100         * prj.ads:
13101         (Naming_Data): Change several components to reflect new
13102         elements of naming schemes.
13103         (Project_Data): New flags Sources_Present and
13104         Language_Independent_Checked.
13105         (Ada_Default_Spec_Suffix): New function.
13106         (Ada_Default_Impl_Suffix): New function.
13107
13108         * snames.ads:
13109         Modification of predefined names for project manager: added
13110         Implementation, Specification_Exceptions, Implementation_Exceptions,
13111         Specification_Suffix, Implementation_Suffix, Separate_Suffix,
13112         Default_Switches, _Languages, Builder, Cross_Reference,
13113         Finder. Removed Body_Part, Specification_Append, Body_Append,
13114         Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
13115         Gnatlink.
13116
13117         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
13118         Add comments.
13119
13120         * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
13121         not that it is Nil_Variable_Value.
13122
13123         * prj.ads: Add ??? for uncommented declarations
13124
13125 2001-10-10  Ed Schonberg <schonber@gnat.com>
13126
13127         * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
13128         constant, do not indicate possible modification, so that gigi can
13129         treat it as a bona fide constant.
13130
13131 2001-10-10  Robert Dewar <dewar@gnat.com>
13132
13133         * sem_prag.adb: Add processing for pragma External.
13134
13135         * snames.ads: Add entry for pragma External.
13136
13137         * par-prag.adb: Add pragma External.
13138
13139         * snames.adb: Updated to match snames.ads.
13140
13141 2001-10-10  Ed Schonberg <schonber@gnat.com>
13142
13143         * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
13144         a dynamic task if the allocator appears in an indexed assignment
13145         or selected component assignment.
13146
13147         * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
13148         For a dynamic task in an assignment statement, use target of
13149         assignment to generate meaningful name.
13150
13151 2001-10-10  Ed Schonberg <schonber@gnat.com>
13152
13153         * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
13154         a generic package.
13155
13156         * einfo.ads: Body_Entity is also defined for generic package.
13157         Documentation change only
13158
13159         * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
13160         others_choice for a discriminated component initialization,
13161         convert discriminant references into the corresponding discriminals.
13162
13163         * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
13164         only if original type is private and expression has to be wrapped
13165         in a conversion.
13166
13167         * checks.adb:
13168         (Apply_Constraint_Check): Do not perform length check
13169         if expression is an aggregate with only an others_choice.
13170         (Length_N_Cond): two references to the same in_parameter
13171         (typically the discriminal in an init_proc) denote the same value.
13172         Two useful optimization uncovered by bugfixes above.
13173
13174 2001-10-10  Robert Dewar <dewar@gnat.com>
13175
13176         * xeinfo.adb: Change int to char in translation of enumeration types.
13177         This fixes a problem in the C representation of component alignment.
13178         Add 2001 to copyright notice
13179
13180 2001-10-10  Richard Kenner <kenner@gnat.com>
13181
13182         * decl.c: (validate_size): Do check size of object of integral type
13183         if it is a packed array type.
13184
13185 2001-10-10  Richard Kenner <kenner@gnat.com>
13186
13187         * decl.c: (gnat_to_gnu_entity, case object): Also materialize
13188         VAR_DECL for constant if not Is_Public but -O0.
13189
13190 2001-10-10  Richard Kenner  <kenner@gnat.com>
13191
13192         * misc.c (struct lang_hooks): Add new initializer to match GCC change.
13193
13194 2001-10-10  Geert Bosch  <bosch@gnat.com>
13195
13196         * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
13197         use '/' as switch character, allowing for absolute file names.
13198
13199 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
13200
13201         * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
13202         FSF address.
13203
13204 2001-10-08  Geert Bosch  <bosch@gnat.com>
13205
13206         * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
13207         Automatically build utilities when files need to be regenerated.
13208
13209 2001-10-08  Geert Bosch  <bosch@gnat.com>
13210
13211         * xsnames.adb: New utility for updating snames.ads and snames.adb
13212
13213 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
13214
13215         * Make-lang.in (ADAFLAGS): Add -W -Wall.
13216         (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
13217         (gnat1): Also depend on attribs.o.
13218         (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
13219         * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
13220         (ADAC): Set to @ADAC@ in stage1, $(CC) later.
13221         (ADAFLAGS): Add -W -Wall.
13222         (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
13223         take out CFLAGS.
13224
13225         (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
13226         s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
13227         s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
13228         Use $(ADAC), not $(CC), as compilation command.
13229
13230         (gnattools): Depend directly on tools to build, don't use
13231         recursive make.
13232         (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
13233
13234         * einfo.h, sinfo.h: New files (autogenerated).
13235
13236 2001-10-08  Richard Henderson  <rth@redhat.com>
13237
13238         * comperr.adb (Abort_In_Progress): New.
13239         (Compiler_Abort): Use it to prevent recursion.
13240
13241 2001-10-08  Robert Dewar <dewar@gnat.com>
13242
13243         * atree.adb: Set Error_Posted in Error node, helps error recovery.
13244
13245         * par-endh.adb (Output_End_Expected): We should also not test
13246         Error_Posted on the Error node, since now it is always set.
13247
13248         * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
13249         to help error recovery. Part of general work on 9407-004.
13250
13251         * par.adb: Add ??? for misuse of error
13252
13253         * sem_res.adb:
13254         (Resolve): Defend against Error, fixes 9407-003.
13255         (Resolve_Discrete_Subtype_Indication): Defend against Error.
13256
13257         * sinfo.ads (N_Error): Now has Etype field (which will be set
13258         to Any_Type to help error recovery).
13259
13260 2001-10-08  Richard Kenner (kenner@gnat.com)
13261
13262         * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
13263         Consistently set MEM attributes from expression; fixes
13264         bootstrap failure on x86.
13265
13266 2001-10-08  Geert Bosch  (bosch@gnat.com)
13267
13268         * 5oosinte.adb: Add 2001 to copyright notice.
13269
13270 2001-10-08  Geert Bosch  (bosch@gnat.com)
13271
13272         * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
13273
13274         * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
13275
13276 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
13277
13278         * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
13279
13280 2001-10-05  Geert Bosch  (bosch@gnat.com)
13281
13282         * adaint.h: Small formatting fix.
13283
13284 2001-10-04  Geert Bosch  <bosch@gnat.com>
13285
13286         * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
13287         Arg is int, not FILE *, in dummy version of functions.
13288
13289         * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
13290         Arg is int, not FILE *.
13291
13292 2001-10-04  Geert Bosch  <bosch@gnat.com>
13293
13294         * 3lsoccon.ads: Added file, missed with initial check ins.
13295
13296         * 4lintnam.ads: Fix header format.
13297         Change Linux to GNU/Linux.
13298
13299         * 5iosinte.adb: Change Linux to GNU/Linux.
13300
13301         * 5iosinte.ads: Change Linux to GNU/Linux.
13302
13303         * 5itaprop.adb: Change Linux to GNU/Linux.
13304
13305         * 5itaspri.ads: Change Linux to GNU/Linux.
13306         Update copyright notice.
13307
13308         * 5lintman.adb: Change Linux to GNU/Linux.
13309
13310         * 5lml-tgt.adb: Change Linux to GNU/Linux.
13311
13312         * 5losinte.ads: Change Linux to GNU/Linux.
13313
13314         * 5lsystem.ads: Change Linux to GNU/Linux.
13315
13316         * 5qosinte.adb: Change Linux to GNU/Linux.
13317
13318         * 5qosinte.ads: Change Linux to GNU/Linux.
13319
13320         * 5qparame.ads: Change Linux to GNU/Linux.
13321
13322         * 5qtaprop.adb: Change Linux to GNU/Linux.
13323
13324         * 5qtaspri.ads: Change Linux to GNU/Linux.
13325         Add 2001 to copyright notice.
13326
13327         * 5vintman.ads: Change Linux to GNU/Linux.
13328         Fix header format.  Add 2001 to copyright notice.
13329
13330         * g-soccon.ads: Change Linux to GNU/Linux.
13331
13332         * g-trasym.ads: Change Linux to GNU/Linux.
13333         Add 2001 to copyright notice.
13334
13335         * memtrack.adb: Change Linux to GNU/Linux.
13336
13337         * s-intman.ads: Change Linux to GNU/Linux.
13338         Add 2001 to copyright notice.  Fix header format.
13339
13340         * s-stache.adb: Change Linux to GNU/Linux.
13341
13342         * adaint.c: Change Linux to GNU/Linux.
13343
13344         * cio.c: Change Linux to GNU/Linux.
13345
13346         * cstreams.c: Change Linux to GNU/Linux.
13347
13348         * init.c: Change Linux to GNU/Linux.
13349
13350         * gmem.c: Change Linux to GNU/Linux.
13351
13352         * tracebak.c: Change Linux to GNU/Linux.
13353
13354
13355 2001-10-02  Geert Bosch  <bosch@gnat.com>
13356
13357         * misc.c (insert_default_attributes): Add dummy version.