OSDN Git Service

* 5tsystem.ads: Removed, no longer used.
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2004-09-20  Arnaud Charlet  <charlet@act-europe.fr>
2
3         * 5tsystem.ads: Removed, no longer used.
4
5 2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
6             Zack Weinberg  <zack@codesourcery.com>
7
8         * ada-tree.def: Use tree_code_class enumeration constants
9         instead of code letters.
10         * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
11         Update for new tree-class enumeration constants.
12
13 2004-09-17  Vincent Celier  <celier@gnat.com>
14
15         * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
16         capabilities of the general project manager.
17
18 2004-09-09  Vincent Celier  <celier@gnat.com>
19
20         * a-direct.ads: Add pragma Ada_05
21         (Directory_Entry_Type): Give default value to component Kind to avoid
22         not initialized warnings.
23
24         * a-direct.adb (Current_Directory): Remove directory separator at the
25         end.
26         (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
27         an existing directory.
28         (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
29         (Size (String)): Function C_Size returns Long_Integer, not File_Size.
30         Convert the result to File_Size.
31
32         * prj.ads: (Project_Error): New exception
33
34         * prj-attr.adb: Except in procedure Initialize, Fail comes from
35         Prj.Com, not from Osint.
36         (Attrs, Package_Attributes): Tables moved to private part of spec
37         (Add_Attribute, Add_Unknown_Package): Moved to new child package
38         Prj.Attr.PM.
39         (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
40         Prj.Project_Error after call to Fail.
41         (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
42         Fail. Check that package name is not already in use.
43
44         * prj-attr.ads: Comment updates to indicate that all subprograms may be
45         used by tools, not only by the project manager, and to indicate that
46         exception Prj.Prj_Error may be raised in case of problem.
47         (Add_Unknown_Package, Add_Attribute): Moved to new child package
48         Prj.Attr.PM.
49         (Attrs, Package_Attributes): Table instantiations moved from the body to
50         the private part to be accessible from Prj.Attr.PM body.
51
52         * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
53         from new package Prj.Attr.PM.
54         (Parse_Attribute_Declaration): Call Add_Attribute from new package
55         Prj.Attr.PM.
56
57         * Makefile.in: Add prj-attr-pm.o to gnatmake object list
58
59         * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
60         instead of Elaboration_Checks).
61
62         * a-calend.adb: Minor reformatting
63
64 2004-09-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
65
66         * gigi.h (maybe_pad_type): New declaration.
67         (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
68
69         * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
70
71         * cuintp.c: Convert to use buildN.
72
73         * decl.c (maybe_pad_type): No longer static.
74         (gnat_to_gnu_entity, case E_Function): Handle case of returning by
75         target pointer.
76         Convert to use buildN.
77
78         * trans.c (call_to_gnu): Add arg GNU_TARGET; support
79         TYPE_RETURNS_BY_TARGET_PTR_P.  All callers changed.
80         (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
81         RHS.
82         (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
83         (gnat_gimplify_expr, case ADDR_EXPR): New case.
84         Convert to use buildN.
85
86         * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
87         TREE_READONLY for const.
88         Convert to use buildN.
89
90         * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
91         (create_var_decl): Refine when TREE_STATIC is set.
92         Convert to use buildN.
93
94 2004-09-09  Gary Dismukes  <dismukes@gnat.com>
95
96         * gnat_ugn.texi: Delete text relating to checking of ali and object
97         consistency.
98
99         * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
100         routines.
101
102 2004-09-09  Jose Ruiz  <ruiz@act-europe.fr>
103
104         * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
105         pragmas recognized by GNAT.
106
107         * gnat_rm.texi: Document pragma Detect_Blocking.
108
109         * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
110         raise Program_Error if called from a protected operation.
111
112         * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
113         the protected action nesting level.
114         (Lock_Read_Only): When pragma Detect_Blocking is active increase the
115         protected action nesting level.
116         (Unlock): When pragma Detect_Blocking is active decrease the protected
117         action nesting level.
118
119         * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
120         Protected_Action_Nesting.
121
122         * s-taskin.ads: Adding the field Protected_Action_Nesting to the
123         Common_ATCB record. It contains the dynamic level of protected action
124         nesting for each task. It is needed for checking whether potentially
125         blocking operations are called from protected operations.
126         (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
127         Detect_Blocking is active or not in the partition.
128
129         * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
130         raise Program_Error if called from a protected operation.
131         (Task_Entry_Call): When pragma Detect_Blocking is active, raise
132         Program_Error if called from a protected operation.
133         (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
134         Program_Error if called from a protected operation.
135
136         * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
137         raise Program_Error if called from a protected operation.
138
139         * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
140         raise Program_Error if called from a protected operation, and increase
141         the protected action nesting level.
142         (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
143         Program_Error if called from a protected operation, and increase the
144         protected action nesting level.
145         (Unlock_Entries): When pragma Detect_Blocking is active decrease the
146         protected action nesting level.
147
148         * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
149         raise Program_Error if called from a protected operation, and increase
150         the protected action nesting level.
151         (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
152         Program_Error if called from a protected operation, and increase the
153         protected action nesting level.
154         (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
155         raise Program_Error if called from a protected operation.
156         (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
157         active, raise Program_Error if called from a protected operation.
158         (Unlock_Entry): When pragma Detect_Blocking is active decrease the
159         protected action nesting level.
160
161         * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
162         insertion of the statement raising Program_Error. The run time
163         contains the required machinery for handling that.
164
165         * sem_util.ads: Change comment associated to procedure
166         Check_Potentially_Blocking_Operation.
167         This procedure does not insert a call for raising the exception because
168         that is currently done by the run time.
169
170         * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
171
172         * init.c: Add the global variable __gl_detect_blocking that indicates
173         whether pragma Detect_Blocking is active (1) or not (0). Needed for
174         making the pragma available at run time.
175         (__gnat_set_globals): Pass and update the detect_blocking parameter.
176
177         * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
178         pragma Detect_Blocking is active.
179
180         * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
181
182         * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
183         DB is found in the ali file. Any unit compiled with pragma
184         Detect_Blocking active forces its effect in the whole partition.
185
186         * a-retide.adb (Delay_Until): Raise Program_Error if pragma
187         Detect_Blocking is active and delay is called from a protected
188         operation.
189
190         * bindgen.adb (Gen_Adainit_Ada): When generating the call to
191         __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
192         Detect_Blocking is active (0 otherwise).
193         (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
194         as Detect_Blocking parameter if pragma Detect_Blocking is active (0
195         otherwise).
196
197 2004-09-09  Thomas Quinot  <quinot@act-europe.fr>
198
199         * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
200         GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
201         package.
202
203         * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
204         (Register_Receiving_Stub): Add Subp_Info formal parameter.
205         Update API in placeholder implemetation of s-parint to reflect changes
206         in distribution runtime library.
207
208         * sem_ch3.adb (Expand_Derived_Record): Rename to
209         Expand_Record_Extension.
210
211         * sem_disp.adb (Check_Controlling_Formals): Improve error message for
212         primitive operations of potentially distributed object types that have
213         non-controlling anonymous access formals.
214
215         * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
216         subprogram.
217         New implementation of expansion for remote access-to-subprogram types,
218         based on the RACW infrastructure.
219         This version of sem_dist is compatible with PolyORB/DSA as well as
220         GLADE.
221
222         * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
223         Asynchrronous that applies to a remote access-to-subprogram type, mark
224         the underlying RACW type as asynchronous.
225
226         * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
227          __gnat_using_gnu_linker to 1.
228
229         * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
230         g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
231         GNAT.Perfect_Hash_Generators, and remove the empty
232         GNAT.Perfect_Hash package.
233
234         * atree.adb: Minor reformatting
235
236         * exp_ch3.adb (Expand_Derived_Record): Rename to
237         Expand_Record_Extension.
238         (Build_Record_Init_Proc.Build_Assignment): The default expression in
239         a component declaration must remain attached at that point in the
240         tree so New_Copy_Tree copies it if the enclosing record type is derived.
241         It is therefore necessary to take a copy of the expression when building
242         the corresponding assignment statement in the init proc.
243         As a side effect, in the case of a derived record type, we now see the
244         original expression, without any rewriting that could have occurred
245         during expansion of the ancestor type's init proc, and we do not need
246         to go back to Original_Node.
247
248         * exp_ch3.ads (Expand_Derived_Record): Rename to
249         Expand_Record_Extension.
250
251         * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
252         Returns the RACW type used to implement a remote access-to-subprogram
253         type.
254         (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
255         New subprograms. Used to create a proxy tagged object for a remote
256         subprogram. The proxy object is used as the designated object
257         for RAS values on the same partition (unless All_Calls_Remote applies).
258         (Build_Get_Unique_RP_Call): New subprogram. Build a call to
259         System.Partition_Interface.Get_Unique_Remote_Pointer.
260         (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
261         Renamed from Add_RAS_*_Attribute.
262         (Add_Receiving_Stubs_To_Declarations): Generate a table of local
263         subprograms.
264         New implementation of expansion for remote access-to-subprogram types,
265         based on the RACW infrastructure.
266
267         * exp_dist.ads (Copy_Specification): Update comment to note that this
268         function can copy the specification from either a subprogram
269         specification or an access-to-subprogram type definition.
270
271 2004-09-09  Ed Schonberg  <schonberg@gnat.com>
272
273         * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
274         in an instance, between an explicit subprogram an one inherited from a
275         type derived from an actual.
276
277         * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
278         add a polling call if the subprogram is to be inlined by the back-end,
279         to avoid repeated calls with multiple inlinings.
280
281         * checks.adb (Apply_Alignment_Check): If the expression in the address
282         clause is a call whose name is not a static entity (e.g. a dispatching
283         call), treat as dynamic.
284
285 2004-09-09  Robert Dewar  <dewar@gnat.com>
286
287         * g-trasym.ads: Minor reformatting
288
289         * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
290         packed arrays, since unused bits are expected to be zero for a
291         comparison.
292
293 2004-09-09  Eric Botcazou  <ebotcazou@act-europe.fr>
294
295         * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
296         comment.
297
298 2004-09-09  Pascal Obry  <obry@gnat.com>
299
300         * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
301         enable map file generation. Add the right option to generate the map
302         file if Map_File is set to True.
303
304         * gnatdll.adb (Gen_Map_File): New variable.
305         (Syntax): Add info about new -m (Map_File) option.
306         (Parse_Command_Line): Add support for -m option.
307         (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
308         Minor reformatting.
309
310 2004-09-09  Laurent Pautet  <pautet@act-europe.fr>
311
312         * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
313         new gnatdist implementation.
314         Define a subpackage isolating the output routines specific to this
315         verbose mode.
316
317 2004-09-09  Joel Brobecker  <brobecker@gnat.com>
318
319         * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
320
321         * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
322
323 2004-09-09  Cyrille Comar  <comar@act-europe.fr>
324
325         * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
326         internal unit.
327
328         * opt.ads: Add Ada_Version_Runtime constant used to decide which
329         version of the language is used to compile the run time.
330
331 2004-09-09  Arnaud Charlet  <charlet@act-europe.fr>
332
333         * sem_util.adb (Requires_Transient_Scope): Re-enable handling
334         of variable length temporaries for function return now that the
335         back-end and gigi support it.
336
337 2004-09-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
338
339         * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
340
341         * trans.c (struct stmt_group): Delete field GLOBAL.
342         (gnat_init_stmt_group): Do not initialize it.
343         (call_to_gnu): Use save_expr, not protect_multiple_eval.
344         (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
345         (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
346         (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
347         (start_stmt_group): Likewise.
348         (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
349
350         * utils2.c (ggc.h): Include.
351         (build_call_raise): Call build_int_cst, not build_int_2.
352
353         * utils.c (gnat_init_decl_processing): Fix arg to
354         build_common_tree_nodes.
355         (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
356         (gnat_define_builtin): Set built_in_decls.
357         (init_gigi_decls): Call build_int_cst, not build_int_2.
358
359         * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
360         (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
361         (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
362         (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
363         SET_TYPE_MODULE): Use them.
364         (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
365         (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
366         (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
367         SET_TYPE_ADA_SIZE): Likewise.
368         (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
369         (DECL_CONST_CORRESPONDING_VAR,
370         SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
371         (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
372         (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
373         (TYPE_RM_SIZE_NUM): New macro.
374         (TYPE_RM_SIZE): Modified to use above.
375
376         * cuintp.c: (build_cst_from_int): New function.
377         (UI_To_gnu): Use it.
378
379         * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
380         (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
381         (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
382         MIN_EXPR for the size, copy it into new.
383
384 2004-09-01  Robert Dewar  <dewar@gnat.com>
385
386         * exp_ch6.adb (Expand_Call): Properly handle validity checks for
387         packed indexed component where array is an IN OUT formal. This
388         generated garbage code previously.
389
390         * gnat_ugn.texi: Document -fverbose-asm
391
392         * gnat-style.texi: Minor updates (note that boolean constants and
393         variables are joined with AND/OR rather than short circuit forms).
394
395 2004-09-01  Ed Schonberg  <schonberg@gnat.com>
396
397         * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
398         it is an upward conversion of an untagged type with no representation
399         change.
400
401 2004-09-01  Thomas Quinot  <quinot@act-europe.fr>
402
403         * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
404         System.Partition_Interface.
405
406         * checks.adb (Apply_Access_Checks): Do not generate checks when
407         expander is not active (but check for unset reference to prefix of
408         dereference).
409
410         * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
411         pragma Debug as an if statement with a constant condition, for
412         consistent treatment of entity references contained within the
413         enclosed procedure call.
414
415 2004-09-01  Vincent Celier  <celier@gnat.com>
416
417         * bindgen.adb: (Set_EA_Last): New procedure
418         (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
419         Set_EA_Last.
420         (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
421         (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
422         linked without errors.
423         (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
424         ST and EA.
425         (Gen_Exception_Table_C): Correct same bugs
426
427         * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
428
429         * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
430         on Windows, make sure that the drive letter is in upper case.
431
432         * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
433         Windows, when the drive letter is added and Case_Sensitive is True, the
434         drive letter is forced to upper case.
435
436         * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
437         to Options_2 for the call to MLib.Utl.Gcc.
438
439         * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
440         directory separator when defining BASE_DIR.
441
442 2004-09-01  Pascal Obry  <obry@gnat.com>
443
444         * gprcmd.adb (Extend): Do not output trailing directory separator. This
445         is not needed and it confuses Windows GNU/make which does not report
446         directory terminated by a slash as a directory.
447         (gprcmd): Idem for "pwd" internal command.
448
449         * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
450         target names rewrite to fix regressions with recent version of
451         GNU/make. Starting with GNU/make 3.80 the pipe character was not
452         handled properly anymore.
453
454 2004-09-01  Andreas Schwab  <schwab@suse.de>
455
456         * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
457         * raise.c [!IN_RTS]: Undef abort.
458
459 2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
460
461         * utils2.c (build_allocator): Use ssize_int.
462
463         * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
464
465 2004-08-27  Andreas Schwab  <schwab@suse.de>
466
467         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
468
469 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
470             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
471
472         * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
473
474 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
475
476         * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
477         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
478         * utils.c (init_gigi_decls): Likewise.
479         * utils2.c (build_call_raise, build_allocator): Likewise.
480
481 2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
482
483         * utils.c (gnat_init_decl_processing): Adjust
484         build_common_tree_nodes call.
485
486 2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
487
488         * utils2.c (build_allocator): Use build_int_cst for negative
489         size types.
490
491 2004-08-18  Richard Henderson  <rth@redhat.com>
492
493         * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
494
495 2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
496
497         * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
498         call.s
499         * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
500         (gnat_to_gnu): Likewise.
501
502 2004-08-16  Pascal Obry  <obry@gnat.com>
503
504         * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
505         backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
506         option and not mdll anymore. Update comment.
507
508 2004-08-16  Pascal Obry  <obry@gnat.com>
509
510         * bld.adb (Put_Include_Project): Properly handle directory separators
511         on Windows.
512
513 2004-08-16  Ed Schonberg  <schonberg@gnat.com>
514
515         * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
516         decreasing the number of allocated junk nodes while searching for the
517         appropriate subprogram.
518
519 2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
520
521         * cuintp.c (UI_To_gnu): Use build_int_cst..
522         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
523         * utils.c (init_gigi_decls): Likewise.
524         * utils2.c (build_call_raise): Likewise.
525
526 2004-08-13  Olivier Hainque  <hainque@act-europe.fr>
527
528         * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
529         for a global aliased object with a variable size and an unconstrained
530         nominal subtype, pretend there is no initializer if the one we have is
531         incomplete, and avoid referencing an inexistant component in there. The
532         part we have will be rebuilt anyway and the reference may confuse
533         further operations.
534
535 2004-08-13  Thomas Quinot  <quinot@act-europe.fr>
536
537         * einfo.ads: Minor reformatting
538
539         * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
540         restrictions in the ALI if we only want to warn about violations.
541
542 2004-08-13  Vincent Celier  <celier@gnat.com>
543
544         * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
545         when creating a new Unit_Record in table Units.
546
547         * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
548         that are violated, if any.
549
550         * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
551         add directory separator if path already ends with a directory separator.
552
553 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
554
555         * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
556         unit, this is an attempt to inline a construct that is not available in
557         the current restricted mode, so abort rather than trying to continue.
558
559         * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
560         discriminants that rename those of the parent, recover names of
561         original discriminants for the constraint on the full view of the
562         parent.
563         (Complete_Private_Subtype): Do not create a subtype declaration if the
564         subtype is an itype.
565
566         * gnat_rm.texi: Added section on implementation of discriminated
567         records with default values for discriminants.
568
569 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
570
571         PR ada/15601
572         * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
573         the second operand is overloaded.
574
575 2004-08-10  Richard Henderson  <rth@redhat.com>
576
577         * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
578         add __builtin_alloca.
579
580 2004-08-10  Richard Henderson  <rth@redhat.com>
581
582         * config-lang.in (boot_language): Yes.
583
584 2004-08-09  Thomas Quinot  <quinot@act-europe.fr>
585
586         * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
587         from complaining on potential uninitialized reference.
588         Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
589         new specification and test explicitly for non-zero return value.
590
591         * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
592         returning C.int, to avoid using a derived boolean type.
593
594         * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
595         Duplicate_Subexpr_No_Checks in preference to direct use of
596         Remove_Side_Effects and New_Copy_Tree.
597         Clear Comes_From_Source on prefix of 'Size attribute reference.
598
599         * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
600         g-socthi-vxworks.adb: Change calls to
601         GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
602         and test explicitly for non-zero return value.
603
604         * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
605         (Is_Socket_In_Set): Declare imported function as returning C.int, to
606         avoid using a derived boolean type.
607
608 2004-08-09  Albert Lee  <lee@gnat.com>
609
610         * system-irix-n32.ads: Refine tasking priority constants for IRIX.
611
612 2004-08-09  Pascal Obry  <obry@gnat.com>
613
614         * gnat_ugn.texi: Document new way to build DLLs on Windows using
615         GCC's -shared option.
616
617         * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
618         Options_2 parameter (options put after object files).
619
620 2004-08-09  Olivier Hainque  <hainque@act-europe.fr>
621
622         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
623         ignore overflows on low and high bounds of an index to also account for
624         differences in signedness between sizetype and gnu_index_subtype.
625         These are as legitimate as the ones caused by a lower TYPE_PRECISION
626         on sizetype.
627
628 2004-08-09  Robert Dewar  <dewar@gnat.com>
629
630         * s-solita.ads, s-solita.adb: Minor reformatting
631
632         * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
633         Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
634         obsolescent section
635         Add note that No_Implicit_Conditionals does not suppress
636         run time constraint checks.
637
638         * vms_conv.ads: Minor reformatting
639
640         * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
641         and necessary for following change).
642         (Mark): Return new format Mark_Id containing sec stack address
643         (Release): Use sec stack address from Mark_Id avoiding Self call
644
645         * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
646         pointer (cleanup and necessary for following change).
647         Define Mark_Id as record containing address of secondary stack, that way
648         Release does not need to find the stack again, decreasing the number of
649         calls to Self and improving efficiency.
650
651         * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
652
653         * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
654         case variable into the individual case branches when possible.
655
656         * sem_ch11.adb: Minor reformatting
657
658         * prj.ads: Correct spelling of suffixs
659
660         * prj-nmsc.adb: Minor reformatting
661         Correct spelling suffixs throughout (also in identifiers)
662
663         * freeze.adb: Minor spelling correction
664
665         * exp_ch2.adb: Cleanups to handling of Current_Value
666         (no functional effect).
667
668         * bld.adb: Correct spelling of suffixs
669
670         * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
671
672 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
673
674         PR ada/15408
675
676         * sem_ch7.adb (Install_Private_Declarations): In the body of the
677         package or of a child, private entities are both immediately_visible
678         and not hidden.
679
680 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
681
682         * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
683         there are no range checks on the value of the literal.
684
685         * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
686         wrapped is the triggering alternative of an asynchronous select, action
687         statements mustbe inserted before the select itself.
688
689         * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
690         case where the prefix is a protected function call.
691         (Resolve_Attribute, case 'Access): The attribute reference on a
692         subprogram is legal in a generic body if the subprogram is declared
693         elsewhere.
694
695 2004-08-09  Vincent Celier  <celier@gnat.com>
696
697         * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
698         languages, otherwise building the library may fail with unresolved
699         symbols.
700         (Compile_Sources): Do not build libraries if -c switch is used
701
702         * gnatlink.adb (Process_Args): New switches -M and -Mmap
703         (Write_Usage): If map file creation is supported, output new switches
704         -M and -Mmap.
705         (Gnatlink): When -M is specified, add the necessary switch(es) to the
706         gcc call, when supported.
707
708         * Makefile.in: Added indepsw.o to the object list for gnatlink
709         Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
710
711         * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
712         indepsw.adb, indepsw.ads: New files.
713
714 2004-08-09  Bernard Banner  <banner@gnat.com>
715
716         * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
717
718         * Makefile.in: add section for vxworks x86
719
720 2004-08-09  Hristian Kirtchev  <kirtchev@gnat.com>
721
722         * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
723         per-object constrained components where the discriminant is of an
724         Access type.
725         (Build_Record_Init_Proc): Add condition to prevent the inheritance of
726         the parent initialization procedure for derived Unchecked_Unions.
727         Instead, derived Unchecked_Unions build their own initialization
728         procedure.
729         (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
730         Check the body of the subprogram for details.
731         (Freeze_Record_Type): Prevent the inheritance of discriminant checking
732         functions for derived Unchecked_Union types by introducing a condition.
733         Allow the creation of TSS equality functions for Unchecked_Unions.
734         (Make_Eq_Case): Rename formal parameter Node to E in function signature.
735         Add formal parameter Discr to function signature. Discr is used to
736         control the generated case statement for Unchecked_Union types.
737         (Make_Eq_If): Rename formal parameter Node to E in function signature.
738
739         * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
740         Unchecked_Unions.
741         Check the body of the subprogram for details.
742         (Expand_Composite_Equality): Augment composite type equality to include
743         correct handling of Unchecked_Union components.
744         (Expand_N_In): Add condition to detect illegal membership tests when the
745         subtype mark is a constrained Unchecked_Union and the expression lacks
746         inferable discriminants, and build a Raise_Program_Error node.
747         (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
748         to detect types that contain components of unconstrained Unchecked_Union
749         subtype. Add condition to detect equality between types that have an
750         unconstrained Unchecked_Union component, and build a Raise_Program_Error
751         node. Add condition to detect equality between Unchecked_Union types
752         that lack inferable discriminants, and build a Raise_Program_Error node.
753         Otherwise build a TSS equality function call.
754         (Expand_N_Type_Conversion): Add condition to detect illegal conversions
755         from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
756         with the operand lacking inferable discriminants, and build a Raise_
757         Program_Error node.
758         (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
759         composite equality.
760         (Has_Inferable_Discriminants): Implement new predicate for objects and
761         expressions of Unchecked_Union type. Check the body of subprogram for
762         details.
763         (Has_Unconstrained_UU_Components): Add function
764         Component_Is_Unconstrained_UU. It is used to detect whether a single
765         component is of an unconstrained Unchecked_Union subtype. Add function
766         Variant_Is_Unconstrained_UU. It is used to detect whether a single
767         component inside a variant is of an unconstrained Unchecked_Union type.
768
769         * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
770         inferred discriminant values. Add condition to generate a case
771         statement with an inferred discriminant as the switch.
772         (Make_Component_List_Assign): Introduce a Boolean flag that determines
773         the behaviour of the subprogram in the presence of an Unchecked_Union.
774         Add condition to trigger the usage of the inferred discriminant value
775         as the generated case statement switch.
776         (Make_Field_Assign): Introduce a Boolean flag that determines the
777         behaviour of the subprogram in the presence of an Unchecked_Union. Add
778         condition to trigger the usage of the inferred discriminant value as
779         the right-hand side of the generated assignment.
780
781         * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
782         parameter generation when dealing with Unchecked_Unions.
783
784         * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
785         checks for Unchecked_Unions.
786
787         * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
788
789         * exp_attr.adb (Expand_N_Attribute_Reference): Produce
790         Raise_Program_Error nodes for the execution of Read and Write
791         attributes of Unchecked_Union types and the execution of Input and
792         Output attributes of Unchecked_Union types that lack default
793         discriminant values.
794
795         * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
796         Unchecked_Union. Add procedure Check_Component. It is used to inspect
797         per-object constrained components of Unchecked_Unions for being
798         Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
799         check individual components withing a variant.
800
801         * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
802         comparison of Unchecked_Unions.
803         (Resolve_Equality_OP): Remove guard that prevents equality between
804         Unchecked_Unions.
805
806         * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
807         of component subtypes for Unchecked_Union components.
808         (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
809         since it is the actual subtype.
810
811         * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
812         pass of Unchecked_Union subtypes as generic actuals to formal types
813         that lack known_discriminant_parts or that are derived Unchecked_Union
814         types, and do nothing. In any other case, produce an error message.
815
816         * sem_ch3.adb (Analyze_Component_Declaration): Add function
817         Contains_POC. It determines whether a constraint uses the discriminant
818         of an enclosing record type.
819         Add condition to detect per-object constrained component and set the
820         appropriate flag.
821         (Derived_Type_Declaration): Remove guard that prevents derivation from
822         Unchecked_Union types.
823         (Process_Subtype): Remove quard that prevents the creation of Unchecked_
824         Union subtypes.
825
826         * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
827         references to Unchecked_Union discriminants.
828
829         * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
830         formal generation when dealing with Unchecked_Unions.
831         (Set_Actual_Subtypes): Add condition to prevent generation of actual
832         subtypes for Unchecked_Unions.
833
834         * sem_ch7.adb (Analyze_Package_Specification): Add procedure
835         Inspect_Unchecked_Union_Completion. It is used to detect incorrect
836         completions of discriminated partial views by Unchecked_Unions and
837         produce an error message.
838
839 2004-08-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
840
841         * trans.c (struct stmt_group): New field, GLOBAL.
842         (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
843         (struct elab_info): New struct.
844         (elab_info_list, gnu_elab_proc_stack): New variables.
845         (Compilation_Unit_to_gnu): New procedure.
846         (gigi): Call it and also handle elaboration procs we've saved.
847         (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
848         global field from parent.
849         (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
850         (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
851         (start_stmt_group): Initialize global field from parent.
852         (add_decl_expr): Set to global for current statement group.
853         (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
854         post.
855
856         * utils.c (global_bindings_p): True when no current_function_decl; no
857         longer check current_binding_level.
858
859 2004-08-09  Ben Brosgol  <brosgol@gnat.com>
860
861         * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
862         choice.
863
864         * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
865
866 2004-08-06  Andreas Schwab  <schwab@suse.de>
867
868         * utils.c (gnat_define_builtin): Remove second parameter of
869         make_decl_rtl.
870         (begin_subprog_body): Likewise.
871
872 2004-07-26  Arnaud Charlet  <charlet@act-europe.fr>
873
874         * sem_util.adb (Requires_Transient_Scope): Temporarily disable
875         optimization, not supported by the tree-ssa back-end.
876
877 2004-07-26  Olivier Hainque  <hainque@act-europe.fr>
878
879         * s-mastop-irix.adb: Update comments.
880
881         * a-except.adb (Exception_Information): Raise Constraint_Error if
882         exception Id is Null_Id.
883         This is required behavior, which is more reliably and clearly checked
884         at the top level interface level.
885
886 2004-07-26  Javier Miranda  <miranda@gnat.com>
887
888         * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
889         call if a component has no default_expression and the box is used.
890
891         * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
892         default_expression and you use box, it behaves as if you had declared a
893         stand-alone object.
894         (Resolve_Record_Aggregate): If a component has no default_expression and
895         you use box, it behaves as if you had declared a stand-alone object.
896
897         * sem_ch10.adb (Install_Siblings): Do not make visible the private
898         entities of private-with siblings.
899
900 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
901
902         * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
903         for a component of an itype, set the parent pointer for analysis,
904         there is no list in which to insert it.
905
906         * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
907         bona-fide renamings, not for inherited operations.
908
909         * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
910         actual for a formal that is an access parameter, create local
911         finalization list even if the expression is not an aggregate.
912
913 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
914
915         PR ada/16213
916         * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
917         Diagnose properly illegal subprogram renamings that are library units.
918
919 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
920
921         PR ada/15588
922         * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
923         conversion rewritten as an unchecked conversion, check that original
924         expression is a variable.
925
926         * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
927         unchecked_conversion, create new node rather than rewriting in place,
928         to preserve original construct.
929
930 2004-07-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
931
932         * gigi.h (gnat_expand_body): Deleted.
933
934         * Make-lang.in: (trans.o): Depends on function.h.
935
936         * misc.c: (gnat_expand_body): Moved to here.
937
938         * trans.c (gnat_expand_body_1): Deleted.
939         (gnat_expand_body): Moved from here.
940         (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
941         (add_stmt): Check for marked visited with global_bindings_p.
942         (gnat_gimplify_expr, case COMPONENT_REF): New case.
943         (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
944
945         * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
946         VIEW_CONVERT_EXPR if not operation type.
947
948         * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
949         fat pointer.
950
951         * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
952         changes: reformatting of negation operators, removing unneeded
953         inequality comparison with zero, converting equality comparisons with
954         zero to negations, changing int/0/1 to bool/false/true, replace calls
955         to gigi_abort with abort, and various other similar changes.
956
957 2004-07-26  Vincent Celier  <celier@gnat.com>
958
959         * gnatcmd.adb (GNATCmd): Add processing for new built-in command
960         "setup".
961
962         * make.adb (Gnatmake): Fail when a library is not present and there is
963         no object directory.
964
965         * mlib-prj.adb (Check_Library): No need to check if the library needs
966         to be rebuilt if there is no object directory, hence no object files
967         to build the library.
968
969         * opt.ads (Setup_Projects): New Boolean flag.
970
971         * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
972         Location.
973         Create directory when Kind /= "" and in "gnat setup". Report error if
974         directory cannot be created.
975         (Ada_Check): Create library interface copy dir if it does not exist
976         and we are in "gnat setup".
977         (Find_Sources): No error if in "gnat setup" and no Ada sources were
978         found.
979         (Language_Independent_Check): Create object directory, exec directory
980         and/or library directory if they do not exist and we are in
981         "gnat setup".
982
983         * vms_conv.ads: (Command_Type): New command Setup.
984
985         * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
986
987         * vms_data.ads: Add qualifiers/switches for new built-in command
988         "setup".
989
990 2004-07-25  Richard Henderson  <rth@redhat.com>
991
992         * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
993         DECL_IGNORED_P on RESULT_DECL.
994
995 2004-07-20  Olivier Hainque  <hainque@act-europe.fr>
996
997         * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
998         allocation and potentially overflowing update with
999         Tailored_Exception_Information. Use the sec-stack free procedural
1000         interface to output Exception_Information instead.
1001
1002         * a-except.adb (To_Stderr): New subprogram for character, and string
1003         version moved from a-exextr to be visible from other separate units.
1004         (Tailored_Exception_Information): Remove the procedural version,
1005         previously used by the default Last_Chance_Handler and not any more.
1006         Adjust various comments.
1007
1008         * a-exexda.adb: Generalize the exception information procedural
1009         interface, to minimize the use of secondary stack and the need for
1010         local buffers when the info is to be output to stderr:
1011         (Address_Image): Removed.
1012         (Append_Info_Character): New subprogram, checking for overflows and
1013         outputing to stderr if buffer to fill is of length 0.
1014         (Append_Info_String): Output to stderr if buffer to fill is of length 0.
1015         (Append_Info_Address, Append_Info_Exception_Name,
1016         Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
1017         Append_Info_Basic_Exception_Traceback,
1018         Append_Info_Exception_Information): New subprograms.
1019         (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
1020         (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
1021         Exception_Info_Maxlength, Exception_Name_Length,
1022         Exception_Message_Length): New subprograms.
1023         (Exception_Information): Use Append_Info_Exception_Information.
1024         (Tailored_Exception_Information): Use
1025         Append_Info_Basic_Exception_Information.
1026         Export services for the default Last_Chance_Handler.
1027
1028         * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
1029         other separate units.
1030
1031 2004-07-20  Vincent Celier  <celier@gnat.com>
1032
1033         * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
1034
1035 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
1036
1037         * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
1038         emit itype references for the designated types of component types that
1039         are declared outside of the full record declaration, and that may
1040         denote a partial view of that record type.
1041
1042 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
1043
1044         PR ada/15607
1045         * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
1046         which is the designated type in an access component declaration, to the
1047         list of incomplete dependents of the parent type, to avoid elaboration
1048         issues with out-of-scope subtypes.
1049         (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
1050         full view of the parent.
1051
1052 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
1053
1054         PR ada/15610
1055         * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
1056         entities that are hidden, such as references to generic actuals
1057         outside an instance.
1058
1059 2004-07-20  Javier Miranda  <miranda@gnat.com>
1060
1061         * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
1062         support to the new notation.
1063         (Analyze_Selected_Component): Add call to Try_Object_Operation.
1064
1065 2004-07-20  Jose Ruiz  <ruiz@act-europe.fr>
1066
1067         * s-taprob.adb: Adding the elaboration code required for initializing
1068         the tasking soft links that are common to the full and the restricted
1069         run times.
1070
1071         * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
1072         restricted run time has been moved to the package
1073         System.Soft_Links.Tasking.
1074
1075         * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
1076         restricted run time has been moved to the package
1077         System.Soft_Links.Tasking.
1078
1079         * Makefile.rtl: Add entry for s-solita.o in run-time library list.
1080
1081         * s-solita.ads, s-solita.adb: New files.
1082
1083 2004-07-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1084
1085         * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
1086         Case_Statement_to_gnu): Split off from gnat_to_gnu.
1087         (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
1088         Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
1089         Exception_Handler_to_gnu_zcx): Likewise.
1090
1091 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
1092
1093         * gigi.h (builtin_function): Declare.
1094
1095 2004-07-15  Robert Dewar  <dewar@gnat.com>
1096
1097         * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
1098         reformatting
1099
1100         * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
1101         access values as an example of a warning.
1102
1103         * gnat_rm.texi: Document new attribute Has_Access_Values
1104
1105         * gnat-style.texi: Document that box comments belong on nested
1106         subprograms
1107
1108         * sem_util.ads (Has_Access_Values): Improved documentation
1109
1110         * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
1111
1112         * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
1113         (Process_Interface_Name): Call to this new procedure
1114         (Set_Extended_Import_Export_External_Name): Call to this new procedure
1115
1116         * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
1117
1118         * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
1119
1120         * einfo.ads: Minor comment typo fixed
1121
1122 2004-07-15  Jose Ruiz  <ruiz@act-europe.fr>
1123
1124         * snames.adb: Add _atcb.
1125
1126         * snames.ads: Add Name_uATCB.
1127
1128         * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
1129         (in the expanded code) when using the restricted run time.
1130
1131         * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
1132         a in parameter in order to allow ATCBs to be preallocated (in the
1133         expanded code).
1134
1135         * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
1136         order to allow ATCBs to be preallocated. In case of error, the ATCB is
1137         deallocated in System.Tasking.Stages.
1138
1139         * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
1140         order to allow ATCBs to be preallocated.
1141
1142         * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
1143         here. It was previously done in Initialize_ATCB.
1144
1145         * rtsfind.ads: Make the Ada_Task_Control_Block visible.
1146
1147         * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
1148         Restricted run time.
1149
1150         * exp_ch3.adb: When using the Restricted run time, pass the
1151         preallocated Ada_Task_Control_Block when creating a task.
1152
1153 2004-07-15  Ed Schonberg  <schonberg@gnat.com>
1154
1155         * sem_util.adb (Normalize_Actuals): If there are no actuals on a
1156         function call that is itself an actual in an enclosing call, diagnose
1157         problem here rather than assuming that resolution will catch it.
1158
1159         * sem_ch7.adb (Analyze_Package_Specification): If the specification is
1160         the local copy of a generic unit for a formal package, and the generic
1161         is a child unit, install private part of ancestors before compiling
1162         private part of spec.
1163
1164         * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
1165         use scope entities rather than tree structures, to handle properly
1166         parent units that are instances rewritten as bodies for inlining
1167         purposes.
1168
1169         * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
1170         Remove_Parents): Handle properly a parent unit that is an
1171         instantiation, when the unit has been rewritten as a body for inlining
1172         purposes.
1173
1174         * par.adb (Goto_List): Global variable to collect goto statements in a
1175         given unit, for use in detecting natural loops.
1176
1177         * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
1178         use in detecting natural loops.
1179
1180         * par-labl.adb (Find_Natural_Loops): Recognize loops create by
1181         backwards goto's, and rewrite as a infinite loop, to improve locality
1182         of temporaries.
1183
1184         * exp_util.adb (Force_Evaluation): Recognize a left-hand side
1185         subcomponent that includes an indexed reference, to prevent the
1186         generation of copies that would miscompile the desired assignment
1187         statement.
1188         (Build_Task_Image_Decls): Add a numeric suffix to
1189         generated name for string variable, to avoid spurious conflicts with
1190         the name of the type of a single protected object.
1191
1192         * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
1193         loop with an explicit exit statement, to avoid generating an
1194         out-of-range value with 'Succ leading to spurious constraint_errors
1195         when compiling with -gnatVo.
1196
1197 2004-07-15  Thomas Quinot  <quinot@act-europe.fr>
1198
1199         * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
1200         might not be analyzed yet, even if its Etype is already set (case of an
1201         unchecked conversion built using Unchecked_Convert_To, for example).
1202         If the prefix has already been analyzed, this will be a nop anyway.
1203
1204         * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
1205         controller type, or an assignment of a record type with controlled
1206         components, copy only user data, and leave the finalization chain
1207         pointers untouched.
1208
1209 2004-07-15  Vincent Celier  <celier@gnat.com>
1210
1211         * make.adb (Collect_Arguments): Improve error message when attempting
1212         to compile a source not part of any project, when -x is not used.
1213
1214         * prj.ads: (Defined_Variable_Kind): New subtype
1215
1216         * prj-attr.adb (Register_New_Package): Two new procedures to register
1217         a package with or without its attributes.
1218         (Register_New_Attribute): Mew procedure to register a new attribute in a
1219         package.
1220         New attribute oriented subprograms: Attribute_Node_Id_Of,
1221         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
1222         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
1223         Next_Attribute.
1224         New package oriented subprograms: Package_Node_Id_Of,
1225         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
1226
1227         * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
1228         type.
1229         (Package_Node_Id): Now a private, self initialized type
1230         (Register_New_Package): New procedure to register a package with its
1231         attributes.
1232         New attribute oriented subprograms: Attribute_Node_Id_Of,
1233         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
1234         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
1235         Next_Attribute.
1236         New package oriented subprograms: Package_Node_Id_Of,
1237         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
1238
1239         * prj-dect.adb (Parse_Attribute_Declaration,
1240         Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
1241
1242         * prj-makr.adb (Make): Parse existing project file before creating
1243         other files. Fail if there was an error during parsing.
1244
1245         * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
1246         new spec of Prj.Attr.
1247
1248         * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
1249         to new spec of Prj.Attr.
1250
1251 2004-07-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1252
1253         * utils2.c: Fix typo in comment.
1254
1255 2004-07-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1256
1257         * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
1258         * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
1259
1260 2004-07-14  Andreas Schwab  <schwab@suse.de>
1261
1262         * trans.c (gnat_init_stmt_group): Remove duplicate definition.
1263
1264 2004-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1265
1266         * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
1267         object type.
1268         (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
1269         TYPE_STUB_DECL.
1270
1271         * misc.c (gnat_types_compatible_p): New function.
1272         (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
1273         (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
1274
1275         * trans.c (gigi): Move processing of main N_Compilation_Unit here.
1276         (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
1277         (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
1278         (mark_visited): Don't mark dummy type.
1279         (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
1280         parameter, we must remove any LJM building from GNU_NAME.
1281         (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
1282         (pos_to_constructor): Use int_const_binop.
1283         (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
1284         PARM_DECL.
1285
1286         * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
1287         (gnat_pushlevel): Set TREE_USE on BLOCK node.
1288         (gnat_install_builtins): Add __builtin_memset.
1289
1290 2004-07-13  Olivier Hainque  <hainque@act-europe.fr>
1291
1292         * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
1293         for a renaming, stabilize the initialization expression if we are at a
1294         local level.  At the local level, uses of the renaming may be performed
1295         by a direct dereference of the initializing expression, and we don't
1296         want possible variables there to be evaluated for every use.
1297
1298         * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
1299         Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
1300         them on the way.  Account for the fact that we may introduce side
1301         effects in the process.
1302
1303 2004-07-13  Richard Henderson  <rth@redhat.com>
1304
1305         * misc.c (default_pass_by_ref): Use pass_by_reference.
1306
1307 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
1308
1309         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
1310         LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
1311
1312 2004-07-08  Richard Henderson  <rth@redhat.com>
1313
1314         * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
1315         commentary.
1316
1317 2004-07-06  Vincent Celier  <celier@gnat.com>
1318
1319         * vms_conv.ads: Minor reformatting.
1320         Alphabetical order for enumerated values of type Command_Type, to have
1321         the command in alphabetical order for the usage.
1322
1323         * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
1324         the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
1325
1326         * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
1327
1328         * makegpr.adb (Global_Archive_Exists): New global Boolean variable
1329         (Add_Archive_Path): Only add the global archive if there is one.
1330         (Build_Global_Archive): Set Global_Archive_Exists depending if there is
1331         or not any object file to put in the global archive, and don't build
1332         a global archive if there is none.
1333         (X_Switches): New table
1334         (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
1335         in the X_Switches table, if any.
1336         (Initialize): Make sure the X_Switches table is empty
1337         (Scan_Arg): Record -X switches in table X_Switches
1338
1339         * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
1340
1341         * make.adb: Minor comment fix
1342
1343         * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
1344         invoked with directory information, add the directory in front of the
1345         path.
1346
1347         * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
1348         invoked with directory information, add the directory in front of the
1349         path.
1350
1351         * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
1352         when Keep_Temporary_Files is False.
1353         (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
1354         directory information, add the directory in front of the path.
1355         When not on VMS, handle new switch -dn before the command to set
1356         Keep_Temporary_Files to True.
1357         (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
1358         everywhere.
1359
1360         * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
1361         invoked with directory information, add the directory in front of the
1362         path.
1363
1364 2004-07-06  Thomas Quinot  <quinot@act-europe.fr>
1365
1366         * snames.ads, snames.adb (Name_Stub): New name for the distributed
1367         systems annex.
1368
1369         * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
1370         New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
1371
1372         * g-socket.adb (To_Timeval): Fix incorrect conversion of
1373         Selector_Duration to Timeval for the case of 0.0.
1374
1375         * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
1376         documentation from Evolve_And_Then.
1377
1378 2004-07-06  Jose Ruiz  <ruiz@act-europe.fr>
1379
1380         * s-taprop-tru64.adb, s-taprop-os2.adb,
1381         s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
1382
1383 2004-07-06  Robert Dewar  <dewar@gnat.com>
1384
1385         * s-osinte-hpux.ads, s-osinte-freebsd.ads,
1386         s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
1387         s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
1388         s-interr-sigaction.adb, s-taprop-irix-athread.adb,
1389         s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
1390         s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
1391         s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
1392         s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
1393         a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
1394         a-tags.ads, bindgen.ads, checks.adb, checks.adb,
1395         csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
1396         exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
1397         g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
1398         i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
1399         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
1400         sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
1401         sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
1402         s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
1403         s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
1404         s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
1405         vms_data.ads: Minor reformatting,
1406         Fix bad box comment format.
1407
1408         * gnat_rm.texi: Fix minor grammatical error
1409
1410         * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
1411
1412         * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
1413         more cases of discriminated records to be recognized as not needing a
1414         secondary stack.
1415         (Has_Access_Values): New function.
1416
1417         * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
1418
1419         * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
1420         Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
1421         with LRM terminology).
1422         Change terminology in comments primitive type => elementary type.
1423
1424 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
1425
1426         PR ada/15602
1427         * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
1428         parameters do not impose any requirements on the presence of a body.
1429
1430 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
1431
1432         PR ada/15593
1433         * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
1434         compilation unit and is in an open scope at the point of instantiation,
1435         assume that a body may be present later.
1436
1437 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
1438
1439         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
1440         Improve error message when specified size is not supported.
1441
1442         * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
1443         is never a primitive operation.
1444
1445 2004-07-05  Andreas Schwab  <schwab@suse.de>
1446
1447         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
1448         RECORD_OR_UNION_CHECK.
1449         (TYPE_CONTAINS_TEMPLATE_P): Likewise.
1450
1451 2004-07-04  Kelley Cook  <kcook@gcc.gnu.org>
1452
1453         * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
1454         dependency on xgnatugn, instead build it via a submake.
1455         (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
1456
1457 2004-07-04  Richard Henderson  <rth@redhat.com>
1458
1459         * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
1460
1461 2004-07-01  Richard Henderson  <rth@redhat.com>
1462
1463         * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
1464         * utils.c (max_size): Likewise.
1465
1466 2004-06-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1467
1468         * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
1469         and rest_of_type_compilation; add arg to create_*_decl.
1470         (annotate_decl_with_node): Deleted.
1471         (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
1472         * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
1473         (get_current_block_context, gnat_pushdecl): New declarations.
1474         (gnat_init_stmt_group): Likewise.
1475         (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
1476         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
1477         (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
1478         (gnat_init): Call gnat_init_stmt_group.
1479         * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
1480         (gnu_pending_elaboration_list): Deleted.
1481         (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
1482         (gigi): Rearrange initialization calls and move some to last above.
1483         (gnat_to_gnu): If statement and not in procedure, go into elab proc.
1484         Delete calls to add_decl_expr; add arg to create_*_decl.
1485         (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
1486         (gnat_to_gnu, case N_Subprogram_Body): Move some code to
1487         begin_subprog_body and call it.
1488         Don't push and pop ggc context.
1489         (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
1490         (add_stmt): Remove handling of DECL_EXPR from here.
1491         If not in function, mark visited.
1492         (add_decl_expr): Put global at top level.
1493         Check for cases of DECL_INITIAL we have to handle here.
1494         (process_type): Add extra arg to create_type_decl.
1495         (build_unit_elab): Rework to just gimplify.
1496         * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
1497         (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
1498         (get_pending_elaborations, pending_elaborations_p): Likewise.
1499         (push_pending_elaborations, pop_pending_elaborations): Likewise.
1500         (get_elaboration_location, insert_elaboration_list): Likewise.
1501         (gnat_binding_level): Renamed from ada_binding_level.
1502         (init_gnat_to_gnu): Don't clear pending_elaborations.
1503         (global_bindings_p): Treat as global if no current_binding_level.
1504         (set_current_block_context): New function.
1505         (gnat_pushdecl): Renamed from pushdecl; major rework.
1506         All callers changed.
1507         (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
1508         (finish_record_type): Call call pushdecl for stub decl.
1509         (function_nesting_depth): Deleted.
1510         (begin_subprog_body): Delete obsolete code.
1511         * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
1512
1513 2004-06-28  Robert Dewar  <dewar@gnat.com>
1514
1515         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
1516         mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
1517         mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
1518         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
1519         a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
1520
1521         * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
1522         deal with problem of inefficient slices on machines with strict
1523         alignment, when the slice is a component of a composite.
1524
1525         * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
1526         machines, we need the check there as well.
1527
1528 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
1529
1530         * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
1531         determine safe copying direction for overlapping slice assignments
1532         when component is controlled.
1533
1534         * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
1535         formal derived type in the actual for a formal package are visible in
1536         the enclosing instance.
1537
1538 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
1539
1540         PR ada/15600
1541         * sem_util.adb (Trace_Components): Diagnose properly an illegal
1542         circularity involving a private type whose completion includes a
1543         self-referential component.
1544         (Enter_Name): Use Is_Inherited_Operation to distinguish a source
1545         renaming or an instantiation from an implicit derived operation.
1546
1547 2004-06-28  Pascal Obry  <obry@gnat.com>
1548
1549         * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
1550         DLL.
1551         (Library_File_Name_For): Idem.
1552
1553 2004-06-28  Matthew Gingell  <gingell@gnat.com>
1554
1555         * g-traceb.ads: Add explanatory note on the format of addresses
1556         expected by addr2line.
1557
1558 2004-06-28  Jerome Guitton  <guitton@act-europe.fr>
1559
1560         * Makefile.in: Force debugging information on s-tasdeb.adb,
1561         a-except.adb and s-assert.adb needed by the debugger.
1562
1563 2004-06-28  Vincent Celier  <celier@gnat.com>
1564
1565         * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
1566         Need_To_Build_Lib.
1567         (Gnatmake): Ditto.
1568
1569         * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
1570
1571         * prj.adb: Minor reformatting
1572         (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
1573
1574         * prj.ads: Comment updates
1575         Minor reformatting
1576         (Project_Data): Change Flag1 to Need_To_Build_Lib.
1577         Remove Flag2: not used.
1578
1579         * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
1580         declaration.
1581
1582         * gnat_ugn.texi: Put a "null;" declaration in one project file example
1583
1584         * gnat_rm.texi: Document Empty declarations "null;".
1585
1586         * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
1587         front of the linker options.
1588         (Link_Foreign): Put the global archives and the libraries in front of
1589         the linker options.
1590
1591 2004-06-28  Javier Miranda  <miranda@gnat.com>
1592
1593         * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
1594         (RTU_Loaded): Code cleanup
1595         (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
1596         withed predefined units.
1597
1598         * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
1599         explicitly withed predefined units.
1600         Fix typo in comment
1601
1602         * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
1603         explicitly withed predefined units.
1604
1605 2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1606
1607         * ada-tree.def (DECL_STMT): Deleted.
1608         * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
1609         (DECL_STMT_VAR): Deleted.
1610         * decl.c: add_decl_stmt now add_decl_expr.
1611         * gigi.h: Likewise.
1612         * trans.c: Likewise.
1613         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
1614         (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
1615         (add_stmt): Only handle padded type here.
1616         (add_stmt_with_node): Allow gnat_node to not be present.
1617         (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
1618         (gnat_gimplify_stmt, case DECL_STMT): Deleted.
1619         (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
1620         make a SAVE_EXPR for the entire fat pointer.
1621         * utils.c (pushdecl): Walk a DECL_EXPR in global case.
1622         (create_index_type): Make a DECL_EXPR.
1623         (end_subprog_body): Don't call allocate_struct_function here but
1624         do clear cfun.
1625
1626 2004-06-25  Pascal Obry  <obry@gnat.com>
1627
1628         * makegpr.adb (Build_Library): Remove parameter Lib_Address and
1629         Relocatable from Build_Dynamic_Library call.
1630
1631         * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
1632         Relocatable are now synonym.
1633
1634         * Makefile.in: Use s-parame-mingw.adb on MingW platform.
1635
1636         * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
1637         Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
1638         call.
1639
1640         * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
1641         Lib_Address and Relocatable.
1642         (Default_DLL_Address): Removed.
1643
1644         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
1645         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
1646         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
1647         (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
1648         (Default_DLL_Address): Removed.
1649
1650         * mlib-tgt-mingw.adb: Ditto.
1651         (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
1652
1653         * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
1654         the initial thread stack size.
1655
1656         * a-strmap.ads: Move package L to private part as it is not used in
1657         the spec. Found while reading code.
1658
1659 2004-06-25  Olivier Hainque  <hainque@act-europe.fr>
1660
1661         * tracebak.c: Introduce support for a GCC infrastructure based
1662         implementation of __gnat_backtrace.
1663
1664         * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
1665         any more. Use accessors instead. This eases maintenance and relaxes
1666         some alignment constraints.
1667         (_GNAT_Exception structure): Remove the Ada specific fields
1668         (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
1669         a-exexpr.adb.
1670         (is_handled_by, __gnat_eh_personality): Replace component references to
1671         exception structure by use of the new accessors.
1672
1673         * init.c (__gnat_initialize): Adjust comments to match the just
1674         reverted meaning of the -static link-time option.
1675
1676         * adaint.c (convert_addresses): Arrange not to define a stub for
1677         mips-irix any more, as we now want to rely on a real version from a
1678         recent libaddr2line.
1679
1680         * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
1681         the personality routine can use them and not have to rely on a C
1682         counterpart of the record anymore. This simplifies maintenance and
1683         relaxes the constraint of having Standard'Maximum_Alignment match
1684         BIGGEST_ALIGNMENT.
1685         Update comments, and add a section on the common header alignment issue.
1686
1687 2004-06-25  Geert Bosch  <bosch@gnat.com>
1688
1689         * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
1690         polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
1691
1692 2004-06-25  Robert Dewar  <dewar@gnat.com>
1693
1694         * gnat_rm.texi: Fix section on component clauses to indicate that the
1695         restriction on byte boundary placement still applies for bit packed
1696         arrays.
1697         Add comment on stack usage from Initialize_Scalars
1698
1699         * gnat_ugn.texi: Add documentation for -gnatyLnnn
1700
1701         * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
1702         limiting nesting level.
1703
1704         * usage.adb: Add line for -gnatyLnnn switch
1705
1706         * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
1707         sem_ch13.adb, exp_aggr.adb: Minor reformatting
1708
1709         * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
1710         type as well as on the subtype. This corrects a problem in freeze in
1711         setting alignments of atomic types.
1712
1713         * sem_eval.ads: Minor comment typo fixed
1714
1715         * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
1716         level.  Minor reformatting.
1717
1718         * fname.adb (Is_Predefined_File_Name): Require a letter after the
1719         minus sign. This means that file names like a--b.adb will not be
1720         considered predefined.
1721
1722         * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
1723         record Test new flag and give diagnostic for bad component clause.
1724         (Freeze_Entity): Set alignment of array from component alignment in
1725         cases where this is safe to do.
1726
1727         * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
1728         arrays.
1729
1730         * cstand.adb: (Create_Standard): Set alignment of String to 1
1731
1732         * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
1733
1734         * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
1735         code in the common constrained array cases.
1736
1737         * a-storio.adb: Change implementation to avoid possible alignment
1738         problems on machines requiring strict alignment (data should be moved
1739         as type Buffer, not type Elmt).
1740
1741         * checks.adb (Apply_Array_Size_Check): Improve these checks by
1742         killing the overflow checks which we really do not need (64-bits is
1743         enough).
1744
1745 2004-06-25  Vincent Celier  <celier@gnat.com>
1746
1747         * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
1748         (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
1749         inconditionally for the main project.
1750         (Recursive_Add_Archives.Add_Archive_Path): New procedure
1751         (Link_Executables.Check_Time_Stamps): New procedure
1752         (Link_Executables.Link_Foreign): New procedure
1753         Changes made to reduce nesting level of this package
1754         (Check): New procedure
1755         (Add_Switches): When not in quiet output, check that a switch is not
1756         the concatenation of several valid switches. If it is, issue a warning.
1757         (Build_Global_Archive): If the global archive is rebuilt, linking need
1758         to be done.
1759         (Compile_Sources): Rebuilding a library archive does not imply
1760         rebuilding the global archive.
1761         (Build_Global_Archive): New procedure
1762         (Build_Library): New name for Build_Archive, now only for library
1763         project
1764         (Check_Archive_Builder): New procedure
1765         (Create_Global_Archive_Dependency_File): New procedure
1766         (Gprmake): Call Build_Global_Archive before linking
1767         * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
1768         throughout.
1769         (Scan_Arg): Display the Copyright notice when -v is used
1770
1771         * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
1772         for gnatls.
1773
1774         * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
1775         COMPILE.
1776         Add new GNAT LIST qualifier /FILES=
1777         Added qualifier /DIRECTORY= to GNAT METRIC
1778         Added qualifier /FILES= to GNAT METRIC
1779         Added qualifier /FILES to GNAT PRETTY
1780
1781         * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
1782         to take into account both versions of the switch.
1783
1784         * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
1785         always be the last switch to the gcc driver. Disable switch storing so
1786         that switches automatically added by the gcc driver are not put in the
1787         ALI file.
1788
1789         * prj.adb (Project_Empty): Take into account changes in components of
1790         Project_Data.
1791
1792         * prj.ads (Languages_Processed): New enumaration value All_Languages.
1793
1794         * prj.ads (Project_Data): Remove component Lib_Elaboration: never
1795         used. Split Boolean component Ada_Sources_Present in two Boolean
1796         components Ada_Sources_Present and Other_Sources_Present.
1797         Minor reformatting
1798
1799         * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
1800         instead of Sources_Present.
1801         (Set_Ada_Paths.Add.Recursive_Add): Ditto
1802
1803         * prj-nmsc.adb: Minor reformatting
1804         (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
1805         (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
1806         Check_Ada_Naming_Scheme.
1807         Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
1808         throughout.
1809
1810         * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
1811         In_Limited.
1812         Make sure that all cycles where there is at least one "limited with"
1813         are detected.
1814         (Parse_Single_Project): New Boolean parameter In_Limited
1815
1816         * prj-proc.adb (Recursive_Check): When Process_Languages is
1817         All_Languages, call first Prj.Nmsc.Ada_Check, then
1818         Prj.Nmsc.Other_Languages_Check.
1819
1820         * prj-proc.adb (Process): Use Ada_Sources_Present or
1821         Other_Sources_Present (instead of Sources_Present) depending on
1822         Process_Languages.
1823
1824         * lang-specs.h: Keep -g and -m switches in the same order, and as the
1825         last switches.
1826
1827         * lib.adb (Switch_Storing_Enabled): New global Boolean flag
1828         (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
1829         False.
1830         (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
1831         False.
1832
1833         * lib.ads (Disable_Switch_Storing): New procedure.
1834
1835         * make.adb: Modifications to reduce nesting level of this package.
1836         (Check_Standard_Library): New procedure
1837         (Gnatmake.Check_Mains): New procedure
1838         (Gnatmake.Create_Binder_Mapping_File): New procedure
1839         (Compile_Sources.Compile): Add switch -gnatez as the last option
1840         (Display): Never display -gnatez
1841
1842         * Makefile.generic:
1843         When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
1844
1845         * gnatcmd.adb (Check_Project): New function
1846         (Process_Link): New procedure to reduce nesting depth
1847         (Check_Files): New procedure to reduce the nesting depth.
1848         For GNAT METRIC, include the inherited sources in extending projects.
1849         (GNATCmd): When GNAT LS is invoked with a project file and no files,
1850         add the list of files from the sources of the project file. If this list
1851         is too long, put it in a temp text files and use switch -files=
1852         (Delete_Temp_Config_Files): Delete the temp text file that contains
1853         a list of source for gnatpp or gnatmetric, if one has been created.
1854         (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
1855         in the project file is too large, create a temporary text file that
1856         list them and pass it to the tool with "-files=<temp text file>".
1857         (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
1858
1859         * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
1860         generated file is in not in Ada.
1861
1862         * gnatls.adb: Remove all parameters And_Save that are no longer used.
1863         (Scan_Ls_Arg): Add processing for -files=
1864         (Usage): Add line for -files=
1865
1866         * g-os_lib.adb (On_Windows): New global constant Boolean flag
1867         (Normalize_Pathname): When on Windows and the path starts with a
1868         directory separator, make sure that the resulting path will start with
1869         a drive letter.
1870
1871         * clean.adb (Clean_Archive): New procedure
1872         (Clean_Project): When there is non-Ada code, delete the global archive,
1873         the archive dependency files, the object files and their dependency
1874         files, if they exist.
1875         (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
1876
1877 2004-06-25  Thomas Quinot  <quinot@act-europe.fr>
1878
1879         * sinfo.ads: Fix typo in comment.
1880
1881         * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
1882         the TSS for remote access-to-subprogram types, since these TSS are
1883         always present once the type has been analyzed.
1884         (RAS_E_Dereference): Same.
1885
1886         * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
1887         reference raises Bad_Attribute, mark the reference as analyzed so the
1888         node (and any children resulting from rewrites that could have occurred
1889         during the analysis that ultimately failed) is not analyzed again.
1890
1891         * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
1892
1893         * exp_dist.adb: Minor comment fix.
1894
1895         * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
1896         type is an anonymous access type, no unchecked deallocation of the
1897         allocated object can occur. If the object is controlled, attach it with
1898         a count of 1. This allows attachment to the Global_Final_List, if
1899         no other relevant list is available.
1900         (Get_Allocator_Final_List): For an anonymous access type that is
1901         the type of a discriminant or record component, the corresponding
1902         finalisation list is the one of the scope of the type.
1903
1904 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
1905
1906         * sem_ch3.adb (Replace_Type): When computing the signature of an
1907         inherited subprogram, use the first subtype if the derived type
1908         declaration has no constraint.
1909
1910         * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
1911         before applying previous optimization. Minor code cleanup.
1912
1913         * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
1914         placed at the beginning of an unpacked record without explicit
1915         alignment, a slice of it will be aligned and does not need a copy when
1916         used as an actual.
1917
1918 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
1919
1920         PR ada/15591
1921         PR ada/15592
1922         * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
1923         reference is written with expressions mimicking parameters.
1924
1925 2004-06-25  Hristian Kirtchev  <kirtchev@gnat.com>
1926
1927         PR ada/15589
1928         * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
1929         STEP 2a. The constraints of a full type declaration of a derived record
1930         type are checked for conformance with those declared in the
1931         corresponding private extension declaration. The message
1932         "not conformant with previous declaration" is emitted if an error is
1933         detected.
1934
1935 2004-06-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
1936
1937         * g-traceb.ads: Document the need for -E binder switch in the spec.
1938
1939         * g-trasym.ads: Document the need for -E binder switch in the spec.
1940
1941 2004-06-25  Jose Ruiz  <ruiz@act-europe.fr>
1942
1943         * sem_prag.adb: Add handling of pragma Detect_Blocking.
1944
1945         * snames.h, snames.ads, snames.adb: Add entry for pragma
1946         Detect_Blocking.
1947
1948         * s-rident.ads: Change reference to pragma Detect_Blocking.
1949
1950         * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
1951         system.ads.
1952
1953         * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
1954         to indicate whether pragma Detect_Blocking is active.
1955
1956         * par-prag.adb: Add entry for pragma Detect_Blocking.
1957
1958         * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
1959         of not handling WITH.
1960         Note that this replaces the previous update which was incorrect.
1961
1962 2004-06-25  Javier Miranda  <miranda@gnat.com>
1963
1964         * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
1965         use-clauses to have a clean environment.
1966
1967         * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
1968         the installation of the use-clauses to stablish a clean environment in
1969         case of compilation of a separate unit; otherwise the call to
1970         use_one_package is protected by the barrier Applicable_Use.
1971
1972         * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
1973         the installation of the use-clauses to stablish a clean environment in
1974         case of compilation of a separate unit.
1975         (End_Use_Clauses): Minor comment cleanup.
1976
1977 2004-06-25  Sergey Rybin  <rybin@act-europe.fr>
1978
1979         * gnat_ugn.texi: Add description of the gnatpp 'files' switch
1980
1981 2004-06-23  Richard Henderson  <rth@redhat.com>
1982
1983         * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
1984
1985 2004-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1986
1987         * decl.c (elaborate_expression, elaborate_expression_1): Arguments
1988         now bool instead of int.
1989         (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
1990         * trans.c (gnu_switch_label_stack): New function.
1991         (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
1992         elaboration of renamed entity returns.
1993         (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
1994         (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
1995         (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
1996         (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
1997         DECL_SIZE_UNIT and simplify variable-sized case.
1998         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
1999         Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
2000         (gnat_stabilize_reference): Add arg to COMPONENT_REF.
2001         (build_unit_elab): Disable for now.
2002         * utils.c (mark_visited): New function.
2003         (pushdecl): Walk tree to call it for global decl.
2004         (update_pointer_to): Update all variants of pointer and ref types.
2005         Add arg to COMPONENT_REF.
2006         (convert): Likewise.
2007         Move check for converting between variants lower down.
2008         * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
2009         (build_allocator): Don't force type of MODIFY_EXPR.
2010         (gnat_mark_addressable, case VAR_DECL): Unconditionally call
2011         put_var_into_stack.
2012
2013 2004-06-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2014
2015         * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
2016         * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
2017         * decl.c (gnat_to_gnu_entity): Also set force_global for imported
2018         subprograms.
2019         * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
2020         all callers changed.
2021         (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
2022         the way that EXIT_STMT finds the loop label.
2023         (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
2024         (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
2025         (add_stmt): Use annotate_with_locus insted of setting directly.
2026         (pos_to_construct): Set TREE_PURPOSE of each entry to index.
2027         (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
2028         * utils.c (gnat_install_builtins): Install __builtin_memcmp.
2029         (build_vms_descriptor): Add extra args to ARRAY_REF.
2030         (convert): Use VIEW_CONVERT_EXPR between aggregate types.
2031         * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
2032         New cases.
2033         (build_binary_op): Don't make explicit CONVERT_EXPR.
2034         Add extra rgs to ARRAY_REF.
2035
2036 2004-06-14  Pascal Obry  <obry@gnat.com>
2037
2038         * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
2039         Windows.  Fix minor typo.
2040
2041         * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
2042         which is now supported on Windows. With this implementation using the
2043         Library Project feature is no different on Windows than on UNIX.
2044
2045 2004-06-14  Vincent Celier  <celier@gnat.com>
2046
2047         * makegpr.adb (Compile_Sources): Nothing to do when there are no
2048         non-Ada sources.
2049
2050         * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
2051
2052         * prj-part.adb (Parse_Single_Project): When a duplicate project name is
2053         found, show the project name and the path of the previously parsed
2054         project file.
2055
2056 2004-06-14  Ed Schonberg  <schonberg@gnat.com>
2057
2058         * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
2059         array, avoid copying the actual before the call.
2060
2061 2004-06-14  Thomas Quinot  <quinot@act-europe.fr>
2062
2063         * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
2064         Instead, allocate memory on worst-case alignment assumptions, and then
2065         return an aligned address within the allocated zone.
2066
2067 2004-06-14  Robert Dewar  <dewar@gnat.com>
2068
2069         * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
2070         elab entities in predefined units in No_Run_Time_Mode.
2071         (Gen_Adainit_C): Same fix
2072         (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
2073         units in No_Run_Time_Mode
2074         (Gen_Elab_Calls_C): Same fix
2075
2076         * symbols-vms-alpha.adb: Minor reformatting
2077
2078         * g-debpoo.ads: Minor reformatting
2079
2080         * lib.adb (In_Same_Extended_Unit): Version working on node id's
2081
2082         * lib.ads (In_Same_Extended_Unit): Version working on node id's
2083
2084         * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
2085         working on nodes.
2086
2087         * make.adb: Minor reformatting
2088
2089         * par-ch12.adb: Minor reformatting
2090
2091         * par-prag.adb: Add dummy entry for pragma Profile_Warnings
2092
2093         * prj-strt.adb: Minor reformatting
2094
2095         * restrict.ads, restrict.adb: Redo handling of profile restrictions to
2096         be more general.
2097
2098         * sem_attr.adb: Minor reformatting
2099
2100         * sem_ch7.adb: Minor reformatting
2101
2102         * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
2103         for type in the same unit as the object declaration.
2104
2105         * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
2106         static string expressions and not just string literals.
2107         Minor reformatting
2108         (Set_Warning): Reset restriction warning flag for restriction pragma
2109         Implement pragma Profile_Warnings
2110         Implement pragma Profile (Restricted)
2111         Give obolescent messages for old restrictions and pragmas
2112
2113         * snames.h, snames.ads, snames.adb: Add new entry for pragma
2114         Profile_Warnings.
2115
2116         * s-rident.ads: Add declarations for restrictions required by profile
2117         Restricted and profile Ravenscar.
2118
2119         * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
2120
2121         * gnat_ugn.texi: Correct some missing entries in the list of GNAT
2122         configuration pragmas.
2123
2124 2004-06-11  Vincent Celier  <celier@gnat.com>
2125
2126         * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
2127         gnatsym, when symbol policy is Restricted.
2128
2129         * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
2130         gnatsym, when symbol policy is Restricted.
2131
2132         * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
2133         read the symbol file.
2134         (Finalize): Fail in symbol policy Restricted if a symbol in the original
2135         symbol file is not in the object files. Do not create a new symbol file
2136         when symbol policy is Restricted.
2137
2138         * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
2139         in Scng.
2140
2141         * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
2142         Restricted.
2143         (Usage): Line for new switch -R
2144
2145         * make.adb (Initialize): When the platform is not VMS, add the
2146         directory where gnatmake is invoked in the front of the path, if
2147         gnatmake is invoked with directory information.  Change the Scan_Args
2148         while loop to a for loop.
2149         (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
2150         if Depth is equal or greater than the proposed depth, there is nothing
2151         to do.
2152         (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
2153         instead of 0.
2154
2155         * prj.ads: Add new symbol policy Restricted.
2156
2157         * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
2158         with the new parameters Check_All_Labels and Case_Location.
2159
2160         * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
2161         (Library_Symbol_File needs to be defined).
2162
2163         * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
2164         and Case_Location If Check_All_Labels is True, check that all values of
2165         the string type are used, and output warning(s) if they are not.
2166
2167         * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
2168         and Case_Location.
2169
2170         * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
2171
2172         * gnat_ugn.texi: Update documentation about the library directory in
2173         Library Projects.
2174
2175         * makegpr.adb (Display_Command): In verbose mode, also display the
2176         value of the CPATH env var, when the compiler is gcc.
2177         (Initialize): Change the Scan_Args while loop to a for loop
2178         (Compile_Individual_Sources): Change directory to object directory
2179         before compilations.
2180
2181         * symbols.ads: New symbol policy Restricted.
2182
2183 2004-06-11  Olivier Hainque  <hainque@act-europe.fr>
2184
2185         * a-except.adb (Raise_After_Setup family): Remove. The responsibility
2186         is now taken care of internally in the Exception_Propagation package
2187         and does not require clients assistance any more.
2188
2189         * a-exexpr.adb (Is_Setup_And_Not_Propagated,
2190         Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
2191         functions. Helpers to maintain a predicate required in the handling of
2192         occurrence transfer between tasks.
2193         This is now handled internally and does not require clients assistance
2194         for the setup/propagate separation anymore.
2195         (Setup_Exception, Propagate_Exception): Simplify the Private_Data
2196         allocation strategy, handle the Setup_And_Not_Propagated predicate and
2197         document.
2198
2199         * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
2200         raise_after_setup, now that everything is handled internally within the
2201         setup/propagation engine.
2202
2203 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
2204
2205         * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
2206         Add additional conditions for the case of an actual being a simple
2207         name or literal. Improve inlining by preventing the generation
2208         of temporaries with a short lifetime (one use).
2209
2210 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
2211
2212         PR ada/15587
2213
2214         * einfo.ads: Minor comment updates for Has_Completion and
2215         E_Constant list of flags.
2216
2217         * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
2218         and constant redeclarations now set the Has_Completion flag of their
2219         defining identifiers.
2220
2221         * sem_ch7.adb (Analyze_Package_Spec): Add procedure
2222         Inspect_Deferred_Constant_Completion.
2223         Used to detect private deferred constants that have not been completed
2224         either by a constant redeclaration or pragma Import. Emits error message
2225         "constant declaration requires initialization expression".
2226
2227         * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
2228         completes a deferred constant.
2229
2230 2004-06-11  Geert Bosch  <bosch@gnat.com>
2231
2232         * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
2233
2234         * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
2235         calculating exponent for scaling denormal numbers.
2236         (Leading_Part): Properly raise Constraint_Error for zero or negative
2237         Adjustment.
2238         (Remainder): Properly raise Constraint_Error for zero divisor.
2239
2240 2004-06-11  Thomas Quinot  <quinot@act-europe.fr>
2241
2242         * sem_util.adb: Minor reformatting.
2243
2244         * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
2245         dereference when accessing the entry parameter record.
2246         (Check_Array_Type): Always check for possible implicit dereference.
2247         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
2248         Abort if a pointer is still present (denoting that an implicit
2249         dereference was left in the tree by the front-end).
2250
2251         * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
2252         dereference when accessing the entry parameter record.
2253         (Check_Array_Type): Always check for possible implicit dereference.
2254         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
2255         Abort if a pointer is still present (denoting that an implicit
2256         dereference was left in the tree by the front-end).
2257
2258 2004-06-11  Emmanuel Briot  <briot@act-europe.fr>
2259
2260         * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
2261         message, like the compiler itself does. Easier to parse the output.
2262
2263         * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
2264
2265         * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
2266         be base names, and not includes directories.
2267
2268 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
2269
2270         * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
2271         so that dependencies are properly taken into account by make.
2272
2273 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
2274
2275         PR ada/15622
2276         * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
2277         exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
2278
2279 2004-06-11  Jerome Guitton  <guitton@act-europe.fr>
2280
2281         * Makefile.in (install-gnatlib): install target-specific run-time files.
2282
2283         * Make-lang.in: Remove obsolete targets.
2284
2285 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
2286
2287         * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
2288         specification, to catch misuses of program unit names.
2289
2290         * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
2291         superfluous conversions in an instance.
2292
2293 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
2294
2295         PR ada/15403
2296
2297         * sem_ch12.adb (Save_References): If operator node has been folded to
2298         enumeration literal, associated_node must be discarded.
2299
2300 2004-06-11  Jose Ruiz  <ruiz@act-europe.fr>
2301
2302         * s-stchop-vxworks.adb: Add required pragma Convention to
2303         Task_Descriptor because it is updated by a C function.
2304
2305 2004-06-08  Arnaud Charlet  <charlet@act-europe.fr>
2306
2307         PR ada/15568
2308
2309         * Makefile.in: Remove target specific SO_OPT on IRIX
2310
2311 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2312
2313         * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
2314         (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
2315         (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
2316         (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
2317         (STMT_STMT, USE_STMT): New statement codes.
2318         (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
2319         * ada-tree.h: Reflect above changes.
2320         (struct tree_loop_id): Deleted.
2321         (union lang_tree_node, struct lang_decl, struct lang_type):
2322         Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
2323         and DECL_LANGUAGE_SPECIFIC to reflect these changes.
2324         (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
2325         (IS_ADA_STMT): New macro.
2326         * decl.c (annotate_decl_with_node): New function.
2327         (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
2328         (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
2329         Call add_stmt_with_node to do needed assignments.
2330         Add call to update setjmp buffer directly, not via EXPR_STMT.
2331         (maybe_variable): Argment GNAT_NODE deleted.
2332         * gigi.h (maybe_variable): Likewise.
2333         (make_transform, add_stmt_with_node, set_block_for_group): New.
2334         (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
2335         (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
2336         (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
2337         (set_lineno, set_lineno_from_sloc): Likewise.
2338         (record_code_position, insert_code_for): Likewise.
2339         (gnat_poplevel): Now returns void.
2340         (end_subprog_body): Now takes argument.
2341         * misc.c (cgraph.h, tree-inline.h): New includes.
2342         (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
2343         (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
2344         (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
2345         (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
2346         (gnat_parse_file): Don't set immediate_size_expand.
2347         Call cgraph functions.
2348         (gnat_expand_expr): Remove most cases.
2349         (record_code_position, insert_code_for): Remove from here.
2350         * trans.c (toplev.h, tree-gimple.h): Now included.
2351         (discard_file_names): Deleted.
2352         (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
2353         (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
2354         (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
2355         (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
2356         (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
2357         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
2358         (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
2359         (set_block_for_group, add_stmt_list): Likewise.
2360         (start_stmt_group): Renamed from start_block_stmt.
2361         (end_stmt_group): Likewise, from end_block_stmt.
2362         (build_stmt_group): Likewise, from build_block_stmt, also add arg.
2363         (gigi): Don't set discard_file_names or call set_lineno.
2364         Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
2365         (tree_transform): Deleted, now renamed to be gnat_to_gnu.
2366         Numerous changes throughout to reflect new names and complete
2367         function-at-a-time implementation.
2368         (gnat_expand_stmt): Delete or comment out all cases.
2369         (process_inlined_subprograms): Use add_stmt.
2370         (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
2371         call set_lineno; also remove unneeded block handling.
2372         (process_type): Remove unneeded block handling.
2373         (build_unit_elab): Remove calls to deleted functions.
2374         * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
2375         (tree-dump.h): Likewise.
2376         (struct ada_binding_level): Add field jmpbuf_decl.
2377         (gnat_define_builtin, gnat_install_builtins): New.
2378         (gnat_gimplify_function, gnat_finalize): Likewise.
2379         (gnat_poplevel): No longer return BLOCK, set it instead.
2380         Remove code dealing with nested functions.
2381         (gnat_init_decl_processing): Also set size_type_node.
2382         Call gnat_install_builtins.
2383         (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
2384         (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
2385         Remove special-case for "main".
2386         (end_subprog_body): Add arg and rework for tree-ssa.
2387         (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
2388         Add case for BOOLEAN_TYPE.
2389         * utils2.c (rtl.h): Now include.
2390         (build_call_raise): Test Debug_Flag_NN directly.
2391         (build_call_alloc_dealloc): Don't use local stack allocation for now.
2392         (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
2393         (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
2394
2395 2004-06-07  Robert Dewar  <dewar@gnat.com>
2396
2397         * a-direct.ads, einfo.ads: Minor comment updates
2398
2399         * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
2400         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
2401         s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
2402         s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
2403         s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
2404
2405         * s-interr-sigaction.adb: Remove unreferenced variable
2406         (Attached_Interrupts).  Minor reformatting.
2407         Avoid use of variable I (replace by J).
2408
2409         * par-ch10.adb: Fix text of one error message
2410
2411         * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
2412         exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
2413         exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
2414         opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
2415         par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
2416         par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
2417         sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
2418         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
2419         sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
2420         sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
2421         snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
2422         2005 support.
2423
2424 2004-06-07  Doug Rupp  <rupp@gnat.com>
2425
2426         * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
2427
2428         * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
2429
2430         * mlib-tgt-vms-ia64.adb: New file.
2431
2432         * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
2433         Add mlib-tgt-vms-ia64.adb
2434         Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
2435         Move to alpha specific ifeq section.
2436         Add VMS specific versions of symbols.adb
2437         Renaming of 5q vms files.
2438
2439         * 5qsystem.ads renamed to system-vms_64.ads.
2440
2441 2004-06-07  Vincent Celier  <celier@gnat.com>
2442
2443         * a-calend.ads: Add a GNAT Note comment after function Time_Of to
2444         explain that when a time of day corresponding to the non existing hour
2445         on the day switching to DST is specified, Split may return a different
2446         value for Seconds.
2447
2448         * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
2449         to GNAT PRETTY.
2450
2451         * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
2452         (Normalize_Pathname): Only resolve VMS logical names when on VMS.
2453
2454         * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
2455         to False.
2456         If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
2457         the linking options.
2458         (Build_Library.Check_Libs): On VMS, if there is a dependency on
2459         g-trasym.ads, set Gtrasymobj_Needed to True.
2460
2461         * prj-attr.adb: Add new package Metrics for gnatmetric
2462
2463         * prj-nmsc.adb (Record_Other_Sources): Put source file names in
2464         canonical case to take into account files with upper case characters on
2465         Windows.
2466         (Ada_Check): Load the reference symbol file name in the name buffer to
2467         check it, not the symbol file name.
2468
2469         * snames.ads, snames.adb: Add standard name Metrics (name of project
2470         file package for gnatmetric).
2471
2472         * vms_conv.ads: Add Metric to Comment_Type
2473
2474         * vms_conv.adb (Initialize): Add component dor Metric in Command_List
2475
2476         * vms_data.ads: Add qualifiers for GNAT METRIC
2477
2478         * makegpr.adb (Link_Executables): Take into account the switches
2479         specified in package Linker of the main project.
2480
2481 2004-06-07  Thomas Quinot  <quinot@act-europe.fr>
2482
2483         * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
2484         the index of the last element is Units.Last, not Units.Table'Last
2485         (which is usually not a valid index within the actually allocated
2486         storage for the table).
2487
2488         * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
2489         determines whether to generate a call to a checked storage pool
2490         Dereference action.
2491         Generate such a call only for a dereference that either comes from
2492         source, or is the result of rewriting a dereference that comes from
2493         source.
2494
2495 2004-06-07  Romain Berrendonner  <berrendo@act-europe.fr>
2496
2497         * bindgen.adb (Gen_Output_File): Add support for GAP builds.
2498
2499 2004-06-07  Eric Botcazou  <ebotcazou@act-europe.fr>
2500
2501         (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
2502         file level, elaborate the stride for inner dimensions in alignment
2503         units, not bytes.
2504
2505         * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
2506         in a comment.
2507
2508 2004-06-07  Javier Miranda  <miranda@gnat.com>
2509
2510         * exp_ch6.adb: Correct wrong modification in previous patch
2511
2512 2004-06-07  Vasiliy Fofanov  <fofanov@act-europe.fr>
2513
2514         * g-trasym.ads: Corrected comment to properly reflect level of support
2515         on VMS.
2516
2517 2004-06-07  Hristian Kirtchev  <kirtchev@gnat.com>
2518
2519         * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
2520         includes case of a variable referenced on the left hand side of an
2521         assignment, therefore remove redundant code. Variables and prefixes of
2522         indexed or selected components are now marked as referenced on left
2523         hand side. Warnings are now properly emitted when variables or prefixes
2524         are assigned but not read.
2525
2526         * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
2527         left hand side referenced variables. Private access types do not
2528         produce the warning "variable ... is assigned but never read".
2529         Add also additional checks to left hand side referenced variables.
2530         Aliased, renamed objects and access types do not produce the warning
2531         "variable ... is assigned but never read" since other entities may read
2532         the memory location.
2533
2534 2004-06-07  Jerome Guitton  <guitton@act-europe.fr>
2535
2536         * Makefile.in: In the powerpc/vxworks-specific section, restore
2537         EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
2538         by mistake).
2539
2540 2004-06-07  Ed Schonberg  <schonberg@gnat.com>
2541
2542         * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
2543         predefined operators.
2544         Removes spurious type errors from g-trasym-vms.adb.
2545
2546         * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
2547         distinct from the operator appearing in the source, call appropriate
2548         routine to insert conversions when needed, and complete resolution of
2549         node.
2550         (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
2551         interpretations for rewritten right operand.
2552         (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
2553         the other operand is overloaded and the context is a type conversion.
2554
2555 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2556
2557         * ada-tree.def (BLOCK_STMT): Now has two operands.
2558         (BREAK_STMT): New.
2559
2560         * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
2561
2562         * gigi.h: (gnat_poplevel): Now returns a tree.
2563
2564         * trans.c (end_block_stmt): Add arg; all callers changed.
2565         (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
2566         (start_block_stmt): Clear BLOCK_STMT_BLOCK.
2567         (add_stmt): Set TREE_TYPE.
2568         (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
2569         (gnat_expand_stmt, case BREAK_STMT): New case.
2570
2571         * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
2572
2573 2004-06-07  Jose Ruiz  <ruiz@act-europe.fr>
2574
2575         * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
2576         procedure Set_Stack_Size that is not needed.
2577
2578 2004-06-07  Sergey Rybin  <rybin@act-europe.fr>
2579
2580         * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
2581         used for gnatpp input file and for the files upon which it depends
2582
2583 2004-06-07  Ben Brosgol  <brosgol@gnat.com>
2584
2585         * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
2586
2587 2004-06-07  Arnaud Charlet  <charlet@act-europe.fr>
2588
2589         * gnatvsn.ads: Bump version numbers appropriately.
2590         Add new build type.
2591
2592 2004-06-07  Pascal Obry  <obry@gnat.com>
2593
2594         * gnat_ugn.texi: Improve comments about imported names and link names
2595         on Windows. Add a note about the requirement to use -k gnatdll's option
2596         when working with a DLL which has stripped stdcall symbols (no @nn
2597         suffix).
2598
2599 2004-05-27  Vincent Celier  <celier@gnat.com>
2600
2601         * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
2602         COMMENTS_LAYOUT=UNTOUCHED
2603
2604         * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
2605         symbols-vms-alpha.adb
2606
2607 2004-05-27  Thomas Quinot  <quinot@act-europe.fr>
2608
2609         * sem.ads: Clarify documentation on checks suppression.
2610
2611         * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
2612
2613 2004-05-27  Ed Schonberg  <schonberg@gnat.com>
2614
2615         * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
2616         the case of multiple derivations.
2617         (Is_Object_Reference): For a selected component, verify that the prefix
2618         is itself an object and not a value.
2619
2620         * sem_ch12.adb (Same_Instantiated_Constant): New name for
2621         Same_Instantiated_Entity.
2622         (Same_Instantiated_Variable): Subsidiary to
2623         Check_Formal_Package_Instance, to recognize actuals for in-out generic
2624         formals that are obtained from a previous formal package.
2625         (Instantiate_Subprogram_Body): Emit proper error when
2626         generating code and the proper body of a stub is missing.
2627
2628         * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
2629         has a universal interpretation, do the disambiguation here.
2630
2631         * exp_ch4.adb (Expand_N_Type_Conversion,
2632         Expand_N_Unchecked_Type_Conversion): Special handling when target type
2633         is Address, to avoid typing anomalies when Address is a visible integer
2634         type.
2635
2636         * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
2637         to determine whether a subprogram should not be marked Pure, even when
2638         declared in a pure package.
2639
2640 2004-05-27  Jose Ruiz  <ruiz@act-europe.fr>
2641
2642         * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
2643
2644         * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
2645         Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
2646         Update the documentation about the Ravenscar profile, following the
2647         definition found in AI-249.
2648
2649         * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
2650         setting the Profile (Ravenscar). This must be done in addition to
2651         setting the required restrictions.
2652
2653         * rtsfind.ads: Add the set of operations defined in package
2654         Ada.Interrupts.
2655
2656         * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
2657         restriction.
2658
2659 2004-05-27  Eric Botcazou  <ebotcazou@act-europe.fr>
2660
2661         lang-specs.h: Always require -c or -S and always redirect to /dev/null
2662         if -gnatc or -gnats is passed.
2663
2664 2004-05-27  Hristian Kirtchev  <kirtchev@gnat.com>
2665
2666         * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
2667         a significant reference. Warnings are now properly emitted when a
2668         discriminated type is not referenced.
2669
2670         * lib-xref.adb (Generate_Reference): A deferred constant completion,
2671         record representation clause or record type discriminant does not
2672         produce a reference to its corresponding entity. Warnings are now
2673         properly emitted when deferred constants and record types are not
2674         referenced.
2675
2676 2004-05-27  Geert Bosch  <bosch@gnat.com>
2677
2678         * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
2679         Fixes ACATS Annex G tests.
2680
2681 2004-05-27  Robert Dewar  <dewar@gnat.com>
2682
2683         * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
2684         handling WITH
2685
2686 2004-05-27  Arnaud Charlet  <charlet@act-europe.fr>
2687
2688         * s-interr.adb (Server_Task): Take into account case of early return
2689         from sigwait under e.g. linux.
2690
2691 2004-05-27  Sergey Rybin  <rybin@act-europe.fr>
2692
2693         * gnat_ugn.texi: Add description for the new gnatpp options:
2694          -rnb - replace the original source without creating its backup copy
2695          -c0 - do not format comments
2696
2697 2004-05-24  Geert Bosch  <bosch@gnat.com>
2698
2699         * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
2700         with 192 bits of precision, sufficient to reduce a double-extended
2701         arguments X with a maximum relative error of T'Machine_Epsilon, for X
2702         in -2.0**32 .. 2.0**32.
2703         (Cos, Sin):  Always reduce arguments of 1/4 Pi or larger, to prevent
2704         reduction by the processor, which only uses a 68-bit approximation of
2705         Pi.
2706         (Tan): Always reduce arguments and compute function either using
2707         the processor's fptan instruction, or by dividing sin and cos as needed.
2708
2709 2004-05-24  Doug Rupp  <rupp@gnat.com>
2710
2711         * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
2712         gcc error on 32/64 bit VMS.
2713
2714 2004-05-24  Olivier Hainque  <hainque@act-europe.fr>
2715
2716         * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
2717         since this is what we get for stack overflows although not documented
2718         as such.
2719         Document the issues which may require adjustments to our signal
2720         handlers.
2721
2722 2004-05-24  Ed Schonberg  <schonberg@gnat.com>
2723
2724         * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
2725         enclosing dynamic scope if the instantiation is within a generic unit.
2726
2727 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
2728
2729         * exp_dbug.ads: Fix typo.
2730
2731         * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
2732         Rename it to its proper name: system-linux-ia64.ads
2733         (stamp-gnatlib1): Remove extra target specific run time files when
2734         setting up the rts directory.
2735
2736 2004-05-24  Javier Miranda  <miranda@gnat.com>
2737
2738         * einfo.ads, einfo.adb (Limited_Views): Removed.
2739         (Limited_View): New attribute that replaces the previous one. It is
2740         now a bona fide package with the limited-view list through the
2741         first_entity and first_private attributes.
2742
2743         * sem_ch10.adb (Install_Private_With_Clauses): Give support to
2744         limited-private-with clause.
2745         (Install_Limited_Withed_Unit): Install the private declarations of a
2746         limited-private-withed package. Update the installation of the shadow
2747         entities according to the new structure (see Build_Limited_Views)
2748         (Build_Limited_Views): Replace the previous implementation of the
2749         limited view by a package entity that references the first shadow
2750         entity plus the first shadow private entity (required for limited-
2751         private-with clause)
2752         (New_Internal_Shadow_Entity): Code cleanup.
2753         (Remove_Limited_With_Clause): Update the implementation to undo the
2754         new work carried out by Build_Limited_Views.
2755         (Build_Chain): Complete documentation.
2756         Replace Ada0Y by Ada 0Y in comments
2757         Minor reformating
2758
2759         * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
2760         types the level of accessibility depends on the enclosing type
2761         declaration.
2762
2763         * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
2764         entities. Complete documentation of previous change.
2765
2766 2004-05-24  Robert Dewar  <dewar@gnat.com>
2767
2768         * namet.adb: Minor reformatting
2769         Avoid use of name I (replace by J)
2770         Minor code restructuring
2771
2772         * sem_ch6.adb: Minor reformatting
2773
2774         * lib-writ.adb: Do not set restriction as active if this is a
2775         Restriction_Warning case.
2776
2777         * sem_prag.adb: Reset restriction warning flag if real pragma
2778         restriction encountered.
2779
2780         * s-htable.adb: Minor reformatting
2781         Change rotate count to 3 in Hash (improves hash for small strings)
2782
2783         * 5qsystem.ads: Add comments for type Address (no literals allowed).
2784
2785         * gnat_ugn.texi: Add new section of documentation "Code Generation
2786         Control", which describes the use of -m switches.
2787
2788 2004-05-24  Eric Botcazou  <ebotcazou@act-europe.fr>
2789
2790         trans.c (tree_transform) <N_Identifier>: Do the dereference directly
2791         through the DECL_INITIAL for renamed variables.
2792
2793 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
2794
2795         * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
2796
2797 2004-05-19  Joel Brobecker  <brobecker@gnat.com>
2798
2799         * exp_dbug.ads: Correct comments concerning handling of overloading,
2800         since we no longer use $ anymore.
2801
2802 2004-05-19  Sergey Rybin  <rybin@act-europe.fr>
2803
2804         * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
2805         ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
2806         with illegal subunits.
2807
2808 2004-05-19  Ed Schonberg  <schonberg@gnat.com>
2809
2810         * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
2811         body with front-end inlining enabled, check whether an inline pragma
2812         appears immediately after the body and applies to it.
2813
2814         * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
2815         enabled and the pragma appears after the body of the subprogram.
2816
2817 2004-05-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2818
2819         Part of function-at-a-time conversion
2820
2821         * misc.c (adjust_decl_rtl): Deleted.
2822         (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
2823         Define.
2824
2825         * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
2826         (add_decl_stmt, add_stmt, block_has_vars): New functions.
2827         (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
2828
2829         * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
2830         when making a decl.
2831         (gnat_to_gnu_entity): Likewise.
2832         Use add_stmt to update setjmp buffer.
2833         Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
2834         flush_addressof.
2835         No longer call adjust_decl_rtl.
2836         (DECL_INIT_BY_ASSIGN_P): New macro.
2837         (DECL_STMT_VAR): Likewise.
2838
2839         * trans.c (gigi): Call start_block_stmt to make the outermost
2840         BLOCK_STMT.
2841         (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
2842         Call start_block_stmt and end_block_stmt temporarily.
2843         Use gnat_expand_stmt instead of expand_expr_stmt.
2844         (add_decl_stmt): New function.
2845         (tree_transform): Call it.
2846         (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
2847         (end_block_stmt): Set type and NULL_STMT.
2848         (gnat_expand_stmt): Make recursize call instead of calling
2849         expand_expr_stmt.
2850         (gnat_expand_stmt, case DECL_STMT): New case.
2851         (set_lineno_from_sloc): Do nothing if global.
2852         (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
2853         (start_block_stmt, add_stmt, end_block_stmt): New functions.
2854         (build_block_stmt): Call them.
2855         (gnat_to_code): Don't expand NULL_STMT.
2856         (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
2857         args.
2858         (tree_transform): Likewise.
2859         (tree_transform, case N_Null_Statement): Return NULL_STMT.
2860         (gnat_expand_stmt, case NULL_STMT): New case.
2861         (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
2862         IF_STMT_TRUE.
2863
2864         * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
2865         TREE_ADDRESSABLE.
2866
2867         * utils.c (create_var_decl): Do not call expand_decl or
2868         expand_decl_init.
2869         Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
2870         Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
2871         here.
2872         (struct e_stack): Add chain_next to GTY.
2873         (struct binding_level): Deleted.
2874         (struct ada_binding_level): New struct.
2875         (free_block_chain): New.
2876         (global_binding_level, clear_binding_level): Deleted.
2877         (global_bindings_p): Rework to see if no chain.
2878         (kept_level_p, set_block): Deleted.
2879         (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
2880         new data structure and work directly on BLOCK node.
2881         (gnat_poplevel): Similarly.
2882         (get_decls): Look at BLOCK_VARS.
2883         (insert_block): Work directly on BLOCK node.
2884         (block_has_var): New function.
2885         (pushdecl): Rework for new binding structures.
2886         (gnat_init_decl_processing): Rename and rework calls to pushlevel and
2887         poplevel.
2888         (build_subprog_body): Likewise.
2889         (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
2890
2891         * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
2892
2893         * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
2894         (DECL_STMT_VAR): Likewise.
2895
2896 2004-05-17  Robert Dewar  <dewar@gnat.com>
2897
2898         * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
2899         procedure
2900
2901         * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
2902         of restriction synonyums by using
2903         Restrict.Process_Restriction_Synonyms.
2904
2905         * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
2906
2907         * s-restri.ads (Tasking_Allowed): Correct missing comment
2908
2909         * s-rident.ads: Add entries for restriction synonyms
2910
2911         * ali.adb: Fix some problems with badly formatted ALI files that can
2912         result in infinite loops.
2913
2914         * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
2915         s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
2916         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
2917         s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
2918         s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
2919         s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
2920         s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
2921         s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
2922         s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
2923         a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
2924         exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
2925         s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
2926         s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
2927         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
2928         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
2929         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
2930         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
2931         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
2932         s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
2933         s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
2934         to Task_Id (minor cleanup).
2935
2936 2004-05-17  Vincent Celier  <celier@gnat.com>
2937
2938         * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
2939         directory separator.
2940
2941         * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
2942         project being extended, if Languages is not declared in extending
2943         project.
2944
2945 2004-05-17  Javier Miranda  <miranda@gnat.com>
2946
2947         * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
2948         limited view of a visible sibling.
2949
2950 2004-05-14  Robert Dewar  <dewar@gnat.com>
2951
2952         * gnat_ugn.texi: Minor change to -gnatS documentation
2953
2954         * sprint.adb: Remove some instances of Assert (False) and for this
2955         purpose replace them by output of a ??? string.
2956
2957         * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
2958         Assert (False).
2959
2960         * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
2961         flag processing. This was suppressing required dependencies in
2962         No_Run_Time mode and is not needed since the binder does not generate
2963         references for things in libgnat anyway.
2964
2965         * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
2966         warning.
2967
2968 2004-05-14  Thomas Quinot  <quinot@act-europe.fr>
2969
2970         * gnat_ugn.texi: Document AIX-specific issue with initialization of
2971         resolver library.
2972
2973         * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
2974         action for the case of an actual parameter in an init proc call.
2975
2976 2004-05-14  Ed Schonberg  <schonberg@gnat.com>
2977
2978         * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
2979         subtype, check visible entities in base type.
2980
2981         * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
2982         actions if the object is a renaming.
2983
2984         * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
2985         Check_Formal_Package_Instance, to determine more precisely when the
2986         formal and the actual denote the same entity.
2987
2988 2004-05-14  Javier Miranda  <miranda@gnat.com>
2989
2990         * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
2991
2992         * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
2993         corresponding to a private_with must be removed from visibility; it
2994         will be made visible later, just before we analyze the private part of
2995         the package.
2996         (Check_Private_Child_Unit): Allow private_with clauses in public
2997         siblings.
2998         (Install_Siblings): Make visible the private entities of private-withed
2999         siblings.
3000         (Install_Withed_Unit): Do not install the private withed unit if we
3001         are compiling a package declaration and the Private_With_OK flag was
3002         not set by the caller. These declarations will be installed later,
3003         just before we analyze the private part of the package.
3004
3005         * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
3006         during the evaluation of the expression that initializes the object,
3007         decorate it with the expected type to avoid cascade errors.
3008         Code cleanup.
3009
3010         * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
3011         subprogram we have to install the private_with clauses after its
3012         specification has been analyzed (as documented in AI-262.TXT).
3013
3014         * sem_ch8.adb (Has_Private_With): New function. Determines if the
3015         current compilation unit has a private with on a given entity.
3016         (Find_Direct_Name): Detect the Beaujolais problem described in
3017         AI-262.TXT
3018
3019         * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
3020         provides the functionality of the function Is_Ancestor that was
3021         previously available in sem_ch10. It has been renamed to avoid
3022         overloading.
3023
3024         * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
3025
3026 2004-05-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3027
3028         * utils.c (build_vms_descriptor): Use SImode pointers.
3029
3030 2004-05-14  Vasiliy Fofanov  <fofanov@act-europe.fr>
3031
3032         * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
3033
3034 2004-05-14  GNAT Script  <nobody@gnat.com>
3035
3036         * Make-lang.in: Makefile automatically updated
3037
3038 2004-05-14  Arnaud Charlet  <charlet@act-europe.fr>
3039
3040         Renaming of target specific files for clarity
3041
3042         * Makefile.in: Rename GNAT target specific files.
3043
3044         * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
3045         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
3046         3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
3047         3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
3048         3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
3049         3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
3050         42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
3051         4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
3052         4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
3053         4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
3054         4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
3055         4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
3056         51osinte.adb, 51osinte.ads, 51system.ads,
3057         52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
3058         55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
3059         56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
3060         56tpopsp.adb, 57system.ads, 58system.ads,
3061         5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
3062         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
3063         5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
3064         5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
3065         5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
3066         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
3067         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
3068         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
3069         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
3070         5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
3071         5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
3072         5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
3073         5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
3074         5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
3075         5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
3076         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
3077         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
3078         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
3079         5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
3080         5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
3081         5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
3082         5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
3083         5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
3084         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
3085         5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
3086         5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
3087         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
3088         5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
3089         5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
3090         5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
3091         5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
3092         5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
3093         5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
3094         5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
3095         5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
3096         5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
3097         7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
3098         7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
3099         7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
3100         7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
3101
3102         * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
3103         a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
3104         a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
3105         a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
3106         a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
3107         a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
3108         a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
3109         a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
3110         a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
3111         a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
3112         g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
3113         g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
3114         g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
3115         g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
3116         g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
3117         g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
3118         g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
3119         g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
3120         interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
3121         mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
3122         mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
3123         mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
3124         s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
3125         s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
3126         s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
3127         s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
3128         s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
3129         s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
3130         s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
3131         s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
3132         s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
3133         s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
3134         s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
3135         s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
3136         s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
3137         s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
3138         s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
3139         s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
3140         s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
3141         s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
3142         s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
3143         s-osinte-vms.ads, s-osinte-vxworks.adb,
3144         s-osinte-vxworks.ads, s-osprim-mingw.adb,
3145         s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
3146         s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
3147         s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
3148         s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
3149         s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
3150         s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
3151         s-stchop-vxworks.adb, s-taprop-dummy.adb,
3152         s-taprop-hpux-dce.adb, s-taprop-irix.adb,
3153         s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
3154         s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
3155         s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
3156         s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
3157         s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
3158         s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
3159         s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
3160         s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
3161         s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
3162         s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
3163         s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
3164         s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
3165         s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
3166         s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
3167         s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
3168         s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
3169         s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
3170         symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
3171         system-hpux.ads, system-interix.ads, system-irix-n32.ads,
3172         system-irix-o32.ads, system-linux-x86_64.ads,
3173         system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
3174         system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
3175         system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
3176         system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
3177         system-vxworks-alpha.ads, system-vxworks-m68k.ads,
3178         system-vxworks-mips.ads, system-vxworks-ppc.ads,
3179         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
3180         above.
3181
3182 2004-05-13  Zack Weinberg  <zack@codesourcery.com>
3183
3184         * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
3185
3186 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
3187
3188         Merge from tree-ssa-20020619-branch.
3189
3190         * config-lang.in (boot_language, build_by_default): Set
3191         to no.
3192         * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
3193         (max_size): Add static chain op for call_expr.
3194
3195 2004-05-12  Richard Sandiford  <rsandifo@redhat.com>
3196
3197         PR target/15331
3198         * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
3199
3200 2004-05-11  Roger Sayle  <roger@eyesopen.com>
3201
3202         * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
3203         COND_EXPR.
3204
3205 2004-05-10  Doug Rupp  <rupp@gnat.com>
3206
3207         * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
3208         system.aux_dec.
3209
3210         * s-auxdec.ads: Add Short_Address subtype (moved here from System).
3211
3212         * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
3213
3214         * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
3215         Fixes undefined symbols in IA64 gnatlib.
3216
3217         * 5vinmaop.adb: Reference s-auxdec for Short_Address.
3218
3219         * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
3220         Short_Address). This will be moved to system.auxdec.
3221
3222 2004-05-10  Thomas Quinot  <quinot@act-europe.fr>
3223
3224         * sem_util.adb: Replace test for presence of a node that is always
3225         present with a call to Discard_Node.
3226
3227         * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
3228         Analyze on the library unit node after generation of distribution stub
3229         constructs.  The call was a no-op because Unit_Node has already been
3230         Analyzed, and the tree fragments for the distribution stubs are
3231         analyzed as they are inserted in Exp_Dist.
3232         Update comment regarding to distribution stubs to reflect that we
3233         do not generate stub in separate files anymore.
3234
3235         * einfo.ads: Clarify the fact that a tagged private type has the
3236         E_Record_Type_With_Private Ekind.
3237
3238         * erroutc.adb: Minor reformatting
3239
3240         * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
3241         values if line length is increased using -gnatyM (noticed during code
3242         reading).
3243
3244         * eval_fat.adb: Minor reformatting
3245         Put spaces around exponentiation operator
3246
3247 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
3248
3249         PR ada/15005
3250         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
3251         has been rewritten as an explicit dereference, retrieve type of
3252         original node to check for possibly unconstrained record type.
3253
3254 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
3255
3256         * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
3257         overriding, use the operation of the parent unconditionally.
3258
3259         * sem_ch4.adb (Remove_Address_Interpretations): Remove address
3260         operation when either operand is a literal, to avoid further
3261         ambiguities.
3262
3263         * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
3264         overridden by a previous explicit declaration, mark the previous entity
3265         as overriding.
3266
3267         * sem_disp.adb (Check_Dispatching_Operation): New predicate
3268         Is_Visibly_Controlled, to determine whether a declaration of a
3269         primitive control operation for a derived type overrides an inherited
3270         one. Add warning if the explicit declaration does not override.
3271
3272 2004-05-10  Vincent Celier  <celier@gnat.com>
3273
3274         * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
3275         some cases when the sources are no longer present.
3276
3277         * make.adb (Collect_Arguments): Fail if an external source, not part
3278         of any project need to be compiled, when switch -x has not been
3279         specified.
3280
3281         * makeusg.adb: Document new switch -x
3282
3283         * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
3284         defaulted to False.
3285
3286         * switch-m.adb (Scan_Make_Switches): New switch -x
3287
3288         * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
3289         gnatmake switch -x.
3290
3291         * gnat_ugn.texi: Document new gnatmake switch -x
3292
3293 2004-05-10  Eric Botcazou  <ebotcazou@act-europe.fr>
3294
3295         * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
3296
3297         * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
3298         (process_attributes): Likewise.
3299
3300 2004-05-10  Joel Brobecker  <brobecker@gnat.com>
3301
3302         * s-inmaop.ads: Fix spelling mistake in one of the comments.
3303
3304 2004-05-10  Robert Dewar  <dewar@gnat.com>
3305
3306         * gnat_ugn.texi: Document that for config pragma files, the maximum
3307         line length is always 32767.
3308
3309         * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
3310         literals is now allowed.
3311
3312         * gnat-style.texi: Remove statement about splitting long lines before
3313         an operator rather than after, since we do not follow this rule at all.
3314         Clarify rule (really lack of rule) for spaces around exponentiation
3315
3316         * sem_elim.adb: Allow concatenation of string literals as well as a
3317         single string literal for pragma arguments.
3318
3319         * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
3320
3321         * a-textio.adb (Terminate_Line): Do not add line feed if nothing
3322         written for append case.
3323
3324         * frontend.adb: Changes to avoid checking max line length in config
3325         pragma files.
3326
3327         * g-os_lib.ads: Minor reformatting
3328
3329         * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
3330         wrong in any case. Instead use standard value. Noticed during code
3331         reading.
3332
3333         * opt.ads (Max_Line_Length): New field, used to implement removal of
3334         limitation on length of lines when scanning config pragma files.
3335
3336         * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
3337         makeutl.ads, makeutl.adb: Minor reformatting
3338
3339         * scn.adb: Do not check line length while scanning config pragma files
3340         Do not check line length while scanning out license information
3341
3342         * scng.adb: Changes to avoid line length checks while parsing config
3343         pragma files.
3344
3345 2004-05-10  GNAT Script  <nobody@gnat.com>
3346
3347         * Make-lang.in: Makefile automatically updated
3348
3349 2004-05-05  Arnaud Charlet  <charlet@act-europe.fr>
3350
3351         * osint.adb (Find_Program_Name): Fix handling of VMS version
3352         number.
3353
3354 2004-05-05  Emmanuel Briot  <briot@act-europe.fr>
3355
3356         * g-os_lib.ads (Invalid_Time): New constant
3357
3358         * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
3359         return OS_Time instead of time_t to match what is imported by Ada.
3360         Now return -1 if the file doesn't exist, instead of a random value
3361
3362 2004-05-05  Robert Dewar  <dewar@gnat.com>
3363
3364         * usage.adb: Add line for -gnatR?s switch
3365
3366         * sem_ch13.adb, exp_ch2.adb: Minor reformatting
3367
3368         * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
3369         and for Match (Data_First, Data_last)
3370
3371         * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
3372         written when we are dealing with multi-unit files.
3373
3374 2004-05-05  Jerome Guitton  <guitton@act-europe.fr>
3375
3376         * Makefile.in: Remove unused targets and variables.
3377
3378 2004-05-05  Vincent Celier  <celier@gnat.com>
3379
3380         * switch-m.adb: New gnatmake switch -eI
3381
3382         * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
3383         of new gnatmake switch -eInnn.
3384
3385         * makegpr.adb: Take into account new parameters Index and Src_Index in
3386         Prj.Util.
3387
3388         * clean.adb: Implement support for multi-unit sources, including new
3389         switch -i.
3390
3391         * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
3392         Src_Index.
3393
3394         * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
3395         (Extract_From_Q): New out parameter Index
3396         (Mark, Is_Marked): Subprograms moved to Makeutl
3397         (Switches_Of): New parameter Source_Index
3398         (Add_Switch): New parameter Index
3399         (Check): New parameter Source_Index
3400         (Collect_Arguments): New parameter Source_Index
3401         (Collect_Arguments_And_Compile): New parameter Source_Index
3402         (Compile): New parameter Source_Index
3403         Put subprograms in alphabetical order
3404         Add support for multi-source sources, including in project files.
3405
3406         * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
3407         (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
3408         Make.
3409
3410         * makeusg.adb: New gnatmake switch -eInnn
3411
3412         * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
3413         Prj.Util.Value_Of.
3414
3415         * opt.ads (Main_Index): New variable, defaulted to 0.
3416
3417         * osint.ads, osinte.adb (Add_File): New parameter Index
3418         (Current_Source_Index): New function
3419
3420         * prj.adb: Take into account new components Index and Src_Index
3421
3422         * prj.ads (String_Element): New component Index
3423         (Variable_Value): New component Index
3424         (Array_Element): New component Src_Index
3425
3426         * prj-attr.adb: Indicate that optional index may be specified for
3427         attributes Main, Executable, Spec, Body and some of Switches.
3428
3429         * prj-attr.ads (Attribute_Kind): New values for optional indexes
3430         (Attribute_Record): New component Optional_Index
3431
3432         * prj-com.ads (File_Name_Data): New component Index
3433
3434         * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
3435
3436         * prj-env.adb (Put): Output optional index
3437
3438         * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
3439         attributes Spec and Body.
3440
3441         * prj-nmsc.adb: Process optional indexes
3442
3443         * prj-pp.adb: Ouput "at" for optional indexes
3444
3445         * prj-proc.adb: Take into account optional indexes
3446
3447         * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
3448         Optional_Index. For string literal,
3449         process optional index when Optional_Index is True.
3450         (Parse_Expresion): New Boolean parameter Optional_Index
3451
3452         * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
3453         (Set_Source_Index_Of): New procedure
3454
3455         * prj-util.adb (Executable_Of, Value_Of): Take into account optional
3456         index.
3457
3458         * prj-util.ads (Executable_Of): New parameter Index
3459         (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
3460         New parameter Src_Index, defaulted to 0.
3461
3462 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
3463
3464         PR ada/15257
3465         * sem_ch3.adb (Access_Definition): If this is an access parameter
3466         whose designated type is imported through a limited_with clause, do
3467         not add the enclosing subprogram to the list of private dependents of
3468         the type.
3469
3470 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
3471
3472         PR ada/15258
3473         * sem_ch6.adb (Base_Types_Match): True if one type is imported through
3474         a limited_with clause, and the other is its non-limited view.
3475
3476 2004-05-05  Thomas Quinot  <quinot@act-europe.fr>
3477
3478         * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
3479
3480         * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
3481         exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
3482         Stand.Boolean_Literals to produce references to entities
3483         Standard_False and Standard_True from compile-time computed boolean
3484         values.
3485
3486         * stand.ads (Boolean_Literals): New variable, provides the entity
3487         values for False and True, for use by the expander.
3488
3489 2004-05-05  Doug Rupp  <rupp@gnat.com>
3490
3491         * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
3492         5vinmaop.adb: Unchecked convert Short_Address vice Address
3493
3494         * adaint.c, raise.c: Caste CRTL function return value
3495         to avoid gcc error on 32/64 bit IVMS.
3496
3497         * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
3498         target = IA64/VMS.
3499
3500         * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
3501
3502         * 5qsystem.ads (Address): Declare as Long_Integer
3503         (Short_Address): Declare as 32 bit subtype of Address
3504         Declare  abstract address operations to avoid gratuitous ambiguities.
3505
3506 2004-05-05  Jose Ruiz  <ruiz@act-europe.fr>
3507
3508         * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
3509         instead of the old Boolean_Entry_Barriers.
3510         Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
3511
3512 2004-05-05  GNAT Script  <nobody@gnat.com>
3513
3514         * Make-lang.in: Makefile automatically updated
3515
3516 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
3517
3518         * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
3519
3520 2004-05-03  Olivier Hainque  <hainque@act-europe.fr>
3521
3522         PR ada/15152
3523
3524         * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
3525         alone. Replacing object references by literals is inappropriate in a
3526         so low level context.
3527
3528 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
3529
3530         * a-exexpr.adb: Add comments
3531
3532 2004-05-03  Joel Brobecker  <brobecker@gnat.com>
3533
3534         * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
3535         declare the Ancestor_Tags array in Type_Specific_Data with a small size
3536         without risking a bounds check error when accessing one of its
3537         components.
3538         (Type_Specific_Data): Define Ancestor_Tags as a small array.
3539         This prevents us from hitting a limitation during the debug info
3540         generation when using stabs.
3541
3542         * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
3543         small array.
3544         This prevents us from hitting a limitation during the debug info
3545         generation when using stabs.
3546
3547 2004-05-03  Eric Botcazou  <ebotcazou@act-europe.fr>
3548
3549         lang-specs.h: Remove -gnatz* from specs.
3550
3551 2004-05-03  Vincent Celier  <celier@gnat.com>
3552
3553         * gprmake.adb, makegpr.ads, makegpr.adb: New files.
3554
3555         * Make-lang.in, Makefile.in: Add gprmake
3556
3557 2004-05-03  Thomas Quinot  <quinot@act-europe.fr>
3558
3559         * sem_aggr.adb: Fix typo in comment.
3560
3561 2004-05-03  Robert Dewar  <dewar@gnat.com>
3562
3563         * make.adb: Minor reformatting
3564
3565         * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
3566
3567         * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
3568         so that it works when address is not a private type.
3569
3570         * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
3571         properly with rewritten unchecked conversions. This prevents
3572         order-of-elaboration issues that can otherwise arise.
3573         (Minimum_Size): Don't check size of access types under VMS
3574
3575         * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
3576         interpretations of integer literals as type System.Address.
3577
3578         * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
3579         (Is_Descendent_Of): New function
3580
3581 2004-05-03  Jose Ruiz  <ruiz@act-europe.fr>
3582
3583         * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
3584         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
3585         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
3586
3587         * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
3588         of the old Max_Entry_Queue_Depth.
3589
3590         * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
3591         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
3592         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
3593
3594         * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
3595         New entry for proper handling of Max_Entry_Queue_Depth.
3596         New entry for proper handling of No_Dynamic_Interrupts.
3597
3598         * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
3599         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
3600         Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
3601         the GNAT specific restriction Max_Entry_Queue_Depth.
3602         Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
3603         the GNAT specific restriction No_Dynamic_Interrupts.
3604
3605         * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
3606         instead of the old Boolean_Entry_Barriers.
3607         Use the new restriction No_Dynamic_Attachment instead of the old
3608         No_Dynamic_Interrupts.
3609
3610         * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
3611         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
3612
3613         * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
3614         of the old Max_Entry_Queue_Depth.
3615
3616 2004-05-03  GNAT Script  <nobody@gnat.com>
3617
3618         * Make-lang.in: Makefile automatically updated
3619
3620 2004-04-29  Ed Schonberg  <schonberg@gnat.com>
3621
3622         * checks.adb (Enable_Range_Check): If the prefix of an index component
3623         is an access to an unconstrained array, perform check unconditionally.
3624
3625 2004-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3626
3627         * decl.c (gnat_to_gnu_field): Also call make_packable_type if
3628         Component_Clause.
3629
3630 2004-04-29  Olivier Hainque  <hainque@act-europe.fr>
3631
3632         * init.c (__gnat_install_handler, __gnat_error_handler): Remove
3633         alternate stack setting. There was no support for the tasking cases
3634         and the changes eventually caused a number of side-effect failures in
3635         the non-tasking case too.
3636
3637 2004-04-29  Eric Botcazou  <ebotcazou@act-europe.fr>
3638
3639         lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
3640         -gnats is passed.
3641
3642 2004-04-29  Vincent Celier  <celier@gnat.com>
3643
3644         * make.adb (Gnatmake): Increase max size of argument array for
3645         gnatbind for the potential addition of -F.
3646         If there are Stand-Alone Library projects, invoke gnatbind with -F to
3647         be sure that elaboration flags will be checked.
3648
3649         * switch-c.adb: Correct call to Scan_Pos for -gnateI
3650
3651 2004-04-29  Thomas Quinot  <quinot@act-europe.fr>
3652
3653         * sem_warn.adb (Check_References): Move '<access-variable> may be
3654         null' warning out of under Warn_On_No_Value_Assigned.
3655
3656 2004-04-29  Ed Falis  <falis@gnat.com>
3657
3658         * gnat_ugn.texi: Fixed texi error
3659
3660 2004-04-29  Robert Dewar  <dewar@gnat.com>
3661
3662         * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
3663         abstract operations if they come from predefined files.
3664
3665         * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
3666         Dynamic, not RM).
3667
3668         * s-addope.adb: Correct obvious error in mod function
3669
3670 2004-04-28  Andrew W. Reynolds  <awreynolds@mac.com>
3671
3672         * Makefile.in: Add target pairs for powerpc darwin*
3673         tasking support.
3674
3675         * a-intnam-darwin.ads, s-osinte-darwin.adb,
3676         s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
3677
3678 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
3679
3680         * Makefile.in: Add target macro definitions for s390*-linux*.
3681         * system-linux-s390.ads: New file.
3682         * system-linux-s390x.ads: New file.
3683
3684 2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
3685
3686         * gnat_ugn.texi: Correct argument to @setfilename.
3687
3688 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
3689
3690         * a-exexpr.adb (Unwind_Word): New data type.
3691         (Unwind_Exception): Use it as type of Private1 and Private2.
3692
3693         * raise.c (db_action_for): Fix debug printf.
3694
3695 2004-04-27  Ed Schonberg  <schonberg@gnat.com>
3696
3697         * a-wtmoio.ads: Formal type must be a modular type, not a signed
3698         integer type.
3699
3700 2004-04-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3701
3702         * decl.c (gnat_to_gnu_entity, case object): Call
3703         __builtin_update_setjmp_buf.
3704
3705         * gigi.h (update_setjmp_buf): Deleted.
3706         (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
3707
3708         * misc.c: (update_setjmp_buf): Deleted.
3709
3710         * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
3711         around block of RTL.
3712
3713         * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
3714
3715 2004-04-26  Thomas Quinot  <quinot@act-europe.fr>
3716
3717         * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
3718         subprogram for which no pragma All_Calls_Remote applies, store the
3719         address of the real subprogram in the underlying record type, so local
3720         dereferences do not go through the PCS.
3721
3722 2004-04-26  Robert Dewar  <dewar@gnat.com>
3723
3724         * i-c.ads: Add some type qualifications to avoid ambiguities when
3725         compiling with s-auxdec.ads and a non-private address type.
3726
3727 2004-04-26  Arnaud Charlet  <charlet@act-europe.fr>
3728
3729         * Makefile.rtl: Fix error in previous check-in:
3730         Add s-addope.o to non tasking object list (rather than tasking object
3731         list).
3732
3733 2004-04-26  Javier Miranda  <miranda@gnat.com>
3734
3735         * sem_aggr.adb: Fix typo in comments
3736         (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
3737         Required to check the null-exclusion attribute.
3738
3739         * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
3740         case of anonymous access types in record and array components. For a
3741         component definition the level is the same of the enclosing composite
3742         type.
3743
3744         * sem_ch3.adb (Analyze_Component_Declaration): In case of components
3745         that are anonymous access types the level of accessibility depends on
3746         the enclosing type declaration. In order to have this information, set
3747         the scope of the anonymous access type to the enclosing record type
3748         declaration.
3749         (Array_Type_Declaration): In case of components that are anonymous
3750         access types the level of accessibility depends on the enclosing type
3751         declaration. In order to have this information, set the scope of the
3752         anonymous access type to the enclosing array type declaration.
3753
3754         * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
3755         access type.
3756
3757         * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
3758         renaming of anonymous access-to-constant types allowed if and only if
3759         the renamed object is access-to-constant.
3760
3761         * sem_util.adb (Type_Access_Level): In case of anonymous access types
3762         that are component_definition or discriminants of a nonlimited type,
3763         the level is the same as that of the enclosing component type.
3764
3765 2004-04-26  Sergey Rybin  <rybin@act-europe.fr>
3766
3767         * sem_elim.adb: Some minor code reorganization from code reading. Fix
3768         misprint in the function name (File_Name_Match).
3769
3770 2004-04-23  Laurent GUERBY <laurent@guerby.net>
3771
3772         * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
3773         install.
3774
3775 2004-04-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3776
3777         * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
3778
3779 2004-04-23  Emmanuel Briot  <briot@act-europe.fr>
3780
3781         * adaint.c (__gnat_try_lock): No longer requires that the parent
3782         directory be writable, the directory itself is enough.
3783         (gnat_is_absolute_path): Change profile, so that the call from
3784         GNAT.OS_Lib can be made more efficient.
3785
3786         * adaint.h (gnat_is_absolute_path): Change profile, so that the call
3787         from GNAT.OS_Lib can be made more efficient.
3788
3789         * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
3790         one copy of the file name. Found by code reading.
3791
3792 2004-04-23  Vincent Celier  <celier@gnat.com>
3793
3794         * gnat_ugn.texi: Add documentation for gnatmake switch -eL
3795         Correct documentation on gnatmake switches transmitted to the compiler
3796
3797         * ali.ads: Minor comment fix
3798
3799 2004-04-23  Javier Miranda  <miranda@gnat.com>
3800
3801         * sem_ch6.adb: (Confirming Types): Code cleanup
3802
3803         * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
3804         subprogram types: E_Anonymous_Access_Subprogram_Type and
3805         E_Anonymous_Access_Protected_Subprogram_Type.
3806
3807 2004-04-23  Thomas Quinot  <quinot@act-europe.fr>
3808
3809         * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
3810         whether a pragma All_Calls_Remote applies to the subprogram on which
3811         'Access is taken.
3812         No functional change is introduced by this revision; the new parameter
3813         will be used to allow calls to local RCI subprograms to be optimized
3814         to not use the PCS in the case where no pragma All_Calls_Remote applies,
3815         as is already done in the PolyORB implementation of the DSA.
3816
3817         * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
3818         whether a pragma All_Calls_Remote applies to the subprogram on which
3819         'Access is taken.
3820         No functional change is introduced by this revision; the new parameter
3821         will be used to allow calls to local RCI subprograms to be optimized
3822         to not use the PCS in the case where no pragma All_Calls_Remote applies,
3823         as is already done in the PolyORB implementation of the DSA.
3824
3825 2004-04-23  Robert Dewar  <dewar@gnat.com>
3826
3827         * Makefile.rtl: Add entry for s-addope.o in run time library list
3828         * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
3829         * s-addope.ads, s-addope.adb: New files.
3830
3831         * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
3832         s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
3833         s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
3834         System.Address to be non-private and signed.
3835
3836         * sem_elim.adb: Minor reformatting (fairly extensive)
3837         Some minor code reorganization from code reading
3838         Add a couple of ??? comments
3839
3840 2004-04-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3841
3842         * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
3843         (tree_transform, case N_If_Statement): Remove non-determinism.
3844
3845         * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
3846
3847 2004-04-23  Sergey Rybin  <rybin@act-europe.fr>
3848
3849         * gnat_rm.texi: Small fixes in the changes made in the 'pragma
3850         Eliminate' section.
3851
3852         * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
3853         no longer used as a parameter name for Eliminate pragma).
3854
3855 2004-04-22  Laurent GUERBY <laurent@guerby.net>
3856
3857         PR optimization/14984
3858         PR optimization/14985
3859         * trans.c (gigi): Fix non determinism leading to bootstrap
3860         comparison failures.
3861
3862 2004-04-21  Pascal Obry  <obry@gnat.com>
3863
3864         * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
3865         passed to spawnvp() to properly handle program pathname with spaces on
3866         Win32.
3867
3868 2004-04-21  Emmanuel Briot  <briot@act-europe.fr>
3869
3870         * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
3871         (Allocate, Deallocate, Free_Physically): Make sure the tasks are
3872         unlocked in case of exceptions.
3873
3874 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
3875
3876         * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
3877         This function does not exist anymore.
3878
3879 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
3880
3881         * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
3882
3883         * link.c: Move variables to the __gnat name space.
3884
3885         * Makefile.in: list link.o explicitly when needed.
3886
3887         * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
3888
3889 2004-04-21  Javier Miranda  <miranda@gnat.com>
3890
3891         * einfo.adb (Original_Access_Type): New subprogram
3892         (Set_Original_Access_Type): New subprogram
3893         (Write_Field21_Name): Write the name of the new field
3894
3895         * einfo.ads (Original_Access_Type): New field present in access to
3896         subprogram types.
3897         Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
3898         E_Anonymous_Access_Protected_Subprogram_Type.
3899
3900         * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
3901         subprogram types.
3902
3903         * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
3904         to anonymous access to subprogram types.
3905
3906         * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
3907         to subprogram types.
3908
3909         * sem_ch3.adb (Access_Definition): Complete decoration of entities
3910         corresponding to anonymous access to subprogram types.
3911         (Analyze_Component_Declaration): Add new actual to the call to
3912         subprogram replace_anonymous_access_to_protected_subprogram.
3913         (Array_Type_Declaration): Add new actual to the call to subprogram
3914         replace_anonymous_access_to_protected_subprogram.
3915         (Process_Discriminants): Add new actual to the call to subprogram
3916         replace_anonymous_access_to_protected_subprogram.
3917         (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
3918
3919         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
3920         formal.
3921
3922         * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
3923         access to subprogram types.
3924
3925         * sem_util.adb (Has_Declarations): Addition of package_specification
3926         nodes.
3927
3928 2004-04-21  Ed Schonberg  <schonberg@gnat.com>
3929
3930         * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
3931         inlined flags to renamed entity only if in current unit.
3932
3933 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
3934
3935         * s-parint.ads: Add DSA implementation marker.
3936
3937         * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
3938         value of System.Partition_Interface.DSA_Implementation to determine
3939         what version of the distributed systems annex is available (no
3940         implementation, GLADE, or PolyORB).
3941
3942 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
3943
3944         * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
3945
3946 2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3947
3948         * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
3949         with new type if alias sets differ.
3950         Fixes ACATS c41103b.
3951
3952 2004-04-21  Vincent Celier  <celier@gnat.com>
3953
3954         * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
3955         Add array Lang_Args for the language specific compiling argument
3956         switches.
3957
3958         * gnat_ugn.texi: Explain in more details when a library is rebuilt.
3959
3960 2004-04-21  Sergey Rybin  <rybin@act-europe.fr>
3961
3962         * gnat_rm.texi: Update the descripton of the Eliminate pragma
3963         according to the recent changes in the format of the parameters of the
3964         pragma (replacing Homonym_Number with Source_Location).
3965
3966 2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>
3967
3968         * 5isystem.ads: Removed, unused.
3969
3970         * gnat_rm.texi: Redo 1.13 change.
3971
3972 2004-04-19  Robert Dewar  <dewar@gnat.com>
3973
3974         * s-stoele.ads: Clean up definition of Storage_Offset (the new
3975         definition is cleaner, avoids the kludge of explicit Standard operator
3976         references, and also is consistent with a visible System.Address with
3977         no visible operations.
3978
3979         * s-geveop.adb: Add declarations to avoid assumption of visible
3980         operations on type System.Address (since these might not be available
3981         if Address is a non-private type for which the operations
3982         are made abstract).
3983
3984         * sem_eval.adb: Minor reformatting
3985
3986         * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
3987         s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
3988         reformatting (new function spec format).
3989
3990         * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
3991         s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
3992         s-caun64.adb: Add declarations to avoid assumption of visible
3993         operations on type System.Address (since these might not be available
3994         if Address is a non-private type for which the operations are made
3995         abstract).
3996
3997         * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
3998
3999         * exp_intr.adb: Minor comment update
4000
4001         * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
4002
4003         * 5omastop.adb: Add declarations to avoid assumption of visible
4004         operations on type System.Address (since these might not be available
4005         if Address is a non-private type for which the operations
4006         are made abstract).
4007
4008 2004-04-19  Vincent Celier  <celier@gnat.com>
4009
4010         * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
4011
4012         * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
4013         defaulted to Ada.
4014
4015         * prj-proc.adb (Process): New Boolean parameter Process_Languages,
4016         defaulted to Ada.
4017         Call Check with Process_Languages.
4018         (Check): New Boolean parameter Process_Languages. Call Recursive_Check
4019         with Process_Languages.
4020         (Recursive_Check): New Boolean parameter Process_Languages. Call
4021         Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
4022         Process_Languages.
4023
4024         * prj-proc.ads (Process): New Boolean parameter Process_Languages,
4025
4026         * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
4027         parameter Ada_Main, defaulted to True.
4028         Check for Ada specific characteristics only when Ada_Main is True.
4029
4030         * opt.ads: (Follow_Links): New Boolean flag for gnatmake
4031
4032         * prj.adb: (Project_Empty): Add new Project_Data components.
4033
4034         * prj.ads: New types and tables for non Ada languages.
4035         (Project_Data): New components Languages, Impl_Suffixes,
4036         First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
4037         Include_Path, Include_Data_Set.
4038
4039         * prj-env.ads, prj-env.adb: Minor reformatting
4040
4041         * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
4042         Put subprograms in alphabetical order
4043
4044         * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
4045         defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
4046         Opt.Follow_Links.
4047
4048         * mlib-prj.adb: Back out modification in last version, as they are
4049         incorrect.
4050         (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
4051
4052         * make.adb: (Mains): Moved to package Makeutl
4053         (Linker_Opts): Moved to package Makeutl
4054         (Is_External_Assignment): Moved to package Makeutl
4055         (Test_If_Relative_Path): Moved to package Makeutl
4056         (Gnatmake): Move sorting of linker options to function
4057         Makeutl.Linker_Options_Switches.
4058
4059         * makeutl.ads, makeutl.adb: New files.
4060
4061         * Makefile.in: Add makeutl.o to the object files for gnatmake
4062
4063         * makeusg.adb: Add line for new switch -eL.
4064
4065         * gnatls.adb (Image): New function.
4066         (Output_Unit): If in verbose mode, output the list of restrictions
4067         specified by pragmas Restrictions.
4068
4069         * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
4070         Text_IO.
4071
4072         * a-calend.adb (Split): Shift the date by multiple of 56 years, if
4073         needed, to put it in the range 1970 (included) - 2026 (excluded).
4074         (Time_Of): Do not shift Unix_Min_Year (1970).
4075         Shift the date by multiple of 56 years, if needed, to put it in the
4076         range 1970 (included) - 2026 (excluded).
4077
4078         * adaint.h, adaint.c (__gnat_set_executable): New function.
4079
4080 2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4081
4082         * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
4083         and pop GC context.
4084         (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
4085         (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
4086         (tree_transform, case N_Procedure_Call_Statement): Build a tree.
4087         (tree_transform, case N_Code_Statement): Likewise.
4088         (gnat_expand_stmt, case LABEL_STMT): Don't look at
4089         LABEL_STMT_FIRST_IN_EH.
4090         (gnat_expand_stmt, case ASM_STMT): New case.
4091
4092         * utils2.c (build_unary_op): Properly set TREE_READONLY of
4093         UNCONSTRAINED_ARRAY_REF.
4094
4095         * utils.c (poplevel): Temporarily push/pop GC context around inline
4096         function expansion.
4097
4098         * decl.c (maybe_variable): Properly set TREE_READONLY of
4099         UNCONSTRAINED_ARRAY_REF.
4100         (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
4101
4102         * ada-tree.def: (ASM_STMT): New.
4103
4104         * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
4105         (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
4106         ASM_STMT_INPUT): New.
4107         (ASM_STMT_CLOBBER): Likewise.
4108
4109 2004-04-19  Thomas Quinot  <quinot@act-europe.fr>
4110
4111         * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
4112         general rcheck mechanism to raise Program_Error for E.4(18), instead
4113         of a custom raiser in System.Partition_Interface.
4114         Part of general cleanup work before PolyORB integration.
4115
4116         * snames.ads, snames.adb: Add new runtime library entities and names
4117         for PolyORB DSA.
4118
4119         * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
4120         exp_dist.
4121         (Build_Subprogram_Id): New subprogram provided by exp_dist
4122         Code reorganisation in preparation for PolyORB integration.
4123
4124         * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
4125         exp_dist.
4126         (Build_Subprogram_Id): New subprogram provided by exp_dist
4127
4128         * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
4129         actual parameter types for call to dereference of an
4130         access-to-subprogram type.
4131
4132         * rtsfind.ads: Add new runtime library entities and names for PolyORB
4133         DSA.
4134
4135         * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
4136         instead, which has the same behaviour here since we never pass it a
4137         NULL pointer.
4138
4139         * link.c (run_path_option, Solaris case): Use -Wl, as for other
4140         platforms.
4141
4142         * Makefile.in: adjust object file lists for gnatlink and gnatmake
4143         to account for new dependency upon Interfaces.C.Strings + link.o
4144         For x86 FreeBSD, use 86numaux.
4145
4146         * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
4147         from Mlib.Tgt to Mlib.
4148
4149         * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
4150         target-independent.
4151
4152         * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
4153         target-specific versions of this subprogram, now implemented as a
4154         target-independent function in Mlib.
4155
4156         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
4157         5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
4158         (Linker_Library_Path_Option): Remove target-specific versions of this
4159         subprogram, now implemented as a target-independent function in Mlib.
4160
4161         * atree.adb: (Allocate_Initialize_Node): New subprogram.
4162         Factors out node table slots allocation.
4163         (Fix_Parents): New subprogram.
4164         Encapsulate the pattern of fixing up parent pointers for syntactic
4165         children of a rewritten node.
4166         (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
4167         (Rewrite): Use New_Copy when creating saved copy of original node.
4168         (Replace): Use Copy_Node to copy nodes.
4169
4170 2004-04-19  Javier Miranda  <miranda@gnat.com>
4171
4172         * sprint.adb (Sprint_Node_Actual): Give support to the new
4173         Access_To_Subprogram node available in Access_Definition nodes. In
4174         addition, give support to the AI-231 node fields: null-exclusion,
4175         all-present, constant-present.
4176
4177         * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
4178
4179         * sinfo.ads, sinfo.adb:
4180         New field Access_To_Subprogram_Definition in Access_Definition nodes
4181
4182         * sem_ch6.adb (Process_Formals): Move here the code that creates and
4183         decorates internal subtype declaration corresponding to the
4184         null-excluding formal. This code was previously in Set_Actual_Subtypes.
4185         In addition, carry out some code cleanup on this code. In case of
4186         access to protected subprogram call
4187         Replace_Anonymous_Access_To_Protected_Subprogram.
4188         (Set_Actual_Subtypes): Code cleanup.
4189
4190         * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
4191         Find_Type in case of anonymous access renamings. Add warning in case of
4192         null-excluding attribute used in anonymous access renaming.
4193
4194         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
4195         subprogram
4196
4197         * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
4198         subprogram.
4199         (Access_Definition): In case of anonymous access to subprograms call
4200         the corresponding semantic routine to decorate the node.
4201         (Access_Subprogram_Declaration): Addition of some comments indicating
4202         some code that probably should be added here. Detected by comparison
4203         with the access_definition subprogram.
4204         (Analyze_Component_Declaration): In case of access to protected
4205         subprogram call Replace_Anonymous_Access_To_Protected.
4206         (Array_Type_Declaration): In case of access to protected subprogram call
4207         Replace_Anonymous_Access_To_Protected_Subprogram.
4208         (Process_Discriminants): In case of access to protected subprogram call
4209         Replace_Anonymous_Access_To_Protected_Subprogram.
4210
4211         * par.adb (P_Access_Definition): New formal that indicates if the
4212         null-exclusion part was present.
4213         (P_Access_Type_Definition): New formal that indicates if the caller has
4214         already parsed the null-excluding part.
4215
4216         * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
4217         (P_Identifier_Declarations): Code cleanup and give support to renamings
4218         of anonymous access to subprogram types.
4219         (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
4220         (P_Array_Type_Definition): Give support to AI-254.
4221         (P_Component_Items): Give support to AI-254.
4222         (P_Access_Definition): New formal that indicates if the header was
4223         already parsed by the caller.
4224         (P_Access_Type_Definition): New formal that indicates if the caller has
4225         already parsed the null-excluding part.
4226
4227         * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
4228         call to P_Access_Definition.
4229
4230 2004-04-19  Geert Bosch  <bosch@gnat.com>
4231
4232         * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
4233         the delicate semantics of floating-point to integer conversion.
4234         (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
4235
4236         * eval_fat.adb (Machine_Mantissa): Moved to spec.
4237         (Machine_Radix): New function.
4238
4239         * eval_fat.ads (Machine_Mantissa): Moved from body for use in
4240         conversion checks.
4241         (Machine_Radix): New function also for use in conversion checks.
4242
4243 2004-04-19  Ed Schonberg  <schonberg@gnat.com>
4244
4245         * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
4246
4247         * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
4248         to decorate the access-to-protected subprogram and the equivalent type.
4249
4250         * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
4251         to anonymous access to subprogram types.
4252
4253         * exp_ch4.adb (Expand_N_In): Preserve Static flag before
4254         constant-folding, for legality checks in contexts that require an RM
4255         static expression.
4256
4257         * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
4258         temporary but stack checking is not enabled, increment serial number
4259         to so that symbol generation is consistent with and without stack
4260         checking.
4261
4262         * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
4263         independent on whether stack checking is enabled, caller must check
4264         the corresponding flag.
4265
4266         * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
4267         range checks.
4268         (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
4269         parent if it has discriminants.
4270         (Build_Derived_Private_Type): Constructed full view does
4271         not come from source.
4272         (Process_Discriminants): Default discriminants on a tagged type are
4273         legal if this is the internal completion of a private untagged
4274         derivation.
4275
4276         * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
4277         no constraint checks, because it corresponds to an existing object.
4278
4279         * sem_prag.adb (Process_Convention): Pragma applies
4280         only to subprograms in the same declarative part, i.e. the same unit,
4281         not the same scope.
4282
4283         * sem_res.adb (Valid_Conversion): In an instance or inlined body,
4284         ignore type mismatch on a numeric conversion if expression comes from
4285         expansion.
4286
4287 2004-04-19  Sergey Rybin  <rybin@act-europe.fr>
4288
4289         * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
4290         Homonym_Number parameter, add processing for Source_Location parameter
4291         corresponding.
4292         (Check_Eliminated): Remove the check for homonym numbers, add the check
4293         for source location traces.
4294
4295         * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
4296         with Arg_Source_Location corresponding to the changes in the format of
4297         the pragma.
4298
4299         * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
4300         Eliminate pragma corresponding to the changes in the format of the
4301         pragma: Homonym_Number is replaced with Source_Location, two ways of
4302         distinguishing homonyms are mutially-exclusive.
4303
4304 2004-04-19  Joel Brobecker  <brobecker@gnat.com>
4305
4306         * get_targ.ads (Get_No_Dollar_In_Label): Remove.
4307
4308         * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
4309         No_Dollar_In_Label, no longer necessary, as it is always True.
4310         (Strip_Suffixes): Likewise.
4311
4312 2004-04-19  Gary Dismukes  <dismukes@gnat.com>
4313
4314         * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
4315         modulus for compatibility with size clause on targets with 16-bit
4316         Integer.
4317
4318         * layout.adb (Discrimify): In the case of private types, set Vtyp to
4319         full type to fix type mismatches on calls to size functions for
4320         discriminant-dependent array components.
4321
4322 2004-04-19  Jerome Guitton  <guitton@act-europe.fr>
4323
4324         * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
4325         lib.
4326
4327 2004-04-19  Pascal Obry  <obry@gnat.com>
4328
4329         * mdll-utl.adb (Locate): New version is idempotent.
4330
4331 2004-04-17  Laurent Guerby <laurent@guerby.net>
4332
4333         PR ada/14988 (partial)
4334         * impunit.adb: Fix typo.
4335
4336 2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
4337
4338         * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
4339         and install-rts-cert targets.  Remove all gnatlib and gnattools
4340         targets and all other rts-* targets (moved to libada).  Remove (now)
4341         unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
4342         TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
4343
4344 2004-04-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4345
4346         * trans.c (tree_transform): Shortcut returning error_mark_node for
4347         statements in annotate_only_mode.
4348         (tree_transform, case N_Label, case N_Return_Statement,
4349         N_Goto_Statement): Make statement tree instead of generating code.
4350         (tree_transform, case N_Assignment_Statement): No longer check
4351         type_annotate_only.
4352         (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
4353         RETURN_STMT): New.
4354         (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
4355         New fcns.
4356         (gnat_to_gnu): Collect any RTL generated and deal with it.
4357         (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
4358         (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
4359         (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
4360
4361         * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
4362
4363         * ada-tree.def (EXPR_STMT): Fix typo in name.
4364         (BLOCK_STMT, IF_STMT): New nodes.
4365
4366         * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
4367         LABEL_STMT_FIRST_IN_EH): New macros.
4368         (RETURN_STMT_EXPR): Likewise.
4369
4370         * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
4371         IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
4372
4373 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
4374
4375         * atree.ads: Correct documentation on extended nodes.
4376
4377         * link.c: Set run_path_option for FreeBSD.
4378
4379 2004-04-08  Vincent Celier  <celier@gnat.com>
4380
4381         * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
4382         one of the ALI file, do not link with DEC lib.
4383
4384         * par.adb Remove the last two characters ("%s" or "%b") when checking
4385         if a language defined unit may be recompiled.
4386
4387 2004-04-08  Ed Schonberg  <schonberg@gnat.com>
4388
4389         * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
4390         removal of abstract operation leaves no possible interpretation for
4391         expression.
4392
4393         * sem_eval.adb (Eval_Qualified_Expression): Use
4394         Set_Raises_Constraint_Error on node when needed, so that it does not
4395         get optimized away by subsequent optimizations.
4396
4397         * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
4398         operands even when they are not wrapped in a type conversion.
4399
4400 2004-04-08  Olivier Hainque  <hainque@act-europe.fr>
4401
4402         * sem_prag.adb (Set_Exported): Warn about making static as result of
4403         export only when the export is coming from source. This may be not
4404         be true e.g. on VMS where we expand export pragmas for exception codes
4405         together with imported or exported exceptions, and we don't want the
4406         user to be warned about something he didn't write.
4407
4408 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
4409
4410         * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
4411         duplication between normal entities and those declared as renamings.
4412         No functional change.
4413
4414         * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
4415         inline functions returning an unconstrained result.
4416
4417 2004-04-08  Eric Botcazou  <ebotcazou@act-europe.fr>
4418
4419         * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
4420         conform to what other front-ends do.
4421
4422 2004-04-08  Doug Rupp  <rupp@gnat.com>
4423
4424         * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
4425         libraries.
4426
4427 2004-04-06  Pascal Obry  <obry@gnat.com>
4428
4429         * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
4430
4431         * osint.adb (Program_Name): Do not look past a directory separator.
4432
4433 2004-04-06  Thomas Quinot  <quinot@act-europe.fr>
4434
4435         * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
4436
4437         * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
4438         requirement for preserving a copy of the original assignment node.
4439
4440         * sinfo.ads: Update comment (Original_Tree -> Original_Node).
4441
4442 2004-04-06  Olivier Hainque  <hainque@act-europe.fr>
4443
4444         (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
4445         when supported.
4446
4447 2004-04-06  Ed Schonberg  <schonberg@gnat.com>
4448
4449         * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
4450         operator calls in functional notation, and apply
4451         Universal_Interpretation to operands, not to their type.
4452
4453 2004-04-06  Robert Dewar  <dewar@gnat.com>
4454
4455         * 5wdirval.adb: Minor reformatting
4456
4457 2004-04-06  Ed Falis  <falis@gnat.com>
4458
4459         * gnat_rm.texi: Improve a reference to the GCC manual
4460
4461 2004-04-05  Vincent Celier  <celier@gnat.com>
4462
4463         * adaint.h, adaint.c: Add function __gnat_named_file_length
4464
4465         * impunit.adb: Add Ada.Directories to the list
4466
4467         * Makefile.in: Add VMS and Windows versions of
4468         Ada.Directories.Validity package body.
4469
4470         * Makefile.rtl: Add a-direct and a-dirval
4471
4472         * mlib-tgt.ads: Minor comment update.
4473
4474         * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
4475         a-direct.ads, a-direct.adb: New files.
4476
4477 2004-04-05  Vincent Celier  <celier@gnat.com>
4478
4479         PR ada/13620
4480         * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
4481         just to the compiler.
4482
4483 2004-04-05  Robert Dewar  <dewar@gnat.com>
4484
4485         * a-except.adb (Exception_Name_Simple): Make sure lower bound of
4486         returned string is 1.
4487
4488         * ali-util.adb: Use proper specific form for Warnings (Off, entity)
4489
4490         * eval_fat.ads: Minor reformatting
4491
4492         * g-curexc.ads: Document that lower bound of returned string values
4493         is always one.
4494
4495         * gnatlink.adb: Add ??? comment for previous change
4496         (need to document why this is VMS specific)
4497
4498         * s-stoele.ads: Minor reformatting
4499
4500         * tbuild.ads: Minor reformatting throughout (new function specs)
4501
4502         * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
4503         after WITH.
4504
4505         * scng.adb: Minor reformatting
4506
4507 2004-04-05  Geert Bosch  <bosch@gnat.com>
4508
4509         * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
4510         (Leading_Part): Still perform truncation to machine number if the
4511         specified radix_digits is greater or equal to machine_mantissa.
4512
4513 2004-04-05  Javier Miranda  <miranda@gnat.com>
4514
4515         * par-ch3.adb: Complete documentation of previous change
4516         Correct wrong syntax documentation of the OBJECT_DECLARATION rule
4517         (aliased must appear before constant).
4518
4519         * par-ch4.adb: Complete documentation of previous change.
4520
4521         * par-ch6.adb: Complete documentation of previous change.
4522
4523         * sinfo.ads: Fix typo in commment.
4524
4525 2004-04-05  Ed Schonberg  <schonberg@gnat.com>
4526
4527         * sem_ch3.adb (Inherit_Components): If derived type is private and has
4528         stored discriminants, use its discriminants to constrain parent type,
4529         as is done for non-private derived record types.
4530
4531         * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
4532         Ada 2005 AI-310: an abstract non-dispatching operation is not a
4533         candidate interpretation in an overloaded call.
4534
4535         * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
4536         expression is Null and target type is not an access type (e.g. a
4537         non-private address type).
4538
4539 2004-04-05  Thomas Quinot  <quinot@act-europe.fr>
4540
4541         * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
4542         statement whose right-hand side is an inlined call, save a copy of the
4543         original assignment subtree to preserve enough consistency for
4544         Analyze_Assignment to proceed.
4545
4546         * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
4547         complete assignment subtree which is now unnecessary, as the expansion
4548         of inlined call has been improved to preserve a consistent assignment
4549         tree.  Note_Possible_Modification must be called only
4550         after checks have been applied, or else unnecessary checks will
4551         be generated.
4552
4553         * sem_util.adb (Note_Possible_Modification): Reorganise the handling
4554         of explicit dereferences that do not Come_From_Source:
4555          - be selective on cases where we must go back to the dereferenced
4556            pointer (an assignment to an implicit dereference must not be
4557            recorded as modifying the pointer);
4558          - do not rely on Original_Node being present (Analyze_Assignment
4559            calls Note_Possible_Modification on a copied tree).
4560
4561         * sem_warn.adb (Check_References): When an unset reference to a pointer
4562         that is never assigned is encountered, prefer '<pointer> may be null'
4563         warning over '<pointer> is never assigned a value'.
4564
4565 2004-04-05  Ramon Fernandez  <fernandez@gnat.com>
4566
4567         * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
4568         the ABI.
4569
4570 2004-04-05  Olivier Hainque  <hainque@act-europe.fr>
4571
4572         * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
4573         libexc. We currently don't reference anything in this library and
4574         linking it in triggers linker warnings we don't want to see.
4575
4576         * init.c: Update comments.
4577
4578 2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4579
4580         * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
4581         * utils.c (create_field_decl): Likewise.
4582         * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
4583
4584 2004-04-02  Arnaud Charlet  <charlet@act-europe.fr>
4585
4586         * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
4587         Replace ifinfo by ifnottex, to make makeinfo --html happy again.
4588         Add info directory entry and category.
4589
4590 2004-04-02  Jan Hubicka  <jh@suse.cz>
4591
4592         * utils.c: Include function.h
4593         (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
4594
4595 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
4596
4597         PR ada/14150
4598         * Make-lang.in: Clean up generation of documentation
4599
4600         * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
4601
4602         * xgnatug.adb: Removed, replaced by xgnatugn.adb
4603
4604         * xgnatugn.adb: Replaces xgnatug.adb
4605
4606         * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
4607
4608         * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
4609
4610         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
4611         gnat_ug_wnt.texi: Removed.
4612
4613 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
4614
4615         * utils2.c: Update copyright notice.
4616
4617 2004-04-01  Robert Dewar  <dewar@gnat.com>
4618
4619         * checks.adb: Minor reformatting throughout
4620         Note that prev checkin added RM reference to alignment warning
4621
4622 2004-04-01  Ed Schonberg  <schonberg@gnat.com>
4623
4624         * exp_aggr.adb (Get_Component_Val): Treat a string literal as
4625         non-static when building aggregate for bit-packed array.
4626
4627         * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
4628         function call that is itself the actual in a procedure call, build
4629         temporary for it.
4630
4631         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
4632         a string literal, create a temporary for it, constant folding only
4633         handles scalars here.
4634
4635 2004-04-01  Vincent Celier  <celier@gnat.com>
4636
4637         * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
4638         Error_Msg_SP): New empty procedures to instantiate the Scanner.
4639         (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
4640         tokens.
4641         (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
4642         (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
4643         and get the checksum.
4644
4645         * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
4646         already in the Q.
4647         Increase the Marking_Label at the end of the Multiple_Main_Loop,
4648         instead of at the beginning.
4649
4650         * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
4651         directly.
4652         (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
4653         on VMS.
4654
4655         * osint.ads (Multi_Unit_Index_Character): New Character global variable
4656
4657         * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
4658         not '~' directly.
4659
4660         * par.adb: Remove test on file name to detect language defined units.
4661         Add test on unit name, after parsing, to detect language defined units
4662         that are not compiled with -gnatg (except System.RPC and its children)
4663
4664         * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
4665         following units without style checking.
4666
4667         * switch-c.adb: Change -gnatC to -gnateI
4668
4669         * usage.adb: Document new switch -gnateInnn
4670
4671         * scng.adb (Accumulate_Token_Checksum): New procedure
4672         (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
4673         word or literal number.
4674         (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
4675         numbers.
4676
4677 2004-04-01  Thomas Quinot  <quinot@act-europe.fr>
4678
4679         * a-tasatt.adb,
4680         g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
4681         switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
4682         5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
4683         5vtpopde.adb: Add missing 'constant' keywords.
4684
4685 2004-04-01  Javier Miranda  <miranda@gnat.com>
4686
4687         * par-ch4.adb: (P_Allocator): Code cleanup
4688
4689         * sem_ch3.adb (Access_Definition): Properly set the null-excluding
4690         attribute.
4691
4692         * sinfo.ads: Complete documentation of previous change
4693
4694 2004-04-01  Pascal Obry  <obry@gnat.com>
4695
4696         * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
4697         only on VMS.  This special handling was done because an old GNU/ld bug
4698         on Windows which has been fixed.
4699
4700 2004-04-01  GNAT Script  <nobody@gnat.com>
4701
4702         * Make-lang.in: Makefile automatically updated
4703
4704 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4705
4706         * decl.c (gnat_to_gnu_entity, make_type_from_size):
4707         Use TYPE_UNSIGNED, not TREE_UNSIGNED.
4708         * trans.c (tree_transform, convert_with_check): Likewise.
4709         * utils.c (gnat_signed_or_unsigned_type): Likewise.
4710         (build_vms_descriptor, unchecked_convert): Likewise.
4711         * utils2.c (nonbinary_modular_operation): Likewise.
4712
4713 2004-03-29  Javier Miranda  <miranda@gnat.com>
4714
4715         * checks.adb (Null_Exclusion_Static_Checks): New subprogram
4716         (Install_Null_Excluding_Check): Local subprogram that determines whether
4717         an access node requires a runtime access check and if so inserts the
4718         appropriate run-time check.
4719         (Apply_Access_Check): Call Install_Null_Excluding check if required
4720         (Apply_Constraint_Check): Call Install_Null_Excluding check if required
4721
4722         * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
4723
4724         * einfo.ads: Fix typo in comment
4725
4726         * exp_ch3.adb (Build_Assignment): Generate conversion to the
4727         null-excluding type to force the corresponding run-time check.
4728         (Expand_N_Object_Declaration): Generate conversion to the null-excluding
4729         type to force the corresponding run-time check.
4730
4731         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
4732         the null-excluding type to force the corresponding run-time check.
4733
4734         * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
4735         case of access types unless they have the null-excluding attribute.
4736
4737         * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
4738         part.
4739
4740         * exp_util.ads: Fix typo in comment
4741
4742         * par.adb (P_Null_Exclusion): New subprogram
4743         (P_Subtype_Indication): New formal that indicates if the null-excluding
4744         part has been scanned-out and it was present
4745
4746         * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
4747
4748         * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
4749         (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
4750         type to force the corresponding run-time check
4751         (Resolve_Aggregate): Propagate the null-excluding attribute to the array
4752         components
4753         (Resolve_Array_Aggregate): Carry out some static checks
4754         (Resolve_Record_Aggregate.Get_Value): Carry out some static check
4755
4756         * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
4757         attribute must be set only if specified by means of the null-excluding
4758         part. In addition, we must also propagate the access-constant attribute
4759         if present.
4760         (Access_Subprogram_Declaration, Access_Type_Declaration,
4761         Analyze_Component_Declaration, Analyze_Object_Declaration,
4762         Array_Type_Declaration, Process_Discriminants,
4763         Analyze_Subtype_Declaration): Propagate the null-excluding attribute
4764         and carry out some static checks.
4765         (Build_Derived_Access_Type): Set the null-excluding attribute
4766         (Derived_Type_Declaration, Process_Subtype): Carry out some static
4767         checks.
4768
4769         * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
4770
4771         * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
4772
4773         * sem_ch6.adb (Process_Formals): Carry out some static checks.
4774         (Set_Actual_Subtypes): Generate null-excluding subtype if the
4775         null-excluding part was present; it is not required to be done here in
4776         case of anonymous access types.
4777         (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
4778         value.
4779
4780         * sem_res.adb (Resolve_Actuals): Carry out some static check
4781         (Resolve_Null): Allow null in anonymous access
4782
4783         * sinfo.adb: New subprogram Null_Exclusion_Present
4784         All_Present and Constant_Present available on access_definition nodes
4785
4786         * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
4787         object_declaration, derived_type_definition, component_definition,
4788         discriminant_specification, access_to_object_definition,
4789         access_function_definition, allocator, access_procedure_definition,
4790         access_definition, parameter_specification, All_Present and
4791         Constant_Present flags available on access_definition nodes.
4792
4793 2004-03-29  Robert Dewar  <dewar@gnat.com>
4794
4795         * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
4796         gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
4797         opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
4798         par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
4799         sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
4800         sem_prag.adb: Updates to handle multiple units/file
4801
4802         * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
4803
4804         * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
4805         sem_util.adb: Minor reformatting
4806
4807         * sem_ch12.adb: Add comment for previous change
4808
4809 2004-03-29  Laurent Pautet  <pautet@act-europe.fr>
4810
4811         * osint.adb (Executable_Prefix): Set Exec_Name to the current
4812         executable name when not initialized. Otherwise, use its current value.
4813
4814         * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
4815         initialize it to another executable name than the current one. This
4816         allows to configure paths for an executable name (gnatmake) different
4817         from the current one (gnatdist).
4818
4819 2004-03-29  Ed Schonberg  <schonberg@gnat.com>
4820
4821         * exp_ch6.adb (Expand_Call): A call to a function declared in the
4822         current unit cannot be inlined if it appears in the body of a withed
4823         unit, to avoid order of elaboration problems in gigi.
4824
4825         * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
4826         information for protected (wrapper) operation as well, to simplify gdb
4827         use.
4828
4829         * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
4830         protected body, indicate that the entity for the generated spec comes
4831         from source, to ensure that references are properly generated for it.
4832         (Build_Body_To_Inline): Do not inline a function that returns a
4833         controlled type.
4834
4835         * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
4836         apply convention to homonyms that are declared explicitly.
4837
4838         * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
4839         that renames an equality operator and the operands are overloaded,
4840         resolve them with the declared formal types, before rewriting as an
4841         operator.
4842
4843 2004-03-29  GNAT Script  <nobody@gnat.com>
4844
4845         * Make-lang.in: Makefile automatically updated
4846
4847 2004-03-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
4848
4849         * memtrack.adb: Log realloc calls, which are treated as free followed
4850         by alloc.
4851
4852 2004-03-25  Vincent Celier  <celier@gnat.com>
4853
4854         * prj-makr.adb (Process_Directories): Detect when a file contains
4855         several units. Do not include such files in the config pragmas or
4856         in the naming scheme.
4857
4858         * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
4859         Resolve links only when not in Trusted_Mode.
4860         (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
4861         Do not resolve links for the display names.
4862
4863         * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
4864         resolve links when computing the display names.
4865
4866 2004-03-25  Thomas Quinot  <quinot@act-europe.fr>
4867
4868         * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
4869         attribute reference does not denote a subtype, it can be any
4870         expression that has a classwide type, potentially after an implicit
4871         dereference.  In particular, the prefix can be a view conversion for
4872         a classwide type (for which Is_Object_Reference holds), but it can
4873         also be a value conversion for an access-to-classwide type. In the
4874         latter case, there is an implicit dereference, and the original node
4875         for the prefix does not verify Is_Object_Reference.
4876
4877         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
4878         conversion of a discriminant-dependent component of a mutable object
4879         is one itself.
4880
4881 2004-03-25  Ed Schonberg  <schonberg@gnat.com>
4882
4883         * freeze.adb (Freeze_Entity): When an inherited subprogram is
4884         inherited, has convention C, and has unconstrained array parameters,
4885         place the corresponding warning on the derived type declaration rather
4886         than the original subprogram.
4887
4888         * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
4889         indication on renaming declaration, if formal has a box and actual
4890         is absent.
4891
4892         * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
4893         determine whether to generate an implicit or explicit reference to
4894         the renamed entity.
4895
4896         * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
4897         subprogram renaming comes from a defaulted formal subprogram in an
4898         instance.
4899
4900 2004-03-25  Gary Dismukes  <dismukes@gnat.com>
4901
4902         * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
4903         value expressions to ensure that calls within a component definition
4904         will be checked (since those are evaluated during the record type's
4905         elaboration).
4906
4907 2004-03-25  Arnaud Charlet  <charlet@act-europe.fr>
4908
4909         * s-tpobop.adb: Code clean up:
4910         (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
4911         code.
4912         (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
4913
4914 2004-03-25  Jose Ruiz  <ruiz@act-europe.fr>
4915
4916         * Makefile.in: Clean up in the ravenscar run time.
4917
4918 2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4919
4920         * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
4921         of No_Strict_Aliasing to build_pointer_type_for_mode.
4922         * utils.c (update_pointer_to): Walk pointer and ref chains.
4923
4924 2004-03-22  Cyrille Comar  <comar@act-europe.fr>
4925
4926         * ali.ads: Fix Comment about Dynamic_Elab.
4927
4928         * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
4929         Has_RACW, Is_Generic, etc.)
4930         (Output_Object, Gnatls): Take into account ALI files not attached to
4931         an object.
4932
4933 2004-03-22  Vincent Celier  <celier@gnat.com>
4934
4935         * gprep.adb: Change all String_Access to Name_Id
4936         (Is_ASCII_Letter): new function
4937         (Double_File_Name_Buffer): New procedure
4938         (Preprocess_Infile_Name): New procedure
4939         (Process_Files): New procedure
4940         (Gnatprep): Check if output and input are existing directories.
4941         Call Process_Files to do the real job.
4942
4943 2004-03-22  Robert Dewar  <dewar@gnat.com>
4944
4945         * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
4946         s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
4947
4948 2004-03-22  Sergey Rybin  <rybin@act-europe.fr>
4949
4950         * scn.adb (Contains): Add check for EOF, is needed for a degenerated
4951         case when the source contains only comments.
4952
4953 2004-03-22  Ed Schonberg  <schonberg@gnat.com>
4954
4955         * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
4956         declaration for a child subprogram body that acts as a spec, indicate
4957         that the entity in the declaration needs debugging information.
4958
4959         * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
4960         full view if the subtype is created for a constrained record component;
4961         gigi has enough information to construct the record, and there is no
4962         place in the tree for the declaration.
4963
4964         * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
4965         serial number for the dummy body that is built for analysis, to avoid
4966         inconsistencies in the generation of internal names when compiling
4967         with -gnatN.
4968
4969 2004-03-22  Thomas Quinot  <quinot@act-europe.fr>
4970
4971         * sem_util.adb (Is_Object_Reference): A view conversion denotes an
4972         object.
4973
4974 2004-03-22  GNAT Script  <nobody@gnat.com>
4975
4976         * Make-lang.in: Makefile automatically updated
4977
4978 2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4979
4980         * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
4981         * trans.c (tree_transform, emit_index_check): Likewise.
4982         * utils.c (build_template): Likewise.
4983         (max_size, convert): Remove handling of WITH_RECORD_EXPR.
4984         (maybe_unconstrained_array, unchecked_convert): Likewise.
4985         * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
4986         (build_unary_op): Likewise.
4987         (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
4988         (fill_vms_descriptor): Likewise.
4989         (build_call_alloc_dealloc): Likewise.
4990         ALIGN is unsigned.
4991         * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
4992
4993 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
4994
4995         PR other/14630
4996         * gnat_ug.texi: Add info directory category and entry.
4997         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
4998         gnat_ug_wnt.texi: Regenerate.
4999
5000 2004-03-19  Arnaud Charlet  <charlet@act-europe.fr>
5001
5002         * ada-tree.h: Update copyright notice.
5003         Minor reformatting.
5004
5005 2004-03-19  Olivier Hainque  <hainque@act-europe.fr>
5006
5007         * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
5008         as regular exception objects and not as mere integers representing the
5009         condition code.  The latter approach required some dynamics to mask off
5010         severity bits, which did not fit well into the GCC table based model.
5011         (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
5012         exception data objects. We don't it and it would conflict with the other
5013         external symbol we have to generate for such exceptions.
5014
5015         * trans.c (tree_transform, case N_Exception_Handler): Remove part of
5016         the special code for VMS exceptions, since these are now represented
5017         as regular exceptions objects.
5018
5019 2004-03-19 Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5020
5021         * decl.c (debug_no_type_hash): Remove.
5022         (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
5023         * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
5024
5025 2004-03-19  Laurent Guerby <laurent@guerby.net>
5026
5027         * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
5028         aggregate, allows bootstrap from 3.3 on powerpc-darwin.
5029
5030 2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5031
5032         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
5033         (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
5034         (TYPE_RM_SIZE_INT): Directly use type.values.
5035         (TREE_LOOP_ID): Clean up check.
5036         * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
5037         TYPE_VALUES, not TYPE_FIELDS.
5038         * trans.c (convert_with_check): Delay access of bounds of basetype
5039         until sure is numeric.
5040
5041 2004-03-18  Arnaud Charlet  <charlet@act-europe.fr>
5042
5043         * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
5044
5045         Code clean up:
5046         * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
5047         5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
5048         Specific.Set instead of direct call to e.g pthread_setspecific.
5049
5050 2004-03-18  Thomas Quinot  <quinot@act-europe.fr>
5051
5052         * adaint.c: Update comments.
5053
5054         * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
5055         GNATLIB_SHARED for FreeBSD.
5056
5057 2004-03-18  Jose Ruiz  <ruiz@act-europe.fr>
5058
5059         * init.c [VxWorks]: Do not fix the stack size for the environment task.
5060         When needed (stack checking) the stack size is retrieved
5061         from the VxWorks kernel.
5062
5063         * Makefile.in: Flag -nostdinc is required when building the run time
5064         for avoiding looking for files in the base compiler.
5065         Add the VxWorks specific version of the package body for
5066         System.Stack_checking.Operations (5zstchop.adb).
5067
5068         * Make-lang.in: Add the object file for
5069         System.Stack_Checking.Operations.
5070
5071         * Makefile.rtl: Add object file for the package
5072         System.Stack_Checking.Operations.
5073
5074         * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
5075
5076         * s-stache.ads, s-stache.adb: Move the operations related to stack
5077         checking from this package to package System.Stack_Checking.Operations.
5078         This way, stack checking operations are only linked in the final
5079         executable when using the -fstack-check flag.
5080
5081 2004-03-18  Doug Rupp  <rupp@gnat.com>
5082
5083         * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
5084         Reorganize ifeq's.
5085
5086         * 5qsystem.ads, 5xcrtl.ads: New files.
5087
5088 2004-03-18  Vincent Celier  <celier@gnat.com>
5089
5090         * prj.adb (Reset): Reset hash table Files_Htable
5091
5092         * prj-env.adb (Source_Paths, Object_Paths): New tables.
5093         (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
5094         the procedures Add_To_Path_File.
5095         (Set_Ada_Paths): Accumulate source and object dirs in the tables,
5096         making sure that each directory is present only once and, for object
5097         dirs, when a directory already present is added, the duplicate is
5098         removed and the directory is always put as the last in the table.
5099         Write the path files at the end of these accumulations.
5100
5101         * prj-nmsc.adb (Record_Source): Add source file name in hash table
5102         Files_Htable for all sources.
5103
5104         * prj-proc.adb (Process): Remove restrictions between not directly
5105         related extending projects.
5106
5107 2004-03-18  Emmanuel Briot  <briot@act-europe.fr>
5108
5109         * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
5110         (Find_Sources): Minor speed optimization.
5111
5112         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
5113         parameter Trusted_Mode.
5114
5115 2004-03-18  Sergey Rybin  <rybin@act-europe.fr>
5116
5117         * scn.adb (Determine_License): Take into account a degenerated case
5118         when the source contains only comments.
5119
5120 2004-03-18  Ed Schonberg  <schonberg@gnat.com>
5121
5122         * sem_warn.adb (Check_References): For a warning on a selected
5123         component that does not come from source, locate an uninitialized
5124         component of the record type to produce a more precise error message.
5125
5126 2004-03-15  Jerome Guitton  <guitton@act-europe.fr>
5127
5128         * 3zsoccon.ads: Fix multicast options.
5129
5130         * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
5131         in the spec.
5132
5133 2004-03-15  Robert Dewar  <dewar@gnat.com>
5134
5135         * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
5136         pragma used for a private type.
5137
5138         * lib-xref.adb (Generate_Reference): Do not generate warning if
5139         reference is in a different unit from the pragma Unreferenced.
5140
5141         * 5vtpopde.adb: Minor reformatting
5142         Fix casing of To_Task_ID
5143
5144         * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
5145         flag if we have an unchecked conversion to an access type in the same
5146         unit.
5147
5148 2004-03-15  Geert Bosch  <bosch@gnat.com>
5149
5150         * a-ngcoty.adb (Modulus): In alternate formula for large real or
5151         imaginary parts, use Double precision throughout.
5152
5153         * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
5154         we want to be able to compile run-time with -gnata for testing, but
5155         this may also be instantiated in user code that is compiled with -gnata.
5156
5157 2004-03-15  Olivier Hainque  <hainque@act-europe.fr>
5158
5159         * s-stalib.ads (Exception_Code): New type, to represent Import/Export
5160         codes. Having a separate type for this is useful to enforce consistency
5161         throughout the various run-time units.
5162         (Exception_Data): Use Exception_Code for Import_Code.
5163
5164         * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
5165         Natural and Integer in various places.
5166         (Register_VMS_Exception): Use Base_Code_In to compute the exception code
5167         with the severity bits masked off.
5168         (Register_VMS_Exception): Handle the additional exception data pointer
5169         argument.
5170
5171         * raise.c (_GNAT_Exception structure): Remove the handled_by_others
5172         component, now reflected by an exported accessor.
5173         (is_handled_by): New routine to compute whether the propagated
5174         occurrence matches some handler choice specification. Extracted out of
5175         get_action_description_for, and expanded to take care of the VMS
5176         specifities.
5177         (get_action_description_for): Use is_handled_by instead of an explicit
5178         complex condition to decide if the current choice at hand catches the
5179         propagated occurrence.
5180
5181         * raise.h (Exception_Code): New type for C.
5182
5183         * rtsfind.ads (RE_Id, RE_Unit_Table): Add
5184         System.Standard_Library.Exception_Code, to allow references from the
5185         pragma import/export expander.
5186
5187         * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
5188         New accessors to allow easy access to GNAT exception data
5189         characteristics.
5190         (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
5191         redundant Handled_By_Others component, helper for the personality
5192         routine which will now be able to call the appropriate exception data
5193         accessor instead.
5194
5195         * cstand.adb (Create_Standard): Adjust the type of the Import_Code
5196         component of Standard_Exception_Type to be the closest possible to
5197         Exception_Code in System.Standard_Library, that we cannot get at this
5198         point. Expand a ??? comment to notify that this type node should
5199         probably be rewritten later on.
5200
5201         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
5202         registration call to include a pointer to the exception object in the
5203         arguments.
5204
5205         * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
5206         instead of int and explicit bitmasks.
5207
5208 2004-03-15  Vincent Celier  <celier@gnat.com>
5209
5210         * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
5211         equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
5212
5213         * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
5214         longer needed now that it is in the spec of
5215         System.Tasking.Task_Attributes.
5216
5217         * adaint.h, adaint.c: (__gnat_create_output_file): New function
5218
5219         * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
5220
5221         * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
5222
5223         * make.adb (Gnatmake): Do not check the executable suffix; it is being
5224         taken care of in Scan_Make_Arg.
5225         (Scan_Make_Arg): Add the executable suffix only if the argument
5226         following -o, in canonical case, does not end with the executable
5227         suffix.  When in verbose mode and executable file name does not end
5228         with executable suffix, output the executable name, in canonical case.
5229
5230         * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
5231         to avoid warnings when instantiating Ada.Task_Attributes.
5232         Minor reformating.
5233
5234         * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
5235         in the correct order.
5236
5237         * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
5238         redirect standard output and error to a file for the invocation of the
5239         compiler, then read the file.
5240
5241         * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
5242         directory, instead of the Value.
5243         (Find_Source_Dirs): Remove useless code & comments.
5244
5245 2004-03-15  Ed Schonberg  <schonberg@gnat.com>
5246
5247         * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
5248         tagged type is inherited, and the parent operation is not frozen yet,
5249         force generation of a freeze node for the inherited operation, so the
5250         corresponding dispatch entry is properly initialized.
5251         (Make_Predefined_Primitive_Specs): Check that return type is Boolean
5252         when looking for user-defined equality operation.
5253
5254         * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
5255         boolean when locating primitive equality of tagged component.
5256
5257         * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
5258         bit-aligned field and the right-hand side a string literal, introduce
5259         a temporary before expanding assignment into a loop.
5260
5261         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
5262         priority in full, to ensure that any expanded subepxressions of it are
5263         elaborated in the scope of the init_proc.
5264
5265         * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
5266         after object declaration, skipping over code that may have been
5267         generated for validity checks.
5268
5269         * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
5270         discriminants, ignore the known discriminants of its full view, if
5271         any, to check legality.
5272
5273         * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
5274         component if type has unknown discriminants.
5275         (Analyze_Private_Extension_Declaration): Discriminant constraint is
5276         null if type has unknown discriminants.
5277
5278         * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
5279         for end label when present.
5280
5281         * s-fileio.adb (Open): When called with a C_Stream, use given name for
5282         temporary file, rather than an empty string.
5283
5284 2004-03-15  Ed Falis  <falis@gnat.com>
5285
5286         * s-thread.adb: Removed, no longer used.
5287
5288 2004-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5289
5290         * decl.c (target.h): Now include.
5291         (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
5292         in new build_pointer_from_mode calls for non-fat/non-thin pointer.
5293         (validate_size): For POINTER_TYPE, get smallest size permitted on
5294         machine.
5295
5296         * fe.h: Sort Einfo decls and add Set_Mechanism.
5297
5298         * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
5299         (ada/decl.o): Depends on target.h.
5300
5301         * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
5302         FUNCTION_BOUNDARY; always use TYPE_ALIGN.
5303
5304 2004-03-15  Thomas Quinot  <quinot@act-europe.fr>
5305
5306         * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
5307
5308         * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
5309         Insert_Dereference_Action when rewriting an implicit dereference into
5310         an explicit one, this will be taken care of during expansion of the
5311         explicit dereference.
5312         (Expand_N_Slice): Same. Always do the rewriting, even for the case
5313         of non-packed slices, since the dereference action generated by
5314         expansion of the explicit dereference is needed in any case.
5315         (Expand_N_Selected_Component): When rewriting an implicit dereference,
5316         analyze and resolve the rewritten explicit dereference so it is seen
5317         by the expander.
5318         (Insert_Dereference_Action): This procedure is now called only for the
5319         expansion of an N_Explcit_Dereference_Node. Do insert a check even for
5320         dereferences that do not come from source (including explicit
5321         dereferences resulting from rewriting implicit ones), but do not
5322         recursively insert a check for the dereference nodes contained within
5323         the check.
5324         (Insert_Dereference_Action): Clarify and correct comment.
5325
5326 2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
5327
5328         PR ada/14131
5329         Move language detection to the top level.
5330         * config-lang.in: Build by default.
5331
5332 2004-03-05  Robert Dewar  <dewar@gnat.com>
5333
5334         * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
5335
5336         * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
5337         i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
5338         5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
5339         5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
5340         unchecked conversion to spec to avoid warnings.
5341
5342         * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
5343         to Task_ID
5344
5345         * 7stpopsp.adb: Correct casing in To_Task_ID call
5346
5347         * a-strsea.ads, a-strsea.adb: Minor reformatting
5348
5349         * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
5350
5351         * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
5352         Adjust Max_Msg_Length to be clearly large enough.
5353
5354         * fe.h: Define In_Same_Source_Unit
5355
5356         * osint.adb: Add pragma Warnings Off to suppress warnings
5357         * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
5358         aliasing warnings.
5359
5360         * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
5361
5362         * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
5363
5364         * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
5365
5366         * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
5367
5368         * sem_prag.adb: Implement pragma No_Strict_Aliasing.
5369
5370         * sinfo.ads: Remove obsolete comment on validate unchecked conversion
5371         node. We now do generate them for gcc back end.
5372
5373         * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
5374         warning.
5375
5376         * sinput-c.adb: Fix bad name in header.
5377         Add pragma Warnings Off to suppress aliasing warning.
5378
5379         * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
5380
5381         * snames.h, snames.ads, snames.adb: Add entry for pragma
5382         No_Strict_Aliasing.
5383
5384 2004-03-05  Vincent Celier  <celier@gnat.com>
5385
5386         * prj-com.ads: Add hash table Files_Htable to check when a file name
5387         is already a source of another project.
5388
5389         * prj-nmsc.adb (Record_Source): Before recording a new source, check
5390         if its file name is not already a source of another project. Report an
5391         error if it is.
5392
5393         * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
5394         source file name, call gnatpp with all the sources of the main project.
5395
5396         * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
5397         of file names.
5398
5399         * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
5400         NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
5401         /RUNTIME_SYSTEM=, converted to --RTS=
5402         /NOTABS, converted to -notabs
5403
5404 2004-03-05  Pascal Obry  <obry@gnat.com>
5405
5406         * make.adb: Minor reformatting.
5407
5408 2004-03-05  Ed Schonberg  <schonberg@gnat.com>
5409
5410         Part of implemention of AI-262.
5411         * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
5412
5413         * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
5414         procedure.
5415
5416         * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
5417         when component type is a partially constrained class-wide subtype.
5418         (Constrain_Discriminated_Type): If parent type has unknown
5419         discriminants, a constraint is illegal, even if full view has
5420         discriminants.
5421         (Build_Derived_Record_Type): Inherit discriminants when deriving a type
5422         with unknown discriminants whose full view is a discriminated record.
5423
5424         * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
5425         flag, to handle properly derivations of tagged types with unknown
5426         discriminants.
5427         (Analyze_Package_Spec, Analyze_Package_Body): Install
5428         Private_With_Clauses before analyzing private part or body.
5429
5430         * einfo.ads: Indicate that both Has_Unknown_Discriminants and
5431         Has_Discriminants can be true for a given type (documentation).
5432
5433 2004-03-05  Arnaud Charlet  <charlet@act-europe.fr>
5434
5435         * s-restri.ads: Fix license (GPL->GMGPL).
5436
5437         * s-tassta.adb: Minor reformatting.
5438
5439         * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
5440         by calls to Exit_One_ATC_Level, since additional clean up is performed
5441         by this function.
5442
5443         * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
5444         by calls to Exit_One_ATC_Level, since additional clean up is performed
5445         by this function.
5446
5447 2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5448
5449         * trans.c: Reflect GCC changes to fix bootstrap problem.
5450         Add warning for suspicious aliasing unchecked conversion.
5451
5452 2004-03-05  GNAT Script  <nobody@gnat.com>
5453
5454         * Make-lang.in: Makefile automatically updated
5455
5456 2004-03-02  Emmanuel Briot  <briot@act-europe.fr>
5457
5458         * ali.adb (Read_Instantiation_Instance): Do not modify the
5459         current_file_num when reading information about instantiations, since
5460         this corrupts files in later references.
5461
5462 2004-03-02  Vincent Celier  <celier@gnat.com>
5463
5464         * bcheck.adb (Check_Consistency): Get the full path of an ALI file
5465         before checking if it is read-only.
5466
5467         * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
5468         of SRC_DIRS and eliminate duplicates.
5469
5470         * gprcmd.adb: Replace command "path" with command "path_sep" to return
5471         the path separator.
5472         (Usage): Document path_sep
5473
5474         * Makefile.generic: For Ada and GNU C++ cases, link directly with the
5475         C++ compiler. No need for a script.
5476         Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
5477         Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
5478         subst.
5479
5480         * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
5481         where there are Ada sources.
5482         (Set_Ada_Paths): Only add to the include path the source dirs of project
5483         with Ada sources.
5484         (Add_To_Path): Add the Display_Values of the directories, not their
5485         Values.
5486
5487         * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
5488         data.
5489
5490         * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
5491         is not No_Name.
5492         (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
5493         Value is canonicalized.
5494         (Language_Independent_Check): Do not copy Value to Display_Value when
5495         canonicalizing Value.
5496
5497         * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
5498         path to find limited with cycles.
5499         (Parse_Single_Project): Use canonical cased path to find the end of a
5500         with cycle.
5501
5502 2004-03-02  Ed Schonberg  <schonberg@gnat.com>
5503
5504         * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
5505         and not a child unit.
5506
5507         * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
5508         appear in a with_clause.
5509
5510         * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
5511         only happen in type_annotate mode, do not try to elaborate it.
5512
5513         * exp_util.adb (Force_Evaluation): If expression is a selected
5514         component on the left of an assignment, use a renaming rather than a
5515         temporary to remove side effects.
5516
5517         * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
5518         inlined instance body, which is analyzed before the end of the
5519         enclosing scope.
5520
5521 2004-03-02  Robert Dewar  <dewar@gnat.com>
5522
5523         * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
5524         sem_ch4.adb: Use new feature for substitution of keywords in VMS
5525
5526         * errout.ads, errout.adb: Implement new circuit for substitution of
5527         keywords in VMS.
5528
5529         * sem_case.adb (Analyze_Choices): Place message properly when case is
5530         a subtype reference rather than an explicit range.
5531
5532         * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
5533
5534 2004-03-02  Doug Rupp  <rupp@gnat.com>
5535
5536         * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
5537
5538 2004-03-02  Thomas Quinot  <quinot@act-europe.fr>
5539
5540         * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
5541
5542 2004-03-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5543
5544         * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
5545         BLKmode bitfield.
5546
5547 2004-02-25  Robert Dewar  <dewar@gnat.com>
5548
5549         * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
5550         55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
5551         5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
5552         5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
5553         5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
5554         5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
5555         the defining instance of the type to avoid aliasing problems.
5556         Fix copyright header.  Fix bad comments in package header.
5557
5558         * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
5559
5560 2004-02-25  Ed Schonberg  <schonberg@gnat.com>
5561
5562         * exp_ch2.adb (Param_Entity): Handle properly formals that have been
5563         rewritten as references when aliased through an address clause.
5564
5565         * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
5566         whether call can be interpreted as an indirect call to the result of a
5567         parameterless function call returning an access subprogram.
5568
5569 2004-02-25  Arnaud Charlet  <charlet@act-europe.fr>
5570
5571         Code clean up:
5572         * exp_ch7.adb (Make_Clean): Remove generation of calls to
5573         Unlock[_Entries], since this is now done by Service_Entries directly.
5574
5575         * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
5576
5577         * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
5578         Requeue_Call for better code readability. Change spec and update calls:
5579         PO_Service_Entries now unlock the PO on exit.
5580         (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
5581         PO_Service_Entries.
5582
5583         * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
5584
5585         * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
5586
5587 2004-02-25  Sergey Rybin  <rybin@act-europe.fr>
5588
5589         * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
5590         protected subprogram call and analyzing the result of such expanding
5591         in case when the called protected subprogram is eliminated.
5592
5593         * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
5594         names.
5595
5596 2004-02-25  Jerome Guitton  <guitton@act-europe.fr>
5597
5598         * Makefile.in: Clean ups.
5599
5600 2004-02-23  Ed Schonberg  <schonberg@gnat.com>
5601
5602         * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
5603         protected operations if original subprogram is flagged as eliminated.
5604         (Expand_N_Subprogram_Body): For a protected operation, create
5605         discriminals for next operation before checking whether the operation
5606         is eliminated.
5607
5608         * exp_ch9.adb (Expand_N_Protected_Body,
5609         Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
5610         for internal protected operations if the original subprogram is
5611         eliminated.
5612
5613         * sem_elim.adb (Check_Eliminated): Handle properly protected operations
5614         declared in a single protected object.
5615
5616 2004-02-23  Vincent Celier  <celier@gnat.com>
5617
5618         * prj-attr.adb: Make attribute Builder'Executable an associative array,
5619         case insensitive if file names are case insensitive, instead of a
5620         standard associative array.
5621
5622         * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
5623         them as case insensitive on platforms where the file names are case
5624         sensitive.
5625
5626         * prj-part.adb (Parse_Single_Project): Make sure, when checking if
5627         project file has already been parsed that canonical path are compared.
5628
5629 2004-02-23  Robert Dewar  <dewar@gnat.com>
5630
5631         * sinput-c.ads: Correct bad unit title in header
5632
5633         * freeze.adb: Minor reformatting
5634
5635 2004-02-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5636
5637         * trans.c (tree_transform, case N_Procedure_Call_Statement): For
5638         nonaddressable COMPONENT_REF that is removing padding that we are
5639         taking the address of, take the address of the padded record instead
5640         if item is variable size.
5641
5642 2004-02-20  Robert Dewar  <dewar@gnat.com>
5643
5644         * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
5645
5646 2004-02-20  Ed Schonberg  <schonberg@gnat.com>
5647
5648         * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
5649         itype references for the constrained designated type of a component
5650         whose base type is already frozen.
5651
5652 2004-02-20  Arnaud Charlet  <charlet@act-europe.fr>
5653
5654         * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
5655         avoid GCC warnings.
5656
5657 2004-02-20  Sergey Rybin  <rybin@act-europe.fr>
5658
5659         * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
5660         identifier for a phantom package that rewrites the formal package
5661         declaration with a box. The Add semantic decorations for the defining
5662         identifier from the original node (that represents the formal package).
5663
5664 2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
5665
5666         * Make-lang.in (ada/stamp-sdefault): Use the top level
5667         move-if-change.
5668
5669 2004-02-19  Richard Henderson  <rth@redhat.com>
5670
5671         * misc.c (record_code_position): Add third build arg for RTL_EXPR.
5672
5673 2004-02-18  Emmanuel Briot  <briot@act-europe.fr>
5674
5675         * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
5676         Scan_ALI can be used for multiple ALI files without reinitializing
5677         between calls.
5678
5679 2004-02-18  Robert Dewar  <dewar@gnat.com>
5680
5681         * debug.adb: Minor reformatting.
5682
5683 2004-02-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5684
5685         * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
5686         to zero if there is an address clause.
5687
5688 2004-02-18  Thomas Quinot  <quinot@act-europe.fr>
5689
5690         * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
5691
5692 2004-02-18  Gary Dismukes  <dismukes@gnat.com>
5693
5694         * layout.adb (Layout_Component_List): Revise generation of call to
5695         discriminant-checking function to pass selections of all of the type's
5696         discriminants rather than just the variant-controlling discriminant.
5697
5698 2004-02-18  Olivier Hainque  <hainque@act-europe.fr>
5699
5700         * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
5701         fail in the current setup and triggers spurious system error messages.
5702         Pretend it occurred and failed instead.
5703
5704 2004-02-18  Vincent Celier  <celier@gnat.com>
5705
5706         * bld.adb: Mark FLDFLAGS as saved
5707         (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
5708         it is not the root project.  Put each directory to be
5709         extended between double quotes to prevent it to be expanded on Windows.
5710         (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
5711         the project file. Set them back to their initial values if they have not
5712         been set in the project file.
5713
5714         * gprcmd.adb: (Gprdebug, Debug): New global variables
5715         (Display_Command): New procedure
5716         (Usage): Document new command "linkopts"
5717         Call Display_Command when env var GPRDEBUG has the value "TRUE"
5718         Implement new command "linkopts"
5719         Remove quotes that may be around arguments for "extend"
5720         Always call Normalize_Pathname with arguments formatted for the platform
5721
5722         * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
5723         Change @echo to @$(display) in target clean to be able to clean silently
5724
5725         * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
5726
5727         * prj-part.adb (Project_Path_Name_Of): Do not put final result in
5728         canonical case.
5729
5730         * prj-part.adb (Parse_Single_Project): Always call with From_Extended
5731         = Extending_All when current project is an extending all project.
5732
5733         * vms_conv.adb (Output_File_Expected): New Boolean global variable,
5734         set to True only for LINK command, after Unix switch -o.
5735         (Process_Arguments): Set Output_File_Expected to True for LINK command
5736         after Unix switch -o. When Output_File_Expected is True, never add an
5737         extension to a file name.
5738
5739         * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
5740         option file name, only to the --for-linker= switch.
5741         (Option_File_Name): If option file name do not end with ".opt", append
5742         "/OPTIONS".
5743
5744 2004-02-18  GNAT Script  <nobody@gnat.com>
5745
5746         * Make-lang.in: Makefile automatically updated
5747
5748 2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
5749
5750         * Make-lang.in (stamp-sdefault): Do not depend on
5751         move-if-change.
5752
5753 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
5754
5755         * config-lang.in: Disable Ada by default until probe logic for
5756         a bootstrap Ada compiler can be moved to the top level configure
5757         script.
5758
5759 2004-02-12  Olivier Hainque  <hainque@act-europe.fr>
5760
5761         * decl.c (components_to_record): Don't claim that the internal fields
5762         we make to hold the variant parts are semantically addressable, because
5763         they are not.
5764
5765         * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
5766         adjust the comment describing the modular type form when we can use it.
5767         (Install_PAT): Account for the Esiz renaming.
5768
5769         * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
5770         sc_onstack context indication before raising the exception to which
5771         the signal is mapped. Allows better handling of later signals possibly
5772         triggered by the resumed user code if the exception is handled.
5773
5774 2004-02-12  Arnaud Charlet  <charlet@act-europe.fr>
5775
5776         * 5zinit.adb: Removed, no longer used.
5777
5778 2004-02-12  Robert Dewar  <dewar@gnat.com>
5779
5780         * ali.adb: Remove separating space between parameters on R line. Makes
5781         format consistent with format used by the binder for Set_Globals call.
5782
5783         * atree.ads, atree.adb: Minor reformatting (new function header format)
5784
5785         * bindgen.adb: Add Run-Time Globals documentation section containing
5786         detailed documentation of the globals passed from the binder file to
5787         the run time.
5788
5789         * gnatls.adb: Minor reformatting
5790
5791         * init.c (__gnat_set_globals): Add note pointing to documentation in
5792         bindgen.
5793
5794         * lib-writ.ads, lib-writ.adb: Remove separating space between
5795         parameters on R line.
5796         Makes format consistent with format used by the binder for Set_Globals
5797         call.
5798
5799         * osint.ads: Add 2004 to copyright notice
5800         Minor reformatting
5801
5802         * snames.ads: Correct capitalization of FIFO_Within_Priorities
5803         Noticed during code reading, documentation issue only
5804
5805         * usage.adb: Remove junk line for obsolete C switch
5806         Noticed during code reading
5807
5808 2004-02-12  Vincent Celier  <celier@gnat.com>
5809
5810         * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
5811         extend for each directory, so that multiple /** directories are
5812         extended individually.
5813         (Recursive_Process): Set the default for LANGUAGES to ada
5814
5815         * gprcmd.adb: Define new command "ignore", to do nothing.
5816         Implement new comment "path".
5817
5818         * Makefile.generic: Suppress output when SILENT is set
5819         Make sure that when compiler for C/C++ is gcc, the correct -x switch is
5820         used, so that the correct compiler is invoked.
5821         When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
5822         CXX_INCLUDE_PATH, to avoid failure with too long command lines.
5823
5824 2004-02-12  Jerome Guitton  <guitton@act-europe.fr>
5825
5826         * Makefile.in: Clean ups and remove obsolete targets.
5827
5828 2004-02-12  Ed Schonberg  <schonberg@gnat.com>
5829
5830         * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
5831         predicate declared in exp_util.
5832
5833         * exp_util.adb: Add comments.
5834
5835         * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
5836         visibility before compiling context of the subunit.
5837
5838         * sem_res.adb (Check_Parameterless_Call): If the context expects a
5839         value but the name is a procedure, do not attempt to analyze as a call,
5840         in order to obtain more telling diagnostics.
5841
5842         * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
5843         'Access on parameterless function calls.
5844         (Normalize_Actuals): For a parameterless function call with missing
5845         actuals, defer diagnostic until resolution of enclosing call.
5846
5847         * sem_util.adb (Wrong_Type): If the context type is an access to
5848         subprogram and the expression is a procedure name, suggest a missing
5849         'attribute.
5850
5851 2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>,
5852             Nathanael Nerode  <neroden@gcc.gnu.org>
5853
5854         PR ada/6637, PR ada/5911
5855         Merge with libada-branch:
5856         * config-lang.in: Build libada only when ada is built.
5857
5858 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
5859
5860         * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
5861         for a tagged type, verify that both formals have the same type.
5862
5863         * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
5864         temporary when the formal is an in-parameter and the actual a possibly
5865         unaligned slice.
5866
5867         * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
5868         when expansion is disabled, to ensure proper name capture with
5869         overloaded literals.  Condition can be of any boolean type, resolve
5870         accordingly.
5871
5872         * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
5873         renaming is for a formal subprogram with a default operator name, and
5874         there is a usable operator that is visible at the point of
5875         instantiation.
5876
5877 2004-02-09  Robert Dewar  <dewar@gnat.com>
5878
5879         * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
5880         rewrite to ignore errors in ali files, intended to allow tools downward
5881         compatibility with new versions of ali files.
5882
5883         * ali.ads: Add new parameter Ignore_Errors
5884
5885         * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
5886         duplicating the error message giving the file with restrictions.
5887
5888         * debug.adb: Add debug flag I for gnatbind
5889
5890         * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
5891         operators for the case where the operator is a defining operator.
5892
5893         * exp_ch3.adb: Minor reformatting (new function spec format).
5894
5895         * exp_ch4.adb: Add comment for previous change, and make minor
5896         adjustment to loop to always check for improper loop termination.
5897         Minor reformatting throughout (new function spec format).
5898
5899         * gnatbind.adb: Implement -di debug flag for gnatbind
5900
5901         * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
5902
5903         * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
5904
5905         * lib-load.adb: Fix bad assertion.
5906         Found by testing and code reading.
5907         Minor reformatting.
5908
5909         * lib-load.ads: Minor reformatting.
5910
5911         * lib-writ.adb: There is only one R line now.
5912
5913         * lib-writ.ads: Add documentation on making downward compatible changes
5914         to ali files so old tools work with new ali files.
5915         There is only one R line now.
5916         Add documentation on format incompatibilities (with special GPS note)
5917
5918         * namet.ads, namet.adb: (Is_Operator_Name): New procedure
5919
5920         * par-load.adb: Minor reformatting
5921
5922         * sem_ch8.adb: Fix to error message from last update
5923         Minor reformatting and restructuring of code from last update
5924
5925         * par-prag.adb, snames.adb, snames.ads, snames.h,
5926         sem_prag.adb: Implement pragma Profile.
5927
5928         * stylesw.adb: Implement -gnatyN switch to turn off all style check
5929         options.
5930
5931         * usage.adb: Add line for -gnatyN switch
5932
5933         * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
5934
5935 2004-02-09  Albert Lee  <lee@gnat.com>
5936
5937         * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
5938
5939 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
5940
5941         * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
5942         slices.
5943
5944         * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
5945         is nested in an instance that is not frozen yet, to avoid
5946         order-of-elaboration problems in gigi.
5947
5948         * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
5949         body the attribute is legal.
5950
5951 2004-02-09  Robert Dewar  <dewar@gnat.com>
5952
5953         * s-rident.ads: Minor comment correction
5954
5955         * targparm.adb: Remove dependence on uintp completely. There was
5956         always a bug in Make in that it called Targparm before initializing
5957         the Uint package. The old code appeared to get away with this, but
5958         the new code did not! This caused an assertion error in gnatmake.
5959
5960         * targparm.ads: Fix bad comment, restriction pragmas with parameters
5961         are indeed fully supported.
5962
5963 2004-02-06  Alan Modra  <amodra@bigpond.net.au>
5964
5965         * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
5966
5967 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
5968
5969         * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
5970         with targetm.calls.promote_prototypes.
5971
5972 2004-02-04  Robert Dewar  <dewar@gnat.com>
5973
5974         * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
5975         ali.ads, gprcmd.adb: Minor reformatting
5976
5977         * bindgen.adb: Output restrictions string for new style restrictions
5978         handling
5979
5980         * impunit.adb: Add s-rident.ads (System.Rident) and
5981         s-restri (System.Restrictions)
5982
5983         * lib-writ.adb: Fix bug in writing restrictions string (last few
5984         entries wrong)
5985
5986         * s-restri.ads, s-restri.adb: Change name Restrictions to
5987         Run_Time_Restrictions to avoid conflict with package name.
5988         Add circuit to read and acquire run time restrictions.
5989
5990 2004-02-04  Jose Ruiz  <ruiz@act-europe.fr>
5991
5992         * restrict.ads, restrict.adb: Use the new restriction
5993         No_Task_Attributes_Package instead of the old No_Task_Attributes.
5994
5995         * sem_prag.adb: No_Task_Attributes is a synonym of
5996         No_Task_Attributes_Package.
5997
5998         * snames.ads, snames.adb: New entry for proper handling of
5999         No_Task_Attributes.
6000
6001         * s-rident.ads: Adding restriction No_Task_Attributes_Package
6002         (AI-00249) that supersedes the GNAT specific restriction
6003         No_Task_Attributes.
6004
6005 2004-02-04  Ed Schonberg  <schonberg@gnat.com>
6006
6007         * sem_prag.adb:
6008         (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
6009          body, an identifier may be wrapped in an unchecked conversion.
6010
6011 2004-02-04  Vincent Celier  <celier@gnat.com>
6012
6013         * lib-writ.ads: Comment update for the W lines
6014
6015         * bld.adb: (Expression): An empty string list is static
6016
6017         * fname-uf.adb: Minor comment update
6018
6019         * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
6020
6021         * gnatbind.adb: Initialize Cumulative_Restrictions with the
6022         restrictions on the target.
6023
6024 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
6025
6026         * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
6027         gen_rtx.
6028
6029 2004-02-02  Arnaud Charlet  <charlet@gnat.com>
6030
6031         * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
6032
6033 2004-02-02  Vincent Celier  <celier@gnat.com>
6034
6035         * gprcmd.adb (Check_Args): If condition is false, print the invoked
6036         comment before the usage.
6037         Gprcmd: Fail when command is not recognized.
6038         (Usage): Document command "prefix"
6039
6040         * g-md5.adb (Digest): Process last block.
6041         (Update): Do not process last block. Store remaining characters and
6042         length in Context.
6043
6044         * g-md5.ads (Update): Document that several call to update are
6045         equivalent to one call with the concatenated string.
6046         (Context): Add fields to allow new Update behaviour.
6047
6048         * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
6049         defaulted to False.
6050         When May_Fail is True and no existing file can be found, return No_File.
6051
6052         * 6vcstrea.adb: Inlined functions are now wrappers to implementation
6053         functions.
6054
6055         * lib-writ.adb (Write_With_Lines): When body file does not exist, use
6056         spec file name instead on the W line.
6057
6058 2004-02-02  Robert Dewar  <dewar@gnat.com>
6059
6060         * ali.adb: Read and acquire info from new format restrictions lines
6061
6062         * bcheck.adb: Add circuits for checking restrictions with parameters
6063
6064         * bindgen.adb: Output dummy restrictions data
6065         To be changed later
6066
6067         * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
6068         exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
6069         freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
6070         sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
6071         sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
6072
6073         * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
6074         the warning message on access to possibly uninitialized variable S)
6075         Minor changes for new restrictions handling.
6076
6077         * gnatbind.adb: Minor reformatting
6078         Minor changes for new restrictions handling
6079         Move circuit for -r processing here from bcheck (cleaner)
6080
6081         * gnatcmd.adb, gnatlink.adb: Minor reformatting
6082
6083         * lib-writ.adb: Output new format restrictions lines
6084
6085         * lib-writ.ads: Document new R format lines for new restrictions
6086         handling.
6087
6088         * s-restri.ads/adb: New files
6089
6090         * Makefile.rtl: Add entry for s-restri.ads/adb
6091
6092         * par-ch3.adb: Fix bad error messages starting with upper case letter
6093         Minor reformatting
6094
6095         * restrict.adb: Major rewrite throughout for new restrictions handling
6096         Major point is to handle restrictions with parameters
6097
6098         * restrict.ads: Major changes in interface to handle restrictions with
6099         parameters. Also generally simplifies setting of restrictions.
6100
6101         * snames.ads/adb: New entry for proper handling of No_Requeue
6102
6103         * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
6104         restriction counting.
6105         Other minor changes for new restrictions handling
6106
6107         * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
6108         Restriction_Warnings now allows full parameter notation
6109         Major rewrite of Restrictions for new restrictions handling
6110
6111 2004-02-02  Javier Miranda  <miranda@gnat.com>
6112
6113         * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
6114         syntax rule for object renaming declarations.
6115         (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
6116         component definitions.
6117
6118         * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
6119         components.
6120         (Array_Type_Declaration): Give support to access components. In addition
6121         it was also modified to reflect the name of the object in anonymous
6122         array types. The old code did not take into account that it is possible
6123         to have an unconstrained anonymous array with an initial value.
6124         (Check_Or_Process_Discriminants): Allow access discriminant in
6125         non-limited types.
6126         (Process_Discriminants): Allow access discriminant in non-limited types
6127         Initialize the new Access_Definition field in N_Object_Renaming_Decl
6128         node.  Change Ada0Y to Ada 0Y in comments
6129
6130         * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
6131         equality operators.
6132         Change Ada0Y to Ada 0Y in comments
6133
6134         * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
6135         renamings Change Ada0Y to Ada 0Y in comments
6136
6137         * sem_type.adb (Find_Unique_Type): Give support to the equality
6138         operators for universal access types
6139         Change Ada0Y to Ada 0Y in comments
6140
6141         * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
6142
6143         * sinfo.ads (N_Component_Definition): Addition of Access_Definition
6144         field.
6145         (N_Object_Renaming_Declaration): Addition of Access_Definition field
6146         Change Ada0Y to Ada 0Y in comments
6147
6148         * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
6149         component definition and object renaming nodes
6150         Change Ada0Y to Ada 0Y in comments
6151
6152 2004-02-02  Jose Ruiz  <ruiz@act-europe.fr>
6153
6154         * restrict.adb: Use the new restriction identifier
6155         No_Requeue_Statements instead of the old No_Requeue for defining the
6156         restricted profile.
6157
6158         * sem_ch9.adb (Analyze_Requeue): Check the new restriction
6159         No_Requeue_Statements.
6160
6161         * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
6162         that supersedes the GNAT specific restriction No_Requeue. The later is
6163         kept for backward compatibility.
6164
6165 2004-02-02  Ed Schonberg  <schonberg@gnat.com>
6166
6167         * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
6168         5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
6169         pragma and fix incorrect ones.
6170
6171         * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
6172         warning if the pragma is redundant.
6173
6174 2004-02-02  Thomas Quinot  <quinot@act-europe.fr>
6175
6176         * 5staprop.adb: Add missing 'constant' keywords.
6177
6178         * Makefile.in: use consistent value for SYMLIB on
6179         platforms where libaddr2line is supported.
6180
6181 2004-02-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6182
6183         * utils.c (end_subprog_body): Do not call rest_of_compilation if just
6184         annotating types.
6185
6186 2004-02-02  Olivier Hainque  <hainque@act-europe.fr>
6187
6188         * init.c (__gnat_install_handler): Setup an alternate stack for signal
6189         handlers in the environment thread. This allows proper propagation of
6190         an exception on stack overflows in this thread even when the builtin
6191         ABI stack-checking scheme is used without support for a stack reserve
6192         region.
6193
6194         * utils.c (create_field_decl): Augment the head comment about bitfield
6195         creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
6196         here, because the former is not accurate enough at this point.
6197         Let finish_record_type decide instead.
6198         Don't make a bitfield if the field is to be addressable.
6199         Always set a size for the field if the record is packed, to ensure the
6200         checks for bitfield creation are triggered.
6201         (finish_record_type): During last pass over the fields, clear
6202         DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
6203         not covered by the calls to layout_decl.  Adjust DECL_NONADDRESSABLE_P
6204         from DECL_BIT_FIELD.
6205
6206 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
6207
6208         * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
6209         (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
6210         (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
6211
6212 2004-01-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6213
6214         * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
6215
6216         * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
6217         (ZCX_By_Default): Likewise.
6218         (Front_End_ZCX_Support): Likewise.
6219
6220         * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
6221         (Initialize_Lock): Mark Level unreferenced.
6222         (Sleep): Mark Reason unreferenced.
6223         (Timed_Sleep): Likewise.
6224         (Wakeup): Likewise.
6225         (Exit_Task): Use Result.
6226         (Check_No_Locks): Mark Self_ID unreferenced.
6227
6228         * 5gtasinf.adb (New_Sproc): Make Attr constant.
6229         (Bound_Thread_Attributes): Make Sproc constant.
6230         (New_Bound_Thread_Attributes): Likewise.
6231
6232 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
6233
6234         * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
6235         one-dimensional array an slice assignments, when component type is
6236         controlled.
6237
6238         * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
6239         component type is controlled, and control_actions are in effect, use
6240         TSS procedure rather than generating inline code.
6241
6242         * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
6243         arrays with controlled components.
6244
6245 2004-01-26  Vincent Celier  <celier@gnat.com>
6246
6247         * gnatcmd.adb (GNATCmd): Add specification of argument file on the
6248         command line for the non VMS case.
6249
6250         * gnatlink.adb (Process_Binder_File): When building object file, if
6251         GNU linker is used, put all object paths between quotes, to prevent ld
6252         error when there are unusual characters (such as '!') in the paths.
6253
6254         * Makefile.generic: When there are sources in Ada and the main is in
6255         C/C++, invoke gnatmake with -B, instead of -z.
6256
6257         * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
6258         from VMS_Conversion.
6259         (Process_Argument): New procedure, extracted from VMS_Conversion. Add
6260         specification of argument file on the command line.
6261
6262 2004-01-26  Bernard Banner  <banner@gnat.com>
6263
6264         * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
6265
6266 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
6267
6268         * snames.adb: Update copyright notice.
6269         Add info on slice assignment for controlled arrays.
6270
6271 2004-01-23  Robert Dewar  <dewar@gnat.com>
6272
6273         * exp_aggr.adb: Minor reformatting
6274
6275         * exp_ch9.adb: Minor code clean up
6276         Minor reformatting
6277         Fix bad character in comment
6278
6279         PR ada/13471
6280         * targparm.adb (Get_Target_Parameters): Give clean abort error on
6281         unexpected end of file, along with more detailed message.
6282
6283 2004-01-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6284
6285         * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
6286         PAT.
6287
6288         * decl.c (copy_alias_set): New function.
6289         (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
6290
6291 2004-01-23  Doug Rupp  <rupp@gnat.com>
6292
6293         * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
6294         lib$${file} in case subsequent character is not a separator.
6295
6296 2004-01-23  Vincent Celier  <celier@gnat.com>
6297
6298         * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
6299         when the GCC version is at least 3.
6300
6301         * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
6302         Remove all "Opt.", to prepare for opt split
6303
6304         * prj-part.adb (Parse_Single_Project): New Boolean out parameter
6305         Extends_All. Set to True when the project parsed is an extending all
6306         project. Fails for importing an extending all project only when the
6307         imported project is an extending all project.
6308         (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
6309         depending on the value of Extends_All returned.
6310
6311         * prj-proc.adb (Process): Check that no project shares its object
6312         directory with a project that extends it, directly or indirectly,
6313         including a virtual project.
6314         Check that no project extended by another project shares its object
6315         directory with another also extended project.
6316
6317         * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
6318         Kind = N_With_Clause
6319
6320         * prj-tree.ads: Minor reformatting
6321         Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
6322
6323 2004-01-23  Ed Schonberg  <schonberg@gnat.com>
6324
6325         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
6326         applies to a type with an incomplete view, use full view in Name of
6327         clause, for consistency with uses of Get_Attribute_Definition_Clause.
6328
6329 2004-01-23  Arnaud Charlet  <charlet@act-europe.fr>
6330
6331         * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
6332         SCHED_RR, since other values are not supported by this policy.
6333         (Initialize): Move initialization of mutex attribute to package
6334         elaboration, to prevent early access to this variable.
6335
6336         * Makefile.in: Remove mention of Makefile.adalib, unused.
6337
6338         * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
6339         1ssecsta.ads: Removed, unused.
6340
6341 2004-01-21  Javier Miranda  <miranda@gnat.com>
6342
6343         * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
6344         entity if already built in the current scope.
6345
6346         * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
6347         reminder in internal scopes. Required for nested limited aggregates.
6348
6349 2004-01-21  Doug Rupp  <rupp@gnat.com>
6350
6351         * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
6352         VMS. Replace all occurences of libgnat- and libgnarl- with
6353         libgnat$(hyphen) and libgnarl$(hyphen).
6354         Fixed shared library build problem on VMS.
6355
6356 2004-01-21  Robert Dewar  <dewar@gnat.com>
6357
6358         * mlib-prj.adb: Minor reformatting
6359
6360 2004-01-21  Thomas Quinot  <quinot@act-europe.fr>
6361
6362         * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
6363         'constant' keywords for declaration of pointers that are not modified.
6364
6365         * exp_pakd.adb: Fix English in comment.
6366
6367 2004-01-21  Ed Schonberg  <schonberg@gnat.com>
6368
6369         PR ada/10889
6370         * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
6371         copy all attributes of the parent, including the foreign language
6372         convention.
6373
6374 2004-01-21  Sergey Rybin  <rybin@act-europe.fr>
6375
6376         PR ada/10565
6377         * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
6378         for 'delay until' statement.
6379
6380 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
6381
6382         * Make-lang.in: Replace $(docdir) with doc.
6383         (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
6384         doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
6385         to use consistent MAKEINFO rule.
6386         (ada.man, ada.srcman): Dummy entry.
6387         (ADA_INFOFILES): Define.
6388         (ada.info, ada.srcinfo): New rules.
6389
6390 2004-01-19  Arnaud Charlet  <charlet@act-europe.fr>
6391
6392         * utils.c: Update copyright notice, missed in previous change.
6393
6394 2004-01-19  Vincent Celier  <celier@gnat.com>
6395
6396         * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
6397         args if Bind is True. Set First_ALI, if not already done.
6398         (Build_Library): For Stand Alone Libraries, extract from one ALI file
6399         an eventual --RTS switch, for gnatbind, and all backend switches +
6400         --RTS, for linking.
6401
6402 2004-01-19  Robert Dewar  <dewar@gnat.com>
6403
6404         * sem_attr.adb, memtrack.adb: Minor reformatting
6405
6406 2004-01-19  Ed Schonberg  <schonberg@gnat.com>
6407
6408         * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
6409         that rename enumeration literals. This is properly done in sem_eval.
6410
6411         * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
6412         to functions that rename enumeration literals.
6413
6414         * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
6415         functions that rename enumeration literals.
6416
6417 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
6418
6419         * Make-lang.in (utils.o): Depend on target.h.
6420         * utils.c: Include target.h.
6421         (process_attributes): Use targetm.have_named_sections instead
6422         of ASM_OUTPUT_SECTION_NAME.
6423
6424 2004-01-16  Andreas Jaeger  <aj@suse.de>
6425
6426         * Makefile.in: Add $(DESTDIR).
6427
6428 2004-01-15  Olivier Hainque  <hainque@act-europe.fr>
6429
6430         * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
6431         also when not defining if a Size clause applies. That information is
6432         not to be ignored.
6433
6434 2004-01-15  Arnaud Charlet  <charlet@act-europe.fr>
6435
6436         * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
6437         symbolic links for the shared gnat run time when needed.
6438
6439 2004-01-15  Vasiliy Fofanov  <fofanov@act-europe.fr>
6440
6441         * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
6442         for writing, and terminate with an error message if not.
6443
6444 2004-01-15  Ed Schonberg  <schonberg@gnat.com>
6445
6446         * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
6447         warning on an access to subprogram in an instance, when the target
6448         type is declared in the same generic unit.
6449         (Eval_Attribute): If 'access is known to fail accessibility check,
6450         rewrite as a raise statement.
6451
6452 2004-01-15  GNAT Script  <nobody@gnat.com>
6453
6454         * Make-lang.in: Makefile automatically updated
6455
6456 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
6457
6458         * Make-lang.in (ada.srcextra): Dummy entry.
6459
6460 2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
6461
6462         * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
6463
6464 2004-01-13  Ed Schonberg  <schonberg@gnat.com>
6465
6466         * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
6467         components that are initialized with aggregates.
6468
6469 2004-01-13  Vincent Celier  <celier@gnat.com>
6470
6471         * gnatlink.adb (Process_Binder_File): To find directory of shared
6472         libgcc, if "gcc-lib" is not a subdirectory, look for the last
6473         subdirectory "lib" in the path of the shared libgnat or libgnarl.
6474
6475         * make.adb (Gnatmake): If GCC version is at least 3, link with
6476         -shared-libgcc, when there is at least one shared library project.
6477
6478         * opt.ads (GCC_Version): New integer constant.
6479
6480         * adaint.c (get_gcc_version): New function.
6481
6482 2004-01-13  Robert Dewar  <dewar@gnat.com>
6483
6484         * sem_dist.adb, sem_res.adb, sem_util.adb,
6485         sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
6486         exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
6487
6488 2004-01-13  Thomas Quinot  <quinot@act-europe.fr>
6489
6490         * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
6491         g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
6492         declarations.
6493
6494 2004-01-12  Arnaud Charlet  <charlet@act-europe.fr>
6495
6496         * misc.c: Remove trailing spaces.
6497         Update copyright notice missed in previous change.
6498
6499         PR ada/13572
6500         * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
6501         prefix/share/make
6502
6503         * Makefile.generic: Update copyright.
6504         Add license notice.
6505
6506         * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
6507         of prefix/share/make.
6508
6509         * Makefile.prolog: Update copyright.
6510         Add license notice.
6511
6512 2004-01-12  Laurent Pautet  <pautet@act-europe.fr>
6513
6514         * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
6515         3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
6516         g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
6517         instead of String.
6518
6519         * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
6520         signature.
6521
6522 2004-01-12  Javier Miranda  <miranda@gnat.com>
6523
6524         * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
6525         exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
6526         sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
6527         sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
6528         Component_Definition node.
6529
6530 2004-01-12  Ed Falis  <falis@gnat.com>
6531
6532         * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
6533
6534 2004-01-12  Thomas Quinot  <quinot@act-europe.fr>
6535
6536         * link.c: Change default libgnat kind to STATIC for FreeBSD.
6537
6538 2004-01-12  Bernard Banner  <banner@gnat.com>
6539
6540         * Makefile.in: map 86numaux to a-numaux for x86_64
6541
6542 2004-01-12  Ed Schonberg  <schonberg@gnat.com>
6543
6544         * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
6545         generated to rename a generic actual, go to the actual itself, the
6546         subtype is not a user-visible entity.
6547
6548         * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
6549         part is a private subtype, reset the visibility of its full view, if
6550         any, to be consistent.
6551
6552         PR ada/13417
6553         * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
6554         to use a generic package G as a formal package for another generic
6555         declared within G.
6556
6557 2004-01-12  Robert Dewar  <dewar@gnat.com>
6558
6559         * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
6560
6561         * usage.adb: Remove mention of obsolete -gnatwb switch
6562         Noticed during code reading
6563
6564 2004-01-12  Jerome Guitton  <guitton@act-europe.fr>
6565
6566         * 1ssecsta.adb: Minor changes for -gnatwa warnings
6567
6568 2004-01-12  GNAT Script  <nobody@gnat.com>
6569
6570         * Make-lang.in: Makefile automatically updated
6571
6572 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
6573
6574         * misc.c (gnat_expand_expr): Add alt_rtl parameter.
6575
6576 2004-01-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6577
6578         * link.c [sgi] (shared_libgnat_default): Change to STATIC.
6579
6580 2004-01-05  Kelley Cook  <kcook@gcc.gnu.org>
6581
6582         * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
6583         Update comment and copyright date.
6584         * stamp-xgnatug: Delete.
6585
6586 2004-01-05  Robert Dewar  <dewar@gnat.com>
6587
6588         * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
6589         be modified by the binder generated main program if the -D switch is
6590         used.
6591
6592         * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
6593         imported functions (since now we expect this to be done for imported
6594         functions)
6595
6596         * 5vtaprop.adb: Add several ??? for sections requiring more comments
6597         Minor reformatting throughout
6598
6599         * 5zinit.adb: Minor reformatting
6600         Add 2004 to copyright date
6601         Minor changes to avoid -gnatwa warnings
6602         Correct some instances of using OR instead of OR ELSE (noted while
6603         doing reformatting)
6604
6605         * sprint.adb: Minor updates to avoid -gnatwa warnings
6606
6607         * s-secsta.ads, s-secsta.adb:
6608         (SS_Get_Max): New function to obtain high water mark for ss stack
6609         Default_Secondary_Stack is not a constant since it may be modified by
6610         the binder generated main program if the -D switch is used.
6611
6612         * switch-b.adb: New -Dnnn switch for binder
6613
6614         * switch-c.adb:
6615         Make -gnatg imply all warnings currently in -gnatwa
6616
6617         * vms_conv.adb: Minor reformatting
6618         Add 2004 to copyright notice
6619         Add 2004 to printed copyright notice
6620
6621         * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
6622         3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
6623         5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
6624         5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
6625         5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
6626         5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
6627         5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
6628         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
6629         5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
6630         5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
6631         6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
6632         vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
6633         xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
6634         sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
6635         checks.adb, clean.adb, cstand.adb, einfo.ads,
6636         einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
6637         exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
6638         prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
6639         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
6640         g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
6641         lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
6642         Minor reformatting and code clean ups.
6643         Minor changes to prevent -gnatwa warnings
6644
6645         * ali.adb: Minor reformatting and cleanup of code
6646         Acquire new SS indication of secondary stack use from ali files
6647
6648         * a-numaux.ads: Add Pure_Function pragmas for all imported functions
6649         (since now we expect this to be done for imported functions)
6650
6651         * bindgen.adb: Generate call to modify default secondary stack size if
6652         -Dnnn switch given
6653
6654         * bindusg.adb: Add line for new -D switch
6655
6656         * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
6657         replacement name for Type_May_Have_Non_Bit_Aligned_Components!
6658         Add circuitry for both records and arrays to avoid gigi
6659         processing if the type involved has non-bit-aligned components
6660
6661         * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
6662         N_String_Literal node always references an E_String_Literal_Subtype
6663         entity. This may not be true in the future.
6664         (Possible_Bit_Aligned_Component): Move processing of
6665         Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
6666
6667         * exp_ch6.adb (Expand_Thread_Body): Pick up
6668         Default_Secondary_Stack_Size as variable so that we get value modified
6669         by possible -Dnnn binder parameter.
6670
6671         * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
6672         (Type_May_Have_Bit_Aligned_Components): New function.
6673
6674         * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
6675         (Type_May_Have_Bit_Aligned_Components): New function.
6676
6677         * fe.h: (Set_Identifier_Casing): Fix prototype.
6678         Add declaration for Sem_Elim.Eliminate_Error_Msg.
6679         Minor reformatting.
6680
6681         * freeze.adb (Freeze_Entity): Add RM reference to error message about
6682         importing constant atomic/volatile objects.
6683         (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
6684         unless explicit Pure_Function pragma given, to avoid insidious bug of
6685         call to non-pure imported function getting eliminated.
6686
6687         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
6688         gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
6689         gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
6690         Add 2004 to printed copyright notice
6691
6692         * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
6693         stack used.
6694
6695         * Makefile.rtl: Add entry for g-sestin.o
6696         g-sestin.ads: New file.
6697
6698         * mdll.adb: Minor changes to avoid -gnatwa warnings
6699
6700         * mlib-tgt.adb: Minor reformatting
6701
6702         * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
6703         New switch Sec_Stack_Used (GNAT, GNATBIND)
6704         Make Default_Secondary_Stack_Size a variable instead of a constant,
6705         so that it can be modified by the new -Dnnn bind switch.
6706
6707         * rtsfind.adb (Load_Fail): Give full error message in configurable
6708         run-time mode if all_errors mode is set. This was not done in the case
6709         of a file not found, which was an oversight.
6710         Note if secondary stack unit is used by compiler.
6711
6712         * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
6713         ineffective elaborate all pragmas on non-visible packages (this
6714         happened when a renamed subprogram was called). Now the elaborate all
6715         always goes on the package containing the renaming rather than the one
6716         containing the renamed subprogram.
6717
6718         * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
6719         (Process_Eliminate_Pragma): Add parameter to capture pragma location.
6720
6721         * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
6722         has an Etype that references an E_String_Literal.
6723         (Eval_String_Literal): Avoid assumption that N_String_Literal node
6724         always references an E_String_Literal_Subtype entity. This may not
6725         be true in the future.
6726
6727         * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
6728         pragma location.
6729
6730         * sem_res.adb (Resolve): Specialize msg for function name used in proc
6731         call.
6732
6733 2004-01-05  Ed Falis  <falis@gnat.com>
6734
6735         * g-debuti.adb: Replaced direct boolean operator with short-circuit
6736         form.
6737
6738 2004-01-05  Vincent Celier  <celier@gnat.com>
6739
6740         * bld.adb: Minor comment updates
6741         (Process_Declarative_Items): Correct incorrect name (Index_Name instead
6742         of Item_Name).
6743
6744         * make.adb (Gnatmake): Special process for files to compile/check when
6745         -B is specified. Fail when there are only foreign mains in attribute
6746         Main of the project file and -B is not specified. Do not skip bind/link
6747         steps when -B is specified.
6748
6749         * makeusg.adb: Document new switch -B
6750
6751         * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
6752
6753         * switch-m.adb: (Scan_Make_Switches): Process -B switch
6754
6755         * vms_data.ads: Add new GNAT PRETTY qualifier
6756         /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
6757
6758 2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6759
6760         * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
6761         case.
6762
6763         * misc.c (gnat_printable_name): If VERBOSITY is 2, call
6764         Set_Identifier_Casing.
6765
6766         * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
6767         has size that overflows.
6768
6769 2004-01-05  Gary Dismukes  <dismukes@gnat.com>
6770
6771         * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
6772         -gnatwa warning on static condition.
6773
6774 2004-01-05  Doug Rupp  <rupp@gnat.com>
6775
6776         * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
6777
6778 2004-01-05  Arnaud Charlet  <charlet@act-europe.fr>
6779
6780         * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
6781         all attributes, including read-only attribute.
6782
6783 2004-01-05  Pascal Obry  <obry@gnat.com>
6784
6785         * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
6786         library naming scheme.
6787
6788         * mlib-prj.adb (Build_Library): Generate different names for the static
6789         or dynamic version of the GNAT runtime. This is needed to support the
6790         new shared library naming scheme.
6791         (Process_Binder_File): Add detection of shared library in binder file
6792         based on the new naming scheme.
6793
6794         * gnatlink.adb (Process_Binder_File): Properly detect the new naming
6795         scheme for the shared runtime libraries.
6796
6797         * Makefile.in:
6798         (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
6799         scheme.
6800         (install-gnatlib): Do not create symlinks for shared libraries.
6801         (gnatlib-shared-default): Idem.
6802         (gnatlib-shared-dual-win32): New target. Not used for now as the
6803         auto-import feature does not support arrays/records.
6804         (gnatlib-shared-win32): Do not create copy for the shared libraries.
6805         (gnatlib-shared-vms): Fix shared runtime libraries names.
6806
6807         * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
6808         dependent runtime shared library name.
6809
6810 2004-01-05  Vasiliy Fofanov  <fofanov@act-europe.fr>
6811
6812         * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
6813         than the object.
6814
6815 2004-01-05  Ed Schonberg  <schonberg@gnat.com>
6816
6817         * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
6818         protected objects when allocator has a subtype indication, not a
6819         qualified expression. Note that qualified expressions may have to be
6820         checked when limited aggregates are implemented.
6821
6822         * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
6823         pure, emit warning.
6824         (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
6825         subprogram is imported, remove warning.
6826
6827 2004-01-05  Geert Bosch  <bosch@gnat.com>
6828
6829         * s-poosiz.adb: Update copyright notice.
6830         (Allocate): Use Task_Lock to protect against concurrent access.
6831         (Deallocate): Likewise.
6832
6833 2004-01-05  Joel Brobecker  <brobecker@gnat.com>
6834
6835         * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
6836         comment.
6837
6838 2003-12-23  Kelley Cook  <kcook@gcc.gnu.org>
6839
6840         * gnat_ug.texi: Force a CVS commit by updating copyright.
6841         * gnat_ug_vxw.texi: Regenerate.
6842         * gnat_ug_wnt.texi: Regenerate.
6843         * gnat_ug_vms.texi: Regenerate.
6844         * gnat_ug_unx.texi: Regenerate.
6845
6846 2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
6847
6848         * trans.c: Remove uses of "register" specifier in
6849         declarations of local variables.
6850
6851 2003-12-18  Kelley Cook  <kcook@gcc.gnu.org>
6852
6853         * stamp-xgnatug: New stamp file.
6854         * Make-lang.in (stamp-xgnatug):  New stamp file and comment.
6855         (ada/doctools/xgnatug): Add $(build_exeext).
6856         (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
6857         ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
6858
6859 2003-12-17  Ed Falis  <falis@gnat.com>
6860
6861         * a-elchha.adb (Tailored_Exception_Information): made Info constant to
6862         eliminate warning.
6863
6864         * a-exextr.adb: Add context clause for
6865         Ada.Exceptions.Last_Chance_Handler.
6866
6867 2003-12-17  Sergey Rybin  <rybin@act-europe.fr>
6868
6869         * cstand.adb (Create_Standard): Change the way how the declaration of
6870         the Duration type is created (making it the same way as it is for all
6871         the other standard types).
6872
6873 2003-12-17  Robert Dewar  <dewar@gnat.com>
6874
6875         * s-crtl.ads: Fix header format
6876         Change Pure to Preelaborate
6877
6878 2003-12-17  Ed Schonberg  <schonberg@gnat.com>
6879
6880         * checks.adb (Selected_Length_Checks): Generate an Itype reference for
6881         the expression type only if it is declared in the current unit.
6882
6883         * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
6884         are universal and already analyzed, as can occur in constrained
6885         subcomponents that depend on discriminants, when one constraint is a
6886         subtype mark.
6887
6888         * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
6889         type Any_Fixed is legal as the argument of a conversion, if only one
6890         fixed-point type is in context.
6891
6892 2003-12-17  GNAT Script  <nobody@gnat.com>
6893
6894         * Make-lang.in: Makefile automatically updated
6895
6896 2003-12-15  Robert Dewar  <dewar@gnat.com>
6897
6898         * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
6899         sec stack size.
6900
6901 2003-12-15  Vincent Celier  <celier@gnat.com>
6902
6903         * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
6904         (Gnatchop): Do not set failure status when reporting the number of
6905         warnings.
6906
6907 2003-12-15  Doug Rupp  <rupp@gnat.com>
6908
6909         * s-ctrl.ads: New file.
6910
6911         * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
6912
6913         * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
6914         (GNATBIND_OBJS): Add ada/s-crtl.o.
6915
6916         * Makefile.in [VMS]: Clean up ifeq rules.
6917
6918         * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
6919         a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
6920         g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
6921         s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
6922         s-tasdeb.adb: Update copyright.
6923         Import System.CRTL.
6924         Make minor modifications to use System.CRTL declared functions instead
6925         of importing locally.
6926
6927 2003-12-15  GNAT Script  <nobody@gnat.com>
6928
6929         * Make-lang.in: Makefile automatically updated
6930
6931 2003-12-11  Ed Falis  <falis@gnat.com>
6932
6933         * 5zinit.adb: Clean up.
6934
6935         * 5zintman.adb (Notify_Exception): replaced case statement with a call
6936         to __gnat_map_signal, imported from init.c to support
6937         signal -> exception mappings that depend on the vxWorks version.
6938
6939         * init.c:
6940         Created and exported __gnat_map_signal to support signal -> exception
6941         mapping that is dependent on the VxWorks version.
6942         Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
6943
6944 2003-12-11  Vasiliy Fofanv  <fofanov@act-europe.fr>
6945
6946         * 5wosinte.ads: Link with -mthreads switch.
6947
6948 2003-12-11  Arnaud Charlet  <charlet@act-europe.fr>
6949
6950         * init.c (__gnat_install_handler [NetBSD]): Set
6951         __gnat_handler_installed, as done on all other platforms.
6952         Remove duplicated code.
6953
6954 2003-12-11  Jerome Guitton  <guitton@act-europe.fr>
6955
6956         * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
6957
6958 2003-12-11  Thomas Quinot  <quinot@act-europe.fr>
6959
6960         * sinfo.ads: Fix inconsistent example code in comment.
6961
6962 2003-12-11  Robert Dewar  <dewar@gnat.com>
6963
6964         * a-tiinau.adb: Add a couple of comments
6965
6966         * sem_ch3.adb: Minor reformatting
6967
6968         * sem_prag.adb:
6969         Fix bad prototype of Same_Base_Type in body (code reading cleanup)
6970         Minor reformatting throughout
6971
6972 2003-12-11  Ed Schonberg  <schonberg@gnat.com>
6973
6974         * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
6975         bounds of a loop, create a separate block in order to generate proper
6976         cleanup actions to prevent memory leaks.
6977
6978         * sem_res.adb (Resolve_Call): After a call to
6979         Establish_Transient_Scope, the call may be rewritten and relocated, in
6980         which case no further processing is needed.
6981
6982         * sem_util.adb: (Wrong_Type): Refine previous fix.
6983          Fixes ACATS regressions.
6984
6985         PR ada/13353
6986
6987         * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
6988         be inlined.
6989
6990 2003-12-08  Jerome Guitton  <guitton@act-europe.fr>
6991
6992         * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
6993         i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
6994         obsolete files.
6995
6996         * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
6997         (rts-zfp): Ditto.
6998
6999 2003-12-08  Robert Dewar  <dewar@gnat.com>
7000
7001         * 7sintman.adb: Minor reformatting
7002
7003         * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
7004         standard linker options to get standard libraries linked. We now plan
7005         to provide dummy versions of these libraries to match the appropriate
7006         configurable run-time (e.g. if a library is not needed at all, provide
7007         a dummy empty library).
7008
7009         * targparm.ads: Configurable_Run_Time mode no longer affects linker
7010         options (-L parameters and standard libraries). What we plan to do is
7011         to provide dummy libraries where the libraries are not required.
7012
7013         * gnatbind.adb: Minor comment improvement
7014
7015 2003-12-08  Javier Miranda  <miranda@gnat.com>
7016
7017         * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
7018         aggregate in the parent. Otherwise constants with limited aggregates
7019         are not supported. Add new formal to pass the component type (Ctype).
7020         It is required to call the corresponding IP subprogram in case of
7021         default initialized components.
7022         (Gen_Assign): In case of default-initialized component, generate a
7023         call to the IP subprogram associated with the component.
7024         (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
7025         of aggregate with default initialized components.
7026         (Has_Default_Init_Comps): Improve implementation to recursively check
7027         all the present expressions.
7028
7029         * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
7030         to indicate that the initialization call corresponds to a
7031         default-initialized component of an aggregate.
7032         In case of default initialized aggregate with tasks this parameter is
7033         used to generate a null string (this is just a workaround that must be
7034         improved later). In case of discriminants, this parameter is used to
7035         generate a selected component node that gives access to the discriminant
7036         value.
7037
7038         * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
7039         subprogram, based on Build_Task_Allocate_Block, but adapted to expand
7040         allocated aggregates with default-initialized components.
7041
7042         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
7043         the box notation is used in positional aggregates.
7044
7045 2003-12-08  Samuel Tardieu  <tardieu@act-europe.fr>
7046
7047         * lib.ads: Fix typo in comment
7048
7049 2003-12-08  Vincent Celier  <celier@gnat.com>
7050
7051         * prj.adb (Project_Empty): New component Unkept_Comments
7052         (Scan): Remove procedure; moved to Prj.Err.
7053
7054         * prj.ads (Project_Data): New Boolean component Unkept_Comments
7055         (Scan): Remove procedure; moved to Prj.Err.
7056
7057         * prj-dect.adb: Manage comments for the different declarations.
7058
7059         * prj-part.adb (With_Record): New component Node
7060         (Parse): New Boolean parameter Store_Comments, defaulted to False.
7061         Set the scanner to return ends of line and comments as tokens, if
7062         Store_Comments is True.
7063         (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
7064         comments are associated with these nodes. Store the node IDs in the
7065         With_Records.
7066         (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
7067         With_Records.
7068         (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
7069         the N_Project node. Call Tree.Save and Tree.Reset before scanning the
7070         current project. Call Tree.Restore afterwards. Set the various nodes
7071         for comment storage (Next_End, End_Of_Line, Previous_Line,
7072         Previous_End).
7073
7074         * prj-part.ads (Parse): New Boolean parameter Store_Comments,
7075         defaulted to False.
7076
7077         * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
7078         to False. When Truncated is True, truncate the string, never go to the
7079         next line.
7080         (Write_End_Of_Line_Comment): New procedure
7081         (Print): Process comments for nodes N_With_Clause,
7082         N_Package_Declaration, N_String_Type_Declaration,
7083         N_Attribute_Declaration, N_Typed_Variable_Declaration,
7084         N_Variable_Declaration, N_Case_Construction, N_Case_Item.
7085         Process nodes N_Comment.
7086
7087         * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
7088         without comments and there are some comments, set the flag
7089         Unkept_Comments to True.
7090         (Scan): If there are comments, set the flag Unkept_Comments to True and
7091         clear the comments.
7092         (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
7093         (Next_End_Nodes: New table
7094         (Comment_Zones_Of): New function
7095         (Scan): New procedure; moved from Prj. Accumulate comments in the
7096         Comments table and set end of line comments, comments after, after end
7097         and before end.
7098         (Add_Comments): New procedure
7099         (Save, Restore, Seset_State): New procedures
7100         (There_Are_Unkept_Comments): New function
7101         (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
7102         (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
7103         procedures.
7104         (First_Comment_After, First_Comment_After_End): New functions
7105         (First_Comment_Before, First_Comment_Before_End): New functions
7106         (Next_Comment): New function
7107         (End_Of_Line_Comment, Follows_Empty_Line,
7108         Is_Followed_By_Empty_Line): New functions
7109         (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
7110         (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
7111         (Set_Next_Comment): New procedure
7112         (Default_Project_Node): Associate comment before if the node can store
7113         comments.
7114
7115         * scans.ads (Token_Type): New enumeration value Tok_Comment
7116         (Comment_Id): New global variable
7117
7118         * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
7119         defaulted to False.
7120         (Scan): Store position of start of comment. If comments are tokens, set
7121         Comment_Id and set Token to Tok_Comment when scanning a comment.
7122         (Set_Comment_As_Token): New procedure
7123
7124         * sinput-p.adb: Update Copyright notice
7125         (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
7126         that no longer exists.
7127
7128 2003-12-08  Javier Miranda  <miranda@gnat.com>
7129
7130         * sem_aggr.adb: Add dependence on Exp_Tss package
7131         Correct typo in comment
7132         (Resolve_Aggregate): In case of array aggregates set the estimated
7133         type of the aggregate before calling resolve. This is needed to know
7134         the name of the corresponding IP in case of limited array aggregates.
7135         (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
7136         in case of default initialized array components.
7137
7138         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
7139         types. Required to give support to limited aggregates in generic
7140         formals.
7141
7142 2003-12-08  Ed Schonberg  <schonberg@gnat.com>
7143
7144         * sem_ch3.adb (Check_Initialization): For legality purposes, an
7145         inlined body functions like an instantiation.
7146         (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
7147         until bounds are analyzed, to diagnose premature use of type.
7148
7149         * sem_util.adb (Wrong_Type): Improve error message when the type of
7150         the expression is used prematurely.
7151
7152 2003-12-08  GNAT Script  <nobody@gnat.com>
7153
7154         * Make-lang.in: Makefile automatically updated
7155
7156 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
7157
7158         * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
7159         they are automatically generated by Make-lang.in and cause nothing but
7160         maintenance troubles.
7161
7162 2003-12-05  Thomas Quinot  <quinot@act-europe.fr>
7163
7164         * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
7165         version of this unit).
7166
7167 2003-12-05  Olivier Hainque  <hainque@act-europe.fr>
7168
7169         * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
7170         5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
7171         5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
7172         the body of System.Interrupt_Management common to several targets.
7173         Update copyright notice when appropriate.
7174
7175         * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
7176         constant.
7177
7178         * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
7179         to ensure that the kernel fills in the interrupted context structure
7180         before calling a signal handler, which is necessary to be able to
7181         unwind past it. Update the copyright notice.
7182
7183 2003-12-05  Jerome Guitton  <guitton@act-europe.fr>
7184
7185         * a-elchha.ads: New file.
7186
7187         * a-elchha.adb: New default last chance handler. Contents taken from
7188         Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
7189
7190         * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
7191         is moved to a-elchha.adb to provide a target-independent default last
7192         chance handler.
7193
7194         * Makefile.rtl: Add a-elchha.o
7195
7196         * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
7197
7198 2003-12-05  Ed Schonberg  <schonberg@gnat.com>
7199
7200         * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
7201         declared in an instance, do not inline the call if the instance is not
7202         frozen yet, to prevent order of elaboration problems.
7203
7204         * sem_prag.adb: Add comments for previous fix.
7205
7206 2003-12-05  Samuel Tardieu  <tardieu@act-europe.fr>
7207
7208         * g-table.adb: Use the right variable in Set_Item.
7209         Update copyright notice.
7210
7211 2003-12-05  Arnaud Charlet  <charlet@act-europe.fr>
7212
7213         * Makefile.in: Remove unused rules.
7214
7215 2003-12-05  Vincent Celier  <celier@gnat.com>
7216
7217         * switch-c.adb (Scan_Front_End_Switches): Remove processing of
7218         -nostdlib. Not needed here after all.
7219
7220 2003-12-03  Thomas Quinot  <quinot@act-europe.fr>
7221
7222         PR ada/11724
7223
7224         * adaint.h, adaint.c, g-os_lib.ads:
7225         Do not assume that the offset argument to lseek(2) is a 32 bit integer,
7226         on some platforms (including FreeBSD), it is a 64 bit value.
7227         Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
7228
7229 2003-12-03  Arnaud Charlet  <charlet@act-europe.fr>
7230
7231         * gnatvsn.ads (Library_Version): Now contain only the relevant
7232         version info.
7233         (Verbose_Library_Version): New constant.
7234
7235         * g-spipat.adb, g-awk.adb, g-debpoo.adb,
7236         g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
7237         s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
7238
7239         * gnatlbr.adb: Clean up: replace Library_Version by
7240         Verbose_Library_Version.
7241
7242         * make.adb, lib-writ.adb, exp_attr.adb:
7243         Clean up: replace Library_Version by Verbose_Library_Version.
7244
7245         * 5lintman.adb: Removed.
7246
7247         * Makefile.in:
7248         Update and simplify computation of LIBRARY_VERSION.
7249         Fix computation of GSMATCH_VERSION.
7250         5lintman.adb is no longer used: replaced by 7sintman.adb.
7251
7252 2003-12-03  Robert Dewar  <dewar@gnat.com>
7253
7254         * exp_ch5.adb:
7255         (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
7256         name. Modified to consider small non-bit-packed arrays as troublesome
7257         and in need of component-by-component assigment expansion.
7258
7259 2003-12-03  Vincent Celier  <celier@gnat.com>
7260
7261         * lang-specs.h: Process nostdlib as nostdinc
7262
7263         * back_end.adb: Update Copyright notice
7264         (Scan_Compiler_Arguments): Process -nostdlib directly.
7265
7266 2003-12-03  Jose Ruiz  <ruiz@act-europe.fr>
7267
7268         * Makefile.in:
7269         When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
7270         redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
7271         included in HIE_NONE_TARGET_PAIRS.
7272
7273 2003-12-03  Ed Schonberg  <schonberg@gnat.com>
7274
7275         * sem_attr.adb:
7276         (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
7277         is legal in an instance, because legality is cheched in the template.
7278
7279         * sem_prag.adb:
7280         (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
7281         appplied to an unchecked conversion of a formal parameter.
7282
7283         * sem_warn.adb:
7284         (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
7285         variables.
7286
7287 2003-12-03  Olivier Hainque  <hainque@act-europe.fr>
7288
7289         * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
7290         routines. The second one is new functionality to deal with backtracing
7291         through signal handlers.
7292         (unwind): Split into the two separate subroutines above.
7293         Update the documentation, and deal properly with sizeof (REG) different
7294         from sizeof (void*).
7295
7296 2003-12-01  Nicolas Setton  <setton@act-europe.fr>
7297
7298         * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
7299         so that the debugger can reliably access the value of the parameter,
7300         and therefore is able to display the exception name when an exception
7301         breakpoint is reached.
7302
7303 2003-12-01  Thomas Quinot  <quinot@act-europe.fr>
7304
7305         * fmap.adb: Fix typo in warning message.
7306
7307         * g-socket.ads, g-socket.adb: Make Free a visible instance of
7308         Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
7309
7310 2003-12-01  Vincent Celier  <celier@gnat.com>
7311
7312         * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
7313         ther is no Afile.
7314         (Build_Library): Get the switches only if Default_Switches is declared
7315         in package Binder.
7316
7317 2003-12-01  Ed Schonberg  <schonberg@gnat.com>
7318
7319         * exp_ch6.adb (Expand_Actuals): When applying validity checks to
7320         actuals that are indexed components, reanalyze actual to ensure that
7321         packed array references are properly expanded.
7322
7323         * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
7324         attempted assignment to a discriminant.
7325
7326 2003-12-01  Robert Dewar  <dewar@gnat.com>
7327
7328         * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
7329         reformatting.
7330
7331         * switch-c.adb: Minor reformatting of comments
7332
7333 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
7334
7335         * Makefile.in: Clean ups.
7336
7337 2003-12-01  GNAT Script  <nobody@gnat.com>
7338
7339         * Make-lang.in: Makefile automatically updated
7340
7341 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
7342
7343         * 5wsystem.ads: Disable zero cost exception, not ready yet.
7344
7345 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
7346
7347         * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
7348         to force serialization.
7349
7350 2003-11-26  Thomas Quinot  <quinot@act-europe.fr>
7351
7352         * g-socket.ads, g-socket.adb:
7353         Clarify documentation of function Stream. Introduce a Free procedure
7354         to release the returned Stream once it becomes unused.
7355
7356         * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
7357
7358 2003-11-26  Arnaud Charlet  <charlet@act-europe.fr>
7359
7360         (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
7361         since NT 4 cannot handle timeout values that are too large,
7362         e.g. DWORD'Last - 1.
7363
7364 2003-11-26  Ed Schonberg  <schonberg@gnat.com>
7365
7366         * exp_ch4.adb:
7367         (Expand_N_Slice): Recognize all cases of slices that appear as actuals
7368         in procedure calls and whose expansion must be deferred.
7369
7370         * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
7371         is in exp_ch4.
7372
7373         * sem_ch3.adb:
7374         (Build_Derived_Array_Type): Create operator for unconstrained type
7375         if ancestor is unconstrained.
7376
7377 2003-11-26  Vincent Celier  <celier@gnat.com>
7378
7379         * make.adb (Project_Object_Directory): New global variable
7380         (Change_To_Object_Directory): New procedure
7381         (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
7382         of Change_Dir directly. Do not change working directory to object
7383         directory of main project after each compilation.
7384         (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
7385         directly.
7386         Change to object directory of main project before binding step.
7387         (Initialize): Initialize Project_Object_Directory to No_Project
7388
7389         * mlib-prj.adb:
7390         (Build_Library): Take into account Builder'Default_Switches ("Ada") when
7391         binding a Stand-Alone Library.
7392
7393         * output.adb: Update Copyright notice
7394         (Write_Char): Output buffer when full
7395
7396 2003-11-26  Robert Dewar  <dewar@gnat.com>
7397
7398         * sem_ch13.adb: (Check_Size): Reset size if size is too small
7399
7400         * sem_ch13.ads:
7401         (Check_Size): Fix documentation to include bit-packed array case
7402
7403         * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
7404
7405         * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
7406
7407         * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
7408
7409 2003-11-24  Arnaud Charlet <charlet@act-europe.fr>
7410
7411         PR ada/13142
7412         * utils.c (init_gigi_decls): Change name of built-in setjmp to
7413         __builtin_setjmp, since this is apparently needed by recent
7414         non Ada changes.
7415
7416 2003-11-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7417
7418         * adadecode.c: Only include ctype.h if not IN_GCC.
7419         (__gnat_decode): Use ISDIGIT from safe-ctype.h.
7420
7421 2003-11-24  Jose Ruiz  <ruiz@act-europe.fr>
7422
7423         * Makefile.in:
7424         Use 5zintman.ads for VxWorks targets. This file avoid confusion between
7425         signals and interrupts.
7426
7427         * 5zintman.ads: New File.
7428
7429         * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
7430         add exception signals to the set of unmasked signals.
7431
7432         * 5ztaprop.adb:
7433         Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
7434         between signals and interrupts.
7435         Add to Unblocked_Signal_Mask the set of signals that are in
7436         Keep_Unmasked.
7437
7438         * 7sinmaop.adb:
7439         Adding a check to see whether the Interrupt_ID we want to unmask is in
7440         the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
7441         reason is that the index type of the Keep_Unmasked array is not always
7442         Interrupt_ID; it may be a subtype of Interrupt_ID.
7443
7444 2003-11-24  Gary Dismukes  <dismukes@gnat.com>
7445
7446         * exp_util.adb:
7447         (Remove_Side_Effects): Condition constantness of object created for a
7448          an unchecked type conversion on the constantness of the expression
7449          to ensure the correct value for 'Constrained when passing components
7450          of view-converted class-wide objects.
7451
7452 2003-11-24  Robert Dewar  <dewar@gnat.com>
7453
7454         * par-load.adb (Load): Improve handling of misspelled and missing units
7455         Removes several cases of compilation abandoned messages
7456
7457         * lib.adb: (Remove_Unit): New procedure
7458
7459         * lib.ads: (Remove_Unit): New procedure
7460
7461         * lib-load.adb: Minor reformatting
7462
7463 2003-11-24  Vincent Celier  <celier@gnat.com>
7464
7465         * make.adb:
7466         (Gnatmake, Initialize): Call Usage instead of Makeusg directly
7467         (Marking_Label): Label to mark processed source files. Incremented for
7468         each executable.
7469         (Gnatmake): Increase Marking_Labet for each executable
7470         (Is_Marked): Compare against marking label
7471         (Mark): Mark with marking label
7472
7473 2003-11-24  Jerome Guitton  <guitton@act-europe.fr>
7474
7475         * s-thread.ads:
7476         Move the declaration of the TSD for System.Threads to System.Soft_Links.
7477         Add some comments.
7478
7479         * Makefile.in: Added target pair for s-thread.adb for cert runtime.
7480         (rts-cert): build a single relocatable object for the run-time lib.
7481         Fix perms.
7482
7483 2003-11-24  Vasiliy Fofanov  <fofanov@act-europe.fr>
7484
7485         * Make-lang.in:
7486         Use gnatls rather than gcc to obtain the location of GNAT RTL for
7487         crosstools build.
7488
7489 2003-11-24  Sergey Rybin  <rybin@act-europe.fr>
7490
7491         * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
7492         can not use it as before (that is, as a variable) when dumping it into
7493         the tree file. Add a local variable to store the result of this
7494         function and to be used as the string to be written into the tree.
7495
7496         * scn.adb (Initialize_Scanner): Add comments explaining the recent
7497         changes.
7498
7499         * sinput.adb (Source_First, Source_Last): In case of
7500         Internal_Source_File, replace returning attributes of
7501         Internal_Source_Ptr (which is wrong) with returning attributes of
7502         Internal_Source.
7503
7504 2003-11-24  Ed Schonberg  <schonberg@gnat.com>
7505
7506         * sem_ch3.adb:
7507         (New_Concatenation_Op): Proper name for New_Binary_Operator, only
7508         used for implicit concatenation operators.
7509         Code cleanup.
7510
7511         * sem_elab.adb:
7512         (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
7513         task bodies that are in the scope of a Suppress pragma.
7514         (Check_A Call): Use the flag to prevent spurious elaboration checks.
7515
7516         * sinfo.ads, sinfo.adb:
7517         New flag No_Elaboration_Check on function/procedure calls, to properly
7518         suppress checks on calls in task bodies that are within a local suppress
7519         pragma.
7520
7521         * exp_ch4.adb:
7522         (Expand_Concatenate_Other): Use the proper integer type for the
7523         expression for the upper bound, to avoid universal_integer computations
7524         when possible.
7525
7526 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
7527
7528         * .cvsignore: Delete.
7529
7530 2003-11-21  Andreas Schwab  <schwab@suse.de>
7531
7532         * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
7533
7534 2003-11-21  Vasiliy Fofanov  <fofanov@act-europe.fr>
7535
7536         * 5wsystem.ads: Enable zero cost exception.
7537
7538 2003-11-21  Jerome Guitton  <guitton@act-europe.fr>
7539
7540         * 5ztiitho.adb: Remove an unreferenced variable.
7541
7542 2003-11-21  Thomas Quinot  <quinot@act-europe.fr>
7543
7544         * adaint.c: For FreeBSD, use mkstemp.
7545
7546 2003-11-21  Arnaud Charlet  <charlet@act-europe.fr>
7547
7548         * gnatlbr.adb: Now reference Gnat_Static_Version_String.
7549
7550 2003-11-21  Robert Dewar  <dewar@gnat.com>
7551
7552         * bld.adb: Remove useless USE of gnatvsn
7553
7554         * gnatchop.adb: Minor reformatting
7555         Clean up version handling to be more consistent
7556
7557         * gnatxref.adb: Minor reformatting
7558
7559         * gprcmd.adb: Minor reformatting
7560         Fix output of copyright to be more consistent with other tools
7561
7562 2003-11-21  Vincent Celier  <celier@gnat.com>
7563
7564         * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
7565
7566 2003-11-21  Sergey Rybin  <rybin@act-europe.fr>
7567
7568         * atree.adb (Initialize): Add initializations for global variables
7569         used in New_Copy_Tree.
7570
7571         * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
7572         Internal_Source_File as the actual).
7573         Put the set of statements creating Any_Character before the set of
7574         statements creating Any_Array to have Any_Character fully initialized
7575         when it is used in creating Any_Array.
7576
7577         * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
7578         not call Scan in case if the actual is Internal_Source_File
7579         Add 2003 to copyright note.
7580
7581         * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
7582         processing Internal_Source_File.
7583
7584         * types.ads: Add the constant Internal_Source_File representing the
7585         source buffer for artificial source-code-like strings created within
7586         the compiler (the definition of Source_File_Index is changed).
7587
7588 2003-11-20  Arnaud Charlet  <charlet@act-europe.fr>
7589
7590         * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
7591         56system.ads: New file, FreeBSD version.
7592
7593 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
7594
7595         * Make-lang.in (ada.extraclean): Delete.
7596
7597 2003-11-19  Arnaud Charlet  <charlet@act-europe.fr>
7598
7599         * gnatmem.adb: Clean up verbose output.
7600
7601         * gprcmd.adb: Change copyright to FSF.
7602
7603 2003-11-19  Vincent Celier  <celier@gnat.com>
7604
7605         * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
7606         and Version (ignored).
7607
7608         * symbols.ads: (Policy): New type
7609         (Initialize): New parameter Reference, Symbol_Policy and
7610         Library_Version.
7611         Remove parameter Force.
7612         Minor reformatting.
7613
7614         * snames.ads, snames.adbadb: New standard names
7615         Library_Reference_Symbol_File and Library_Symbol_Policy
7616
7617         * mlib-prj.adb:
7618         (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
7619         project.
7620
7621         * mlib-tgt.adb:
7622         (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
7623
7624         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
7625
7626         * prj.adb: (Project_Empty): New component Symbol_Data
7627
7628         * prj.ads: (Policy, Symbol_Record): New types
7629         (Project_Data): New component Symbol_Data
7630
7631         * prj-attr.adb:
7632         New attributes Library_Symbol_File, Library_Symbol_Policy and
7633         Library_Reference_Symbol_File.
7634
7635         * prj-nmsc.adb:
7636         (Ada_Check): When project is a Stand-Alone library project, process
7637         attribute Library_Symbol_File, Library_Symbol_Policy and
7638         Library_Reference_Symbol_File.
7639
7640         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
7641         5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
7642         5sml-tgt.adb (Build_Dynamic_Library): New parameter
7643         Symbol_Data (ignored).
7644
7645         * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
7646         (Build_Dynamic_Library): New parameter Symbol_Data. New internal
7647         functions Option_File_Name and Version_String. Set new options of
7648         gnatsym related to symbol file, symbol policy and reference symbol
7649         file.
7650
7651         * 5vsymbol.adb:
7652         Extensive modifications to take into account the reference symbol file,
7653         the symbol policy, the library version and to put in the symbol file the
7654         minor and major IDs.
7655
7656         * bld.adb (Process_Declarative_Items): Put second argument of
7657         gprcmd to_absolute between single quotes, to avoid problems with
7658         Windows.
7659
7660         * bld-io.adb: Update Copyright notice.
7661         (Flush): Remove last character of a line, if it is a back slash, to
7662         avoid make problems.
7663
7664         * gnatsym.adb:
7665         Implement new scheme with reference symbol file and symbol policy.
7666
7667         * g-os_lib.ads: (Is_Directory): Clarify comment
7668
7669 2003-11-19  Robert Dewar  <dewar@gnat.com>
7670
7671         * atree.adb: Move New_Copy_Tree global variables to head of package
7672
7673         * errout.adb: Minor reformatting
7674
7675 2003-11-19  Javier Miranda  <miranda@gnat.com>
7676
7677         * sem_ch4.adb: (Diagnose_Call): Improve error message.
7678         Add reference to Ada0Y (AI-50217)
7679
7680         * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
7681         sem_util.adb: Add reference to AI-50217
7682
7683         * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
7684
7685         * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
7686
7687         * sem_aggr.adb: Complete documentation of AI-287 changes
7688
7689         * par-ch4.adb: Document previous changes.
7690
7691         * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
7692         sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
7693         Ada0Y (AI-50217)
7694
7695         * exp_aggr.adb: Add references to AI-287 in previous changes
7696
7697 2003-11-19  Ed Schonberg  <schonberg@gnat.com>
7698
7699         * exp_ch6.adb:
7700         (Add_Call_By_Copy_Node): Do not original node of rewritten expression
7701         in the rewriting is the result of an inlined call.
7702
7703         * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
7704         parameter is a type conversion, use original node to construct the
7705         post-call assignment, because expression may have been rewritten, e.g.
7706         if it is a packed array.
7707
7708         * sem_attr.adb:
7709         (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
7710         body, just as it is in an instance.
7711         Categorization routines
7712
7713         * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
7714         Instantiate_Object): Set proper sloc reference for message on missing
7715         actual.
7716
7717 2003-11-19  Thomas Quinot  <quinot@act-europe.fr>
7718
7719         * Makefile.in: Add FreeBSD libgnat pairs.
7720
7721         * usage.adb: Fix typo in usage message.
7722
7723 2003-11-19  Jerome Guitton  <guitton@act-europe.fr>
7724
7725         * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
7726         s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
7727         pragma Thread_Body.
7728         Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
7729
7730         * s-thread.adb: This file is now a dummy implementation of
7731         System.Thread.
7732
7733 2003-11-19  Sergey Rybin  <rybin@act-europe.fr>
7734
7735         * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
7736
7737 2003-11-19  Emmanuel Briot  <briot@act-europe.fr>
7738
7739         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
7740         instanciation references in the parent type description.
7741
7742 2003-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7743
7744         * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
7745
7746         * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
7747         TYPE_PRECISION directly from esize.
7748
7749 2003-11-18  Thomas Quinot  <quinot@act-europe.fr>
7750
7751         * cstreams.c:
7752         Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
7753
7754         * init.c: Initialization routines for FreeBSD
7755
7756         * link.c: Link info for FreeBSD
7757
7758         * sysdep.c: Add the case of FreeBSD
7759
7760 2003-11-17  Jerome Guitton  <guitton@act-europe.fr>
7761
7762         * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
7763         already called in System.Threads.
7764
7765         * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
7766         environment task, as it has been moved to System.Threads.Initialization.
7767
7768 2003-11-17  Arnaud Charlet  <charlet@act-europe.fr>
7769
7770         * adaint.c (__gnatlib_install_locks): Only reference
7771         __gnat_install_locks on VMS, since other platforms can avoid using
7772         --enable-threads=gnat
7773
7774 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7775
7776         * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
7777
7778         * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
7779         TYPE_PACKED_ARRAY_TYPE_P.
7780         (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
7781
7782         Part of PR ada/12806
7783         * utils.c (float_type_for_precision): Renamed from float_type_for_size.
7784         Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
7785
7786 2003-11-17  Vincent Celier  <celier@gnat.com>
7787
7788         * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
7789         to False.
7790         Do not set exit status to Failure when Warning is True.
7791         (Gnatchop): Make errors "no compilation units found" and
7792         "no source files written" warnings only.
7793
7794         * make.adb (Gnatmake): When using a project file, set
7795         Look_In_Primary_Dir to False.
7796         (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
7797         and Local_Configuration_Pragmas in the project where they are declared
7798         not an extending project which might have inherited them.
7799
7800         * osint.adb (Locate_File): If Name is already an absolute path, do not
7801         look for a directory.
7802
7803         * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
7804         -gnats (Check_Syntax) is used, issue only a warning, not an error.
7805
7806         * prj.adb (Register_Default_Naming_Scheme): Add new component Project
7807         in objects of type Variable_Value.
7808
7809         * prj.ads: (Variable_Value): New component Project
7810
7811         * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
7812         is in a project extended by Project.
7813
7814         * prj-proc.adb (Add_Attributes): New parameter Project. Set component
7815         Project of Variable_Values to this new parameter value.
7816         (Expression): Set component Project of Variable_Values.
7817         (Process_Declarative_Items): Call Add_Attributes with parameter Project.
7818         Set the component Project in array elements.
7819
7820 2003-11-17  Sergey Rybin  <rybin@act-europe.fr>
7821
7822         * errout.adb: (Initialize): Add initialization for error nodes.
7823
7824         * sem_ch12.adb (Initialize): Add missing initializations for
7825         Exchanged_Views and Hidden_Entities.
7826
7827 2003-11-17  Ed Schonberg  <schonberg@gnat.com>
7828
7829         * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
7830         already instantiated tree for use in subsequent inlining.
7831         (Analyze_Associations, Instantiate_Formal_Subprogram,
7832         Instantiate_Object): improve error message for mismatch in
7833         instantiations.
7834
7835         * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
7836         instantiations of subprograms declared in instances.
7837
7838 2003-11-17  Javier Miranda  <miranda@gnat.com>
7839
7840         * sem_ch4.adb (Analyze_Allocator): Previous modification must be
7841         executed only under the Extensions_Allowed flag.
7842
7843 2003-11-17  Robert Dewar  <dewar@gnat.com>
7844
7845         * a-exexda.adb (Address_Image): Fix documentation to indicate leading
7846         zeroes suppressed.
7847         (Address_Image): Fix bug of returning 0x instead of 0x0
7848         Minor reformatting (function specs).
7849
7850         * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
7851         (missed case of 33-63)
7852
7853         * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
7854
7855         * s-thread.adb: Add comments for pragma Restriction
7856
7857         * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
7858         sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
7859
7860 2003-11-17  Ed Falis  <falis@gnat.com>
7861
7862         * s-thread.adb: Added No_Tasking restriction for this implementation.
7863
7864 2003-11-17  Emmanuel Briot  <briot@act-europe.fr>
7865
7866         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
7867         instanciation references in the parent type description.
7868
7869 2003-11-17  GNAT Script  <nobody@gnat.com>
7870
7871         * Make-lang.in: Makefile automatically updated
7872
7873 2003-11-16  Jason Merrill  <jason@redhat.com>
7874
7875         * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
7876         and TAGS files that include them for each front end.
7877
7878 2003-11-14  Andreas Jaeger  <aj@suse.de>
7879
7880         * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
7881         is the canonical version.
7882         * misc.c (gnat_handle_option): Likewise.
7883
7884         * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
7885
7886         * 5nsystem.ads: New file for x86_64-linux-gnu.
7887
7888 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
7889
7890         * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
7891
7892         * comperr.adb: Fix logic in previous change.
7893
7894 2003-11-13  Vincent Celier  <celier@gnat.com>
7895
7896         * 5bml-tgt.adb (Build_Dynamic_Library): Use
7897         Osint.Include_Dir_Default_Prefix instead of
7898         Sdefault.Include_Dir_Default_Name.
7899
7900         * gnatlbr.adb: Update Copyright notice
7901         (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
7902         Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
7903         instead of Sdefault.Object_Dir_Default_Name
7904
7905         * gnatlink.adb:
7906         (Process_Binder_File): Never suppress the option following -Xlinker
7907
7908         * mdll-utl.adb:
7909         (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
7910         Sdefault.Object_Dir_Default_Name.
7911
7912         * osint.ads, osint.adb:
7913         (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
7914         Minor reformatting.
7915
7916         * vms_conv.ads: Minor reformating
7917         Remove GNAT STANDARD and GNAT PSTA
7918
7919         * vms_conv.adb:
7920         Allow GNAT MAKE to have several files on the command line.
7921         (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
7922         Sdefault.Object_Dir_Default_Name.
7923         Minor Reformating
7924         Remove data for GNAT STANDARD
7925
7926         * vms_data.ads:
7927         Add new compiler qualifier /PRINT_STANDARD (-gnatS)
7928         Remove data for GNAT STANDARD
7929         Remove options and documentation for -gnatwb/-gnatwB: these warning
7930         options no longer exist.
7931
7932 2003-11-13  Ed Falis  <falis@gnat.com>
7933
7934         * 5zthrini.adb: (Init_RTS): Made visible
7935
7936         * 5zthrini.adb:
7937         (Register): Removed unnecessary call to taskVarGet that checked whether
7938          an ATSD was already set as a task var for the argument thread.
7939
7940         * s-thread.adb:
7941         Updated comment to reflect that this is a VxWorks version
7942         Added context clause for System.Threads.Initialization
7943         Added call to System.Threads.Initialization.Init_RTS
7944
7945 2003-11-13  Jerome Guitton  <guitton@act-europe.fr>
7946
7947         * 5zthrini.adb:
7948         (Init_RTS): New procedure, for the initialization of the run-time lib.
7949
7950         * s-thread.adb:
7951         Remove dependancy on System.Init, so that this file can be used in the
7952         AE653 sequential run-time lib.
7953
7954 2003-11-13  Robert Dewar  <dewar@gnat.com>
7955
7956         * bindgen.adb: Minor reformatting
7957
7958 2003-11-13  Ed Schonberg  <schonberg@gnat.com>
7959
7960         * checks.adb:
7961         (Apply_Discriminant_Check): Do no apply check if target type is derived
7962         from source type with no applicable constraint.
7963
7964         * lib-writ.adb:
7965         (Ensure_System_Dependency): Do not apply the style checks that may have
7966         been specified for the main unit.
7967
7968         * sem_ch8.adb:
7969         (Find_Selected_Component): Further improvement in error message, with
7970         RM reference.
7971
7972         * sem_res.adb:
7973         (Resolve): Handle properly the case of an illegal overloaded protected
7974         procedure.
7975
7976 2003-11-13  Javier Miranda  <miranda@gnat.com>
7977
7978         * exp_aggr.adb:
7979         (Has_Default_Init_Comps): New function to check the presence of
7980         default initialization in an aggregate.
7981         (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
7982         extension aggregate of a limited record. In addition, a new formal
7983         was added to do not initialize the record controller (if any) during
7984         this recursive expansion of ancestors.
7985         (Init_Controller): Add support for limited record components.
7986         (Expand_Record_Aggregate): In case of default initialized components
7987         convert the aggregate into a set of assignments.
7988
7989         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
7990         describing the new syntax.
7991         Nothing else needed to be done because this subprogram delegates part of
7992         its work to P_Precord_Or_Array_Component_Association.
7993         (P_Record_Or_Array_Component_Association): Give support to the new
7994         syntax for default initialization of components.
7995
7996         * sem_aggr.adb:
7997         (Resolve_Aggregate): Relax the strictness of the frontend in case of
7998         limited aggregates.
7999         (Resolve_Record_Aggregate): Give support to default initialized
8000         components.
8001         (Get_Value): In case of default initialized components, duplicate
8002         the corresponding default expression (from the record type
8003         declaration). In case of default initialization in the *others*
8004         choice, do not check that all components have the same type.
8005         (Resolve_Extension_Aggregate): Give support to limited extension
8006         aggregates.
8007
8008         * sem_ch3.adb:
8009         (Check_Initialization): Relax the strictness of the front-end in case
8010         of aggregate and extension aggregates. This test is now done in
8011         Get_Value in a per-component manner.
8012
8013         * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
8014         expression corresponds to a limited aggregate. This test is now done
8015         in Get_Value.
8016
8017         * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
8018         Box_Present flag.
8019
8020         * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
8021         present in an N_Component_Association node
8022
8023 2003-11-13  Thomas Quinot  <quinot@act-europe.fr>
8024
8025         * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
8026         type-conformant entry only if they are homographs.
8027
8028 2003-11-13  GNAT Script  <nobody@gnat.com>
8029
8030         * Make-lang.in: Makefile automatically updated
8031
8032 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8033
8034         * adadecode.c: Use <> form of include for ctype.h.
8035         * sysdep.c [IN_RTS]: Use <> form of include for time.h.
8036
8037 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8038
8039         * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
8040         Works around PR middle-end/6552.
8041
8042 2003-11-10  Ed Falis  <falis@gnat.com>
8043
8044         * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
8045
8046         * 5zinit.adb: (Install_Handler): Moved back to spec
8047         (Install_Signal_Handlers): Deleted
8048
8049         * 5zthrini.adb: Added context clause for System.Storage_Elements
8050         (Register): Only handles creation of taskVar; initialization moved to
8051         Thread_Body_Enter.
8052         (Reset_TSD): Deleted; replaced by Thread_Body_Enter
8053         Added declaration of environment task secondary stack and
8054         initialization.
8055
8056         * s-thread.adb: Implement bodies for thread body processing
8057
8058         * s-thread.ads:
8059         Added comment identifying supported targets for pragma Thread_Body.
8060
8061 2003-11-10  Pascal Obry  <obry@gnat.com>
8062
8063         * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
8064         GNAT_MAX_PATH_LEN.
8065
8066         * s-fileio.adb:
8067         (Open): Properly check for string length before copying into the buffer.
8068         Raises Name_Error if buffer is too small. Note that this was a potential
8069         buffer overflow.
8070
8071 2003-11-10  Romain Berrendonner  <berrendo@act-europe.fr>
8072
8073         * bindgen.adb, comperr.adb: Code clean ups.
8074         * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
8075
8076 2003-11-10  Sergey Rybin  <rybin@act-europe.fr>
8077
8078         * gnat1drv.adb: Add call to Sem_Elim.Initialize.
8079
8080 2003-11-10  Vincent Celier  <celier@gnat.com>
8081
8082         * gprcmd.adb:
8083         (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
8084         installation.
8085
8086         * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
8087
8088         * prj.adb: (Project_Empty): Add new boolean component Virtual
8089
8090         * prj.ads: (Virtual_Prefix): New constant string
8091         (Project_Data): New boolean component Virtual
8092
8093         * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
8094         a library project is extended by a virtual extending project.
8095
8096         * prj-part.adb:
8097         Modifications throughout to implement extending-all project, including:
8098         (Virtual_Hash, Processed_Hash): New hash tables
8099         (Create_Virtual_Extending_Project): New procedure
8100         (Look_For_Virtual_Projects_For): New procedure
8101
8102         * prj-proc.adb:
8103         (Process): After checking the projects, if main project is an
8104         extending-all project, set the object directory of all virtual extending
8105         project to the object directory of the main project.
8106         Adjust error message when a virtual extending project has the same
8107         object directory as an project being extended.
8108         (Recursive_Process): If name starts with the virtual prefix, set Virtual
8109         to True in the project data.
8110
8111         * prj-tree.adb:
8112         (Default_Project_Node): Add new boolean component Extending_All
8113         (Is_Extending_All): New function
8114         (Set_Is_Extending_All): New procedure
8115
8116         * prj-tree.ads: (Is_Extending_All): New function
8117         (Set_Is_Extending_All): New procedure
8118         (Project_Node_Record): New boolean component Extending_All
8119
8120         * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
8121
8122         * vms_data.ads:
8123         Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
8124
8125         * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
8126         "gprcmd prefix" to define it.
8127
8128 2003-11-10  Thomas Quinot  <quinot@act-europe.fr>
8129
8130         * einfo.ads: Fix a typo and remove an extraneous word in comments.
8131
8132         * lib-load.adb:
8133         (Create_Dummy_Package_Unit): Set the scope of the entity for the
8134         created dummy package to Standard_Standard, not to itself, to
8135         defend other parts of the front-end against encoutering a cycle in
8136         the scope chain.
8137
8138         * sem_ch10.adb:
8139         (Analyze_With_Clause): When setting the entities for the successive
8140         N_Expanded_Names that constitute the name of a child unit, do not
8141         attempt to go further than Standard_Standard in the chain of scopes.
8142         This case arises from the placeholder units created by
8143         Create_Dummy_Package_Unit in the case of a with_clause for a
8144         nonexistent child unit.
8145
8146 2003-11-10  Ed Schonberg  <schonberg@gnat.com>
8147
8148         * exp_ch6.adb:
8149         (Expand_Thread_Body): Place subprogram on scope stack, so that new
8150         declarations are given the proper scope.
8151
8152         * sem_ch13.adb:
8153         (Check_Expr_Constants): Reject an expression that contains a constant
8154         created during expansion, and that appears after the object to which
8155         the address clause applies.
8156
8157         * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
8158         Analyze_Iteration_Scheme, to rewrite a loop parameter specification
8159         that uses 'Range of a function call with controlled components, so
8160         that the function result can be finalized before starting the loop.
8161
8162         * sem_ch8.adb:
8163         (Find_Selected_Component): Improve error message when prefix is
8164         an implicit dereference of an incomplete type.
8165
8166 2003-11-10  Robert Dewar  <dewar@gnat.com>
8167
8168         * opt.ads: New Print_Standard flag for -gnatS switch
8169
8170         * sem_ch13.adb: Remove some additional checks for unaligned arrays
8171
8172         * cstand.adb (Create_Standard): Print out package standard if -gnatS
8173         switch set
8174
8175         * debug.adb: Update doc for -gnatds to discuss relationship with new
8176         -gnatS flag
8177
8178         * sinfo.adb: Add new field Entity_Or_Associated_Node
8179
8180         * sinfo.ads: Add new field Entity_Or_Associated_Node
8181         Update documentation for Associated_Node and Entity fields to clarify
8182         relationship and usage.
8183
8184         * sprint.adb:
8185         (Write_Id): Properly process Associated_Node field in generic template
8186
8187         * switch-c.adb:
8188         Recognize new -gnatS switch for printing package Standard
8189         This replaces gnatpsta
8190
8191         * usage.adb:
8192         Add line for  new -gnatS switch for printing package Standard
8193         This replaces gnatpsta
8194
8195 2003-11-10  Andreas Jaeger  <aj@suse.de>
8196
8197         * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
8198         integer.
8199
8200 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
8201
8202         * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
8203         by gnat1.
8204
8205 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
8206
8207         * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
8208         no longer needed.
8209
8210         * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
8211
8212         * sysdep.c: Add handling of cygwin.
8213
8214 2003-11-10  GNAT Script  <nobody@gnat.com>
8215
8216         * Make-lang.in: Makefile automatically updated
8217
8218 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
8219
8220         PR 12950
8221         * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
8222         functions. Used to handle dynamic prefix relocation, via set_std_prefix.
8223         Replace GNAT_ROOT by GCC_ROOT.
8224
8225         * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
8226
8227 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
8228
8229         * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
8230         and update for changed meaning of GET_MODE_BITSIZE.
8231
8232 2003-11-04  Doug Rupp  <rupp@gnat.com>
8233
8234         * sysdep.c: Problem discovered during IA64 VMS port.
8235         [VMS] #include <unixio.h> to get proper prototypes.
8236
8237         * adaint.c:
8238         Issues discovered/problems fixed during IA64 VMS port.
8239         [VMS] #define _POSIX_EXIT for proper semantics.
8240         [VMS] #include <unixio.h> for proper prototypes.
8241         [VMS] (fork): #define IA64 version.
8242         (__gnat_os_exit): Remove unnecessary VMS specific code.
8243
8244 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8245
8246         Part of PR ada/12806
8247
8248         * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
8249         tree, not integer.
8250
8251         * decl.c:
8252         (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
8253         not integer.
8254
8255         * targtyps.c, decl.c, misc.c,
8256         gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
8257         routines to work around change in FP sizing semantics in GCC.
8258
8259         * utils.c:
8260         (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
8261
8262         * gigi.h: (enumerate_modes): New function.
8263
8264         * Make-lang.in: (ada/misc.o): Add real.h.
8265
8266         * misc.c: (enumerate_modes): New function.
8267
8268 2003-11-04  Robert Dewar  <dewar@gnat.com>
8269
8270         * 3vtrasym.adb: Minor reformatting
8271         Use terminology encoded/decoded name, rather than C++ specific notion
8272         of mangling (this is the terminology used throughout GNAT).
8273
8274         * einfo.h: Regenerated
8275
8276         * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
8277
8278         * exp_ch6.adb:
8279         (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
8280
8281         * par-prag.adb: Add dummy entry for Thread_Body pragma
8282
8283         * rtsfind.ads:
8284         Add entries for System.Threads entities for thread body processing
8285
8286         * sem_attr.adb:
8287         (Analyze_Pragma, Access attributes): Check these are not applied to a
8288         thread body, since this is not permitted
8289
8290         * sem_prag.adb: Add processing for Thread_Body pragma.
8291         Minor comment fix.
8292
8293         * sem_res.adb:
8294         (Resolve_Call): Check for incorrect attempt to call a thread body
8295          procedure with a direct call.
8296
8297         * snames.ads, snames.adb: Add entry for Thread_Body pragma
8298         Add names associated with thread body expansion
8299
8300         * snames.h: Add entry for Thread_Body pragma
8301
8302         * s-thread.adb: Add entries for thread body processing
8303         These are dummy bodies so far
8304
8305         * s-thread.ads: Add documentation on thread body handling.
8306         Add entries for thread body processing.
8307
8308 2003-11-04  Javier Miranda  <miranda@gnat.com>
8309
8310         * sem_ch10.adb:
8311         (Build_Limited_Views): Return after posting an error in case of limited
8312         with_clause on subprograms, generics, instances or generic renamings
8313         (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
8314         on subprograms, generics, instances or generic renamings
8315
8316 2003-11-04  Arnaud Charlet  <charlet@act-europe.fr>
8317
8318         * raise.c (setup_to_install): Correct mistake in last revision; two
8319         arguments out of order.
8320
8321         * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
8322         gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
8323         notice, missed in previous change.
8324         Remove trailing blanks and other style errors introduced in previous
8325         change.
8326
8327 2003-11-04  Olivier Hainque  <hainque@act-europe.fr>
8328
8329         * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
8330         rid of the wrapper for a LJM type, ensuring we don't do that if the
8331         field is addressable.  This avoids potential low level type view
8332         mismatches later on, for instance in a by-reference argument passing
8333         process.
8334
8335 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8336
8337         * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
8338         aligned at byte boundary.
8339
8340 2003-11-04  Joel Brobecker  <brobecker@gnat.com>
8341
8342         * decl.c (components_to_record): Do not delete the empty variants from
8343         the end of the union type.
8344
8345 2003-11-04  Ed Schonberg  <schonberg@gnat.com>
8346
8347         * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
8348         operation for a derived type, an explicit declaration may use a local
8349         subtype of Boolean.
8350
8351 2003-11-04  Vincent Celier  <celier@gnat.com>
8352
8353         * make.adb (Gnatmake): Allow main sources on the command line with a
8354         library project when it is only for compilation (no binding or
8355         linking).
8356
8357 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8358
8359         * Makefile.in: Remove many duplicate variables.
8360
8361 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
8362
8363         * Make-lang.in (dvi): Move targets to $(docobjdir).
8364         (gnat_ug_vms.dvi): Simplify rule and adjust target.
8365         (gnat_ug_wnt.dvi): Likewise.
8366         (gnat_ug_unx.dvi): Likewise.
8367         (gnat_ug_vxw.dvi): Likewise.
8368         (gnat_rm.dvi): Likewise.
8369         (gnat-style.dvi): Likewise.
8370
8371 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
8372
8373         * gigi.h: Missed commit from update for C90.
8374
8375 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
8376
8377         * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
8378
8379 2003-10-31  Andreas Schwab  <schwab@suse.de>
8380
8381         * raise.c (get_action_description_for): Fix typo in last change.
8382
8383 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
8384
8385         PR ada/12761
8386         * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
8387         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
8388
8389 2003-10-30  Kelley Cook  <kcook@gcc.gnu.org>
8390
8391         * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
8392         ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
8393         gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
8394         sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
8395         trans.c, utils.c, utils2.c: Convert function prototypes to C90.
8396
8397 2003-10-30  Vasiliy Fofanov  <fofanov@act-europe.fr>
8398
8399         * 3vtrasym.adb:
8400         Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
8401         numbers when symbol name is too long.
8402
8403 2003-10-30  Ed Falis  <falis@gnat.com>
8404
8405         * g-signal.ads, g-signal.adb: New files
8406
8407         * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
8408
8409         * Makefile.rtl: Introduce GNAT.Signals
8410
8411 2003-10-30  Robert Dewar  <dewar@gnat.com>
8412
8413         * freeze.adb: Minor reformatting
8414
8415         * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
8416
8417         * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
8418         par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
8419         New handling of Id_Check parameter to improve recognition of keywords
8420         used as identifiers.
8421         Update copyright notice to include 2003
8422
8423 2003-10-29  Robert Dewar  <dewar@gnat.com>
8424
8425         * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
8426         sem_ch10.adb: Minor reformatting
8427
8428         * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
8429         (Expand_Assign_Record): Test right hand side for bit unaligned as well
8430
8431 2003-10-29  Vasiliy Fofanov  <fofanov@act-europe.fr>
8432
8433         * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
8434         Support for TBK$SYMBOLIZE-based symbolic traceback.
8435
8436 2003-10-29  Jose Ruiz  <ruiz@act-europe.fr>
8437
8438         * exp_disp.adb:
8439         Revert previous change, that did not work well when pragma No_Run_Time
8440         was used in conjunction with a run-time other than ZFP.
8441
8442 2003-10-29  Vincent Celier  <celier@gnat.com>
8443
8444         * make.adb:
8445         (Gnatmake): When there are no Ada mains in attribute Main, disable the
8446          bind and link steps only is switch -z is not used.
8447
8448 2003-10-29  Arnaud Charlet  <charlet@act-europe.fr>
8449
8450         * Makefile.generic: Remove duplicated setting of CC.
8451
8452         * Makefile.prolog: Set CC to gcc by default, to override make's
8453         default (cc).
8454
8455         * einfo.h: Regenerated.
8456
8457 2003-10-29  Ed Schonberg  <schonberg@gnat.com>
8458
8459         * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
8460         current body, after compiling subunit.
8461
8462         * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
8463         when in deleted code, because gigi needs properly ordered freeze
8464         actions to annotate types.
8465
8466         * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
8467         prevent the premature freezing of record type that contains
8468         subcomponents with a private type that does not yet have a completion.
8469
8470 2003-10-29  Javier Miranda  <miranda@gnat.com>
8471
8472         * sem_ch12.adb:
8473         (Analyze_Package_Instantiation): Check that instances can not be used in
8474         limited with_clauses.
8475
8476         * sem_ch8.adb:
8477         (Analyze_Package_Renaming): Check that limited withed packages cannot
8478         be renamed. Improve text on error messages related to limited
8479         with_clauses.
8480
8481         * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
8482
8483         * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
8484         Update copyright notice.
8485
8486         * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
8487         (Install_Limited_Context_Clauses): New subprogram that isolates all the
8488         checks required for limited context_clauses and installs the limited
8489         view.
8490         (Install_Limited_Withed_Unit): Complete its documentation.
8491         (Analyze_Context): Check that limited with_clauses are only allowed in
8492         package specs.
8493         (Install_Context): Call Install_Limited_Context_Clauses after the
8494         parents have been installed.
8495         (Install_Limited_Withed_Unit): Add documentation. Mark the installed
8496         package as 'From_With_Type'; this mark indicates that the limited view
8497         is installed. Used to check bad usages of limited with_clauses.
8498         (Build_Limited_Views): Do not add shadow entities to the scope's list
8499         of entities. Do not add real entities to the Non_Limited_Views chain.
8500         Improve error notification.
8501         (Remove_Context_Clauses): Remove context clauses in two phases:
8502         limited views first and regular views later (to maintain the
8503         stack model).
8504         (Remove_Limited_With_Clause): If the package is analyzed then reinstall
8505         its visible entities.
8506
8507 2003-10-29  Thomas Quinot  <quinot@act-europe.fr>
8508
8509         * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
8510         with any type that Is_Fixed_Point_Type.
8511
8512         * sinfo.ads: Fix documentation for Associated_Node attribute.
8513
8514 2003-10-29  Sergey Rybin  <rybin@act-europe.fr>
8515
8516         * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
8517         both '-gnatc' and '-gnatt' are specified.
8518
8519         * atree.adb (Initialize): Add initialization for Node_Count (set to
8520         zero).
8521
8522 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8523
8524         * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
8525         do not consider as Pure.
8526
8527         Part of implementation of function-at-a-time:
8528
8529         * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
8530         (tree_transform): Add new argument to build_component_ref.
8531         (tree_transform, case N_Assignment_Statement): Make and return an
8532         EXPR_STMT.
8533         (tree_transform): If result IS_STMT, set flags and return it.
8534         (gnat_expand_stmt, set_lineno_from_sloc): New functions.
8535
8536         * utils2.c (build_simple_component_ref, build_component_ref): Add new
8537         arg, NO_FOLD_P.
8538         (build_binary_op, case EQ_EXPR): Pass additional arg to it.
8539         (build_allocator): Likewise.
8540
8541         * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
8542         Add new arg to build_component_ref.
8543         (maybe_unconstrained_array, unchecked_convert): Likewise.
8544
8545         * ada-tree.def (EXPR_STMT): New code.
8546
8547         * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
8548
8549         * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
8550         build_component_ref calls.
8551
8552         * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
8553
8554         * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
8555         (build_component_ref): Add new argument, NO_FOLD_P.
8556
8557 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
8558
8559         * Makefile.generic: Add missing substitution on object_deps handling.
8560
8561         PR ada/5909:
8562         * Make-lang.in (check-ada): Enable ACATS test suite.
8563
8564 2003-10-27  Robert Dewar  <dewar@gnat.com>
8565
8566         * exp_ch3.adb:
8567         (Freeze_Array_Type): We do not need an initialization routine for types
8568         derived from String or Wide_String. They should be treated the same
8569         as String and Wide_String themselves. This caused problems with the
8570         use of Initialize_Scalars.
8571
8572         * exp_ch5.adb:
8573         (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
8574         composites. This allows use of component clauses that are not byte
8575         aligned.
8576
8577         * sem_prag.adb:
8578         (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
8579         is an attempt to pack an array of atomic objects.
8580
8581         * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
8582
8583 2003-10-27  Pascal Obry  <obry@gnat.com>
8584
8585         * g-dirope.adb:
8586         (Basename): Check for drive letters in a pathname only on DOS based OS.
8587
8588 2003-10-27  Vincent Celier  <celier@gnat.com>
8589
8590         * make.adb:
8591         (Gnatmake): When unable to change dir to the object dir, display the
8592         content of the parent dir of the obj dir, to try to understand why this
8593         happens.
8594
8595 2003-10-27  GNAT Script  <nobody@gnat.com>
8596
8597         * Make-lang.in: Makefile automatically updated
8598
8599 2003-10-27  Ed Schonberg  <schonberg@gnat.com>
8600
8601         * sem_ch12.adb:
8602         (Inline_Instance_Body): Indicate that the save/restore of use_clauses
8603         should not be done in Save/Restore_Scope_Stack, because it is performed
8604         locally.
8605
8606         * sem_ch8.adb:
8607         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
8608         whether use clauses should be removed/restored.
8609
8610         * sem_ch8.ads:
8611         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
8612         whether use clauses should be removed/restored.
8613
8614 2003-10-26  Andreas Jaeger  <aj@suse.de>
8615
8616         * Makefile.in: Remove duplicated lines.
8617
8618 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
8619
8620         * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
8621         minimize the differences with ACT tree.
8622
8623         * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
8624         gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
8625         Gnatvsn.Gnat_Static_Version_String to reduce differences between
8626         ACT and FSF trees.
8627
8628 2003-10-24  Pascal Obry  <obry@gnat.com>
8629
8630         * adadecode.c (ostrcpy): New function.
8631         (__gnat_decode): Use ostrcpy of strcpy.
8632         (has_prefix): Set first parameter a const.
8633         (has_suffix): Set first parameter a const.
8634         Update copyright notice. Fix source name in header.
8635         Removes a trailing space.
8636         PR ada/12014.
8637
8638 2003-10-24  Jose Ruiz  <ruiz@act-europe.fr>
8639
8640         * exp_disp.adb:
8641         Remove the test against being in No_Run_Time_Mode before generating a
8642         call to Register_Tag. It is redundant with the test against the
8643         availability of the function Register_Tag.
8644
8645 2003-10-24  Vincent Celier  <celier@gnat.com>
8646
8647         * g-catiio.adb: (Month_Name): Correct spelling of February
8648
8649         * make.adb: (Mains): New package
8650         (Initialize): Call Mains.Delete
8651         (Gnatmake): Check that each main on the command line is a source of a
8652         project file and, if there are several mains, each of them is a source
8653         of the same project file.
8654         (Gnatmake): When a foreign language is specified in attribute Languages,
8655         no main is specified on the command line and attribute Mains is not
8656         empty, only build the Ada main. If there is no Ada main, just compile
8657         the Ada sources and their closure.
8658         (Gnatmake): If a main is specified on the command line with directory
8659         information, check that the source exists and, if it does, that the path
8660         is the actual path of a source of a project.
8661
8662         * prj-env.adb:
8663         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
8664         Full_Path is True, return the full path instead of the simple file name.
8665         (Project_Of): New function
8666
8667         * prj-env.ads:
8668         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
8669         defaulted to False.
8670         (Project_Of): New function
8671
8672 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
8673
8674         * Makefile.generic:
8675         Ensure objects of main project are always checked and rebuilt if needed.
8676         Set CC to gcc by default.
8677         Prepare new handling of link by creating a global archive (not activated
8678         yet).
8679
8680         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
8681         stringt.h: Update copyright notice. Remove trailing blanks.
8682         Fix source name in header.
8683
8684 2003-10-24  Robert Dewar  <dewar@gnat.com>
8685
8686         * sem_ch12.adb: Minor reformatting
8687
8688         * sem_ch3.adb:
8689         Minor reformatting (including new function return style throughout)
8690
8691         * sem_ch3.ads:
8692         Minor reformatting (including new function return style throughout)
8693
8694 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
8695
8696         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
8697         stringt.h: Update copyright notice. Remove trailing blanks.
8698         Fix source name in header.
8699
8700 2003-10-24  GNAT Script  <nobody@gnat.com>
8701
8702         * Make-lang.in: Makefile automatically updated
8703
8704 2003-10-23  Nathanael Nerode  <neroden@gcc.gnu.org>
8705
8706         * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
8707         stringt.h: Convert to ISO C90 declarations and definitions.
8708
8709 2003-10-23  Thomas Quinot  <quinot@act-europe.fr>
8710
8711         PR ada/11978:
8712         * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
8713         External_Tag attribute definition clauses.
8714
8715 2003-10-23  Ed Schonberg  <schonberg@gnat.com>
8716
8717         PR ada/7613:
8718         * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
8719         child unit, generate a fully qualified name to avoid spurious errors
8720         when the context contains renamings of different child units with
8721         the same simple name.
8722
8723         * exp_dbug.ads: Add documentation on name qualification for renamings
8724         of child units.
8725
8726 2003-10-23  Robert Dewar  <dewar@gnat.com>
8727
8728         * g-regpat.ads, g-regpat.adb: Minor reformatting
8729
8730 2003-10-23  Jose Ruiz  <ruiz@act-europe.fr>
8731
8732         * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
8733
8734 2003-10-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8735
8736         * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
8737         Machine call.
8738
8739         * urealp.h: (Machine): Update to proper definition.
8740
8741 2003-10-23  Arnaud Charlet  <charlet@act-europe.fr>
8742
8743         * init.c, adaint.c: Minor reformatting.
8744
8745 2003-10-23  Danny Smith  <dannysmith@users.sourceforge.net>
8746
8747         * adaint.c (w32_epoch_offset): Define static const at file level.
8748         (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
8749         rather than t_create, t_access in call to GetFileTime. Use union
8750         to convert between FILETIME and  unsigned long long.
8751         (__gnat_file_time_name): Test for invalid file handle.
8752         (__gnat_set_filetime_name): Support win32 targets using
8753         w32api SetFileTime.
8754
8755 2003-10-22  Danny Smith  <dannysmith@users.sourceforge.net>
8756
8757         * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
8758
8759         * ctrl_c.c (__gnat_int_handler): Remove declaration.
8760
8761         * decl.c (creat_concat_name):  Const-ify prefix.
8762
8763         * adaint.c: Include ctype.h if __MINGW32__.
8764         (__gnat_readlink): Mark arguments as possibly unused.
8765         (__gnat_symlink): Likewise.
8766         (__gnat_is_symbolic_link): Likewise.
8767         (__gnat_portable_spawn): Likewise.  Cast last arg of spawnvp to match
8768         declaration
8769         (__gnat_file_time_name): Don't declare struct stat statbuf when
8770         not needed.
8771         (__gnat_is_absolute_path): Add parenthesis around condition of
8772         'if' statement to avoid warning.
8773         (__gnat_plist_init): Specify void as parameter.
8774         (plist_enter): Likewise.
8775         (plist_leave): Likewise.
8776         (remove_handle): Make static. Initialize prev.
8777
8778 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
8779
8780         * Makefile.in: Disable build of gnatpsta. PR ada/10110.
8781         * cstreams.c (__gnat_full_name): Minor improvements and clean up
8782         of previous change.
8783
8784 2003-10-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8785
8786         * tracebak.c (MAX): Avoid redefinition warning.
8787
8788         * init.c [sgi] (__gnat_error_handler): Remove i, unused.
8789         Change msg to const char *.
8790         (__gnat_install_handler): Remove ss, unused.
8791         [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
8792         to const char *.
8793         * cstreams.c (__gnat_full_name): Declare p only when used.
8794         (__gnat_full_name) [sgi] Return buffer.
8795
8796 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
8797
8798         * mingw32.h: New file.
8799         * gnat_wrapper.adb: New file.
8800
8801 2003-10-22  Jerome Roussel  <roussel@act-europe.fr>
8802
8803         * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
8804         string match a pre compiled regular expression (the corresponding
8805         version of the function working on a raw regular expression)
8806         Fix typos in various comments
8807         Update copyright notice in spec
8808
8809 2003-10-21  Gary Dismukes  <dismukes@gnat.com>
8810
8811         * exp_ch3.adb:
8812         (Component_Needs_Simple_Initialization): Return False when the type is a
8813         packed bit array. Revise spec comments to document this case.
8814
8815         * exp_prag.adb:
8816         (Expand_Pragma_Import): Set any expression on the imported object to
8817         empty to avoid initializing imported objects (in particular this
8818         covers the case of zero-initialization of bit arrays).
8819         Update copyright notice.
8820
8821 2003-10-21  Ed Schonberg  <schonberg@gnat.com>
8822
8823         * sem_ch12.adb:
8824         (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
8825         a subunit is missing.
8826         (Instantiate_Subprogram_Body): If body of function is missing, set type
8827         of return expression explicitly in dummy body, to prevent cascaded
8828         errors when a subunit is missing.
8829         Fixes PR 5677.
8830
8831         * sem_ch3.adb:
8832         (Access_Subprogram_Declaration): Verify that return type is valid.
8833         Fixes PR 8693.
8834
8835         * sem_elab.adb:
8836         (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
8837         generic.
8838         Fixes PR 12318.
8839
8840         * sem_util.adb:
8841         (Corresponding_Discriminant): If the scope of the discriminant is a
8842         private type without discriminant, use its full view.
8843         Fixes PR 8247.
8844
8845 2003-10-21  Arnaud Charlet  <charlet@act-europe.fr>
8846
8847         * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
8848         3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
8849         3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
8850         55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
8851         56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
8852         59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
8853         5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
8854         5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
8855         5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
8856         5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
8857         5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
8858         5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
8859         5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
8860         5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
8861         7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
8862         a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
8863         a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
8864         a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
8865         bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
8866         erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
8867         err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
8868         g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
8869         g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
8870         g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
8871         g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
8872         g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
8873         g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
8874         gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
8875         g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
8876         g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
8877         i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
8878         prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
8879         prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
8880         s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
8881         s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
8882         s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
8883         s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
8884         s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
8885         s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
8886         s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
8887         s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
8888         socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
8889         s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
8890         s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
8891         s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
8892         styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
8893         s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
8894         tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
8895         vms_conv.ads, vms_conv.adb, vms_data.ads,
8896         vxaddr2line.adb: Files added. Merge with ACT tree.
8897
8898         * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
8899         5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
8900         5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
8901         5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
8902         g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
8903         s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
8904         s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
8905         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
8906         s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
8907         s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
8908
8909         * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
8910         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
8911         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
8912         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
8913         4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
8914         4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
8915         4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
8916         4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
8917         51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
8918         53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
8919         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
8920         5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
8921         5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
8922         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
8923         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
8924         5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
8925         5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
8926         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
8927         5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
8928         5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
8929         5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
8930         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
8931         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
8932         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
8933         5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
8934         5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
8935         5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
8936         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
8937         5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
8938         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
8939         5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
8940         5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
8941         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
8942         5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
8943         6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
8944         7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
8945         7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
8946         a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
8947         a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
8948         a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
8949         a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
8950         a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
8951         ali.adb, ali.ads, ali-util.adb, ali-util.ads,
8952         a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
8953         a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
8954         a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
8955         a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
8956         a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
8957         a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
8958         a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
8959         a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
8960         a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
8961         a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
8962         a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
8963         a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
8964         atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
8965         a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
8966         a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
8967         bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
8968         checks.adb, checks.ads, cio.c, comperr.adb,
8969         comperr.ads, csets.adb, cstand.adb, cstreams.c,
8970         debug_a.adb, debug_a.ads, debug.adb, decl.c,
8971         einfo.adb, einfo.ads, errout.adb, errout.ads,
8972         eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
8973         expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
8974         exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
8975         exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
8976         exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
8977         exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
8978         exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
8979         exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
8980         exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
8981         fe.h, fmap.adb, fmap.ads, fname.adb,
8982         fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
8983         freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
8984         g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
8985         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
8986         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
8987         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
8988         g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
8989         g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
8990         g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
8991         g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
8992         g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
8993         g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
8994         g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
8995         g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
8996         gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
8997         gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
8998         gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
8999         gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
9000         gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
9001         g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
9002         g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
9003         g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
9004         g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
9005         g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
9006         g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
9007         g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
9008         g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
9009         i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
9010         i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
9011         inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
9012         itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
9013         layout.adb, lib.adb, lib.ads, lib-list.adb,
9014         lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
9015         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
9016         link.c, live.adb, make.adb, make.ads,
9017         Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
9018         mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
9019         mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
9020         misc.c, mkdir.c, mlib.adb, mlib.ads,
9021         mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
9022         mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
9023         namet.adb, namet.ads, namet.h, nlists.ads,
9024         nlists.h, nmake.adt, opt.adb, opt.ads,
9025         osint.adb, osint.ads, osint-b.adb, osint-c.adb,
9026         par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
9027         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
9028         par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
9029         par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
9030         prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
9031         prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
9032         prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
9033         prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
9034         prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
9035         prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
9036         prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
9037         prj-util.adb, prj-util.ads, raise.c, raise.h,
9038         repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
9039         rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
9040         s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
9041         s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
9042         scans.ads, scn.adb, scn.ads, s-crc32.adb,
9043         s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
9044         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
9045         sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
9046         sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
9047         sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
9048         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
9049         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
9050         sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
9051         sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
9052         sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
9053         sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
9054         sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
9055         s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
9056         s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
9057         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
9058         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
9059         s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
9060         s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
9061         s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
9062         sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
9063         sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
9064         sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
9065         s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
9066         s-memory.adb, s-memory.ads, snames.adb, snames.ads,
9067         snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
9068         s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
9069         s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
9070         s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
9071         s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
9072         s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
9073         s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
9074         s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
9075         s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
9076         s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
9077         s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
9078         s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
9079         s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
9080         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
9081         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
9082         s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
9083         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
9084         stringt.adb, stringt.ads, stringt.h, style.ads,
9085         stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
9086         s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
9087         s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
9088         switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
9089         s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
9090         table.adb, table.ads, targparm.adb, targparm.ads,
9091         targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
9092         trans.c, tree_io.adb, treepr.adb, treeprs.adt,
9093         ttypes.ads, types.ads, types.h, uintp.adb,
9094         uintp.ads, uintp.h, uname.adb, urealp.adb,
9095         urealp.ads, urealp.h, usage.adb, utils2.c,
9096         utils.c, validsw.adb, validsw.ads, widechar.adb,
9097         xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
9098         xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
9099         einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
9100         gnatvsn.ads: Merge with ACT tree.
9101
9102         * gnatvsn.adb: Rewritten in a simpler and more efficient way.
9103
9104 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
9105
9106         * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
9107         (gnat_ug_vmx.info): Likewise.
9108         (gnat_ug_vxw.info): Likewise.
9109         (gnat_ug_wnt.info): Likewise.
9110         (gnat_rm.info): Likewise.
9111         (gnat-style.info): Likewise.
9112
9113         * Make-lang.in (ada.install-info): Remove target.
9114         (info): New target.
9115         (install-info): Likewise.
9116         (gnat_ug_unx.info): Simplify rule.
9117         (gnat_ug_vmx.info): Likewise.
9118         (gnat_ug_vxw.info): Likewise.
9119         (gnat_ug_wnt.info): Likewise.
9120         (gnat_rm.info): Likewise.
9121         (gnat-style.info): Likewise.
9122
9123 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
9124
9125         * Make-lang.in: Replace uses of $(target_alias) with
9126         $(target_noncanonical).
9127         * ada/Makefile.in: Remove unused mention of $(target_alias).
9128
9129 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
9130
9131         * Make-lang.in (ada.info): Replace with ...
9132         (info): ... this.
9133         (ada.dvi): Replace with ...
9134         (dvi): ... this.
9135
9136 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
9137
9138         * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
9139         initialize dconstp5 and dconstmp5.
9140
9141 2003-09-28  Richard Henderson  <rth@redhat.com>
9142
9143         * trans.c (tree_transform): Update call to expand_asm_operands.
9144
9145 2003-09-21  Richard Henderson  <rth@redhat.com>
9146
9147         * trans.c, utils.c: Revert.
9148
9149 2003-09-21  Richard Henderson  <rth@redhat.com>
9150
9151         * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
9152         change to const.
9153
9154 2003-09-04  Michael Matz  <matz@suse.de>
9155
9156         * misc.c: Include "target.h".
9157         * Make-lang.in (misc.o): Add dependency on target.h.
9158
9159 2003-09-03  DJ Delorie  <dj@redhat.com>
9160
9161         * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
9162         hook.
9163
9164 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
9165
9166         * Makefile.in: Update substitutions to match changes to
9167         configure.  Use include directives instead of @-insertions
9168         to read in host and target fragments.  Add a rule to
9169         regenerate ada/Makefile.
9170
9171 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
9172
9173         * lang-options.h: Remove.
9174         * lang.opt: Add help text.
9175
9176 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
9177
9178         * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
9179         calls.
9180
9181 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
9182
9183         * misc.c (gnat_handle_option): Don't handle filenames.
9184
9185 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
9186
9187         * Make-lang.in: Replace PWD with PWD_COMMAND.
9188         * Makefile.adalib: Likewise.
9189         * Makefile.in: Likewise.
9190
9191 2003-07-04  Matt Kraai  <kraai@alumni.cmu.edu>
9192
9193         * misc.c (gnat_argv): Revert last change.
9194         (gnat_handle_option, gnat_init_options): Copy arguments.
9195
9196 2003-07-03  Neil Booth  <neil@daikokuya.co.uk>
9197
9198         * misc.c (gnat_argv): Make const.
9199
9200 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
9201
9202         * misc.c (save_argc, save_argv): Keep non-static!
9203
9204 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
9205
9206         * misc.c (save_argc, save_argv): Make static.
9207         (gnat_init_options): New prototype.
9208         (gnat_init_options): Update.
9209
9210 2003-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
9211
9212         * gnat_ug.texi: Remove unlikely characters from @vars.
9213         * gnat_ug_vms.texi: Regenerate.
9214
9215 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
9216
9217         * misc.c (record_code_position): Adjust emit_note call.
9218
9219 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
9220
9221         * misc.c (gnat_handle_option): Don't check for missing arguments.
9222
9223 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
9224
9225         * utils.c (end_subprog_body): Adjust expand_function_end call.
9226
9227 2003-06-16  Matt Kraai  <kraai@alumni.cmu.edu>
9228
9229         * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
9230         Bind_Main_Program.
9231
9232 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
9233
9234         * lang.opt: Declare Ada.
9235         * misc.c (gnat_init_options): Update.
9236
9237 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
9238
9239         * utils.c (begin_subprog_body): Adjust init_function_start call.
9240
9241 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
9242
9243         * Make-lang.in: Update to use options.c and options.h.
9244         * misc.c: Include options.h not aoptions.h.
9245         (gnat_handle_option): Abort on unrecognized switch.
9246         (gnat_init_options): Request Ada switches.
9247
9248 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
9249
9250         * lang.opt: Add -Wall.
9251         * misc.c (gnat_handle_option): Handle it.
9252
9253 2003-06-12  Neil Booth  <neil@daikokuya.co.uk>
9254
9255         * misc.c (gnat_handle_option): Fix warnings.
9256
9257 2003-06-11  Matt Kraai  <kraai@alumni.cmu.edu>
9258
9259         * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
9260
9261 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
9262
9263         * Make-lang.in: Update to handle command-line options.
9264         * lang.opt: New file.
9265         * misc.c: Include aoptions.h.
9266         (cl_options_count, cl_options): Remove.
9267         (gnat_handle_option): New.
9268         (gnat_decode_option): Remove.
9269         (LANG_HOOKS_DECODE_OPTION): Remove.
9270         (LANG_HOOKS_HANDLE_OPTION): Override.
9271
9272 2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
9273
9274         * init.c, misc.c, trans.c, utils.c: Remove dead code.
9275
9276 2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
9277
9278         * Makefile.in: Replace "host_canonical" with "host" for autoconf
9279         substitution.
9280
9281 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
9282
9283         * Make-lang.in: Update.
9284         * misc.c: Include opts.h. Define cl_options_count and cl_options.
9285
9286 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
9287
9288         * misc.c (gnat_init_options): Update.
9289
9290 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
9291
9292         * Make-lang.in (ada/b_gnatb.o-warn): Remove.
9293         * bindgen.adb (Gen_Main_C): Mark ensure_reference with
9294         __attribute__ ((__unused__)).
9295
9296 2003-06-05  Jan Hubicka  <jh@suse.cz>
9297
9298         * Make-lang.in:  Add support for stageprofile and stagefeedback
9299
9300 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
9301
9302         * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
9303         (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
9304
9305 2003-06-04  Matt Kraai  <kraai@alumni.cmu.edu>
9306
9307         * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
9308         Remove non-VMS directive.
9309         (Switches for gnatlbr, Optimization Levels): Remove non-VMS
9310         alternatives.
9311         (Examples of gnatls Usage): Remove VMS alternative.
9312
9313 2003-06-04  Olivier Hainque  <hainque@act-europe.fr>
9314
9315         PR ada/9953:
9316         * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
9317         and turn ZCX_By_Default back to False since the underlying support
9318         is not quite there yet.
9319
9320 2003-06-01  Andreas Jaeger  <aj@suse.de>
9321
9322         * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
9323         and ROUND_TYPE_SIZE_UNIT.
9324
9325 2003-05-22   Geert Bosch <bosch@gnat.com>
9326
9327         * gnat_rm.texi : Remove reference to Ada Core Technologies.
9328
9329 2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
9330
9331         * trans.c (tree_transform): Use location_t and input_location
9332         directly.
9333         (build_unit_elab): Likewise.
9334         * utils.c (create_label_decl): Likewise.
9335
9336 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
9337
9338         * trans.c (tree_transform, build_unit_elab,
9339         set_lineno): Rename lineno to input_line.
9340         * utils.c (pushdecl, create_label_decl, begin_subprog_body,
9341         end_subprog_body): Likewise.
9342         * utils2.c (build_call_raise): Likewise.
9343
9344 2003-05-01  Laurent Guerby <guerby@acm.org>
9345
9346         PR ada/10546
9347         * 5iosinte.ads: Increase pthread_cond_t size to match recent
9348         LinuxThread and NPTL version, merge from ACT.
9349
9350 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
9351
9352         * utils.c (convert): No need to clear TREE_CST_RTL.
9353
9354 2003-04-23   Geert Bosch <bosch@gnat.com>
9355
9356         * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
9357         1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
9358         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
9359         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
9360         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
9361         4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
9362         4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
9363         4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
9364         4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
9365         4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
9366         4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
9367         4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
9368         52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
9369         5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
9370         5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
9371         5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
9372         5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
9373         5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
9374         5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
9375         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
9376         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
9377         5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
9378         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
9379         5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
9380         5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
9381         5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
9382         5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
9383         5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
9384         5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
9385         5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
9386         5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
9387         5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
9388         5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
9389         5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
9390         5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
9391         5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
9392         5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
9393         5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
9394         5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
9395         5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
9396         5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
9397         5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
9398         5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
9399         5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
9400         6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
9401         7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
9402         7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
9403         9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
9404         a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
9405         a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
9406         a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
9407         a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
9408         a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
9409         a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
9410         a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
9411         a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
9412         a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
9413         a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
9414         a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
9415         a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
9416         a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
9417         a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
9418         a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
9419         a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
9420         a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
9421         a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
9422         a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
9423         a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
9424         a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
9425         a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
9426         a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
9427         a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
9428         a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
9429         a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
9430         a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
9431         a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
9432         a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
9433         a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
9434         a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
9435         a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
9436         a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
9437         a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
9438         a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
9439         a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
9440         a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
9441         a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
9442         a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
9443         a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
9444         a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
9445         a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
9446         a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
9447         a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
9448         a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
9449         a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
9450         a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
9451         a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
9452         a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
9453         a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
9454         a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
9455         a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
9456         a-wttest.ads, ada-tree.h, ada.ads, ada.h,
9457         adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
9458         ali.adb, ali.ads, alloc.ads, argv.c,
9459         atree.adb, atree.ads, atree.h, aux-io.c,
9460         back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
9461         binde.adb, binde.ads, binderr.adb, binderr.ads,
9462         bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
9463         butil.adb, butil.ads, cal.c, calendar.ads,
9464         casing.adb, casing.ads, ceinfo.adb, checks.adb,
9465         checks.ads, cio.c, comperr.adb, comperr.ads,
9466         config-lang.in, csets.adb, csets.ads, csinfo.adb,
9467         cstand.adb, cstand.ads, cuintp.c, debug.adb,
9468         debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
9469         dec-io.ads, dec.ads, deftarg.c, directio.ads,
9470         einfo.adb, einfo.ads, elists.adb, elists.ads,
9471         elists.h, errno.c, errout.adb, errout.ads,
9472         eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
9473         exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
9474         exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
9475         exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
9476         exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
9477         exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
9478         exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
9479         exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
9480         exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
9481         exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
9482         exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
9483         exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
9484         exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
9485         exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
9486         exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
9487         fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
9488         fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
9489         freeze.adb, freeze.ads, frontend.adb, frontend.ads,
9490         g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
9491         g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
9492         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
9493         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
9494         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
9495         g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
9496         g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
9497         g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
9498         g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
9499         g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
9500         g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
9501         g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
9502         g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
9503         g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
9504         g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
9505         g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
9506         g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
9507         g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
9508         g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
9509         g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
9510         g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
9511         g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
9512         get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
9513         gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
9514         gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
9515         gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
9516         gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
9517         gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
9518         gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
9519         gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
9520         hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
9521         i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
9522         i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
9523         i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
9524         i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
9525         i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
9526         i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
9527         inline.adb, inline.ads, interfac.ads, ioexcept.ads,
9528         itypes.adb, itypes.ads, krunch.adb, krunch.ads,
9529         layout.adb, layout.ads, lib-list.adb, lib-load.adb,
9530         lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
9531         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
9532         lib.adb, lib.ads, live.adb, live.ads,
9533         machcode.ads, make.adb, make.ads, makeusg.adb,
9534         makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
9535         mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
9536         memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
9537         mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
9538         mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
9539         mlib.ads, namet.adb, namet.ads, nlists.adb,
9540         nlists.ads, opt.adb, opt.ads, osint-b.adb,
9541         osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
9542         osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
9543         osint.ads, output.adb, output.ads, par-ch10.adb,
9544         par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
9545         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
9546         par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
9547         par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
9548         par-tchk.adb, par-util.adb, par.adb, par.ads,
9549         prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
9550         prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
9551         prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
9552         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
9553         prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
9554         prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
9555         prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
9556         prj.adb, prj.ads, repinfo.adb, repinfo.ads,
9557         restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
9558         rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
9559         s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
9560         s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
9561         s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
9562         s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
9563         s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
9564         s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
9565         s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
9566         s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
9567         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
9568         s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
9569         s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
9570         s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
9571         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
9572         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
9573         s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
9574         s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
9575         s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
9576         s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
9577         s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
9578         s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
9579         s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
9580         s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
9581         s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
9582         s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
9583         s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
9584         s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
9585         s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
9586         s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
9587         s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
9588         s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
9589         s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
9590         s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
9591         s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
9592         s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
9593         s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
9594         s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
9595         s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
9596         s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
9597         s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
9598         s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
9599         s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
9600         s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
9601         s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
9602         s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
9603         s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
9604         s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
9605         s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
9606         s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
9607         s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
9608         s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
9609         s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
9610         s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
9611         s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
9612         s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
9613         s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
9614         s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
9615         s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
9616         s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
9617         s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
9618         s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
9619         s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
9620         s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
9621         s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
9622         s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
9623         s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
9624         s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
9625         s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
9626         s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
9627         s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
9628         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
9629         s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
9630         s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
9631         s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
9632         s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
9633         s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
9634         s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
9635         s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
9636         s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
9637         s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
9638         s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
9639         s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
9640         s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
9641         s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
9642         s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
9643         s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
9644         s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
9645         s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
9646         s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
9647         s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
9648         s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
9649         s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
9650         s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
9651         s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
9652         scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
9653         sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
9654         sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
9655         sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
9656         sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
9657         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
9658         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
9659         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
9660         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
9661         sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
9662         sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
9663         sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
9664         sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
9665         sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
9666         sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
9667         sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
9668         sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
9669         sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
9670         sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
9671         sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
9672         sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
9673         snames.ads, sprint.adb, sprint.ads, stand.adb,
9674         stand.ads, stringt.adb, stringt.ads, style.adb,
9675         style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
9676         switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
9677         switch-m.ads, switch.adb, switch.ads, system.ads,
9678         table.adb, table.ads, targparm.adb, targparm.ads,
9679         tbuild.adb, tbuild.ads, text_io.ads, trans.c,
9680         tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
9681         tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
9682         ttypef.ads, ttypes.ads, types.adb, types.ads,
9683         uintp.adb, uintp.ads, uname.adb, uname.ads,
9684         unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
9685         usage.adb, usage.ads, validsw.adb, validsw.ads,
9686         widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
9687         xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
9688         xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
9689         formatting and other trivial changes from ACT.
9690
9691 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
9692
9693         * gigi.h, utils2.c (build_constructor):
9694         Rename gnat_build_constructor. Use build_constructor.
9695         * decl.c (gnat_to_gnu_entity)
9696         * trans.c (tree_transform, pos_to_constructor, extract_values)
9697         * ada/utils.c (build_template, convert_to_fat_pointer, convert)
9698         (unchecked_convert)
9699         * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
9700         (fill_vms_descriptor):
9701         Update to match.
9702
9703 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
9704
9705         * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
9706         * misc.c (gnat_tree_size): New function.
9707         (LANG_HOOKS_TREE_SIZE): Override.
9708
9709 2003-04-03  Jason Merrill  <jason@redhat.com>
9710
9711         * misc.c (gnat_adjust_rli): #if 0.
9712
9713 2003-03-31   Geert Bosch <bosch@gnat.com>
9714
9715         PR ada/10020
9716         * link.c : Fix misspelled "const" keyword
9717
9718 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
9719
9720         PR c++/7086
9721         * utils2.c: Adjust calls to put_var_into_stack.
9722
9723 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
9724
9725         * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
9726
9727 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
9728
9729         * misc.c (gnat_init): Update for new prototype.
9730
9731 2003-03-05  Olivier Hainque  <hainque@gnat.com>
9732
9733         ada/9961
9734         * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
9735         warning, and fix return type for the IN_RTS && !SJLJ case.
9736
9737 2003-03-04  Tom Tromey  <tromey@redhat.com>
9738
9739         * Make-lang.in (ada.tags): New target.
9740
9741 2003-03-04  Olivier Hainque  <hainque@act-europe.fr>
9742
9743         ada/9911
9744         * a-except.adb (Unwind_RaiseException): Import a GNAT specific
9745         wrapper, which name remains constant whatever underlying GCC
9746         scheme.
9747
9748         * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
9749         the stable interface needed for a-except.
9750
9751 2003-03-02  Andreas Jaeger  <aj@suse.de>
9752
9753         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
9754         gnat_ug_wnt.texi: Regenerate.
9755
9756 2003-03-02  Laurent Guerby <guerby@acm.org>
9757
9758         * Makefile.in (install-gnatlib): Match previous change there
9759         so it works.
9760
9761 2003-02-28  Andreas Schwab  <schwab@suse.de>
9762
9763         * Make-lang.in (install-gnatlib): Change to ada directory before
9764         running make instead of using ada/Makefile directly.
9765
9766 2003-02-18  Ben Elliston  <bje@redhat.com>
9767
9768         Part of fix for PR ada/9406
9769         * gnat_ug.texi (Binder output file): Grammar fix.
9770
9771 2003-02-18  Ben Elliston  <bje@redhat.com>
9772
9773         PR other/7350
9774         * 5qtaprop.adb (Sleep): Fix typo in comment.
9775
9776 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
9777
9778         * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
9779         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
9780         gnat_ug_wnt.texi: Regenerate.
9781
9782 2003-02-03  Christian Cornelssen <ccorn@cs.tu-berlin.de>
9783
9784         * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
9785         be created if necessary.
9786         (ada.install-common): Let $(DESTDIR)$(bindir) be created
9787         if necessary.  Remove erroneous and redundant gnatchop
9788         installation commands.  Test for gnatdll before attempting
9789         to install it.
9790         (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
9791         and gnatdll from all plausible locations.
9792
9793 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
9794
9795         * utils2.c (build_unary_op): Don't check flag_volatile.
9796         * gnat_ug.texi: Remove -fvolatile from example.
9797         * gnat_ug_vxw.texi: Likewise.
9798
9799 2003-01-29  Laurent Guerby <guerby@acm.org>
9800
9801         PR ada/8344
9802         * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
9803         * Makefile.in: match previous change.
9804         * Make-lang.in: match previous change.
9805
9806 2003-01-29      Joel Sherrill <joel@OARcorp.com>
9807
9808         * 5rosinte.ads: Add SIGXCPU.
9809         * 5rtpopsp.adb: New file.
9810         * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
9811         * Makefile.in: Recognize more RTEMS targets and add the RTEMS
9812         specific file 5rtpopsp.adb.
9813         * adaint.h: Add include of <stdio.h> when target is RTEMS.  This
9814         is likely needed for all newlib targets.
9815         * init.c: Add RTEMS specific version of __gnat_initialize().
9816
9817 2003-01-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9818
9819         * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
9820
9821 2003-01-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9822
9823         * init.c (__gnat_error_handler): Make msg const.
9824
9825         * gmem.c (convert_addresses): Move declaration ...
9826         * adaint.h: ... here.
9827         * adaint.c (convert_addresses): Adapt addrs type to match
9828         prototype.
9829
9830         * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
9831
9832 2003-01-24  Andreas Schwab  <schwab@suse.de>
9833
9834         * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
9835         size_t to avoid warning.
9836
9837 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
9838
9839         * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
9840
9841 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
9842
9843         * gnat_rm.texi: Remove RCS version number.
9844
9845         * ada-tree.h (union lang_tree_node): Add chain_next option.
9846
9847 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
9848
9849         * Make-lang.in (ada.install-info, ada.install-common,
9850         ada.uninstall): Prepend $(DESTDIR) to the destination
9851         directory in all (un)installation commands.
9852         * Makefile.in (install-gnatlib, install-rts): Ditto.
9853
9854 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
9855
9856         * gnat_rm.texi, gnat_ug.texi: Use @copying.
9857         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
9858         gnat_ug_wnt.texi: Regenerate.
9859
9860 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
9861
9862         * gnat_rm.texi: Include gcc-common.texi.  Use GCC version number
9863         only.
9864         * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
9865         $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
9866         $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
9867         ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
9868         ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
9869         $(srcdir)/doc/include/gcc-common.texi.
9870
9871 2002-12-15   Geert Bosch <bosch@gnat.com>
9872
9873         * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
9874
9875 2002-12-14   Geert Bosch <bosch@gnat.com>
9876
9877         * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
9878         case of a body created for a Renaming_As_Body, on which
9879         conformance checks are not performed. Fixes PR ada/5690.
9880
9881 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
9882
9883         * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
9884         utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
9885         not already included.
9886         * Make-lang.in: Update dependencies.
9887
9888 2002-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
9889         * adaint.c (__gnat_tmp_name): Better, but good enough for now,
9890         solution to buffer overflow bug on GNU/Linux.
9891
9892 2002-11-14  Nathanael Nerode  <neroden@gcc.gnu.org>
9893         Closes PR ada/5856 and PR ada/6919 !
9894         * bindgen.adb: Remove all references to Public_Version.
9895         * comperr.adb: Remove all references to Public_Version and
9896         GNATPRO_Version; correct bug reporting instructions.
9897         * comperr.ads: Change to match bug box.
9898         * gnatvsn.ads: Remove all references to Public version and
9899         GNATPRO version.
9900
9901 2002-11-13  Nathanael Nerode  <neroden@gcc.gnu.org>
9902         PR ada/6919
9903         * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
9904         GNU/Linux.
9905
9906         PR ada/6558
9907         * config-lang.in: Remove diff_excludes.
9908
9909 2002-11-05  Graham Stott  <graham.stott@btinternet.com>
9910         PR ada/8358
9911         * trans.c (gnu_pending_elaboration_lists): New GC root.
9912         (build_unit_elab): Use..
9913
9914 2002-10-30   Geert Bosch <bosch@gnat.com>
9915         PR ada/6558
9916         * misc.c : Include optabs.h
9917
9918         * Make-lang.in (misc.o): Add dependency on optabs.h
9919
9920 2002-10-29   Geert Bosch <bosch@gnat.com>
9921         PR ada/6558
9922         * Make-lang.in (gnatbind): Depend on CONFIG_H
9923
9924 2002-10-29  Geert bosch  <bosch@gnat.com>
9925         PR ada/6558
9926         * misc.c: Unrevert misc.c (1.13)
9927
9928 2002-10-28  Nathanael Nerode  <neroden@gcc.gnu.org>
9929
9930         * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
9931         maintainership comments.
9932
9933 2002-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
9934         PR ada/5904
9935         * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
9936         5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
9937         5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
9938         7staprop.adb: Correct statements in comments about
9939         maintainership of GNAT.
9940
9941         PR ada/5904
9942         * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
9943         gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
9944         osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
9945         osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
9946         s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
9947         s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
9948         sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
9949         switch-c.ads switch-m.adb switch-m.ads: Correct statements in
9950         comments about maintainership of GNAT.
9951
9952         PR ada/6919 (forward port of patch for PR ada/5904)
9953         * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
9954         4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
9955         4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
9956         4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
9957         4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
9958         4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
9959         4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
9960         52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
9961         5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
9962         5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
9963         5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
9964         5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
9965         5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
9966         5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
9967         5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
9968         5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
9969         5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
9970         5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
9971         5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
9972         5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
9973         5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
9974         5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
9975         5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
9976         5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
9977         5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
9978         5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
9979         5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
9980         5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
9981         7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
9982         a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
9983         a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
9984         a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
9985         a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
9986         a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
9987         a-except.adb a-except.ads a-excpol.adb a-exctra.adb
9988         a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
9989         a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
9990         a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
9991         a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
9992         a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
9993         a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
9994         a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
9995         a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
9996         a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
9997         a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
9998         a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
9999         a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
10000         a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
10001         a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
10002         a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
10003         a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
10004         a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
10005         a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
10006         a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
10007         a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
10008         a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
10009         a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
10010         a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
10011         a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
10012         a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
10013         a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
10014         a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
10015         a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
10016         a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
10017         a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
10018         a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
10019         a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
10020         a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
10021         adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
10022         alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
10023         back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
10024         binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
10025         bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
10026         ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
10027         csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
10028         cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
10029         debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
10030         einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
10031         errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
10032         exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
10033         exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
10034         exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
10035         exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
10036         exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
10037         exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
10038         exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
10039         exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
10040         exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
10041         exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
10042         exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
10043         exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
10044         exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
10045         final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
10046         fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
10047         freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
10048         g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
10049         g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
10050         gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
10051         gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
10052         gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
10053         gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
10054         gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
10055         gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
10056         i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
10057         i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
10058         i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
10059         i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
10060         impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
10061         itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
10062         lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
10063         lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
10064         lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
10065         lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
10066         makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
10067         namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
10068         nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
10069         osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
10070         par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
10071         par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
10072         par-endh.adb par-labl.adb par-load.adb par-prag.adb
10073         par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
10074         prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
10075         prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
10076         prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
10077         prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
10078         prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
10079         prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
10080         repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
10081         rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
10082         s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
10083         s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
10084         s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
10085         s-direio.adb s-direio.ads s-except.ads s-exctab.adb
10086         s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
10087         s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
10088         s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
10089         s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
10090         s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
10091         s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
10092         s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
10093         s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
10094         s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
10095         s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
10096         s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
10097         s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
10098         s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
10099         s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
10100         s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
10101         s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
10102         s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
10103         s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
10104         s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
10105         s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
10106         s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
10107         s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
10108         s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
10109         s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
10110         s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
10111         s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
10112         s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
10113         s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
10114         s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
10115         s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
10116         s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
10117         s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
10118         s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
10119         s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
10120         s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
10121         s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
10122         s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
10123         s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
10124         s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
10125         s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
10126         s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
10127         s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
10128         s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
10129         s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
10130         s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
10131         s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
10132         s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
10133         s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
10134         s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
10135         s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
10136         s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
10137         s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
10138         s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
10139         s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
10140         s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
10141         s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
10142         s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
10143         s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
10144         s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
10145         s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
10146         s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
10147         s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
10148         s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
10149         s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
10150         s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
10151         s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
10152         s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
10153         s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
10154         s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
10155         s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
10156         s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
10157         s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
10158         s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
10159         s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
10160         s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
10161         s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
10162         s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
10163         s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
10164         scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
10165         sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
10166         sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
10167         sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
10168         sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
10169         sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
10170         sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
10171         sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
10172         sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
10173         sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
10174         sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
10175         sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
10176         sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
10177         sem_type.adb sem_type.ads sem_util.adb sem_util.ads
10178         sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
10179         sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
10180         sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
10181         sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
10182         snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
10183         stringt.ads stringt.h style.adb style.ads stylesw.adb
10184         stylesw.ads switch.adb switch.ads sysdep.c system.ads
10185         table.adb table.ads targparm.adb targparm.ads targtyps.c
10186         tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
10187         tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
10188         treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
10189         types.adb types.ads types.h uintp.adb uintp.ads uintp.h
10190         uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
10191         usage.ads utils.c utils2.c validsw.adb validsw.ads
10192         widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
10193         xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
10194         xtreeprs.adb: Correct statements in comments about maintainership
10195         of GNAT.
10196
10197 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
10198
10199         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
10200         * Makefile.in (TOOLS_LIBS): Add ../../version.o.
10201         * gnatvsn.ads: Gnat_Version_String is now a function.
10202         * gnatvsn.adb: New file.  When asked for Gnat_Version_String,
10203         copy the C version_string into a String and return it.
10204         * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
10205         gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
10206         Remove pragma Ident (Gnat_Version_String).  If this was the
10207         sole use of package Gnatvsn, remove the with statement too.
10208         * gnat1drv.adb: Tweak -gnatv output.
10209
10210 2002-09-17  Richard Henderson  <rth@redhat.com>
10211
10212         * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
10213         * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
10214         * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
10215         (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
10216         * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
10217         and real_2expN instead of a loop.
10218         * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
10219         (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
10220
10221 2002-08-25  Andre Leis <a.leis@gmx.net>
10222             David Billinghurst (David.Billinghurst@riotinto.com>
10223
10224         * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
10225
10226 2002-08-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10227
10228         * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
10229         Remove $(CONFIG_H) dependency.
10230
10231 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
10232
10233         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
10234
10235 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10236
10237         * adadecode.c (ada_demangle): Use xstrdup in lieu of
10238         xmalloc/strcpy.
10239         * misc.c (gnat_decode_option): Likewise.
10240
10241 2002-07-15  Florian Weimer  <fw@deneb.enyo.de>
10242
10243         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
10244         function approach did not work well because of a side effect (the
10245         function call could reallocate the table which was being indexed
10246         using its result). Fixes ada/4851. [RESURRECTED]
10247
10248 2002-07-01  Roger Sayle  <roger@eyesopen.com>
10249
10250         * ada/utils.c (builtin_function): Accept an additional parameter.
10251
10252 2002-06-28  Andreas Jaeger  <aj@suse.de>
10253
10254         PR ada/7144
10255         * Makefile.in: Fix typo in comment, patch by Adrian Knoth
10256         <adi@thur.de>.
10257
10258 2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10259
10260         * Makefile.in (SHELL): Set to @SHELL@.
10261
10262 2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10263
10264         * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
10265         array size calculation.
10266
10267 2002-06-04  Andreas Jaeger  <aj@suse.de>
10268
10269         * Make-lang.in (gnatbind): Readd rule that has been lost in last
10270         patch.
10271
10272 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
10273
10274         Merge from pch-branch:
10275
10276         * config-lang.in (gtfiles): Add ada-tree.h.
10277         * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
10278         (SET_TYPE_MODULUS): New.
10279         (SET_TYPE_INDEX): New.
10280         (SET_TYPE_DIGITS_VALUE): New.
10281         (SET_TYPE_RM_SIZE): New.
10282         (SET_TYPE_UNCONSTRAINED_ARRAY): New.
10283         (SET_TYPE_ADA_SIZE): New.
10284         (SET_TYPE_ACTUAL_BOUNDS): New.
10285         (SET_DECL_CONST_CORRESPONDING_VAR): New.
10286         (SET_DECL_ORIGINAL_FIELD): New.
10287         (TREE_LOOP_ID): Correct typo.
10288         * decl.c: Use new macros.
10289         * utils.c: Include debug.h, use new macros.
10290         * utils2.c: Use new macros.
10291
10292         * ada-tree.h: Update all macros for new tree description.
10293         (struct tree_loop_id): New.
10294         (union lang_tree_node): New.
10295         (struct lang_decl): New.
10296         (struct lang_type): New.
10297         * misc.c (gnat_mark_tree): Delete.
10298         (LANG_HOOKS_MARK_TREE): Delete.
10299         * trans.c (tree_transform): No longer any need to cast
10300         for TREE_LOOP_ID.
10301
10302         * utils.c (struct language_function): New dummy structure.
10303
10304         * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
10305         (misc.o): Likewise.
10306         (utils.o): Likewise; also gtype-ada.h.
10307         * Make-lang.in (gnat1): Add dependency on s-gtype.
10308         (gnatbind): Add dependency on $(CONFIG_H).
10309         * utils.c: Correct last #include.
10310         (stuct e_stack): Remove unnecessary 'static'.
10311         (mark_e_stack): Remove unused prototype.
10312
10313         * scn-nlit.adb: Remove whitespace after version number to
10314         keep lines under 80 chars.
10315         * snames.adb: Likewise.
10316         * treepr.ads: Likewise.
10317
10318         * Makefile.in (decl.o): Include gt-ada-<filename>.h.
10319         (misc.o): Likewise.
10320         (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
10321         * config-lang.in (gtfiles): New.
10322         * decl.c: Use gengtype for roots.
10323         * gigi.h: Use gengtype for roots.
10324         * trans.c: Use gengtype for roots.
10325         * utils.c: Use gengtype for roots, marking.  Include gtype-ada.h.
10326
10327 2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
10328
10329         * misc.c (gnat_init): Adjust setting of internal_error_function.
10330
10331 2002-06-01  Joseph S. Myers  <jsm28@cam.ac.uk>
10332
10333         * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
10334         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
10335         gnat_ug_wnt.texi: Regenerate.
10336
10337 2002-05-31  Florian Weimer  <fw@deneb.enyo.de>
10338
10339         * 5ntaprop.adb (with System.OS_Primitives): Remove.
10340
10341         * cstreams.c (max_path_len): Move from here ...
10342         * adaint.c (__gnat_max_path_len): ... to here.
10343         * adaint.c (__gnat_max_path_len): Declare.
10344         * g-dirope.adb (Max_Path): Adjust.
10345         * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
10346         * i-cstrea.ads (max_path_len): Adjust.
10347         * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
10348         * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
10349
10350         * Makefile.in, Make-lang.in: Documentation is now built in
10351         Make-lang.in.  Store Info and generated Texinfo files in the
10352         source directory.
10353         * gnat_ug.texi: Remove CVS keywords, correct version number.
10354         Set file name correctly.
10355
10356         * gnat_ug_*.texi: Add.
10357         * .cvsignore: Ignore generated Texinfo files.
10358
10359 2002-05-30  Zack Weinberg  <zack@codesourcery.com>
10360
10361         * ada.h: Add MI guard macro.
10362         (SUBTYPE): Define constants with an anonymous enum, not static
10363         const variables.
10364         (IN): Cast constants to appropriate type before use.
10365
10366 2002-05-26  Joseph S. Myers  <jsm28@cam.ac.uk>
10367
10368         * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
10369         (experimental)".
10370
10371 2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10372
10373         * Make-lang.in (CP, ECHO): Copy from Makefile.in.
10374         (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
10375         (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
10376         (ALL_ADA_CFLAGS): Likewise.
10377         (ADA_INCLUDES): Likewise.
10378         Adapt for new working dir.
10379         (GNATBIND): Use Makefile.in version.
10380         (.SUFFIXES): Copy from Makefile.in.
10381         (ada-warn): Define.
10382         (.adb.o, .ads.o): Copy from Makefile.in.
10383         Added $(OUTPUT_OPTION).
10384         (GNAT1_C_OBJS): Moved from Makefile.in.
10385         Prefix with ada subdir.
10386         (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
10387         (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
10388         Adapt for new working dir.
10389         (EXTRA_GNATBIND_OBJS): Likewise.
10390         (ADA_BACKEND): Moved from Makefile.in.
10391         Renamed to avoid conflict with global BACKEND.
10392         Use that one.
10393         (TARGET_ADA_SRCS): Moved from Makefile.in.
10394         (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
10395         Use ADA_BACKEND.
10396         (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
10397         (ada_extra_files): Moved from Makefile.in.
10398         Prefix with ada subdir.
10399         (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
10400         (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
10401         (ada/nmake.ads): Likewise.
10402         (update-sources): Moved from Makefile.in.
10403         Prefix with ada subdir.
10404         (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
10405         (ADA_TREE_H): Likewise.
10406         (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
10407         (ada/memtrack.o): Likewise.
10408         (ada/adadecode.o): Likewise.
10409         Update dependencies.
10410         (ada/adaint.o): New.
10411         (ada/argv.o): Moved from Makefile.in.
10412         Prefix with ada subdir.
10413         Update dependencies.
10414         (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
10415         (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
10416         (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
10417         Prefix with ada subdir.
10418         (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
10419         (GNAT DEPENDENCIES): Regenerate.
10420         * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
10421         toplevel Makefile.in.
10422         (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
10423         (TARGET_ADA_SRCS): Removed.
10424         (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
10425         (GNATBIND_OBJS): Likewise.
10426         (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
10427         (BACKEND): Removed.
10428         (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
10429         (TREE_H): Likewise.
10430         (ada_extra_files): Likewise.
10431         (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
10432         (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
10433         (update-sources): Likewise.
10434         (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
10435         (ADA_TREE_H): Likewise.
10436         (adadecoce.o): Likewise.
10437         (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
10438         (GNAT DEPENDENCIES): Likewise.
10439
10440 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10441
10442         * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
10443         * Makefile.in: Likewise.
10444
10445 2002-05-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10446
10447         * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
10448         Restore $(CONFIG_H) and prefix.o dependencies.
10449         (ada.stage[1-4]): Depend on stage?-start.
10450
10451         * Makefile.in (b_gnatb.c): Depend on interfac.o.
10452
10453 2002-05-02  Jim Wilson  <wilson@redhat.com>
10454
10455         * utils.c (finish_record_type): Change record_size to record_type.
10456
10457 2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10458
10459         * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
10460         (ALL_ADA_CFLAGS): Define.  Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
10461         ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
10462
10463 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
10464
10465         * misc.c (gnat_parse_file): Update.
10466
10467 2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
10468
10469         * misc.c (gnat_init): Don't set lang_attribute_common.
10470
10471 2002-04-21  Joseph S. Myers  <jsm28@cam.ac.uk>
10472
10473         * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
10474
10475 2002-04-21  Florian Weimer  <fw@deneb.enyo.de>
10476
10477         * gnat_ug.texi: New file.
10478
10479         * gnat_rm.texi: Do not include texiplus.texi.  Include fdl.texi
10480         instead of gfdl.texi
10481
10482         * xgnatug.adb, ug_words: New files.
10483
10484         * Makefile.in (doc, dvi): New targets.  Build gnat_ug_*,
10485         gnat_rm and gnat-style manuals.
10486
10487 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
10488
10489         * gigi.h (incomplete_type_error): Remove.
10490         * utils.c (incomplete_type_error): Remove.
10491
10492 2002-04-16  Mark Mitchell  <mark@codesourcery.com>
10493
10494         * trans.c (tree_transform): Add has_scope argument to
10495         expand_start_stmt_expr.
10496
10497 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
10498
10499         * gigi.h (truthvalue_conversion): Rename.
10500         * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
10501         * trans.c (tree_transform): Update.
10502         * utils2.c (truthvalue_conversion): Rename, update.
10503         (build_binary_op, build_unary_op): Update.
10504
10505 2002-04-04  Laurent Guerby  <guerby@acm.org>
10506
10507         * make.adb: Implement -margs, remove restriction about file name placement.
10508         * makeusg.adb: Documentation update.
10509         * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
10510         * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
10511
10512 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
10513
10514         * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
10515         (builtin_function): Similarly.
10516
10517 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
10518
10519         * decl.c (gnat_to_gnu_entity): Update.
10520         * gigi.h (mark_addressable): Rename.
10521         * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
10522         * trans.c (tree_transform): Update.
10523         * utils.c (create_var_decl): Update.
10524         * util2.c (build_binary_op, build_unary_op,
10525         fill_vms_descriptor): Update.
10526         (mark_addressable): Rename, update.
10527
10528 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
10529
10530         * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
10531         Rename.
10532         * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
10533         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
10534         * trans.c (tree_transform, convert_with_check): Update.
10535         * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
10536         Rename.
10537
10538 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
10539
10540         * gigi.h (finish_incomplete_decl): Rename.
10541         * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
10542         * utils.c (gnat_init_decl_processing): Don't set hook.
10543         (finish_incomplete_decl): Rename.
10544
10545 2002-03-29  Andreas Schwab  <schwab@suse.de>
10546
10547         * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
10548         directory.
10549
10550 2001-03-28  Robert Dewar <dewar@gnat.com>
10551
10552         * checks.ads:
10553         (Remove_Checks): New procedure
10554
10555         * checks.adb:
10556         (Remove_Checks): New procedure
10557
10558         * exp_util.adb:
10559         Use new Duplicate_Subexpr functions
10560         (Duplicate_Subexpr_No_Checks): New procedure
10561         (Duplicate_Subexpr_No_Checks_Orig): New procedure
10562         (Duplicate_Subexpr): Restore original form (checks duplicated)
10563         (Duplicate_Subexpr): Call Remove_Checks
10564
10565         * exp_util.ads:
10566         (Duplicate_Subexpr_No_Checks): New procedure
10567         (Duplicate_Subexpr_No_Checks_Orig): New procedure
10568         Add 2002 to copyright notice
10569
10570         * sem_util.adb: Use new Duplicate_Subexpr functions
10571
10572         * sem_eval.adb:
10573         (Eval_Indexed_Component): This is the place to call
10574         Constant_Array_Ref and to replace the value. We simply merge
10575         the code of this function in here, since it is now no longer
10576         used elsewhere. This fixes the problem of the back end not
10577         realizing we were clever enough to see that this was
10578         constant.
10579         (Expr_Val): Remove call to Constant_Array_Ref
10580         (Expr_Rep_Val): Remove call to Constant_Array_Ref
10581         Minor reformatting
10582         (Constant_Array_Ref): Deal with string literals (patch
10583         suggested by Zack Weinberg on the gcc list)
10584
10585 2001-03-28  Ed Schonberg <schonber@gnat.com>
10586
10587         * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
10588         Duplicate_Subexpr_Move_Checks.
10589
10590         * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
10591         Duplicate_Subexpr_Move_Checks.
10592
10593         * sem_eval.adb: (Constant_Array_Ref): Verify that constant
10594         value of array exists before retrieving it (it may a private
10595         protected component in a function).
10596
10597 2002-03-28   Geert Bosch <bosch@gnat.com>
10598
10599         * prj-pp.adb : New file.
10600
10601         * prj-pp.ads : New file.
10602
10603 2002-03-28  Andreas Jaeger  <aj@suse.de>
10604
10605         * Makefile.in (stamp-sdefault): Fix path for Makefile.
10606
10607 2002-03-28  Neil Booth  <neil@daikokuya.demon.co.uk>
10608
10609         * misc.c (gnat_expand_expr): Move prototype.
10610
10611 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10612
10613         * misc.c (insert_default_attributes): Remove.
10614
10615 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10616
10617         * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
10618         (gnat_init): Don't set hook.
10619         (gnat_expand_expr): Fix prototype.
10620
10621 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
10622
10623         * misc.c (ggc_p): Remove.
10624
10625 2002-03-27  Geert Bosch  <bosch@gnat.com>
10626
10627         * prj-makr.ads, prj-makr.adb : New files.
10628
10629 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
10630
10631         * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
10632         (lang_mark_tree): Make static, rename.
10633
10634 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
10635
10636         * misc.c (maybe_build_cleanup): Remove.
10637
10638 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
10639
10640         * gigi.h (yyparse): Remove.
10641
10642 2002-03-23  Florian Weimer  <fw@deneb.enyo.de>
10643
10644         * gnat_rm.texi: Sync with ACT version.
10645           (From Ben Brosgol <brosgol@gnat.com>)
10646
10647 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
10648
10649         * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
10650         (gnat_init): Remove old hook.
10651
10652 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
10653
10654         * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
10655         (yyparse): Rename gnat_parse_file.
10656
10657 2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
10658
10659         Delete all lines containing "$Revision:".
10660         * xeinfo.adb: Don't look for revision numbers.
10661         * xnmake.adb: Likewise.
10662         * xsinfo.adb: Likewise.
10663         * xsnames.adb: Likewise.
10664         * xtreeprs.adb: Likewise.
10665
10666 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10667
10668         * misc.c (gnat_tree_code_type, gnat_tree_code_length,
10669         gnat_tree_code_name): Delete.
10670         (tree_code_type, tree_code_length, tree_code_name): Define.
10671         (gnat_init): Don't try to copy into the various tree_code
10672         arrays.
10673
10674 2002-03-11  Richard Henderson  <rth@redhat.com>
10675
10676         * Makefile.in (.NOTPARALLEL): Add fake tag.
10677
10678 2002-03-07  Geert Bosch  <bosch@gnat.com>
10679
10680         * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
10681         s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
10682         switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
10683         switch-m.adb, switch-m.ads : New files.
10684
10685 2002-03-07  Geert Bosch  <bosch@gnat.com>
10686
10687         * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
10688         4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
10689         4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
10690         4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
10691         5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
10692         5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
10693         5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
10694         5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
10695         5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
10696         5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
10697         5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
10698         5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
10699         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
10700         5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
10701         5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
10702         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
10703         5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
10704         5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
10705         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
10706         5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
10707         7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
10708         Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
10709         a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
10710         a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
10711         a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
10712         a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
10713         a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
10714         a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
10715         a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
10716         adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
10717         atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
10718         bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
10719         csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
10720         einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
10721         eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
10722         exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
10723         exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
10724         exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
10725         exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
10726         exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
10727         expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
10728         freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
10729         g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
10730         g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
10731         g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
10732         g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
10733         g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
10734         g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
10735         gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
10736         gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
10737         gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
10738         i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
10739         impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
10740         lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
10741         lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
10742         memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
10743         mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
10744         nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
10745         output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
10746         par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
10747         prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
10748         prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
10749         prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
10750         rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
10751         s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
10752         s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
10753         s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
10754         s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
10755         s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
10756         s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
10757         s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
10758         s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
10759         s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
10760         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
10761         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
10762         s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
10763         s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
10764         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
10765         s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
10766         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
10767         sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
10768         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
10769         sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
10770         sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
10771         sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
10772         sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
10773         sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
10774         sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
10775         sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
10776         snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
10777         stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
10778         table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
10779         tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
10780         treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
10781         types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
10782         utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
10783         xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
10784
10785         * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
10786         g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
10787         mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
10788         osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
10789
10790         * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
10791         5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
10792
10793         * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
10794         to mdll-fil.ad[bs] and mdll-util.ad[bs]
10795
10796         * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
10797         from mdllfile.ad[bs] and mdlltool.ad[bs]
10798
10799 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10800
10801         * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
10802         lieu of explicit sizeof/sizeof.
10803
10804 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
10805
10806         * misc.c (copy_lang_decl): Remove.
10807
10808 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
10809
10810         * misc.c: Delete traditional-mode-related code copied from the
10811         C front end but not used, or used only to permit the compiler
10812         to link.
10813
10814 2002-02-07  Richard Henderson  <rth@redhat.com>
10815
10816         * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
10817         * adaint.h (__gnat_to_gm_time): Update prototype.
10818
10819 2002-01-30  Richard Henderson  <rth@redhat.com>
10820
10821         * trans.c (tree_transform) [N_Loop_Statement]: Use
10822         expand_exit_loop_top_cond.
10823
10824 2001-12-23  Richard Henderson  <rth@redhat.com>
10825
10826         * utils.c (end_subprog_body): Push GC context around
10827         rest_of_compilation for nested functions.
10828
10829 2001-12-23  Richard Henderson  <rth@redhat.com>
10830
10831         * 5nosinte.ads: Get definition of "int" from Interfaces.C.
10832
10833 2001-12-23  Florian Weimer  <fw@deneb.enyo.de>
10834
10835         * gnat-style.texi (Declarations and Types): Remove ancient style
10836         rule which was mandated by code generation issues.
10837
10838         * gnat-style.texi (header): Add @dircategory, @direntry.
10839         (title page): Remove date.
10840         (general) Add @./@: where approriate, and two spaces after the
10841         full stop at the end of a sentence.  Use @samp markup when
10842         referring concrete lexical entities (keywords, attribute names
10843         etc.), and @syntax for ARM grammar elements. Use @r for English
10844         text in comments.  Use @emph for emphasis.  Change "if-statements"
10845         etc. to "if statements" (without @samp). Break long lines.  Make
10846         casing of section names consistent.
10847         (Identifiers): Use @samp markup for variable names.
10848         (Comments): Use @samp markup for comment characters. Line-end
10849         comments may follow any Ada code, not just statements.  Fix
10850         misspelling of "Integer" as "integer".
10851         (Loop statements): Do not use variable name "I", use "J".
10852         (Subprogram Declarations): Document alignment.
10853         (Subprogram Bodies, Block statements): Document empty line before
10854         "begin".
10855
10856 2001-12-22  Florian Weimer  <fw@deneb.enyo.de>
10857
10858         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
10859         function approach did not work well because of a side effect (the
10860         function call could reallocate the table which was being indexed
10861         using its result). Fixes ada/4851.
10862
10863 2001-12-19  Robert Dewar <dewar@gnat.com>
10864
10865         * bindgen.adb: Minor reformatting
10866
10867         * cstand.adb: Minor reformatting
10868
10869         * fmap.adb: Minor reformatting
10870         Change name from Add for Add_To_File_Map (Add is much too generic)
10871         Change Path_Name_Of to Mapped_Path_Name
10872         Change File_Name_Of to Mapped_File_Name
10873         Fix copyright dates in header
10874
10875         * fmap.ads:
10876         Change name from Add for Add_To_File_Map (Add is much too generic)
10877         Change Path_Name_Of to Mapped_Path_Name
10878         Change File_Name_Of to Mapped_File_Name
10879         Fix copyright dates in header
10880
10881         * fname-uf.adb: Minor reformatting.  New names of stuff in Fmap.
10882         Add use clause for Fmap.
10883
10884         * make.adb: Minor reformatting
10885
10886         * osint.adb: Minor reformatting.  Change of names in Fmap.
10887         Add use clause for Fmap.
10888
10889         * prj-env.adb: Minor reformatting
10890
10891         * prj-env.ads: Minor reformatting
10892
10893         * switch.adb: Minor reformatting.  Do proper raise of Bad_Switch if
10894         error found (there were odd exceptions to this general rule in
10895         -gnatec/-gnatem processing)
10896
10897 2001-12-19  Olivier Hainque <hainque@gnat.com>
10898
10899         * raise.c (__gnat_eh_personality): Exception handling personality
10900         routine for Ada.  Still in rough state, inspired from the C++ version
10901         and still containing a bunch of debugging artifacts.
10902         (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
10903         inspired from the C++ library.
10904
10905         * raise.c (eh_personality): Add comments. Part of work for the GCC 3
10906         exception handling integration.
10907
10908 2001-12-19  Arnaud Charlet <charlet@gnat.com>
10909
10910         * Makefile.in: Remove use of 5smastop.adb which is obsolete.
10911         (HIE_SOURCES): Add s-secsta.ad{s,b}.
10912         (HIE_OBJS): Add s-fat*.o
10913         (RAVEN_SOURCES): Remove files that are no longer required. Add
10914         interrupt handling files.
10915         (RAVEN_MOD): Removed, no longer needed.
10916
10917 2001-12-19  Robert Dewar <dewar@gnat.com>
10918
10919         * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
10920         Add 2001 to copyright date
10921
10922         * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
10923         need to force universal inlining for these cases.
10924
10925 2001-12-19  Arnaud Charlet <charlet@gnat.com>
10926
10927         * s-taprob.adb: Minor clean ups so that this unit can be used in
10928         Ravenscar HI.
10929
10930         * exp_ch7.adb: Allow use of secondary stack in HI mode.
10931         Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
10932
10933 2001-12-19  Vincent Celier <celier@gnat.com>
10934
10935         * prj-tree.ads (Project_Node_Record): Add comments for components
10936         Pkg_Id and Case_Insensitive.
10937
10938 2001-12-19  Pascal Obry <obry@gnat.com>
10939
10940         * g-socket.adb: Minor reformatting. Found while reading code.
10941
10942 2001-12-19  Robert Dewar <dewar@gnat.com>
10943
10944         * prj-tree.ads: Minor reformatting
10945
10946 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
10947
10948         * config-lang.in (diff_excludes): Remove.
10949
10950 2001-12-17  Ed Schonberg <schonber@gnat.com>
10951
10952         * sem_res.adb (Resolve_Selected_Component): do not generate a
10953         discriminant check if the selected component is a component of
10954         the argument of an initialization procedure.
10955
10956         * trans.c (tree_transform, case of arithmetic operators): If result
10957         type is private, the gnu_type is the base type of the full view,
10958         given that the full view itself may be a subtype.
10959
10960 2001-12-17  Robert Dewar <dewar@gnat.com>
10961
10962         * sem_res.adb: Minor reformatting
10963
10964         * trans.c (tree_transform, case N_Real_Literal): Add missing third
10965         parameter in call to Machine (unknown horrible effects from this
10966         omission).
10967
10968         * urealp.h: Add definition of Round_Even for call to Machine
10969         Add third parameter for Machine
10970
10971 2001-12-17  Ed Schonberg <schonber@gnat.com>
10972
10973         * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
10974         predefined units in No_Run_Time mode.
10975
10976 2001-12-17  Richard Kenner <kenner@gnat.com>
10977
10978         * misc.c (insn-codes.h): Now include.
10979
10980 2001-12-17  Olivier Hainque <hainque@gnat.com>
10981
10982         * a-except.adb: Preparation work for future integration of the GCC 3
10983         exception handling mechanism
10984         (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
10985         to factorize previous code sequences and make them externally callable,
10986         e.g. for the Ada personality routine when the GCC 3 mechanism is used.
10987         (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
10988         Use the new notification routines.
10989
10990 2001-12-17  Emmanuel Briot <briot@gnat.com>
10991
10992         * prj-tree.ads (First_Choice_Of): Document the when others case
10993
10994 2001-12-17  Arnaud Charlet <charlet@gnat.com>
10995
10996         * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
10997         HI-E mode, in order to support Ravenscar profile properly.
10998
10999         * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
11000         mode on 32 bits targets.
11001
11002 2001-12-17  Vincent Celier <celier@gnat.com>
11003
11004         * fmap.adb: Initial version.
11005
11006         * fmap.ads: Initial version.
11007
11008         * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
11009         If search is successfully done, add to mapping.
11010
11011         * frontend.adb: Initialize the mapping if a -gnatem switch was used.
11012
11013         * make.adb:
11014         (Gnatmake): Add new local variable Mapping_File_Name.
11015          Create mapping file when using project file(s).
11016          Delete mapping file before exiting.
11017
11018         * opt.ads (Mapping_File_Name): New variable
11019
11020         * osint.adb (Find_File): Use path name found in mapping, if any.
11021
11022         * prj-env.adb (Create_Mapping_File): New procedure
11023
11024         * prj-env.ads (Create_Mapping_File): New procedure.
11025
11026         * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
11027         (Mapping_File)
11028
11029         * usage.adb: Add entry for new switch -gnatem.
11030
11031         * Makefile.in: Add dependencies for fmap.o.
11032
11033 2001-12-17  Ed Schonberg <schonber@gnat.com>
11034
11035         * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
11036         is a package instantiation rewritten as a package body.
11037         (Install_Withed_Unit): Undo previous change, now redundant.
11038
11039 2001-12-17  Gary Dismukes <dismukes@gnat.com>
11040
11041         * layout.adb:
11042         (Compute_Length): Move conversion to Unsigned to callers.
11043         (Get_Max_Size): Convert Len expression to Unsigned after calls to
11044         Compute_Length and Determine_Range.
11045         (Layout_Array_Type): Convert Len expression to Unsigned after calls to
11046         Compute_Length and Determine_Range.
11047         Above changes fix problem with length computation for supernull arrays
11048         where Max (Len, 0) wasn't getting applied due to the Unsigned
11049         conversion used by Compute_Length.
11050
11051 2001-12-17  Arnaud Charlet <charlet@gnat.com>
11052
11053         * rtsfind.ads:
11054         (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
11055          System.Secondary_Stack.
11056         (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
11057          in HI-E mode.
11058         Remove unused entity RE_Exception_Data.
11059
11060         * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
11061
11062         * rident.ads (No_Secondary_Stack): New restriction.
11063
11064 2001-12-17  Joel Brobecker <brobecke@gnat.com>
11065
11066         * gnat_rm.texi: Fix minor typos. Found while reading the section
11067         regarding "Bit_Order Clauses" that was sent to a customer.
11068         Very interesting documentation!
11069
11070 2001-12-17  Robert Dewar <dewar@gnat.com>
11071
11072         * sem_case.adb (Choice_Image): Avoid creating improper character
11073         literal names by using the routine Set_Character_Literal_Name. This
11074         fixes bombs in certain error message cases.
11075
11076 2001-12-17  Arnaud Charlet <charlet@gnat.com>
11077
11078         * a-reatim.adb: Minor reformatting.
11079
11080 2001-12-17  Ed Schonberg <schonber@gnat.com>
11081
11082         * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
11083         case where the formal is an extension of another formal in the current
11084         unit or in a parent generic unit.
11085
11086 2001-12-17  Arnaud Charlet <charlet@gnat.com>
11087
11088         * s-tposen.adb: Update comments.  Minor reformatting.
11089         Minor code clean up.
11090
11091         * s-tarest.adb: Update comments.  Minor code reorganization.
11092
11093 2001-12-17  Gary Dismukes <dismukes@gnat.com>
11094
11095         * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
11096         when Java_VM.
11097
11098 2001-12-17  Robert Dewar <dewar@gnat.com>
11099
11100         * exp_attr.adb: Minor reformatting
11101
11102 2001-12-17  Ed Schonberg <schonber@gnat.com>
11103
11104         * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
11105         derivations nested within a child unit: verify that the parent
11106         type is declared in an outer scope.
11107
11108 2001-12-17  Robert Dewar <dewar@gnat.com>
11109
11110         * sem_ch12.adb: Minor reformatting
11111
11112 2001-12-17  Ed Schonberg <schonber@gnat.com>
11113
11114         * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
11115         warning if current unit is a predefined one, from which bodies may
11116         have been deleted.
11117
11118 2001-12-17  Robert Dewar <dewar@gnat.com>
11119
11120         * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
11121         Fix header format. Add 2001 to copyright date.
11122
11123         * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
11124         which caused CE during compilation if checks were enabled.
11125
11126 2001-12-17  Vincent Celier <celier@gnat.com>
11127
11128         * make.adb:
11129         (Switches_Of): New function
11130         (Test_If_Relative_Path): New procedure
11131         (Add_Switches): Use new function Switches_Of
11132         (Collect_Arguments_And_Compile): Use new function Switches_Of.
11133         When using a project file, test if there are any relative
11134         search path. Fail if there are any.
11135         (Gnatmake): Only add switches for the primary directory when not using
11136         a project file. When using a project file, change directory to the
11137         object directory of the main project file. When using a project file,
11138         test if there are any relative search path. Fail if there are any.
11139         When using a project file, fail if specified executable is relative
11140         path with directory information, and prepend executable, if not
11141         specified as an absolute path, with the exec directory.  Make sure
11142         that only one -o switch is transmitted to the linker.
11143
11144         * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
11145
11146         * prj-nmsc.adb:
11147         (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
11148         when using a non standard naming scheme.
11149         (Check_Ada_Naming_Scheme): Make sure that error messages
11150         do not raise exceptions.
11151         (Is_Illegal_Append): Return True if there is no dot in the suffix.
11152         (Language_Independent_Check): Check the exec directory.
11153
11154         * prj.adb (Project_Empty): Add new component Exec_Directory
11155
11156         * prj.ads:
11157         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
11158         (Project_Data): Add component Exec_Directory
11159
11160         * snames.adb: Updated to match snames.ads revision 1.215
11161
11162         * snames.ads: Added Exec_Dir
11163
11164 2001-12-17  Robert Dewar <dewar@gnat.com>
11165
11166         * make.adb: Minor reformatting
11167
11168         * prj-nmsc.adb: Minor reformatting
11169
11170         * snames.adb: Updated to match snames.ads
11171
11172         * snames.ads: Alphebetize entries for project file
11173
11174 2001-12-17  Ed Schonberg <schonber@gnat.com>
11175
11176         * trans.c (process_freeze_entity): Do nothing if the entity is a
11177         subprogram that was already elaborated.
11178
11179 2001-12-17  Richard Kenner <kenner@gnat.com>
11180
11181         * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
11182         and Esize if object is referenced via pointer.
11183
11184 2001-12-17  Ed Schonberg <schonber@gnat.com>
11185
11186         * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
11187         is discrete before analyzing choices.
11188
11189 2001-12-17  Joel Brobecker <brobecke@gnat.com>
11190
11191         * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
11192         containing the name of the Ada Main Program. This string is mainly
11193         intended for the debugger.
11194         (Gen_Output_File_C): Do the equivalent change when generating a C file.
11195
11196 2001-12-17  Robert Dewar <dewar@gnat.com>
11197
11198         * ali.adb: Set new Dummy_Entry field in dependency entry
11199
11200         * ali.ads: Add Dummy_Entry field to source dependency table
11201
11202         * bcheck.adb (Check_Consistency): Ignore dummy D lines
11203
11204         * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
11205
11206         * lib-writ.ads: Document dummy D lines for missing files.
11207
11208         * types.ads: (Dummy_Time_Stamp): New value for non-existant files
11209
11210 2001-12-17  Robert Dewar <dewar@gnat.com>
11211
11212         * ali.adb: Type reference does not reset current file.
11213
11214         * ali.adb: Recognize and scan renaming reference
11215
11216         * ali.ads: Add spec for storing renaming references.
11217
11218         * lib-xref.ads: Add documentation for handling of renaming references
11219
11220         * lib-xref.adb: Implement output of renaming reference.
11221
11222         * checks.adb:
11223         (Determine_Range): Document local variables
11224         (Determine_Range): Make sure Hbound is initialized. It looks as though
11225          there could be a real problem here with an uninitialized reference
11226          to Hbound, but no actual example of failure has been found.
11227
11228 2001-12-17  Laurent Pautet <pautet@gnat.com>
11229
11230         * g-socket.ads:
11231         Fix comment of Shutdown_Socket and Close_Socket. These functions
11232         should not fail silently because if they are called twice, this
11233         probably means that there is a race condition in the user program.
11234         Anyway, this behaviour is consistent with the rest of this unit.
11235         When an error occurs, an exception is raised with the error message
11236         as exception message.
11237
11238 2001-12-17  Robert Dewar <dewar@gnat.com>
11239
11240         * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
11241         that it happens before modification of Sloc values for -gnatD.
11242
11243         * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
11244         so that it happens before modification of Sloc values for -gnatD.
11245
11246         * switch.adb: Minor reformatting
11247
11248 2001-12-15  Richard Henderson  <rth@redhat.com>
11249
11250         * sem_ch7.adb: Wrap comment.
11251
11252 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
11253
11254         * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
11255         5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
11256         5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
11257         5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
11258         5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
11259         7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
11260         a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
11261         a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
11262         cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
11263         exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
11264         exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
11265         g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
11266         gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
11267         make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
11268         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
11269         repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
11270         s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
11271         s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
11272         s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
11273         s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
11274         sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
11275         sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
11276         sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
11277         sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
11278         spelling errors.
11279
11280 2001-12-14  Vincent Celier <celier@gnat.com>
11281
11282         * osint.adb(Create_Debug_File): When an object file is specified,
11283         put the .dg file in the same directory as the object file.
11284
11285 2001-12-14  Robert Dewar <dewar@gnat.com>
11286
11287         * osint.adb: Minor reformatting
11288
11289         * lib-xref.adb (Output_Instantiation): New procedure to generate
11290         instantiation references.
11291
11292         * lib-xref.ads: Add documentation of handling of generic references.
11293
11294         * ali.adb (Read_Instantiation_Ref): New procedure to read
11295         instantiation references
11296
11297         * ali.ads: Add spec for storing instantiation references
11298
11299         * bindusg.adb: Minor reformatting
11300
11301         * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11302
11303         * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11304
11305         * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11306
11307         * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
11308
11309         * csets.ads:
11310         Fix header format
11311         Add 2001 to copyright date
11312         Add entry for Latin-5 (Cyrillic ISO-8859-5)
11313
11314 2001-12-14  Matt Gingell <gingell@gnat.com>
11315
11316         * adaint.c: mktemp is a macro on Lynx and can not be used as an
11317         expression.
11318
11319 2001-12-14  Richard Kenner <kenner@gnat.com>
11320
11321         * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
11322         if operand is CONSTRUCTOR.
11323
11324 2001-12-14  Ed Schonberg <schonber@gnat.com>
11325
11326         * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
11327         before emiting check on right-hand side, so that exception information
11328         is correct.
11329
11330 2001-12-14  Richard Kenner <kenner@gnat.com>
11331
11332         * utils.c (create_var_decl): Throw away initializing expression
11333         if just annotating types and non-constant.
11334
11335 2001-12-14  Vincent Celier <celier@gnat.com>
11336
11337         * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
11338         Default_Ada_...
11339
11340         * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
11341         Remove functions.
11342         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
11343
11344         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
11345         Remove functions.
11346         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
11347
11348 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
11349
11350         * ChangeLog: Remove piece of diff output.
11351
11352 2001-12-14  Geert Bosch <bosch@gnat.com>
11353
11354         * config-lang.in: Update copyright notice
11355
11356         * layout.adb: Remove commented out code.
11357
11358         * mdllfile.ads: Update copyright notice. Fix header format.
11359
11360         * sem_case.ads: Likewise.
11361
11362         * sem_ch3.adb: Minor reformatting.
11363
11364 2001-12-12  Geert Bosch <bosch@gnat.com>
11365
11366         * freeze.ads: Update copyright date.
11367
11368         * g-comlin.ads: Minor reformatting.
11369
11370         * gnat-style.texi: Fix typo.
11371
11372 2001-12-12  Geert Bosch <bosch@gnat.com>
11373
11374         *  einfo.h: Regenerate.
11375
11376 2001-12-12  Ed Schonberg <schonber@gnat.com>
11377
11378         * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
11379         on known node types, rather than untyped fields. Further cleanups.
11380
11381 2001-12-12  Robert Dewar <dewar@gnat.com>
11382
11383         * sem_ch12.adb:
11384         (Save_Entity_Descendant): Minor comment update.
11385         (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
11386          of an N_Attribute_Reference node. As per note below, this does not
11387         eliminate need for Associated_Node in attribute ref nodes.
11388         (Associated_Node): Documentation explicitly mentions attribute
11389         reference nodes, since this field is used in such nodes.
11390
11391         * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
11392
11393 2001-12-12  Robert Dewar <dewar@gnat.com>
11394
11395         * s-stalib.adb: Add more comments on with statements being needed
11396
11397         * par-ch12.adb: Minor reformatting
11398
11399         * prj-dect.ads: Fix copyright header
11400
11401         * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
11402         inputs fit in 32 bits, but the result still overflows.
11403
11404         * s-fatgen.ads: Minor comment improvement
11405
11406 2001-12-12  Ed Schonberg <schonber@gnat.com>
11407
11408         * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
11409         formal derived type, look for an inherited component from the full
11410         view of the parent, if any.
11411
11412 2001-12-12  Robert Dewar <dewar@gnat.com>
11413
11414         * checks.ads (Apply_Alignment_Check): New procedure.
11415
11416         * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
11417         ensure that the alignment of objects with address clauses is
11418         appropriate, and raise PE if not.
11419
11420         * exp_util.ads (Must_Be_Aligned): Removed, replaced by
11421         Exp_Pakd.Known_Aligned_Enough
11422
11423         * mdllfile.ads: Minor reformatting
11424
11425         * mlib-fil.ads: Minor reformatting
11426
11427 2001-12-12  Ed Schonberg <schonber@gnat.com>
11428
11429         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
11430         fix to any component reference if enclosing record has non-standard
11431         representation.
11432
11433 2001-12-12  Vincent Celier <celier@gnat.com>
11434
11435         * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
11436         Iteration
11437
11438 2001-12-12  Ed Schonberg <schonber@gnat.com>
11439
11440         * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
11441         sem_attr.
11442
11443 2001-12-12  Robert Dewar <dewar@gnat.com>
11444
11445         * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
11446
11447 2001-12-12  Emmanuel Briot <briot@gnat.com>
11448
11449         * g-regexp.adb: Remove all debug code, since it isn't required anymore,
11450         and it adds dependencies to system.io.
11451
11452 2001-12-12  Pascal Obry <obry@gnat.com>
11453
11454         * g-dirope.adb (Expand_Path.Var): Correctly detect end of
11455         variable name.
11456
11457 2001-12-11  Ed Schonberg <schonber@gnat.com>
11458
11459         * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
11460         that is the parent of other generics, the instance body replaces the
11461         instance node.  Retrieve the instance of the spec, which is the one
11462         that is visible in clients and within the body.
11463
11464 2001-12-11  Vincent Celier <celier@gnat.com>
11465
11466         * gnatmain.adb: Initial version.
11467
11468         * gnatmain.ads: Initial version.
11469
11470         * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
11471
11472         * snames.adb: Updated to match snames.ads.
11473
11474         * snames.ads: Added Gnatstub.
11475
11476 2001-12-11  Vincent Celier <celier@gnat.com>
11477
11478         * prj-attr.adb (Initialization_Data): Change name from
11479         Initialisation_Data.
11480
11481 2001-12-11  Emmanuel Briot <briot@gnat.com>
11482
11483         * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
11484         + and * applied to backslashed expressions like \r.
11485
11486 2001-12-11  Vasiliy Fofanov <fofanov@gnat.com>
11487
11488         * g-os_lib.ads: String_List type added, Argument_List type is now
11489         subtype of String_List.
11490
11491 2001-12-11  Robert Dewar <dewar@gnat.com>
11492
11493         * g-os_lib.ads: Change copyright to FSF
11494         Add comments for String_List type
11495
11496 2001-12-11  Vincent Celier <celier@gnat.com>
11497
11498         * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
11499         string to the buffer).
11500
11501 2001-12-11  Ed Schonberg <schonber@gnat.com>
11502
11503         * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
11504         sem_attr.
11505
11506         * sem_attr.adb: Simplify previous fix for Address.
11507         (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
11508         to avoid anomalies where the bound of the type appears to raise
11509         constraint error.
11510
11511 2001-12-11  Robert Dewar <dewar@gnat.com>
11512
11513         * lib-xref.adb (Output_Refs): Make sure pointers are always properly
11514         handled.
11515
11516 2001-12-11  Ed Schonberg <schonber@gnat.com>
11517
11518         * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
11519         renamed unit before checking for recursive instantiations.
11520
11521 2001-12-11  Emmanuel Briot <briot@gnat.com>
11522
11523         * prj.ads: Add comments for some of the fields.
11524
11525 2001-12-11  Robert Dewar <dewar@gnat.com>
11526
11527         * lib-xref.adb (Output_Refs): Don't output type references outside
11528         the main unit if they are not otherwise referenced.
11529
11530 2001-12-11  Ed Schonberg <schonber@gnat.com>
11531
11532         * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
11533         code and diagnose additional illegal uses
11534
11535         * sem_util.adb (Is_Object_Reference): An indexed component is an
11536         object only if the prefix is.
11537
11538 2001-12-11  Vincent Celier <celier@gnat.com>
11539
11540         * g-diopit.adb: Initial version.
11541
11542         * g-diopit.ads: Initial version.
11543
11544         * g-dirope.adb:
11545         (Expand_Path): Avoid use of Unbounded_String
11546         (Find, Wildcard_Iterator): Moved to child package Iteration
11547
11548         * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
11549
11550 2001-12-11  Robert Dewar <dewar@gnat.com>
11551
11552         * sem_attr.adb: Minor reformatting
11553
11554 2001-12-11  Ed Schonberg <schonber@gnat.com>
11555
11556         * sem_ch3.adb: Clarify some ???.
11557
11558 2001-12-11  Robert Dewar <dewar@gnat.com>
11559
11560         * exp_util.adb (Must_Be_Aligned): Removed, replaced by
11561         Exp_Pakd.Known_Aligned_Enough
11562
11563         * sem_ch13.adb (Check_Address_Alignment): Removed, extended
11564         version is moved to Exp_Ch13.
11565
11566 2001-12-11  Robert Dewar <dewar@gnat.com>
11567
11568         * einfo.ads: Minor reformatting
11569
11570         * exp_ch5.adb: Add comment for previous.change
11571
11572         * ali.adb: New interface for extended typeref stuff.
11573
11574         * ali.ads: New interface for typeref stuff.
11575
11576         * checks.adb (Apply_Alignment_Check): New procedure.
11577
11578         * debug.adb: Add -gnatdM for modified ALI output
11579
11580         * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
11581
11582         * lib-xref.adb: Extend generation of <..> notation to cover
11583         subtype/object types. Note that this is a complete rewrite,
11584         getting rid of the very nasty quadratic algorithm previously
11585         used for derived type output.
11586
11587         * lib-xref.ads: Extend description of <..> notation to cover
11588         subtype/object types. Uses {..} for these other cases.
11589         Also use (..) for pointer types.
11590
11591         * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
11592
11593         * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
11594         (Known_Aligned_Enough): Replaces Must_Be_Aligned.
11595
11596 2001-12-11  Vincent Celier <celier@gnat.com>
11597
11598         * gnatcmd.adb:
11599         Changed /COMPILE_ONLY to /ACTIONS=COMPILE
11600         Changed /BIND_ONLY to /ACTIONS=BIND
11601         Changed /LINK_ONLY to /ACTIONS=LINK
11602
11603 2001-12-11  Ed Schonberg  <schonber@gnat.com>
11604
11605         * sem_ch8.adb (Find_Selected_Component): improved search for a
11606         candidate package in case of error.
11607
11608         * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
11609         chain back on scope stack before reinstalling use clauses.
11610
11611         * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
11612         is enabled, do not kill the code for the condition, to preserve
11613         warning.
11614
11615 2001-12-11  Robert Dewar <dewar@gnat.com>
11616
11617         * checks.adb (Insert_Valid_Check): Apply validity check to expression
11618         of conversion, not to result of conversion.
11619
11620 2001-12-11  Ed Schonberg <schonber@gnat.com>
11621
11622         * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
11623         before freezing parent. If the declarations are mutually recursive,
11624         an access to the current record type may be frozen before the
11625         derivation is complete.
11626
11627 2001-12-05  Vincent Celier <celier@gnat.com>
11628
11629         * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
11630         -c /COMPILE_ONLY, -l /LINK_ONLY
11631
11632         * opt.ads:
11633         (Bind_Only): New Flag
11634         (Link_Only): New flag
11635
11636         * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
11637         and -l (Link_Only)
11638
11639         * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
11640
11641         * make.adb:
11642         (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
11643         (Gnatmake): Set the step flags. Only perform a step if the
11644         corresponding step flag is True.
11645         (Scan_Make_Arg): Reset the bind and link step flags when -u
11646         or -gnatc has been specified.
11647
11648 2001-12-05  Ed Schonberg <schonber@gnat.com>
11649
11650         * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
11651         get bounds from right operand.
11652
11653         * sem_eval.adb: Minor reformatting
11654
11655         * exp_util.adb (Make_Literal_Range): use bound of literal rather
11656         than Index'First, its lower bound may be different from 1.
11657
11658         * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
11659         and C48009J
11660
11661 2001-12-05  Vincent Celier <celier@gnat.com>
11662
11663         * prj-nmsc.adb Minor reformatting
11664
11665         * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
11666         set and libraries are not supported.
11667
11668 2001-12-05  Ed Schonberg <schonber@gnat.com>
11669
11670         * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
11671         private view explicitly, so the back-end can treat as a global
11672         when appropriate.
11673
11674 2001-12-05  Ed Schonberg <schonber@gnat.com>
11675
11676         * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
11677          unit, always replace instance node with new body, for ASIS use.
11678
11679 2001-12-05  Vincent Celier <celier@gnat.com>
11680
11681         * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
11682         libraries are not supported and both attributes Library_Name and
11683         Library_Dir are specified.
11684
11685         * prj-proc.adb (Expression): Set location of Result to location of
11686         first term.
11687
11688         * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
11689         (prj-nmsc is now importing MLib.Tgt)
11690
11691         * prj-proc.adb: Put the change indicated above that was forgotten.
11692
11693 2001-12-05  Robert Dewar <dewar@gnat.com>
11694
11695         * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
11696
11697 2001-12-05  Ed Schonberg <schonber@gnat.com>
11698
11699         * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
11700         constraint, introduce explicit subtype declaration and derive from it.
11701
11702         * sem_ch3.adb: Minor reformatting
11703
11704 2001-12-05  Robert Dewar <dewar@gnat.com>
11705
11706         * checks.adb (Determine_Range): Increase cache size for checks.
11707         Minor reformatting
11708
11709         * exp_ch6.adb: Minor reformatting
11710         (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
11711         a parameter whose root type is System.Address, since treating such
11712         subprograms as pure in the code generator is almost surely a mistake
11713         that will lead to unexpected results.
11714
11715         * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
11716         change handling of conversions.
11717
11718         * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
11719
11720 2001-12-05  Ed Schonberg <schonber@gnat.com>
11721
11722         * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
11723         aggregate with static wrong size, attach generated Raise node to
11724         declaration.
11725
11726 2001-12-05  Robert Dewar <dewar@gnat.com>
11727
11728         * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
11729         Fixes compilation abandoned bomb in B24009B.
11730
11731 2001-12-05  Ed Schonberg <schonber@gnat.com>
11732
11733         * sem_ch12.adb:
11734         Document use of Associated_Node on Selected_Components.
11735         (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
11736         to clarify use of untyped descendant fields.
11737
11738 2001-12-05  Robert Dewar <dewar@gnat.com>
11739
11740         * prj-dect.ads: Add ??? comment
11741         Add 2001 to copyright notice (was not done in after all)
11742
11743         * prj-part.adb: Minor reformatting. Reword one awkward error message.
11744
11745         * prj.ads: Minor reformatting throughout, and add some ??? comments
11746
11747         * snames.ads: Minor reformatting
11748
11749 2001-12-05  Geert Bosch <bosch@gnat.com>
11750
11751         * snames.adb: Autoupdate
11752
11753 2001-12-05  Vincent Celier <celier@gnat.com>
11754
11755         * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
11756
11757         * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
11758
11759         * prj-env.adb: Minor comment changes (modifying -> extends).
11760
11761         * prj-nmsc.adb: Minor comment changes (modifying -> extends).
11762
11763         * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
11764         Tok_Extends.
11765
11766         * prj.adb (Initialize): Change Modifying to Extends.
11767
11768         * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
11769
11770         * prj.ads: Minor comment change (Modifying -> extending).
11771
11772         * snames.ads: Change modifying to extends.
11773
11774 2001-12-05  Robert Dewar <dewar@gnat.com>
11775
11776         * sem_warn.adb: Remove stuff for conditionals, we are not going to
11777         do this after all.
11778
11779         * sem_warn.ads: Remove stuff for conditionals, we are not going to
11780         do this after all.  Add 2001 to copyright notice
11781
11782 2001-12-04  Geert Bosch <bosch@gnat.com>
11783
11784         *  einfo.h, sinfo.h, treeprs.ads: Regenerate.
11785
11786 2001-12-04  Robert Dewar <dewar@gnat.com>
11787
11788         * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
11789         location if we already have errors. Stops some cases of cascaded
11790         errors.
11791
11792         * errout.adb: Improve comment.
11793
11794 2001-12-04  Robert Dewar <dewar@gnat.com>
11795
11796         * sem_ch12.adb:
11797         (Analyze_Formal_Type_Definition): Defend against Error.
11798         (Analyze_Formal_Subprogram): Defend against Error.
11799
11800         * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
11801         remove following semicolon if present. Removes cascaded error.
11802
11803 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
11804
11805         * bindgen.adb:
11806         (Gen_Exception_Table_Ada): Write "begin" and then return if Num
11807          exceptions equals 0.
11808         (Gen_Exception_Table_C): Return if Num exceptions equals 0.
11809         Fixes PIWG E tests (which have to be run with -gnatL).
11810
11811 2001-12-04  Robert Dewar <dewar@gnat.com>
11812
11813         * einfo.ads: Minor reformatting
11814
11815 2001-12-04  Ed Schonberg <schonber@gnat.com>
11816
11817         * einfo.ads: Block_Node points to the identifier of the block, not to
11818         the block node itself, to preserve the link when the block is
11819         rewritten, e.g. within an if-statement with a static condition.
11820
11821         * inline.adb (Cleanup_Scopes): recover block statement from block
11822         entity using new meaning of Block_Node.
11823
11824         * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
11825         identifier of block node, rather than to node itself.
11826
11827 2001-12-04  Gary Dismukes <dismukes@gnat.com>
11828
11829         * layout.adb:
11830         (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
11831         (Discrimify): Go back to setting the Etypes of the selected component
11832         because the Vname component does not exist at this point and will
11833         fail name resolution. Also set Analyzed.
11834         Remove with and use of Sem_Res.
11835
11836 2001-12-04  Arnaud Charlet <charlet@gnat.com>
11837
11838         * Makefile.in: (HIE_SOURCES): add s-fat*.
11839
11840 2001-12-04  Robert Dewar <dewar@gnat.com>
11841
11842         * sem_attr.adb:
11843         (Compile_Time_Known_Attribute): New procedure.
11844         (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
11845          proper range check.
11846
11847 2001-12-04  Ed Schonberg <schonber@gnat.com>
11848
11849         * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
11850         processing discriminants to diagnose illegal default values.
11851
11852 2001-12-04  Ed Schonberg <schonber@gnat.com>
11853
11854         * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
11855         access discriminant within a type extension that constrains its
11856         parent discriminants.
11857
11858 2001-12-04  Ed Schonberg <schonber@gnat.com>
11859
11860         * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
11861         is malformed, use instance of Any_Id to allow analysis to proceed.
11862
11863         * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
11864         type definition is illegal.
11865         (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
11866         misplaced.
11867
11868 2001-12-04  Ed Schonberg <schonber@gnat.com>
11869
11870         * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
11871         constants.
11872
11873 2001-12-04  Robert Dewar <dewar@gnat.com>
11874
11875         * errout.adb: Minor reformatting
11876
11877 2001-12-04  Robert Dewar <dewar@gnat.com>
11878
11879         * exp_util.adb: Minor reformatting from last change
11880
11881         * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
11882         which is a rewriting of an expression, traverse the original
11883         expression to remove warnings that may have been posted on it.
11884
11885 2001-12-04  Ed Schonberg <schonber@gnat.com>
11886
11887         * exp_util.adb (Must_Be_Aligned): Return false for a component of a
11888         record that has other packed components.
11889
11890 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
11891
11892         * adaint.c: Minor cleanups.
11893
11894 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
11895
11896         * adaint.c: Do not use utime.h on vxworks.
11897
11898 2001-12-04  Arnaud Charlet <charlet@gnat.com>
11899
11900         * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
11901         more confusion than it solves.
11902
11903 2001-12-04  Geert bosch <bosch@gnat.com>
11904
11905         * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
11906
11907 2001-12-04  Geert Bosch  <bosch@gnat.com>
11908
11909         * Makefile.in (update-sources): New target.
11910         For use by gcc_release script.
11911
11912 2001-12-04  Ed Schonberg <schonber@gnat.com>
11913
11914         * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
11915         a configuration pragma, it is now legal wherever a pragma can appear.
11916
11917 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
11918
11919         * Makefile.in: Don't set ALL.  Delete @cross_defines@,
11920         @cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
11921         is now @CROSS@ -DIN_GCC; update comment.
11922
11923 2001-12-04  Robert Dewar <dewar@gnat.com>
11924
11925         * einfo.adb (Has_Pragma_Pure_Function): New flag.
11926         Fix problem that stopped ceinfo from working
11927
11928         * einfo.ads (Has_Pragma_Pure_Function): New flag.
11929
11930         * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
11931
11932 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
11933
11934         * gnatchop.adb:
11935         (File_Time_Stamp): New procedure.
11936         (Preserve_Mode): New boolean.
11937         (Write_Unit): Pass time stamp.
11938         Implement -p switch (preserve time stamps).
11939
11940         * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
11941
11942         * gnatchop.adb: Do usage info for -p switch
11943
11944         * adaint.h (__gnat_set_file_time_name): New function
11945
11946         * adaint.c (__gnat_set_file_time_name): Implement
11947
11948         * adaint.h: Fix typo
11949
11950 2001-12-03  Robert Dewar <dewar@gnat.com>
11951
11952         * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
11953         have Associated_Node.
11954
11955 2001-12-03  Robert Dewar <dewar@gnat.com>
11956
11957         * prj-proc.adb: Minor reformatting
11958
11959         * make.adb: Minor reformatting
11960
11961 2001-12-03  Geert Bosch <bosch@gnat.com>
11962
11963         * make.adb: Minor reformatting.
11964
11965 2001-12-03 Robert Dewar  <dewar@gnat.com>
11966
11967         * sem_ch12.adb: Minor reformatting
11968
11969 2001-12-03  Ed Schonberg <schonber@gnat.com>
11970
11971         * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
11972         push Standard on the stack before analyzing the instance body,
11973         in order to have a clean visibility environment.
11974
11975         * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
11976
11977 2001-12-03  Ed Schonberg <schonber@gnat.com>
11978
11979         * sem_ch12.adb (Instantiate_Package_Body): Protect against double
11980         instantiation of a body that contains an inlined body.
11981
11982 2001-12-03  Ed Schonberg <schonber@gnat.com>
11983
11984         * sem_ch12.adb:
11985         (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
11986         to prevent freezing within formal packages.
11987         (Freeze_Subprogram_Body): If body comes from another instance that
11988         appeared before its own body, place freeze node at end of current
11989         declarative part, to prevent a back-end crash.
11990         (Inline_Instance_Body): Handle properly a package instance within
11991         a subprogram instance that is a child unit.
11992
11993 2001-12-01  Graham Stott  <grahams@redhat.com>
11994
11995         * Makefile.in (misc.o): Add missing $(srcdir) prefix
11996         and add optabs.h dependency.
11997
11998         * misc.c: Include optabs.h
11999         (gnat_tree_code_type): Make static and const.
12000         (gnat_tree_code_length): Likewise.
12001         (gnat_tree_code_name): Likewise.
12002         (update_setjmp_buf): Obtain operands mode from insn_data.
12003
12004 2001-11-29  Richard Henderson  <rth@redhat.com>
12005
12006         * init.c: Remove obsolete dwarf2 frame.h section.
12007
12008 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
12009
12010         * Make-lang.in (ada.generated-manpages): New dummy target.
12011
12012 2001-11-29  Ed Schonberg <schonber@gnat.com>
12013
12014         * g-os_lib.adb (Add_To_Command): use explicit loop to move string
12015         into Command, an array conversion is illegal here. Uncovered by
12016         ACATS B460005.
12017
12018 2001/11/28  Geert Bosch <bosch@gnat.com>
12019
12020         * init.c: Minor whitespace changes.
12021
12022 2001-11-28  Doug Rupp <rupp@gnat.com>
12023
12024         * init.c: (__gnat_install_handler,VMS): Increase size of alternate
12025         signal stack.
12026
12027 2001-11-28  Zack Weinberg  <zack@codesourcery.com>
12028
12029         * misc.c (gnat_expand_constant): Move declaration above
12030         definition of lang_hooks.
12031         (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
12032         (gnat_init): lang_expand_constant no longer exists.
12033
12034         (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
12035         always have vprintf.
12036         (gnat_init): Always call set_internal_error_function.
12037
12038 2001-11-27  Andreas Jaeger  <aj@suse.de>
12039
12040         * Makefile.in (stamp-tool_src_dir): Use symbolic link.
12041
12042 2001-11-27  Laurent Guerby  <guerby@acm.org>
12043
12044         * Makefile.in: Regenerate Ada dependencies.
12045
12046 2001-11-26  Richard Henderson  <rth@redhat.com>
12047
12048         * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
12049         gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
12050         gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
12051
12052 2001-11-25  Laurent Guerby  <guerby@acm.org>
12053
12054         * sysdep.c (rts_get_*): Fix style.
12055
12056 2001-11-19  Laurent Guerby  <guerby@acm.org>
12057
12058         * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
12059         since it is of no apparent use and cause warnings.
12060
12061 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
12062
12063         * misc.c (gnat_decode_option, gnat_init_options): Make definitions
12064         static too.
12065         (gnat_init): Don't return NULL.
12066         (finish_parse): Remove.
12067
12068 2001-11-17  Laurent Guerby  <guerby@acm.org>
12069
12070         * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
12071         * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
12072         * io-aux.c: Provide K&R prototypes to all functions, reformat code.
12073         * lang-spec.h: Add missing struct field to silence warnings.
12074         * sysdep.c (rts_get_*): Provide K&R prototype.
12075         * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
12076         * traceback.c (Unlock_Task, Lock_Task): Likewise.
12077         * tracebak.c (__gnat_backtrace): Remove unused variable.
12078         * utils.c (end_subprog_body): Move to K&R style.
12079
12080 Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12081
12082         * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
12083
12084 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
12085
12086         * misc.c (gnat_init): Change prototype.  Include the
12087         functionality of the old init_parse and init_decl_processing.
12088         (gnat_init_decl_processing): New prototype.
12089         (init_parse): Remove.
12090         * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
12091
12092 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12093
12094         * misc.c (gnat_print_decl, gnat_print_type): Renamed.
12095         (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
12096         (print_lang_statistics, lang_print_xnode, print_lang_identifier,
12097         set_yydebug): Remove.
12098
12099 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
12100
12101         * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
12102         (struct lang_hooks): Constify.
12103         (language_string, lang_identify): Remove.
12104         * utils.c (init_decl_processing): Update.
12105
12106 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
12107
12108         * misc.c: Include langhooks-def.h.
12109         * Makefile.in: Update.
12110
12111 2001-10-30  Robert Dewar <dewar@gnat.com>
12112
12113         * style.adb:
12114         (Check_Identifier): Rewrite circuit to be compatible with use of letters
12115         in the upper half of ASCII.
12116         (Check_Identifier): Minor reformatting
12117
12118 2001-10-30  Geert Bosch <bosch@gnat.com>
12119
12120         * (Associated_Node, Set_Associated_Node): Do not check for
12121         Freeze_Entity.
12122
12123 2001-10-30  Robert Dewar <dewar@gnat.com>
12124
12125         * a-reatim.ads: Minor reformatting
12126
12127 2001-10-30  Robert Dewar <dewar@gnat.com>
12128
12129         * gnatdll.adb: Minor reformatting throughout. Many ??? added for
12130         undocumented declarations.
12131
12132 2001-10-30  Pascal Obry <obry@gnat.com>
12133
12134         * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
12135         to the binder and linker.
12136         Minor style fix.
12137
12138         * mdll.ads: Fix layout.  Update copyright notice.
12139
12140         * mdll.adb: Fix layout.  Update copyright notice.
12141
12142 2001-10-30  Robert Dewar <dewar@gnat.com>
12143
12144         * usage.adb: Minor fix to output for -gnaty.
12145
12146 2001-10-30  Ed Schonberg <schonber@gnat.com>
12147
12148         * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
12149         to accommodate all its possible values.
12150
12151         * a-reatim.adb (Split): Special-case handling of Time_Span_First
12152         and of small absolute values of T.
12153
12154 2001-10-30  Richard Kenner <kenner@gnat.com>
12155
12156         * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
12157         set_mem_attributes since not needed and wrong if RESULT if a REG;
12158         fixes ACATS failures.
12159
12160 2001-10-30  Geert Bosch <bosch@gnat.com>
12161
12162         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
12163         s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
12164
12165 2001-10-30  Robert Dewar <dewar@gnat.com>
12166
12167         * bindusg.adb: Undocument -f switch.
12168
12169         * gnatcmd.adb: Remove /FULL_ELABORATION.
12170
12171         * opt.ads (Force_RM_Elaboration_Order): Document that this is
12172         obsolescent.
12173
12174         * gnatbind.adb: Output new warning for use of obsolescent -f switch.
12175
12176         * gnatbind.adb: Minor update of warning msg.
12177
12178 2001-10-30  Vincent Celier <celier@gnat.com>
12179
12180         * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
12181         for project file switches (-P (/PROJECT_FILE=),
12182          -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
12183         or MEDIUM or HIGH)
12184
12185 2001-10-30  Geert Bosch <bosch@gnat.com>
12186
12187         * decl.c: Minor whitespace fixes.
12188
12189 2001-10-30  Richard Kenner <kenner@gnat.com>
12190
12191         * utils2.c (build_allocator): Test for SIZE overflow in array case too
12192
12193 2001-10-30  Geert Bosch <bosch@gnat.com>
12194
12195         * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
12196         Found due to GCC 3.0 warning of using uninitialized value.
12197
12198         * layout.adb:
12199         (Get_Max_Size): Use variant record for tracking value/expression.
12200          Makes logic clearer and prevents warnings for uninitialized variables.
12201         (Layout_Array_Type): Use variant record for tracking value/expression.
12202          Makes logic clearer and prevents warnings for uninitialized variables.
12203
12204 2001-10-30  Robert Dewar <dewar@gnat.com>
12205
12206         * lib.adb: Minor reformatting
12207
12208         * s-taprop.ads: Minor reformatting
12209
12210 2001-10-29  Laurent Guerby  <guerby@acm.org>
12211
12212         * init.c:
12213         (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
12214         const.
12215         (_gnat_error_handler): Make MSG const.
12216
12217 2001-10-29  Richard Kenner <kenner@gnat.com>
12218
12219         * sysdep.c: Fix localtime_r problem on LynxOS.
12220         Also remove #elif to avoid warnings.
12221
12222         * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
12223         used by this.
12224
12225         * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
12226
12227 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
12228
12229         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
12230         exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
12231         g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
12232         g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
12233         layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
12234         s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
12235         sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
12236         sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
12237         sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
12238         types.ads, urealp.adb: Fix spelling errors.
12239
12240 2001-10-27  Laurent Guerby <guerby@acm.org>
12241
12242         * trans.c (gigi): Fix non determinism leading to bootstrap
12243         comparison failures for debugging information.
12244
12245 2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
12246
12247         * gnat_rm.texi: Use @./@: where appropriate.
12248
12249 2001-10-26  Robert Dewar <dewar@gnat.com>
12250
12251         * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
12252
12253 2001-10-26  Richard Kenner <kenner@gnat.com>
12254
12255         * gmem.c (__gnat_gmem_read_next): Properly check for EOF
12256
12257 2001-10-26  Richard Kenner <kenner@gnat.com>
12258
12259         * decl.c (validate_size): Modify message for bad size to avoid
12260         implication that compiler is modifying the size.
12261
12262 2001-10-26  Robert Dewar <dewar@gnat.com>
12263
12264         * prj-util.adb: Minor reformatting. Fix bad header format.
12265
12266 2001-10-26  Robert Dewar <dewar@gnat.com>
12267
12268         * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
12269
12270         * sinfo.ads: Clarify use of Associated_Node (documentation only).
12271
12272         * sem_ch12.adb: Change Node4 to Associated_Node. Change
12273         Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
12274         much more narrowly in places where needed. These are cleanups.
12275
12276 2001-10-26  Joel Brobecker <brobecke@gnat.com>
12277
12278         * 5zosinte.ads (null_pthread): new constant.
12279
12280         * 5ztaprop.adb:
12281         (Initialize_TCB): Initialize thread ID to null, to be able to verify
12282          later that this field has been set.
12283         (Finalize_TCB): ditto.
12284         (Suspend_Task): Verify that the thread ID is not null before using it.
12285         (Resume_Task): ditto.
12286
12287         * s-tasdeb.adb:
12288         (Resume_All_Tasks): Lock the tasks list before using it.
12289         (Suspend_All_Tasks): ditto.
12290
12291 2001-10-26  Richard Kenner <kenner@gnat.com>
12292
12293         * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
12294         Make constant variant of designated type for Is_Access_Constant.
12295         Call update_pointer_to with main variant.
12296
12297         * trans.c (process_freeze_entity, process_type):
12298         Call update_pointer_to on main variant.
12299
12300         * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
12301         If main variant, update all other variants.
12302
12303         * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
12304         TREE_STATIC.
12305
12306 2001-10-26  Robert Dewar <dewar@gnat.com>
12307
12308         * prj-util.adb: Minor reformatting
12309
12310 2001-10-26  Robert Dewar <dewar@gnat.com>
12311
12312         * prj-util.adb: Minor reformatting
12313
12314 2001-10-26  Robert Dewar <dewar@gnat.com>
12315
12316         * prj-attr.adb: Minor reformatting throughout
12317
12318 2001-10-26  Robert Dewar <dewar@gnat.com>
12319
12320         * prj-attr.ads: Minor reformatting
12321         Add ??? comment (this whole spec has almost no comments)
12322
12323 2001-10-26  Vincent Celier <celier@gnat.com>
12324
12325         * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
12326         ("//") that precede the drive letter on Interix.
12327
12328 2001-10-26  Geert Bosch <bosch@gnat.com>
12329
12330         * gnat_rm.texi: Add GNAT Reference Manual.
12331
12332 2001-10-25  Robert Dewar <dewar@gnat.com>
12333
12334         * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
12335         is Error. Similar change for other renaming cases.
12336
12337 2001-10-25  Robert Dewar <dewar@gnat.com>
12338
12339         * s-atacco.ads: Add pragma Inline_Always for functions.
12340         Fix header format. Add copyright 2001
12341
12342 2001-10-25  Ed Schonberg <schonber@gnat.com>
12343
12344         * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
12345         return Error rather than Empty so that analysis can proceed.
12346
12347 2001-10-25  Ed Schonberg <schonber@gnat.com>
12348
12349         * sem_util.adb (Enter_Name): better handling of cascaded error
12350         messages when a unit appears in its own context.
12351
12352 2001-10-25  Ed Schonberg <schonber@gnat.com>
12353
12354         * sem_util.adb (Defining_Entity): in case of error, attach created
12355         entity to specification, so that semantic analysis can proceed.
12356
12357 2001-10-25  Robert Dewar <dewar@gnat.com>
12358
12359         * sem_util.adb
12360         (Defining_Entity): Deal with Error.
12361         (Process_End_Label): Deal with bad end label for.
12362
12363 2001-10-25  Ed Schonberg <schonber@gnat.com>
12364
12365         * sem_elab.adb (Check_A_Call): refine message when call is in an
12366         instance but callee is not declared in the generic unit.
12367
12368 2001-10-25  Ed Schonberg <schonber@gnat.com>
12369
12370         * sem_elab.adb (Check_A_Call): check for renaming before finding the
12371         enclosing unit, which may already be different from the calling unit.
12372
12373 2001-10-25  Geert Bosch <bosch@gnat.com>
12374
12375         * 4gintnam.ads: fix header format.
12376
12377 2001-10-25  Ed Schonberg <schonber@gnat.com>
12378
12379         * sem_res.adb (Resolve_Call): if the call is actually an indexing
12380         operation on the result of a parameterless call, perform elaboration
12381         check after the node has been properly rewritten.
12382
12383         * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
12384         inlined within the generic tree, the defining identifier is not a
12385         compilation_unit.
12386
12387 2001-10-25  Ed Schonberg <schonber@gnat.com>
12388
12389         * sem_res.adb (Resolve): special-case resolution of Null in an
12390          instance or an inlined body to avoid view conflicts.
12391
12392         * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
12393          compatibility by retrieving the access type of the generic copy.
12394
12395 2001-10-25  Robert Dewar <dewar@gnat.com>
12396
12397         * sem_ch3.adb:
12398         (Analyze_Number_Declaration): Handle error expression.
12399         (Signed_Integer_Type_Declaration): Handle error bound.
12400         (Analyze_Subtype_Indication): Handle error range.
12401
12402         * sem_util.adb (Get_Index_Bounds): Check for Error.
12403
12404 2001-10-25  Robert Dewar <dewar@gnat.com>
12405
12406         * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
12407         in no run time mode.
12408
12409 2001-10-25  Pascal Obry <obry@gnat.com>
12410
12411         * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
12412         mode case for ALLOC case.
12413
12414         * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
12415         all platforms. Improvement of last change.
12416
12417 2001-10-25  Robert Dewar <dewar@gnat.com>
12418
12419         * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
12420
12421 2001-10-25  Geert Bosch  <bosch@gnat.com>
12422
12423         * osint.adb (Is_Relative): Remove duplicate.
12424
12425 2001-10-25  Pascal Obry <obry@gnat.com>
12426
12427         * osint.adb (Read_Default_Search_Dirs): correctly detect relative
12428         pathnames in UNIX and DOS style with drive letter.
12429         (Is_Relative): new routine.
12430
12431         * osint.adb: Minor reformatting
12432
12433         * osint.adb (Is_Relative): implementation using
12434         GNAT.OS_Lib.Is_Absolute_Path. Better fix.
12435
12436 2001-10-25  Pascal Obry <obry@gnat.com>
12437
12438         * g-dirope.adb (Basename): correctly compute offset between the
12439         original Path and the translated one.
12440
12441         * g-dirope.adb: (Base_Name): add some comments.
12442
12443 2001-10-25  Robert Dewar <dewar@gnat.com>
12444
12445         * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
12446         in HIE mode, avoids compilation abandoned message
12447
12448         * exp_imgv.adb: Correct typo in previous change
12449
12450         * exp_imgv.adb: Correct typo in previous change (not my day!)
12451
12452 2001-10-25  Robert Dewar <dewar@gnat.com>
12453
12454         * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
12455
12456 2001-10-25  Pascal Obry <obry@gnat.com>
12457
12458         * g-awk.ads: Move all pragma inlines next to the routine
12459          declarations. This is more uniform with other GNAT spec.
12460
12461 2001-10-22  Geert Bosch  <bosch@gnat.com>
12462
12463         * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
12464
12465 2001-10-19  Geert Bosch  <bosch@gnat.com>
12466
12467         * Makefile.in (tools, gnattools): Remove gnatmem.
12468
12469 2001-10-17  Richard Henderson  <rth@redhat.com>
12470
12471         * Makefile.in (misc.o): Depend on langhooks.h.
12472         * misc.c: Include it.
12473         (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
12474         (LANG_HOOKS_DECODE_OPTION): New.
12475         (lang_hooks): Use LANG_HOOKS_INITIALIZER.
12476
12477 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
12478
12479         * trans.c (tree_transform): Adjust to recent change in
12480         expand_asm_operands to implement named asm operands.
12481
12482 2001-10-11  Ed Schonberg  <schonber@gnat.com>
12483
12484         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
12485         renaming of discriminant for mutable record type.
12486
12487 2001-10-11  Robert Dewar  <dewar@gnat.com>
12488
12489         * validsw.adb: Properly save -gnatVn status.
12490
12491 2001-10-11  Robert Dewar <dewar@gnat.com>
12492
12493         * usage.adb: Add lines for V switch.
12494
12495         * gnatcmd.adb (COMPILE): Revise translations for -gnatV
12496         (/VALIDITY_CHECKING).
12497
12498 2001-10-11  Ed Schonberg <schonber@gnat.com>
12499
12500         * sem_type.adb (Add_One_Interp): an operator for a type declared in
12501         an extension of System is known to be visible.
12502
12503 2001-10-11  Ed Schonberg <schonber@gnat.com>
12504
12505         * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
12506         properly. Fixes regression on ACATS C34005G.
12507
12508 2001-10-11  Robert Dewar <dewar@gnat.com>
12509
12510         * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
12511         loop in generic instance, since this is likely not very useful.
12512
12513 2001-10-11  Robert Dewar <dewar@gnat.com>
12514
12515         * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
12516         the error message for high integrity mode.
12517
12518         * rtsfind.adb (RTE): Give message if we try to find an entity that
12519         is not available in high integrity mode.
12520
12521         * rtsfind.ads:
12522         (OK_To_Use_In_HIE_Mode): New array.
12523         (RTE): May return Empty in high integrity mode.
12524
12525         * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
12526         OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
12527
12528         * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
12529         unit if not inlined always and in no runtime mode. Fixes problem
12530         caused by new Rtsfind changes.
12531
12532         * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
12533         body is deleted.
12534
12535         * rtsfind.adb (RTE): Make sure we do not try to load unit after
12536         giving message for entity not available in high integrity mode.
12537
12538 2001-10-11  Pascal Obry <obry@gnat.com>
12539
12540         * impunit.adb: Add GNAT.CRC32.
12541
12542 2001-10-11  Ed Schonberg <schonber@gnat.com>
12543
12544         * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
12545         properly the case where one universal operand in a non-static
12546         exponentiation of a real literal.
12547
12548 2001-10-11  Ed Schonberg <schonber@gnat.com>
12549
12550         * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
12551         clause, return the gobal finalization list, for lack of anthing else.
12552
12553 2001-10-11  Ed Schonberg <schonber@gnat.com>
12554
12555         * exp_ch7.adb (Make_Transient_Block): if statement is within
12556         exception handler, always use new transient scope to place Clean
12557         procedure.
12558
12559 2001-10-11  Pascal Obry <obry@gnat.com>
12560
12561         * Makefile.in:
12562         (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
12563         (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
12564         (GNATLS_RTL_OBJS): add g-crc32.o
12565         (GNATMAKE_RTL_OBJS): add g-crc32.o
12566
12567         * ali-util.adb:
12568         (CRC_Match): new function.
12569         (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
12570         instead of the previous simple checksum algorithm.
12571         (Time_Stamp_Mismatch): use CRC_Match for comparison.
12572         (Set_Source_Table): idem.
12573
12574         * ali-util.ads:
12575         (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
12576         instead of simple checksum.
12577         (CRC_Match): new function.
12578         (CRC_Error): new constant.
12579
12580         * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
12581         a CRC now and not a simple checksum. A CRC uses lower-case hex
12582         letters, fixes ambiguity in parsing.
12583
12584         * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
12585         is what this variable will store.
12586
12587         * bcheck.adb: Change reference to chechsum in comments by CRC.
12588         (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
12589         rename All_Checksum_Match to All_CRC_Match. Change due to API
12590         renaming since now GNAT does not use a simple checksum but a
12591         CRC using GNAT.CRC32.
12592
12593         * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
12594         now and not anymore a simple checksum.
12595
12596         * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
12597         places.
12598
12599         * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
12600
12601         * scans.adb:
12602         (Restore_Scan_State): rename Checksum to CRC.
12603         (Save_Scan_State): idem.
12604
12605         * scans.ads:
12606         With GNAT.CRC32.
12607         (Checksum): rename to CRC.
12608         (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
12609
12610         * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
12611         GNAT.CRC32).  Update copyright notice.
12612
12613         * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
12614         GNAT.CRC32).  Update copyright notice.
12615
12616         * scn.adb:
12617         (Accumulate_Checksum): removed.
12618         (Update): new procedure. Add a wide-character into the CRC.
12619
12620         * sinput-l.adb:
12621         (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
12622         (Load_File): fix initialization of S (change Source_Checksum to
12623         Source_CRC)
12624
12625         * sinput-p.adb (Load_Project_File): rename Source_Checksum to
12626         Source_CRC in S initialization.
12627
12628         * sinput.adb (Source_Checksum): renamed to Source_CRC.
12629
12630         * sinput.ads (Source_Checksum): renamed to Source_CRC.
12631         Update comments for the CRC.
12632
12633         * types.adb (Hex): Use lowercase for the letter part.
12634
12635         * types.ads (Get_Hex_String): Returns the hexadecimal representation
12636         for a word. This is currently used only for CRC. In previous version,
12637         the checksum was using a representation with all letter being
12638         upper-case. With the new implementation (using CRC) we do not remove
12639         the 32th bit of the CRC, so we can have an upper-case starting letter
12640         in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
12641         It is ambigous since the CRC was optional and could be followed by
12642         options like EB, EE. So now this routines uses lower-case letter for
12643         the hexadecimal representation. Strange enough only lower case letters
12644         where checked in Scan_ALI (even if this was not a possible case).
12645
12646         * gnatvsn.ads (Library_Version): changed to 3.15a.
12647
12648         * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
12649         for the compiler.
12650
12651         * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
12652         for the compiler.
12653
12654         * ali-util.adb: Redo previous change to avoid using word CRC everywhere
12655         Add 2001 to copyright notice
12656         (Accumulate_Checksum): Modify to use System.CRC32.
12657
12658         * ali-util.ads: Redo changes of previous revision to continue to use
12659         the word Checksum. Add 2001 to copyright notice.
12660
12661         * ali.adb: Undo some of previous changes, not needed.
12662         Keep the change for lower case letters in the checksum.
12663
12664         * ali.ads: Undo previous change not needed.
12665
12666         * bcheck.adb: Undo most of previous change, not needed.
12667         But do use Checksums_Match for checksum comparison.
12668
12669         * gnatls.adb: Undo most of previous change, not needed.
12670         But do use Checksums_Match for comparing checksums.
12671
12672         * lib-load.adb: Undo previous change, not needed.
12673
12674         * lib-writ.adb: Undo previous change, not needed.
12675
12676         * lib-writ.ads: Document that checksums use lower case,
12677         not upper case letters.
12678
12679         * scans.adb: Undo previous change, not needed
12680
12681         * scans.ads: Undo previous change, not needed.
12682
12683         * scn-nlit.adb: Undo previous changes, not needed.
12684
12685         * scn-slit.adb: Undo previous change, not needed.  Fix header format.
12686
12687         * scn.adb:
12688         (Accumulate_Checksum): Use System.CRC32.
12689         (Initialize_Checksum): New procedure.
12690         Remove other changes of previous revision.
12691
12692         * sinput-p.adb: Undo previous change, not needed.
12693
12694         * sinput.adb: Undo previous change, not needed.
12695
12696         * sinput-l.adb: Undo previous change, not needed.
12697
12698         * sinput.ads: Undo previous change, not needed.  Keep only comment
12699         on new checksum algorithm
12700
12701         * Makefile.in: Add s-crc32 as needed, remove g-crc32.
12702         Also remove a-tags and a-stream from GNAT sources.
12703
12704         * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
12705
12706         * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
12707
12708 2001-10-11  Geert Bosch  <bosch@gnat.com>
12709
12710         * einfo.h: Regenerate.
12711
12712         * nmake.ads: Regenerate.
12713
12714         * nmake.adb: Regenerate.
12715
12716         * sinfo.h: Regenerate.
12717
12718         * treeprs.adb: Regenerate.
12719
12720 2001-10-10  Geert Bosch  <bosch@gnat.com>
12721
12722         * gnat-style.texi: New file describing coding guidelines for Ada.
12723
12724 2001-10-10  Ed Schonberg <schonber@gnat.com>
12725
12726         * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
12727         is Flag174.
12728
12729 2001-10-10  Geert Bosch  <bosch@gnat.com>
12730
12731         * snames.ads: Add new names for project facility.
12732
12733         * snames.adb: Update to reflect snames.ads changes.
12734
12735         * snames.h: Update to reflect snames.ads changes.
12736
12737 2001-10-10  Vincent Celier <celier@gnat.com>
12738
12739         * make.adb:
12740         (Add_Switches): reflect the changes for the switches attributes
12741         Default_Switches indexed by the programming language,
12742         Switches indexed by the file name.
12743         (Collect_Arguments_And_Compile): Idem.
12744         Reflect the attribute name changes.
12745
12746         * prj-attr.adb:
12747         (Initialisation_Data): Change the names of some packages and
12748         attributes.
12749         (Initialize): process case insensitive associative arrays.
12750
12751         * prj-attr.ads:
12752         (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
12753
12754         * prj-dect.adb:
12755         (Parse_Attribute_Declaration): For case insensitive associative
12756          arrays, set the index string to lower case.
12757
12758         * prj-env.adb:
12759         Reflect the changes of the project attributes.
12760
12761         * prj-nmsc.adb:
12762         Replace Check_Naming_Scheme by Ada_Check and
12763         Language_Independent_Check.
12764
12765         * prj-nmsc.ads:
12766         Replaced Check_Naming_Scheme by 2 procedures:
12767         Ada_Check and Language_Independent_Check.
12768
12769         * prj-proc.adb:
12770         (Process_Declarative_Items): For case-insensitive associative
12771         arrays, set the index string to lower case.
12772         (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
12773         Prj.Nmsc.Check_Naming_Scheme.
12774
12775         * prj-tree.adb:
12776         (Case_Insensitive): New function
12777         (Set_Case_Insensitive): New procedure
12778
12779         * prj-tree.ads:
12780         (Case_Insensitive): New function
12781         (Set_Case_Insensitive): New procedure
12782         (Project_Node_Record): New flag Case_Insensitive.
12783
12784         * prj-util.adb:
12785         (Value_Of): new function to get the string value of a single
12786         string variable or attribute.
12787
12788         * prj-util.ads:
12789         (Value_Of): new function to get the string value of a single
12790         string variable or attribute.
12791
12792         * prj.adb:
12793         (Ada_Default_Spec_Suffix): New function
12794         (Ada_Default_Impl_Suffix): New function
12795         Change definitions of several constants to reflect
12796         new components of record types.
12797
12798         * prj.ads:
12799         (Naming_Data): Change several components to reflect new
12800         elements of naming schemes.
12801         (Project_Data): New flags Sources_Present and
12802         Language_Independent_Checked.
12803         (Ada_Default_Spec_Suffix): New function.
12804         (Ada_Default_Impl_Suffix): New function.
12805
12806         * snames.ads:
12807         Modification of predefined names for project manager: added
12808         Implementation, Specification_Exceptions, Implementation_Exceptions,
12809         Specification_Suffix, Implementation_Suffix, Separate_Suffix,
12810         Default_Switches, _Languages, Builder, Cross_Reference,
12811         Finder. Removed Body_Part, Specification_Append, Body_Append,
12812         Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
12813         Gnatlink.
12814
12815         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
12816         Add comments.
12817
12818         * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
12819         not that it is Nil_Variable_Value.
12820
12821         * prj.ads: Add ??? for uncommented declarations
12822
12823 2001-10-10  Ed Schonberg <schonber@gnat.com>
12824
12825         * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
12826         constant, do not indicate possible modification, so that gigi can
12827         treat it as a bona fide constant.
12828
12829 2001-10-10  Robert Dewar <dewar@gnat.com>
12830
12831         * sem_prag.adb: Add processing for pragma External.
12832
12833         * snames.ads: Add entry for pragma External.
12834
12835         * par-prag.adb: Add pragma External.
12836
12837         * snames.adb: Updated to match snames.ads.
12838
12839 2001-10-10  Ed Schonberg <schonber@gnat.com>
12840
12841         * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
12842         a dynamic task if the allocator appears in an indexed assignment
12843         or selected component assignment.
12844
12845         * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
12846         For a dynamic task in an assignment statement, use target of
12847         assignment to generate meaningful name.
12848
12849 2001-10-10  Ed Schonberg <schonber@gnat.com>
12850
12851         * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
12852         a generic package.
12853
12854         * einfo.ads: Body_Entity is also defined for generic package.
12855         Documentation change only
12856
12857         * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
12858         others_choice for a discriminated component initialization,
12859         convert discriminant references into the corresponding discriminals.
12860
12861         * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
12862         only if original type is private and expression has to be wrapped
12863         in a conversion.
12864
12865         * checks.adb:
12866         (Apply_Constraint_Check): Do not perform length check
12867         if expression is an aggregate with only an others_choice.
12868         (Length_N_Cond): two references to the same in_parameter
12869         (typically the discriminal in an init_proc) denote the same value.
12870         Two useful optimization uncovered by bugfixes above.
12871
12872 2001-10-10  Robert Dewar <dewar@gnat.com>
12873
12874         * xeinfo.adb: Change int to char in translation of enumeration types.
12875         This fixes a problem in the C representation of component alignment.
12876         Add 2001 to copyright notice
12877
12878 2001-10-10  Richard Kenner <kenner@gnat.com>
12879
12880         * decl.c: (validate_size): Do check size of object of integral type
12881         if it is a packed array type.
12882
12883 2001-10-10  Richard Kenner <kenner@gnat.com>
12884
12885         * decl.c: (gnat_to_gnu_entity, case object): Also materialize
12886         VAR_DECL for constant if not Is_Public but -O0.
12887
12888 2001-10-10  Richard Kenner  <kenner@gnat.com>
12889
12890         * misc.c (struct lang_hooks): Add new initializer to match GCC change.
12891
12892 2001-10-10  Geert Bosch  <bosch@gnat.com>
12893
12894         * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
12895         use '/' as switch character, allowing for absolute file names.
12896
12897 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
12898
12899         * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
12900         FSF address.
12901
12902 2001-10-08  Geert Bosch  <bosch@gnat.com>
12903
12904         * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
12905         Automatically build utilities when files need to be regenerated.
12906
12907 2001-10-08  Geert Bosch  <bosch@gnat.com>
12908
12909         * xsnames.adb: New utility for updating snames.ads and snames.adb
12910
12911 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
12912
12913         * Make-lang.in (ADAFLAGS): Add -W -Wall.
12914         (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
12915         (gnat1): Also depend on attribs.o.
12916         (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
12917         * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
12918         (ADAC): Set to @ADAC@ in stage1, $(CC) later.
12919         (ADAFLAGS): Add -W -Wall.
12920         (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
12921         take out CFLAGS.
12922
12923         (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
12924         s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
12925         s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
12926         Use $(ADAC), not $(CC), as compilation command.
12927
12928         (gnattools): Depend directly on tools to build, don't use
12929         recursive make.
12930         (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
12931
12932         * einfo.h, sinfo.h: New files (autogenerated).
12933
12934 2001-10-08  Richard Henderson  <rth@redhat.com>
12935
12936         * comperr.adb (Abort_In_Progress): New.
12937         (Compiler_Abort): Use it to prevent recursion.
12938
12939 2001-10-08  Robert Dewar <dewar@gnat.com>
12940
12941         * atree.adb: Set Error_Posted in Error node, helps error recovery.
12942
12943         * par-endh.adb (Output_End_Expected): We should also not test
12944         Error_Posted on the Error node, since now it is always set.
12945
12946         * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
12947         to help error recovery. Part of general work on 9407-004.
12948
12949         * par.adb: Add ??? for misuse of error
12950
12951         * sem_res.adb:
12952         (Resolve): Defend against Error, fixes 9407-003.
12953         (Resolve_Discrete_Subtype_Indication): Defend against Error.
12954
12955         * sinfo.ads (N_Error): Now has Etype field (which will be set
12956         to Any_Type to help error recovery).
12957
12958 2001-10-08  Richard Kenner (kenner@gnat.com)
12959
12960         * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
12961         Consistently set MEM attributes from expression; fixes
12962         bootstrap failure on x86.
12963
12964 2001-10-08  Geert Bosch  (bosch@gnat.com)
12965
12966         * 5oosinte.adb: Add 2001 to copyright notice.
12967
12968 2001-10-08  Geert Bosch  (bosch@gnat.com)
12969
12970         * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
12971
12972         * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
12973
12974 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
12975
12976         * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
12977
12978 2001-10-05  Geert Bosch  (bosch@gnat.com)
12979
12980         * adaint.h: Small formatting fix.
12981
12982 2001-10-04  Geert Bosch  <bosch@gnat.com>
12983
12984         * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
12985         Arg is int, not FILE *, in dummy version of functions.
12986
12987         * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
12988         Arg is int, not FILE *.
12989
12990 2001-10-04  Geert Bosch  <bosch@gnat.com>
12991
12992         * 3lsoccon.ads: Added file, missed with initial check ins.
12993
12994         * 4lintnam.ads: Fix header format.
12995         Change Linux to GNU/Linux.
12996
12997         * 5iosinte.adb: Change Linux to GNU/Linux.
12998
12999         * 5iosinte.ads: Change Linux to GNU/Linux.
13000
13001         * 5itaprop.adb: Change Linux to GNU/Linux.
13002
13003         * 5itaspri.ads: Change Linux to GNU/Linux.
13004         Update copyright notice.
13005
13006         * 5lintman.adb: Change Linux to GNU/Linux.
13007
13008         * 5lml-tgt.adb: Change Linux to GNU/Linux.
13009
13010         * 5losinte.ads: Change Linux to GNU/Linux.
13011
13012         * 5lsystem.ads: Change Linux to GNU/Linux.
13013
13014         * 5qosinte.adb: Change Linux to GNU/Linux.
13015
13016         * 5qosinte.ads: Change Linux to GNU/Linux.
13017
13018         * 5qparame.ads: Change Linux to GNU/Linux.
13019
13020         * 5qtaprop.adb: Change Linux to GNU/Linux.
13021
13022         * 5qtaspri.ads: Change Linux to GNU/Linux.
13023         Add 2001 to copyright notice.
13024
13025         * 5vintman.ads: Change Linux to GNU/Linux.
13026         Fix header format.  Add 2001 to copyright notice.
13027
13028         * g-soccon.ads: Change Linux to GNU/Linux.
13029
13030         * g-trasym.ads: Change Linux to GNU/Linux.
13031         Add 2001 to copyright notice.
13032
13033         * memtrack.adb: Change Linux to GNU/Linux.
13034
13035         * s-intman.ads: Change Linux to GNU/Linux.
13036         Add 2001 to copyright notice.  Fix header format.
13037
13038         * s-stache.adb: Change Linux to GNU/Linux.
13039
13040         * adaint.c: Change Linux to GNU/Linux.
13041
13042         * cio.c: Change Linux to GNU/Linux.
13043
13044         * cstreams.c: Change Linux to GNU/Linux.
13045
13046         * init.c: Change Linux to GNU/Linux.
13047
13048         * gmem.c: Change Linux to GNU/Linux.
13049
13050         * tracebak.c: Change Linux to GNU/Linux.
13051
13052
13053 2001-10-02  Geert Bosch  <bosch@gnat.com>
13054
13055         * misc.c (insert_default_attributes): Add dummy version.