OSDN Git Service

7d2eba4c778dd644dd6f95685741f97e76f99030
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
2
3         * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
4         to NULL_TREE on entry.
5
6 2005-03-15  Robert Dewar  <dewar@adacore.com>
7
8         * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
9         system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
10         system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
11         system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
12         system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
13         system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
14         system-interix.ads, system-solaris-sparc.ads,
15         system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
16         system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
17         system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
18         system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
19         system-linux-s390.ads, system-linux-s390x.ads: Add line defining
20         Compiler_System_Version to be False.
21
22         * opt.ads: Add new flag Opt.Address_Is_Private
23
24         * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
25         Add new parameter Compiler_System_Version to avoid checking for
26         completeness of parameters when compiler is compiling itself.
27         Allows old versions of GNAT to be compiled with new compiler.
28
29 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
30
31         * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
32         (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
33         calling thread.
34         (Stack_Base_Available): New flag.
35         (Get_Page_Size): New overloaded functions imported from C.
36         (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
37         PROT_ON, PROT_OFF): New constants.
38         (mprotect): New function imported from C.
39         (pthread_teb_t): New record type.
40
41         * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
42         (Create_Task): Account for the Yellow Zone and the guard page.
43
44 2005-03-15  Vincent Celier  <celier@adacore.com>
45
46         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
47         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
48         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
49         mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
50         Library_File_Name_For): Add new parameter In_Tree
51         to specify the project tree: needed by the project manager.
52         Adapt to changes in project manager using new parameter In_Tree.
53         Remove local imports, use functions in System.CRTL.
54
55         * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
56         to use the project manager.
57
58         * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
59         In_Tree to designate the project tree. Adapt to changes in the project
60         manager, using In_Tree.
61
62         * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
63         Copy_Interface_Sources): Add new parameter In_Tree to specify the
64         project tree: needed by the project manager.
65         (Build_Library): Check that Arg'Length >= 6 before checking if it
66         contains "--RTS=...".
67
68         * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
69         Library_File_Name_For): Add new parameter In_Tree to specify the
70         project tree: needed by the project manager.
71
72         * prj.ads, prj.adb: Major modifications to allow several project trees
73         in memory at the same time.
74         Change tables to dynamic tables and hash tables to dynamic hash
75         tables. Move tables and hash tables from Prj.Com (in the visible part)
76         and Prj.Env (in the private part). Move some constants from the visible
77         part to the private part. Make other constants deferred.
78         (Project_Empty): Make it a variable, not a function
79         (Empty_Project): Add parameter Tree. Returns the data with the default
80         naming data of the project tree Tree.
81         (Initialize): After updating Std_Naming_Data, copy its value to the
82         component Naming of Project Empty.
83         (Register_Default_Naming_Scheme): Use and update the default naming
84         component of the project tree, instead of the global variable
85         Std_Naming_Data.
86         (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
87         Tree is not defaulted, return the default naming data of the Tree.
88         (Initial_Buffer_Size): Constant moved from private part
89         (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
90         variables initialized in procedure Initialize.
91         (Add_To_Buffer): Add two in out parameters to replace global variables
92         Buffer and Buffer_Last.
93         (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
94         functions.
95         Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
96         hash tables.
97         (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
98         for the project tree.
99         (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
100         constant at the beginning of the package spec, so that they cane be used
101         in subprograms before their full declarations.
102         (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
103         (Empty_Project): Add parameter of type Project_Node_Ref
104         (Private_Project_Tree_Data): Add component Default_Naming of type
105         Naming_Data.
106         (Buffer, Buffer_Last): remove global variables
107         (Add_To_Buffer): Add two in out parameters to replace global variables
108         Buffer and Buffer_Last.
109         (Current_Packages_To_Check): Remove global variable
110         (Empty_Name): Move to private part
111         (No-Symbols): Make it a constant
112         (Private_Project_Tree_Data): New type for the private part of the
113         project tree data.
114         (Project_Tree_Data): New type for the data of a project tree
115         (Project_Tree_Ref): New type to designate a project tree
116         (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
117         for the project tree.
118
119         * prj-attr.ads: Add with Table; needed, as package Prj no longer
120         imports package Table.
121
122         * prj-com.adb: Remove empty, no longer needed body
123
124         * prj-com.ads: Move most of the content of this package to package Prj.
125
126         * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
127         designate the project node tree and Packages_To_Check to replace
128         global variable Current_Packages_To_Check.
129         Add new parameters In_Tree and Packages_To_Check to local subprograms,
130         when needed. Adapt to changes in project manager with project node tree
131         In_Tree.
132
133         * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
134         project tree to most subprograms. Move tables and hash tables to
135         private part of package Prj.
136         Adapt to changes in project manager using project tree In_Tree.
137
138         * prj-makr.adb (Tree): New constant to designate the project node tree
139         Adapt to change in project manager using project node tree Tree
140
141         * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
142         display the Library_Src_Dir and the Library_Dir.
143         Add new parameter In_Tree to designate the project node tree to most
144         subprograms. Adapt to changes in the project manager, using project tree
145         In_Tree.
146         (Check_Naming_Scheme): Do not alter the casing on platforms where
147         the casing of file names is not significant.
148         (Check): Add new parameter In_Tree to designate the
149
150         * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
151         designate the project tree.
152         Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
153
154         * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
155         to replace those that were in the private part of package Prj.
156         Add new parameter In__Tree to designate the project node tree to most
157         subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
158         (Post_Parse_Context_Clause): When specifying the project node of a with
159         clause, indicate that it is a limited with only if there is "limited"
160         in the with clause, not necessarily when In_Limited is True.
161         (Parse): Add new parameter In_Tree to designate the project node tree
162
163         * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
164         designate the project node tree. Adapt to change in Prj.Tree with
165         project node tree In_Tree.
166
167         * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
168         tree In_Tree in the call to function Empty_Process to give its initial
169         value to the project data Processed_Data.
170         Add new parameters In_Tree to designate the project tree and
171         From_Project_Node_Tree to designate the project node tree to several
172         subprograms. Adapt to change in project manager with project tree
173         In_Tree and project node tree From_Project_Node_Tree.
174
175         * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
176         to replace those that were in the private part of package Prj.
177         Add new parameter In_Tree to designate the project node tree to most
178         subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
179
180         * prj-tree.ads, prj-tree.adb: Add new parameter of type
181         Project_Node_Tree_Ref to most subprograms.
182         Use this new parameter to store project nodes in the designated project
183         node tree.
184         (Project_Node_Tree_Ref): New type to designate a project node tree
185         (Tree_Private_Part): Change table to dynamic table and hash tables to
186         dynamic hash tables.
187
188         * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
189         the project tree to most subprograms. Adapt to changes in project
190         manager using project tree In_Tree.
191
192         * makegpr.adb (Project_Tree): New constant needed to use project
193         manager.
194
195 2005-03-15  Olivier Hainque  <hainque@adacore.com>
196
197         * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
198         for sigactions with SA_SIGINFO set. Call
199         __gnat_adjust_context_for_raise before raising, to perform the
200         potentially required adjustments to the machine context for the GCC
201         unwinder.
202
203         * raise.h (__gnat_adjust_context_for_raise): New prototype.
204
205         * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
206         Adjust PC by one in the provided machine context.
207         (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
208         so that the handler is passed the context structure to adjust prior to
209         the raise.
210         (__gnat_error_handler) HPUX: Adjust the signature to match what an
211         SA_SIGINFO sigaction should look like. Call
212         __gnat_adjust_context_for_raise before actually raising.
213         (__gnat_adjust_context_for_raise): Default noop to help PC
214         adjustments before raise from signal handlers.
215         (__gnat_error_handler): Indirectly call a predicate function to
216         determine if a condition should be resignaled or not.
217         (__gnat_set_resignal_predicate): User interface to modify the predicate.
218         (__gnat_default_resignal_p): Default GNAT predicate.
219
220 2005-03-15  Doug Rupp  <rupp@adacore.com>
221
222         * adaint.c: Prefix #include of VMS system header files with vms/
223         [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
224         Do not define a dummy function "convert_addresses" under Darwin,
225         not needed.
226
227         * tb-alvms.c, expect.c: Prefix #include of VMS system header files
228         with vms/
229
230 2005-03-15  Nicolas Setton  <setton@adacore.com>
231
232         * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
233         PPC/AIX.
234
235 2005-03-15  Robert Dewar  <dewar@adacore.com>
236
237         * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
238         AI-386.
239
240         * a-retide.ads: Minor comment changes
241
242 2005-03-15  Robert Dewar  <dewar@adacore.com>
243
244         * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
245         a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
246         Realloc_For_Chunk to private part of package.
247         New subprograms for AI-301
248
249         * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
250         Get_Line procedure.
251         Avoid unnecessary use of Get/Set_Wide_String
252
253 2005-03-15  Robert Dewar  <dewar@adacore.com>
254
255         PR ada/13470
256
257         * a-stunau.ads, a-stunau.adb: 
258         Change interface to allow efficient (and correct) implementation
259         The previous changes to allow extra space in unbounded strings had
260         left this interface a bit broken.
261
262         * a-suteio.adb: Avoid unnecessary use of Get/Set_String
263
264         * g-spipat.ads, g-spipat.adb: New interface for Get_String
265         Minor reformatting (function specs)
266
267         * g-spitbo.adb: New interface for Get_String
268
269         * g-spitbo.ads: Minor reformatting
270
271         * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
272
273         * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
274
275 2005-03-15  Javier Miranda  <miranda@adacore.com>
276             Robert Dewar  <dewar@adacore.com>
277             Thomas Quinot  <quinot@adacore.com>
278             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
279
280         * atree.ads, atree.adb: Add support for Elist24 field
281
282         * atree.h: Fix wrong definition of Field27
283         Add support for Elist16 field
284         Add support for Elist24 field
285
286         * einfo.ads, einfo.adb (Abstract_Interfaces,
287         Set_Abstract_Interfaces): New subprograms.
288         (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
289         subprograms.
290         (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
291         entities rather than a single node.
292         (Is_Interface, Set_Is_Interface): New subprogram
293         (First_Tag_Component): New syntesized attribute
294         (Next_Tag_Component): New synthesized attribute
295         (Write_Entity_Flags): Upgraded to write Is_Interface
296         (Write_Field24_Name): Upgraded to write Abstract_Interfaces
297         (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
298         (Task_Body_Procedure): New subprogram to read this attribute.
299         (Set_Task_Body_Procedure): New subprogram to set this attribute.
300         (Has_Controlled_Component): Now applies to all entities.
301         This is only a documentation change, since it always worked to apply
302         this to other than composite types (yielding false), but now this is
303         official.
304         Update documentation on Must_Be_Byte_Aligned for new spec
305
306         * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
307         exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
308         uses of the Access_Disp_Table attribute to reference the first dispatch
309         table associated with a tagged type. As
310         part of the implementation of abstract interface types,
311         Access_Disp_Table has been redefined to contain a list of dispatch
312         tables (rather than a single dispatch table).
313         Similarly, upgrade all the references to Tag_Component by the
314         new attribute First_Tag_Component.
315         (Find_Inherited_TSS): Moved to exp_tss.
316         Clean up test in Expand_N_Object_Declaration for cases
317         where we need to do a separate assignment of the initial value.
318         (Expand_N_Object_Declaration): If the expression in the
319         declaration of a tagged type is an aggregate, no need to generate an
320         additional tag assignment.
321         (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
322         is to be deleted.
323         Bit packed array ops are only called if operands are known to be
324         aligned.
325         (Component_Equality): When returning an N_Raise_Program_Error statement,
326         ensure that its Etype is set to Empty to avoid confusing GIGI (which
327         expects that only expressions have a bona fide type).
328         (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
329         determine the amount of data to be copied.
330
331         * par.adb (P_Interface_Type_Definition): New subprogram that parses the
332         new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
333             INTERFACE_TYPE_DEFINITION ::=
334               [limited | task | protected | synchronized] interface
335                 [AND interface_list]
336
337         * par-ch3.adb (P_Type_Declaration): Modified to give support to
338         interfaces.
339         (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
340         interfaces.
341         (P_Interface_Type_Definition): New subprogram that parses the new
342         syntax rule of Ada 2005 interfaces
343         (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
344         messages by the correct RENAMES (quotes removed).
345
346         * sem_prag.adb: Upgrade all the references to Tag_Component by the new
347         attribute First_Tag_Component.
348
349         * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
350         (Interface_List, Set_Interface_List): New subprograms.
351         (Interface_Present, Set_Interface_Present): New subprograms.
352         (Limited_Present, Set_Limited_Present): Available also in derived
353         type definition nodes.
354         (Protected_Present, Set_Protected_Present): Available also in
355         record type definition and
356         derived type definition nodes.
357         (Synchronized_Present, Set_Synchronized_Present): New subprograms.
358         (Task_Present, Set_Task_Present): New subprogram.
359         (Task_Body_Procedure): Removed.
360         (Set_Task_Body_Procedure): Removed.
361         These subprogram have been removed because the attribute
362         Task_Body_Procedure has been moved to the corresponding task type
363         or task subtype entity to leave a field free to store the list
364         of interfaces implemented by a task (for AI-345)
365         Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
366         (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
367         expression flag Do_Range_Check
368         (Exception_Junk): Change to Flag7 to accomodate above change
369         (Box_Present, Default_Name, Specification, Set_Box_Present,
370         Set_Default_Name, Set_Specification): Expand the expression
371         "X in N_Formal_Subprogram_Declaration" into the corresponding
372         two comparisons. Required to use the csinfo tool.
373
374         * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
375         "with string" given.
376
377         * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
378         expression given.
379
380         * par-ch11.adb (P_Raise_Statement): Recognize with string expression
381         in 2005 mode
382
383         * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
384         attribute Task_Body_Procedure rather than the old semantic field that
385         was available in the task_type_declaration node.
386
387         * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
388         interface type definitions.
389         (P_Formal_Derived_Type_Definition): Modified to handle the list of
390         interfaces.
391
392         * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
393         task type declaration.
394         (P_Protected): Modified to handle the list of interfaces in a
395         protected type declaration.
396
397 2005-03-15  Doug Rupp  <rupp@adacore.com>
398             Vincent Celier  <celier@adacore.com>
399
400         * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
401         (Gen_Output_File_C): Likewise.
402         (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
403
404 2005-03-15  Thomas Quinot  <quinot@adacore.com>
405
406         * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
407         is an N_Raise_Constraint_Error node, create a new copy of it without
408         going through a call to Duplicate_Subexpr.
409
410 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
411             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
412             Nicolas Setton  <setton@adacore.com>
413             Ed Schonberg  <schonberg@adacore.com>
414
415         PR ada/19900
416         PR ada/19408
417         PR ada/19140
418         PR ada/20255
419
420         * decl.c (gnat_to_gnu_field): Reject aliased components with a
421         representation clause that prescribes a size not equal to the rounded
422         size of their types.
423         (gnat_to_gnu_entity, case E_Component): Always look at
424         Original_Record_Component if Present and not the entity.
425         (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
426         of tagged extension types by not making field for components that are
427         inside the parent.
428         (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
429         (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
430         expression to the type of the object when the object is constant.
431         Reverse defer_debug_incomplete_list before traversing it, so that trees
432         are processed in the order at which they were added to the list. This
433         order is important when using the stabs debug format.
434         If we are deferring the output of debug information, also defer this
435         output for a function return type.
436         When adding fields to a record, prevent emitting debug information
437         for incomplete records, emit the information only when the record is
438         complete.
439         (components_to_record): New parameter defer_debug.
440         (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
441         (gnat_to_gnu_field_decl): New function.
442         (substitution_list, annotate_rep): Call it.
443         (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
444         (gnat_to_gnu_entity, case E_Record_Type): Likewise.
445         No longer update discriminants to not be a COMPONENT_REF.
446         (copy_alias_set): Strip padding from input type; also handle
447         unconstrained arrays properly.
448
449         * gigi.h (write_record_type_debug_info): New function.
450         Convert to use ANSI-style prototypes. Remove unused
451         declarations for emit_stack_check, elab_all_gnat and
452         set_second_error_entity.
453         (gnat_to_gnu_field_decl): New decl.
454
455         * utils.c (write_record_type_debug_info): New function.
456         (finish_record_type): Delegate generation of debug information to
457         write_record_type_debug_info.
458         (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
459         (update_pointer_to): Fix pasto.
460         (convert) <UNION_TYPE>: Accept slight type variations when
461         converting to an unchecked union type.
462
463         * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
464         replace the N_Freeze_Entity with a null statement.
465
466         * freeze.adb (Freeze_Expression): If the freeze nodes are generated
467         within a constrained subcomponent of an enclosing record, place the
468         freeze nodes in the scope stack entry for the enclosing record.
469         (Undelay_Type): New Subprogram.
470         (Set_Small_Size): Pass T, the type to modify; all callers changed.
471         (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
472         within records; allow them to have freeze nodes if their base types
473         aren't frozen yet.
474
475         * sem_ch3.adb (Derived_Type_Declaration): New predicate
476         Comes_From_Generic, to recognize accurately that the parent type in a
477         derived type declaration can be traced back to a formal type, because
478         it is one or is derived from one, or because its completion is derived
479         from one.
480         (Constrain_Component_Type): If component comes from source and has no
481         explicit constraint, no need to constrain in in a subtype of the
482         enclosing record.
483         (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
484         Minor change to propagate Is_Ada_2005 flag
485
486         * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
487         Expansion_Delayed is False.
488         (assoc_to_constructor): Ignore fields that have a
489         Corresponding_Discriminant.
490         (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
491         function returns "by target", dereference the target pointer using the
492         type of the actual return value.
493         <all>: Be prepared for a null gnu_result.
494         (processed_inline_subprograms): Check flag_really_no_inline
495         instead of flag_no_inline.
496         (set_second_error_entity): Remove unused function.
497         (gnat_to_gnu, case N_Selected_Component): Call
498         gnat_to_gnu_field_decl.
499         (assoc_to_constructor): Likewise.
500
501 2005-03-15  Robert Dewar  <dewar@adacore.com>
502             Ed Schonberg  <schonberg@adacore.com>
503             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
504
505         PR ada/19900
506
507         * exp_pakd.adb (Create_Packed_Array_Type): Do not set
508         Must_Be_Byte_Aligned for cases where we do not need to use a
509         System.Pack_nn unit.
510
511         * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
512         as procedures.
513         Needed now that we do some processing for IN parameters as well. This
514         may well fix some unrelated errors.
515         (Expand_Call): Handle case of unaligned objects (in particular those
516         that come from packed arrays).
517         (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
518         renamed entity is an inherited operation, re-expand the call using the
519         original operation, which is the one to call.
520         Detect attempt to inline parameterless recursive subprogram.
521         (Represented_As_Scalar): Fix to work properly with private types
522         (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
523         accurate estimate. Yields True in far fewer cases than before,
524         improving the quality of code that depends on this test.
525         (Remove_Side_Effects): Properly test for Expansion_Delayed and handle
526         case when it's inside an N_Qualified_Expression.
527
528         * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
529         over both visible and private declarations to remove them from tree,
530         and mark subprograms declared in package as eliminated, to prevent
531         spurious use in subsequent compilation of generic units in the context.
532
533         * exp_util.ads: Minor cleanup in variable names
534
535         * sem_eval.ads, sem_eval.adb: Minor reformatting
536         (Compile_Time_Known_Bounds): New function
537
538 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
539
540         * exp_ch7.adb (Convert_View): Use base types of underlying types when
541         determining whether an unchecked conversion is needed for the argument
542         of an initialization call.
543
544 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
545
546         * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
547         that appears in the instantiation rather than the internal subtype
548         generated in the wrapper package, to avoid anomalies in gigi when the
549         target is derived from a private type whose full view is an access type.
550
551 2005-03-15  Robert Dewar  <dewar@adacore.com>
552
553         * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
554         not needed.
555         Add documentation to replace the use of this flag
556         Fix kludge for Maximum_Alignment on x86 so that it does not apply to
557         the x86_64.
558
559 2005-03-15  Thomas Quinot  <quinot@adacore.com>
560
561         * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
562         here from exp_attr so it can be shared between exp_attr and exp_dist.
563         (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
564         all TSS names, not a subset thereof, and the previous name introduced
565         an unnecessarily confusion that a distinction might exist between
566         "OK" TSS names and some "not OK" TSS names.
567
568 2005-03-15  Doug Rupp  <rupp@adacore.com>
569
570         * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
571         Command_Name.
572
573 2005-03-15  Pascal Obry  <obry@adacore.com>
574             Eric Botcazou  <ebotcazou@adacore.com>
575
576         PR ada/20226
577         PR ada/20344
578
579         * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
580         when IN_RTS. This is to work around a bootstrap path problem.
581
582         * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
583         table and pass it to __gnat_install_SEH_handler().
584         (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
585
586         * lang.opt: Fix specification of -fRTS=.
587
588 2005-03-15  Doug Rupp  <rupp@adacore.com>
589             Bernard Banner  <banner@adacore.com>
590             Vincent Celier  <celier@adacore.com>
591             Arnaud Charlet  <charlet@adacore.com>
592
593         PR ada/6852
594         This change works fine when gnatlib is built from the gcc directory,
595         but does not work when using the libada Makefile, since GCC_FOR_TARGET
596         is not passed to ada/Makefile.in, so more work is needed by a
597         Makefile/configure expert.
598
599         * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
600         set GMEM_LIB on ia64 linux to add optional support for gnatmem.
601         Setup gnatlink switch -M for x86_64 linux, as it is already setup
602         for Linux x86.
603         (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
604         Run ranlib on libgccprefix.a
605         Define PREFIX_OBJS for Darwin, to build libgccprefix.
606         (ADA_INCLUDE_SRCS): Split Ada packages.
607
608 2005-03-15  Robert Dewar  <dewar@adacore.com>
609
610         * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
611
612         * impunit.adb: Add GNAT.UTF_32
613
614         * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
615
616         * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
617         now uses GNAT.UTF_32).
618
619         * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
620         capabilities for categorizing characters using Unicode categories
621
622 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
623
624         * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
625         instantiation that has been rewritten as a package body, retrieve spec
626         to generate proper name for implicit_with_clause.
627         (Install_Parents): Recognize a parent that is an instantiation but has
628         been rewritten as a package declaration during analysis.
629
630 2005-03-15  Javier Miranda  <miranda@adacore.com>
631             Ed Schonberg  <schonberg@adacore.com>
632
633         * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
634         parameter reported some error we immediately return. This improves the
635         behaviour of the frontend in case of errors.
636         (Install_Parent, Remove_Parent): Introduce new flag
637         Parent_Unit_Visible, to preserve the proper visibility of the ultimate
638         ancestor of a generic child unit, when the child is being instantiated.
639         (Inline_Instance_Body): If we are compiling the private
640         part or the body of a child unit, restore the proper visibility of the
641         parents after compiling the instance body.
642
643 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
644             Javier Miranda  <miranda@adacore.com>
645
646         PR ada/15608
647         * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
648         of a private type, in which case it is underlying_type that denotes
649         the proper task. Also modified to use the new entity attribute
650         that is directly available in the task type and task subtype entities
651         (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
652         arrays when other dimensions than the first are constrained by
653         discriminants of an enclosing record.
654         (Insert_Explicit_Dereference): If the prefix is an indexed component or
655         a combination of indexed and selected components, find ultimate entity
656         and generate the appropriate reference for it, to suppress spurious
657         warnings.
658         (Note_Possible_Modification): If an entity name has no entity, return.
659         (Is_Variable): A function call never denotes a variable.
660         (Requires_Transient_Scope): For record types, recurse only on
661         components, not on internal subtypes that may have been generated for
662         constrained components.
663
664 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
665
666         * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
667         Eliminated as candidates for resolution. Both efficient, and avoids
668         anomalies with operators declared in deleted code.
669         (Process_Implicit_Dereference_Prefix): Use this procedure whenever
670         expansion is disabled (as when compiling a generic) to prevent spurious
671         warnings on prefixes of selected components.
672
673 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
674
675         * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
676         attached to a list before checking whether it appears in the private
677         declarations of the current package.
678         (Make_Inequality_Operator): Insert declaration in proper declarative
679         list rather than just setting the Parent field, so that
680         Is_Private_Declaration can handle it properly.
681
682 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
683
684         * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
685         a renaming a body, check that the renamed subprogram in not intrinsic.
686         (Find_Direct_Name): If several use_visible entities hide
687         each other, and the context is a predefined file compiled through
688         rtsfind, keep only the entity that comes from a predefined file.
689
690 2005-03-15  Geert Bosch  <bosch@adacore.com>
691
692         * s-fatgen.adb (Valid): Extend special exceptions to account for long
693         long float padding to also cover AMD64 and IA64.
694
695 2005-03-15  Gary Dismukes  <dismukes@adacore.com>
696
697         * s-imgwch.adb: Add with and use of Interfaces.
698         (Img_Wide_Character): Change type of Val to Unsigned_16.
699         (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
700
701 2005-03-15  Matthew Gingell  <gingell@adacore.com>
702
703         * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
704
705 2005-03-15  Robert Dewar  <dewar@adacore.com>
706
707         * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
708
709         * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
710
711         * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
712
713 2005-03-15  Robert Dewar  <dewar@adacore.com>
714
715         * s-bitops.adb, s-bitops.ads,
716         s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
717         s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
718         tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
719         s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
720         s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
721         s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
722         s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
723         s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
724         reformatting.
725
726 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
727
728         * utils2.c (build_binary_op): Fix typo.
729
730 2005-03-15  Doug Rupp  <rupp@adacore.com>
731
732         * s-crtl.ads (popen,pclose): New imports.
733
734 2005-03-15  Cyrille Comar  <comar@adacore.com>
735
736         * comperr.adb (Compiler_Abort): remove references to obsolete
737         procedures in the bug boxes for various GNAT builds.
738
739 2005-03-15  Vincent Celier  <celier@adacore.com>
740
741         * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
742
743 2005-03-15  Geert Bosch  <bosch@adacore.com>
744             Arnaud Charlet  <charlet@adacore.com>
745             Robert Dewar  <dewar@adacore.com>
746             Cyrille Comar  <comar@adacore.com>
747             Sergey Rybin  <rybin@adacore.com>
748
749         * gnat_ugn.texi: Remove extended inline assembly example, as it was far
750         too specific and long-winded to be appropriate for the GNAT User's
751         Guide.
752         Warn about use of GCC switches not documented in the GNAT User's Guide,
753         as these may cause generated code to not conform to Ada semantics.
754         Remove mention of -gdwarf-2 for sparc64, since this is now the default.
755         Add documentation for -gnat95 and -gnat05 switches
756         Remove paragraph documenting obsolete way to refer to third party
757         libraries.
758         Add a few references to Ada_05 that were missing.
759         Update documentation on -gnatZ/-gnatL.
760         Document limitation when using -m64 under Solaris.
761         Change the "Name Casing" subsection of the pretty-printer section
762         according to the changes in the dictionary processing.
763
764         * gnat_rm.texi: Document the Ada_05 pragma.
765         Section on record representation clauses describes the new more
766         relaxed rules about placement of large packed bit array components.
767         Add documentation of GNAT.UTF_32
768
769 2005-03-12  Daniel Berlin <dberlin@dberlin.org>
770
771         * misc.c (gnat_post_options): Turn off structural
772         aliasing for now.
773
774 2005-03-08  Laurent Guerby <laurent@guerby.net>
775
776         * system-linux-sparc.ads: Fix typo in previous commit.
777
778 2005-03-07  James A. Morrison <phython@gcc.gnu.org>
779             Laurent Guerby <laurent@guerby.net>
780
781         PR ada/20035
782         * system-linux-sparc.ads: New.
783         * Makefile.in: Add sparc linux entry.
784
785 2005-02-27  Danny Smith  <dannysmith@users.sourceforge.net>     
786
787         * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth 
788         parameters as unused.
789
790 2005-02-26  Nathanael Nerode  <neroden@gcc.gnu.org>
791         Partial merge from libada-gnattools-branch:
792
793         2004-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
794         * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
795         into code in gnattools/Makefile.in.  Remove direct dependencies on
796         stamp-tools by tools clauses.
797         2004-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
798         * config-lang.in: Add gnattools to $lang_dirs.
799
800 2005-02-13  Andrew Pinski  <pinskia@physics.uc.edu>
801
802         PR ada/19942
803         * utils.c (gnat_type_for_mode): Return null instead of ICE because we asked
804         for an unknown mode.
805
806 2005-02-12  Richard Henderson  <rth@redhat.com>
807
808         * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
809         validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
810
811 2005-02-10  Andreas Jaeger  <aj@suse.de>
812
813         * init.c (__gnat_initialize): Mark parameter as unused.
814
815 2005-02-09  Doug Rupp  <rupp@adacore.com>
816
817         * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
818         * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
819
820 2005-02-09  Doug Rupp  <rupp@adacore.com>
821
822         * gnatchop.adb (dup, dup2),
823         g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
824
825         * gnatlbr.adb (mkdir),
826         mlib-tgt-vms-ia64.adb (popen, plose):  Import with decc$ prefix.
827
828         * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
829
830 2005-02-09  Doug Rupp  <rupp@adacore.com>
831
832         * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
833
834 2005-02-09  Robert Dewar  <dewar@adacore.com>
835             Thomas Quinot  <quinot@adacore.com>
836             Javier Miranda  <miranda@adacore.com>
837             Pascal Obry  <obry@adacore.com>
838             Ed Schonberg  <schonberg@adacore.com>
839             Doug Rupp  <rupp@adacore.com>
840             Gary Dismukes  <dismukes@adacore.com>
841             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
842
843         * g-zstspl.ads: New file.
844
845         * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
846
847         * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
848         Ada 95 mode
849         Add definition of Wide_Wide_Space for AI-285
850
851         * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
852         interface (to support Ada 95 and Ada 2005 units).
853         Add Unbounded_IO files
854         Add entries for Wide_Wide packages for AI-285
855         Add list of containers packages to Ada 2005 unit list
856
857         * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
858         support new Unbounded_IO package cleanly.
859
860         * g-utf_32.ads, g-utf_32.adb: New files.
861
862         * Makefile.rtl: Add entry for g-utf_32
863         Add new files for Unbounded_IO
864         Adjust make file for new AI-285 wide wide packages
865         Add AI-302 containers to the run time.
866
867         * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
868         a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
869         subprograms for AI-301.
870
871         * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
872
873         * a-stunau.ads: Minor comment correction
874
875         * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
876         etc.
877         Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
878         (Check_RPC): Update to match changes in expanded code.
879         Clean up unused entity.
880
881         * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
882         was not taken into account.
883         This includes proper initialization with Normalize_Scalars.
884         (Get_Simple_Init_Val): Major rewrite for initialize scalars and
885         normalize scalars cases (particularly the latter) to do a better job
886         of finding invalid representations.
887
888         * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
889
890         * s-strops.ads, s-strops.adb: Remove string normalize routines, never
891         used
892
893         * exp_dist.adb: Add support for wide wide character type
894         (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
895         private part, generate stub bodies at the end of the private part,
896         not the visible part.
897         (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
898         PolyORB support.
899         (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
900         generic wrapper to execute final processing after completing the
901         expansion of the RPC receiver for an RACW.
902
903         * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
904         packages and attributes.
905         (Preset_Names): Addition of the new reserved words of Ada 2005,
906         that is interface, overriding and synchronized.
907         (Get_Pragma_Id): Give support to the use of the new reserved word
908         "interface" as a pragma name.
909         (Is_Pragma_Name): Give support to the use of the new reserved word
910         "interface" as a pragma name.
911         (Preset_Names): Add stream_size string for the Stream_Size Ada2005
912         attribute implementation.
913
914         * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
915         checks to entities that are output parameters of Asm operations.
916         Handle the Stream_Size attribute.
917         Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
918
919         * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
920
921         * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
922         for second parameter being 0.0.
923         Add support for wide wide character type.
924         (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
925
926         * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
927         s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
928         s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
929         s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
930         for wide wide character cases.
931
932         * cstand.adb: Create entities for Wide_Wide_Character and
933         Wide_Wide_String.
934
935         * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
936         accordance with AI-258.
937         Add new declarations for 16/32 bit C character types (Part of AI285)
938
939         * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
940         (Obsolescent_Warning): New field
941         (Rep_Clause): New local subprogram used to share code. Returns the rep
942         clause for which the name is given in parameter.
943         (Has_Stream_Size_Clause): New routine.
944         (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
945         (Address_Clause): Implementation is now using Rep_Clause.
946         (Alignment_Clause): Idem.
947         (Size_Clause): Idem.
948
949         * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
950         entity in non-Ada 2005 mode and generate warning.
951
952         * par-prag.adb: Add handling of one argument form for pragma Ada_05.
953         (Prag): Code cleanup. Remove old gnat pragma "overriding"
954
955         * sem_prag.adb: Add handling of one argument form for pragma Ada_05
956         (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
957         on the named unit if the pragma is not in the current compilation unit,
958         so that elaboration calls in the current unit can set up an elaboration
959         dependency on the named unit, as needed.
960         (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
961         subprogram as well as for subprograms declared within a package.
962         (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
963         pragma overriding.
964
965         * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
966         to z) to avoid some instances of duplication for Wide_Wide packages.
967
968         * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
969         characters.
970
971         * scn.adb: Char_Literal_Value field is now a Uint
972
973         * scng.adb: Significant rewrite to handle new Ada 2005 features
974         allowing wide and wide wide characters in program text, e.g. for
975         identifiers, as described in AI-285.
976         (Set_Reserved): New procedure, makes setting up keywords cleaner.
977         (Initialize_Scanner): Register the new reserved words of Ada 2005.
978         (Scan): Give support to the new reserved words.
979
980         * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
981         warning notifying that interface, overriding, and synchronized are
982         new reserved words.
983         (P_Pragma): Allow the use of the new reserved word "interface" as
984         a pragma name.
985
986         * gnatls.adb, gnatbind.adb,
987         ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
988         identifiers named "interface" to "SAL_Interface".
989
990         * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
991         (Structured Exception handling).
992         (Gen_Main_C): Idem.
993
994         * bindgen.adb: 
995         (Gen_Main_Ada): Set the default exit code if specified.
996         (Gen_Main_C): Likewise.
997         Part of *DC20-006.
998         (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
999         Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
1000
1001         * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
1002         new -Xnnn switch.
1003
1004         * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
1005         has a collision with the new Ada 2005 "interface" reserved word.
1006
1007         * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
1008         generate a warning notifying that interface, overriding, and
1009         synchronized are new reserved words.
1010
1011         * scans.ads (Token_Type): Addition of the tokens corresponding to the
1012         new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
1013         and Tok_Synchronized.
1014
1015         * sem_res.adb (Resolve_Actuals): Change error messages to refer to
1016         "dispatching" rather than "primitive" operations, since dispatching
1017         calls are now allowed to abstract formal subprograms (which are not
1018         primitive).
1019         Char_Literal_Value field is now a Uint
1020         (Resolve_Slice): If the prefix is an access to an unconstrained array,
1021         compute the actual subtype of the designated object to impose the proper
1022         index constraints.
1023         (Resolve_Selected_Component): Do not insert an access check if the
1024         prefix is an access type: such a node is expanded into an explicit
1025         dereference, on which the access check is performed anyway. Removes
1026         expensive duplicate checks.
1027         (Resolve_Call): Use new flag Is_Obsolescent and field
1028         Obsolescent_Warning so that pragma Obsolescent works on library
1029         subprograms.
1030         Add support for wide wide character type
1031         (Resolve_Allocator): Replace the error message on wrong null-exclusion
1032         value by a warning message.
1033         (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
1034         as fixed-point, and one of the operands is non-static and universal, it
1035         can only be an illegal exponentiation operation, in which case there is
1036         no real value to retrieve.
1037
1038         * exp_strm.adb: Add support for wide wide character type
1039         (Build_Elementary_Input_Call): Compute the size of the stream element by
1040         querying the rep chain to find the Stream_Attribute attribute value.
1041         (Build_Elementary_Write_Call): Ditto.
1042
1043         * sem_aggr.adb: Char_Literal_Value field is now a Uint
1044         Add support for wide wide character type
1045         Replace the error messages on wrong null-exclusion value by warnings
1046         as described in Ada 2005.
1047         (Resolve_Extension_Aggregate): Document the fact that the error
1048         message on class-wide expressions in extensions aggregates.
1049
1050         * sem_case.adb: Add support for wide wide character type
1051
1052         * sem_ch13.adb: Add support for wide wide character type
1053         (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
1054
1055         * sem_ch3.adb: Add support for wide wide character type
1056         (Process_Subtype): If constraint is illegal for the type, set Ekind of
1057         now-useless Itype, to prevent cascaded errors on a compiler built
1058         without -gnatp.
1059
1060         * sem_ch8.adb: Add with and use of Sem_Disp.
1061         (Analyze_Subprogram_Renaming): Replace unclean uses of
1062         Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
1063         of Corresponding_Spec to Empty).
1064         (Attribute_Renaming): Replace use of Corresponding_Spec with
1065         Corresponding_ Formal_Spec and simplify condition.
1066         (Use_One_Package): Check that scope of homonym of identifier is defined,
1067         before checking whether it is a wrapper package.
1068         Add support for wide wide character type
1069
1070         * sem_eval.adb: Add support for wide wide character type.
1071         (Eval_Arithmetic_Op): Check for compile time known signed integer
1072         overflow in the non-static case.
1073         (Subtypes_Statically_Match): A formal scalar type and its base type do
1074         not statically match.
1075
1076         * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
1077         "not in" for test of N_Formal_Subprogram_Declaration (which is now a
1078         subtype).
1079         (Unit_Declaration_Node): Ditto.
1080         (Is_Variable_Prefix):  For the case of an indexed component whose prefix
1081         has a packed array type, the prefix has been rewritten into a type
1082         conversion. Determine variable-ness from the converted expression.
1083         Handle wide wide character cases.
1084
1085         * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
1086
1087         * stringt.ads, stringt.adb: Handle full UTF-32 range.
1088         Remove ["0A"] from comment, since it can look like a line terminator.
1089         Currently we don't permit this, but this is under discussion by the
1090         ARG, and it is easy enough to use a different example.
1091
1092         * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
1093         handling UTF-32 encoding for wide wide character.
1094         Implement new brackets coding ["hhhhhhhh"]
1095         Add UTF-8 encodings for full UTF-32 range
1096
1097         * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
1098
1099         * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
1100         bit range Add full UTF-32 support.
1101         (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
1102         notify that constraint error will be raised at run-time
1103         because a null value is assigned to a null-excluding object.
1104         Remove some obsolete declarations and make Char_Code
1105         unsigned.
1106
1107         * a-except.adb (Rcheck_30): New subprogram. Addition of the message
1108         corresponding to CE_Null_Not_Allowed, and adjust the output of all the
1109         Rcheck subprograms.
1110
1111         * checks.adb (Check_Null_Not_Allowed): Replace the error message on
1112         wrong null-exclusion value by a warning message.
1113         (Enable_Range_Check): Do range check if the prefix is an
1114         explicit dereference whose designated object is an unconstrained array.
1115         Current algorithm for removing duplicate checks is over-eager in this
1116         case.
1117
1118         * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
1119         null-exclusion value by a warning message
1120
1121         * atree.h, atree.ads, atree.adb: Remove Char_Code field support
1122         completely. Add support for Uint2 field
1123
1124         sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
1125         exp_prag.adb: Char_Literal_Value field is now a Uint.
1126
1127         * exp_util.adb (Insert_Actions): Replace
1128         N_Formal_Subprogram_Declaration by
1129         N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
1130         Char_Literal_Value field is now a Uint.
1131
1132         * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
1133         defined for subprogram renaming declarations. When set, the field
1134         indicates the defining entity of a corresponding formal subprogram
1135         when the renaming corresponds to a formal subprogram association in an
1136         instantiation.
1137         (Set_Corresponding_Formal_Spec): New procedure to return
1138         Corresponding_Formal_Spec field.
1139         Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
1140         (which is now a subtype).
1141         Char_Literal_Value field is now a Uint
1142
1143         * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
1144         pointer to the base of the dispatch table.
1145         Minor changes to comments.
1146         (Controlling_Type): New function for determining the tagged type
1147         associated with a tagged primitive subprogram.
1148         (Expand_Dispatching_Call): Add support for a controlling actual that is
1149         directly a value of type Ada.Tag rather than a tagged object.
1150
1151         * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
1152         describing the new layout.
1153         (Dispatch_Table): The expander computes the actual array size, allocates
1154         the Dispatch_Table record accordingly, and generates code that displaces
1155         the base of the record after the Typeinfo_Ptr component. The access to
1156         these components is done by means of local functions.
1157         (Offset_To_Top): New function.
1158         (Typeinfo_Ptr): New function.
1159         (Get_TSD): Modified to access the new position of the TSD.
1160         (Set_TSD): Modified to save the TSD in its new position.
1161
1162         * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
1163         case of formal abstract subprograms. Add check and message for -gnat05.
1164         Update comments.
1165
1166         * sem_ch12.adb: Add with and use for Sem_Disp.
1167         (Analyze_Associations): Minor change from "=" to "in" for use of
1168         N_Formal_Subtype_Declaration (which is now a subtype).
1169         (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
1170         N_Formal_Subtype_Declaration (which is now a subtype).
1171         (Analyze_Formal_Subprogram): Add handling for
1172         N_Formal_Abstract_Subprogram, marking the formal as abstract and
1173         dispatching, setting the controlling status of the formal parameters
1174         and result, and issuing an error if there is no controlling type for
1175         the formal subprogram.
1176         (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
1177         which is an unclean use of that field, we set the new field
1178         Corresponding_Formal_Spec to make the formal subprogram available to
1179         processing in Analyze_Subprogram_Declaration.
1180         (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
1181         Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
1182         Constrained, so that it is is does not statically match its anonymous
1183         base type.
1184
1185         * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
1186         abstract formal subprograms in error check for functions returning
1187         abstract types. Set scope of new designator for
1188         a parameterless subprogram, so that it is available when checking the
1189         body for nested subprograms, before full analysis of said body.
1190         (Analyze_Subprogram_Body): Warn on inlining bodies with nested
1191         subprogram only if inner one comes from source.
1192         (Analyze_Function_Call): If the call is given in object notation, the
1193         analysis of the name rewrites the node and analyzes it with the proper
1194         argument list. After analyzing the name, if the call has been rewritten
1195         and the result type is set, no further analysis is needed.
1196         (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
1197         mark in function specification, in a context where the formals are
1198         visible and hide outer homographs.
1199
1200         * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
1201         as the tagged type for the cases of abstract formal subprograms and
1202         renamings of those.  Clean up spec comments.
1203         (Check_Dispatching_Context): Add error message to indicate "abstract
1204         procedure", covering the case of a call to a formal abstract procedure
1205         that has statically tagged operands.
1206         (Check_Dispatching_Call): Check for the case of an actual given by
1207         a tag-indeterminate function call whose type is an ancestor of the
1208         containing call's associated tagged type. This situation can occur
1209         for inherited primitives with function defaults. In this case we
1210         use the tagged type's tag directly as the controlling argument for
1211         the calls.
1212         (Expand_Call): Name change on call to Expand_Dispatch_Call.
1213
1214         * sprint.adb (Sprint_Node_Actual): Split
1215         N_Formal_Subprogram_Declaration into two alternatives for the new
1216         cases N_Formal_Abstract_Subprogram_Declaration and
1217         N_Formal_Concrete_Subprogram_Declaration.
1218         Char_Literal_Value field is now a Uint.
1219
1220         * trans.c: Get rid of junk Uint2 reference.
1221         Char_Literal_Value field is now a Uint.
1222         (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
1223         (gigi): Correct third arg to gimplify_body.
1224
1225         * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
1226         (TYPE_LANG_FLAG_0): Check for record or union.
1227
1228         * treepr.adb: Char_Literal_Value field is now a Uint
1229
1230         * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
1231         UI_From_CC.
1232
1233         * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
1234         Add full UTF-32 support
1235         Char_Code is now 32 bits
1236
1237         * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
1238         wide character UTF_32 line terminators.
1239         Initialize Main_Source_File to avoid error when no main
1240         source is loaded.
1241
1242         * errout.adb (Finalize): Do not check Num_SRef_Pragmas
1243         (Main_Source_File) when no main source has been loaded, to avoid
1244         potential crash.
1245
1246 2005-02-09  Robert Dewar  <dewar@adacore.com>
1247
1248         * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
1249         Fix name of Set routine
1250
1251         * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
1252         fixed packages.
1253
1254         * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
1255         a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
1256         fixed packages
1257
1258         * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
1259         forms of Get_Line subprograms for AI-301.
1260
1261         * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
1262         a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
1263         a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
1264         a-stwima.ads: Minor reformatting.
1265
1266 2005-02-09  Doug Rupp  <rupp@adacore.com>
1267             Thomas Quinot  <quinot@adacore.com>
1268
1269         * adaint.c, adaint.h
1270         [VMS] (to_ptr32): New function.
1271         (MAYBE_TO_PTR32): New macro.
1272         (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
1273         for pointer size.
1274         [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
1275         [VMS] (#define fork()): Remove since unneccessary.
1276         (__gnat_set_close_on_exec): New routine to support
1277         GNAT.OS_Lib.Set_Close_On_Exec.
1278
1279         * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
1280         the parent side as close-on-exec so that they are not inherited by the
1281         child.
1282
1283         * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
1284         set or clear the FD_CLOEXEC flag on a file descriptor.
1285
1286 2005-02-09  Eric Botcazou  <ebotcazou@adacore.com>
1287             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1288
1289         Fix for c330001 - PR ada/19386
1290
1291         * decl.c: 
1292         (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
1293         on the field if Pragma Component_Alignment (Storage_Unit).
1294         (gnat_to_gnu_entity, case object): Do not treat a renaming that has
1295         side-effects as if it were a constant; also make SAVE_EXPR to protect
1296         side-effects.
1297         (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
1298         UNION_TYPE.
1299         (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
1300         (components_to_record): Test it.
1301         Fix improper usage of REFERENCE_CLASS_P.
1302
1303         * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
1304         RECORD_TYPE.
1305
1306         * utils2.c: Minor reformatting.
1307
1308         * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
1309         handle other cases like RECORD_TYPE.
1310
1311         * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
1312
1313 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
1314
1315         * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
1316         component of an array of arrays in an assignment context, and the
1317         aggregate has component associations that require sliding on
1318         assignment, force reanalysis of the aggregate to generate a temporary
1319         before the assignment.
1320         (Must_Slide): Make global to the package, for use in Gen_Assign.
1321
1322 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
1323
1324         * exp_ch4.adb (Expand_Composite_Equality): If a component is an
1325         unchecked union with no inferable discriminants, return a
1326         Raise_Program_Error node, rather than inserting it at the point the
1327         type is frozen.
1328         (Expand_Record_Equality, Component_Equality): Handle properly the case
1329         where some subcomponent is an unchecked union whose generated equality
1330         code raises program error.
1331
1332 2005-02-09  Doug Rupp  <rupp@adacore.com>
1333
1334         * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
1335         [VMS] (#define exit hack): Remove.
1336
1337 2005-02-09  Pascal Obry  <obry@adacore.com>
1338             Arnaud Charlet <charlet@adacore.com>
1339
1340         * init.c (__gnat_initialize): Add a new parameter eh which contains the
1341         address of the exception registration. The Win32 version of this
1342         routine calls __gnat_install_SEH_handler() to initialize the SEH
1343         (Structured Exception Handling) handler.
1344         (__gnat_error_handler) [Win32]: Removed. Not needed as we use
1345         SEH (Structured Exception Handling) now.
1346         (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
1347         (__gnat_initialize for ppc-vxworks): Adjust comments and the
1348         preprocessor condition protecting the call to the extra eh setup
1349         subprogram, which is only available for the ppc target.
1350         (__gnat_clear_exception_count): replaced reference to
1351         variable taskIdCurrent by call to taskIdSelf(), cleaner.
1352
1353         * seh_init.c: New file.
1354
1355         * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
1356         (GNATBIND_OBJS): Idem.
1357
1358         * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
1359         routine takes a new parameter (a pointer to the exception registration
1360         for the SEH (Structured Exception Handling) support.
1361
1362         * raise.h: (__gnat_install_SEH_handler): New prototype.
1363         Update copyright notice.
1364
1365         * s-tassta.adb (Task_Wrapper): Declare the exception registration
1366         record and initialize it by calling __gnat_install_SEH_handler.
1367
1368 2005-02-09  Vincent Celier  <celier@adacore.com>
1369
1370         * make.adb (Gnatmake): Do not fail when the main project has no object
1371         directory.
1372
1373 2005-02-09  Doug Rupp  <rupp@adacore.com>
1374
1375         * Makefile.in [VMS] (LN,LN_S): Define as cp -p
1376         Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
1377         [VMS]: Add translations for g-enblsp.adb.
1378
1379         * s-asthan-vms.adb: Removed.
1380         * s-asthan-vms-alpha.adb: Added.
1381
1382 2005-02-09  Pascal Obry  <obry@adacore.com>
1383
1384         * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
1385         (LIBGNAT_OBJS): Add seh_init.o.
1386
1387 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
1388
1389         PR ada/16592
1390
1391         * Makefile.in: Link all gnat tools with -static-libgcc, since
1392         -shared-libgcc is now used by default on some systems (e.g. linux with
1393         recent binutils).
1394         Remove references to Makefile.prolog/generic, no longer used.
1395
1396 2005-02-09  Vincent Celier  <celier@adacore.com>
1397
1398         * prj-makr.adb (Process_Directory): Put file name in canonical case
1399         before matching against the patterns.
1400         If gnatname has been invoked as <prefix>-gnatname
1401         then invoke the compiler as <prefix>-gcc, not just "gcc".
1402
1403 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
1404
1405         * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
1406         with expansion disabled. The actual subtype is needed among other
1407         places when the selected component appears in the context of a loop
1408         bound, and denotes a packed array.
1409         (Operator_Check): Always use the first subtype in the
1410         error message, to avoid the appearance of internal base types.
1411         (Transform_Object_Operation): Copy each actual in full
1412         to the parameter associations of the constructed call, rather than
1413         using the shallow copy mechanism of New_Copy_List. This ensures that
1414         the chaining of named associations is done properly.
1415         (Complete_Object_Operation): Rewrite node, rather than
1416         replacing it, so that we can trace back to the original selected
1417         component.
1418
1419         * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
1420         and calls that use object notation, if the called function is not
1421         declared  in a withed unit, place the elaboration constraint on the
1422         unit in the context that makes the function accessible.
1423         (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
1424         imposes an elaboration constraint between two packages.
1425
1426 2005-02-09  Ed Schonberg  <schonberg@adacore.com>
1427
1428         * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
1429         views of a private type after handling its private dependents, to
1430         maintain proper stack discipline between entry and exit from the
1431         package.
1432
1433 2005-02-09  Cyrille Comar  <comar@adacore.com>
1434
1435         * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
1436         Minor reformatting.
1437
1438 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
1439
1440         * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
1441         fields for foreign threads.
1442
1443 2005-02-09  Doug Rupp  <rupp@adacore.com>
1444
1445         * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
1446         recursion warnings when compiled with -gnatdm.
1447
1448 2005-02-09  Robert Dewar  <dewar@adacore.com>
1449
1450         * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
1451         Slight fix to documentation of -gnaty with no parameters
1452
1453         * xr_tabls.ads: Add ??? comment for missing overall comment
1454
1455         * xsinfo.adb: Make default file name be sinfo.h, since this is what
1456         we now use by default.
1457
1458         * xsnames.adb: Adjust end of file test to look for five space followed
1459         by '#' instead of six spaces. The format of xsnames.adb was modified
1460         in the last update.
1461
1462         * a-numeri.ads: Add reference to AI-388 for greek letter pi
1463         identifier.
1464
1465         * clean.adb: Minor reformatting.
1466
1467         * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
1468         gnatname.adb: Minor reformatting
1469         Add 2005 to copyright output when utility is run
1470
1471         * csets.adb: Eliminate obsolete comment
1472
1473         * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
1474         Update comments.
1475
1476         * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
1477
1478 2005-02-09  Sergey Rybin  <rybin@adacore.com>
1479
1480         * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
1481         the difference between compact and incompact layout and add the record
1482         representation clause to the example illustrating different layouts.
1483         Add the description of '-A5' gnatpp option ("align 'AT' keywords in
1484         component clauses").
1485
1486 2005-02-09  Florian Villoing  <villoing@adacore.com>
1487
1488         * gnat_ugn.texi: Fix typos.
1489         Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
1490         @file.
1491         Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
1492         in the generated documentation.
1493
1494 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
1495
1496         * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
1497         longer supported.
1498         Update linker wrapper when linking with non GNU C++.
1499
1500 2005-02-09  Pascal Obry  <obry@adacore.com>
1501
1502         * gnat_ugn.texi: 
1503         Document the procedure to debug the DllMain routine on Windows.
1504         Add note about -funwind-tables and mixed Ada and C/C++ programming in
1505         ZCX mode.
1506         Document new BIND qualifer /RETURN_CODES=VMS.
1507
1508 2005-02-09  Ben Brosgol  <brosgol@adacore.com>
1509
1510         * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
1511         Edited gnatmetric chapter
1512
1513 2005-02-09  Robert Dewar  <dewar@adacore.com>
1514
1515         * gnat_rm.texi: 
1516         Changes to document new wide wide character support
1517         For AI-285
1518         Update documentation on Normalize_Scalars and Initialize_Scalars
1519
1520 2005-02-09  Pascal Obry  <obry@adacore.com>
1521
1522         * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
1523
1524 2005-02-09  Jose Ruiz  <ruiz@adacore.com>
1525
1526         * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
1527         from the VxWorks kernel) that is needed for getting the active
1528         priority of the different tasks.
1529
1530         * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
1531         Use a pragma Elaborate_Body in the spec file instead.
1532         Noticed by code reading.
1533
1534 2005-02-09  Thomas Quinot  <quinot@adacore.com>
1535
1536         * exp_util.ads: Minor correction in comment.
1537
1538 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
1539
1540         * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
1541         since this procedure is now too complex to be worth inlining.
1542
1543 2005-02-09  Richard Henderson  <rth@redhat.com>
1544
1545         * utils.c (gnat_define_builtin): Remove.
1546         (gnat_install_builtins): Use build_common_builtin_nodes.
1547
1548 2005-02-09  Arnaud Charlet  <charlet@adacore.com>
1549
1550         * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
1551         a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
1552         a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
1553         a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
1554         a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
1555         a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
1556         a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
1557         a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
1558         a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
1559         a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
1560         a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
1561         a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
1562         a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
1563         a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
1564         a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
1565         a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
1566         a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
1567         a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
1568         a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
1569         a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
1570         a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
1571         a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
1572         a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
1573         a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
1574         a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
1575         a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
1576         a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
1577         a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
1578         a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
1579         a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
1580         a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
1581         a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
1582         a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
1583         a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
1584         library.
1585
1586 2005-01-27  Laurent GUERBY <laurent@guerby.net>
1587
1588         * Makefile.in: Fix a-intnam.ads from previous commit,
1589         add 2005 to copyright.
1590         * a-intman-rtems.ads: Renamed to...
1591         * a-intnam-rtems.ads:
1592
1593 2005-01-27  Laurent GUERBY <laurent@guerby.net>
1594
1595         * Makefile.in: Rename GNAT RTEMS specific files.
1596         * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,  
1597         5rosinte.ads, 5rparame.adb: Replaced by files below.
1598         * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
1599         s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
1600
1601 2005-01-27  Joel Sherrill <joel.sherrill@oarcorp.com>
1602             Laurent GUERBY <laurent@guerby.net>
1603
1604         PR ada/19488
1605         * 5rosinte.ads: Add No_Key constant.
1606         * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
1607         * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
1608
1609 2005-01-26  Laurent GUERBY <laurent@guerby.net>
1610
1611         PR ada/19414
1612         * i-cobol.adb (Valid_Numeric): Handle zero length case.
1613         
1614 2005-01-20  Richard Henderson  <rth@redhat.com>
1615
1616         * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
1617         a-intnam-linux.ads and system-linux-alpha.ads.
1618         * a-intnam-linux-alpha.ads: Remove file.
1619         * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
1620         * system-linux-alpha.ads: New file.
1621
1622 2005-01-18  Jakub Jelinek  <jakub@redhat.com>
1623
1624         PR ada/13470
1625         * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
1626         set to the new string.
1627
1628 2005-01-18  Toon Moene  <toon@moene.indiv.nluug.nl>
1629
1630         * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
1631         to True.
1632
1633 2005-01-18  Richard Henderson  <rth@redhat.com>
1634
1635         * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
1636         THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
1637         for alpha-linux.
1638         * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
1639
1640 2005-01-14  Andrew Pinski  <pinskia@physics.uc.edu>
1641
1642         * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
1643         (GCC_ZCX_Support): Likewise.
1644
1645 2005-01-11  Bastian Blank  <waldi@debian.org>
1646
1647         * system-linux-s390.ads: Define Preallocated_Stacks.
1648         * system-linux-s390x.ads: Likewise.
1649
1650 2005-01-04  Arnaud Charlet  <charlet@adacore.com>
1651
1652         * gnat_ugn.texi: Fix texi errors with null variables.
1653
1654 2005-01-03  Thomas Quinot  <quinot@adacore.com>
1655
1656         * gen-soccon.c: New utility program to generate g-soccon.ads
1657         automatically.
1658
1659         * socket.c, gsocket.h: Split inclusion of system header files into a
1660         gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
1661
1662         * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
1663         g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
1664         g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
1665         g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
1666         should not be edited by hand anymore, but should be regenerated using
1667         gen-soccon.
1668
1669 2005-01-03  Robert Dewar  <dewar@adacore.com>
1670             Ed Schonberg  <schonberg@adacore.com>
1671             Vincent Celier  <celier@adacore.com>
1672
1673         * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
1674         on/off, since this is an obsolescent feature, for which we now generate
1675         a warning.
1676
1677         * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
1678         warning mode is set and obsolescent usage of this attribute occurs.
1679         (Resolve_Access, case 'Access): Note that GNAT uses the context type to
1680         disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
1681         predates, and partly motivates, the adoption of the AI.
1682         Implement new Ada 2005 attribute Mod
1683
1684         * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
1685         attribute Mod.
1686
1687         * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
1688
1689         * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
1690         pragma restrictions.
1691         New entry for Ada 2005 attribute Mod.
1692
1693         * par-prag.adb: 
1694         Add recognition of new pragma Restrictions No_Dependence
1695         Recognize restriction No_Obsolescent_Features at parse time
1696
1697         * bcheck.adb: Add circuitry for checking for consistency of
1698         No_Dependence restrictions.
1699
1700         * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
1701         restrictions.
1702
1703         * restrict.ads, restrict.adb: Add subprograms to deal with
1704         No_Dependence restrictions.
1705
1706         * rtsfind.adb: Check that implicit with's do not violate No_Dependence
1707         restrictions.
1708
1709         * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
1710         sem_attr.adb: Add check for new restriction No_Obsolescent_Features
1711
1712         * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
1713         dummy parameter to scng instantiation.
1714         Needed for new restriction No_Obsolescent_Features
1715
1716         * scn.adb: (Obsolescent_Check): New procedure
1717         Needed for new restriction No_Obsolescent_Features
1718
1719         * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
1720         specified by AI-285, needed for implementation of AI-388 (adding greek
1721         pi to Ada.Numerics).
1722         Add new generic formal to scng, needed for new restriction
1723         No_Obsolescent_Features.
1724
1725         * s-rident.ads: Add new restriction No_Obsolescent_Features.
1726
1727         * ali.ads, ali.adb: Adjustments for reading new No_Dependence
1728         restrictions lines.
1729         (Scan_ALI): When finding an unexpected character on an R line, raise
1730         exception Bad_R_Line, instead of calling Fatal_Error, so that, when
1731         Ignore_Errors is True, default restrictions are set and scanning of the
1732         ALI file continues with the next line. Also, when Bad_R_Line is raised
1733         and Ignore_Errors is True, skip to the end of le line.
1734
1735         * sem_ch10.adb: Check that explicit with's do not violate
1736         No_Dependence restrictions.
1737         (Install_Withed_Unit): Add code to implement AI-377 and diagnose
1738         illegal context clauses containing child units of instance.
1739
1740         * sem_prag.adb: Processing and checking for new No_Dependence
1741         restrictions.
1742         (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
1743         analyze and check the External argument.
1744
1745         * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
1746
1747 2005-01-03  Robert Dewar  <dewar@adacore.com>
1748
1749         * atree.adb: Add a fifth component to entities
1750         This allows us to add 32 flags and four new fields
1751
1752         * atree.ads: Add a fifth component to entities
1753         This allows us to add 32 flags and four new fields
1754
1755         * einfo.ads, einfo.adb: Document new fields and new flags now available
1756         Add routines for printing new fields
1757
1758         * treepr.adb: Call routines to print out additional fields if present
1759
1760 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
1761
1762         * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
1763         gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
1764
1765         * Makefile.in: Add support to build shared Ada libraries on solaris x86
1766         Remove gpr2make, replaced by gprmake.
1767         Remove references to gnatmem and libaddr2line.
1768         Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
1769         (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
1770         Add support for specialized version of Ada.Numerics.Aux for Darwin: use
1771         a-numaux-darwin.ads and a-numaux-darwin.adb
1772         Enable mlib-tgt-lynxos.adb on lynxos.
1773
1774         * Make-lang.in: Remove rules for gpr2make.
1775         When generating sdefault.adb, do not call Relocate_Path
1776         on S3 for function Target_Name, as it is not a path.
1777         Remove references to gnatmem and libaddr2line.
1778
1779         * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
1780         files.
1781
1782 2005-01-03  Samuel Tardieu  <tardieu@adacore.com>
1783
1784         * checks.adb (Apply_Alignment_Check): Generate a warning if an object
1785         address is incompatible with its base type alignment constraints when
1786         this can be decided statically.
1787
1788 2005-01-03  Olivier Hainque  <hainque@adacore.com>
1789
1790         * decl.c (compatible_signatures_p): New function. The intended purpose
1791         is to check if two function signatures for a call-site and a callee are
1792         compatible enough for the call to be valid. The underlying purpose is
1793         to check if a call to a mapped builtin is using the right interface.
1794         The current code actually does not check antyhing - this a placeholder
1795         for future refinements.
1796         (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
1797         builtin calls for convention Intrinsic.
1798
1799         * gigi.h (builtin_decl_for): Declare (new function).
1800
1801         * utils.c (gnat_install_builtins): Install the target specific builtins.
1802         (builtin_decl_for): New function, provide a dummy body for now.
1803
1804 2005-01-03  Geert Bosch  <bosch@adacore.com>
1805
1806         * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
1807         (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
1808         (Pred): Implement in terms of Succ.
1809         
1810         * trans.c (convert_with_check): Reimplement conversion of float to
1811         integer.
1812
1813 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
1814             Vincent Celier  <celier@adacore.com>
1815
1816         * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
1817         bounds can be negative, and must be declared Int, not Nat.
1818
1819         * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
1820         array is checked after using the index in the array.
1821
1822         * makegpr.adb (Add_Switches): Check if there is a package for the
1823         processor. If there is no package, do not look for switches.
1824
1825 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
1826
1827         * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
1828         generation of predefined stream operations (specs and bodies) should
1829         proceed. Under various restrictions these subprograms must not be
1830         generated.
1831
1832 2005-01-03  Thomas Quinot  <quinot@adacore.com>
1833
1834         * exp_dist.adb: 
1835         Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
1836         amount of PCS-specific code in RACW stubs generation.
1837         (Copy_Specification): Set Etype on copied formal parameter entities, as
1838         this information is needed for PolyORB stubs generation.
1839         (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
1840         variable Dynamic_Async.
1841         (Build_Subprogram_Receiving_Stubs): Make PCS-specific
1842         (Build_RPC_Receiver_Specification): Make generic again, as recent
1843         changes have allowed RPC receivers to have the same profile for both
1844         variants of the PCS.
1845         Reorganise RPC receiver generation to reduce differences between the
1846         structure of GARLIC and PolyORB RPC receivers.
1847         (Add_Receiving_Stubs_To_Declarations): Make this subprogram
1848         PCS-specific.
1849         Simplify elaboration code for RCI packages.
1850
1851         * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
1852         generation to reduce differences between the structure of GARLIC and
1853         PolyORB RPC receivers.
1854
1855         * s-stratt.adb: Fix typo in comment.
1856
1857 2005-01-03  Thomas Quinot  <quinot@adacore.com>
1858
1859         * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
1860         copied from Make_Init_Call).
1861
1862         * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
1863         reads and assignments on a temporary variable declared with appropriate
1864         discriminants.
1865
1866 2005-01-03  Robert Dewar  <dewar@adacore.com>
1867
1868         * i-c.adb (To_C): Raise CE if string is null and Append_Null
1869
1870 2005-01-03  Robert Dewar  <dewar@adacore.com>
1871
1872         * i-cstrin.adb (Update): Do not append a null in form called with a
1873         String. This avoids unintended behavior.
1874
1875 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
1876
1877         PR ada/17527
1878         * init.c: Fix warnings on Free BSD section.
1879
1880 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
1881
1882         PR ada/16949
1883         * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
1884         xsinfo.adb).
1885
1886 2005-01-03  Vincent Celier  <celier@adacore.com>
1887
1888         * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
1889         libraries when Unique_Compile is True (-u switch).
1890         (Gnatmake): ditto.
1891
1892 2005-01-03  Robert Dewar  <dewar@adacore.com>
1893
1894         * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
1895         upper case letter or underscore after W, as allowed by spec.
1896
1897 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
1898
1899         * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
1900         darwin port by using proper type definitions from header files.
1901         Use SIGTERM instead of SIGABRT for SIGADAABORT.
1902
1903 2005-01-03  Robert Dewar  <dewar@adacore.com>
1904
1905         * par.adb: Enhance error message handling for configuration file
1906         pragmas.
1907
1908 2005-01-03  Robert Dewar  <dewar@adacore.com>
1909
1910         * s-arit64.adb (Double_Divide): Put back changes that got accidentally
1911         removed during the previous update (test properly for case of dividing
1912         largest negative number by -1, which generates overflow).
1913
1914 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
1915             Sergey Rybin  <rybin@adacore.com>
1916
1917         * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
1918         to use as the defining identifier for a formal package.
1919         (Remove_Parent): If the instance takes place within (an instance of)
1920         a sibling, preserve private declarations of common parent.
1921
1922 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
1923
1924         * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
1925         to determine whether one of the operands is a fixed-point type for
1926         which a user-defined multiplication or division operation might be
1927         defined.
1928
1929         * sem_res.adb (Valid_Conversion): The legality rules for conversions
1930         of access types are symmetric in Ada 2005: either designated type can
1931         be unconstrained.
1932
1933 2005-01-03  Vincent Celier  <celier@adacore.com>
1934
1935         * s-fileio.adb (Temp_File_Record): Change length of string component
1936         Name from L_tmpnam + 1 to max_path_len + 1.
1937
1938 2005-01-03  Arnaud Charlet  <charlet@adacore.com>
1939
1940         * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
1941         Self_Id.Deferral_Level = 0.
1942         (Do_Pending_Action): Move this function to the spec.
1943
1944         * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
1945         Do_Pending_Action explicitely when needed, in case we're using
1946         No_Abort restrictions.
1947
1948         * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
1949         deferral level since it will not get changed by the generated code.
1950         Keeping a default value of 1 would prevent some operations (e.g.
1951         select or delay) to proceed successfully.
1952
1953 2005-01-03  Ben Brosgol  <brosgol@adacore.com>
1954             Robert Dewar  <dewar@adacore.com>
1955             Cyrille Comar  <comar@adacore.com>
1956
1957         * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
1958         porting guide chapter (vms version).
1959         Revised doc title (removed "for native platforms") and subtitle.
1960         Add discussion on warning flag for obsolescent features. First we
1961         note that it applies to obsolete GNAT features, which was previously
1962         omitted. Second we contrast the behavior with that of the new
1963         Ada 2005 AI-368 restriction No_Obsolescent_Features.
1964         Preliminary rewriting of GNAT & libraries chapter in order to take
1965         into account default project locations & new project manager
1966         capabilities.
1967
1968 2005-01-03  Robert Dewar  <dewar@adacore.com>
1969
1970         * cstand.adb (Create_Operators): Clean up format and documentation of
1971         unary and binary operator result tables. No change in code, just
1972         reformatting and addition of comments.
1973
1974         * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
1975         sem_ch2.adb: Minor reformatting
1976
1977         * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
1978         sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
1979         comments for Tree_Read and Tree_Write.
1980
1981 2005-01-03  Pascal Obry  <obry@adacore.com>
1982
1983         * exp_attr.ads: Minor reformatting.
1984
1985 2005-01-03  Romain Berrendonner  <berrendo@adacore.com>
1986
1987         * comperr.adb (Compiler_Abort): Add specialized message for GAP
1988         versions.
1989
1990 2005-01-03  Ed Schonberg  <schonberg@adacore.com>
1991
1992         * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
1993         whether the ancestor type is private, as may be the case with nested
1994         instantiations.
1995
1996 2004-12-30  Sohail Somani <sohail@sohailsomani.com>
1997
1998         PR ada/19128
1999         * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
2000
2001 2004-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
2002
2003         * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
2004         * utils2.c (build_unary_op): Likewise.
2005
2006 2004-12-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2007
2008         * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
2009
2010 2004-12-19  Richard Henderson  <rth@redhat.com>
2011
2012         * trans.c (gigi): Update gimplify_body call.
2013
2014 2004-12-09  Nathan Sidwell  <nathan@codesourcery.com>
2015
2016         * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
2017
2018 2004-12-07  Ed Falis  <falis@adacore.com>
2019
2020         * s-intman-vxworks.adb (Notify_Exception): removed useless check for
2021         current task being suspended.
2022
2023         * init.c (__gnat_clear_exception): added to reset VxWorks exception
2024         count.
2025         (__gnat_map_signal): removed test for current task being suspended.
2026
2027 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
2028
2029         * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
2030         from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
2031         targets (such as AAMP).
2032
2033 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
2034
2035         * atree.adb (Visit_Itype): Create a new name for the generated itype,
2036         because the back-end may otherwise treat it as a redefinition of the
2037         old symbol.
2038
2039 2004-12-07  Eric Botcazou  <ebotcazou@adacore.com>
2040
2041         * back_end.adb (Scan_Back_End_Switches): Accept --param.
2042
2043         * lang-specs.h: Accept --param.
2044
2045 2004-12-07  Vincent Celier  <celier@adacore.com>
2046
2047         * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
2048         package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
2049         Current_Body_Suffix => Ada_Body_Suffix).
2050         Take into account Externally_Built attribute.
2051
2052         * clean.adb (In_Extension_Chain): Always return False when one of the
2053         parameter is No_Project.
2054         (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
2055         Ada_Language_Index).
2056         (Gnatclean): Adapt to change in package Prj.Pars (no parameter
2057         Process_Languages for procedure Parse).
2058
2059         * gnatcmd.adb (Carg_Switches): New table.
2060         (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
2061         Adapt to name changes in package Prj (Current_Spec_Suffix =>
2062         Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
2063
2064         * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
2065         Header_Num and function Hash are now declared in package Prj,
2066         not Prj.Com.
2067
2068         * prj.adb (Suffix_Of): New function.
2069         (Set (Suffix)): New procedure.
2070         (Hash): One function moved from Prj.Com
2071         (Is_Present, Language_Processing_Data_Of): New functions
2072         (Set): Two new procedures
2073         (Add_Language_Name, Display_Language_Name): New procedures
2074
2075         * prj.ads: (Suffix_Of): New function
2076         (Set (Suffix)): New procedure
2077         Add several types and tables for multi-language support.
2078         (Header_Num): Type moved from Prj.Com
2079         (Hash): Two functions moved from Prj.Com
2080         (Is_Present, Language_Processing_Data_Of): New functions
2081         (Set): Two new procedures
2082         (Add_Language_Name, Display_Language_Name): New procedures
2083         (Naming): Component name changes:
2084         Current_Spec_Suffix => Ada_Spec_Suffix,
2085         Current_Body_Suffix => Ada_Body_Suffix. Add new components:
2086         Impl_Suffixes, Supp_Suffixes.
2087         (Project_Data): New components: Externally_Built, Supp_Languages,
2088         First_Language_Processing, Supp_Language_Processing, Default_Linker,
2089         Default_Linker_Path.
2090
2091         * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
2092         new package Language_Processing with its attributes (Compiler_Driver,
2093         Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
2094         Binder_Driver, Default_Linker).
2095
2096         * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
2097         (Header_Num): Type moved to package Prj
2098
2099         * prj-env.adb: Adapt to name changes in package Prj
2100         (Current_Spec_Suffix => Ada_Spec_Suffix,
2101         Current_Body_Suffix => Ada_Body_Suffix).
2102
2103         * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
2104         default to the project path, except the "-" is one of the directories
2105         in env var ADA_PROJECT_PATH.
2106         (Current_Project_Path): Global variable, replacing Project_Path
2107         that was in the body of Prj.Part.
2108         (Project_Path): New function
2109         (Set_Project_Path): New procedure
2110         Initialize Current_Project_Path during elaboration of the package
2111         Remove dependency on Prj.Com, no longer needed
2112
2113         * prj-ext.ads (Project_Path): New function
2114         (Set_Project_Path): New procedure
2115
2116         * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
2117         suffix is defined for language <lang>.
2118         (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
2119         accessing directly the components of Naming.
2120         (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
2121         Reorganise of this package.
2122         Break procedure Check in several procedures.
2123
2124         * prj-nmsc.ads: Replace all procedures (Ada_Check,
2125         Other_Languages_Check and Language_Independent_Check) with a single
2126         procedure Check.
2127
2128         * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
2129         Process_Languages, no longer needed.
2130
2131         * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
2132         Current_Project_Path.
2133         Remove elaboration code, moved to the body of Prj.Ext
2134         Use new function Prj.Ext.Project_Path instead of old variable
2135         Project_Path.
2136         (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
2137         When comparing with project paths on the stack, first put the resolved
2138         path in canonical case.
2139         (Parse_Single_Project): Set the path name of the project file in the
2140         tree to the normalized path.
2141
2142         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
2143         parameter Process_Languages, no longer needed.
2144         (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
2145         Other_Languages_Check.
2146
2147         * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
2148         to store the resolved canonical path of the project file.
2149         Remove dependency to Prj.Com, no longer needed
2150
2151         * prj-util.adb: Adapt to name changes in package Prj
2152         (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
2153         Ada_Body_Suffix).
2154
2155         * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
2156         Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
2157         Externally_Built, Include_Option, Language_Processing.
2158
2159         * makegpr.adb: Numerous changes due to changes in packages
2160         Prj and Prj.Nmsc.
2161
2162         * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
2163         default to the project path, except whe "-" is one of the directories
2164         in env var ADA_PROJECT_PATH.
2165         (Gnatls): In verbose mode, add the new section "Project Search Path:"
2166
2167 2004-12-07  Robert Dewar  <dewar@adacore.com>
2168
2169         * debug.adb: Document that -gnatdA automatically sets -gnatR3m
2170
2171         * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
2172         set -gnatR3m mode.
2173
2174         * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
2175         flag. No longer needed now that we handle this in gnat1drv.adb.
2176
2177         * repinfo.ads: Minor reformatting
2178
2179 2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2180             Olivier Hainque  <hainque@adacore.com>
2181             Eric Botcazou  <ebotcazou@adacore.com>
2182
2183         * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
2184         TYPE_SIZE_UNIT of result type if SIZE is not specified.
2185         (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
2186         of a bitfield, which we know is useless and causes trouble because of
2187         alignment implications.
2188
2189         * utils.c (create_var_decl): Set DECL_COMMON again on targets without
2190         BSS sections.
2191         (process_attributes): Clear DECL_COMMON again when a section attribute
2192         is present.
2193         (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
2194         SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
2195         (create_field_decl): Special case ADDRESSABLE negative to mean
2196         "no bitfield creation", to be used by make_aligning_type. Don't
2197         restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
2198         fields claimed addressable still have to be bitfields. Use
2199         value_factor_p instead of a raw binop construction to check for the
2200         position's alignment.
2201
2202 2004-12-07  Geert Bosch  <bosch@adacore.com>
2203
2204         * eval_fat.adb: Revert previous change.
2205
2206 2004-12-07  Thomas Quinot  <quinot@adacore.com>
2207             Ed Schonberg  <schonberg@adacore.com>
2208
2209         * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
2210         with an implicit dereference as its prefix, use
2211         Insert_Explicit_Dereference instead of merely rewriting the prefix into
2212         an explicit dereference. This ensures that a reference to the original
2213         prefix is generated, if appropriate.
2214
2215         * sem_util.adb (Insert_Explicit_Dereference): When an implicit
2216         dereference is rewritten to an explicit one, generate a reference to
2217         the entity denoted by its prefix using the original prefix node, so
2218         the dereference can be properly recorded as a read of the denoted
2219         access value, if appropriate.
2220
2221         * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
2222         emitting 'assigned but never read' warning on a variable on the basis
2223         that it has an access type.
2224         (Check_References): Emit unreferenced warning when the scope is a
2225         subprogram body.
2226
2227 2004-12-07  Robert Dewar  <dewar@adacore.com>
2228             Ed Schonberg  <schonberg@adacore.com>
2229
2230         * exp_ch6.adb (Expand_Call): Add comment on handling of back end
2231         intrinsic
2232
2233         * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
2234         leaving call unchanged.
2235         This deals with the case where the pragma Import specified
2236         an external name, to be handled by the back end.
2237
2238         * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
2239         subprogram which is Imported with convention Intrinsic if an
2240         External_Name argument is specified.
2241         (Process_Import_Or_Interface): Properly diagnose link name argument.
2242         (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
2243         with Sem_Ch6.Cannot_Inline.
2244         (Process_Inline): Provide separate warning for inapplicable inline
2245         pragma.
2246         (Cannot_Inline): Reject subprograms that have an at_end handler, so that
2247         treatment is uniform on different targets.
2248
2249 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
2250
2251         * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
2252         construct is rewritten, preserve end label to permit source navigation.
2253
2254 2004-12-07  Thomas Quinot  <quinot@adacore.com>
2255
2256         * exp_dist.adb (Specific_Build_General_Calling_Stubs,
2257         Specific_Build_Stub_Target): New subprograms.
2258         (Build_Subprogram_Calling_Stubs): Make this procedure independent from
2259         the PCS implementation used, using the above PCS-customized subprograms.
2260         Minor reformatting.
2261         (PolyORB_Support.Helpers): New subunit containing supporting subprograms
2262         for generation of DSA code targeted to the PolyORB PCS.
2263         (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
2264         implementation of the partition communication subsystem in ancillary
2265         subprograms.
2266         (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
2267         PolyORB_Support.Build_Stub_Type): New subrograms containing the
2268         PCS-specific part of Add_Stub_Type.
2269         (Insert_Partition_Check): Use runtime library function to perform
2270         E.4(19) check.
2271
2272         * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
2273         (RE_Same_Partition): New entity, from s-parint.
2274
2275         * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
2276
2277 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
2278
2279         * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
2280         Output the copyright message on a separate line from the version
2281         message.
2282
2283 2004-12-07  Joel Brobecker  <brobecker@adacore.com>
2284
2285         * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
2286         compile-time warning.
2287
2288 2004-12-07  Robert Dewar  <dewar@adacore.com>
2289
2290         * g-regpat.adb: (Match): Change a misuse of or to or else
2291
2292 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
2293
2294         * lib-xref.adb:
2295         (Generate_Reference): Handle properly a reference to an entry formal,
2296          when an accept statement has a pragma Unreferenced for it.
2297
2298         * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
2299         and the Has_Pragma_Unreferenced flag for each formal before analyzing
2300         the body, to ensure that warnings are properly emitted for each accept
2301         statement of a given task entry.
2302
2303 2004-12-07  Vasiliy Fofanov  <fofanov@adacore.com>
2304
2305         * Makefile.in: Add support for foreign threads on VMS.
2306
2307 2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2308
2309         * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
2310         Remove.
2311         (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
2312
2313         * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
2314
2315         * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
2316         exception.
2317         (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
2318
2319 2004-12-07  Robert Dewar  <dewar@adacore.com>
2320
2321         * nlists.adb (Prepend_Debug): Remove parameters and nest within
2322         Prepend.
2323         (Remove_Next_Debug): Same fix
2324
2325         * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
2326         maintain back pointers now, though we did not used to, and comments
2327         were out of date).
2328         (Prepend): Remove pragma Inline.
2329         (Remove_Next): Same cleanup
2330
2331 2004-12-07  Thomas Quinot  <quinot@adacore.com>
2332
2333         * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
2334         used to record an implicit dereference as a read operation on its
2335         prefix when operating under -gnatc. Necessary to avoid spurious
2336         'variable assigned but never read' warnings in that mode.
2337         (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
2338         is a non-overloaded implicit dereference, call the above subprogram to
2339         ensure proper recording of references.
2340
2341 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
2342
2343         * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
2344         to be resolved later as part of Analyze_Iteration_Scheme's call to
2345         Make_Index.
2346
2347 2004-12-07  Ed Schonberg  <schonberg@adacore.com>
2348
2349         * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
2350         prefix is not a scalar type, place error message on prefix, not on
2351         type entity.
2352
2353 2004-12-07  Bernard Banner  <banner@adacore.com>
2354
2355         * vxaddr2line.adb: Add support for x86 vxworks
2356
2357 2004-12-07  Thomas Quinot  <quinot@adacore.com>
2358
2359         * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
2360         documentation of the behaviour of these functions when passed an IP
2361         address that has no record in the system hosts database and no reverse
2362         record in the DNS.
2363
2364         * cstand.adb, a-tags.ads: Fix typos in comment.
2365
2366 2004-12-07  Robert Dewar  <dewar@adacore.com>
2367
2368         * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
2369         exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
2370         sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
2371         s-poosiz.ads: Minor reformatting
2372
2373         * make.adb: Minor reformatting
2374         Add some ??? comments asking for more comments
2375
2376         * s-poosiz.adb: Minor reformatting
2377         Add comments on alignment requirement
2378
2379         * sinfo.ads: Remove obsolete comment and fix typo.
2380
2381 2004-12-07  Vincent Celier  <celier@adacore.com>
2382             Sergey Rybin  <rybin@adacore.com>
2383
2384         * gnat_ugn.texi: Update the section "The GNAT Driver and Project
2385         Files" with the new tool and package names.
2386         Reformatting to suppress most of the warnings for line too long
2387         Document the new section "Project Search Path:" in the output of
2388         gnatls -v.
2389         Add gnatmetric section
2390
2391 2004-12-07  Vincent Celier  <celier@adacore.com>
2392
2393         * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
2394         -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
2395         and -eit to -ept. Added qualifier
2396         /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
2397
2398 2004-11-27  Andreas Schwab  <schwab@suse.de>
2399
2400         * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
2401
2402 2004-11-25  Arnaud Charlet  <charlet@adacore.com>
2403
2404         * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
2405         internal implementation unit GNAT.Sockets.Thin,
2406         as their usage for sockets is non-portable (using the read and write
2407         functions from the system runtime library is fine on UNIX but won't
2408         work under Windows).
2409
2410         * mingw32.h: Update copyright notice.
2411
2412 2004-11-25  Arnaud Charlet  <charlet@adacore.com>
2413
2414         * ada-tree.h: Minor reformatting of previous change to avoid lines
2415         longer than 79 characters.
2416
2417 2004-11-25  Olivier Hainque  <hainque@adacore.com>
2418
2419         * tb-gcc.c: GCC infrastructure based implementation of
2420         __gnat_backtrace.
2421
2422 2004-11-24  Steven Bosscher  <stevenb@suse.de>
2423
2424         * misc.c (gnat_post_options): Don't clear
2425         flag_inline_functions.
2426
2427 2004-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
2428
2429         PR ada/17986
2430         * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
2431         tree.
2432
2433 2004-11-21  Andreas Jaeger  <aj@suse.de>
2434
2435         * stylesw.adb: Change Style_Check_Subprogram_Order to
2436         Style_Check_Order_Subprograms.
2437
2438 2004-11-18  Arnaud Charlet  <charlet@adacore.com>
2439
2440         * adaint.h, adaint.c
2441         (__gnat_portable_spawn): Fix cast of spawnvp third parameter
2442         to avoid warnings.
2443         Add also a cast to kill another warning.
2444         (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
2445         parameter with the priority class of the parent process instead of
2446         always using the NORMAL_PRIORITY_CLASS.
2447         (__gnat_dup): New function.
2448         (__gnat_dup2): New function.
2449         (__gnat_is_symbolic_link): Enable the effective body of this
2450         function when __APPLE__ is defined.
2451
2452         * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
2453         Update comments.
2454
2455 2004-11-18  Olivier Hainque  <hainque@adacore.com>
2456
2457         * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
2458         address of which may be used to represent "others" and "all others"
2459         choices in exception tables, instead of the current harcoded
2460         (void *)0 and (void *)1.
2461         (Setup_Exception): Do nothing in the GNAT SJLJ case.
2462
2463         * gigi.h (others_decl, all_others_decl): New decls representing the
2464         new Others_Value and All_Others_Value objects.
2465         (struct attrib): Rename "arg" component as "args", since GCC expects a
2466         list of arguments in there.
2467
2468         * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
2469         corresponding objects exported by a-exexpr, instead of hardcoded dummy
2470         addresses.
2471
2472         * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
2473         others_decl and all_others_decl instead of hardcoded dummy addresses
2474         to represent "others" and "all others" choices, which is cleaner and
2475         more flexible with respect to the possible eh pointer encoding policies.
2476
2477         * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
2478         (process_attributes): Account for the naming change of the "args"
2479         attribute list entry component.
2480
2481         * decl.c (build_attr_list): Rename into prepend_attributes to allow
2482         cumulating attributes for different entities into a single list.
2483         (gnat_to_gnu_entity): Use prepend_attributes to build the list of
2484         attributes for the current entity and propagate first subtype
2485         attributes to other subtypes.
2486         <E_Procedure>: Attribute arguments are attr->args and not
2487         attr->arg any more.
2488         (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
2489         argument provided, as this is what GCC expects. Use NULL_TREE instead
2490         of 0 for trees.
2491
2492 2004-11-18  Robert Dewar  <dewar@adacore.com>
2493
2494         * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
2495         Minor reformatting througout (including new function specs)
2496         Add ??? comments asking for clarification.
2497
2498 2004-11-18  Thomas Quinot  <quinot@adacore.com>
2499
2500         * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
2501         incomplete duplicate implementation of this subprogram from butil.
2502
2503 2004-11-18  Thomas Quinot  <quinot@adacore.com>
2504
2505         * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
2506         procedures factors the common processing for building an RPC receiver
2507         for an RCI package or an RACW type.
2508         Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
2509         Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
2510         (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
2511         in use.
2512         (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
2513         Add_RACW_Features.
2514         (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
2515         Add_RAST_Features.
2516         (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
2517         distribution subprogram identifiers that are either subprogram numbers
2518         or strings.
2519         (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
2520         string distribution identifiers assigned to a given subprogram.
2521         (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
2522         (Add_RAS_Dereference_TSS): Add comments.
2523         (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
2524         is not referenced yet because it will be used by the PolyORB DSA
2525         implementation.
2526         (Insert_Partition_Check): Remove fossile code.
2527         (First_RCI_Subprogram_Id): Document this constant.
2528         (Add_RAS_Access_TSS): Correct the setting of the Etype of the
2529         RAS_Access TSS.
2530         (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
2531         replaced with calls to Get_Library_Unit_Name_String. Previously there
2532         were several instances of the same code in different locations in the
2533         compiler; this checkin completes the replacement of all of these
2534         instances with calls to a common subprogram.
2535         Minor reformatting.
2536
2537         * sem_dist.adb: Remove comment noting that RPC receiver generation
2538         should be disabled for RACWs that implement RASs.
2539         (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
2540
2541         * sem_util.ads, sem_util.adb (Has_Stream): New function
2542         (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
2543         qualified name of a library unit into the name buffer.
2544         (Note_Possible_Modification): Generate a reference only
2545         if the context comes from source.
2546
2547         * snames.ads (PCS_Names): New subtype corresponding to names of
2548         supported implementations of the Partition Communication Subsystem
2549         (PCS) (i.e. the runtime library support modules for the distributed
2550         systems annex).
2551
2552 2004-11-18  Robert Dewar  <dewar@adacore.com>
2553             Ed Schonberg  <schonberg@adacore.com>
2554
2555         * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
2556         (Has_Rep_Pragma): New function
2557         (Has_Attribute_Definition_Clause): New function
2558         (Record_Rep_Pragma): Moved here from sem_ch13.adb
2559         (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
2560
2561         * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
2562
2563         * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
2564         (Expand_Pragma_Psect_Object): New procedure
2565         These procedures contain the revised and cleaned up processing for
2566         these two pragmas. This processing was formerly in Sem_Prag, but
2567         is more appropriately moved here. The cleanup involves making sure
2568         that the pragmas are properly attached to the tree, and that no
2569         nodes are improperly shared.
2570
2571         * sem_prag.adb: Move expansion of Common_Object and Psect_Object
2572         pragmas to Exp_Prag, which is more appropriate.
2573         Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
2574         check for duplicates Remove use of Is_Psected flag, no longer needed.
2575         Use new Make_String_Literal function with string.
2576
2577         * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
2578         that are functions return universal values, that have to be converted
2579         to the context type.
2580         Use new Make_String_Literal function with string.
2581         (Get_Stream_Convert_Pragma): New function, replaces the use of
2582         Get_Rep_Pragma, which had to be kludged to work in this case.
2583
2584         * freeze.adb: Use new Has_Rep_Pragma function
2585
2586         * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
2587         function with string.
2588         Use new Has_Rep_Pragma function.
2589
2590         * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
2591         string argument.
2592
2593 2004-11-18  Robert Dewar  <dewar@adacore.com>
2594
2595         * errout.ads, errout.adb: (First_Sloc): New function
2596
2597         * par-ch5.adb (P_Condition): Check for redundant parens is now a style
2598         check (-gnatyx) instead of being included as a redundant construct
2599         warning.
2600
2601         * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
2602         Style_Check_Order_Subprograms.
2603
2604         * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
2605         stylesw.adb: Add Style_Check_Xtra_Parens
2606
2607         * usage.adb: Add line for -gnatyx (check extra parens)
2608
2609         * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
2610
2611 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
2612             Robert Dewar  <dewar@adacore.com>
2613
2614         * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
2615         discriminant of a constrained subtype, analyze the copy of the
2616         corresponding constraint, because in some cases it may be only
2617         partially analyzed.
2618         Removes long-lived ??? comments.
2619
2620         * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
2621         handled controlled or secondary-stack expressions within the
2622         iteration_scheme of a loop.
2623
2624         * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
2625         bounds that may contain functions calls, to prevent memory leaks when
2626         the bound contains a call to a function that uses the secondary stack.
2627         (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
2628         generate temporaries for loop bounds that might contain function calls
2629         that require secondary stack and/or finalization actions.
2630
2631         * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
2632         selected component and the selector is overloadable (not just a
2633         function) treat as function call, Analyze_Call will disambiguate if
2634         necessary.
2635         (Analyze_Selected_Component): Do not generate an actual subtype for the
2636         selected component if expansion is disabled. The actual subtype is only
2637         needed for constraint checks.
2638         (Analyze_Allocator): If restriction No_Streams is set, then do
2639         not permit objects to be declared of a stream type, or of a
2640         composite type containing a stream.
2641
2642         * restrict.ads: Remove the a-stream entry from Unit_Array, since
2643         No_Streams no longer prohibits with'ing this package.
2644
2645         * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
2646         discriminants, but the parent base has unknown discriminants, there is
2647         no discriminant constraint to inherit. Such a discrepancy can arise
2648         when the actual for a formal type with unknown discriminants is a
2649         similar private type whose full view has discriminants.
2650         (Analyze_Object_Declaration): If restriction No_Streams is set, then
2651         do not permit objects to be declared of a stream type, or of a
2652         composite type containing a stream.
2653
2654 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
2655
2656         * exp_dbug.ads: Update documentation to reflect simpler encoding for
2657         protected operations.
2658
2659         * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
2660         generated name, it complicates decoding in gdb and hinders debugging
2661         of protected operations.
2662         (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
2663         flag for the protected entry barrier function.
2664         (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
2665         flag for the protected entry function.
2666
2667 2004-11-18  Nicolas Setton  <setton@adacore.com>
2668
2669         * expect.c: Define __unix__ when __APPLE__ is defined.
2670
2671         * Makefile.in: Inform the value of the variable GMEM_LIB in the
2672         Darwin-specific section.
2673
2674         * lang-specs.h: Change the placement of the %1 marker.
2675         Works around the fact that gcc adds -fPIC by default under Darwin.
2676
2677 2004-11-18  Ed Schonberg  <schonberg@adacore.com>
2678
2679         * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
2680         type of the object with the packed array type, set the Analyzed flag
2681         on the object if it is an entity or simple indexed component, to avoid
2682         spurious type errors.
2683
2684 2004-11-18  Gary Dismukes  <dismukes@adacore.com>
2685
2686         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
2687         gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
2688         separate line from the version message.
2689
2690 2004-11-18  Ed Falis  <falis@adacore.com>
2691
2692         * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
2693         vthreads.
2694         (init_float): Eliminate initialization of floating point status for
2695         AE653. The instructions have no effect for vThreads.
2696
2697 2004-11-18  Vincent Celier  <celier@adacore.com>
2698
2699         * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
2700         gnatbind is invoked with -shared.
2701
2702 2004-11-18  Jose Ruiz  <ruiz@adacore.com>
2703
2704         * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
2705         for Detect_Blocking which is redundant with the check done within the
2706         procedure Protected_Single_Entry_Call.
2707         (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
2708         Detect_Blocking which is redundant with the check done within the
2709         procedure Protected_Single_Entry_Call.
2710
2711 2004-11-18  Vincent Celier  <celier@adacore.com>
2712
2713         * makegpr.adb (Compile): Put the compiling switches (in package
2714         Compiler and on the command line) immediately after "-c", instead of
2715         at the end of the command line invocation of the compiler, when
2716         compiling a non-Ada file.
2717         (Build_Global_Archive): When there is no need to rebuild the archive,
2718         set Global_Archive_Exists, so that the archive is passed to the linker
2719         if one is needed.
2720
2721 2004-11-18  Robert Dewar  <dewar@adacore.com>
2722             Sergey Rybin  <rybin@adacore.com>
2723
2724         * gnat_ugn.texi:
2725         Remove extra paren check from list of checks for redundant constructs
2726         Add documentation of new -gnatyx style check (check extra parens)
2727         Remove paragraph about gnatelim debug options.
2728
2729         * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
2730         objects rather than forbidding dependencies on the package Ada.Streams.
2731
2732         * sinfo.ads: Add ??? note that we should document pragmas passed to
2733         back end.
2734
2735         * g-expect.ads: Fix a few typos in the comments.
2736
2737 2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
2738
2739         * misc.c (gnat_handle_option): Use %< and %> for quoting in
2740         warning message.
2741
2742 2004-11-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2743
2744         * a-numaux-x86.adb (Tan): Fix fdivp syntax.
2745
2746 2004-11-07  Andreas Schwab  <schwab@suse.de>
2747
2748         * Makefile.in (install-gnatlib): Remove spurious hyphen.
2749
2750 2004-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
2751
2752         PR ada/18228
2753         * Makefile.in (darwin): Set soext to .dylib.
2754
2755 2004-10-26  Vincent Celier  <celier@gnat.com>
2756             Thomas Quinot   <quinot@act-europe.fr>
2757
2758         * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
2759         (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
2760         there is no use of GNAT.Sockets.Constants.
2761         Remove remaining pragma Import for C_Write
2762         Remove C_Read and C_Write from internal implementation unit
2763         GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
2764         the read and write functions from the system runtime library is fine
2765         on UNIX but won't work under Windows).
2766
2767         * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
2768         (Check_Selector): Use C_Recv instead of C_Read.
2769         Selectors are the GNAT.Sockets abstraction to perform a select()
2770         call on a set of descriptors. To allow abortion of an ongoing
2771         select operation, some data is written to a dedicated socket that
2772         is always monitored.
2773         Under Windows, the write and read library functions cannot operate
2774         on sockets, so we need to use send and recv instead, which is portable
2775         across all supported platforms.
2776
2777         * g-socthi.ads: Remove C_Read and C_Write from internal implementation
2778         unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
2779         (using the read and write functions from the system runtime library is
2780         fine on UNIX but won't work under Windows).
2781
2782 2004-10-26  Nicolas Setton  <setton@act-europe.fr>
2783
2784         * mlib-tgt-darwin.adb: New file.
2785
2786         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
2787         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
2788         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
2789         mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
2790         subprogram body.
2791
2792         * Makefile.in: Add support for building shared libraries under Darwin.
2793         (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
2794         the low level EH init subprogram to be called from __gnat_initialize.
2795
2796         * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
2797         indicates which options to pass to the archive indexer.
2798
2799         * mlib-utl.adb: Add support for calling ranlib with additional
2800         options. This is needed for instance under Mac OS X.
2801         (Ranlib_Options): New global variable, used to store the potential
2802         options to pass to ranlib.
2803         (Ar): Use Ranlib_Options when spawning ranlib.
2804         (Initialize): Set the value of ranlib option.
2805
2806 2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
2807
2808         * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
2809         instead of 8K, to reflect the real potential needs for stack-checking
2810         in the ZCX case.
2811
2812 2004-10-26  Pascal Obry  <obry@gnat.com>
2813
2814         * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
2815
2816         * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
2817         Windows only the initial thread stack size can be set so it is good to
2818         start we a low stack size.
2819         The OS will adjust the size as needed.
2820
2821 2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
2822             Nicolas Setton  <setton@act-europe.fr>
2823
2824         * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
2825         "__unix__" instead of "unix".
2826         The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
2827         sections were just mistakenly ignored. The former is
2828         implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
2829         Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
2830         of hpux. This prevents an unwanted definition of the symbol
2831         convert_addresses in adaint.o.
2832
2833 2004-10-26  Gary Dismukes  <dismukes@gnat.com>
2834
2835         * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
2836         compatibility with type Unwind_Word on 16-bit targets such as AAMP.
2837
2838 2004-10-26  Cyrille Comar  <comar@act-europe.fr>
2839
2840         * a-filico.ads, a-filico.adb: fix incorrect header.
2841
2842 2004-10-26  Javier Miranda  <miranda@gnat.com>
2843
2844         * a-ststio.ads: Fix typo in identifier
2845
2846 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
2847
2848         * sem_ch4.adb: Minor reformatting.
2849
2850 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
2851
2852         * checks.adb (Expr_Known_Valid): If floating-point validity checks are
2853         enabled, check the result of unary and binary operations when the
2854         expression is the right-hand side of an assignment.
2855
2856 2004-10-26  Vincent Celier  <celier@gnat.com>
2857
2858         * clean.adb (Delete): Do not output warnings when in quiet output and
2859         not in verbose mode.
2860         (Force_Deletions): New Boolean flag, defaulted to False
2861         (Delete): Only delete a file if it is writable, and when
2862         Force_Deletions is True.
2863         (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
2864         (Usage): Line for new switch -f
2865         (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
2866         own.
2867
2868 2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
2869
2870         * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
2871         JM type only if its size matches that of the wrapper.  When a size is
2872         prescribed and the field is not aliased, remove the wrapper of a JM
2873         type only if the size is not greater than that of the packed array.
2874         (gnat_to_gnu_entity): Change the extension of packed array wrappers
2875         from LJM to JM.
2876
2877 2004-10-26  Geert Bosch  <bosch@gnat.com>
2878
2879         * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
2880         (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
2881         (Pred): Implement in terms of Succ.
2882
2883 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
2884
2885         * exp_aggr.adb (Safe_Component): An aggregate component that is an
2886         unchecked conversion is safe for in-place use if the expression of the
2887         conversion is safe.
2888         (Expand_Array_Aggregate): An aggregate that initializes an allocator may
2889         be expandable in place even if the aggregate does not come from source.
2890         (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
2891         designated object of an allocator in place, rather than building it
2892         first on the stack. The previous scheme forces a full copy of the array,
2893         and may be altogether unsusable if the size of the array is too large
2894         for stack allocation.
2895
2896 2004-10-26  Robert Dewar  <dewar@gnat.com>
2897
2898         * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
2899         compares if the component is atomic.
2900
2901         * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
2902         array assignment if the component type is atomic.
2903
2904 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
2905             Eric Botcazou  <ebotcazou@act-europe.fr>
2906
2907         * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
2908         is aliased and is a by_reference type, do not pass by copy.
2909         (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
2910         detect whether the call is in the right side of an assignment or
2911         the expression of an object declaration.  Recurse on component
2912         association within aggregates.
2913         Call it in the condition that determines whether the temporary is
2914         necessary for correct stack-checking.
2915
2916 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
2917
2918         * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
2919         RACW_Type, used in the PolyORB version.
2920         Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
2921         version and the GARLIC version.
2922
2923         * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
2924         Rename RCI_Info to RCI_Locator for better consistency between the
2925         GARLIC and PolyORB versions of the distributed systems annex.
2926         (DSA_Implementation_Name): This enumeration lists the possible
2927         implementations of the Partition Communication Subsystem for the
2928         Distributed Systems Annex (DSA). The three available implementations
2929         are the dummy stub implementation (No_DSA), and two versions based on
2930         two different distribution runtime libraries: GARLIC and PolyORB. Both
2931         the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
2932         technology.
2933         Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
2934         that organization.
2935
2936         * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
2937         between the GARLIC and PolyORB versions of the distributed systems
2938         annex.
2939         Remove RE_Unbounded_Reclaim_Pool since it is unused.
2940
2941 2004-10-26  Gary Dismukes  <dismukes@gnat.com>
2942
2943         * gnat1drv.adb: Suppress calling the back end when
2944         Frontend_Layout_On_Target is true.
2945
2946 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
2947
2948         * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
2949         Set_Read_Only): New subprograms.
2950         These new routines allow the user to set or unset the Owner execute
2951         and Owner write permission flags on a file.
2952
2953         * makegpr.adb, mlib.adb, mlib-prj.adb: Use
2954         GNAT.OS_Lib.Set_Executable instead of rolling our own.
2955
2956 2004-10-26  Matthew Gingell  <gingell@gnat.com>
2957
2958         * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
2959
2960 2004-10-26  Pascal Obry  <obry@gnat.com>
2961
2962         * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
2963         memory before the faulting page we properly test the process read
2964         access for this address using appropriate Win32 routine.
2965         (HPUX sections): guard with "__hpux__" instead of "hpux".
2966
2967 2004-10-26  Robert Dewar  <dewar@gnat.com>
2968
2969         * lib-xref.adb (Generate_Reference): Don't complain about reference to
2970         entry parameter if pragma Unreferenced set, since we do not properly
2971         handle the case of multiple parameters.
2972
2973 2004-10-26  Vincent Celier  <celier@gnat.com>
2974
2975         * prj-env.adb: (Contains_ALI_Files): New Boolean function
2976         (Ada_Objects_Path.Add): For a library project, add to the object path
2977         the library directory only if there is no object directory or if the
2978         library directory contains ALI files.
2979         (Set_Ada_Paths.Add.Recursive_Add): Ditto
2980
2981 2004-10-26  Vincent Celier  <celier@gnat.com>
2982
2983         * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
2984         extension of library projects.
2985
2986         * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
2987         path defaults to ".:<prefix>/lib/gnat".
2988         (Parse): For an extending all project, allow direct import of a project
2989         that is virtually extended.
2990
2991         * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
2992         the specified name is directly imported, return its ID. Otherwise, if
2993         an extension of this project is imported, return the ID of the
2994         extension.
2995
2996 2004-10-26  Robert Dewar  <dewar@gnat.com>
2997
2998         * s-arit64.adb: (Le3): New function, used by Scaled_Divide
2999         (Sub3): New procedure, used by Scaled_Divide
3000         (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
3001         correct more than one instance of failure to propagate carries
3002         correctly.
3003         (Double_Divide): Handle overflow case of largest negative number
3004         divided by minus one.
3005
3006         * s-arit64.ads (Double_Divide): Document that overflow can occur in
3007         the case of a quotient value out of range.
3008         Fix comments.
3009
3010 2004-10-26  Robert Dewar  <dewar@gnat.com>
3011
3012         * s-bitops.adb (Bit_Eq): Remove redundant check.
3013
3014         * s-bitops.ads: Minor comment updates
3015         Change some occurrences of Address to System.Address
3016
3017         * s-carsi8.ads: Fix minor cut-and-paste error in comments
3018
3019 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3020
3021         * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
3022         accessibility check to prefix that is a protected operation.
3023
3024 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3025
3026         * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
3027         empty, post message on stub.
3028
3029 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3030             Javier Miranda  <miranda@gnat.com>
3031
3032         * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
3033         current instance appears within a unit that is directly in the context
3034         of the main unit.
3035         Used to determine whether the body of the instance should be analyzed
3036         immediately after its spec, to make its subprogram bodies available
3037         for front-end inlining.
3038         (Analyze_Formal_Array_Type): Cleanup condition that checks that range
3039         constraint is not allowed on the component type (AARM 12.5.3(3))
3040
3041 2004-10-26  Cyrille Comar  <comar@act-europe.fr>
3042
3043         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
3044         'Storage_Pool): enhance, document & limit detection of non-sharable
3045         internal pools.
3046
3047         * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
3048
3049         * s-pooglo.ads: Add more documentation now that this pool is properly
3050         documented.
3051
3052 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3053
3054         * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
3055         or protected type with discriminants, do not constrain the
3056         corresponding record type if the subtype declaration has no
3057         discriminant constraints. This can be the case in source code, or in
3058         the subtype declaration created to rename an actual type within an
3059         instantiation.
3060
3061 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3062
3063         * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
3064         different kind of stub (possibly wrong name for file), do not check
3065         for conformance.
3066         (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
3067         includes call to some function that returns an unconstrained type, do
3068         not inline.
3069
3070 2004-10-26  Ed Schonberg  <schonberg@gnat.com>
3071
3072         * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
3073         appear in the code for the main unit. Dependencies among units in the
3074         context of the main unit are established when those other units are
3075         compiled. Otherwise spurious elaboration constraints can generate
3076         incorrect elaboration circularities.
3077
3078 2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
3079             Ed Schonberg   <schonberg@gnat.com>
3080
3081         * sem_util.adb (Is_Aliased_View): Defend against the case where this
3082         subprogram is called with a parameter that is not an object name. This
3083         situation arises for some cases of illegal code, which is diagnosed
3084         later, and in this case it is wrong to call Is_Aliased, as that might
3085         cause a compiler crash.
3086         (Explain_Limited_Type): Refine previous fix to include
3087         inherited components of derived types, to provide complete information.
3088
3089         * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
3090         is the prival for a protected object.
3091         It is necessary to mark this entity as a variable, in addition to
3092         flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
3093         modified to avoid checking the Aliased flag on entities that are not
3094         objects. (Checking that flag for non-objects is erroneous and could
3095         lead to a compiler crash).
3096
3097 2004-10-26  Robert Dewar  <dewar@gnat.com>
3098
3099         * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
3100         X_Frac = 0.5, then we know that the number X must be positive.
3101         (Succ): Remove the same redundant test, and also fix the primary test
3102         to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
3103         Minor reformatting
3104         (Decompose): Add fuller comments to spec
3105
3106 2004-10-26  Pascal Obry  <obry@gnat.com>
3107
3108         * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
3109         validity (process must have read access). Set to 0 in all other cases.
3110         (STOP_FRAME): Now check for ptr validity to avoid a segmentation
3111         violation on Win32.
3112         (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
3113         segmentation violation.
3114
3115 2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
3116
3117         * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
3118         whose type is a constructed subtype of an aliased object with an
3119         unconstrained nominal subtype, convert the actual to the constructed
3120         subtype before taking its address.
3121
3122 2004-10-26  Vincent Celier  <celier@gnat.com>
3123
3124         * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
3125         (Is_Path_Name_Case_Sensitive): New function
3126
3127         * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
3128         (Base_Name, Simple_Name, Current_Directory, Compose,
3129         Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
3130         the result.
3131
3132 2004-10-26  Cyrille Comar    <comar@act-europe.fr>
3133             Vasiliy Fofanov  <fofanov@act-europe.fr>
3134             Vincent Celier   <celier@gnat.com>
3135
3136         * gnat_ugn.texi: Generalize "finding memory problems" section into a
3137         "memory management issues" section and document some of the useful
3138         memory pools provided as part of the GNAT library.
3139         Remove "virtual" from declaration of A::method2 in
3140         the simple example of Ada/C++ mixed system.
3141         Library Projects may be virtually extended: their virtual extensions
3142         are not Library Projects.
3143         Added section on extending project hierarchies.
3144
3145 2004-10-19  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
3146
3147         * adaint.c (__gnat_get_libraries_from_registry): Cast value
3148         to LPBYTE.
3149         (__gnat_portable_spawn): Remove const.
3150
3151         * mingw32.h (MAXPATHLEN): Check for previous definition.
3152
3153 2004-10-17  Matthias Klose  <doko@debian.org>
3154
3155         * gnatvsn.ads: Set gnat library version to 4.0.
3156
3157 2004-10-05  Vincent Celier  <celier@gnat.com>
3158
3159         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
3160
3161 2004-10-04  Laurent GUERBY <laurent@guerby.net>
3162
3163         PR ada/15156
3164         * Makefile.in: Define and use RANLIB_FLAGS.
3165
3166 2004-10-04  Pascal Obry  <obry@gnat.com>
3167
3168         * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
3169         other x86 platforms).
3170
3171 2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
3172
3173         * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
3174         in general and triggers stack alignment adjustment for thread entry
3175         points on targets where this is necessary.
3176
3177 2004-10-04  Bernard Banner  <banner@gnat.com>
3178
3179         PR ada/13897
3180
3181         * Makefile.in: Add section for powerpc linux
3182         Add variant i-vxwork-x86.ads
3183
3184         * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
3185
3186 2004-10-04  Olivier Hainque  <hainque@act-europe.fr>
3187
3188         * init.c (__gnat_initialize): Call an Ada subprogram to perform the
3189         table registration calls when need be. Ensures no reference to the crt
3190         ctors symbol are issued in the SJLJ case, which avoids possible
3191         undefined symbol errors in the case of modules to be statically linked
3192         with the kernel.
3193
3194 2004-10-04  Javier Miranda  <miranda@gnat.com>
3195
3196         * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
3197         in-line the code corresponding to subprogram Analyze_Actuals. In
3198         addition, analyze the actuals only in case of subprogram call.
3199
3200 2004-10-04  Ed Falis  <falis@gnat.com>
3201
3202         * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
3203
3204 2004-10-04  Sergey Rybin  <rybin@act-europe.fr>
3205
3206         * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
3207         in the documentation.
3208
3209 2004-10-04  Robert Dewar  <dewar@gnat.com>
3210
3211         * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
3212         IF and CASE.
3213         (Analyze_Block_Statement): Add circuitry to detect following dead code
3214         (Check_Unreachable_Code): Handle case of block exit
3215
3216 2004-10-04  Robert Dewar  <dewar@gnat.com>
3217
3218         * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
3219         (XMatchD): Avoid warning for Logic_Error call
3220
3221 2004-10-04  Robert Dewar  <dewar@gnat.com>
3222
3223         * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
3224         consider expressions buried within a procedure actual to be an actual.
3225         This caused some blowups with uses of packed slices within a procedure
3226         actual.
3227
3228 2004-10-04  Robert Dewar  <dewar@gnat.com>
3229
3230         * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
3231         longer need to be initialized to zero.
3232         (Get_Simple_Init_Val): Modular packed arrays no longer need to be
3233         initialized to zero.
3234
3235         * checks.adb (Expr_Known_Valid): Packed arrays are now always
3236         considered valid, even if the representation is modular. That's correct
3237         now that we no longer initialize packed modular arrays to zero.
3238
3239         * exp_dbug.ads: Clarify documentation on handling of PAD and JM
3240         suffixes. These are now documented as the only cases in which the
3241         debugger ignores outer records.
3242         Previously, the spec allowed arbitrary suffixes for this purpose.
3243         Change name of LJM to JM for packed array pad records
3244         Create separate section on packed array handling, and add a whole new
3245         set of comments to this section describing the situation with packed
3246         modular types and justification requirements depending on endianness.
3247
3248 2004-10-04  Robert Dewar  <dewar@gnat.com>
3249
3250         * a-except.adb: Add a comment for last change
3251
3252         * einfo.ads: Minor spelling correction in comment
3253
3254         * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
3255
3256         * sem_ch11.adb: Fix a case of using | instead of \ for continuation
3257         messages.
3258
3259         * sem_util.ads: Minor comment update
3260
3261 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
3262
3263         * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
3264         Inline_Always when in Configurable_Run_Time mode.
3265
3266         * sem_prag.adb (Process_Convention): If entity is an inherited
3267         subprogram, apply convention to parent subprogram if in same scope.
3268         (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
3269         when in Configurable_Run_Time mode.
3270
3271 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
3272
3273         * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
3274         class_wide type after component list has been inherited.
3275
3276 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
3277
3278         * sem_ch12.adb (Check_Generic_Actuals): New predicate
3279         Denotes_Previous_Actual, to handle properly the case of a private
3280         actual that is also the component type of a subsequent array actual.
3281         The visibility status of the first actual is not affected when the
3282         second is installed.
3283         (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
3284         make fully recursive the treatment of formals of packages declared
3285         with a box.
3286         (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
3287         the above on exit from an instantiation.
3288         (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
3289         current instantiation which is now complete.
3290         (Analyze_Package_Instantiation): No instantiated body is needed if the
3291         main unit is generic. Efficient, and avoid anomalies when a instance
3292         appears in a package accessed through rtsfind.
3293
3294 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
3295
3296         * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
3297         do not generate a declaration for a temporary if the call is part of a
3298         library-level instantiation.
3299
3300 2004-10-04  Ed Schonberg  <schonberg@gnat.com>
3301
3302         * sem_util.adb (Explain_Limited_Type): Ignore internal components when
3303         searching for a limited component to flag.
3304
3305         * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
3306         expansion of Input, to account for the fact that the implicit call
3307         generated by the attribute reference must freeze the user-defined
3308         stream subprogram. This is only relevant to 'Input, because it can
3309         appear in an object declaration, prior to the body of the subprogram.
3310
3311         * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
3312         expansion can proceed and further errors uncovered.
3313         (Minor clean up): Fix cases of using | instead of \ for continuation
3314         messages.
3315
3316 2004-10-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3317
3318         * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
3319
3320         * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
3321         (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
3322         Use gcc_assert and gcc_unreachable.
3323
3324         * decl.c (gnat_to_gnu_entity, case object): Check and process a
3325         specified alignment before validating size.
3326         (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
3327         stripped-down declaration for the type of the inner field when making
3328         a JM type.
3329
3330         * utils.c (finish_record_type): Do not compute the size in units
3331         incrementally. Instead compute it once for the rep clause case.
3332         Use gcc_assert and gcc_unreachable.
3333
3334 2004-10-04  Vincent Celier  <celier@gnat.com>
3335
3336         * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
3337         in file name.
3338         (Is_Valid_Path_Name): Take '/' as a directory separator.
3339
3340 2004-10-04  Vincent Celier  <celier@gnat.com>
3341
3342         * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
3343         (Extended_Project) only if Extended_Project is defined, to avoid
3344         assertion error.
3345         (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
3346         resolved path.
3347         (Parse_Single_Project): Ditto.
3348
3349         * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
3350         Add_To_Project_Path for virtual projects.
3351
3352 2004-10-04  Vincent Celier  <celier@gnat.com>
3353
3354         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
3355         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
3356         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
3357         mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
3358         parameter Options_2.
3359
3360         * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
3361         Build_Dynamic_Library with an empty Options_2.
3362
3363         * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
3364         default anymore.
3365
3366         * makegpr.adb (Get_Imported_Directories.add): Remove trailing
3367         directory separator, if any.
3368         (Gprmake): Do not allow mains on the command line for library projects.
3369         Do not attempt to link when the project is a library project.
3370         (Library_Opts): New table to store Library_Options.
3371         (Build_Library): If Library_Options is specified, pass these options
3372         when building a shared library.
3373
3374 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
3375
3376         * s-tposen.adb (Service_Entry): The object must be always unlocked at
3377         the end of this procedure now that the unlock operation was inserted
3378         by the expander.
3379
3380 2004-10-04  Jose Ruiz  <ruiz@act-europe.fr>
3381
3382         * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
3383         corresponding to the Preallocated_Stacks flags in System.
3384         (Get_Target_Parameters): Including the processing for
3385         Preallocated_Stacks.
3386
3387         * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
3388         system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
3389         system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
3390         system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
3391         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
3392         system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
3393         system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
3394         system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
3395         system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
3396         system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
3397         system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
3398         used to signal whether the compiler creates the required stacks and
3399         descriptors for the different tasks (when True) or it is done by the
3400         underlying operating system at run time (when False).
3401         It is initially set to False in all targets.
3402
3403         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
3404         if it is supported by the target.
3405         (Make_Task_Create_Call): Pass the stack address if it has been
3406         previously created. Otherwise pass a Null_Address.
3407
3408         * snames.adb: Add _stack.
3409
3410         * snames.ads: Add Name_uStack. Required to allow the expander to
3411         statically allocated task stacks.
3412
3413         * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
3414         Stack_Address argument.
3415         Check that its value is equal to Null_Address because this target does
3416         not support the static stack allocation.
3417
3418 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
3419
3420         * usage.adb: Change "pragma inline" to "pragma Inline" in information
3421         and error messages
3422
3423 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
3424
3425         * exp_dist.adb: Split declaration of asynchronous flag out of
3426         Add_RACW_Read_Attribute.
3427         Minor reformatting for better alignment with PolyORB version.
3428         Store the entity for the asynchronous flag of an RACW, rather than the
3429         expression, in the asynchronous flags table. This will allow this flag
3430         to be used in other subprograms beside Add_RACW_Read_Attribute.
3431
3432 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
3433
3434         * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
3435         g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
3436         g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
3437         g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
3438         g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads:  Add new
3439         sockets constant MSG_NOSIGNAL (Linux-specific).
3440         Add new sockets constant MSG_Forced_Flags, list of flags to be set on
3441         all Send operations.
3442         For Linux, set MSG_NOSIGNAL on all send operations to prevent them
3443         from trigerring SIGPIPE.
3444         Rename components to avoid clash with Ada 2005 possible reserved
3445         word 'interface'.
3446         (Check_Selector): When the select system call returns with an error
3447         condition, propagate Socket_Error to the caller.
3448
3449 2004-10-01  Jan Hubicka  <jh@suse.cz>
3450
3451         * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
3452
3453 2004-09-23  Robert Dewar  <dewar@gnat.com>
3454
3455         PR ada/17540
3456
3457         * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
3458         instead do this at freeze time (we won't do it if there is an address
3459         clause).
3460         Change "pragma inline" to "pragma Inline" in information and error
3461         messages.
3462         Minor reformatting.
3463
3464         * freeze.adb (Check_Address_Clause): Remove previous change, not the
3465         right way of doing things after all.
3466         (Freeze_Entity): For object, set Is_Public for imported entities
3467         unless there is an address clause present.
3468
3469 2004-09-21  Olivier Hainque  <hainque@act-europe.fr>
3470
3471         * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
3472         dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
3473         ensures proper handling of types with rep clauses, which might have
3474         their TYPE_SIZE set already.
3475
3476 2004-09-21  Robert Dewar  <dewar@gnat.com>
3477
3478         * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
3479         packed array types in both little- and big-endian cases. This change
3480         ensures that we no longer count on the unused bits being initialized
3481         for such types (and in particular ensures that equality testing will
3482         only read the relevant bits).
3483         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
3484         These changes mean that we no longer need to initialize small packed
3485         arrays.
3486         (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
3487         optimization to an LJM field as to its parent field.
3488
3489         * ada-tree.h, trans.c, utils.c, utils2.c:
3490         Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
3491
3492 2004-09-20  Jan Hubicka  <jh@suse.cz>
3493
3494         * utils.c (gnat_finalize): Remove.
3495         (end_subprog_body): Directly call cgraph_finalize_function;
3496         do not lower the nested functions.
3497
3498 2004-09-20  Robert Dewar  <dewar@gnat.com>
3499
3500         PR ada/17540
3501
3502         * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
3503         if an address clause is present, since that means that the Import
3504         should be ignored.
3505
3506 2004-09-20  Arnaud Charlet  <charlet@act-europe.fr>
3507
3508         * 5tsystem.ads: Removed, no longer used.
3509
3510 2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
3511             Zack Weinberg  <zack@codesourcery.com>
3512
3513         * ada-tree.def: Use tree_code_class enumeration constants
3514         instead of code letters.
3515         * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
3516         Update for new tree-class enumeration constants.
3517
3518 2004-09-17  Vincent Celier  <celier@gnat.com>
3519
3520         * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
3521         capabilities of the general project manager.
3522
3523 2004-09-09  Vincent Celier  <celier@gnat.com>
3524
3525         * a-direct.ads: Add pragma Ada_05
3526         (Directory_Entry_Type): Give default value to component Kind to avoid
3527         not initialized warnings.
3528
3529         * a-direct.adb (Current_Directory): Remove directory separator at the
3530         end.
3531         (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
3532         an existing directory.
3533         (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
3534         (Size (String)): Function C_Size returns Long_Integer, not File_Size.
3535         Convert the result to File_Size.
3536
3537         * prj.ads: (Project_Error): New exception
3538
3539         * prj-attr.adb: Except in procedure Initialize, Fail comes from
3540         Prj.Com, not from Osint.
3541         (Attrs, Package_Attributes): Tables moved to private part of spec
3542         (Add_Attribute, Add_Unknown_Package): Moved to new child package
3543         Prj.Attr.PM.
3544         (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
3545         Prj.Project_Error after call to Fail.
3546         (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
3547         Fail. Check that package name is not already in use.
3548
3549         * prj-attr.ads: Comment updates to indicate that all subprograms may be
3550         used by tools, not only by the project manager, and to indicate that
3551         exception Prj.Prj_Error may be raised in case of problem.
3552         (Add_Unknown_Package, Add_Attribute): Moved to new child package
3553         Prj.Attr.PM.
3554         (Attrs, Package_Attributes): Table instantiations moved from the body to
3555         the private part to be accessible from Prj.Attr.PM body.
3556
3557         * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
3558         from new package Prj.Attr.PM.
3559         (Parse_Attribute_Declaration): Call Add_Attribute from new package
3560         Prj.Attr.PM.
3561
3562         * Makefile.in: Add prj-attr-pm.o to gnatmake object list
3563
3564         * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
3565         instead of Elaboration_Checks).
3566
3567         * a-calend.adb: Minor reformatting
3568
3569 2004-09-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3570
3571         * gigi.h (maybe_pad_type): New declaration.
3572         (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
3573
3574         * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
3575
3576         * cuintp.c: Convert to use buildN.
3577
3578         * decl.c (maybe_pad_type): No longer static.
3579         (gnat_to_gnu_entity, case E_Function): Handle case of returning by
3580         target pointer.
3581         Convert to use buildN.
3582
3583         * trans.c (call_to_gnu): Add arg GNU_TARGET; support
3584         TYPE_RETURNS_BY_TARGET_PTR_P.  All callers changed.
3585         (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
3586         RHS.
3587         (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
3588         (gnat_gimplify_expr, case ADDR_EXPR): New case.
3589         Convert to use buildN.
3590
3591         * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
3592         TREE_READONLY for const.
3593         Convert to use buildN.
3594
3595         * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
3596         (create_var_decl): Refine when TREE_STATIC is set.
3597         Convert to use buildN.
3598
3599 2004-09-09  Gary Dismukes  <dismukes@gnat.com>
3600
3601         * gnat_ugn.texi: Delete text relating to checking of ali and object
3602         consistency.
3603
3604         * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
3605         routines.
3606
3607 2004-09-09  Jose Ruiz  <ruiz@act-europe.fr>
3608
3609         * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
3610         pragmas recognized by GNAT.
3611
3612         * gnat_rm.texi: Document pragma Detect_Blocking.
3613
3614         * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
3615         raise Program_Error if called from a protected operation.
3616
3617         * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
3618         the protected action nesting level.
3619         (Lock_Read_Only): When pragma Detect_Blocking is active increase the
3620         protected action nesting level.
3621         (Unlock): When pragma Detect_Blocking is active decrease the protected
3622         action nesting level.
3623
3624         * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
3625         Protected_Action_Nesting.
3626
3627         * s-taskin.ads: Adding the field Protected_Action_Nesting to the
3628         Common_ATCB record. It contains the dynamic level of protected action
3629         nesting for each task. It is needed for checking whether potentially
3630         blocking operations are called from protected operations.
3631         (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
3632         Detect_Blocking is active or not in the partition.
3633
3634         * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
3635         raise Program_Error if called from a protected operation.
3636         (Task_Entry_Call): When pragma Detect_Blocking is active, raise
3637         Program_Error if called from a protected operation.
3638         (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
3639         Program_Error if called from a protected operation.
3640
3641         * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
3642         raise Program_Error if called from a protected operation.
3643
3644         * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
3645         raise Program_Error if called from a protected operation, and increase
3646         the protected action nesting level.
3647         (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
3648         Program_Error if called from a protected operation, and increase the
3649         protected action nesting level.
3650         (Unlock_Entries): When pragma Detect_Blocking is active decrease the
3651         protected action nesting level.
3652
3653         * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
3654         raise Program_Error if called from a protected operation, and increase
3655         the protected action nesting level.
3656         (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
3657         Program_Error if called from a protected operation, and increase the
3658         protected action nesting level.
3659         (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
3660         raise Program_Error if called from a protected operation.
3661         (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
3662         active, raise Program_Error if called from a protected operation.
3663         (Unlock_Entry): When pragma Detect_Blocking is active decrease the
3664         protected action nesting level.
3665
3666         * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
3667         insertion of the statement raising Program_Error. The run time
3668         contains the required machinery for handling that.
3669
3670         * sem_util.ads: Change comment associated to procedure
3671         Check_Potentially_Blocking_Operation.
3672         This procedure does not insert a call for raising the exception because
3673         that is currently done by the run time.
3674
3675         * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
3676
3677         * init.c: Add the global variable __gl_detect_blocking that indicates
3678         whether pragma Detect_Blocking is active (1) or not (0). Needed for
3679         making the pragma available at run time.
3680         (__gnat_set_globals): Pass and update the detect_blocking parameter.
3681
3682         * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
3683         pragma Detect_Blocking is active.
3684
3685         * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
3686
3687         * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
3688         DB is found in the ali file. Any unit compiled with pragma
3689         Detect_Blocking active forces its effect in the whole partition.
3690
3691         * a-retide.adb (Delay_Until): Raise Program_Error if pragma
3692         Detect_Blocking is active and delay is called from a protected
3693         operation.
3694
3695         * bindgen.adb (Gen_Adainit_Ada): When generating the call to
3696         __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
3697         Detect_Blocking is active (0 otherwise).
3698         (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
3699         as Detect_Blocking parameter if pragma Detect_Blocking is active (0
3700         otherwise).
3701
3702 2004-09-09  Thomas Quinot  <quinot@act-europe.fr>
3703
3704         * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
3705         GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
3706         package.
3707
3708         * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
3709         (Register_Receiving_Stub): Add Subp_Info formal parameter.
3710         Update API in placeholder implemetation of s-parint to reflect changes
3711         in distribution runtime library.
3712
3713         * sem_ch3.adb (Expand_Derived_Record): Rename to
3714         Expand_Record_Extension.
3715
3716         * sem_disp.adb (Check_Controlling_Formals): Improve error message for
3717         primitive operations of potentially distributed object types that have
3718         non-controlling anonymous access formals.
3719
3720         * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
3721         subprogram.
3722         New implementation of expansion for remote access-to-subprogram types,
3723         based on the RACW infrastructure.
3724         This version of sem_dist is compatible with PolyORB/DSA as well as
3725         GLADE.
3726
3727         * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
3728         Asynchrronous that applies to a remote access-to-subprogram type, mark
3729         the underlying RACW type as asynchronous.
3730
3731         * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
3732          __gnat_using_gnu_linker to 1.
3733
3734         * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
3735         g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
3736         GNAT.Perfect_Hash_Generators, and remove the empty
3737         GNAT.Perfect_Hash package.
3738
3739         * atree.adb: Minor reformatting
3740
3741         * exp_ch3.adb (Expand_Derived_Record): Rename to
3742         Expand_Record_Extension.
3743         (Build_Record_Init_Proc.Build_Assignment): The default expression in
3744         a component declaration must remain attached at that point in the
3745         tree so New_Copy_Tree copies it if the enclosing record type is derived.
3746         It is therefore necessary to take a copy of the expression when building
3747         the corresponding assignment statement in the init proc.
3748         As a side effect, in the case of a derived record type, we now see the
3749         original expression, without any rewriting that could have occurred
3750         during expansion of the ancestor type's init proc, and we do not need
3751         to go back to Original_Node.
3752
3753         * exp_ch3.ads (Expand_Derived_Record): Rename to
3754         Expand_Record_Extension.
3755
3756         * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
3757         Returns the RACW type used to implement a remote access-to-subprogram
3758         type.
3759         (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
3760         New subprograms. Used to create a proxy tagged object for a remote
3761         subprogram. The proxy object is used as the designated object
3762         for RAS values on the same partition (unless All_Calls_Remote applies).
3763         (Build_Get_Unique_RP_Call): New subprogram. Build a call to
3764         System.Partition_Interface.Get_Unique_Remote_Pointer.
3765         (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
3766         Renamed from Add_RAS_*_Attribute.
3767         (Add_Receiving_Stubs_To_Declarations): Generate a table of local
3768         subprograms.
3769         New implementation of expansion for remote access-to-subprogram types,
3770         based on the RACW infrastructure.
3771
3772         * exp_dist.ads (Copy_Specification): Update comment to note that this
3773         function can copy the specification from either a subprogram
3774         specification or an access-to-subprogram type definition.
3775
3776 2004-09-09  Ed Schonberg  <schonberg@gnat.com>
3777
3778         * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
3779         in an instance, between an explicit subprogram an one inherited from a
3780         type derived from an actual.
3781
3782         * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
3783         add a polling call if the subprogram is to be inlined by the back-end,
3784         to avoid repeated calls with multiple inlinings.
3785
3786         * checks.adb (Apply_Alignment_Check): If the expression in the address
3787         clause is a call whose name is not a static entity (e.g. a dispatching
3788         call), treat as dynamic.
3789
3790 2004-09-09  Robert Dewar  <dewar@gnat.com>
3791
3792         * g-trasym.ads: Minor reformatting
3793
3794         * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
3795         packed arrays, since unused bits are expected to be zero for a
3796         comparison.
3797
3798 2004-09-09  Eric Botcazou  <ebotcazou@act-europe.fr>
3799
3800         * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
3801         comment.
3802
3803 2004-09-09  Pascal Obry  <obry@gnat.com>
3804
3805         * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
3806         enable map file generation. Add the right option to generate the map
3807         file if Map_File is set to True.
3808
3809         * gnatdll.adb (Gen_Map_File): New variable.
3810         (Syntax): Add info about new -m (Map_File) option.
3811         (Parse_Command_Line): Add support for -m option.
3812         (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
3813         Minor reformatting.
3814
3815 2004-09-09  Laurent Pautet  <pautet@act-europe.fr>
3816
3817         * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
3818         new gnatdist implementation.
3819         Define a subpackage isolating the output routines specific to this
3820         verbose mode.
3821
3822 2004-09-09  Joel Brobecker  <brobecker@gnat.com>
3823
3824         * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
3825
3826         * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
3827
3828 2004-09-09  Cyrille Comar  <comar@act-europe.fr>
3829
3830         * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
3831         internal unit.
3832
3833         * opt.ads: Add Ada_Version_Runtime constant used to decide which
3834         version of the language is used to compile the run time.
3835
3836 2004-09-09  Arnaud Charlet  <charlet@act-europe.fr>
3837
3838         * sem_util.adb (Requires_Transient_Scope): Re-enable handling
3839         of variable length temporaries for function return now that the
3840         back-end and gigi support it.
3841
3842 2004-09-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3843
3844         * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
3845
3846         * trans.c (struct stmt_group): Delete field GLOBAL.
3847         (gnat_init_stmt_group): Do not initialize it.
3848         (call_to_gnu): Use save_expr, not protect_multiple_eval.
3849         (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
3850         (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
3851         (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
3852         (start_stmt_group): Likewise.
3853         (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
3854
3855         * utils2.c (ggc.h): Include.
3856         (build_call_raise): Call build_int_cst, not build_int_2.
3857
3858         * utils.c (gnat_init_decl_processing): Fix arg to
3859         build_common_tree_nodes.
3860         (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
3861         (gnat_define_builtin): Set built_in_decls.
3862         (init_gigi_decls): Call build_int_cst, not build_int_2.
3863
3864         * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
3865         (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
3866         (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
3867         (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
3868         SET_TYPE_MODULE): Use them.
3869         (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
3870         (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
3871         (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
3872         SET_TYPE_ADA_SIZE): Likewise.
3873         (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
3874         (DECL_CONST_CORRESPONDING_VAR,
3875         SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
3876         (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
3877         (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
3878         (TYPE_RM_SIZE_NUM): New macro.
3879         (TYPE_RM_SIZE): Modified to use above.
3880
3881         * cuintp.c: (build_cst_from_int): New function.
3882         (UI_To_gnu): Use it.
3883
3884         * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
3885         (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
3886         (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
3887         MIN_EXPR for the size, copy it into new.
3888
3889 2004-09-01  Robert Dewar  <dewar@gnat.com>
3890
3891         * exp_ch6.adb (Expand_Call): Properly handle validity checks for
3892         packed indexed component where array is an IN OUT formal. This
3893         generated garbage code previously.
3894
3895         * gnat_ugn.texi: Document -fverbose-asm
3896
3897         * gnat-style.texi: Minor updates (note that boolean constants and
3898         variables are joined with AND/OR rather than short circuit forms).
3899
3900 2004-09-01  Ed Schonberg  <schonberg@gnat.com>
3901
3902         * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
3903         it is an upward conversion of an untagged type with no representation
3904         change.
3905
3906 2004-09-01  Thomas Quinot  <quinot@act-europe.fr>
3907
3908         * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
3909         System.Partition_Interface.
3910
3911         * checks.adb (Apply_Access_Checks): Do not generate checks when
3912         expander is not active (but check for unset reference to prefix of
3913         dereference).
3914
3915         * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
3916         pragma Debug as an if statement with a constant condition, for
3917         consistent treatment of entity references contained within the
3918         enclosed procedure call.
3919
3920 2004-09-01  Vincent Celier  <celier@gnat.com>
3921
3922         * bindgen.adb: (Set_EA_Last): New procedure
3923         (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
3924         Set_EA_Last.
3925         (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
3926         (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
3927         linked without errors.
3928         (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
3929         ST and EA.
3930         (Gen_Exception_Table_C): Correct same bugs
3931
3932         * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
3933
3934         * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
3935         on Windows, make sure that the drive letter is in upper case.
3936
3937         * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
3938         Windows, when the drive letter is added and Case_Sensitive is True, the
3939         drive letter is forced to upper case.
3940
3941         * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
3942         to Options_2 for the call to MLib.Utl.Gcc.
3943
3944         * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
3945         directory separator when defining BASE_DIR.
3946
3947 2004-09-01  Pascal Obry  <obry@gnat.com>
3948
3949         * gprcmd.adb (Extend): Do not output trailing directory separator. This
3950         is not needed and it confuses Windows GNU/make which does not report
3951         directory terminated by a slash as a directory.
3952         (gprcmd): Idem for "pwd" internal command.
3953
3954         * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
3955         target names rewrite to fix regressions with recent version of
3956         GNU/make. Starting with GNU/make 3.80 the pipe character was not
3957         handled properly anymore.
3958
3959 2004-09-01  Andreas Schwab  <schwab@suse.de>
3960
3961         * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
3962         * raise.c [!IN_RTS]: Undef abort.
3963
3964 2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
3965
3966         * utils2.c (build_allocator): Use ssize_int.
3967
3968         * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
3969
3970 2004-08-27  Andreas Schwab  <schwab@suse.de>
3971
3972         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
3973
3974 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
3975             Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3976
3977         * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
3978
3979 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
3980
3981         * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
3982         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
3983         * utils.c (init_gigi_decls): Likewise.
3984         * utils2.c (build_call_raise, build_allocator): Likewise.
3985
3986 2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
3987
3988         * utils.c (gnat_init_decl_processing): Adjust
3989         build_common_tree_nodes call.
3990
3991 2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
3992
3993         * utils2.c (build_allocator): Use build_int_cst for negative
3994         size types.
3995
3996 2004-08-18  Richard Henderson  <rth@redhat.com>
3997
3998         * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
3999
4000 2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
4001
4002         * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
4003         call.s
4004         * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
4005         (gnat_to_gnu): Likewise.
4006
4007 2004-08-16  Pascal Obry  <obry@gnat.com>
4008
4009         * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
4010         backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
4011         option and not mdll anymore. Update comment.
4012
4013 2004-08-16  Pascal Obry  <obry@gnat.com>
4014
4015         * bld.adb (Put_Include_Project): Properly handle directory separators
4016         on Windows.
4017
4018 2004-08-16  Ed Schonberg  <schonberg@gnat.com>
4019
4020         * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
4021         decreasing the number of allocated junk nodes while searching for the
4022         appropriate subprogram.
4023
4024 2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
4025
4026         * cuintp.c (UI_To_gnu): Use build_int_cst..
4027         * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
4028         * utils.c (init_gigi_decls): Likewise.
4029         * utils2.c (build_call_raise): Likewise.
4030
4031 2004-08-13  Olivier Hainque  <hainque@act-europe.fr>
4032
4033         * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
4034         for a global aliased object with a variable size and an unconstrained
4035         nominal subtype, pretend there is no initializer if the one we have is
4036         incomplete, and avoid referencing an inexistant component in there. The
4037         part we have will be rebuilt anyway and the reference may confuse
4038         further operations.
4039
4040 2004-08-13  Thomas Quinot  <quinot@act-europe.fr>
4041
4042         * einfo.ads: Minor reformatting
4043
4044         * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
4045         restrictions in the ALI if we only want to warn about violations.
4046
4047 2004-08-13  Vincent Celier  <celier@gnat.com>
4048
4049         * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
4050         when creating a new Unit_Record in table Units.
4051
4052         * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
4053         that are violated, if any.
4054
4055         * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
4056         add directory separator if path already ends with a directory separator.
4057
4058 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
4059
4060         * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
4061         unit, this is an attempt to inline a construct that is not available in
4062         the current restricted mode, so abort rather than trying to continue.
4063
4064         * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
4065         discriminants that rename those of the parent, recover names of
4066         original discriminants for the constraint on the full view of the
4067         parent.
4068         (Complete_Private_Subtype): Do not create a subtype declaration if the
4069         subtype is an itype.
4070
4071         * gnat_rm.texi: Added section on implementation of discriminated
4072         records with default values for discriminants.
4073
4074 2004-08-13  Ed Schonberg  <schonberg@gnat.com>
4075
4076         PR ada/15601
4077         * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
4078         the second operand is overloaded.
4079
4080 2004-08-10  Richard Henderson  <rth@redhat.com>
4081
4082         * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
4083         add __builtin_alloca.
4084
4085 2004-08-10  Richard Henderson  <rth@redhat.com>
4086
4087         * config-lang.in (boot_language): Yes.
4088
4089 2004-08-09  Thomas Quinot  <quinot@act-europe.fr>
4090
4091         * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
4092         from complaining on potential uninitialized reference.
4093         Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
4094         new specification and test explicitly for non-zero return value.
4095
4096         * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
4097         returning C.int, to avoid using a derived boolean type.
4098
4099         * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
4100         Duplicate_Subexpr_No_Checks in preference to direct use of
4101         Remove_Side_Effects and New_Copy_Tree.
4102         Clear Comes_From_Source on prefix of 'Size attribute reference.
4103
4104         * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
4105         g-socthi-vxworks.adb: Change calls to
4106         GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
4107         and test explicitly for non-zero return value.
4108
4109         * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
4110         (Is_Socket_In_Set): Declare imported function as returning C.int, to
4111         avoid using a derived boolean type.
4112
4113 2004-08-09  Albert Lee  <lee@gnat.com>
4114
4115         * system-irix-n32.ads: Refine tasking priority constants for IRIX.
4116
4117 2004-08-09  Pascal Obry  <obry@gnat.com>
4118
4119         * gnat_ugn.texi: Document new way to build DLLs on Windows using
4120         GCC's -shared option.
4121
4122         * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
4123         Options_2 parameter (options put after object files).
4124
4125 2004-08-09  Olivier Hainque  <hainque@act-europe.fr>
4126
4127         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
4128         ignore overflows on low and high bounds of an index to also account for
4129         differences in signedness between sizetype and gnu_index_subtype.
4130         These are as legitimate as the ones caused by a lower TYPE_PRECISION
4131         on sizetype.
4132
4133 2004-08-09  Robert Dewar  <dewar@gnat.com>
4134
4135         * s-solita.ads, s-solita.adb: Minor reformatting
4136
4137         * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
4138         Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
4139         obsolescent section
4140         Add note that No_Implicit_Conditionals does not suppress
4141         run time constraint checks.
4142
4143         * vms_conv.ads: Minor reformatting
4144
4145         * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
4146         and necessary for following change).
4147         (Mark): Return new format Mark_Id containing sec stack address
4148         (Release): Use sec stack address from Mark_Id avoiding Self call
4149
4150         * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
4151         pointer (cleanup and necessary for following change).
4152         Define Mark_Id as record containing address of secondary stack, that way
4153         Release does not need to find the stack again, decreasing the number of
4154         calls to Self and improving efficiency.
4155
4156         * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
4157
4158         * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
4159         case variable into the individual case branches when possible.
4160
4161         * sem_ch11.adb: Minor reformatting
4162
4163         * prj.ads: Correct spelling of suffixs
4164
4165         * prj-nmsc.adb: Minor reformatting
4166         Correct spelling suffixs throughout (also in identifiers)
4167
4168         * freeze.adb: Minor spelling correction
4169
4170         * exp_ch2.adb: Cleanups to handling of Current_Value
4171         (no functional effect).
4172
4173         * bld.adb: Correct spelling of suffixs
4174
4175         * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
4176
4177 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
4178
4179         PR ada/15408
4180
4181         * sem_ch7.adb (Install_Private_Declarations): In the body of the
4182         package or of a child, private entities are both immediately_visible
4183         and not hidden.
4184
4185 2004-08-09  Ed Schonberg  <schonberg@gnat.com>
4186
4187         * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
4188         there are no range checks on the value of the literal.
4189
4190         * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
4191         wrapped is the triggering alternative of an asynchronous select, action
4192         statements mustbe inserted before the select itself.
4193
4194         * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
4195         case where the prefix is a protected function call.
4196         (Resolve_Attribute, case 'Access): The attribute reference on a
4197         subprogram is legal in a generic body if the subprogram is declared
4198         elsewhere.
4199
4200 2004-08-09  Vincent Celier  <celier@gnat.com>
4201
4202         * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
4203         languages, otherwise building the library may fail with unresolved
4204         symbols.
4205         (Compile_Sources): Do not build libraries if -c switch is used
4206
4207         * gnatlink.adb (Process_Args): New switches -M and -Mmap
4208         (Write_Usage): If map file creation is supported, output new switches
4209         -M and -Mmap.
4210         (Gnatlink): When -M is specified, add the necessary switch(es) to the
4211         gcc call, when supported.
4212
4213         * Makefile.in: Added indepsw.o to the object list for gnatlink
4214         Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
4215
4216         * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
4217         indepsw.adb, indepsw.ads: New files.
4218
4219 2004-08-09  Bernard Banner  <banner@gnat.com>
4220
4221         * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
4222
4223         * Makefile.in: add section for vxworks x86
4224
4225 2004-08-09  Hristian Kirtchev  <kirtchev@gnat.com>
4226
4227         * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
4228         per-object constrained components where the discriminant is of an
4229         Access type.
4230         (Build_Record_Init_Proc): Add condition to prevent the inheritance of
4231         the parent initialization procedure for derived Unchecked_Unions.
4232         Instead, derived Unchecked_Unions build their own initialization
4233         procedure.
4234         (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
4235         Check the body of the subprogram for details.
4236         (Freeze_Record_Type): Prevent the inheritance of discriminant checking
4237         functions for derived Unchecked_Union types by introducing a condition.
4238         Allow the creation of TSS equality functions for Unchecked_Unions.
4239         (Make_Eq_Case): Rename formal parameter Node to E in function signature.
4240         Add formal parameter Discr to function signature. Discr is used to
4241         control the generated case statement for Unchecked_Union types.
4242         (Make_Eq_If): Rename formal parameter Node to E in function signature.
4243
4244         * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
4245         Unchecked_Unions.
4246         Check the body of the subprogram for details.
4247         (Expand_Composite_Equality): Augment composite type equality to include
4248         correct handling of Unchecked_Union components.
4249         (Expand_N_In): Add condition to detect illegal membership tests when the
4250         subtype mark is a constrained Unchecked_Union and the expression lacks
4251         inferable discriminants, and build a Raise_Program_Error node.
4252         (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
4253         to detect types that contain components of unconstrained Unchecked_Union
4254         subtype. Add condition to detect equality between types that have an
4255         unconstrained Unchecked_Union component, and build a Raise_Program_Error
4256         node. Add condition to detect equality between Unchecked_Union types
4257         that lack inferable discriminants, and build a Raise_Program_Error node.
4258         Otherwise build a TSS equality function call.
4259         (Expand_N_Type_Conversion): Add condition to detect illegal conversions
4260         from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
4261         with the operand lacking inferable discriminants, and build a Raise_
4262         Program_Error node.
4263         (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
4264         composite equality.
4265         (Has_Inferable_Discriminants): Implement new predicate for objects and
4266         expressions of Unchecked_Union type. Check the body of subprogram for
4267         details.
4268         (Has_Unconstrained_UU_Components): Add function
4269         Component_Is_Unconstrained_UU. It is used to detect whether a single
4270         component is of an unconstrained Unchecked_Union subtype. Add function
4271         Variant_Is_Unconstrained_UU. It is used to detect whether a single
4272         component inside a variant is of an unconstrained Unchecked_Union type.
4273
4274         * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
4275         inferred discriminant values. Add condition to generate a case
4276         statement with an inferred discriminant as the switch.
4277         (Make_Component_List_Assign): Introduce a Boolean flag that determines
4278         the behaviour of the subprogram in the presence of an Unchecked_Union.
4279         Add condition to trigger the usage of the inferred discriminant value
4280         as the generated case statement switch.
4281         (Make_Field_Assign): Introduce a Boolean flag that determines the
4282         behaviour of the subprogram in the presence of an Unchecked_Union. Add
4283         condition to trigger the usage of the inferred discriminant value as
4284         the right-hand side of the generated assignment.
4285
4286         * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
4287         parameter generation when dealing with Unchecked_Unions.
4288
4289         * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
4290         checks for Unchecked_Unions.
4291
4292         * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
4293
4294         * exp_attr.adb (Expand_N_Attribute_Reference): Produce
4295         Raise_Program_Error nodes for the execution of Read and Write
4296         attributes of Unchecked_Union types and the execution of Input and
4297         Output attributes of Unchecked_Union types that lack default
4298         discriminant values.
4299
4300         * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
4301         Unchecked_Union. Add procedure Check_Component. It is used to inspect
4302         per-object constrained components of Unchecked_Unions for being
4303         Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
4304         check individual components withing a variant.
4305
4306         * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
4307         comparison of Unchecked_Unions.
4308         (Resolve_Equality_OP): Remove guard that prevents equality between
4309         Unchecked_Unions.
4310
4311         * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
4312         of component subtypes for Unchecked_Union components.
4313         (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
4314         since it is the actual subtype.
4315
4316         * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
4317         pass of Unchecked_Union subtypes as generic actuals to formal types
4318         that lack known_discriminant_parts or that are derived Unchecked_Union
4319         types, and do nothing. In any other case, produce an error message.
4320
4321         * sem_ch3.adb (Analyze_Component_Declaration): Add function
4322         Contains_POC. It determines whether a constraint uses the discriminant
4323         of an enclosing record type.
4324         Add condition to detect per-object constrained component and set the
4325         appropriate flag.
4326         (Derived_Type_Declaration): Remove guard that prevents derivation from
4327         Unchecked_Union types.
4328         (Process_Subtype): Remove quard that prevents the creation of Unchecked_
4329         Union subtypes.
4330
4331         * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
4332         references to Unchecked_Union discriminants.
4333
4334         * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
4335         formal generation when dealing with Unchecked_Unions.
4336         (Set_Actual_Subtypes): Add condition to prevent generation of actual
4337         subtypes for Unchecked_Unions.
4338
4339         * sem_ch7.adb (Analyze_Package_Specification): Add procedure
4340         Inspect_Unchecked_Union_Completion. It is used to detect incorrect
4341         completions of discriminated partial views by Unchecked_Unions and
4342         produce an error message.
4343
4344 2004-08-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4345
4346         * trans.c (struct stmt_group): New field, GLOBAL.
4347         (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
4348         (struct elab_info): New struct.
4349         (elab_info_list, gnu_elab_proc_stack): New variables.
4350         (Compilation_Unit_to_gnu): New procedure.
4351         (gigi): Call it and also handle elaboration procs we've saved.
4352         (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
4353         global field from parent.
4354         (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
4355         (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
4356         (start_stmt_group): Initialize global field from parent.
4357         (add_decl_expr): Set to global for current statement group.
4358         (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
4359         post.
4360
4361         * utils.c (global_bindings_p): True when no current_function_decl; no
4362         longer check current_binding_level.
4363
4364 2004-08-09  Ben Brosgol  <brosgol@gnat.com>
4365
4366         * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
4367         choice.
4368
4369         * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
4370
4371 2004-08-06  Andreas Schwab  <schwab@suse.de>
4372
4373         * utils.c (gnat_define_builtin): Remove second parameter of
4374         make_decl_rtl.
4375         (begin_subprog_body): Likewise.
4376
4377 2004-07-26  Arnaud Charlet  <charlet@act-europe.fr>
4378
4379         * sem_util.adb (Requires_Transient_Scope): Temporarily disable
4380         optimization, not supported by the tree-ssa back-end.
4381
4382 2004-07-26  Olivier Hainque  <hainque@act-europe.fr>
4383
4384         * s-mastop-irix.adb: Update comments.
4385
4386         * a-except.adb (Exception_Information): Raise Constraint_Error if
4387         exception Id is Null_Id.
4388         This is required behavior, which is more reliably and clearly checked
4389         at the top level interface level.
4390
4391 2004-07-26  Javier Miranda  <miranda@gnat.com>
4392
4393         * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
4394         call if a component has no default_expression and the box is used.
4395
4396         * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
4397         default_expression and you use box, it behaves as if you had declared a
4398         stand-alone object.
4399         (Resolve_Record_Aggregate): If a component has no default_expression and
4400         you use box, it behaves as if you had declared a stand-alone object.
4401
4402         * sem_ch10.adb (Install_Siblings): Do not make visible the private
4403         entities of private-with siblings.
4404
4405 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
4406
4407         * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
4408         for a component of an itype, set the parent pointer for analysis,
4409         there is no list in which to insert it.
4410
4411         * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
4412         bona-fide renamings, not for inherited operations.
4413
4414         * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
4415         actual for a formal that is an access parameter, create local
4416         finalization list even if the expression is not an aggregate.
4417
4418 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
4419
4420         PR ada/16213
4421         * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
4422         Diagnose properly illegal subprogram renamings that are library units.
4423
4424 2004-07-26  Ed Schonberg  <schonberg@gnat.com>
4425
4426         PR ada/15588
4427         * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
4428         conversion rewritten as an unchecked conversion, check that original
4429         expression is a variable.
4430
4431         * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
4432         unchecked_conversion, create new node rather than rewriting in place,
4433         to preserve original construct.
4434
4435 2004-07-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4436
4437         * gigi.h (gnat_expand_body): Deleted.
4438
4439         * Make-lang.in: (trans.o): Depends on function.h.
4440
4441         * misc.c: (gnat_expand_body): Moved to here.
4442
4443         * trans.c (gnat_expand_body_1): Deleted.
4444         (gnat_expand_body): Moved from here.
4445         (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
4446         (add_stmt): Check for marked visited with global_bindings_p.
4447         (gnat_gimplify_expr, case COMPONENT_REF): New case.
4448         (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
4449
4450         * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
4451         VIEW_CONVERT_EXPR if not operation type.
4452
4453         * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
4454         fat pointer.
4455
4456         * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
4457         changes: reformatting of negation operators, removing unneeded
4458         inequality comparison with zero, converting equality comparisons with
4459         zero to negations, changing int/0/1 to bool/false/true, replace calls
4460         to gigi_abort with abort, and various other similar changes.
4461
4462 2004-07-26  Vincent Celier  <celier@gnat.com>
4463
4464         * gnatcmd.adb (GNATCmd): Add processing for new built-in command
4465         "setup".
4466
4467         * make.adb (Gnatmake): Fail when a library is not present and there is
4468         no object directory.
4469
4470         * mlib-prj.adb (Check_Library): No need to check if the library needs
4471         to be rebuilt if there is no object directory, hence no object files
4472         to build the library.
4473
4474         * opt.ads (Setup_Projects): New Boolean flag.
4475
4476         * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
4477         Location.
4478         Create directory when Kind /= "" and in "gnat setup". Report error if
4479         directory cannot be created.
4480         (Ada_Check): Create library interface copy dir if it does not exist
4481         and we are in "gnat setup".
4482         (Find_Sources): No error if in "gnat setup" and no Ada sources were
4483         found.
4484         (Language_Independent_Check): Create object directory, exec directory
4485         and/or library directory if they do not exist and we are in
4486         "gnat setup".
4487
4488         * vms_conv.ads: (Command_Type): New command Setup.
4489
4490         * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
4491
4492         * vms_data.ads: Add qualifiers/switches for new built-in command
4493         "setup".
4494
4495 2004-07-25  Richard Henderson  <rth@redhat.com>
4496
4497         * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
4498         DECL_IGNORED_P on RESULT_DECL.
4499
4500 2004-07-20  Olivier Hainque  <hainque@act-europe.fr>
4501
4502         * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
4503         allocation and potentially overflowing update with
4504         Tailored_Exception_Information. Use the sec-stack free procedural
4505         interface to output Exception_Information instead.
4506
4507         * a-except.adb (To_Stderr): New subprogram for character, and string
4508         version moved from a-exextr to be visible from other separate units.
4509         (Tailored_Exception_Information): Remove the procedural version,
4510         previously used by the default Last_Chance_Handler and not any more.
4511         Adjust various comments.
4512
4513         * a-exexda.adb: Generalize the exception information procedural
4514         interface, to minimize the use of secondary stack and the need for
4515         local buffers when the info is to be output to stderr:
4516         (Address_Image): Removed.
4517         (Append_Info_Character): New subprogram, checking for overflows and
4518         outputing to stderr if buffer to fill is of length 0.
4519         (Append_Info_String): Output to stderr if buffer to fill is of length 0.
4520         (Append_Info_Address, Append_Info_Exception_Name,
4521         Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
4522         Append_Info_Basic_Exception_Traceback,
4523         Append_Info_Exception_Information): New subprograms.
4524         (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
4525         (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
4526         Exception_Info_Maxlength, Exception_Name_Length,
4527         Exception_Message_Length): New subprograms.
4528         (Exception_Information): Use Append_Info_Exception_Information.
4529         (Tailored_Exception_Information): Use
4530         Append_Info_Basic_Exception_Information.
4531         Export services for the default Last_Chance_Handler.
4532
4533         * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
4534         other separate units.
4535
4536 2004-07-20  Vincent Celier  <celier@gnat.com>
4537
4538         * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
4539
4540 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
4541
4542         * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
4543         emit itype references for the designated types of component types that
4544         are declared outside of the full record declaration, and that may
4545         denote a partial view of that record type.
4546
4547 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
4548
4549         PR ada/15607
4550         * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
4551         which is the designated type in an access component declaration, to the
4552         list of incomplete dependents of the parent type, to avoid elaboration
4553         issues with out-of-scope subtypes.
4554         (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
4555         full view of the parent.
4556
4557 2004-07-20  Ed Schonberg  <schonberg@gnat.com>
4558
4559         PR ada/15610
4560         * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
4561         entities that are hidden, such as references to generic actuals
4562         outside an instance.
4563
4564 2004-07-20  Javier Miranda  <miranda@gnat.com>
4565
4566         * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
4567         support to the new notation.
4568         (Analyze_Selected_Component): Add call to Try_Object_Operation.
4569
4570 2004-07-20  Jose Ruiz  <ruiz@act-europe.fr>
4571
4572         * s-taprob.adb: Adding the elaboration code required for initializing
4573         the tasking soft links that are common to the full and the restricted
4574         run times.
4575
4576         * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
4577         restricted run time has been moved to the package
4578         System.Soft_Links.Tasking.
4579
4580         * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
4581         restricted run time has been moved to the package
4582         System.Soft_Links.Tasking.
4583
4584         * Makefile.rtl: Add entry for s-solita.o in run-time library list.
4585
4586         * s-solita.ads, s-solita.adb: New files.
4587
4588 2004-07-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4589
4590         * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
4591         Case_Statement_to_gnu): Split off from gnat_to_gnu.
4592         (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
4593         Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
4594         Exception_Handler_to_gnu_zcx): Likewise.
4595
4596 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
4597
4598         * gigi.h (builtin_function): Declare.
4599
4600 2004-07-15  Robert Dewar  <dewar@gnat.com>
4601
4602         * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
4603         reformatting
4604
4605         * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
4606         access values as an example of a warning.
4607
4608         * gnat_rm.texi: Document new attribute Has_Access_Values
4609
4610         * gnat-style.texi: Document that box comments belong on nested
4611         subprograms
4612
4613         * sem_util.ads (Has_Access_Values): Improved documentation
4614
4615         * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
4616
4617         * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
4618         (Process_Interface_Name): Call to this new procedure
4619         (Set_Extended_Import_Export_External_Name): Call to this new procedure
4620
4621         * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
4622
4623         * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
4624
4625         * einfo.ads: Minor comment typo fixed
4626
4627 2004-07-15  Jose Ruiz  <ruiz@act-europe.fr>
4628
4629         * snames.adb: Add _atcb.
4630
4631         * snames.ads: Add Name_uATCB.
4632
4633         * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
4634         (in the expanded code) when using the restricted run time.
4635
4636         * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
4637         a in parameter in order to allow ATCBs to be preallocated (in the
4638         expanded code).
4639
4640         * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
4641         order to allow ATCBs to be preallocated. In case of error, the ATCB is
4642         deallocated in System.Tasking.Stages.
4643
4644         * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
4645         order to allow ATCBs to be preallocated.
4646
4647         * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
4648         here. It was previously done in Initialize_ATCB.
4649
4650         * rtsfind.ads: Make the Ada_Task_Control_Block visible.
4651
4652         * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
4653         Restricted run time.
4654
4655         * exp_ch3.adb: When using the Restricted run time, pass the
4656         preallocated Ada_Task_Control_Block when creating a task.
4657
4658 2004-07-15  Ed Schonberg  <schonberg@gnat.com>
4659
4660         * sem_util.adb (Normalize_Actuals): If there are no actuals on a
4661         function call that is itself an actual in an enclosing call, diagnose
4662         problem here rather than assuming that resolution will catch it.
4663
4664         * sem_ch7.adb (Analyze_Package_Specification): If the specification is
4665         the local copy of a generic unit for a formal package, and the generic
4666         is a child unit, install private part of ancestors before compiling
4667         private part of spec.
4668
4669         * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
4670         use scope entities rather than tree structures, to handle properly
4671         parent units that are instances rewritten as bodies for inlining
4672         purposes.
4673
4674         * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
4675         Remove_Parents): Handle properly a parent unit that is an
4676         instantiation, when the unit has been rewritten as a body for inlining
4677         purposes.
4678
4679         * par.adb (Goto_List): Global variable to collect goto statements in a
4680         given unit, for use in detecting natural loops.
4681
4682         * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
4683         use in detecting natural loops.
4684
4685         * par-labl.adb (Find_Natural_Loops): Recognize loops create by
4686         backwards goto's, and rewrite as a infinite loop, to improve locality
4687         of temporaries.
4688
4689         * exp_util.adb (Force_Evaluation): Recognize a left-hand side
4690         subcomponent that includes an indexed reference, to prevent the
4691         generation of copies that would miscompile the desired assignment
4692         statement.
4693         (Build_Task_Image_Decls): Add a numeric suffix to
4694         generated name for string variable, to avoid spurious conflicts with
4695         the name of the type of a single protected object.
4696
4697         * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
4698         loop with an explicit exit statement, to avoid generating an
4699         out-of-range value with 'Succ leading to spurious constraint_errors
4700         when compiling with -gnatVo.
4701
4702 2004-07-15  Thomas Quinot  <quinot@act-europe.fr>
4703
4704         * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
4705         might not be analyzed yet, even if its Etype is already set (case of an
4706         unchecked conversion built using Unchecked_Convert_To, for example).
4707         If the prefix has already been analyzed, this will be a nop anyway.
4708
4709         * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
4710         controller type, or an assignment of a record type with controlled
4711         components, copy only user data, and leave the finalization chain
4712         pointers untouched.
4713
4714 2004-07-15  Vincent Celier  <celier@gnat.com>
4715
4716         * make.adb (Collect_Arguments): Improve error message when attempting
4717         to compile a source not part of any project, when -x is not used.
4718
4719         * prj.ads: (Defined_Variable_Kind): New subtype
4720
4721         * prj-attr.adb (Register_New_Package): Two new procedures to register
4722         a package with or without its attributes.
4723         (Register_New_Attribute): Mew procedure to register a new attribute in a
4724         package.
4725         New attribute oriented subprograms: Attribute_Node_Id_Of,
4726         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
4727         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
4728         Next_Attribute.
4729         New package oriented subprograms: Package_Node_Id_Of,
4730         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
4731
4732         * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
4733         type.
4734         (Package_Node_Id): Now a private, self initialized type
4735         (Register_New_Package): New procedure to register a package with its
4736         attributes.
4737         New attribute oriented subprograms: Attribute_Node_Id_Of,
4738         Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
4739         Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
4740         Next_Attribute.
4741         New package oriented subprograms: Package_Node_Id_Of,
4742         Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
4743
4744         * prj-dect.adb (Parse_Attribute_Declaration,
4745         Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
4746
4747         * prj-makr.adb (Make): Parse existing project file before creating
4748         other files. Fail if there was an error during parsing.
4749
4750         * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
4751         new spec of Prj.Attr.
4752
4753         * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
4754         to new spec of Prj.Attr.
4755
4756 2004-07-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4757
4758         * utils2.c: Fix typo in comment.
4759
4760 2004-07-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4761
4762         * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
4763         * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
4764
4765 2004-07-14  Andreas Schwab  <schwab@suse.de>
4766
4767         * trans.c (gnat_init_stmt_group): Remove duplicate definition.
4768
4769 2004-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4770
4771         * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
4772         object type.
4773         (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
4774         TYPE_STUB_DECL.
4775
4776         * misc.c (gnat_types_compatible_p): New function.
4777         (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
4778         (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
4779
4780         * trans.c (gigi): Move processing of main N_Compilation_Unit here.
4781         (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
4782         (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
4783         (mark_visited): Don't mark dummy type.
4784         (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
4785         parameter, we must remove any LJM building from GNU_NAME.
4786         (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
4787         (pos_to_constructor): Use int_const_binop.
4788         (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
4789         PARM_DECL.
4790
4791         * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
4792         (gnat_pushlevel): Set TREE_USE on BLOCK node.
4793         (gnat_install_builtins): Add __builtin_memset.
4794
4795 2004-07-13  Olivier Hainque  <hainque@act-europe.fr>
4796
4797         * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
4798         for a renaming, stabilize the initialization expression if we are at a
4799         local level.  At the local level, uses of the renaming may be performed
4800         by a direct dereference of the initializing expression, and we don't
4801         want possible variables there to be evaluated for every use.
4802
4803         * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
4804         Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
4805         them on the way.  Account for the fact that we may introduce side
4806         effects in the process.
4807
4808 2004-07-13  Richard Henderson  <rth@redhat.com>
4809
4810         * misc.c (default_pass_by_ref): Use pass_by_reference.
4811
4812 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
4813
4814         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
4815         LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
4816
4817 2004-07-08  Richard Henderson  <rth@redhat.com>
4818
4819         * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
4820         commentary.
4821
4822 2004-07-06  Vincent Celier  <celier@gnat.com>
4823
4824         * vms_conv.ads: Minor reformatting.
4825         Alphabetical order for enumerated values of type Command_Type, to have
4826         the command in alphabetical order for the usage.
4827
4828         * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
4829         the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
4830
4831         * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
4832
4833         * makegpr.adb (Global_Archive_Exists): New global Boolean variable
4834         (Add_Archive_Path): Only add the global archive if there is one.
4835         (Build_Global_Archive): Set Global_Archive_Exists depending if there is
4836         or not any object file to put in the global archive, and don't build
4837         a global archive if there is none.
4838         (X_Switches): New table
4839         (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
4840         in the X_Switches table, if any.
4841         (Initialize): Make sure the X_Switches table is empty
4842         (Scan_Arg): Record -X switches in table X_Switches
4843
4844         * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
4845
4846         * make.adb: Minor comment fix
4847
4848         * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
4849         invoked with directory information, add the directory in front of the
4850         path.
4851
4852         * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
4853         invoked with directory information, add the directory in front of the
4854         path.
4855
4856         * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
4857         when Keep_Temporary_Files is False.
4858         (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
4859         directory information, add the directory in front of the path.
4860         When not on VMS, handle new switch -dn before the command to set
4861         Keep_Temporary_Files to True.
4862         (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
4863         everywhere.
4864
4865         * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
4866         invoked with directory information, add the directory in front of the
4867         path.
4868
4869 2004-07-06  Thomas Quinot  <quinot@act-europe.fr>
4870
4871         * snames.ads, snames.adb (Name_Stub): New name for the distributed
4872         systems annex.
4873
4874         * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
4875         New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
4876
4877         * g-socket.adb (To_Timeval): Fix incorrect conversion of
4878         Selector_Duration to Timeval for the case of 0.0.
4879
4880         * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
4881         documentation from Evolve_And_Then.
4882
4883 2004-07-06  Jose Ruiz  <ruiz@act-europe.fr>
4884
4885         * s-taprop-tru64.adb, s-taprop-os2.adb,
4886         s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
4887
4888 2004-07-06  Robert Dewar  <dewar@gnat.com>
4889
4890         * s-osinte-hpux.ads, s-osinte-freebsd.ads,
4891         s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
4892         s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
4893         s-interr-sigaction.adb, s-taprop-irix-athread.adb,
4894         s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
4895         s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
4896         s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
4897         s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
4898         a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
4899         a-tags.ads, bindgen.ads, checks.adb, checks.adb,
4900         csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
4901         exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
4902         g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
4903         i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
4904         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
4905         sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
4906         sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
4907         s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
4908         s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
4909         s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
4910         vms_data.ads: Minor reformatting,
4911         Fix bad box comment format.
4912
4913         * gnat_rm.texi: Fix minor grammatical error
4914
4915         * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
4916
4917         * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
4918         more cases of discriminated records to be recognized as not needing a
4919         secondary stack.
4920         (Has_Access_Values): New function.
4921
4922         * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
4923
4924         * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
4925         Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
4926         with LRM terminology).
4927         Change terminology in comments primitive type => elementary type.
4928
4929 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
4930
4931         PR ada/15602
4932         * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
4933         parameters do not impose any requirements on the presence of a body.
4934
4935 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
4936
4937         PR ada/15593
4938         * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
4939         compilation unit and is in an open scope at the point of instantiation,
4940         assume that a body may be present later.
4941
4942 2004-07-06  Ed Schonberg  <schonberg@gnat.com>
4943
4944         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
4945         Improve error message when specified size is not supported.
4946
4947         * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
4948         is never a primitive operation.
4949
4950 2004-07-05  Andreas Schwab  <schwab@suse.de>
4951
4952         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
4953         RECORD_OR_UNION_CHECK.
4954         (TYPE_CONTAINS_TEMPLATE_P): Likewise.
4955
4956 2004-07-04  Kelley Cook  <kcook@gcc.gnu.org>
4957
4958         * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
4959         dependency on xgnatugn, instead build it via a submake.
4960         (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
4961
4962 2004-07-04  Richard Henderson  <rth@redhat.com>
4963
4964         * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
4965
4966 2004-07-01  Richard Henderson  <rth@redhat.com>
4967
4968         * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
4969         * utils.c (max_size): Likewise.
4970
4971 2004-06-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4972
4973         * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
4974         and rest_of_type_compilation; add arg to create_*_decl.
4975         (annotate_decl_with_node): Deleted.
4976         (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
4977         * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
4978         (get_current_block_context, gnat_pushdecl): New declarations.
4979         (gnat_init_stmt_group): Likewise.
4980         (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
4981         * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
4982         (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
4983         (gnat_init): Call gnat_init_stmt_group.
4984         * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
4985         (gnu_pending_elaboration_list): Deleted.
4986         (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
4987         (gigi): Rearrange initialization calls and move some to last above.
4988         (gnat_to_gnu): If statement and not in procedure, go into elab proc.
4989         Delete calls to add_decl_expr; add arg to create_*_decl.
4990         (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
4991         (gnat_to_gnu, case N_Subprogram_Body): Move some code to
4992         begin_subprog_body and call it.
4993         Don't push and pop ggc context.
4994         (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
4995         (add_stmt): Remove handling of DECL_EXPR from here.
4996         If not in function, mark visited.
4997         (add_decl_expr): Put global at top level.
4998         Check for cases of DECL_INITIAL we have to handle here.
4999         (process_type): Add extra arg to create_type_decl.
5000         (build_unit_elab): Rework to just gimplify.
5001         * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
5002         (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
5003         (get_pending_elaborations, pending_elaborations_p): Likewise.
5004         (push_pending_elaborations, pop_pending_elaborations): Likewise.
5005         (get_elaboration_location, insert_elaboration_list): Likewise.
5006         (gnat_binding_level): Renamed from ada_binding_level.
5007         (init_gnat_to_gnu): Don't clear pending_elaborations.
5008         (global_bindings_p): Treat as global if no current_binding_level.
5009         (set_current_block_context): New function.
5010         (gnat_pushdecl): Renamed from pushdecl; major rework.
5011         All callers changed.
5012         (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
5013         (finish_record_type): Call call pushdecl for stub decl.
5014         (function_nesting_depth): Deleted.
5015         (begin_subprog_body): Delete obsolete code.
5016         * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
5017
5018 2004-06-28  Robert Dewar  <dewar@gnat.com>
5019
5020         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
5021         mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
5022         mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
5023         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
5024         a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
5025
5026         * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
5027         deal with problem of inefficient slices on machines with strict
5028         alignment, when the slice is a component of a composite.
5029
5030         * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
5031         machines, we need the check there as well.
5032
5033 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
5034
5035         * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
5036         determine safe copying direction for overlapping slice assignments
5037         when component is controlled.
5038
5039         * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
5040         formal derived type in the actual for a formal package are visible in
5041         the enclosing instance.
5042
5043 2004-06-28  Ed Schonberg  <schonberg@gnat.com>
5044
5045         PR ada/15600
5046         * sem_util.adb (Trace_Components): Diagnose properly an illegal
5047         circularity involving a private type whose completion includes a
5048         self-referential component.
5049         (Enter_Name): Use Is_Inherited_Operation to distinguish a source
5050         renaming or an instantiation from an implicit derived operation.
5051
5052 2004-06-28  Pascal Obry  <obry@gnat.com>
5053
5054         * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
5055         DLL.
5056         (Library_File_Name_For): Idem.
5057
5058 2004-06-28  Matthew Gingell  <gingell@gnat.com>
5059
5060         * g-traceb.ads: Add explanatory note on the format of addresses
5061         expected by addr2line.
5062
5063 2004-06-28  Jerome Guitton  <guitton@act-europe.fr>
5064
5065         * Makefile.in: Force debugging information on s-tasdeb.adb,
5066         a-except.adb and s-assert.adb needed by the debugger.
5067
5068 2004-06-28  Vincent Celier  <celier@gnat.com>
5069
5070         * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
5071         Need_To_Build_Lib.
5072         (Gnatmake): Ditto.
5073
5074         * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
5075
5076         * prj.adb: Minor reformatting
5077         (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
5078
5079         * prj.ads: Comment updates
5080         Minor reformatting
5081         (Project_Data): Change Flag1 to Need_To_Build_Lib.
5082         Remove Flag2: not used.
5083
5084         * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
5085         declaration.
5086
5087         * gnat_ugn.texi: Put a "null;" declaration in one project file example
5088
5089         * gnat_rm.texi: Document Empty declarations "null;".
5090
5091         * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
5092         front of the linker options.
5093         (Link_Foreign): Put the global archives and the libraries in front of
5094         the linker options.
5095
5096 2004-06-28  Javier Miranda  <miranda@gnat.com>
5097
5098         * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
5099         (RTU_Loaded): Code cleanup
5100         (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
5101         withed predefined units.
5102
5103         * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
5104         explicitly withed predefined units.
5105         Fix typo in comment
5106
5107         * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
5108         explicitly withed predefined units.
5109
5110 2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5111
5112         * ada-tree.def (DECL_STMT): Deleted.
5113         * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
5114         (DECL_STMT_VAR): Deleted.
5115         * decl.c: add_decl_stmt now add_decl_expr.
5116         * gigi.h: Likewise.
5117         * trans.c: Likewise.
5118         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
5119         (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
5120         (add_stmt): Only handle padded type here.
5121         (add_stmt_with_node): Allow gnat_node to not be present.
5122         (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
5123         (gnat_gimplify_stmt, case DECL_STMT): Deleted.
5124         (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
5125         make a SAVE_EXPR for the entire fat pointer.
5126         * utils.c (pushdecl): Walk a DECL_EXPR in global case.
5127         (create_index_type): Make a DECL_EXPR.
5128         (end_subprog_body): Don't call allocate_struct_function here but
5129         do clear cfun.
5130
5131 2004-06-25  Pascal Obry  <obry@gnat.com>
5132
5133         * makegpr.adb (Build_Library): Remove parameter Lib_Address and
5134         Relocatable from Build_Dynamic_Library call.
5135
5136         * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
5137         Relocatable are now synonym.
5138
5139         * Makefile.in: Use s-parame-mingw.adb on MingW platform.
5140
5141         * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
5142         Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
5143         call.
5144
5145         * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
5146         Lib_Address and Relocatable.
5147         (Default_DLL_Address): Removed.
5148
5149         * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
5150         mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
5151         mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
5152         (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
5153         (Default_DLL_Address): Removed.
5154
5155         * mlib-tgt-mingw.adb: Ditto.
5156         (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
5157
5158         * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
5159         the initial thread stack size.
5160
5161         * a-strmap.ads: Move package L to private part as it is not used in
5162         the spec. Found while reading code.
5163
5164 2004-06-25  Olivier Hainque  <hainque@act-europe.fr>
5165
5166         * tracebak.c: Introduce support for a GCC infrastructure based
5167         implementation of __gnat_backtrace.
5168
5169         * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
5170         any more. Use accessors instead. This eases maintenance and relaxes
5171         some alignment constraints.
5172         (_GNAT_Exception structure): Remove the Ada specific fields
5173         (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
5174         a-exexpr.adb.
5175         (is_handled_by, __gnat_eh_personality): Replace component references to
5176         exception structure by use of the new accessors.
5177
5178         * init.c (__gnat_initialize): Adjust comments to match the just
5179         reverted meaning of the -static link-time option.
5180
5181         * adaint.c (convert_addresses): Arrange not to define a stub for
5182         mips-irix any more, as we now want to rely on a real version from a
5183         recent libaddr2line.
5184
5185         * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
5186         the personality routine can use them and not have to rely on a C
5187         counterpart of the record anymore. This simplifies maintenance and
5188         relaxes the constraint of having Standard'Maximum_Alignment match
5189         BIGGEST_ALIGNMENT.
5190         Update comments, and add a section on the common header alignment issue.
5191
5192 2004-06-25  Geert Bosch  <bosch@gnat.com>
5193
5194         * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
5195         polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
5196
5197 2004-06-25  Robert Dewar  <dewar@gnat.com>
5198
5199         * gnat_rm.texi: Fix section on component clauses to indicate that the
5200         restriction on byte boundary placement still applies for bit packed
5201         arrays.
5202         Add comment on stack usage from Initialize_Scalars
5203
5204         * gnat_ugn.texi: Add documentation for -gnatyLnnn
5205
5206         * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
5207         limiting nesting level.
5208
5209         * usage.adb: Add line for -gnatyLnnn switch
5210
5211         * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
5212         sem_ch13.adb, exp_aggr.adb: Minor reformatting
5213
5214         * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
5215         type as well as on the subtype. This corrects a problem in freeze in
5216         setting alignments of atomic types.
5217
5218         * sem_eval.ads: Minor comment typo fixed
5219
5220         * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
5221         level.  Minor reformatting.
5222
5223         * fname.adb (Is_Predefined_File_Name): Require a letter after the
5224         minus sign. This means that file names like a--b.adb will not be
5225         considered predefined.
5226
5227         * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
5228         record Test new flag and give diagnostic for bad component clause.
5229         (Freeze_Entity): Set alignment of array from component alignment in
5230         cases where this is safe to do.
5231
5232         * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
5233         arrays.
5234
5235         * cstand.adb: (Create_Standard): Set alignment of String to 1
5236
5237         * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
5238
5239         * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
5240         code in the common constrained array cases.
5241
5242         * a-storio.adb: Change implementation to avoid possible alignment
5243         problems on machines requiring strict alignment (data should be moved
5244         as type Buffer, not type Elmt).
5245
5246         * checks.adb (Apply_Array_Size_Check): Improve these checks by
5247         killing the overflow checks which we really do not need (64-bits is
5248         enough).
5249
5250 2004-06-25  Vincent Celier  <celier@gnat.com>
5251
5252         * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
5253         (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
5254         inconditionally for the main project.
5255         (Recursive_Add_Archives.Add_Archive_Path): New procedure
5256         (Link_Executables.Check_Time_Stamps): New procedure
5257         (Link_Executables.Link_Foreign): New procedure
5258         Changes made to reduce nesting level of this package
5259         (Check): New procedure
5260         (Add_Switches): When not in quiet output, check that a switch is not
5261         the concatenation of several valid switches. If it is, issue a warning.
5262         (Build_Global_Archive): If the global archive is rebuilt, linking need
5263         to be done.
5264         (Compile_Sources): Rebuilding a library archive does not imply
5265         rebuilding the global archive.
5266         (Build_Global_Archive): New procedure
5267         (Build_Library): New name for Build_Archive, now only for library
5268         project
5269         (Check_Archive_Builder): New procedure
5270         (Create_Global_Archive_Dependency_File): New procedure
5271         (Gprmake): Call Build_Global_Archive before linking
5272         * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
5273         throughout.
5274         (Scan_Arg): Display the Copyright notice when -v is used
5275
5276         * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
5277         for gnatls.
5278
5279         * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
5280         COMPILE.
5281         Add new GNAT LIST qualifier /FILES=
5282         Added qualifier /DIRECTORY= to GNAT METRIC
5283         Added qualifier /FILES= to GNAT METRIC
5284         Added qualifier /FILES to GNAT PRETTY
5285
5286         * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
5287         to take into account both versions of the switch.
5288
5289         * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
5290         always be the last switch to the gcc driver. Disable switch storing so
5291         that switches automatically added by the gcc driver are not put in the
5292         ALI file.
5293
5294         * prj.adb (Project_Empty): Take into account changes in components of
5295         Project_Data.
5296
5297         * prj.ads (Languages_Processed): New enumaration value All_Languages.
5298
5299         * prj.ads (Project_Data): Remove component Lib_Elaboration: never
5300         used. Split Boolean component Ada_Sources_Present in two Boolean
5301         components Ada_Sources_Present and Other_Sources_Present.
5302         Minor reformatting
5303
5304         * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
5305         instead of Sources_Present.
5306         (Set_Ada_Paths.Add.Recursive_Add): Ditto
5307
5308         * prj-nmsc.adb: Minor reformatting
5309         (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
5310         (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
5311         Check_Ada_Naming_Scheme.
5312         Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
5313         throughout.
5314
5315         * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
5316         In_Limited.
5317         Make sure that all cycles where there is at least one "limited with"
5318         are detected.
5319         (Parse_Single_Project): New Boolean parameter In_Limited
5320
5321         * prj-proc.adb (Recursive_Check): When Process_Languages is
5322         All_Languages, call first Prj.Nmsc.Ada_Check, then
5323         Prj.Nmsc.Other_Languages_Check.
5324
5325         * prj-proc.adb (Process): Use Ada_Sources_Present or
5326         Other_Sources_Present (instead of Sources_Present) depending on
5327         Process_Languages.
5328
5329         * lang-specs.h: Keep -g and -m switches in the same order, and as the
5330         last switches.
5331
5332         * lib.adb (Switch_Storing_Enabled): New global Boolean flag
5333         (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
5334         False.
5335         (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
5336         False.
5337
5338         * lib.ads (Disable_Switch_Storing): New procedure.
5339
5340         * make.adb: Modifications to reduce nesting level of this package.
5341         (Check_Standard_Library): New procedure
5342         (Gnatmake.Check_Mains): New procedure
5343         (Gnatmake.Create_Binder_Mapping_File): New procedure
5344         (Compile_Sources.Compile): Add switch -gnatez as the last option
5345         (Display): Never display -gnatez
5346
5347         * Makefile.generic:
5348         When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
5349
5350         * gnatcmd.adb (Check_Project): New function
5351         (Process_Link): New procedure to reduce nesting depth
5352         (Check_Files): New procedure to reduce the nesting depth.
5353         For GNAT METRIC, include the inherited sources in extending projects.
5354         (GNATCmd): When GNAT LS is invoked with a project file and no files,
5355         add the list of files from the sources of the project file. If this list
5356         is too long, put it in a temp text files and use switch -files=
5357         (Delete_Temp_Config_Files): Delete the temp text file that contains
5358         a list of source for gnatpp or gnatmetric, if one has been created.
5359         (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
5360         in the project file is too large, create a temporary text file that
5361         list them and pass it to the tool with "-files=<temp text file>".
5362         (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
5363
5364         * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
5365         generated file is in not in Ada.
5366
5367         * gnatls.adb: Remove all parameters And_Save that are no longer used.
5368         (Scan_Ls_Arg): Add processing for -files=
5369         (Usage): Add line for -files=
5370
5371         * g-os_lib.adb (On_Windows): New global constant Boolean flag
5372         (Normalize_Pathname): When on Windows and the path starts with a
5373         directory separator, make sure that the resulting path will start with
5374         a drive letter.
5375
5376         * clean.adb (Clean_Archive): New procedure
5377         (Clean_Project): When there is non-Ada code, delete the global archive,
5378         the archive dependency files, the object files and their dependency
5379         files, if they exist.
5380         (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
5381
5382 2004-06-25  Thomas Quinot  <quinot@act-europe.fr>
5383
5384         * sinfo.ads: Fix typo in comment.
5385
5386         * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
5387         the TSS for remote access-to-subprogram types, since these TSS are
5388         always present once the type has been analyzed.
5389         (RAS_E_Dereference): Same.
5390
5391         * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
5392         reference raises Bad_Attribute, mark the reference as analyzed so the
5393         node (and any children resulting from rewrites that could have occurred
5394         during the analysis that ultimately failed) is not analyzed again.
5395
5396         * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
5397
5398         * exp_dist.adb: Minor comment fix.
5399
5400         * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
5401         type is an anonymous access type, no unchecked deallocation of the
5402         allocated object can occur. If the object is controlled, attach it with
5403         a count of 1. This allows attachment to the Global_Final_List, if
5404         no other relevant list is available.
5405         (Get_Allocator_Final_List): For an anonymous access type that is
5406         the type of a discriminant or record component, the corresponding
5407         finalisation list is the one of the scope of the type.
5408
5409 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
5410
5411         * sem_ch3.adb (Replace_Type): When computing the signature of an
5412         inherited subprogram, use the first subtype if the derived type
5413         declaration has no constraint.
5414
5415         * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
5416         before applying previous optimization. Minor code cleanup.
5417
5418         * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
5419         placed at the beginning of an unpacked record without explicit
5420         alignment, a slice of it will be aligned and does not need a copy when
5421         used as an actual.
5422
5423 2004-06-25  Ed Schonberg  <schonberg@gnat.com>
5424
5425         PR ada/15591
5426         PR ada/15592
5427         * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
5428         reference is written with expressions mimicking parameters.
5429
5430 2004-06-25  Hristian Kirtchev  <kirtchev@gnat.com>
5431
5432         PR ada/15589
5433         * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
5434         STEP 2a. The constraints of a full type declaration of a derived record
5435         type are checked for conformance with those declared in the
5436         corresponding private extension declaration. The message
5437         "not conformant with previous declaration" is emitted if an error is
5438         detected.
5439
5440 2004-06-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
5441
5442         * g-traceb.ads: Document the need for -E binder switch in the spec.
5443
5444         * g-trasym.ads: Document the need for -E binder switch in the spec.
5445
5446 2004-06-25  Jose Ruiz  <ruiz@act-europe.fr>
5447
5448         * sem_prag.adb: Add handling of pragma Detect_Blocking.
5449
5450         * snames.h, snames.ads, snames.adb: Add entry for pragma
5451         Detect_Blocking.
5452
5453         * s-rident.ads: Change reference to pragma Detect_Blocking.
5454
5455         * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
5456         system.ads.
5457
5458         * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
5459         to indicate whether pragma Detect_Blocking is active.
5460
5461         * par-prag.adb: Add entry for pragma Detect_Blocking.
5462
5463         * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
5464         of not handling WITH.
5465         Note that this replaces the previous update which was incorrect.
5466
5467 2004-06-25  Javier Miranda  <miranda@gnat.com>
5468
5469         * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
5470         use-clauses to have a clean environment.
5471
5472         * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
5473         the installation of the use-clauses to stablish a clean environment in
5474         case of compilation of a separate unit; otherwise the call to
5475         use_one_package is protected by the barrier Applicable_Use.
5476
5477         * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
5478         the installation of the use-clauses to stablish a clean environment in
5479         case of compilation of a separate unit.
5480         (End_Use_Clauses): Minor comment cleanup.
5481
5482 2004-06-25  Sergey Rybin  <rybin@act-europe.fr>
5483
5484         * gnat_ugn.texi: Add description of the gnatpp 'files' switch
5485
5486 2004-06-23  Richard Henderson  <rth@redhat.com>
5487
5488         * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
5489
5490 2004-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5491
5492         * decl.c (elaborate_expression, elaborate_expression_1): Arguments
5493         now bool instead of int.
5494         (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
5495         * trans.c (gnu_switch_label_stack): New function.
5496         (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
5497         elaboration of renamed entity returns.
5498         (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
5499         (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
5500         (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
5501         (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
5502         DECL_SIZE_UNIT and simplify variable-sized case.
5503         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
5504         Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
5505         (gnat_stabilize_reference): Add arg to COMPONENT_REF.
5506         (build_unit_elab): Disable for now.
5507         * utils.c (mark_visited): New function.
5508         (pushdecl): Walk tree to call it for global decl.
5509         (update_pointer_to): Update all variants of pointer and ref types.
5510         Add arg to COMPONENT_REF.
5511         (convert): Likewise.
5512         Move check for converting between variants lower down.
5513         * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
5514         (build_allocator): Don't force type of MODIFY_EXPR.
5515         (gnat_mark_addressable, case VAR_DECL): Unconditionally call
5516         put_var_into_stack.
5517
5518 2004-06-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5519
5520         * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
5521         * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
5522         * decl.c (gnat_to_gnu_entity): Also set force_global for imported
5523         subprograms.
5524         * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
5525         all callers changed.
5526         (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
5527         the way that EXIT_STMT finds the loop label.
5528         (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
5529         (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
5530         (add_stmt): Use annotate_with_locus insted of setting directly.
5531         (pos_to_construct): Set TREE_PURPOSE of each entry to index.
5532         (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
5533         * utils.c (gnat_install_builtins): Install __builtin_memcmp.
5534         (build_vms_descriptor): Add extra args to ARRAY_REF.
5535         (convert): Use VIEW_CONVERT_EXPR between aggregate types.
5536         * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
5537         New cases.
5538         (build_binary_op): Don't make explicit CONVERT_EXPR.
5539         Add extra rgs to ARRAY_REF.
5540
5541 2004-06-14  Pascal Obry  <obry@gnat.com>
5542
5543         * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
5544         Windows.  Fix minor typo.
5545
5546         * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
5547         which is now supported on Windows. With this implementation using the
5548         Library Project feature is no different on Windows than on UNIX.
5549
5550 2004-06-14  Vincent Celier  <celier@gnat.com>
5551
5552         * makegpr.adb (Compile_Sources): Nothing to do when there are no
5553         non-Ada sources.
5554
5555         * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
5556
5557         * prj-part.adb (Parse_Single_Project): When a duplicate project name is
5558         found, show the project name and the path of the previously parsed
5559         project file.
5560
5561 2004-06-14  Ed Schonberg  <schonberg@gnat.com>
5562
5563         * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
5564         array, avoid copying the actual before the call.
5565
5566 2004-06-14  Thomas Quinot  <quinot@act-europe.fr>
5567
5568         * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
5569         Instead, allocate memory on worst-case alignment assumptions, and then
5570         return an aligned address within the allocated zone.
5571
5572 2004-06-14  Robert Dewar  <dewar@gnat.com>
5573
5574         * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
5575         elab entities in predefined units in No_Run_Time_Mode.
5576         (Gen_Adainit_C): Same fix
5577         (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
5578         units in No_Run_Time_Mode
5579         (Gen_Elab_Calls_C): Same fix
5580
5581         * symbols-vms-alpha.adb: Minor reformatting
5582
5583         * g-debpoo.ads: Minor reformatting
5584
5585         * lib.adb (In_Same_Extended_Unit): Version working on node id's
5586
5587         * lib.ads (In_Same_Extended_Unit): Version working on node id's
5588
5589         * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
5590         working on nodes.
5591
5592         * make.adb: Minor reformatting
5593
5594         * par-ch12.adb: Minor reformatting
5595
5596         * par-prag.adb: Add dummy entry for pragma Profile_Warnings
5597
5598         * prj-strt.adb: Minor reformatting
5599
5600         * restrict.ads, restrict.adb: Redo handling of profile restrictions to
5601         be more general.
5602
5603         * sem_attr.adb: Minor reformatting
5604
5605         * sem_ch7.adb: Minor reformatting
5606
5607         * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
5608         for type in the same unit as the object declaration.
5609
5610         * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
5611         static string expressions and not just string literals.
5612         Minor reformatting
5613         (Set_Warning): Reset restriction warning flag for restriction pragma
5614         Implement pragma Profile_Warnings
5615         Implement pragma Profile (Restricted)
5616         Give obolescent messages for old restrictions and pragmas
5617
5618         * snames.h, snames.ads, snames.adb: Add new entry for pragma
5619         Profile_Warnings.
5620
5621         * s-rident.ads: Add declarations for restrictions required by profile
5622         Restricted and profile Ravenscar.
5623
5624         * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
5625
5626         * gnat_ugn.texi: Correct some missing entries in the list of GNAT
5627         configuration pragmas.
5628
5629 2004-06-11  Vincent Celier  <celier@gnat.com>
5630
5631         * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
5632         gnatsym, when symbol policy is Restricted.
5633
5634         * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
5635         gnatsym, when symbol policy is Restricted.
5636
5637         * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
5638         read the symbol file.
5639         (Finalize): Fail in symbol policy Restricted if a symbol in the original
5640         symbol file is not in the object files. Do not create a new symbol file
5641         when symbol policy is Restricted.
5642
5643         * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
5644         in Scng.
5645
5646         * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
5647         Restricted.
5648         (Usage): Line for new switch -R
5649
5650         * make.adb (Initialize): When the platform is not VMS, add the
5651         directory where gnatmake is invoked in the front of the path, if
5652         gnatmake is invoked with directory information.  Change the Scan_Args
5653         while loop to a for loop.
5654         (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
5655         if Depth is equal or greater than the proposed depth, there is nothing
5656         to do.
5657         (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
5658         instead of 0.
5659
5660         * prj.ads: Add new symbol policy Restricted.
5661
5662         * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
5663         with the new parameters Check_All_Labels and Case_Location.
5664
5665         * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
5666         (Library_Symbol_File needs to be defined).
5667
5668         * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
5669         and Case_Location If Check_All_Labels is True, check that all values of
5670         the string type are used, and output warning(s) if they are not.
5671
5672         * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
5673         and Case_Location.
5674
5675         * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
5676
5677         * gnat_ugn.texi: Update documentation about the library directory in
5678         Library Projects.
5679
5680         * makegpr.adb (Display_Command): In verbose mode, also display the
5681         value of the CPATH env var, when the compiler is gcc.
5682         (Initialize): Change the Scan_Args while loop to a for loop
5683         (Compile_Individual_Sources): Change directory to object directory
5684         before compilations.
5685
5686         * symbols.ads: New symbol policy Restricted.
5687
5688 2004-06-11  Olivier Hainque  <hainque@act-europe.fr>
5689
5690         * a-except.adb (Raise_After_Setup family): Remove. The responsibility
5691         is now taken care of internally in the Exception_Propagation package
5692         and does not require clients assistance any more.
5693
5694         * a-exexpr.adb (Is_Setup_And_Not_Propagated,
5695         Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
5696         functions. Helpers to maintain a predicate required in the handling of
5697         occurrence transfer between tasks.
5698         This is now handled internally and does not require clients assistance
5699         for the setup/propagate separation anymore.
5700         (Setup_Exception, Propagate_Exception): Simplify the Private_Data
5701         allocation strategy, handle the Setup_And_Not_Propagated predicate and
5702         document.
5703
5704         * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
5705         raise_after_setup, now that everything is handled internally within the
5706         setup/propagation engine.
5707
5708 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
5709
5710         * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
5711         Add additional conditions for the case of an actual being a simple
5712         name or literal. Improve inlining by preventing the generation
5713         of temporaries with a short lifetime (one use).
5714
5715 2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
5716
5717         PR ada/15587
5718
5719         * einfo.ads: Minor comment updates for Has_Completion and
5720         E_Constant list of flags.
5721
5722         * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
5723         and constant redeclarations now set the Has_Completion flag of their
5724         defining identifiers.
5725
5726         * sem_ch7.adb (Analyze_Package_Spec): Add procedure
5727         Inspect_Deferred_Constant_Completion.
5728         Used to detect private deferred constants that have not been completed
5729         either by a constant redeclaration or pragma Import. Emits error message
5730         "constant declaration requires initialization expression".
5731
5732         * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
5733         completes a deferred constant.
5734
5735 2004-06-11  Geert Bosch  <bosch@gnat.com>
5736
5737         * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
5738
5739         * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
5740         calculating exponent for scaling denormal numbers.
5741         (Leading_Part): Properly raise Constraint_Error for zero or negative
5742         Adjustment.
5743         (Remainder): Properly raise Constraint_Error for zero divisor.
5744
5745 2004-06-11  Thomas Quinot  <quinot@act-europe.fr>
5746
5747         * sem_util.adb: Minor reformatting.
5748
5749         * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
5750         dereference when accessing the entry parameter record.
5751         (Check_Array_Type): Always check for possible implicit dereference.
5752         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
5753         Abort if a pointer is still present (denoting that an implicit
5754         dereference was left in the tree by the front-end).
5755
5756         * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
5757         dereference when accessing the entry parameter record.
5758         (Check_Array_Type): Always check for possible implicit dereference.
5759         (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
5760         Abort if a pointer is still present (denoting that an implicit
5761         dereference was left in the tree by the front-end).
5762
5763 2004-06-11  Emmanuel Briot  <briot@act-europe.fr>
5764
5765         * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
5766         message, like the compiler itself does. Easier to parse the output.
5767
5768         * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
5769
5770         * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
5771         be base names, and not includes directories.
5772
5773 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
5774
5775         * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
5776         so that dependencies are properly taken into account by make.
5777
5778 2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
5779
5780         PR ada/15622
5781         * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
5782         exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
5783
5784 2004-06-11  Jerome Guitton  <guitton@act-europe.fr>
5785
5786         * Makefile.in (install-gnatlib): install target-specific run-time files.
5787
5788         * Make-lang.in: Remove obsolete targets.
5789
5790 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
5791
5792         * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
5793         specification, to catch misuses of program unit names.
5794
5795         * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
5796         superfluous conversions in an instance.
5797
5798 2004-06-11  Ed Schonberg  <schonberg@gnat.com>
5799
5800         PR ada/15403
5801
5802         * sem_ch12.adb (Save_References): If operator node has been folded to
5803         enumeration literal, associated_node must be discarded.
5804
5805 2004-06-11  Jose Ruiz  <ruiz@act-europe.fr>
5806
5807         * s-stchop-vxworks.adb: Add required pragma Convention to
5808         Task_Descriptor because it is updated by a C function.
5809
5810 2004-06-08  Arnaud Charlet  <charlet@act-europe.fr>
5811
5812         PR ada/15568
5813
5814         * Makefile.in: Remove target specific SO_OPT on IRIX
5815
5816 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5817
5818         * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
5819         (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
5820         (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
5821         (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
5822         (STMT_STMT, USE_STMT): New statement codes.
5823         (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
5824         * ada-tree.h: Reflect above changes.
5825         (struct tree_loop_id): Deleted.
5826         (union lang_tree_node, struct lang_decl, struct lang_type):
5827         Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
5828         and DECL_LANGUAGE_SPECIFIC to reflect these changes.
5829         (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
5830         (IS_ADA_STMT): New macro.
5831         * decl.c (annotate_decl_with_node): New function.
5832         (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
5833         (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
5834         Call add_stmt_with_node to do needed assignments.
5835         Add call to update setjmp buffer directly, not via EXPR_STMT.
5836         (maybe_variable): Argment GNAT_NODE deleted.
5837         * gigi.h (maybe_variable): Likewise.
5838         (make_transform, add_stmt_with_node, set_block_for_group): New.
5839         (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
5840         (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
5841         (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
5842         (set_lineno, set_lineno_from_sloc): Likewise.
5843         (record_code_position, insert_code_for): Likewise.
5844         (gnat_poplevel): Now returns void.
5845         (end_subprog_body): Now takes argument.
5846         * misc.c (cgraph.h, tree-inline.h): New includes.
5847         (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
5848         (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
5849         (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
5850         (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
5851         (gnat_parse_file): Don't set immediate_size_expand.
5852         Call cgraph functions.
5853         (gnat_expand_expr): Remove most cases.
5854         (record_code_position, insert_code_for): Remove from here.
5855         * trans.c (toplev.h, tree-gimple.h): Now included.
5856         (discard_file_names): Deleted.
5857         (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
5858         (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
5859         (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
5860         (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
5861         (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
5862         (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
5863         (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
5864         (set_block_for_group, add_stmt_list): Likewise.
5865         (start_stmt_group): Renamed from start_block_stmt.
5866         (end_stmt_group): Likewise, from end_block_stmt.
5867         (build_stmt_group): Likewise, from build_block_stmt, also add arg.
5868         (gigi): Don't set discard_file_names or call set_lineno.
5869         Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
5870         (tree_transform): Deleted, now renamed to be gnat_to_gnu.
5871         Numerous changes throughout to reflect new names and complete
5872         function-at-a-time implementation.
5873         (gnat_expand_stmt): Delete or comment out all cases.
5874         (process_inlined_subprograms): Use add_stmt.
5875         (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
5876         call set_lineno; also remove unneeded block handling.
5877         (process_type): Remove unneeded block handling.
5878         (build_unit_elab): Remove calls to deleted functions.
5879         * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
5880         (tree-dump.h): Likewise.
5881         (struct ada_binding_level): Add field jmpbuf_decl.
5882         (gnat_define_builtin, gnat_install_builtins): New.
5883         (gnat_gimplify_function, gnat_finalize): Likewise.
5884         (gnat_poplevel): No longer return BLOCK, set it instead.
5885         Remove code dealing with nested functions.
5886         (gnat_init_decl_processing): Also set size_type_node.
5887         Call gnat_install_builtins.
5888         (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
5889         (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
5890         Remove special-case for "main".
5891         (end_subprog_body): Add arg and rework for tree-ssa.
5892         (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
5893         Add case for BOOLEAN_TYPE.
5894         * utils2.c (rtl.h): Now include.
5895         (build_call_raise): Test Debug_Flag_NN directly.
5896         (build_call_alloc_dealloc): Don't use local stack allocation for now.
5897         (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
5898         (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
5899
5900 2004-06-07  Robert Dewar  <dewar@gnat.com>
5901
5902         * a-direct.ads, einfo.ads: Minor comment updates
5903
5904         * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
5905         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
5906         s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
5907         s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
5908         s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
5909
5910         * s-interr-sigaction.adb: Remove unreferenced variable
5911         (Attached_Interrupts).  Minor reformatting.
5912         Avoid use of variable I (replace by J).
5913
5914         * par-ch10.adb: Fix text of one error message
5915
5916         * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
5917         exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
5918         exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
5919         opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
5920         par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
5921         par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
5922         sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
5923         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
5924         sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
5925         sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
5926         snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
5927         2005 support.
5928
5929 2004-06-07  Doug Rupp  <rupp@gnat.com>
5930
5931         * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
5932
5933         * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
5934
5935         * mlib-tgt-vms-ia64.adb: New file.
5936
5937         * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
5938         Add mlib-tgt-vms-ia64.adb
5939         Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
5940         Move to alpha specific ifeq section.
5941         Add VMS specific versions of symbols.adb
5942         Renaming of 5q vms files.
5943
5944         * 5qsystem.ads renamed to system-vms_64.ads.
5945
5946 2004-06-07  Vincent Celier  <celier@gnat.com>
5947
5948         * a-calend.ads: Add a GNAT Note comment after function Time_Of to
5949         explain that when a time of day corresponding to the non existing hour
5950         on the day switching to DST is specified, Split may return a different
5951         value for Seconds.
5952
5953         * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
5954         to GNAT PRETTY.
5955
5956         * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
5957         (Normalize_Pathname): Only resolve VMS logical names when on VMS.
5958
5959         * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
5960         to False.
5961         If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
5962         the linking options.
5963         (Build_Library.Check_Libs): On VMS, if there is a dependency on
5964         g-trasym.ads, set Gtrasymobj_Needed to True.
5965
5966         * prj-attr.adb: Add new package Metrics for gnatmetric
5967
5968         * prj-nmsc.adb (Record_Other_Sources): Put source file names in
5969         canonical case to take into account files with upper case characters on
5970         Windows.
5971         (Ada_Check): Load the reference symbol file name in the name buffer to
5972         check it, not the symbol file name.
5973
5974         * snames.ads, snames.adb: Add standard name Metrics (name of project
5975         file package for gnatmetric).
5976
5977         * vms_conv.ads: Add Metric to Comment_Type
5978
5979         * vms_conv.adb (Initialize): Add component dor Metric in Command_List
5980
5981         * vms_data.ads: Add qualifiers for GNAT METRIC
5982
5983         * makegpr.adb (Link_Executables): Take into account the switches
5984         specified in package Linker of the main project.
5985
5986 2004-06-07  Thomas Quinot  <quinot@act-europe.fr>
5987
5988         * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
5989         the index of the last element is Units.Last, not Units.Table'Last
5990         (which is usually not a valid index within the actually allocated
5991         storage for the table).
5992
5993         * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
5994         determines whether to generate a call to a checked storage pool
5995         Dereference action.
5996         Generate such a call only for a dereference that either comes from
5997         source, or is the result of rewriting a dereference that comes from
5998         source.
5999
6000 2004-06-07  Romain Berrendonner  <berrendo@act-europe.fr>
6001
6002         * bindgen.adb (Gen_Output_File): Add support for GAP builds.
6003
6004 2004-06-07  Eric Botcazou  <ebotcazou@act-europe.fr>
6005
6006         (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
6007         file level, elaborate the stride for inner dimensions in alignment
6008         units, not bytes.
6009
6010         * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
6011         in a comment.
6012
6013 2004-06-07  Javier Miranda  <miranda@gnat.com>
6014
6015         * exp_ch6.adb: Correct wrong modification in previous patch
6016
6017 2004-06-07  Vasiliy Fofanov  <fofanov@act-europe.fr>
6018
6019         * g-trasym.ads: Corrected comment to properly reflect level of support
6020         on VMS.
6021
6022 2004-06-07  Hristian Kirtchev  <kirtchev@gnat.com>
6023
6024         * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
6025         includes case of a variable referenced on the left hand side of an
6026         assignment, therefore remove redundant code. Variables and prefixes of
6027         indexed or selected components are now marked as referenced on left
6028         hand side. Warnings are now properly emitted when variables or prefixes
6029         are assigned but not read.
6030
6031         * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
6032         left hand side referenced variables. Private access types do not
6033         produce the warning "variable ... is assigned but never read".
6034         Add also additional checks to left hand side referenced variables.
6035         Aliased, renamed objects and access types do not produce the warning
6036         "variable ... is assigned but never read" since other entities may read
6037         the memory location.
6038
6039 2004-06-07  Jerome Guitton  <guitton@act-europe.fr>
6040
6041         * Makefile.in: In the powerpc/vxworks-specific section, restore
6042         EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
6043         by mistake).
6044
6045 2004-06-07  Ed Schonberg  <schonberg@gnat.com>
6046
6047         * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
6048         predefined operators.
6049         Removes spurious type errors from g-trasym-vms.adb.
6050
6051         * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
6052         distinct from the operator appearing in the source, call appropriate
6053         routine to insert conversions when needed, and complete resolution of
6054         node.
6055         (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
6056         interpretations for rewritten right operand.
6057         (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
6058         the other operand is overloaded and the context is a type conversion.
6059
6060 2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6061
6062         * ada-tree.def (BLOCK_STMT): Now has two operands.
6063         (BREAK_STMT): New.
6064
6065         * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
6066
6067         * gigi.h: (gnat_poplevel): Now returns a tree.
6068
6069         * trans.c (end_block_stmt): Add arg; all callers changed.
6070         (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
6071         (start_block_stmt): Clear BLOCK_STMT_BLOCK.
6072         (add_stmt): Set TREE_TYPE.
6073         (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
6074         (gnat_expand_stmt, case BREAK_STMT): New case.
6075
6076         * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
6077
6078 2004-06-07  Jose Ruiz  <ruiz@act-europe.fr>
6079
6080         * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
6081         procedure Set_Stack_Size that is not needed.
6082
6083 2004-06-07  Sergey Rybin  <rybin@act-europe.fr>
6084
6085         * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
6086         used for gnatpp input file and for the files upon which it depends
6087
6088 2004-06-07  Ben Brosgol  <brosgol@gnat.com>
6089
6090         * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
6091
6092 2004-06-07  Arnaud Charlet  <charlet@act-europe.fr>
6093
6094         * gnatvsn.ads: Bump version numbers appropriately.
6095         Add new build type.
6096
6097 2004-06-07  Pascal Obry  <obry@gnat.com>
6098
6099         * gnat_ugn.texi: Improve comments about imported names and link names
6100         on Windows. Add a note about the requirement to use -k gnatdll's option
6101         when working with a DLL which has stripped stdcall symbols (no @nn
6102         suffix).
6103
6104 2004-05-27  Vincent Celier  <celier@gnat.com>
6105
6106         * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
6107         COMMENTS_LAYOUT=UNTOUCHED
6108
6109         * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
6110         symbols-vms-alpha.adb
6111
6112 2004-05-27  Thomas Quinot  <quinot@act-europe.fr>
6113
6114         * sem.ads: Clarify documentation on checks suppression.
6115
6116         * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
6117
6118 2004-05-27  Ed Schonberg  <schonberg@gnat.com>
6119
6120         * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
6121         the case of multiple derivations.
6122         (Is_Object_Reference): For a selected component, verify that the prefix
6123         is itself an object and not a value.
6124
6125         * sem_ch12.adb (Same_Instantiated_Constant): New name for
6126         Same_Instantiated_Entity.
6127         (Same_Instantiated_Variable): Subsidiary to
6128         Check_Formal_Package_Instance, to recognize actuals for in-out generic
6129         formals that are obtained from a previous formal package.
6130         (Instantiate_Subprogram_Body): Emit proper error when
6131         generating code and the proper body of a stub is missing.
6132
6133         * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
6134         has a universal interpretation, do the disambiguation here.
6135
6136         * exp_ch4.adb (Expand_N_Type_Conversion,
6137         Expand_N_Unchecked_Type_Conversion): Special handling when target type
6138         is Address, to avoid typing anomalies when Address is a visible integer
6139         type.
6140
6141         * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
6142         to determine whether a subprogram should not be marked Pure, even when
6143         declared in a pure package.
6144
6145 2004-05-27  Jose Ruiz  <ruiz@act-europe.fr>
6146
6147         * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
6148
6149         * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
6150         Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
6151         Update the documentation about the Ravenscar profile, following the
6152         definition found in AI-249.
6153
6154         * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
6155         setting the Profile (Ravenscar). This must be done in addition to
6156         setting the required restrictions.
6157
6158         * rtsfind.ads: Add the set of operations defined in package
6159         Ada.Interrupts.
6160
6161         * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
6162         restriction.
6163
6164 2004-05-27  Eric Botcazou  <ebotcazou@act-europe.fr>
6165
6166         lang-specs.h: Always require -c or -S and always redirect to /dev/null
6167         if -gnatc or -gnats is passed.
6168
6169 2004-05-27  Hristian Kirtchev  <kirtchev@gnat.com>
6170
6171         * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
6172         a significant reference. Warnings are now properly emitted when a
6173         discriminated type is not referenced.
6174
6175         * lib-xref.adb (Generate_Reference): A deferred constant completion,
6176         record representation clause or record type discriminant does not
6177         produce a reference to its corresponding entity. Warnings are now
6178         properly emitted when deferred constants and record types are not
6179         referenced.
6180
6181 2004-05-27  Geert Bosch  <bosch@gnat.com>
6182
6183         * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
6184         Fixes ACATS Annex G tests.
6185
6186 2004-05-27  Robert Dewar  <dewar@gnat.com>
6187
6188         * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
6189         handling WITH
6190
6191 2004-05-27  Arnaud Charlet  <charlet@act-europe.fr>
6192
6193         * s-interr.adb (Server_Task): Take into account case of early return
6194         from sigwait under e.g. linux.
6195
6196 2004-05-27  Sergey Rybin  <rybin@act-europe.fr>
6197
6198         * gnat_ugn.texi: Add description for the new gnatpp options:
6199          -rnb - replace the original source without creating its backup copy
6200          -c0 - do not format comments
6201
6202 2004-05-24  Geert Bosch  <bosch@gnat.com>
6203
6204         * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
6205         with 192 bits of precision, sufficient to reduce a double-extended
6206         arguments X with a maximum relative error of T'Machine_Epsilon, for X
6207         in -2.0**32 .. 2.0**32.
6208         (Cos, Sin):  Always reduce arguments of 1/4 Pi or larger, to prevent
6209         reduction by the processor, which only uses a 68-bit approximation of
6210         Pi.
6211         (Tan): Always reduce arguments and compute function either using
6212         the processor's fptan instruction, or by dividing sin and cos as needed.
6213
6214 2004-05-24  Doug Rupp  <rupp@gnat.com>
6215
6216         * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
6217         gcc error on 32/64 bit VMS.
6218
6219 2004-05-24  Olivier Hainque  <hainque@act-europe.fr>
6220
6221         * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
6222         since this is what we get for stack overflows although not documented
6223         as such.
6224         Document the issues which may require adjustments to our signal
6225         handlers.
6226
6227 2004-05-24  Ed Schonberg  <schonberg@gnat.com>
6228
6229         * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
6230         enclosing dynamic scope if the instantiation is within a generic unit.
6231
6232 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
6233
6234         * exp_dbug.ads: Fix typo.
6235
6236         * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
6237         Rename it to its proper name: system-linux-ia64.ads
6238         (stamp-gnatlib1): Remove extra target specific run time files when
6239         setting up the rts directory.
6240
6241 2004-05-24  Javier Miranda  <miranda@gnat.com>
6242
6243         * einfo.ads, einfo.adb (Limited_Views): Removed.
6244         (Limited_View): New attribute that replaces the previous one. It is
6245         now a bona fide package with the limited-view list through the
6246         first_entity and first_private attributes.
6247
6248         * sem_ch10.adb (Install_Private_With_Clauses): Give support to
6249         limited-private-with clause.
6250         (Install_Limited_Withed_Unit): Install the private declarations of a
6251         limited-private-withed package. Update the installation of the shadow
6252         entities according to the new structure (see Build_Limited_Views)
6253         (Build_Limited_Views): Replace the previous implementation of the
6254         limited view by a package entity that references the first shadow
6255         entity plus the first shadow private entity (required for limited-
6256         private-with clause)
6257         (New_Internal_Shadow_Entity): Code cleanup.
6258         (Remove_Limited_With_Clause): Update the implementation to undo the
6259         new work carried out by Build_Limited_Views.
6260         (Build_Chain): Complete documentation.
6261         Replace Ada0Y by Ada 0Y in comments
6262         Minor reformating
6263
6264         * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
6265         types the level of accessibility depends on the enclosing type
6266         declaration.
6267
6268         * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
6269         entities. Complete documentation of previous change.
6270
6271 2004-05-24  Robert Dewar  <dewar@gnat.com>
6272
6273         * namet.adb: Minor reformatting
6274         Avoid use of name I (replace by J)
6275         Minor code restructuring
6276
6277         * sem_ch6.adb: Minor reformatting
6278
6279         * lib-writ.adb: Do not set restriction as active if this is a
6280         Restriction_Warning case.
6281
6282         * sem_prag.adb: Reset restriction warning flag if real pragma
6283         restriction encountered.
6284
6285         * s-htable.adb: Minor reformatting
6286         Change rotate count to 3 in Hash (improves hash for small strings)
6287
6288         * 5qsystem.ads: Add comments for type Address (no literals allowed).
6289
6290         * gnat_ugn.texi: Add new section of documentation "Code Generation
6291         Control", which describes the use of -m switches.
6292
6293 2004-05-24  Eric Botcazou  <ebotcazou@act-europe.fr>
6294
6295         trans.c (tree_transform) <N_Identifier>: Do the dereference directly
6296         through the DECL_INITIAL for renamed variables.
6297
6298 2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
6299
6300         * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
6301
6302 2004-05-19  Joel Brobecker  <brobecker@gnat.com>
6303
6304         * exp_dbug.ads: Correct comments concerning handling of overloading,
6305         since we no longer use $ anymore.
6306
6307 2004-05-19  Sergey Rybin  <rybin@act-europe.fr>
6308
6309         * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
6310         ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
6311         with illegal subunits.
6312
6313 2004-05-19  Ed Schonberg  <schonberg@gnat.com>
6314
6315         * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
6316         body with front-end inlining enabled, check whether an inline pragma
6317         appears immediately after the body and applies to it.
6318
6319         * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
6320         enabled and the pragma appears after the body of the subprogram.
6321
6322 2004-05-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6323
6324         Part of function-at-a-time conversion
6325
6326         * misc.c (adjust_decl_rtl): Deleted.
6327         (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
6328         Define.
6329
6330         * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
6331         (add_decl_stmt, add_stmt, block_has_vars): New functions.
6332         (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
6333
6334         * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
6335         when making a decl.
6336         (gnat_to_gnu_entity): Likewise.
6337         Use add_stmt to update setjmp buffer.
6338         Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
6339         flush_addressof.
6340         No longer call adjust_decl_rtl.
6341         (DECL_INIT_BY_ASSIGN_P): New macro.
6342         (DECL_STMT_VAR): Likewise.
6343
6344         * trans.c (gigi): Call start_block_stmt to make the outermost
6345         BLOCK_STMT.
6346         (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
6347         Call start_block_stmt and end_block_stmt temporarily.
6348         Use gnat_expand_stmt instead of expand_expr_stmt.
6349         (add_decl_stmt): New function.
6350         (tree_transform): Call it.
6351         (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
6352         (end_block_stmt): Set type and NULL_STMT.
6353         (gnat_expand_stmt): Make recursize call instead of calling
6354         expand_expr_stmt.
6355         (gnat_expand_stmt, case DECL_STMT): New case.
6356         (set_lineno_from_sloc): Do nothing if global.
6357         (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
6358         (start_block_stmt, add_stmt, end_block_stmt): New functions.
6359         (build_block_stmt): Call them.
6360         (gnat_to_code): Don't expand NULL_STMT.
6361         (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
6362         args.
6363         (tree_transform): Likewise.
6364         (tree_transform, case N_Null_Statement): Return NULL_STMT.
6365         (gnat_expand_stmt, case NULL_STMT): New case.
6366         (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
6367         IF_STMT_TRUE.
6368
6369         * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
6370         TREE_ADDRESSABLE.
6371
6372         * utils.c (create_var_decl): Do not call expand_decl or
6373         expand_decl_init.
6374         Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
6375         Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
6376         here.
6377         (struct e_stack): Add chain_next to GTY.
6378         (struct binding_level): Deleted.
6379         (struct ada_binding_level): New struct.
6380         (free_block_chain): New.
6381         (global_binding_level, clear_binding_level): Deleted.
6382         (global_bindings_p): Rework to see if no chain.
6383         (kept_level_p, set_block): Deleted.
6384         (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
6385         new data structure and work directly on BLOCK node.
6386         (gnat_poplevel): Similarly.
6387         (get_decls): Look at BLOCK_VARS.
6388         (insert_block): Work directly on BLOCK node.
6389         (block_has_var): New function.
6390         (pushdecl): Rework for new binding structures.
6391         (gnat_init_decl_processing): Rename and rework calls to pushlevel and
6392         poplevel.
6393         (build_subprog_body): Likewise.
6394         (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
6395
6396         * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
6397
6398         * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
6399         (DECL_STMT_VAR): Likewise.
6400
6401 2004-05-17  Robert Dewar  <dewar@gnat.com>
6402
6403         * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
6404         procedure
6405
6406         * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
6407         of restriction synonyums by using
6408         Restrict.Process_Restriction_Synonyms.
6409
6410         * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
6411
6412         * s-restri.ads (Tasking_Allowed): Correct missing comment
6413
6414         * s-rident.ads: Add entries for restriction synonyms
6415
6416         * ali.adb: Fix some problems with badly formatted ALI files that can
6417         result in infinite loops.
6418
6419         * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
6420         s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
6421         s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
6422         s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
6423         s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
6424         s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
6425         s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
6426         s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
6427         s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
6428         a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
6429         exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
6430         s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
6431         s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
6432         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
6433         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
6434         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
6435         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
6436         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
6437         s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
6438         s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
6439         to Task_Id (minor cleanup).
6440
6441 2004-05-17  Vincent Celier  <celier@gnat.com>
6442
6443         * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
6444         directory separator.
6445
6446         * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
6447         project being extended, if Languages is not declared in extending
6448         project.
6449
6450 2004-05-17  Javier Miranda  <miranda@gnat.com>
6451
6452         * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
6453         limited view of a visible sibling.
6454
6455 2004-05-14  Robert Dewar  <dewar@gnat.com>
6456
6457         * gnat_ugn.texi: Minor change to -gnatS documentation
6458
6459         * sprint.adb: Remove some instances of Assert (False) and for this
6460         purpose replace them by output of a ??? string.
6461
6462         * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
6463         Assert (False).
6464
6465         * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
6466         flag processing. This was suppressing required dependencies in
6467         No_Run_Time mode and is not needed since the binder does not generate
6468         references for things in libgnat anyway.
6469
6470         * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
6471         warning.
6472
6473 2004-05-14  Thomas Quinot  <quinot@act-europe.fr>
6474
6475         * gnat_ugn.texi: Document AIX-specific issue with initialization of
6476         resolver library.
6477
6478         * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
6479         action for the case of an actual parameter in an init proc call.
6480
6481 2004-05-14  Ed Schonberg  <schonberg@gnat.com>
6482
6483         * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
6484         subtype, check visible entities in base type.
6485
6486         * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
6487         actions if the object is a renaming.
6488
6489         * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
6490         Check_Formal_Package_Instance, to determine more precisely when the
6491         formal and the actual denote the same entity.
6492
6493 2004-05-14  Javier Miranda  <miranda@gnat.com>
6494
6495         * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
6496
6497         * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
6498         corresponding to a private_with must be removed from visibility; it
6499         will be made visible later, just before we analyze the private part of
6500         the package.
6501         (Check_Private_Child_Unit): Allow private_with clauses in public
6502         siblings.
6503         (Install_Siblings): Make visible the private entities of private-withed
6504         siblings.
6505         (Install_Withed_Unit): Do not install the private withed unit if we
6506         are compiling a package declaration and the Private_With_OK flag was
6507         not set by the caller. These declarations will be installed later,
6508         just before we analyze the private part of the package.
6509
6510         * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
6511         during the evaluation of the expression that initializes the object,
6512         decorate it with the expected type to avoid cascade errors.
6513         Code cleanup.
6514
6515         * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
6516         subprogram we have to install the private_with clauses after its
6517         specification has been analyzed (as documented in AI-262.TXT).
6518
6519         * sem_ch8.adb (Has_Private_With): New function. Determines if the
6520         current compilation unit has a private with on a given entity.
6521         (Find_Direct_Name): Detect the Beaujolais problem described in
6522         AI-262.TXT
6523
6524         * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
6525         provides the functionality of the function Is_Ancestor that was
6526         previously available in sem_ch10. It has been renamed to avoid
6527         overloading.
6528
6529         * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
6530
6531 2004-05-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6532
6533         * utils.c (build_vms_descriptor): Use SImode pointers.
6534
6535 2004-05-14  Vasiliy Fofanov  <fofanov@act-europe.fr>
6536
6537         * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
6538
6539 2004-05-14  GNAT Script  <nobody@gnat.com>
6540
6541         * Make-lang.in: Makefile automatically updated
6542
6543 2004-05-14  Arnaud Charlet  <charlet@act-europe.fr>
6544
6545         Renaming of target specific files for clarity
6546
6547         * Makefile.in: Rename GNAT target specific files.
6548
6549         * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
6550         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
6551         3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
6552         3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
6553         3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
6554         3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
6555         42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
6556         4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
6557         4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
6558         4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
6559         4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
6560         4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
6561         51osinte.adb, 51osinte.ads, 51system.ads,
6562         52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
6563         55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
6564         56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
6565         56tpopsp.adb, 57system.ads, 58system.ads,
6566         5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
6567         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
6568         5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
6569         5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
6570         5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
6571         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
6572         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
6573         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
6574         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
6575         5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
6576         5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
6577         5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
6578         5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
6579         5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
6580         5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
6581         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
6582         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
6583         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
6584         5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
6585         5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
6586         5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
6587         5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
6588         5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
6589         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
6590         5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
6591         5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
6592         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
6593         5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
6594         5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
6595         5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
6596         5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
6597         5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
6598         5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
6599         5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
6600         5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
6601         5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
6602         7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
6603         7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
6604         7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
6605         7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
6606
6607         * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
6608         a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
6609         a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
6610         a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
6611         a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
6612         a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
6613         a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
6614         a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
6615         a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
6616         a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
6617         g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
6618         g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
6619         g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
6620         g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
6621         g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
6622         g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
6623         g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
6624         g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
6625         interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
6626         mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
6627         mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
6628         mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
6629         s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
6630         s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
6631         s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
6632         s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
6633         s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
6634         s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
6635         s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
6636         s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
6637         s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
6638         s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
6639         s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
6640         s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
6641         s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
6642         s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
6643         s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
6644         s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
6645         s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
6646         s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
6647         s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
6648         s-osinte-vms.ads, s-osinte-vxworks.adb,
6649         s-osinte-vxworks.ads, s-osprim-mingw.adb,
6650         s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
6651         s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
6652         s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
6653         s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
6654         s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
6655         s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
6656         s-stchop-vxworks.adb, s-taprop-dummy.adb,
6657         s-taprop-hpux-dce.adb, s-taprop-irix.adb,
6658         s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
6659         s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
6660         s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
6661         s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
6662         s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
6663         s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
6664         s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
6665         s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
6666         s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
6667         s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
6668         s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
6669         s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
6670         s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
6671         s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
6672         s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
6673         s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
6674         s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
6675         symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
6676         system-hpux.ads, system-interix.ads, system-irix-n32.ads,
6677         system-irix-o32.ads, system-linux-x86_64.ads,
6678         system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
6679         system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
6680         system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
6681         system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
6682         system-vxworks-alpha.ads, system-vxworks-m68k.ads,
6683         system-vxworks-mips.ads, system-vxworks-ppc.ads,
6684         system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
6685         above.
6686
6687 2004-05-13  Zack Weinberg  <zack@codesourcery.com>
6688
6689         * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
6690
6691 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
6692
6693         Merge from tree-ssa-20020619-branch.
6694
6695         * config-lang.in (boot_language, build_by_default): Set
6696         to no.
6697         * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
6698         (max_size): Add static chain op for call_expr.
6699
6700 2004-05-12  Richard Sandiford  <rsandifo@redhat.com>
6701
6702         PR target/15331
6703         * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
6704
6705 2004-05-11  Roger Sayle  <roger@eyesopen.com>
6706
6707         * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
6708         COND_EXPR.
6709
6710 2004-05-10  Doug Rupp  <rupp@gnat.com>
6711
6712         * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
6713         system.aux_dec.
6714
6715         * s-auxdec.ads: Add Short_Address subtype (moved here from System).
6716
6717         * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
6718
6719         * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
6720         Fixes undefined symbols in IA64 gnatlib.
6721
6722         * 5vinmaop.adb: Reference s-auxdec for Short_Address.
6723
6724         * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
6725         Short_Address). This will be moved to system.auxdec.
6726
6727 2004-05-10  Thomas Quinot  <quinot@act-europe.fr>
6728
6729         * sem_util.adb: Replace test for presence of a node that is always
6730         present with a call to Discard_Node.
6731
6732         * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
6733         Analyze on the library unit node after generation of distribution stub
6734         constructs.  The call was a no-op because Unit_Node has already been
6735         Analyzed, and the tree fragments for the distribution stubs are
6736         analyzed as they are inserted in Exp_Dist.
6737         Update comment regarding to distribution stubs to reflect that we
6738         do not generate stub in separate files anymore.
6739
6740         * einfo.ads: Clarify the fact that a tagged private type has the
6741         E_Record_Type_With_Private Ekind.
6742
6743         * erroutc.adb: Minor reformatting
6744
6745         * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
6746         values if line length is increased using -gnatyM (noticed during code
6747         reading).
6748
6749         * eval_fat.adb: Minor reformatting
6750         Put spaces around exponentiation operator
6751
6752 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
6753
6754         PR ada/15005
6755         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
6756         has been rewritten as an explicit dereference, retrieve type of
6757         original node to check for possibly unconstrained record type.
6758
6759 2004-05-10  Ed Schonberg  <schonberg@gnat.com>
6760
6761         * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
6762         overriding, use the operation of the parent unconditionally.
6763
6764         * sem_ch4.adb (Remove_Address_Interpretations): Remove address
6765         operation when either operand is a literal, to avoid further
6766         ambiguities.
6767
6768         * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
6769         overridden by a previous explicit declaration, mark the previous entity
6770         as overriding.
6771
6772         * sem_disp.adb (Check_Dispatching_Operation): New predicate
6773         Is_Visibly_Controlled, to determine whether a declaration of a
6774         primitive control operation for a derived type overrides an inherited
6775         one. Add warning if the explicit declaration does not override.
6776
6777 2004-05-10  Vincent Celier  <celier@gnat.com>
6778
6779         * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
6780         some cases when the sources are no longer present.
6781
6782         * make.adb (Collect_Arguments): Fail if an external source, not part
6783         of any project need to be compiled, when switch -x has not been
6784         specified.
6785
6786         * makeusg.adb: Document new switch -x
6787
6788         * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
6789         defaulted to False.
6790
6791         * switch-m.adb (Scan_Make_Switches): New switch -x
6792
6793         * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
6794         gnatmake switch -x.
6795
6796         * gnat_ugn.texi: Document new gnatmake switch -x
6797
6798 2004-05-10  Eric Botcazou  <ebotcazou@act-europe.fr>
6799
6800         * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
6801
6802         * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
6803         (process_attributes): Likewise.
6804
6805 2004-05-10  Joel Brobecker  <brobecker@gnat.com>
6806
6807         * s-inmaop.ads: Fix spelling mistake in one of the comments.
6808
6809 2004-05-10  Robert Dewar  <dewar@gnat.com>
6810
6811         * gnat_ugn.texi: Document that for config pragma files, the maximum
6812         line length is always 32767.
6813
6814         * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
6815         literals is now allowed.
6816
6817         * gnat-style.texi: Remove statement about splitting long lines before
6818         an operator rather than after, since we do not follow this rule at all.
6819         Clarify rule (really lack of rule) for spaces around exponentiation
6820
6821         * sem_elim.adb: Allow concatenation of string literals as well as a
6822         single string literal for pragma arguments.
6823
6824         * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
6825
6826         * a-textio.adb (Terminate_Line): Do not add line feed if nothing
6827         written for append case.
6828
6829         * frontend.adb: Changes to avoid checking max line length in config
6830         pragma files.
6831
6832         * g-os_lib.ads: Minor reformatting
6833
6834         * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
6835         wrong in any case. Instead use standard value. Noticed during code
6836         reading.
6837
6838         * opt.ads (Max_Line_Length): New field, used to implement removal of
6839         limitation on length of lines when scanning config pragma files.
6840
6841         * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
6842         makeutl.ads, makeutl.adb: Minor reformatting
6843
6844         * scn.adb: Do not check line length while scanning config pragma files
6845         Do not check line length while scanning out license information
6846
6847         * scng.adb: Changes to avoid line length checks while parsing config
6848         pragma files.
6849
6850 2004-05-10  GNAT Script  <nobody@gnat.com>
6851
6852         * Make-lang.in: Makefile automatically updated
6853
6854 2004-05-05  Arnaud Charlet  <charlet@act-europe.fr>
6855
6856         * osint.adb (Find_Program_Name): Fix handling of VMS version
6857         number.
6858
6859 2004-05-05  Emmanuel Briot  <briot@act-europe.fr>
6860
6861         * g-os_lib.ads (Invalid_Time): New constant
6862
6863         * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
6864         return OS_Time instead of time_t to match what is imported by Ada.
6865         Now return -1 if the file doesn't exist, instead of a random value
6866
6867 2004-05-05  Robert Dewar  <dewar@gnat.com>
6868
6869         * usage.adb: Add line for -gnatR?s switch
6870
6871         * sem_ch13.adb, exp_ch2.adb: Minor reformatting
6872
6873         * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
6874         and for Match (Data_First, Data_last)
6875
6876         * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
6877         written when we are dealing with multi-unit files.
6878
6879 2004-05-05  Jerome Guitton  <guitton@act-europe.fr>
6880
6881         * Makefile.in: Remove unused targets and variables.
6882
6883 2004-05-05  Vincent Celier  <celier@gnat.com>
6884
6885         * switch-m.adb: New gnatmake switch -eI
6886
6887         * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
6888         of new gnatmake switch -eInnn.
6889
6890         * makegpr.adb: Take into account new parameters Index and Src_Index in
6891         Prj.Util.
6892
6893         * clean.adb: Implement support for multi-unit sources, including new
6894         switch -i.
6895
6896         * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
6897         Src_Index.
6898
6899         * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
6900         (Extract_From_Q): New out parameter Index
6901         (Mark, Is_Marked): Subprograms moved to Makeutl
6902         (Switches_Of): New parameter Source_Index
6903         (Add_Switch): New parameter Index
6904         (Check): New parameter Source_Index
6905         (Collect_Arguments): New parameter Source_Index
6906         (Collect_Arguments_And_Compile): New parameter Source_Index
6907         (Compile): New parameter Source_Index
6908         Put subprograms in alphabetical order
6909         Add support for multi-source sources, including in project files.
6910
6911         * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
6912         (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
6913         Make.
6914
6915         * makeusg.adb: New gnatmake switch -eInnn
6916
6917         * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
6918         Prj.Util.Value_Of.
6919
6920         * opt.ads (Main_Index): New variable, defaulted to 0.
6921
6922         * osint.ads, osinte.adb (Add_File): New parameter Index
6923         (Current_Source_Index): New function
6924
6925         * prj.adb: Take into account new components Index and Src_Index
6926
6927         * prj.ads (String_Element): New component Index
6928         (Variable_Value): New component Index
6929         (Array_Element): New component Src_Index
6930
6931         * prj-attr.adb: Indicate that optional index may be specified for
6932         attributes Main, Executable, Spec, Body and some of Switches.
6933
6934         * prj-attr.ads (Attribute_Kind): New values for optional indexes
6935         (Attribute_Record): New component Optional_Index
6936
6937         * prj-com.ads (File_Name_Data): New component Index
6938
6939         * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
6940
6941         * prj-env.adb (Put): Output optional index
6942
6943         * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
6944         attributes Spec and Body.
6945
6946         * prj-nmsc.adb: Process optional indexes
6947
6948         * prj-pp.adb: Ouput "at" for optional indexes
6949
6950         * prj-proc.adb: Take into account optional indexes
6951
6952         * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
6953         Optional_Index. For string literal,
6954         process optional index when Optional_Index is True.
6955         (Parse_Expresion): New Boolean parameter Optional_Index
6956
6957         * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
6958         (Set_Source_Index_Of): New procedure
6959
6960         * prj-util.adb (Executable_Of, Value_Of): Take into account optional
6961         index.
6962
6963         * prj-util.ads (Executable_Of): New parameter Index
6964         (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
6965         New parameter Src_Index, defaulted to 0.
6966
6967 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
6968
6969         PR ada/15257
6970         * sem_ch3.adb (Access_Definition): If this is an access parameter
6971         whose designated type is imported through a limited_with clause, do
6972         not add the enclosing subprogram to the list of private dependents of
6973         the type.
6974
6975 2004-05-05  Ed Schonberg  <schonberg@gnat.com>
6976
6977         PR ada/15258
6978         * sem_ch6.adb (Base_Types_Match): True if one type is imported through
6979         a limited_with clause, and the other is its non-limited view.
6980
6981 2004-05-05  Thomas Quinot  <quinot@act-europe.fr>
6982
6983         * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
6984
6985         * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
6986         exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
6987         Stand.Boolean_Literals to produce references to entities
6988         Standard_False and Standard_True from compile-time computed boolean
6989         values.
6990
6991         * stand.ads (Boolean_Literals): New variable, provides the entity
6992         values for False and True, for use by the expander.
6993
6994 2004-05-05  Doug Rupp  <rupp@gnat.com>
6995
6996         * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
6997         5vinmaop.adb: Unchecked convert Short_Address vice Address
6998
6999         * adaint.c, raise.c: Caste CRTL function return value
7000         to avoid gcc error on 32/64 bit IVMS.
7001
7002         * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
7003         target = IA64/VMS.
7004
7005         * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
7006
7007         * 5qsystem.ads (Address): Declare as Long_Integer
7008         (Short_Address): Declare as 32 bit subtype of Address
7009         Declare  abstract address operations to avoid gratuitous ambiguities.
7010
7011 2004-05-05  Jose Ruiz  <ruiz@act-europe.fr>
7012
7013         * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
7014         instead of the old Boolean_Entry_Barriers.
7015         Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
7016
7017 2004-05-05  GNAT Script  <nobody@gnat.com>
7018
7019         * Make-lang.in: Makefile automatically updated
7020
7021 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
7022
7023         * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
7024
7025 2004-05-03  Olivier Hainque  <hainque@act-europe.fr>
7026
7027         PR ada/15152
7028
7029         * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
7030         alone. Replacing object references by literals is inappropriate in a
7031         so low level context.
7032
7033 2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
7034
7035         * a-exexpr.adb: Add comments
7036
7037 2004-05-03  Joel Brobecker  <brobecker@gnat.com>
7038
7039         * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
7040         declare the Ancestor_Tags array in Type_Specific_Data with a small size
7041         without risking a bounds check error when accessing one of its
7042         components.
7043         (Type_Specific_Data): Define Ancestor_Tags as a small array.
7044         This prevents us from hitting a limitation during the debug info
7045         generation when using stabs.
7046
7047         * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
7048         small array.
7049         This prevents us from hitting a limitation during the debug info
7050         generation when using stabs.
7051
7052 2004-05-03  Eric Botcazou  <ebotcazou@act-europe.fr>
7053
7054         lang-specs.h: Remove -gnatz* from specs.
7055
7056 2004-05-03  Vincent Celier  <celier@gnat.com>
7057
7058         * gprmake.adb, makegpr.ads, makegpr.adb: New files.
7059
7060         * Make-lang.in, Makefile.in: Add gprmake
7061
7062 2004-05-03  Thomas Quinot  <quinot@act-europe.fr>
7063
7064         * sem_aggr.adb: Fix typo in comment.
7065
7066 2004-05-03  Robert Dewar  <dewar@gnat.com>
7067
7068         * make.adb: Minor reformatting
7069
7070         * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
7071
7072         * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
7073         so that it works when address is not a private type.
7074
7075         * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
7076         properly with rewritten unchecked conversions. This prevents
7077         order-of-elaboration issues that can otherwise arise.
7078         (Minimum_Size): Don't check size of access types under VMS
7079
7080         * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
7081         interpretations of integer literals as type System.Address.
7082
7083         * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
7084         (Is_Descendent_Of): New function
7085
7086 2004-05-03  Jose Ruiz  <ruiz@act-europe.fr>
7087
7088         * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
7089         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
7090         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
7091
7092         * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
7093         of the old Max_Entry_Queue_Depth.
7094
7095         * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
7096         Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
7097         No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
7098
7099         * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
7100         New entry for proper handling of Max_Entry_Queue_Depth.
7101         New entry for proper handling of No_Dynamic_Interrupts.
7102
7103         * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
7104         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
7105         Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
7106         the GNAT specific restriction Max_Entry_Queue_Depth.
7107         Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
7108         the GNAT specific restriction No_Dynamic_Interrupts.
7109
7110         * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
7111         instead of the old Boolean_Entry_Barriers.
7112         Use the new restriction No_Dynamic_Attachment instead of the old
7113         No_Dynamic_Interrupts.
7114
7115         * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
7116         supersedes the GNAT specific restriction Boolean_Entry_Barriers.
7117
7118         * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
7119         of the old Max_Entry_Queue_Depth.
7120
7121 2004-05-03  GNAT Script  <nobody@gnat.com>
7122
7123         * Make-lang.in: Makefile automatically updated
7124
7125 2004-04-29  Ed Schonberg  <schonberg@gnat.com>
7126
7127         * checks.adb (Enable_Range_Check): If the prefix of an index component
7128         is an access to an unconstrained array, perform check unconditionally.
7129
7130 2004-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7131
7132         * decl.c (gnat_to_gnu_field): Also call make_packable_type if
7133         Component_Clause.
7134
7135 2004-04-29  Olivier Hainque  <hainque@act-europe.fr>
7136
7137         * init.c (__gnat_install_handler, __gnat_error_handler): Remove
7138         alternate stack setting. There was no support for the tasking cases
7139         and the changes eventually caused a number of side-effect failures in
7140         the non-tasking case too.
7141
7142 2004-04-29  Eric Botcazou  <ebotcazou@act-europe.fr>
7143
7144         lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
7145         -gnats is passed.
7146
7147 2004-04-29  Vincent Celier  <celier@gnat.com>
7148
7149         * make.adb (Gnatmake): Increase max size of argument array for
7150         gnatbind for the potential addition of -F.
7151         If there are Stand-Alone Library projects, invoke gnatbind with -F to
7152         be sure that elaboration flags will be checked.
7153
7154         * switch-c.adb: Correct call to Scan_Pos for -gnateI
7155
7156 2004-04-29  Thomas Quinot  <quinot@act-europe.fr>
7157
7158         * sem_warn.adb (Check_References): Move '<access-variable> may be
7159         null' warning out of under Warn_On_No_Value_Assigned.
7160
7161 2004-04-29  Ed Falis  <falis@gnat.com>
7162
7163         * gnat_ugn.texi: Fixed texi error
7164
7165 2004-04-29  Robert Dewar  <dewar@gnat.com>
7166
7167         * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
7168         abstract operations if they come from predefined files.
7169
7170         * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
7171         Dynamic, not RM).
7172
7173         * s-addope.adb: Correct obvious error in mod function
7174
7175 2004-04-28  Andrew W. Reynolds  <awreynolds@mac.com>
7176
7177         * Makefile.in: Add target pairs for powerpc darwin*
7178         tasking support.
7179
7180         * a-intnam-darwin.ads, s-osinte-darwin.adb,
7181         s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
7182
7183 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
7184
7185         * Makefile.in: Add target macro definitions for s390*-linux*.
7186         * system-linux-s390.ads: New file.
7187         * system-linux-s390x.ads: New file.
7188
7189 2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
7190
7191         * gnat_ugn.texi: Correct argument to @setfilename.
7192
7193 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
7194
7195         * a-exexpr.adb (Unwind_Word): New data type.
7196         (Unwind_Exception): Use it as type of Private1 and Private2.
7197
7198         * raise.c (db_action_for): Fix debug printf.
7199
7200 2004-04-27  Ed Schonberg  <schonberg@gnat.com>
7201
7202         * a-wtmoio.ads: Formal type must be a modular type, not a signed
7203         integer type.
7204
7205 2004-04-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7206
7207         * decl.c (gnat_to_gnu_entity, case object): Call
7208         __builtin_update_setjmp_buf.
7209
7210         * gigi.h (update_setjmp_buf): Deleted.
7211         (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
7212
7213         * misc.c: (update_setjmp_buf): Deleted.
7214
7215         * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
7216         around block of RTL.
7217
7218         * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
7219
7220 2004-04-26  Thomas Quinot  <quinot@act-europe.fr>
7221
7222         * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
7223         subprogram for which no pragma All_Calls_Remote applies, store the
7224         address of the real subprogram in the underlying record type, so local
7225         dereferences do not go through the PCS.
7226
7227 2004-04-26  Robert Dewar  <dewar@gnat.com>
7228
7229         * i-c.ads: Add some type qualifications to avoid ambiguities when
7230         compiling with s-auxdec.ads and a non-private address type.
7231
7232 2004-04-26  Arnaud Charlet  <charlet@act-europe.fr>
7233
7234         * Makefile.rtl: Fix error in previous check-in:
7235         Add s-addope.o to non tasking object list (rather than tasking object
7236         list).
7237
7238 2004-04-26  Javier Miranda  <miranda@gnat.com>
7239
7240         * sem_aggr.adb: Fix typo in comments
7241         (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
7242         Required to check the null-exclusion attribute.
7243
7244         * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
7245         case of anonymous access types in record and array components. For a
7246         component definition the level is the same of the enclosing composite
7247         type.
7248
7249         * sem_ch3.adb (Analyze_Component_Declaration): In case of components
7250         that are anonymous access types the level of accessibility depends on
7251         the enclosing type declaration. In order to have this information, set
7252         the scope of the anonymous access type to the enclosing record type
7253         declaration.
7254         (Array_Type_Declaration): In case of components that are anonymous
7255         access types the level of accessibility depends on the enclosing type
7256         declaration. In order to have this information, set the scope of the
7257         anonymous access type to the enclosing array type declaration.
7258
7259         * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
7260         access type.
7261
7262         * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
7263         renaming of anonymous access-to-constant types allowed if and only if
7264         the renamed object is access-to-constant.
7265
7266         * sem_util.adb (Type_Access_Level): In case of anonymous access types
7267         that are component_definition or discriminants of a nonlimited type,
7268         the level is the same as that of the enclosing component type.
7269
7270 2004-04-26  Sergey Rybin  <rybin@act-europe.fr>
7271
7272         * sem_elim.adb: Some minor code reorganization from code reading. Fix
7273         misprint in the function name (File_Name_Match).
7274
7275 2004-04-23  Laurent GUERBY <laurent@guerby.net>
7276
7277         * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
7278         install.
7279
7280 2004-04-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7281
7282         * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
7283
7284 2004-04-23  Emmanuel Briot  <briot@act-europe.fr>
7285
7286         * adaint.c (__gnat_try_lock): No longer requires that the parent
7287         directory be writable, the directory itself is enough.
7288         (gnat_is_absolute_path): Change profile, so that the call from
7289         GNAT.OS_Lib can be made more efficient.
7290
7291         * adaint.h (gnat_is_absolute_path): Change profile, so that the call
7292         from GNAT.OS_Lib can be made more efficient.
7293
7294         * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
7295         one copy of the file name. Found by code reading.
7296
7297 2004-04-23  Vincent Celier  <celier@gnat.com>
7298
7299         * gnat_ugn.texi: Add documentation for gnatmake switch -eL
7300         Correct documentation on gnatmake switches transmitted to the compiler
7301
7302         * ali.ads: Minor comment fix
7303
7304 2004-04-23  Javier Miranda  <miranda@gnat.com>
7305
7306         * sem_ch6.adb: (Confirming Types): Code cleanup
7307
7308         * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
7309         subprogram types: E_Anonymous_Access_Subprogram_Type and
7310         E_Anonymous_Access_Protected_Subprogram_Type.
7311
7312 2004-04-23  Thomas Quinot  <quinot@act-europe.fr>
7313
7314         * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
7315         whether a pragma All_Calls_Remote applies to the subprogram on which
7316         'Access is taken.
7317         No functional change is introduced by this revision; the new parameter
7318         will be used to allow calls to local RCI subprograms to be optimized
7319         to not use the PCS in the case where no pragma All_Calls_Remote applies,
7320         as is already done in the PolyORB implementation of the DSA.
7321
7322         * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
7323         whether a pragma All_Calls_Remote applies to the subprogram on which
7324         'Access is taken.
7325         No functional change is introduced by this revision; the new parameter
7326         will be used to allow calls to local RCI subprograms to be optimized
7327         to not use the PCS in the case where no pragma All_Calls_Remote applies,
7328         as is already done in the PolyORB implementation of the DSA.
7329
7330 2004-04-23  Robert Dewar  <dewar@gnat.com>
7331
7332         * Makefile.rtl: Add entry for s-addope.o in run time library list
7333         * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
7334         * s-addope.ads, s-addope.adb: New files.
7335
7336         * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
7337         s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
7338         s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
7339         System.Address to be non-private and signed.
7340
7341         * sem_elim.adb: Minor reformatting (fairly extensive)
7342         Some minor code reorganization from code reading
7343         Add a couple of ??? comments
7344
7345 2004-04-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7346
7347         * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
7348         (tree_transform, case N_If_Statement): Remove non-determinism.
7349
7350         * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
7351
7352 2004-04-23  Sergey Rybin  <rybin@act-europe.fr>
7353
7354         * gnat_rm.texi: Small fixes in the changes made in the 'pragma
7355         Eliminate' section.
7356
7357         * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
7358         no longer used as a parameter name for Eliminate pragma).
7359
7360 2004-04-22  Laurent GUERBY <laurent@guerby.net>
7361
7362         PR optimization/14984
7363         PR optimization/14985
7364         * trans.c (gigi): Fix non determinism leading to bootstrap
7365         comparison failures.
7366
7367 2004-04-21  Pascal Obry  <obry@gnat.com>
7368
7369         * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
7370         passed to spawnvp() to properly handle program pathname with spaces on
7371         Win32.
7372
7373 2004-04-21  Emmanuel Briot  <briot@act-europe.fr>
7374
7375         * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
7376         (Allocate, Deallocate, Free_Physically): Make sure the tasks are
7377         unlocked in case of exceptions.
7378
7379 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
7380
7381         * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
7382         This function does not exist anymore.
7383
7384 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
7385
7386         * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
7387
7388         * link.c: Move variables to the __gnat name space.
7389
7390         * Makefile.in: list link.o explicitly when needed.
7391
7392         * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
7393
7394 2004-04-21  Javier Miranda  <miranda@gnat.com>
7395
7396         * einfo.adb (Original_Access_Type): New subprogram
7397         (Set_Original_Access_Type): New subprogram
7398         (Write_Field21_Name): Write the name of the new field
7399
7400         * einfo.ads (Original_Access_Type): New field present in access to
7401         subprogram types.
7402         Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
7403         E_Anonymous_Access_Protected_Subprogram_Type.
7404
7405         * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
7406         subprogram types.
7407
7408         * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
7409         to anonymous access to subprogram types.
7410
7411         * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
7412         to subprogram types.
7413
7414         * sem_ch3.adb (Access_Definition): Complete decoration of entities
7415         corresponding to anonymous access to subprogram types.
7416         (Analyze_Component_Declaration): Add new actual to the call to
7417         subprogram replace_anonymous_access_to_protected_subprogram.
7418         (Array_Type_Declaration): Add new actual to the call to subprogram
7419         replace_anonymous_access_to_protected_subprogram.
7420         (Process_Discriminants): Add new actual to the call to subprogram
7421         replace_anonymous_access_to_protected_subprogram.
7422         (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
7423
7424         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
7425         formal.
7426
7427         * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
7428         access to subprogram types.
7429
7430         * sem_util.adb (Has_Declarations): Addition of package_specification
7431         nodes.
7432
7433 2004-04-21  Ed Schonberg  <schonberg@gnat.com>
7434
7435         * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
7436         inlined flags to renamed entity only if in current unit.
7437
7438 2004-04-21  Thomas Quinot  <quinot@act-europe.fr>
7439
7440         * s-parint.ads: Add DSA implementation marker.
7441
7442         * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
7443         value of System.Partition_Interface.DSA_Implementation to determine
7444         what version of the distributed systems annex is available (no
7445         implementation, GLADE, or PolyORB).
7446
7447 2004-04-21  Joel Brobecker  <brobecker@gnat.com>
7448
7449         * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
7450
7451 2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7452
7453         * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
7454         with new type if alias sets differ.
7455         Fixes ACATS c41103b.
7456
7457 2004-04-21  Vincent Celier  <celier@gnat.com>
7458
7459         * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
7460         Add array Lang_Args for the language specific compiling argument
7461         switches.
7462
7463         * gnat_ugn.texi: Explain in more details when a library is rebuilt.
7464
7465 2004-04-21  Sergey Rybin  <rybin@act-europe.fr>
7466
7467         * gnat_rm.texi: Update the descripton of the Eliminate pragma
7468         according to the recent changes in the format of the parameters of the
7469         pragma (replacing Homonym_Number with Source_Location).
7470
7471 2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>
7472
7473         * 5isystem.ads: Removed, unused.
7474
7475         * gnat_rm.texi: Redo 1.13 change.
7476
7477 2004-04-19  Robert Dewar  <dewar@gnat.com>
7478
7479         * s-stoele.ads: Clean up definition of Storage_Offset (the new
7480         definition is cleaner, avoids the kludge of explicit Standard operator
7481         references, and also is consistent with a visible System.Address with
7482         no visible operations.
7483
7484         * s-geveop.adb: Add declarations to avoid assumption of visible
7485         operations on type System.Address (since these might not be available
7486         if Address is a non-private type for which the operations
7487         are made abstract).
7488
7489         * sem_eval.adb: Minor reformatting
7490
7491         * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
7492         s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
7493         reformatting (new function spec format).
7494
7495         * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
7496         s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
7497         s-caun64.adb: Add declarations to avoid assumption of visible
7498         operations on type System.Address (since these might not be available
7499         if Address is a non-private type for which the operations are made
7500         abstract).
7501
7502         * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
7503
7504         * exp_intr.adb: Minor comment update
7505
7506         * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
7507
7508         * 5omastop.adb: Add declarations to avoid assumption of visible
7509         operations on type System.Address (since these might not be available
7510         if Address is a non-private type for which the operations
7511         are made abstract).
7512
7513 2004-04-19  Vincent Celier  <celier@gnat.com>
7514
7515         * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
7516
7517         * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
7518         defaulted to Ada.
7519
7520         * prj-proc.adb (Process): New Boolean parameter Process_Languages,
7521         defaulted to Ada.
7522         Call Check with Process_Languages.
7523         (Check): New Boolean parameter Process_Languages. Call Recursive_Check
7524         with Process_Languages.
7525         (Recursive_Check): New Boolean parameter Process_Languages. Call
7526         Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
7527         Process_Languages.
7528
7529         * prj-proc.ads (Process): New Boolean parameter Process_Languages,
7530
7531         * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
7532         parameter Ada_Main, defaulted to True.
7533         Check for Ada specific characteristics only when Ada_Main is True.
7534
7535         * opt.ads: (Follow_Links): New Boolean flag for gnatmake
7536
7537         * prj.adb: (Project_Empty): Add new Project_Data components.
7538
7539         * prj.ads: New types and tables for non Ada languages.
7540         (Project_Data): New components Languages, Impl_Suffixes,
7541         First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
7542         Include_Path, Include_Data_Set.
7543
7544         * prj-env.ads, prj-env.adb: Minor reformatting
7545
7546         * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
7547         Put subprograms in alphabetical order
7548
7549         * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
7550         defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
7551         Opt.Follow_Links.
7552
7553         * mlib-prj.adb: Back out modification in last version, as they are
7554         incorrect.
7555         (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
7556
7557         * make.adb: (Mains): Moved to package Makeutl
7558         (Linker_Opts): Moved to package Makeutl
7559         (Is_External_Assignment): Moved to package Makeutl
7560         (Test_If_Relative_Path): Moved to package Makeutl
7561         (Gnatmake): Move sorting of linker options to function
7562         Makeutl.Linker_Options_Switches.
7563
7564         * makeutl.ads, makeutl.adb: New files.
7565
7566         * Makefile.in: Add makeutl.o to the object files for gnatmake
7567
7568         * makeusg.adb: Add line for new switch -eL.
7569
7570         * gnatls.adb (Image): New function.
7571         (Output_Unit): If in verbose mode, output the list of restrictions
7572         specified by pragmas Restrictions.
7573
7574         * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
7575         Text_IO.
7576
7577         * a-calend.adb (Split): Shift the date by multiple of 56 years, if
7578         needed, to put it in the range 1970 (included) - 2026 (excluded).
7579         (Time_Of): Do not shift Unix_Min_Year (1970).
7580         Shift the date by multiple of 56 years, if needed, to put it in the
7581         range 1970 (included) - 2026 (excluded).
7582
7583         * adaint.h, adaint.c (__gnat_set_executable): New function.
7584
7585 2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7586
7587         * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
7588         and pop GC context.
7589         (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
7590         (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
7591         (tree_transform, case N_Procedure_Call_Statement): Build a tree.
7592         (tree_transform, case N_Code_Statement): Likewise.
7593         (gnat_expand_stmt, case LABEL_STMT): Don't look at
7594         LABEL_STMT_FIRST_IN_EH.
7595         (gnat_expand_stmt, case ASM_STMT): New case.
7596
7597         * utils2.c (build_unary_op): Properly set TREE_READONLY of
7598         UNCONSTRAINED_ARRAY_REF.
7599
7600         * utils.c (poplevel): Temporarily push/pop GC context around inline
7601         function expansion.
7602
7603         * decl.c (maybe_variable): Properly set TREE_READONLY of
7604         UNCONSTRAINED_ARRAY_REF.
7605         (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
7606
7607         * ada-tree.def: (ASM_STMT): New.
7608
7609         * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
7610         (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
7611         ASM_STMT_INPUT): New.
7612         (ASM_STMT_CLOBBER): Likewise.
7613
7614 2004-04-19  Thomas Quinot  <quinot@act-europe.fr>
7615
7616         * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
7617         general rcheck mechanism to raise Program_Error for E.4(18), instead
7618         of a custom raiser in System.Partition_Interface.
7619         Part of general cleanup work before PolyORB integration.
7620
7621         * snames.ads, snames.adb: Add new runtime library entities and names
7622         for PolyORB DSA.
7623
7624         * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
7625         exp_dist.
7626         (Build_Subprogram_Id): New subprogram provided by exp_dist
7627         Code reorganisation in preparation for PolyORB integration.
7628
7629         * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
7630         exp_dist.
7631         (Build_Subprogram_Id): New subprogram provided by exp_dist
7632
7633         * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
7634         actual parameter types for call to dereference of an
7635         access-to-subprogram type.
7636
7637         * rtsfind.ads: Add new runtime library entities and names for PolyORB
7638         DSA.
7639
7640         * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
7641         instead, which has the same behaviour here since we never pass it a
7642         NULL pointer.
7643
7644         * link.c (run_path_option, Solaris case): Use -Wl, as for other
7645         platforms.
7646
7647         * Makefile.in: adjust object file lists for gnatlink and gnatmake
7648         to account for new dependency upon Interfaces.C.Strings + link.o
7649         For x86 FreeBSD, use 86numaux.
7650
7651         * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
7652         from Mlib.Tgt to Mlib.
7653
7654         * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
7655         target-independent.
7656
7657         * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
7658         target-specific versions of this subprogram, now implemented as a
7659         target-independent function in Mlib.
7660
7661         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
7662         5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
7663         (Linker_Library_Path_Option): Remove target-specific versions of this
7664         subprogram, now implemented as a target-independent function in Mlib.
7665
7666         * atree.adb: (Allocate_Initialize_Node): New subprogram.
7667         Factors out node table slots allocation.
7668         (Fix_Parents): New subprogram.
7669         Encapsulate the pattern of fixing up parent pointers for syntactic
7670         children of a rewritten node.
7671         (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
7672         (Rewrite): Use New_Copy when creating saved copy of original node.
7673         (Replace): Use Copy_Node to copy nodes.
7674
7675 2004-04-19  Javier Miranda  <miranda@gnat.com>
7676
7677         * sprint.adb (Sprint_Node_Actual): Give support to the new
7678         Access_To_Subprogram node available in Access_Definition nodes. In
7679         addition, give support to the AI-231 node fields: null-exclusion,
7680         all-present, constant-present.
7681
7682         * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
7683
7684         * sinfo.ads, sinfo.adb:
7685         New field Access_To_Subprogram_Definition in Access_Definition nodes
7686
7687         * sem_ch6.adb (Process_Formals): Move here the code that creates and
7688         decorates internal subtype declaration corresponding to the
7689         null-excluding formal. This code was previously in Set_Actual_Subtypes.
7690         In addition, carry out some code cleanup on this code. In case of
7691         access to protected subprogram call
7692         Replace_Anonymous_Access_To_Protected_Subprogram.
7693         (Set_Actual_Subtypes): Code cleanup.
7694
7695         * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
7696         Find_Type in case of anonymous access renamings. Add warning in case of
7697         null-excluding attribute used in anonymous access renaming.
7698
7699         * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
7700         subprogram
7701
7702         * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
7703         subprogram.
7704         (Access_Definition): In case of anonymous access to subprograms call
7705         the corresponding semantic routine to decorate the node.
7706         (Access_Subprogram_Declaration): Addition of some comments indicating
7707         some code that probably should be added here. Detected by comparison
7708         with the access_definition subprogram.
7709         (Analyze_Component_Declaration): In case of access to protected
7710         subprogram call Replace_Anonymous_Access_To_Protected.
7711         (Array_Type_Declaration): In case of access to protected subprogram call
7712         Replace_Anonymous_Access_To_Protected_Subprogram.
7713         (Process_Discriminants): In case of access to protected subprogram call
7714         Replace_Anonymous_Access_To_Protected_Subprogram.
7715
7716         * par.adb (P_Access_Definition): New formal that indicates if the
7717         null-exclusion part was present.
7718         (P_Access_Type_Definition): New formal that indicates if the caller has
7719         already parsed the null-excluding part.
7720
7721         * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
7722         (P_Identifier_Declarations): Code cleanup and give support to renamings
7723         of anonymous access to subprogram types.
7724         (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
7725         (P_Array_Type_Definition): Give support to AI-254.
7726         (P_Component_Items): Give support to AI-254.
7727         (P_Access_Definition): New formal that indicates if the header was
7728         already parsed by the caller.
7729         (P_Access_Type_Definition): New formal that indicates if the caller has
7730         already parsed the null-excluding part.
7731
7732         * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
7733         call to P_Access_Definition.
7734
7735 2004-04-19  Geert Bosch  <bosch@gnat.com>
7736
7737         * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
7738         the delicate semantics of floating-point to integer conversion.
7739         (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
7740
7741         * eval_fat.adb (Machine_Mantissa): Moved to spec.
7742         (Machine_Radix): New function.
7743
7744         * eval_fat.ads (Machine_Mantissa): Moved from body for use in
7745         conversion checks.
7746         (Machine_Radix): New function also for use in conversion checks.
7747
7748 2004-04-19  Ed Schonberg  <schonberg@gnat.com>
7749
7750         * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
7751
7752         * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
7753         to decorate the access-to-protected subprogram and the equivalent type.
7754
7755         * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
7756         to anonymous access to subprogram types.
7757
7758         * exp_ch4.adb (Expand_N_In): Preserve Static flag before
7759         constant-folding, for legality checks in contexts that require an RM
7760         static expression.
7761
7762         * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
7763         temporary but stack checking is not enabled, increment serial number
7764         to so that symbol generation is consistent with and without stack
7765         checking.
7766
7767         * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
7768         independent on whether stack checking is enabled, caller must check
7769         the corresponding flag.
7770
7771         * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
7772         range checks.
7773         (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
7774         parent if it has discriminants.
7775         (Build_Derived_Private_Type): Constructed full view does
7776         not come from source.
7777         (Process_Discriminants): Default discriminants on a tagged type are
7778         legal if this is the internal completion of a private untagged
7779         derivation.
7780
7781         * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
7782         no constraint checks, because it corresponds to an existing object.
7783
7784         * sem_prag.adb (Process_Convention): Pragma applies
7785         only to subprograms in the same declarative part, i.e. the same unit,
7786         not the same scope.
7787
7788         * sem_res.adb (Valid_Conversion): In an instance or inlined body,
7789         ignore type mismatch on a numeric conversion if expression comes from
7790         expansion.
7791
7792 2004-04-19  Sergey Rybin  <rybin@act-europe.fr>
7793
7794         * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
7795         Homonym_Number parameter, add processing for Source_Location parameter
7796         corresponding.
7797         (Check_Eliminated): Remove the check for homonym numbers, add the check
7798         for source location traces.
7799
7800         * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
7801         with Arg_Source_Location corresponding to the changes in the format of
7802         the pragma.
7803
7804         * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
7805         Eliminate pragma corresponding to the changes in the format of the
7806         pragma: Homonym_Number is replaced with Source_Location, two ways of
7807         distinguishing homonyms are mutially-exclusive.
7808
7809 2004-04-19  Joel Brobecker  <brobecker@gnat.com>
7810
7811         * get_targ.ads (Get_No_Dollar_In_Label): Remove.
7812
7813         * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
7814         No_Dollar_In_Label, no longer necessary, as it is always True.
7815         (Strip_Suffixes): Likewise.
7816
7817 2004-04-19  Gary Dismukes  <dismukes@gnat.com>
7818
7819         * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
7820         modulus for compatibility with size clause on targets with 16-bit
7821         Integer.
7822
7823         * layout.adb (Discrimify): In the case of private types, set Vtyp to
7824         full type to fix type mismatches on calls to size functions for
7825         discriminant-dependent array components.
7826
7827 2004-04-19  Jerome Guitton  <guitton@act-europe.fr>
7828
7829         * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
7830         lib.
7831
7832 2004-04-19  Pascal Obry  <obry@gnat.com>
7833
7834         * mdll-utl.adb (Locate): New version is idempotent.
7835
7836 2004-04-17  Laurent Guerby <laurent@guerby.net>
7837
7838         PR ada/14988 (partial)
7839         * impunit.adb: Fix typo.
7840
7841 2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
7842
7843         * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
7844         and install-rts-cert targets.  Remove all gnatlib and gnattools
7845         targets and all other rts-* targets (moved to libada).  Remove (now)
7846         unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
7847         TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
7848
7849 2004-04-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7850
7851         * trans.c (tree_transform): Shortcut returning error_mark_node for
7852         statements in annotate_only_mode.
7853         (tree_transform, case N_Label, case N_Return_Statement,
7854         N_Goto_Statement): Make statement tree instead of generating code.
7855         (tree_transform, case N_Assignment_Statement): No longer check
7856         type_annotate_only.
7857         (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
7858         RETURN_STMT): New.
7859         (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
7860         New fcns.
7861         (gnat_to_gnu): Collect any RTL generated and deal with it.
7862         (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
7863         (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
7864         (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
7865
7866         * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
7867
7868         * ada-tree.def (EXPR_STMT): Fix typo in name.
7869         (BLOCK_STMT, IF_STMT): New nodes.
7870
7871         * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
7872         LABEL_STMT_FIRST_IN_EH): New macros.
7873         (RETURN_STMT_EXPR): Likewise.
7874
7875         * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
7876         IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
7877
7878 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
7879
7880         * atree.ads: Correct documentation on extended nodes.
7881
7882         * link.c: Set run_path_option for FreeBSD.
7883
7884 2004-04-08  Vincent Celier  <celier@gnat.com>
7885
7886         * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
7887         one of the ALI file, do not link with DEC lib.
7888
7889         * par.adb Remove the last two characters ("%s" or "%b") when checking
7890         if a language defined unit may be recompiled.
7891
7892 2004-04-08  Ed Schonberg  <schonberg@gnat.com>
7893
7894         * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
7895         removal of abstract operation leaves no possible interpretation for
7896         expression.
7897
7898         * sem_eval.adb (Eval_Qualified_Expression): Use
7899         Set_Raises_Constraint_Error on node when needed, so that it does not
7900         get optimized away by subsequent optimizations.
7901
7902         * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
7903         operands even when they are not wrapped in a type conversion.
7904
7905 2004-04-08  Olivier Hainque  <hainque@act-europe.fr>
7906
7907         * sem_prag.adb (Set_Exported): Warn about making static as result of
7908         export only when the export is coming from source. This may be not
7909         be true e.g. on VMS where we expand export pragmas for exception codes
7910         together with imported or exported exceptions, and we don't want the
7911         user to be warned about something he didn't write.
7912
7913 2004-04-08  Thomas Quinot  <quinot@act-europe.fr>
7914
7915         * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
7916         duplication between normal entities and those declared as renamings.
7917         No functional change.
7918
7919         * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
7920         inline functions returning an unconstrained result.
7921
7922 2004-04-08  Eric Botcazou  <ebotcazou@act-europe.fr>
7923
7924         * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
7925         conform to what other front-ends do.
7926
7927 2004-04-08  Doug Rupp  <rupp@gnat.com>
7928
7929         * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
7930         libraries.
7931
7932 2004-04-06  Pascal Obry  <obry@gnat.com>
7933
7934         * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
7935
7936         * osint.adb (Program_Name): Do not look past a directory separator.
7937
7938 2004-04-06  Thomas Quinot  <quinot@act-europe.fr>
7939
7940         * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
7941
7942         * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
7943         requirement for preserving a copy of the original assignment node.
7944
7945         * sinfo.ads: Update comment (Original_Tree -> Original_Node).
7946
7947 2004-04-06  Olivier Hainque  <hainque@act-europe.fr>
7948
7949         (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
7950         when supported.
7951
7952 2004-04-06  Ed Schonberg  <schonberg@gnat.com>
7953
7954         * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
7955         operator calls in functional notation, and apply
7956         Universal_Interpretation to operands, not to their type.
7957
7958 2004-04-06  Robert Dewar  <dewar@gnat.com>
7959
7960         * 5wdirval.adb: Minor reformatting
7961
7962 2004-04-06  Ed Falis  <falis@gnat.com>
7963
7964         * gnat_rm.texi: Improve a reference to the GCC manual
7965
7966 2004-04-05  Vincent Celier  <celier@gnat.com>
7967
7968         * adaint.h, adaint.c: Add function __gnat_named_file_length
7969
7970         * impunit.adb: Add Ada.Directories to the list
7971
7972         * Makefile.in: Add VMS and Windows versions of
7973         Ada.Directories.Validity package body.
7974
7975         * Makefile.rtl: Add a-direct and a-dirval
7976
7977         * mlib-tgt.ads: Minor comment update.
7978
7979         * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
7980         a-direct.ads, a-direct.adb: New files.
7981
7982 2004-04-05  Vincent Celier  <celier@gnat.com>
7983
7984         PR ada/13620
7985         * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
7986         just to the compiler.
7987
7988 2004-04-05  Robert Dewar  <dewar@gnat.com>
7989
7990         * a-except.adb (Exception_Name_Simple): Make sure lower bound of
7991         returned string is 1.
7992
7993         * ali-util.adb: Use proper specific form for Warnings (Off, entity)
7994
7995         * eval_fat.ads: Minor reformatting
7996
7997         * g-curexc.ads: Document that lower bound of returned string values
7998         is always one.
7999
8000         * gnatlink.adb: Add ??? comment for previous change
8001         (need to document why this is VMS specific)
8002
8003         * s-stoele.ads: Minor reformatting
8004
8005         * tbuild.ads: Minor reformatting throughout (new function specs)
8006
8007         * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
8008         after WITH.
8009
8010         * scng.adb: Minor reformatting
8011
8012 2004-04-05  Geert Bosch  <bosch@gnat.com>
8013
8014         * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
8015         (Leading_Part): Still perform truncation to machine number if the
8016         specified radix_digits is greater or equal to machine_mantissa.
8017
8018 2004-04-05  Javier Miranda  <miranda@gnat.com>
8019
8020         * par-ch3.adb: Complete documentation of previous change
8021         Correct wrong syntax documentation of the OBJECT_DECLARATION rule
8022         (aliased must appear before constant).
8023
8024         * par-ch4.adb: Complete documentation of previous change.
8025
8026         * par-ch6.adb: Complete documentation of previous change.
8027
8028         * sinfo.ads: Fix typo in commment.
8029
8030 2004-04-05  Ed Schonberg  <schonberg@gnat.com>
8031
8032         * sem_ch3.adb (Inherit_Components): If derived type is private and has
8033         stored discriminants, use its discriminants to constrain parent type,
8034         as is done for non-private derived record types.
8035
8036         * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
8037         Ada 2005 AI-310: an abstract non-dispatching operation is not a
8038         candidate interpretation in an overloaded call.
8039
8040         * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
8041         expression is Null and target type is not an access type (e.g. a
8042         non-private address type).
8043
8044 2004-04-05  Thomas Quinot  <quinot@act-europe.fr>
8045
8046         * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
8047         statement whose right-hand side is an inlined call, save a copy of the
8048         original assignment subtree to preserve enough consistency for
8049         Analyze_Assignment to proceed.
8050
8051         * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
8052         complete assignment subtree which is now unnecessary, as the expansion
8053         of inlined call has been improved to preserve a consistent assignment
8054         tree.  Note_Possible_Modification must be called only
8055         after checks have been applied, or else unnecessary checks will
8056         be generated.
8057
8058         * sem_util.adb (Note_Possible_Modification): Reorganise the handling
8059         of explicit dereferences that do not Come_From_Source:
8060          - be selective on cases where we must go back to the dereferenced
8061            pointer (an assignment to an implicit dereference must not be
8062            recorded as modifying the pointer);
8063          - do not rely on Original_Node being present (Analyze_Assignment
8064            calls Note_Possible_Modification on a copied tree).
8065
8066         * sem_warn.adb (Check_References): When an unset reference to a pointer
8067         that is never assigned is encountered, prefer '<pointer> may be null'
8068         warning over '<pointer> is never assigned a value'.
8069
8070 2004-04-05  Ramon Fernandez  <fernandez@gnat.com>
8071
8072         * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
8073         the ABI.
8074
8075 2004-04-05  Olivier Hainque  <hainque@act-europe.fr>
8076
8077         * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
8078         libexc. We currently don't reference anything in this library and
8079         linking it in triggers linker warnings we don't want to see.
8080
8081         * init.c: Update comments.
8082
8083 2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8084
8085         * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
8086         * utils.c (create_field_decl): Likewise.
8087         * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
8088
8089 2004-04-02  Arnaud Charlet  <charlet@act-europe.fr>
8090
8091         * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
8092         Replace ifinfo by ifnottex, to make makeinfo --html happy again.
8093         Add info directory entry and category.
8094
8095 2004-04-02  Jan Hubicka  <jh@suse.cz>
8096
8097         * utils.c: Include function.h
8098         (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
8099
8100 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
8101
8102         PR ada/14150
8103         * Make-lang.in: Clean up generation of documentation
8104
8105         * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
8106
8107         * xgnatug.adb: Removed, replaced by xgnatugn.adb
8108
8109         * xgnatugn.adb: Replaces xgnatug.adb
8110
8111         * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
8112
8113         * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
8114
8115         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
8116         gnat_ug_wnt.texi: Removed.
8117
8118 2004-04-01  Arnaud Charlet  <charlet@act-europe.fr>
8119
8120         * utils2.c: Update copyright notice.
8121
8122 2004-04-01  Robert Dewar  <dewar@gnat.com>
8123
8124         * checks.adb: Minor reformatting throughout
8125         Note that prev checkin added RM reference to alignment warning
8126
8127 2004-04-01  Ed Schonberg  <schonberg@gnat.com>
8128
8129         * exp_aggr.adb (Get_Component_Val): Treat a string literal as
8130         non-static when building aggregate for bit-packed array.
8131
8132         * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
8133         function call that is itself the actual in a procedure call, build
8134         temporary for it.
8135
8136         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
8137         a string literal, create a temporary for it, constant folding only
8138         handles scalars here.
8139
8140 2004-04-01  Vincent Celier  <celier@gnat.com>
8141
8142         * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
8143         Error_Msg_SP): New empty procedures to instantiate the Scanner.
8144         (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
8145         tokens.
8146         (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
8147         (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
8148         and get the checksum.
8149
8150         * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
8151         already in the Q.
8152         Increase the Marking_Label at the end of the Multiple_Main_Loop,
8153         instead of at the beginning.
8154
8155         * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
8156         directly.
8157         (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
8158         on VMS.
8159
8160         * osint.ads (Multi_Unit_Index_Character): New Character global variable
8161
8162         * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
8163         not '~' directly.
8164
8165         * par.adb: Remove test on file name to detect language defined units.
8166         Add test on unit name, after parsing, to detect language defined units
8167         that are not compiled with -gnatg (except System.RPC and its children)
8168
8169         * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
8170         following units without style checking.
8171
8172         * switch-c.adb: Change -gnatC to -gnateI
8173
8174         * usage.adb: Document new switch -gnateInnn
8175
8176         * scng.adb (Accumulate_Token_Checksum): New procedure
8177         (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
8178         word or literal number.
8179         (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
8180         numbers.
8181
8182 2004-04-01  Thomas Quinot  <quinot@act-europe.fr>
8183
8184         * a-tasatt.adb,
8185         g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
8186         switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
8187         5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
8188         5vtpopde.adb: Add missing 'constant' keywords.
8189
8190 2004-04-01  Javier Miranda  <miranda@gnat.com>
8191
8192         * par-ch4.adb: (P_Allocator): Code cleanup
8193
8194         * sem_ch3.adb (Access_Definition): Properly set the null-excluding
8195         attribute.
8196
8197         * sinfo.ads: Complete documentation of previous change
8198
8199 2004-04-01  Pascal Obry  <obry@gnat.com>
8200
8201         * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
8202         only on VMS.  This special handling was done because an old GNU/ld bug
8203         on Windows which has been fixed.
8204
8205 2004-04-01  GNAT Script  <nobody@gnat.com>
8206
8207         * Make-lang.in: Makefile automatically updated
8208
8209 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8210
8211         * decl.c (gnat_to_gnu_entity, make_type_from_size):
8212         Use TYPE_UNSIGNED, not TREE_UNSIGNED.
8213         * trans.c (tree_transform, convert_with_check): Likewise.
8214         * utils.c (gnat_signed_or_unsigned_type): Likewise.
8215         (build_vms_descriptor, unchecked_convert): Likewise.
8216         * utils2.c (nonbinary_modular_operation): Likewise.
8217
8218 2004-03-29  Javier Miranda  <miranda@gnat.com>
8219
8220         * checks.adb (Null_Exclusion_Static_Checks): New subprogram
8221         (Install_Null_Excluding_Check): Local subprogram that determines whether
8222         an access node requires a runtime access check and if so inserts the
8223         appropriate run-time check.
8224         (Apply_Access_Check): Call Install_Null_Excluding check if required
8225         (Apply_Constraint_Check): Call Install_Null_Excluding check if required
8226
8227         * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
8228
8229         * einfo.ads: Fix typo in comment
8230
8231         * exp_ch3.adb (Build_Assignment): Generate conversion to the
8232         null-excluding type to force the corresponding run-time check.
8233         (Expand_N_Object_Declaration): Generate conversion to the null-excluding
8234         type to force the corresponding run-time check.
8235
8236         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
8237         the null-excluding type to force the corresponding run-time check.
8238
8239         * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
8240         case of access types unless they have the null-excluding attribute.
8241
8242         * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
8243         part.
8244
8245         * exp_util.ads: Fix typo in comment
8246
8247         * par.adb (P_Null_Exclusion): New subprogram
8248         (P_Subtype_Indication): New formal that indicates if the null-excluding
8249         part has been scanned-out and it was present
8250
8251         * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
8252
8253         * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
8254         (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
8255         type to force the corresponding run-time check
8256         (Resolve_Aggregate): Propagate the null-excluding attribute to the array
8257         components
8258         (Resolve_Array_Aggregate): Carry out some static checks
8259         (Resolve_Record_Aggregate.Get_Value): Carry out some static check
8260
8261         * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
8262         attribute must be set only if specified by means of the null-excluding
8263         part. In addition, we must also propagate the access-constant attribute
8264         if present.
8265         (Access_Subprogram_Declaration, Access_Type_Declaration,
8266         Analyze_Component_Declaration, Analyze_Object_Declaration,
8267         Array_Type_Declaration, Process_Discriminants,
8268         Analyze_Subtype_Declaration): Propagate the null-excluding attribute
8269         and carry out some static checks.
8270         (Build_Derived_Access_Type): Set the null-excluding attribute
8271         (Derived_Type_Declaration, Process_Subtype): Carry out some static
8272         checks.
8273
8274         * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
8275
8276         * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
8277
8278         * sem_ch6.adb (Process_Formals): Carry out some static checks.
8279         (Set_Actual_Subtypes): Generate null-excluding subtype if the
8280         null-excluding part was present; it is not required to be done here in
8281         case of anonymous access types.
8282         (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
8283         value.
8284
8285         * sem_res.adb (Resolve_Actuals): Carry out some static check
8286         (Resolve_Null): Allow null in anonymous access
8287
8288         * sinfo.adb: New subprogram Null_Exclusion_Present
8289         All_Present and Constant_Present available on access_definition nodes
8290
8291         * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
8292         object_declaration, derived_type_definition, component_definition,
8293         discriminant_specification, access_to_object_definition,
8294         access_function_definition, allocator, access_procedure_definition,
8295         access_definition, parameter_specification, All_Present and
8296         Constant_Present flags available on access_definition nodes.
8297
8298 2004-03-29  Robert Dewar  <dewar@gnat.com>
8299
8300         * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
8301         gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
8302         opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
8303         par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
8304         sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
8305         sem_prag.adb: Updates to handle multiple units/file
8306
8307         * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
8308
8309         * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
8310         sem_util.adb: Minor reformatting
8311
8312         * sem_ch12.adb: Add comment for previous change
8313
8314 2004-03-29  Laurent Pautet  <pautet@act-europe.fr>
8315
8316         * osint.adb (Executable_Prefix): Set Exec_Name to the current
8317         executable name when not initialized. Otherwise, use its current value.
8318
8319         * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
8320         initialize it to another executable name than the current one. This
8321         allows to configure paths for an executable name (gnatmake) different
8322         from the current one (gnatdist).
8323
8324 2004-03-29  Ed Schonberg  <schonberg@gnat.com>
8325
8326         * exp_ch6.adb (Expand_Call): A call to a function declared in the
8327         current unit cannot be inlined if it appears in the body of a withed
8328         unit, to avoid order of elaboration problems in gigi.
8329
8330         * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
8331         information for protected (wrapper) operation as well, to simplify gdb
8332         use.
8333
8334         * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
8335         protected body, indicate that the entity for the generated spec comes
8336         from source, to ensure that references are properly generated for it.
8337         (Build_Body_To_Inline): Do not inline a function that returns a
8338         controlled type.
8339
8340         * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
8341         apply convention to homonyms that are declared explicitly.
8342
8343         * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
8344         that renames an equality operator and the operands are overloaded,
8345         resolve them with the declared formal types, before rewriting as an
8346         operator.
8347
8348 2004-03-29  GNAT Script  <nobody@gnat.com>
8349
8350         * Make-lang.in: Makefile automatically updated
8351
8352 2004-03-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
8353
8354         * memtrack.adb: Log realloc calls, which are treated as free followed
8355         by alloc.
8356
8357 2004-03-25  Vincent Celier  <celier@gnat.com>
8358
8359         * prj-makr.adb (Process_Directories): Detect when a file contains
8360         several units. Do not include such files in the config pragmas or
8361         in the naming scheme.
8362
8363         * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
8364         Resolve links only when not in Trusted_Mode.
8365         (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
8366         Do not resolve links for the display names.
8367
8368         * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
8369         resolve links when computing the display names.
8370
8371 2004-03-25  Thomas Quinot  <quinot@act-europe.fr>
8372
8373         * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
8374         attribute reference does not denote a subtype, it can be any
8375         expression that has a classwide type, potentially after an implicit
8376         dereference.  In particular, the prefix can be a view conversion for
8377         a classwide type (for which Is_Object_Reference holds), but it can
8378         also be a value conversion for an access-to-classwide type. In the
8379         latter case, there is an implicit dereference, and the original node
8380         for the prefix does not verify Is_Object_Reference.
8381
8382         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
8383         conversion of a discriminant-dependent component of a mutable object
8384         is one itself.
8385
8386 2004-03-25  Ed Schonberg  <schonberg@gnat.com>
8387
8388         * freeze.adb (Freeze_Entity): When an inherited subprogram is
8389         inherited, has convention C, and has unconstrained array parameters,
8390         place the corresponding warning on the derived type declaration rather
8391         than the original subprogram.
8392
8393         * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
8394         indication on renaming declaration, if formal has a box and actual
8395         is absent.
8396
8397         * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
8398         determine whether to generate an implicit or explicit reference to
8399         the renamed entity.
8400
8401         * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
8402         subprogram renaming comes from a defaulted formal subprogram in an
8403         instance.
8404
8405 2004-03-25  Gary Dismukes  <dismukes@gnat.com>
8406
8407         * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
8408         value expressions to ensure that calls within a component definition
8409         will be checked (since those are evaluated during the record type's
8410         elaboration).
8411
8412 2004-03-25  Arnaud Charlet  <charlet@act-europe.fr>
8413
8414         * s-tpobop.adb: Code clean up:
8415         (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
8416         code.
8417         (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
8418
8419 2004-03-25  Jose Ruiz  <ruiz@act-europe.fr>
8420
8421         * Makefile.in: Clean up in the ravenscar run time.
8422
8423 2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8424
8425         * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
8426         of No_Strict_Aliasing to build_pointer_type_for_mode.
8427         * utils.c (update_pointer_to): Walk pointer and ref chains.
8428
8429 2004-03-22  Cyrille Comar  <comar@act-europe.fr>
8430
8431         * ali.ads: Fix Comment about Dynamic_Elab.
8432
8433         * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
8434         Has_RACW, Is_Generic, etc.)
8435         (Output_Object, Gnatls): Take into account ALI files not attached to
8436         an object.
8437
8438 2004-03-22  Vincent Celier  <celier@gnat.com>
8439
8440         * gprep.adb: Change all String_Access to Name_Id
8441         (Is_ASCII_Letter): new function
8442         (Double_File_Name_Buffer): New procedure
8443         (Preprocess_Infile_Name): New procedure
8444         (Process_Files): New procedure
8445         (Gnatprep): Check if output and input are existing directories.
8446         Call Process_Files to do the real job.
8447
8448 2004-03-22  Robert Dewar  <dewar@gnat.com>
8449
8450         * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
8451         s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
8452
8453 2004-03-22  Sergey Rybin  <rybin@act-europe.fr>
8454
8455         * scn.adb (Contains): Add check for EOF, is needed for a degenerated
8456         case when the source contains only comments.
8457
8458 2004-03-22  Ed Schonberg  <schonberg@gnat.com>
8459
8460         * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
8461         declaration for a child subprogram body that acts as a spec, indicate
8462         that the entity in the declaration needs debugging information.
8463
8464         * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
8465         full view if the subtype is created for a constrained record component;
8466         gigi has enough information to construct the record, and there is no
8467         place in the tree for the declaration.
8468
8469         * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
8470         serial number for the dummy body that is built for analysis, to avoid
8471         inconsistencies in the generation of internal names when compiling
8472         with -gnatN.
8473
8474 2004-03-22  Thomas Quinot  <quinot@act-europe.fr>
8475
8476         * sem_util.adb (Is_Object_Reference): A view conversion denotes an
8477         object.
8478
8479 2004-03-22  GNAT Script  <nobody@gnat.com>
8480
8481         * Make-lang.in: Makefile automatically updated
8482
8483 2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8484
8485         * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
8486         * trans.c (tree_transform, emit_index_check): Likewise.
8487         * utils.c (build_template): Likewise.
8488         (max_size, convert): Remove handling of WITH_RECORD_EXPR.
8489         (maybe_unconstrained_array, unchecked_convert): Likewise.
8490         * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
8491         (build_unary_op): Likewise.
8492         (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
8493         (fill_vms_descriptor): Likewise.
8494         (build_call_alloc_dealloc): Likewise.
8495         ALIGN is unsigned.
8496         * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
8497
8498 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
8499
8500         PR other/14630
8501         * gnat_ug.texi: Add info directory category and entry.
8502         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
8503         gnat_ug_wnt.texi: Regenerate.
8504
8505 2004-03-19  Arnaud Charlet  <charlet@act-europe.fr>
8506
8507         * ada-tree.h: Update copyright notice.
8508         Minor reformatting.
8509
8510 2004-03-19  Olivier Hainque  <hainque@act-europe.fr>
8511
8512         * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
8513         as regular exception objects and not as mere integers representing the
8514         condition code.  The latter approach required some dynamics to mask off
8515         severity bits, which did not fit well into the GCC table based model.
8516         (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
8517         exception data objects. We don't it and it would conflict with the other
8518         external symbol we have to generate for such exceptions.
8519
8520         * trans.c (tree_transform, case N_Exception_Handler): Remove part of
8521         the special code for VMS exceptions, since these are now represented
8522         as regular exceptions objects.
8523
8524 2004-03-19 Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8525
8526         * decl.c (debug_no_type_hash): Remove.
8527         (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
8528         * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
8529
8530 2004-03-19  Laurent Guerby <laurent@guerby.net>
8531
8532         * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
8533         aggregate, allows bootstrap from 3.3 on powerpc-darwin.
8534
8535 2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8536
8537         * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
8538         (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
8539         (TYPE_RM_SIZE_INT): Directly use type.values.
8540         (TREE_LOOP_ID): Clean up check.
8541         * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
8542         TYPE_VALUES, not TYPE_FIELDS.
8543         * trans.c (convert_with_check): Delay access of bounds of basetype
8544         until sure is numeric.
8545
8546 2004-03-18  Arnaud Charlet  <charlet@act-europe.fr>
8547
8548         * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
8549
8550         Code clean up:
8551         * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
8552         5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
8553         Specific.Set instead of direct call to e.g pthread_setspecific.
8554
8555 2004-03-18  Thomas Quinot  <quinot@act-europe.fr>
8556
8557         * adaint.c: Update comments.
8558
8559         * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
8560         GNATLIB_SHARED for FreeBSD.
8561
8562 2004-03-18  Jose Ruiz  <ruiz@act-europe.fr>
8563
8564         * init.c [VxWorks]: Do not fix the stack size for the environment task.
8565         When needed (stack checking) the stack size is retrieved
8566         from the VxWorks kernel.
8567
8568         * Makefile.in: Flag -nostdinc is required when building the run time
8569         for avoiding looking for files in the base compiler.
8570         Add the VxWorks specific version of the package body for
8571         System.Stack_checking.Operations (5zstchop.adb).
8572
8573         * Make-lang.in: Add the object file for
8574         System.Stack_Checking.Operations.
8575
8576         * Makefile.rtl: Add object file for the package
8577         System.Stack_Checking.Operations.
8578
8579         * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
8580
8581         * s-stache.ads, s-stache.adb: Move the operations related to stack
8582         checking from this package to package System.Stack_Checking.Operations.
8583         This way, stack checking operations are only linked in the final
8584         executable when using the -fstack-check flag.
8585
8586 2004-03-18  Doug Rupp  <rupp@gnat.com>
8587
8588         * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
8589         Reorganize ifeq's.
8590
8591         * 5qsystem.ads, 5xcrtl.ads: New files.
8592
8593 2004-03-18  Vincent Celier  <celier@gnat.com>
8594
8595         * prj.adb (Reset): Reset hash table Files_Htable
8596
8597         * prj-env.adb (Source_Paths, Object_Paths): New tables.
8598         (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
8599         the procedures Add_To_Path_File.
8600         (Set_Ada_Paths): Accumulate source and object dirs in the tables,
8601         making sure that each directory is present only once and, for object
8602         dirs, when a directory already present is added, the duplicate is
8603         removed and the directory is always put as the last in the table.
8604         Write the path files at the end of these accumulations.
8605
8606         * prj-nmsc.adb (Record_Source): Add source file name in hash table
8607         Files_Htable for all sources.
8608
8609         * prj-proc.adb (Process): Remove restrictions between not directly
8610         related extending projects.
8611
8612 2004-03-18  Emmanuel Briot  <briot@act-europe.fr>
8613
8614         * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
8615         (Find_Sources): Minor speed optimization.
8616
8617         * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
8618         parameter Trusted_Mode.
8619
8620 2004-03-18  Sergey Rybin  <rybin@act-europe.fr>
8621
8622         * scn.adb (Determine_License): Take into account a degenerated case
8623         when the source contains only comments.
8624
8625 2004-03-18  Ed Schonberg  <schonberg@gnat.com>
8626
8627         * sem_warn.adb (Check_References): For a warning on a selected
8628         component that does not come from source, locate an uninitialized
8629         component of the record type to produce a more precise error message.
8630
8631 2004-03-15  Jerome Guitton  <guitton@act-europe.fr>
8632
8633         * 3zsoccon.ads: Fix multicast options.
8634
8635         * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
8636         in the spec.
8637
8638 2004-03-15  Robert Dewar  <dewar@gnat.com>
8639
8640         * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
8641         pragma used for a private type.
8642
8643         * lib-xref.adb (Generate_Reference): Do not generate warning if
8644         reference is in a different unit from the pragma Unreferenced.
8645
8646         * 5vtpopde.adb: Minor reformatting
8647         Fix casing of To_Task_ID
8648
8649         * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
8650         flag if we have an unchecked conversion to an access type in the same
8651         unit.
8652
8653 2004-03-15  Geert Bosch  <bosch@gnat.com>
8654
8655         * a-ngcoty.adb (Modulus): In alternate formula for large real or
8656         imaginary parts, use Double precision throughout.
8657
8658         * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
8659         we want to be able to compile run-time with -gnata for testing, but
8660         this may also be instantiated in user code that is compiled with -gnata.
8661
8662 2004-03-15  Olivier Hainque  <hainque@act-europe.fr>
8663
8664         * s-stalib.ads (Exception_Code): New type, to represent Import/Export
8665         codes. Having a separate type for this is useful to enforce consistency
8666         throughout the various run-time units.
8667         (Exception_Data): Use Exception_Code for Import_Code.
8668
8669         * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
8670         Natural and Integer in various places.
8671         (Register_VMS_Exception): Use Base_Code_In to compute the exception code
8672         with the severity bits masked off.
8673         (Register_VMS_Exception): Handle the additional exception data pointer
8674         argument.
8675
8676         * raise.c (_GNAT_Exception structure): Remove the handled_by_others
8677         component, now reflected by an exported accessor.
8678         (is_handled_by): New routine to compute whether the propagated
8679         occurrence matches some handler choice specification. Extracted out of
8680         get_action_description_for, and expanded to take care of the VMS
8681         specifities.
8682         (get_action_description_for): Use is_handled_by instead of an explicit
8683         complex condition to decide if the current choice at hand catches the
8684         propagated occurrence.
8685
8686         * raise.h (Exception_Code): New type for C.
8687
8688         * rtsfind.ads (RE_Id, RE_Unit_Table): Add
8689         System.Standard_Library.Exception_Code, to allow references from the
8690         pragma import/export expander.
8691
8692         * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
8693         New accessors to allow easy access to GNAT exception data
8694         characteristics.
8695         (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
8696         redundant Handled_By_Others component, helper for the personality
8697         routine which will now be able to call the appropriate exception data
8698         accessor instead.
8699
8700         * cstand.adb (Create_Standard): Adjust the type of the Import_Code
8701         component of Standard_Exception_Type to be the closest possible to
8702         Exception_Code in System.Standard_Library, that we cannot get at this
8703         point. Expand a ??? comment to notify that this type node should
8704         probably be rewritten later on.
8705
8706         * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
8707         registration call to include a pointer to the exception object in the
8708         arguments.
8709
8710         * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
8711         instead of int and explicit bitmasks.
8712
8713 2004-03-15  Vincent Celier  <celier@gnat.com>
8714
8715         * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
8716         equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
8717
8718         * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
8719         longer needed now that it is in the spec of
8720         System.Tasking.Task_Attributes.
8721
8722         * adaint.h, adaint.c: (__gnat_create_output_file): New function
8723
8724         * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
8725
8726         * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
8727
8728         * make.adb (Gnatmake): Do not check the executable suffix; it is being
8729         taken care of in Scan_Make_Arg.
8730         (Scan_Make_Arg): Add the executable suffix only if the argument
8731         following -o, in canonical case, does not end with the executable
8732         suffix.  When in verbose mode and executable file name does not end
8733         with executable suffix, output the executable name, in canonical case.
8734
8735         * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
8736         to avoid warnings when instantiating Ada.Task_Attributes.
8737         Minor reformating.
8738
8739         * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
8740         in the correct order.
8741
8742         * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
8743         redirect standard output and error to a file for the invocation of the
8744         compiler, then read the file.
8745
8746         * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
8747         directory, instead of the Value.
8748         (Find_Source_Dirs): Remove useless code & comments.
8749
8750 2004-03-15  Ed Schonberg  <schonberg@gnat.com>
8751
8752         * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
8753         tagged type is inherited, and the parent operation is not frozen yet,
8754         force generation of a freeze node for the inherited operation, so the
8755         corresponding dispatch entry is properly initialized.
8756         (Make_Predefined_Primitive_Specs): Check that return type is Boolean
8757         when looking for user-defined equality operation.
8758
8759         * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
8760         boolean when locating primitive equality of tagged component.
8761
8762         * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
8763         bit-aligned field and the right-hand side a string literal, introduce
8764         a temporary before expanding assignment into a loop.
8765
8766         * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
8767         priority in full, to ensure that any expanded subepxressions of it are
8768         elaborated in the scope of the init_proc.
8769
8770         * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
8771         after object declaration, skipping over code that may have been
8772         generated for validity checks.
8773
8774         * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
8775         discriminants, ignore the known discriminants of its full view, if
8776         any, to check legality.
8777
8778         * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
8779         component if type has unknown discriminants.
8780         (Analyze_Private_Extension_Declaration): Discriminant constraint is
8781         null if type has unknown discriminants.
8782
8783         * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
8784         for end label when present.
8785
8786         * s-fileio.adb (Open): When called with a C_Stream, use given name for
8787         temporary file, rather than an empty string.
8788
8789 2004-03-15  Ed Falis  <falis@gnat.com>
8790
8791         * s-thread.adb: Removed, no longer used.
8792
8793 2004-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8794
8795         * decl.c (target.h): Now include.
8796         (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
8797         in new build_pointer_from_mode calls for non-fat/non-thin pointer.
8798         (validate_size): For POINTER_TYPE, get smallest size permitted on
8799         machine.
8800
8801         * fe.h: Sort Einfo decls and add Set_Mechanism.
8802
8803         * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
8804         (ada/decl.o): Depends on target.h.
8805
8806         * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
8807         FUNCTION_BOUNDARY; always use TYPE_ALIGN.
8808
8809 2004-03-15  Thomas Quinot  <quinot@act-europe.fr>
8810
8811         * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
8812
8813         * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
8814         Insert_Dereference_Action when rewriting an implicit dereference into
8815         an explicit one, this will be taken care of during expansion of the
8816         explicit dereference.
8817         (Expand_N_Slice): Same. Always do the rewriting, even for the case
8818         of non-packed slices, since the dereference action generated by
8819         expansion of the explicit dereference is needed in any case.
8820         (Expand_N_Selected_Component): When rewriting an implicit dereference,
8821         analyze and resolve the rewritten explicit dereference so it is seen
8822         by the expander.
8823         (Insert_Dereference_Action): This procedure is now called only for the
8824         expansion of an N_Explcit_Dereference_Node. Do insert a check even for
8825         dereferences that do not come from source (including explicit
8826         dereferences resulting from rewriting implicit ones), but do not
8827         recursively insert a check for the dereference nodes contained within
8828         the check.
8829         (Insert_Dereference_Action): Clarify and correct comment.
8830
8831 2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
8832
8833         PR ada/14131
8834         Move language detection to the top level.
8835         * config-lang.in: Build by default.
8836
8837 2004-03-05  Robert Dewar  <dewar@gnat.com>
8838
8839         * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
8840
8841         * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
8842         i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
8843         5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
8844         5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
8845         unchecked conversion to spec to avoid warnings.
8846
8847         * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
8848         to Task_ID
8849
8850         * 7stpopsp.adb: Correct casing in To_Task_ID call
8851
8852         * a-strsea.ads, a-strsea.adb: Minor reformatting
8853
8854         * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
8855
8856         * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
8857         Adjust Max_Msg_Length to be clearly large enough.
8858
8859         * fe.h: Define In_Same_Source_Unit
8860
8861         * osint.adb: Add pragma Warnings Off to suppress warnings
8862         * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
8863         aliasing warnings.
8864
8865         * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
8866
8867         * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
8868
8869         * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
8870
8871         * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
8872
8873         * sem_prag.adb: Implement pragma No_Strict_Aliasing.
8874
8875         * sinfo.ads: Remove obsolete comment on validate unchecked conversion
8876         node. We now do generate them for gcc back end.
8877
8878         * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
8879         warning.
8880
8881         * sinput-c.adb: Fix bad name in header.
8882         Add pragma Warnings Off to suppress aliasing warning.
8883
8884         * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
8885
8886         * snames.h, snames.ads, snames.adb: Add entry for pragma
8887         No_Strict_Aliasing.
8888
8889 2004-03-05  Vincent Celier  <celier@gnat.com>
8890
8891         * prj-com.ads: Add hash table Files_Htable to check when a file name
8892         is already a source of another project.
8893
8894         * prj-nmsc.adb (Record_Source): Before recording a new source, check
8895         if its file name is not already a source of another project. Report an
8896         error if it is.
8897
8898         * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
8899         source file name, call gnatpp with all the sources of the main project.
8900
8901         * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
8902         of file names.
8903
8904         * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
8905         NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
8906         /RUNTIME_SYSTEM=, converted to --RTS=
8907         /NOTABS, converted to -notabs
8908
8909 2004-03-05  Pascal Obry  <obry@gnat.com>
8910
8911         * make.adb: Minor reformatting.
8912
8913 2004-03-05  Ed Schonberg  <schonberg@gnat.com>
8914
8915         Part of implemention of AI-262.
8916         * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
8917
8918         * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
8919         procedure.
8920
8921         * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
8922         when component type is a partially constrained class-wide subtype.
8923         (Constrain_Discriminated_Type): If parent type has unknown
8924         discriminants, a constraint is illegal, even if full view has
8925         discriminants.
8926         (Build_Derived_Record_Type): Inherit discriminants when deriving a type
8927         with unknown discriminants whose full view is a discriminated record.
8928
8929         * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
8930         flag, to handle properly derivations of tagged types with unknown
8931         discriminants.
8932         (Analyze_Package_Spec, Analyze_Package_Body): Install
8933         Private_With_Clauses before analyzing private part or body.
8934
8935         * einfo.ads: Indicate that both Has_Unknown_Discriminants and
8936         Has_Discriminants can be true for a given type (documentation).
8937
8938 2004-03-05  Arnaud Charlet  <charlet@act-europe.fr>
8939
8940         * s-restri.ads: Fix license (GPL->GMGPL).
8941
8942         * s-tassta.adb: Minor reformatting.
8943
8944         * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
8945         by calls to Exit_One_ATC_Level, since additional clean up is performed
8946         by this function.
8947
8948         * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
8949         by calls to Exit_One_ATC_Level, since additional clean up is performed
8950         by this function.
8951
8952 2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8953
8954         * trans.c: Reflect GCC changes to fix bootstrap problem.
8955         Add warning for suspicious aliasing unchecked conversion.
8956
8957 2004-03-05  GNAT Script  <nobody@gnat.com>
8958
8959         * Make-lang.in: Makefile automatically updated
8960
8961 2004-03-02  Emmanuel Briot  <briot@act-europe.fr>
8962
8963         * ali.adb (Read_Instantiation_Instance): Do not modify the
8964         current_file_num when reading information about instantiations, since
8965         this corrupts files in later references.
8966
8967 2004-03-02  Vincent Celier  <celier@gnat.com>
8968
8969         * bcheck.adb (Check_Consistency): Get the full path of an ALI file
8970         before checking if it is read-only.
8971
8972         * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
8973         of SRC_DIRS and eliminate duplicates.
8974
8975         * gprcmd.adb: Replace command "path" with command "path_sep" to return
8976         the path separator.
8977         (Usage): Document path_sep
8978
8979         * Makefile.generic: For Ada and GNU C++ cases, link directly with the
8980         C++ compiler. No need for a script.
8981         Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
8982         Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
8983         subst.
8984
8985         * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
8986         where there are Ada sources.
8987         (Set_Ada_Paths): Only add to the include path the source dirs of project
8988         with Ada sources.
8989         (Add_To_Path): Add the Display_Values of the directories, not their
8990         Values.
8991
8992         * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
8993         data.
8994
8995         * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
8996         is not No_Name.
8997         (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
8998         Value is canonicalized.
8999         (Language_Independent_Check): Do not copy Value to Display_Value when
9000         canonicalizing Value.
9001
9002         * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
9003         path to find limited with cycles.
9004         (Parse_Single_Project): Use canonical cased path to find the end of a
9005         with cycle.
9006
9007 2004-03-02  Ed Schonberg  <schonberg@gnat.com>
9008
9009         * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
9010         and not a child unit.
9011
9012         * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
9013         appear in a with_clause.
9014
9015         * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
9016         only happen in type_annotate mode, do not try to elaborate it.
9017
9018         * exp_util.adb (Force_Evaluation): If expression is a selected
9019         component on the left of an assignment, use a renaming rather than a
9020         temporary to remove side effects.
9021
9022         * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
9023         inlined instance body, which is analyzed before the end of the
9024         enclosing scope.
9025
9026 2004-03-02  Robert Dewar  <dewar@gnat.com>
9027
9028         * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
9029         sem_ch4.adb: Use new feature for substitution of keywords in VMS
9030
9031         * errout.ads, errout.adb: Implement new circuit for substitution of
9032         keywords in VMS.
9033
9034         * sem_case.adb (Analyze_Choices): Place message properly when case is
9035         a subtype reference rather than an explicit range.
9036
9037         * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
9038
9039 2004-03-02  Doug Rupp  <rupp@gnat.com>
9040
9041         * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
9042
9043 2004-03-02  Thomas Quinot  <quinot@act-europe.fr>
9044
9045         * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
9046
9047 2004-03-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9048
9049         * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
9050         BLKmode bitfield.
9051
9052 2004-02-25  Robert Dewar  <dewar@gnat.com>
9053
9054         * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
9055         55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
9056         5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
9057         5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
9058         5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
9059         5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
9060         the defining instance of the type to avoid aliasing problems.
9061         Fix copyright header.  Fix bad comments in package header.
9062
9063         * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
9064
9065 2004-02-25  Ed Schonberg  <schonberg@gnat.com>
9066
9067         * exp_ch2.adb (Param_Entity): Handle properly formals that have been
9068         rewritten as references when aliased through an address clause.
9069
9070         * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
9071         whether call can be interpreted as an indirect call to the result of a
9072         parameterless function call returning an access subprogram.
9073
9074 2004-02-25  Arnaud Charlet  <charlet@act-europe.fr>
9075
9076         Code clean up:
9077         * exp_ch7.adb (Make_Clean): Remove generation of calls to
9078         Unlock[_Entries], since this is now done by Service_Entries directly.
9079
9080         * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
9081
9082         * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
9083         Requeue_Call for better code readability. Change spec and update calls:
9084         PO_Service_Entries now unlock the PO on exit.
9085         (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
9086         PO_Service_Entries.
9087
9088         * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
9089
9090         * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
9091
9092 2004-02-25  Sergey Rybin  <rybin@act-europe.fr>
9093
9094         * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
9095         protected subprogram call and analyzing the result of such expanding
9096         in case when the called protected subprogram is eliminated.
9097
9098         * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
9099         names.
9100
9101 2004-02-25  Jerome Guitton  <guitton@act-europe.fr>
9102
9103         * Makefile.in: Clean ups.
9104
9105 2004-02-23  Ed Schonberg  <schonberg@gnat.com>
9106
9107         * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
9108         protected operations if original subprogram is flagged as eliminated.
9109         (Expand_N_Subprogram_Body): For a protected operation, create
9110         discriminals for next operation before checking whether the operation
9111         is eliminated.
9112
9113         * exp_ch9.adb (Expand_N_Protected_Body,
9114         Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
9115         for internal protected operations if the original subprogram is
9116         eliminated.
9117
9118         * sem_elim.adb (Check_Eliminated): Handle properly protected operations
9119         declared in a single protected object.
9120
9121 2004-02-23  Vincent Celier  <celier@gnat.com>
9122
9123         * prj-attr.adb: Make attribute Builder'Executable an associative array,
9124         case insensitive if file names are case insensitive, instead of a
9125         standard associative array.
9126
9127         * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
9128         them as case insensitive on platforms where the file names are case
9129         sensitive.
9130
9131         * prj-part.adb (Parse_Single_Project): Make sure, when checking if
9132         project file has already been parsed that canonical path are compared.
9133
9134 2004-02-23  Robert Dewar  <dewar@gnat.com>
9135
9136         * sinput-c.ads: Correct bad unit title in header
9137
9138         * freeze.adb: Minor reformatting
9139
9140 2004-02-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9141
9142         * trans.c (tree_transform, case N_Procedure_Call_Statement): For
9143         nonaddressable COMPONENT_REF that is removing padding that we are
9144         taking the address of, take the address of the padded record instead
9145         if item is variable size.
9146
9147 2004-02-20  Robert Dewar  <dewar@gnat.com>
9148
9149         * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
9150
9151 2004-02-20  Ed Schonberg  <schonberg@gnat.com>
9152
9153         * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
9154         itype references for the constrained designated type of a component
9155         whose base type is already frozen.
9156
9157 2004-02-20  Arnaud Charlet  <charlet@act-europe.fr>
9158
9159         * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
9160         avoid GCC warnings.
9161
9162 2004-02-20  Sergey Rybin  <rybin@act-europe.fr>
9163
9164         * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
9165         identifier for a phantom package that rewrites the formal package
9166         declaration with a box. The Add semantic decorations for the defining
9167         identifier from the original node (that represents the formal package).
9168
9169 2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
9170
9171         * Make-lang.in (ada/stamp-sdefault): Use the top level
9172         move-if-change.
9173
9174 2004-02-19  Richard Henderson  <rth@redhat.com>
9175
9176         * misc.c (record_code_position): Add third build arg for RTL_EXPR.
9177
9178 2004-02-18  Emmanuel Briot  <briot@act-europe.fr>
9179
9180         * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
9181         Scan_ALI can be used for multiple ALI files without reinitializing
9182         between calls.
9183
9184 2004-02-18  Robert Dewar  <dewar@gnat.com>
9185
9186         * debug.adb: Minor reformatting.
9187
9188 2004-02-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9189
9190         * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
9191         to zero if there is an address clause.
9192
9193 2004-02-18  Thomas Quinot  <quinot@act-europe.fr>
9194
9195         * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
9196
9197 2004-02-18  Gary Dismukes  <dismukes@gnat.com>
9198
9199         * layout.adb (Layout_Component_List): Revise generation of call to
9200         discriminant-checking function to pass selections of all of the type's
9201         discriminants rather than just the variant-controlling discriminant.
9202
9203 2004-02-18  Olivier Hainque  <hainque@act-europe.fr>
9204
9205         * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
9206         fail in the current setup and triggers spurious system error messages.
9207         Pretend it occurred and failed instead.
9208
9209 2004-02-18  Vincent Celier  <celier@gnat.com>
9210
9211         * bld.adb: Mark FLDFLAGS as saved
9212         (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
9213         it is not the root project.  Put each directory to be
9214         extended between double quotes to prevent it to be expanded on Windows.
9215         (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
9216         the project file. Set them back to their initial values if they have not
9217         been set in the project file.
9218
9219         * gprcmd.adb: (Gprdebug, Debug): New global variables
9220         (Display_Command): New procedure
9221         (Usage): Document new command "linkopts"
9222         Call Display_Command when env var GPRDEBUG has the value "TRUE"
9223         Implement new command "linkopts"
9224         Remove quotes that may be around arguments for "extend"
9225         Always call Normalize_Pathname with arguments formatted for the platform
9226
9227         * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
9228         Change @echo to @$(display) in target clean to be able to clean silently
9229
9230         * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
9231
9232         * prj-part.adb (Project_Path_Name_Of): Do not put final result in
9233         canonical case.
9234
9235         * prj-part.adb (Parse_Single_Project): Always call with From_Extended
9236         = Extending_All when current project is an extending all project.
9237
9238         * vms_conv.adb (Output_File_Expected): New Boolean global variable,
9239         set to True only for LINK command, after Unix switch -o.
9240         (Process_Arguments): Set Output_File_Expected to True for LINK command
9241         after Unix switch -o. When Output_File_Expected is True, never add an
9242         extension to a file name.
9243
9244         * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
9245         option file name, only to the --for-linker= switch.
9246         (Option_File_Name): If option file name do not end with ".opt", append
9247         "/OPTIONS".
9248
9249 2004-02-18  GNAT Script  <nobody@gnat.com>
9250
9251         * Make-lang.in: Makefile automatically updated
9252
9253 2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
9254
9255         * Make-lang.in (stamp-sdefault): Do not depend on
9256         move-if-change.
9257
9258 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
9259
9260         * config-lang.in: Disable Ada by default until probe logic for
9261         a bootstrap Ada compiler can be moved to the top level configure
9262         script.
9263
9264 2004-02-12  Olivier Hainque  <hainque@act-europe.fr>
9265
9266         * decl.c (components_to_record): Don't claim that the internal fields
9267         we make to hold the variant parts are semantically addressable, because
9268         they are not.
9269
9270         * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
9271         adjust the comment describing the modular type form when we can use it.
9272         (Install_PAT): Account for the Esiz renaming.
9273
9274         * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
9275         sc_onstack context indication before raising the exception to which
9276         the signal is mapped. Allows better handling of later signals possibly
9277         triggered by the resumed user code if the exception is handled.
9278
9279 2004-02-12  Arnaud Charlet  <charlet@act-europe.fr>
9280
9281         * 5zinit.adb: Removed, no longer used.
9282
9283 2004-02-12  Robert Dewar  <dewar@gnat.com>
9284
9285         * ali.adb: Remove separating space between parameters on R line. Makes
9286         format consistent with format used by the binder for Set_Globals call.
9287
9288         * atree.ads, atree.adb: Minor reformatting (new function header format)
9289
9290         * bindgen.adb: Add Run-Time Globals documentation section containing
9291         detailed documentation of the globals passed from the binder file to
9292         the run time.
9293
9294         * gnatls.adb: Minor reformatting
9295
9296         * init.c (__gnat_set_globals): Add note pointing to documentation in
9297         bindgen.
9298
9299         * lib-writ.ads, lib-writ.adb: Remove separating space between
9300         parameters on R line.
9301         Makes format consistent with format used by the binder for Set_Globals
9302         call.
9303
9304         * osint.ads: Add 2004 to copyright notice
9305         Minor reformatting
9306
9307         * snames.ads: Correct capitalization of FIFO_Within_Priorities
9308         Noticed during code reading, documentation issue only
9309
9310         * usage.adb: Remove junk line for obsolete C switch
9311         Noticed during code reading
9312
9313 2004-02-12  Vincent Celier  <celier@gnat.com>
9314
9315         * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
9316         extend for each directory, so that multiple /** directories are
9317         extended individually.
9318         (Recursive_Process): Set the default for LANGUAGES to ada
9319
9320         * gprcmd.adb: Define new command "ignore", to do nothing.
9321         Implement new comment "path".
9322
9323         * Makefile.generic: Suppress output when SILENT is set
9324         Make sure that when compiler for C/C++ is gcc, the correct -x switch is
9325         used, so that the correct compiler is invoked.
9326         When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
9327         CXX_INCLUDE_PATH, to avoid failure with too long command lines.
9328
9329 2004-02-12  Jerome Guitton  <guitton@act-europe.fr>
9330
9331         * Makefile.in: Clean ups and remove obsolete targets.
9332
9333 2004-02-12  Ed Schonberg  <schonberg@gnat.com>
9334
9335         * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
9336         predicate declared in exp_util.
9337
9338         * exp_util.adb: Add comments.
9339
9340         * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
9341         visibility before compiling context of the subunit.
9342
9343         * sem_res.adb (Check_Parameterless_Call): If the context expects a
9344         value but the name is a procedure, do not attempt to analyze as a call,
9345         in order to obtain more telling diagnostics.
9346
9347         * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
9348         'Access on parameterless function calls.
9349         (Normalize_Actuals): For a parameterless function call with missing
9350         actuals, defer diagnostic until resolution of enclosing call.
9351
9352         * sem_util.adb (Wrong_Type): If the context type is an access to
9353         subprogram and the expression is a procedure name, suggest a missing
9354         'attribute.
9355
9356 2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>,
9357             Nathanael Nerode  <neroden@gcc.gnu.org>
9358
9359         PR ada/6637, PR ada/5911
9360         Merge with libada-branch:
9361         * config-lang.in: Build libada only when ada is built.
9362
9363 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
9364
9365         * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
9366         for a tagged type, verify that both formals have the same type.
9367
9368         * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
9369         temporary when the formal is an in-parameter and the actual a possibly
9370         unaligned slice.
9371
9372         * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
9373         when expansion is disabled, to ensure proper name capture with
9374         overloaded literals.  Condition can be of any boolean type, resolve
9375         accordingly.
9376
9377         * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
9378         renaming is for a formal subprogram with a default operator name, and
9379         there is a usable operator that is visible at the point of
9380         instantiation.
9381
9382 2004-02-09  Robert Dewar  <dewar@gnat.com>
9383
9384         * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
9385         rewrite to ignore errors in ali files, intended to allow tools downward
9386         compatibility with new versions of ali files.
9387
9388         * ali.ads: Add new parameter Ignore_Errors
9389
9390         * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
9391         duplicating the error message giving the file with restrictions.
9392
9393         * debug.adb: Add debug flag I for gnatbind
9394
9395         * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
9396         operators for the case where the operator is a defining operator.
9397
9398         * exp_ch3.adb: Minor reformatting (new function spec format).
9399
9400         * exp_ch4.adb: Add comment for previous change, and make minor
9401         adjustment to loop to always check for improper loop termination.
9402         Minor reformatting throughout (new function spec format).
9403
9404         * gnatbind.adb: Implement -di debug flag for gnatbind
9405
9406         * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
9407
9408         * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
9409
9410         * lib-load.adb: Fix bad assertion.
9411         Found by testing and code reading.
9412         Minor reformatting.
9413
9414         * lib-load.ads: Minor reformatting.
9415
9416         * lib-writ.adb: There is only one R line now.
9417
9418         * lib-writ.ads: Add documentation on making downward compatible changes
9419         to ali files so old tools work with new ali files.
9420         There is only one R line now.
9421         Add documentation on format incompatibilities (with special GPS note)
9422
9423         * namet.ads, namet.adb: (Is_Operator_Name): New procedure
9424
9425         * par-load.adb: Minor reformatting
9426
9427         * sem_ch8.adb: Fix to error message from last update
9428         Minor reformatting and restructuring of code from last update
9429
9430         * par-prag.adb, snames.adb, snames.ads, snames.h,
9431         sem_prag.adb: Implement pragma Profile.
9432
9433         * stylesw.adb: Implement -gnatyN switch to turn off all style check
9434         options.
9435
9436         * usage.adb: Add line for -gnatyN switch
9437
9438         * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
9439
9440 2004-02-09  Albert Lee  <lee@gnat.com>
9441
9442         * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
9443
9444 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
9445
9446         * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
9447         slices.
9448
9449         * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
9450         is nested in an instance that is not frozen yet, to avoid
9451         order-of-elaboration problems in gigi.
9452
9453         * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
9454         body the attribute is legal.
9455
9456 2004-02-09  Robert Dewar  <dewar@gnat.com>
9457
9458         * s-rident.ads: Minor comment correction
9459
9460         * targparm.adb: Remove dependence on uintp completely. There was
9461         always a bug in Make in that it called Targparm before initializing
9462         the Uint package. The old code appeared to get away with this, but
9463         the new code did not! This caused an assertion error in gnatmake.
9464
9465         * targparm.ads: Fix bad comment, restriction pragmas with parameters
9466         are indeed fully supported.
9467
9468 2004-02-06  Alan Modra  <amodra@bigpond.net.au>
9469
9470         * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
9471
9472 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
9473
9474         * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
9475         with targetm.calls.promote_prototypes.
9476
9477 2004-02-04  Robert Dewar  <dewar@gnat.com>
9478
9479         * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
9480         ali.ads, gprcmd.adb: Minor reformatting
9481
9482         * bindgen.adb: Output restrictions string for new style restrictions
9483         handling
9484
9485         * impunit.adb: Add s-rident.ads (System.Rident) and
9486         s-restri (System.Restrictions)
9487
9488         * lib-writ.adb: Fix bug in writing restrictions string (last few
9489         entries wrong)
9490
9491         * s-restri.ads, s-restri.adb: Change name Restrictions to
9492         Run_Time_Restrictions to avoid conflict with package name.
9493         Add circuit to read and acquire run time restrictions.
9494
9495 2004-02-04  Jose Ruiz  <ruiz@act-europe.fr>
9496
9497         * restrict.ads, restrict.adb: Use the new restriction
9498         No_Task_Attributes_Package instead of the old No_Task_Attributes.
9499
9500         * sem_prag.adb: No_Task_Attributes is a synonym of
9501         No_Task_Attributes_Package.
9502
9503         * snames.ads, snames.adb: New entry for proper handling of
9504         No_Task_Attributes.
9505
9506         * s-rident.ads: Adding restriction No_Task_Attributes_Package
9507         (AI-00249) that supersedes the GNAT specific restriction
9508         No_Task_Attributes.
9509
9510 2004-02-04  Ed Schonberg  <schonberg@gnat.com>
9511
9512         * sem_prag.adb:
9513         (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
9514          body, an identifier may be wrapped in an unchecked conversion.
9515
9516 2004-02-04  Vincent Celier  <celier@gnat.com>
9517
9518         * lib-writ.ads: Comment update for the W lines
9519
9520         * bld.adb: (Expression): An empty string list is static
9521
9522         * fname-uf.adb: Minor comment update
9523
9524         * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
9525
9526         * gnatbind.adb: Initialize Cumulative_Restrictions with the
9527         restrictions on the target.
9528
9529 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
9530
9531         * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
9532         gen_rtx.
9533
9534 2004-02-02  Arnaud Charlet  <charlet@gnat.com>
9535
9536         * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
9537
9538 2004-02-02  Vincent Celier  <celier@gnat.com>
9539
9540         * gprcmd.adb (Check_Args): If condition is false, print the invoked
9541         comment before the usage.
9542         Gprcmd: Fail when command is not recognized.
9543         (Usage): Document command "prefix"
9544
9545         * g-md5.adb (Digest): Process last block.
9546         (Update): Do not process last block. Store remaining characters and
9547         length in Context.
9548
9549         * g-md5.ads (Update): Document that several call to update are
9550         equivalent to one call with the concatenated string.
9551         (Context): Add fields to allow new Update behaviour.
9552
9553         * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
9554         defaulted to False.
9555         When May_Fail is True and no existing file can be found, return No_File.
9556
9557         * 6vcstrea.adb: Inlined functions are now wrappers to implementation
9558         functions.
9559
9560         * lib-writ.adb (Write_With_Lines): When body file does not exist, use
9561         spec file name instead on the W line.
9562
9563 2004-02-02  Robert Dewar  <dewar@gnat.com>
9564
9565         * ali.adb: Read and acquire info from new format restrictions lines
9566
9567         * bcheck.adb: Add circuits for checking restrictions with parameters
9568
9569         * bindgen.adb: Output dummy restrictions data
9570         To be changed later
9571
9572         * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
9573         exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
9574         freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
9575         sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
9576         sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
9577
9578         * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
9579         the warning message on access to possibly uninitialized variable S)
9580         Minor changes for new restrictions handling.
9581
9582         * gnatbind.adb: Minor reformatting
9583         Minor changes for new restrictions handling
9584         Move circuit for -r processing here from bcheck (cleaner)
9585
9586         * gnatcmd.adb, gnatlink.adb: Minor reformatting
9587
9588         * lib-writ.adb: Output new format restrictions lines
9589
9590         * lib-writ.ads: Document new R format lines for new restrictions
9591         handling.
9592
9593         * s-restri.ads/adb: New files
9594
9595         * Makefile.rtl: Add entry for s-restri.ads/adb
9596
9597         * par-ch3.adb: Fix bad error messages starting with upper case letter
9598         Minor reformatting
9599
9600         * restrict.adb: Major rewrite throughout for new restrictions handling
9601         Major point is to handle restrictions with parameters
9602
9603         * restrict.ads: Major changes in interface to handle restrictions with
9604         parameters. Also generally simplifies setting of restrictions.
9605
9606         * snames.ads/adb: New entry for proper handling of No_Requeue
9607
9608         * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
9609         restriction counting.
9610         Other minor changes for new restrictions handling
9611
9612         * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
9613         Restriction_Warnings now allows full parameter notation
9614         Major rewrite of Restrictions for new restrictions handling
9615
9616 2004-02-02  Javier Miranda  <miranda@gnat.com>
9617
9618         * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
9619         syntax rule for object renaming declarations.
9620         (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
9621         component definitions.
9622
9623         * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
9624         components.
9625         (Array_Type_Declaration): Give support to access components. In addition
9626         it was also modified to reflect the name of the object in anonymous
9627         array types. The old code did not take into account that it is possible
9628         to have an unconstrained anonymous array with an initial value.
9629         (Check_Or_Process_Discriminants): Allow access discriminant in
9630         non-limited types.
9631         (Process_Discriminants): Allow access discriminant in non-limited types
9632         Initialize the new Access_Definition field in N_Object_Renaming_Decl
9633         node.  Change Ada0Y to Ada 0Y in comments
9634
9635         * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
9636         equality operators.
9637         Change Ada0Y to Ada 0Y in comments
9638
9639         * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
9640         renamings Change Ada0Y to Ada 0Y in comments
9641
9642         * sem_type.adb (Find_Unique_Type): Give support to the equality
9643         operators for universal access types
9644         Change Ada0Y to Ada 0Y in comments
9645
9646         * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
9647
9648         * sinfo.ads (N_Component_Definition): Addition of Access_Definition
9649         field.
9650         (N_Object_Renaming_Declaration): Addition of Access_Definition field
9651         Change Ada0Y to Ada 0Y in comments
9652
9653         * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
9654         component definition and object renaming nodes
9655         Change Ada0Y to Ada 0Y in comments
9656
9657 2004-02-02  Jose Ruiz  <ruiz@act-europe.fr>
9658
9659         * restrict.adb: Use the new restriction identifier
9660         No_Requeue_Statements instead of the old No_Requeue for defining the
9661         restricted profile.
9662
9663         * sem_ch9.adb (Analyze_Requeue): Check the new restriction
9664         No_Requeue_Statements.
9665
9666         * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
9667         that supersedes the GNAT specific restriction No_Requeue. The later is
9668         kept for backward compatibility.
9669
9670 2004-02-02  Ed Schonberg  <schonberg@gnat.com>
9671
9672         * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
9673         5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
9674         pragma and fix incorrect ones.
9675
9676         * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
9677         warning if the pragma is redundant.
9678
9679 2004-02-02  Thomas Quinot  <quinot@act-europe.fr>
9680
9681         * 5staprop.adb: Add missing 'constant' keywords.
9682
9683         * Makefile.in: use consistent value for SYMLIB on
9684         platforms where libaddr2line is supported.
9685
9686 2004-02-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9687
9688         * utils.c (end_subprog_body): Do not call rest_of_compilation if just
9689         annotating types.
9690
9691 2004-02-02  Olivier Hainque  <hainque@act-europe.fr>
9692
9693         * init.c (__gnat_install_handler): Setup an alternate stack for signal
9694         handlers in the environment thread. This allows proper propagation of
9695         an exception on stack overflows in this thread even when the builtin
9696         ABI stack-checking scheme is used without support for a stack reserve
9697         region.
9698
9699         * utils.c (create_field_decl): Augment the head comment about bitfield
9700         creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
9701         here, because the former is not accurate enough at this point.
9702         Let finish_record_type decide instead.
9703         Don't make a bitfield if the field is to be addressable.
9704         Always set a size for the field if the record is packed, to ensure the
9705         checks for bitfield creation are triggered.
9706         (finish_record_type): During last pass over the fields, clear
9707         DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
9708         not covered by the calls to layout_decl.  Adjust DECL_NONADDRESSABLE_P
9709         from DECL_BIT_FIELD.
9710
9711 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
9712
9713         * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
9714         (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
9715         (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
9716
9717 2004-01-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9718
9719         * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
9720
9721         * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
9722         (ZCX_By_Default): Likewise.
9723         (Front_End_ZCX_Support): Likewise.
9724
9725         * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
9726         (Initialize_Lock): Mark Level unreferenced.
9727         (Sleep): Mark Reason unreferenced.
9728         (Timed_Sleep): Likewise.
9729         (Wakeup): Likewise.
9730         (Exit_Task): Use Result.
9731         (Check_No_Locks): Mark Self_ID unreferenced.
9732
9733         * 5gtasinf.adb (New_Sproc): Make Attr constant.
9734         (Bound_Thread_Attributes): Make Sproc constant.
9735         (New_Bound_Thread_Attributes): Likewise.
9736
9737 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
9738
9739         * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
9740         one-dimensional array an slice assignments, when component type is
9741         controlled.
9742
9743         * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
9744         component type is controlled, and control_actions are in effect, use
9745         TSS procedure rather than generating inline code.
9746
9747         * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
9748         arrays with controlled components.
9749
9750 2004-01-26  Vincent Celier  <celier@gnat.com>
9751
9752         * gnatcmd.adb (GNATCmd): Add specification of argument file on the
9753         command line for the non VMS case.
9754
9755         * gnatlink.adb (Process_Binder_File): When building object file, if
9756         GNU linker is used, put all object paths between quotes, to prevent ld
9757         error when there are unusual characters (such as '!') in the paths.
9758
9759         * Makefile.generic: When there are sources in Ada and the main is in
9760         C/C++, invoke gnatmake with -B, instead of -z.
9761
9762         * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
9763         from VMS_Conversion.
9764         (Process_Argument): New procedure, extracted from VMS_Conversion. Add
9765         specification of argument file on the command line.
9766
9767 2004-01-26  Bernard Banner  <banner@gnat.com>
9768
9769         * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
9770
9771 2004-01-26  Ed Schonberg  <schonberg@gnat.com>
9772
9773         * snames.adb: Update copyright notice.
9774         Add info on slice assignment for controlled arrays.
9775
9776 2004-01-23  Robert Dewar  <dewar@gnat.com>
9777
9778         * exp_aggr.adb: Minor reformatting
9779
9780         * exp_ch9.adb: Minor code clean up
9781         Minor reformatting
9782         Fix bad character in comment
9783
9784         PR ada/13471
9785         * targparm.adb (Get_Target_Parameters): Give clean abort error on
9786         unexpected end of file, along with more detailed message.
9787
9788 2004-01-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9789
9790         * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
9791         PAT.
9792
9793         * decl.c (copy_alias_set): New function.
9794         (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
9795
9796 2004-01-23  Doug Rupp  <rupp@gnat.com>
9797
9798         * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
9799         lib$${file} in case subsequent character is not a separator.
9800
9801 2004-01-23  Vincent Celier  <celier@gnat.com>
9802
9803         * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
9804         when the GCC version is at least 3.
9805
9806         * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
9807         Remove all "Opt.", to prepare for opt split
9808
9809         * prj-part.adb (Parse_Single_Project): New Boolean out parameter
9810         Extends_All. Set to True when the project parsed is an extending all
9811         project. Fails for importing an extending all project only when the
9812         imported project is an extending all project.
9813         (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
9814         depending on the value of Extends_All returned.
9815
9816         * prj-proc.adb (Process): Check that no project shares its object
9817         directory with a project that extends it, directly or indirectly,
9818         including a virtual project.
9819         Check that no project extended by another project shares its object
9820         directory with another also extended project.
9821
9822         * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
9823         Kind = N_With_Clause
9824
9825         * prj-tree.ads: Minor reformatting
9826         Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
9827
9828 2004-01-23  Ed Schonberg  <schonberg@gnat.com>
9829
9830         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
9831         applies to a type with an incomplete view, use full view in Name of
9832         clause, for consistency with uses of Get_Attribute_Definition_Clause.
9833
9834 2004-01-23  Arnaud Charlet  <charlet@act-europe.fr>
9835
9836         * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
9837         SCHED_RR, since other values are not supported by this policy.
9838         (Initialize): Move initialization of mutex attribute to package
9839         elaboration, to prevent early access to this variable.
9840
9841         * Makefile.in: Remove mention of Makefile.adalib, unused.
9842
9843         * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
9844         1ssecsta.ads: Removed, unused.
9845
9846 2004-01-21  Javier Miranda  <miranda@gnat.com>
9847
9848         * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
9849         entity if already built in the current scope.
9850
9851         * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
9852         reminder in internal scopes. Required for nested limited aggregates.
9853
9854 2004-01-21  Doug Rupp  <rupp@gnat.com>
9855
9856         * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
9857         VMS. Replace all occurences of libgnat- and libgnarl- with
9858         libgnat$(hyphen) and libgnarl$(hyphen).
9859         Fixed shared library build problem on VMS.
9860
9861 2004-01-21  Robert Dewar  <dewar@gnat.com>
9862
9863         * mlib-prj.adb: Minor reformatting
9864
9865 2004-01-21  Thomas Quinot  <quinot@act-europe.fr>
9866
9867         * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
9868         'constant' keywords for declaration of pointers that are not modified.
9869
9870         * exp_pakd.adb: Fix English in comment.
9871
9872 2004-01-21  Ed Schonberg  <schonberg@gnat.com>
9873
9874         PR ada/10889
9875         * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
9876         copy all attributes of the parent, including the foreign language
9877         convention.
9878
9879 2004-01-21  Sergey Rybin  <rybin@act-europe.fr>
9880
9881         PR ada/10565
9882         * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
9883         for 'delay until' statement.
9884
9885 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
9886
9887         * Make-lang.in: Replace $(docdir) with doc.
9888         (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
9889         doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
9890         to use consistent MAKEINFO rule.
9891         (ada.man, ada.srcman): Dummy entry.
9892         (ADA_INFOFILES): Define.
9893         (ada.info, ada.srcinfo): New rules.
9894
9895 2004-01-19  Arnaud Charlet  <charlet@act-europe.fr>
9896
9897         * utils.c: Update copyright notice, missed in previous change.
9898
9899 2004-01-19  Vincent Celier  <celier@gnat.com>
9900
9901         * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
9902         args if Bind is True. Set First_ALI, if not already done.
9903         (Build_Library): For Stand Alone Libraries, extract from one ALI file
9904         an eventual --RTS switch, for gnatbind, and all backend switches +
9905         --RTS, for linking.
9906
9907 2004-01-19  Robert Dewar  <dewar@gnat.com>
9908
9909         * sem_attr.adb, memtrack.adb: Minor reformatting
9910
9911 2004-01-19  Ed Schonberg  <schonberg@gnat.com>
9912
9913         * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
9914         that rename enumeration literals. This is properly done in sem_eval.
9915
9916         * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
9917         to functions that rename enumeration literals.
9918
9919         * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
9920         functions that rename enumeration literals.
9921
9922 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
9923
9924         * Make-lang.in (utils.o): Depend on target.h.
9925         * utils.c: Include target.h.
9926         (process_attributes): Use targetm.have_named_sections instead
9927         of ASM_OUTPUT_SECTION_NAME.
9928
9929 2004-01-16  Andreas Jaeger  <aj@suse.de>
9930
9931         * Makefile.in: Add $(DESTDIR).
9932
9933 2004-01-15  Olivier Hainque  <hainque@act-europe.fr>
9934
9935         * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
9936         also when not defining if a Size clause applies. That information is
9937         not to be ignored.
9938
9939 2004-01-15  Arnaud Charlet  <charlet@act-europe.fr>
9940
9941         * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
9942         symbolic links for the shared gnat run time when needed.
9943
9944 2004-01-15  Vasiliy Fofanov  <fofanov@act-europe.fr>
9945
9946         * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
9947         for writing, and terminate with an error message if not.
9948
9949 2004-01-15  Ed Schonberg  <schonberg@gnat.com>
9950
9951         * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
9952         warning on an access to subprogram in an instance, when the target
9953         type is declared in the same generic unit.
9954         (Eval_Attribute): If 'access is known to fail accessibility check,
9955         rewrite as a raise statement.
9956
9957 2004-01-15  GNAT Script  <nobody@gnat.com>
9958
9959         * Make-lang.in: Makefile automatically updated
9960
9961 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
9962
9963         * Make-lang.in (ada.srcextra): Dummy entry.
9964
9965 2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
9966
9967         * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
9968
9969 2004-01-13  Ed Schonberg  <schonberg@gnat.com>
9970
9971         * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
9972         components that are initialized with aggregates.
9973
9974 2004-01-13  Vincent Celier  <celier@gnat.com>
9975
9976         * gnatlink.adb (Process_Binder_File): To find directory of shared
9977         libgcc, if "gcc-lib" is not a subdirectory, look for the last
9978         subdirectory "lib" in the path of the shared libgnat or libgnarl.
9979
9980         * make.adb (Gnatmake): If GCC version is at least 3, link with
9981         -shared-libgcc, when there is at least one shared library project.
9982
9983         * opt.ads (GCC_Version): New integer constant.
9984
9985         * adaint.c (get_gcc_version): New function.
9986
9987 2004-01-13  Robert Dewar  <dewar@gnat.com>
9988
9989         * sem_dist.adb, sem_res.adb, sem_util.adb,
9990         sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
9991         exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
9992
9993 2004-01-13  Thomas Quinot  <quinot@act-europe.fr>
9994
9995         * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
9996         g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
9997         declarations.
9998
9999 2004-01-12  Arnaud Charlet  <charlet@act-europe.fr>
10000
10001         * misc.c: Remove trailing spaces.
10002         Update copyright notice missed in previous change.
10003
10004         PR ada/13572
10005         * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
10006         prefix/share/make
10007
10008         * Makefile.generic: Update copyright.
10009         Add license notice.
10010
10011         * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
10012         of prefix/share/make.
10013
10014         * Makefile.prolog: Update copyright.
10015         Add license notice.
10016
10017 2004-01-12  Laurent Pautet  <pautet@act-europe.fr>
10018
10019         * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
10020         3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
10021         g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
10022         instead of String.
10023
10024         * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
10025         signature.
10026
10027 2004-01-12  Javier Miranda  <miranda@gnat.com>
10028
10029         * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
10030         exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
10031         sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
10032         sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
10033         Component_Definition node.
10034
10035 2004-01-12  Ed Falis  <falis@gnat.com>
10036
10037         * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
10038
10039 2004-01-12  Thomas Quinot  <quinot@act-europe.fr>
10040
10041         * link.c: Change default libgnat kind to STATIC for FreeBSD.
10042
10043 2004-01-12  Bernard Banner  <banner@gnat.com>
10044
10045         * Makefile.in: map 86numaux to a-numaux for x86_64
10046
10047 2004-01-12  Ed Schonberg  <schonberg@gnat.com>
10048
10049         * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
10050         generated to rename a generic actual, go to the actual itself, the
10051         subtype is not a user-visible entity.
10052
10053         * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
10054         part is a private subtype, reset the visibility of its full view, if
10055         any, to be consistent.
10056
10057         PR ada/13417
10058         * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
10059         to use a generic package G as a formal package for another generic
10060         declared within G.
10061
10062 2004-01-12  Robert Dewar  <dewar@gnat.com>
10063
10064         * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
10065
10066         * usage.adb: Remove mention of obsolete -gnatwb switch
10067         Noticed during code reading
10068
10069 2004-01-12  Jerome Guitton  <guitton@act-europe.fr>
10070
10071         * 1ssecsta.adb: Minor changes for -gnatwa warnings
10072
10073 2004-01-12  GNAT Script  <nobody@gnat.com>
10074
10075         * Make-lang.in: Makefile automatically updated
10076
10077 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
10078
10079         * misc.c (gnat_expand_expr): Add alt_rtl parameter.
10080
10081 2004-01-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10082
10083         * link.c [sgi] (shared_libgnat_default): Change to STATIC.
10084
10085 2004-01-05  Kelley Cook  <kcook@gcc.gnu.org>
10086
10087         * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
10088         Update comment and copyright date.
10089         * stamp-xgnatug: Delete.
10090
10091 2004-01-05  Robert Dewar  <dewar@gnat.com>
10092
10093         * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
10094         be modified by the binder generated main program if the -D switch is
10095         used.
10096
10097         * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
10098         imported functions (since now we expect this to be done for imported
10099         functions)
10100
10101         * 5vtaprop.adb: Add several ??? for sections requiring more comments
10102         Minor reformatting throughout
10103
10104         * 5zinit.adb: Minor reformatting
10105         Add 2004 to copyright date
10106         Minor changes to avoid -gnatwa warnings
10107         Correct some instances of using OR instead of OR ELSE (noted while
10108         doing reformatting)
10109
10110         * sprint.adb: Minor updates to avoid -gnatwa warnings
10111
10112         * s-secsta.ads, s-secsta.adb:
10113         (SS_Get_Max): New function to obtain high water mark for ss stack
10114         Default_Secondary_Stack is not a constant since it may be modified by
10115         the binder generated main program if the -D switch is used.
10116
10117         * switch-b.adb: New -Dnnn switch for binder
10118
10119         * switch-c.adb:
10120         Make -gnatg imply all warnings currently in -gnatwa
10121
10122         * vms_conv.adb: Minor reformatting
10123         Add 2004 to copyright notice
10124         Add 2004 to printed copyright notice
10125
10126         * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
10127         3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
10128         5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
10129         5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
10130         5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
10131         5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
10132         5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
10133         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
10134         5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
10135         5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
10136         6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
10137         vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
10138         xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
10139         sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
10140         checks.adb, clean.adb, cstand.adb, einfo.ads,
10141         einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
10142         exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
10143         prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
10144         sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
10145         g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
10146         lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
10147         Minor reformatting and code clean ups.
10148         Minor changes to prevent -gnatwa warnings
10149
10150         * ali.adb: Minor reformatting and cleanup of code
10151         Acquire new SS indication of secondary stack use from ali files
10152
10153         * a-numaux.ads: Add Pure_Function pragmas for all imported functions
10154         (since now we expect this to be done for imported functions)
10155
10156         * bindgen.adb: Generate call to modify default secondary stack size if
10157         -Dnnn switch given
10158
10159         * bindusg.adb: Add line for new -D switch
10160
10161         * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
10162         replacement name for Type_May_Have_Non_Bit_Aligned_Components!
10163         Add circuitry for both records and arrays to avoid gigi
10164         processing if the type involved has non-bit-aligned components
10165
10166         * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
10167         N_String_Literal node always references an E_String_Literal_Subtype
10168         entity. This may not be true in the future.
10169         (Possible_Bit_Aligned_Component): Move processing of
10170         Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
10171
10172         * exp_ch6.adb (Expand_Thread_Body): Pick up
10173         Default_Secondary_Stack_Size as variable so that we get value modified
10174         by possible -Dnnn binder parameter.
10175
10176         * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
10177         (Type_May_Have_Bit_Aligned_Components): New function.
10178
10179         * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
10180         (Type_May_Have_Bit_Aligned_Components): New function.
10181
10182         * fe.h: (Set_Identifier_Casing): Fix prototype.
10183         Add declaration for Sem_Elim.Eliminate_Error_Msg.
10184         Minor reformatting.
10185
10186         * freeze.adb (Freeze_Entity): Add RM reference to error message about
10187         importing constant atomic/volatile objects.
10188         (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
10189         unless explicit Pure_Function pragma given, to avoid insidious bug of
10190         call to non-pure imported function getting eliminated.
10191
10192         * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
10193         gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
10194         gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
10195         Add 2004 to printed copyright notice
10196
10197         * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
10198         stack used.
10199
10200         * Makefile.rtl: Add entry for g-sestin.o
10201         g-sestin.ads: New file.
10202
10203         * mdll.adb: Minor changes to avoid -gnatwa warnings
10204
10205         * mlib-tgt.adb: Minor reformatting
10206
10207         * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
10208         New switch Sec_Stack_Used (GNAT, GNATBIND)
10209         Make Default_Secondary_Stack_Size a variable instead of a constant,
10210         so that it can be modified by the new -Dnnn bind switch.
10211
10212         * rtsfind.adb (Load_Fail): Give full error message in configurable
10213         run-time mode if all_errors mode is set. This was not done in the case
10214         of a file not found, which was an oversight.
10215         Note if secondary stack unit is used by compiler.
10216
10217         * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
10218         ineffective elaborate all pragmas on non-visible packages (this
10219         happened when a renamed subprogram was called). Now the elaborate all
10220         always goes on the package containing the renaming rather than the one
10221         containing the renamed subprogram.
10222
10223         * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
10224         (Process_Eliminate_Pragma): Add parameter to capture pragma location.
10225
10226         * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
10227         has an Etype that references an E_String_Literal.
10228         (Eval_String_Literal): Avoid assumption that N_String_Literal node
10229         always references an E_String_Literal_Subtype entity. This may not
10230         be true in the future.
10231
10232         * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
10233         pragma location.
10234
10235         * sem_res.adb (Resolve): Specialize msg for function name used in proc
10236         call.
10237
10238 2004-01-05  Ed Falis  <falis@gnat.com>
10239
10240         * g-debuti.adb: Replaced direct boolean operator with short-circuit
10241         form.
10242
10243 2004-01-05  Vincent Celier  <celier@gnat.com>
10244
10245         * bld.adb: Minor comment updates
10246         (Process_Declarative_Items): Correct incorrect name (Index_Name instead
10247         of Item_Name).
10248
10249         * make.adb (Gnatmake): Special process for files to compile/check when
10250         -B is specified. Fail when there are only foreign mains in attribute
10251         Main of the project file and -B is not specified. Do not skip bind/link
10252         steps when -B is specified.
10253
10254         * makeusg.adb: Document new switch -B
10255
10256         * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
10257
10258         * switch-m.adb: (Scan_Make_Switches): Process -B switch
10259
10260         * vms_data.ads: Add new GNAT PRETTY qualifier
10261         /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
10262
10263 2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10264
10265         * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
10266         case.
10267
10268         * misc.c (gnat_printable_name): If VERBOSITY is 2, call
10269         Set_Identifier_Casing.
10270
10271         * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
10272         has size that overflows.
10273
10274 2004-01-05  Gary Dismukes  <dismukes@gnat.com>
10275
10276         * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
10277         -gnatwa warning on static condition.
10278
10279 2004-01-05  Doug Rupp  <rupp@gnat.com>
10280
10281         * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
10282
10283 2004-01-05  Arnaud Charlet  <charlet@act-europe.fr>
10284
10285         * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
10286         all attributes, including read-only attribute.
10287
10288 2004-01-05  Pascal Obry  <obry@gnat.com>
10289
10290         * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
10291         library naming scheme.
10292
10293         * mlib-prj.adb (Build_Library): Generate different names for the static
10294         or dynamic version of the GNAT runtime. This is needed to support the
10295         new shared library naming scheme.
10296         (Process_Binder_File): Add detection of shared library in binder file
10297         based on the new naming scheme.
10298
10299         * gnatlink.adb (Process_Binder_File): Properly detect the new naming
10300         scheme for the shared runtime libraries.
10301
10302         * Makefile.in:
10303         (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
10304         scheme.
10305         (install-gnatlib): Do not create symlinks for shared libraries.
10306         (gnatlib-shared-default): Idem.
10307         (gnatlib-shared-dual-win32): New target. Not used for now as the
10308         auto-import feature does not support arrays/records.
10309         (gnatlib-shared-win32): Do not create copy for the shared libraries.
10310         (gnatlib-shared-vms): Fix shared runtime libraries names.
10311
10312         * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
10313         dependent runtime shared library name.
10314
10315 2004-01-05  Vasiliy Fofanov  <fofanov@act-europe.fr>
10316
10317         * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
10318         than the object.
10319
10320 2004-01-05  Ed Schonberg  <schonberg@gnat.com>
10321
10322         * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
10323         protected objects when allocator has a subtype indication, not a
10324         qualified expression. Note that qualified expressions may have to be
10325         checked when limited aggregates are implemented.
10326
10327         * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
10328         pure, emit warning.
10329         (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
10330         subprogram is imported, remove warning.
10331
10332 2004-01-05  Geert Bosch  <bosch@gnat.com>
10333
10334         * s-poosiz.adb: Update copyright notice.
10335         (Allocate): Use Task_Lock to protect against concurrent access.
10336         (Deallocate): Likewise.
10337
10338 2004-01-05  Joel Brobecker  <brobecker@gnat.com>
10339
10340         * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
10341         comment.
10342
10343 2003-12-23  Kelley Cook  <kcook@gcc.gnu.org>
10344
10345         * gnat_ug.texi: Force a CVS commit by updating copyright.
10346         * gnat_ug_vxw.texi: Regenerate.
10347         * gnat_ug_wnt.texi: Regenerate.
10348         * gnat_ug_vms.texi: Regenerate.
10349         * gnat_ug_unx.texi: Regenerate.
10350
10351 2003-12-20  Kazu Hirata  <kazu@cs.umass.edu>
10352
10353         * trans.c: Remove uses of "register" specifier in
10354         declarations of local variables.
10355
10356 2003-12-18  Kelley Cook  <kcook@gcc.gnu.org>
10357
10358         * stamp-xgnatug: New stamp file.
10359         * Make-lang.in (stamp-xgnatug):  New stamp file and comment.
10360         (ada/doctools/xgnatug): Add $(build_exeext).
10361         (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
10362         ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
10363
10364 2003-12-17  Ed Falis  <falis@gnat.com>
10365
10366         * a-elchha.adb (Tailored_Exception_Information): made Info constant to
10367         eliminate warning.
10368
10369         * a-exextr.adb: Add context clause for
10370         Ada.Exceptions.Last_Chance_Handler.
10371
10372 2003-12-17  Sergey Rybin  <rybin@act-europe.fr>
10373
10374         * cstand.adb (Create_Standard): Change the way how the declaration of
10375         the Duration type is created (making it the same way as it is for all
10376         the other standard types).
10377
10378 2003-12-17  Robert Dewar  <dewar@gnat.com>
10379
10380         * s-crtl.ads: Fix header format
10381         Change Pure to Preelaborate
10382
10383 2003-12-17  Ed Schonberg  <schonberg@gnat.com>
10384
10385         * checks.adb (Selected_Length_Checks): Generate an Itype reference for
10386         the expression type only if it is declared in the current unit.
10387
10388         * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
10389         are universal and already analyzed, as can occur in constrained
10390         subcomponents that depend on discriminants, when one constraint is a
10391         subtype mark.
10392
10393         * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
10394         type Any_Fixed is legal as the argument of a conversion, if only one
10395         fixed-point type is in context.
10396
10397 2003-12-17  GNAT Script  <nobody@gnat.com>
10398
10399         * Make-lang.in: Makefile automatically updated
10400
10401 2003-12-15  Robert Dewar  <dewar@gnat.com>
10402
10403         * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
10404         sec stack size.
10405
10406 2003-12-15  Vincent Celier  <celier@gnat.com>
10407
10408         * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
10409         (Gnatchop): Do not set failure status when reporting the number of
10410         warnings.
10411
10412 2003-12-15  Doug Rupp  <rupp@gnat.com>
10413
10414         * s-ctrl.ads: New file.
10415
10416         * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
10417
10418         * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
10419         (GNATBIND_OBJS): Add ada/s-crtl.o.
10420
10421         * Makefile.in [VMS]: Clean up ifeq rules.
10422
10423         * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
10424         a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
10425         g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
10426         s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
10427         s-tasdeb.adb: Update copyright.
10428         Import System.CRTL.
10429         Make minor modifications to use System.CRTL declared functions instead
10430         of importing locally.
10431
10432 2003-12-15  GNAT Script  <nobody@gnat.com>
10433
10434         * Make-lang.in: Makefile automatically updated
10435
10436 2003-12-11  Ed Falis  <falis@gnat.com>
10437
10438         * 5zinit.adb: Clean up.
10439
10440         * 5zintman.adb (Notify_Exception): replaced case statement with a call
10441         to __gnat_map_signal, imported from init.c to support
10442         signal -> exception mappings that depend on the vxWorks version.
10443
10444         * init.c:
10445         Created and exported __gnat_map_signal to support signal -> exception
10446         mapping that is dependent on the VxWorks version.
10447         Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
10448
10449 2003-12-11  Vasiliy Fofanv  <fofanov@act-europe.fr>
10450
10451         * 5wosinte.ads: Link with -mthreads switch.
10452
10453 2003-12-11  Arnaud Charlet  <charlet@act-europe.fr>
10454
10455         * init.c (__gnat_install_handler [NetBSD]): Set
10456         __gnat_handler_installed, as done on all other platforms.
10457         Remove duplicated code.
10458
10459 2003-12-11  Jerome Guitton  <guitton@act-europe.fr>
10460
10461         * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
10462
10463 2003-12-11  Thomas Quinot  <quinot@act-europe.fr>
10464
10465         * sinfo.ads: Fix inconsistent example code in comment.
10466
10467 2003-12-11  Robert Dewar  <dewar@gnat.com>
10468
10469         * a-tiinau.adb: Add a couple of comments
10470
10471         * sem_ch3.adb: Minor reformatting
10472
10473         * sem_prag.adb:
10474         Fix bad prototype of Same_Base_Type in body (code reading cleanup)
10475         Minor reformatting throughout
10476
10477 2003-12-11  Ed Schonberg  <schonberg@gnat.com>
10478
10479         * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
10480         bounds of a loop, create a separate block in order to generate proper
10481         cleanup actions to prevent memory leaks.
10482
10483         * sem_res.adb (Resolve_Call): After a call to
10484         Establish_Transient_Scope, the call may be rewritten and relocated, in
10485         which case no further processing is needed.
10486
10487         * sem_util.adb: (Wrong_Type): Refine previous fix.
10488          Fixes ACATS regressions.
10489
10490         PR ada/13353
10491
10492         * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
10493         be inlined.
10494
10495 2003-12-08  Jerome Guitton  <guitton@act-europe.fr>
10496
10497         * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
10498         i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
10499         obsolete files.
10500
10501         * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
10502         (rts-zfp): Ditto.
10503
10504 2003-12-08  Robert Dewar  <dewar@gnat.com>
10505
10506         * 7sintman.adb: Minor reformatting
10507
10508         * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
10509         standard linker options to get standard libraries linked. We now plan
10510         to provide dummy versions of these libraries to match the appropriate
10511         configurable run-time (e.g. if a library is not needed at all, provide
10512         a dummy empty library).
10513
10514         * targparm.ads: Configurable_Run_Time mode no longer affects linker
10515         options (-L parameters and standard libraries). What we plan to do is
10516         to provide dummy libraries where the libraries are not required.
10517
10518         * gnatbind.adb: Minor comment improvement
10519
10520 2003-12-08  Javier Miranda  <miranda@gnat.com>
10521
10522         * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
10523         aggregate in the parent. Otherwise constants with limited aggregates
10524         are not supported. Add new formal to pass the component type (Ctype).
10525         It is required to call the corresponding IP subprogram in case of
10526         default initialized components.
10527         (Gen_Assign): In case of default-initialized component, generate a
10528         call to the IP subprogram associated with the component.
10529         (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
10530         of aggregate with default initialized components.
10531         (Has_Default_Init_Comps): Improve implementation to recursively check
10532         all the present expressions.
10533
10534         * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
10535         to indicate that the initialization call corresponds to a
10536         default-initialized component of an aggregate.
10537         In case of default initialized aggregate with tasks this parameter is
10538         used to generate a null string (this is just a workaround that must be
10539         improved later). In case of discriminants, this parameter is used to
10540         generate a selected component node that gives access to the discriminant
10541         value.
10542
10543         * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
10544         subprogram, based on Build_Task_Allocate_Block, but adapted to expand
10545         allocated aggregates with default-initialized components.
10546
10547         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
10548         the box notation is used in positional aggregates.
10549
10550 2003-12-08  Samuel Tardieu  <tardieu@act-europe.fr>
10551
10552         * lib.ads: Fix typo in comment
10553
10554 2003-12-08  Vincent Celier  <celier@gnat.com>
10555
10556         * prj.adb (Project_Empty): New component Unkept_Comments
10557         (Scan): Remove procedure; moved to Prj.Err.
10558
10559         * prj.ads (Project_Data): New Boolean component Unkept_Comments
10560         (Scan): Remove procedure; moved to Prj.Err.
10561
10562         * prj-dect.adb: Manage comments for the different declarations.
10563
10564         * prj-part.adb (With_Record): New component Node
10565         (Parse): New Boolean parameter Store_Comments, defaulted to False.
10566         Set the scanner to return ends of line and comments as tokens, if
10567         Store_Comments is True.
10568         (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
10569         comments are associated with these nodes. Store the node IDs in the
10570         With_Records.
10571         (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
10572         With_Records.
10573         (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
10574         the N_Project node. Call Tree.Save and Tree.Reset before scanning the
10575         current project. Call Tree.Restore afterwards. Set the various nodes
10576         for comment storage (Next_End, End_Of_Line, Previous_Line,
10577         Previous_End).
10578
10579         * prj-part.ads (Parse): New Boolean parameter Store_Comments,
10580         defaulted to False.
10581
10582         * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
10583         to False. When Truncated is True, truncate the string, never go to the
10584         next line.
10585         (Write_End_Of_Line_Comment): New procedure
10586         (Print): Process comments for nodes N_With_Clause,
10587         N_Package_Declaration, N_String_Type_Declaration,
10588         N_Attribute_Declaration, N_Typed_Variable_Declaration,
10589         N_Variable_Declaration, N_Case_Construction, N_Case_Item.
10590         Process nodes N_Comment.
10591
10592         * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
10593         without comments and there are some comments, set the flag
10594         Unkept_Comments to True.
10595         (Scan): If there are comments, set the flag Unkept_Comments to True and
10596         clear the comments.
10597         (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
10598         (Next_End_Nodes: New table
10599         (Comment_Zones_Of): New function
10600         (Scan): New procedure; moved from Prj. Accumulate comments in the
10601         Comments table and set end of line comments, comments after, after end
10602         and before end.
10603         (Add_Comments): New procedure
10604         (Save, Restore, Seset_State): New procedures
10605         (There_Are_Unkept_Comments): New function
10606         (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
10607         (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
10608         procedures.
10609         (First_Comment_After, First_Comment_After_End): New functions
10610         (First_Comment_Before, First_Comment_Before_End): New functions
10611         (Next_Comment): New function
10612         (End_Of_Line_Comment, Follows_Empty_Line,
10613         Is_Followed_By_Empty_Line): New functions
10614         (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
10615         (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
10616         (Set_Next_Comment): New procedure
10617         (Default_Project_Node): Associate comment before if the node can store
10618         comments.
10619
10620         * scans.ads (Token_Type): New enumeration value Tok_Comment
10621         (Comment_Id): New global variable
10622
10623         * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
10624         defaulted to False.
10625         (Scan): Store position of start of comment. If comments are tokens, set
10626         Comment_Id and set Token to Tok_Comment when scanning a comment.
10627         (Set_Comment_As_Token): New procedure
10628
10629         * sinput-p.adb: Update Copyright notice
10630         (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
10631         that no longer exists.
10632
10633 2003-12-08  Javier Miranda  <miranda@gnat.com>
10634
10635         * sem_aggr.adb: Add dependence on Exp_Tss package
10636         Correct typo in comment
10637         (Resolve_Aggregate): In case of array aggregates set the estimated
10638         type of the aggregate before calling resolve. This is needed to know
10639         the name of the corresponding IP in case of limited array aggregates.
10640         (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
10641         in case of default initialized array components.
10642
10643         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
10644         types. Required to give support to limited aggregates in generic
10645         formals.
10646
10647 2003-12-08  Ed Schonberg  <schonberg@gnat.com>
10648
10649         * sem_ch3.adb (Check_Initialization): For legality purposes, an
10650         inlined body functions like an instantiation.
10651         (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
10652         until bounds are analyzed, to diagnose premature use of type.
10653
10654         * sem_util.adb (Wrong_Type): Improve error message when the type of
10655         the expression is used prematurely.
10656
10657 2003-12-08  GNAT Script  <nobody@gnat.com>
10658
10659         * Make-lang.in: Makefile automatically updated
10660
10661 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
10662
10663         * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
10664         they are automatically generated by Make-lang.in and cause nothing but
10665         maintenance troubles.
10666
10667 2003-12-05  Thomas Quinot  <quinot@act-europe.fr>
10668
10669         * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
10670         version of this unit).
10671
10672 2003-12-05  Olivier Hainque  <hainque@act-europe.fr>
10673
10674         * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
10675         5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
10676         5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
10677         the body of System.Interrupt_Management common to several targets.
10678         Update copyright notice when appropriate.
10679
10680         * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
10681         constant.
10682
10683         * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
10684         to ensure that the kernel fills in the interrupted context structure
10685         before calling a signal handler, which is necessary to be able to
10686         unwind past it. Update the copyright notice.
10687
10688 2003-12-05  Jerome Guitton  <guitton@act-europe.fr>
10689
10690         * a-elchha.ads: New file.
10691
10692         * a-elchha.adb: New default last chance handler. Contents taken from
10693         Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
10694
10695         * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
10696         is moved to a-elchha.adb to provide a target-independent default last
10697         chance handler.
10698
10699         * Makefile.rtl: Add a-elchha.o
10700
10701         * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
10702
10703 2003-12-05  Ed Schonberg  <schonberg@gnat.com>
10704
10705         * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
10706         declared in an instance, do not inline the call if the instance is not
10707         frozen yet, to prevent order of elaboration problems.
10708
10709         * sem_prag.adb: Add comments for previous fix.
10710
10711 2003-12-05  Samuel Tardieu  <tardieu@act-europe.fr>
10712
10713         * g-table.adb: Use the right variable in Set_Item.
10714         Update copyright notice.
10715
10716 2003-12-05  Arnaud Charlet  <charlet@act-europe.fr>
10717
10718         * Makefile.in: Remove unused rules.
10719
10720 2003-12-05  Vincent Celier  <celier@gnat.com>
10721
10722         * switch-c.adb (Scan_Front_End_Switches): Remove processing of
10723         -nostdlib. Not needed here after all.
10724
10725 2003-12-03  Thomas Quinot  <quinot@act-europe.fr>
10726
10727         PR ada/11724
10728
10729         * adaint.h, adaint.c, g-os_lib.ads:
10730         Do not assume that the offset argument to lseek(2) is a 32 bit integer,
10731         on some platforms (including FreeBSD), it is a 64 bit value.
10732         Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
10733
10734 2003-12-03  Arnaud Charlet  <charlet@act-europe.fr>
10735
10736         * gnatvsn.ads (Library_Version): Now contain only the relevant
10737         version info.
10738         (Verbose_Library_Version): New constant.
10739
10740         * g-spipat.adb, g-awk.adb, g-debpoo.adb,
10741         g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
10742         s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
10743
10744         * gnatlbr.adb: Clean up: replace Library_Version by
10745         Verbose_Library_Version.
10746
10747         * make.adb, lib-writ.adb, exp_attr.adb:
10748         Clean up: replace Library_Version by Verbose_Library_Version.
10749
10750         * 5lintman.adb: Removed.
10751
10752         * Makefile.in:
10753         Update and simplify computation of LIBRARY_VERSION.
10754         Fix computation of GSMATCH_VERSION.
10755         5lintman.adb is no longer used: replaced by 7sintman.adb.
10756
10757 2003-12-03  Robert Dewar  <dewar@gnat.com>
10758
10759         * exp_ch5.adb:
10760         (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
10761         name. Modified to consider small non-bit-packed arrays as troublesome
10762         and in need of component-by-component assigment expansion.
10763
10764 2003-12-03  Vincent Celier  <celier@gnat.com>
10765
10766         * lang-specs.h: Process nostdlib as nostdinc
10767
10768         * back_end.adb: Update Copyright notice
10769         (Scan_Compiler_Arguments): Process -nostdlib directly.
10770
10771 2003-12-03  Jose Ruiz  <ruiz@act-europe.fr>
10772
10773         * Makefile.in:
10774         When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
10775         redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
10776         included in HIE_NONE_TARGET_PAIRS.
10777
10778 2003-12-03  Ed Schonberg  <schonberg@gnat.com>
10779
10780         * sem_attr.adb:
10781         (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
10782         is legal in an instance, because legality is cheched in the template.
10783
10784         * sem_prag.adb:
10785         (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
10786         appplied to an unchecked conversion of a formal parameter.
10787
10788         * sem_warn.adb:
10789         (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
10790         variables.
10791
10792 2003-12-03  Olivier Hainque  <hainque@act-europe.fr>
10793
10794         * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
10795         routines. The second one is new functionality to deal with backtracing
10796         through signal handlers.
10797         (unwind): Split into the two separate subroutines above.
10798         Update the documentation, and deal properly with sizeof (REG) different
10799         from sizeof (void*).
10800
10801 2003-12-01  Nicolas Setton  <setton@act-europe.fr>
10802
10803         * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
10804         so that the debugger can reliably access the value of the parameter,
10805         and therefore is able to display the exception name when an exception
10806         breakpoint is reached.
10807
10808 2003-12-01  Thomas Quinot  <quinot@act-europe.fr>
10809
10810         * fmap.adb: Fix typo in warning message.
10811
10812         * g-socket.ads, g-socket.adb: Make Free a visible instance of
10813         Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
10814
10815 2003-12-01  Vincent Celier  <celier@gnat.com>
10816
10817         * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
10818         ther is no Afile.
10819         (Build_Library): Get the switches only if Default_Switches is declared
10820         in package Binder.
10821
10822 2003-12-01  Ed Schonberg  <schonberg@gnat.com>
10823
10824         * exp_ch6.adb (Expand_Actuals): When applying validity checks to
10825         actuals that are indexed components, reanalyze actual to ensure that
10826         packed array references are properly expanded.
10827
10828         * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
10829         attempted assignment to a discriminant.
10830
10831 2003-12-01  Robert Dewar  <dewar@gnat.com>
10832
10833         * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
10834         reformatting.
10835
10836         * switch-c.adb: Minor reformatting of comments
10837
10838 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
10839
10840         * Makefile.in: Clean ups.
10841
10842 2003-12-01  GNAT Script  <nobody@gnat.com>
10843
10844         * Make-lang.in: Makefile automatically updated
10845
10846 2003-12-01  Arnaud Charlet  <charlet@act-europe.fr>
10847
10848         * 5wsystem.ads: Disable zero cost exception, not ready yet.
10849
10850 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
10851
10852         * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
10853         to force serialization.
10854
10855 2003-11-26  Thomas Quinot  <quinot@act-europe.fr>
10856
10857         * g-socket.ads, g-socket.adb:
10858         Clarify documentation of function Stream. Introduce a Free procedure
10859         to release the returned Stream once it becomes unused.
10860
10861         * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
10862
10863 2003-11-26  Arnaud Charlet  <charlet@act-europe.fr>
10864
10865         (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
10866         since NT 4 cannot handle timeout values that are too large,
10867         e.g. DWORD'Last - 1.
10868
10869 2003-11-26  Ed Schonberg  <schonberg@gnat.com>
10870
10871         * exp_ch4.adb:
10872         (Expand_N_Slice): Recognize all cases of slices that appear as actuals
10873         in procedure calls and whose expansion must be deferred.
10874
10875         * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
10876         is in exp_ch4.
10877
10878         * sem_ch3.adb:
10879         (Build_Derived_Array_Type): Create operator for unconstrained type
10880         if ancestor is unconstrained.
10881
10882 2003-11-26  Vincent Celier  <celier@gnat.com>
10883
10884         * make.adb (Project_Object_Directory): New global variable
10885         (Change_To_Object_Directory): New procedure
10886         (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
10887         of Change_Dir directly. Do not change working directory to object
10888         directory of main project after each compilation.
10889         (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
10890         directly.
10891         Change to object directory of main project before binding step.
10892         (Initialize): Initialize Project_Object_Directory to No_Project
10893
10894         * mlib-prj.adb:
10895         (Build_Library): Take into account Builder'Default_Switches ("Ada") when
10896         binding a Stand-Alone Library.
10897
10898         * output.adb: Update Copyright notice
10899         (Write_Char): Output buffer when full
10900
10901 2003-11-26  Robert Dewar  <dewar@gnat.com>
10902
10903         * sem_ch13.adb: (Check_Size): Reset size if size is too small
10904
10905         * sem_ch13.ads:
10906         (Check_Size): Fix documentation to include bit-packed array case
10907
10908         * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
10909
10910         * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
10911
10912         * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
10913
10914 2003-11-24  Arnaud Charlet <charlet@act-europe.fr>
10915
10916         PR ada/13142
10917         * utils.c (init_gigi_decls): Change name of built-in setjmp to
10918         __builtin_setjmp, since this is apparently needed by recent
10919         non Ada changes.
10920
10921 2003-11-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10922
10923         * adadecode.c: Only include ctype.h if not IN_GCC.
10924         (__gnat_decode): Use ISDIGIT from safe-ctype.h.
10925
10926 2003-11-24  Jose Ruiz  <ruiz@act-europe.fr>
10927
10928         * Makefile.in:
10929         Use 5zintman.ads for VxWorks targets. This file avoid confusion between
10930         signals and interrupts.
10931
10932         * 5zintman.ads: New File.
10933
10934         * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
10935         add exception signals to the set of unmasked signals.
10936
10937         * 5ztaprop.adb:
10938         Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
10939         between signals and interrupts.
10940         Add to Unblocked_Signal_Mask the set of signals that are in
10941         Keep_Unmasked.
10942
10943         * 7sinmaop.adb:
10944         Adding a check to see whether the Interrupt_ID we want to unmask is in
10945         the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
10946         reason is that the index type of the Keep_Unmasked array is not always
10947         Interrupt_ID; it may be a subtype of Interrupt_ID.
10948
10949 2003-11-24  Gary Dismukes  <dismukes@gnat.com>
10950
10951         * exp_util.adb:
10952         (Remove_Side_Effects): Condition constantness of object created for a
10953          an unchecked type conversion on the constantness of the expression
10954          to ensure the correct value for 'Constrained when passing components
10955          of view-converted class-wide objects.
10956
10957 2003-11-24  Robert Dewar  <dewar@gnat.com>
10958
10959         * par-load.adb (Load): Improve handling of misspelled and missing units
10960         Removes several cases of compilation abandoned messages
10961
10962         * lib.adb: (Remove_Unit): New procedure
10963
10964         * lib.ads: (Remove_Unit): New procedure
10965
10966         * lib-load.adb: Minor reformatting
10967
10968 2003-11-24  Vincent Celier  <celier@gnat.com>
10969
10970         * make.adb:
10971         (Gnatmake, Initialize): Call Usage instead of Makeusg directly
10972         (Marking_Label): Label to mark processed source files. Incremented for
10973         each executable.
10974         (Gnatmake): Increase Marking_Labet for each executable
10975         (Is_Marked): Compare against marking label
10976         (Mark): Mark with marking label
10977
10978 2003-11-24  Jerome Guitton  <guitton@act-europe.fr>
10979
10980         * s-thread.ads:
10981         Move the declaration of the TSD for System.Threads to System.Soft_Links.
10982         Add some comments.
10983
10984         * Makefile.in: Added target pair for s-thread.adb for cert runtime.
10985         (rts-cert): build a single relocatable object for the run-time lib.
10986         Fix perms.
10987
10988 2003-11-24  Vasiliy Fofanov  <fofanov@act-europe.fr>
10989
10990         * Make-lang.in:
10991         Use gnatls rather than gcc to obtain the location of GNAT RTL for
10992         crosstools build.
10993
10994 2003-11-24  Sergey Rybin  <rybin@act-europe.fr>
10995
10996         * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
10997         can not use it as before (that is, as a variable) when dumping it into
10998         the tree file. Add a local variable to store the result of this
10999         function and to be used as the string to be written into the tree.
11000
11001         * scn.adb (Initialize_Scanner): Add comments explaining the recent
11002         changes.
11003
11004         * sinput.adb (Source_First, Source_Last): In case of
11005         Internal_Source_File, replace returning attributes of
11006         Internal_Source_Ptr (which is wrong) with returning attributes of
11007         Internal_Source.
11008
11009 2003-11-24  Ed Schonberg  <schonberg@gnat.com>
11010
11011         * sem_ch3.adb:
11012         (New_Concatenation_Op): Proper name for New_Binary_Operator, only
11013         used for implicit concatenation operators.
11014         Code cleanup.
11015
11016         * sem_elab.adb:
11017         (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
11018         task bodies that are in the scope of a Suppress pragma.
11019         (Check_A Call): Use the flag to prevent spurious elaboration checks.
11020
11021         * sinfo.ads, sinfo.adb:
11022         New flag No_Elaboration_Check on function/procedure calls, to properly
11023         suppress checks on calls in task bodies that are within a local suppress
11024         pragma.
11025
11026         * exp_ch4.adb:
11027         (Expand_Concatenate_Other): Use the proper integer type for the
11028         expression for the upper bound, to avoid universal_integer computations
11029         when possible.
11030
11031 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
11032
11033         * .cvsignore: Delete.
11034
11035 2003-11-21  Andreas Schwab  <schwab@suse.de>
11036
11037         * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
11038
11039 2003-11-21  Vasiliy Fofanov  <fofanov@act-europe.fr>
11040
11041         * 5wsystem.ads: Enable zero cost exception.
11042
11043 2003-11-21  Jerome Guitton  <guitton@act-europe.fr>
11044
11045         * 5ztiitho.adb: Remove an unreferenced variable.
11046
11047 2003-11-21  Thomas Quinot  <quinot@act-europe.fr>
11048
11049         * adaint.c: For FreeBSD, use mkstemp.
11050
11051 2003-11-21  Arnaud Charlet  <charlet@act-europe.fr>
11052
11053         * gnatlbr.adb: Now reference Gnat_Static_Version_String.
11054
11055 2003-11-21  Robert Dewar  <dewar@gnat.com>
11056
11057         * bld.adb: Remove useless USE of gnatvsn
11058
11059         * gnatchop.adb: Minor reformatting
11060         Clean up version handling to be more consistent
11061
11062         * gnatxref.adb: Minor reformatting
11063
11064         * gprcmd.adb: Minor reformatting
11065         Fix output of copyright to be more consistent with other tools
11066
11067 2003-11-21  Vincent Celier  <celier@gnat.com>
11068
11069         * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
11070
11071 2003-11-21  Sergey Rybin  <rybin@act-europe.fr>
11072
11073         * atree.adb (Initialize): Add initializations for global variables
11074         used in New_Copy_Tree.
11075
11076         * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
11077         Internal_Source_File as the actual).
11078         Put the set of statements creating Any_Character before the set of
11079         statements creating Any_Array to have Any_Character fully initialized
11080         when it is used in creating Any_Array.
11081
11082         * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
11083         not call Scan in case if the actual is Internal_Source_File
11084         Add 2003 to copyright note.
11085
11086         * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
11087         processing Internal_Source_File.
11088
11089         * types.ads: Add the constant Internal_Source_File representing the
11090         source buffer for artificial source-code-like strings created within
11091         the compiler (the definition of Source_File_Index is changed).
11092
11093 2003-11-20  Arnaud Charlet  <charlet@act-europe.fr>
11094
11095         * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
11096         56system.ads: New file, FreeBSD version.
11097
11098 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
11099
11100         * Make-lang.in (ada.extraclean): Delete.
11101
11102 2003-11-19  Arnaud Charlet  <charlet@act-europe.fr>
11103
11104         * gnatmem.adb: Clean up verbose output.
11105
11106         * gprcmd.adb: Change copyright to FSF.
11107
11108 2003-11-19  Vincent Celier  <celier@gnat.com>
11109
11110         * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
11111         and Version (ignored).
11112
11113         * symbols.ads: (Policy): New type
11114         (Initialize): New parameter Reference, Symbol_Policy and
11115         Library_Version.
11116         Remove parameter Force.
11117         Minor reformatting.
11118
11119         * snames.ads, snames.adbadb: New standard names
11120         Library_Reference_Symbol_File and Library_Symbol_Policy
11121
11122         * mlib-prj.adb:
11123         (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
11124         project.
11125
11126         * mlib-tgt.adb:
11127         (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
11128
11129         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
11130
11131         * prj.adb: (Project_Empty): New component Symbol_Data
11132
11133         * prj.ads: (Policy, Symbol_Record): New types
11134         (Project_Data): New component Symbol_Data
11135
11136         * prj-attr.adb:
11137         New attributes Library_Symbol_File, Library_Symbol_Policy and
11138         Library_Reference_Symbol_File.
11139
11140         * prj-nmsc.adb:
11141         (Ada_Check): When project is a Stand-Alone library project, process
11142         attribute Library_Symbol_File, Library_Symbol_Policy and
11143         Library_Reference_Symbol_File.
11144
11145         * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
11146         5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
11147         5sml-tgt.adb (Build_Dynamic_Library): New parameter
11148         Symbol_Data (ignored).
11149
11150         * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
11151         (Build_Dynamic_Library): New parameter Symbol_Data. New internal
11152         functions Option_File_Name and Version_String. Set new options of
11153         gnatsym related to symbol file, symbol policy and reference symbol
11154         file.
11155
11156         * 5vsymbol.adb:
11157         Extensive modifications to take into account the reference symbol file,
11158         the symbol policy, the library version and to put in the symbol file the
11159         minor and major IDs.
11160
11161         * bld.adb (Process_Declarative_Items): Put second argument of
11162         gprcmd to_absolute between single quotes, to avoid problems with
11163         Windows.
11164
11165         * bld-io.adb: Update Copyright notice.
11166         (Flush): Remove last character of a line, if it is a back slash, to
11167         avoid make problems.
11168
11169         * gnatsym.adb:
11170         Implement new scheme with reference symbol file and symbol policy.
11171
11172         * g-os_lib.ads: (Is_Directory): Clarify comment
11173
11174 2003-11-19  Robert Dewar  <dewar@gnat.com>
11175
11176         * atree.adb: Move New_Copy_Tree global variables to head of package
11177
11178         * errout.adb: Minor reformatting
11179
11180 2003-11-19  Javier Miranda  <miranda@gnat.com>
11181
11182         * sem_ch4.adb: (Diagnose_Call): Improve error message.
11183         Add reference to Ada0Y (AI-50217)
11184
11185         * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
11186         sem_util.adb: Add reference to AI-50217
11187
11188         * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
11189
11190         * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
11191
11192         * sem_aggr.adb: Complete documentation of AI-287 changes
11193
11194         * par-ch4.adb: Document previous changes.
11195
11196         * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
11197         sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
11198         Ada0Y (AI-50217)
11199
11200         * exp_aggr.adb: Add references to AI-287 in previous changes
11201
11202 2003-11-19  Ed Schonberg  <schonberg@gnat.com>
11203
11204         * exp_ch6.adb:
11205         (Add_Call_By_Copy_Node): Do not original node of rewritten expression
11206         in the rewriting is the result of an inlined call.
11207
11208         * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
11209         parameter is a type conversion, use original node to construct the
11210         post-call assignment, because expression may have been rewritten, e.g.
11211         if it is a packed array.
11212
11213         * sem_attr.adb:
11214         (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
11215         body, just as it is in an instance.
11216         Categorization routines
11217
11218         * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
11219         Instantiate_Object): Set proper sloc reference for message on missing
11220         actual.
11221
11222 2003-11-19  Thomas Quinot  <quinot@act-europe.fr>
11223
11224         * Makefile.in: Add FreeBSD libgnat pairs.
11225
11226         * usage.adb: Fix typo in usage message.
11227
11228 2003-11-19  Jerome Guitton  <guitton@act-europe.fr>
11229
11230         * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
11231         s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
11232         pragma Thread_Body.
11233         Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
11234
11235         * s-thread.adb: This file is now a dummy implementation of
11236         System.Thread.
11237
11238 2003-11-19  Sergey Rybin  <rybin@act-europe.fr>
11239
11240         * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
11241
11242 2003-11-19  Emmanuel Briot  <briot@act-europe.fr>
11243
11244         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
11245         instanciation references in the parent type description.
11246
11247 2003-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11248
11249         * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
11250
11251         * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
11252         TYPE_PRECISION directly from esize.
11253
11254 2003-11-18  Thomas Quinot  <quinot@act-europe.fr>
11255
11256         * cstreams.c:
11257         Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
11258
11259         * init.c: Initialization routines for FreeBSD
11260
11261         * link.c: Link info for FreeBSD
11262
11263         * sysdep.c: Add the case of FreeBSD
11264
11265 2003-11-17  Jerome Guitton  <guitton@act-europe.fr>
11266
11267         * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
11268         already called in System.Threads.
11269
11270         * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
11271         environment task, as it has been moved to System.Threads.Initialization.
11272
11273 2003-11-17  Arnaud Charlet  <charlet@act-europe.fr>
11274
11275         * adaint.c (__gnatlib_install_locks): Only reference
11276         __gnat_install_locks on VMS, since other platforms can avoid using
11277         --enable-threads=gnat
11278
11279 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11280
11281         * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
11282
11283         * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
11284         TYPE_PACKED_ARRAY_TYPE_P.
11285         (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
11286
11287         Part of PR ada/12806
11288         * utils.c (float_type_for_precision): Renamed from float_type_for_size.
11289         Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
11290
11291 2003-11-17  Vincent Celier  <celier@gnat.com>
11292
11293         * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
11294         to False.
11295         Do not set exit status to Failure when Warning is True.
11296         (Gnatchop): Make errors "no compilation units found" and
11297         "no source files written" warnings only.
11298
11299         * make.adb (Gnatmake): When using a project file, set
11300         Look_In_Primary_Dir to False.
11301         (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
11302         and Local_Configuration_Pragmas in the project where they are declared
11303         not an extending project which might have inherited them.
11304
11305         * osint.adb (Locate_File): If Name is already an absolute path, do not
11306         look for a directory.
11307
11308         * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
11309         -gnats (Check_Syntax) is used, issue only a warning, not an error.
11310
11311         * prj.adb (Register_Default_Naming_Scheme): Add new component Project
11312         in objects of type Variable_Value.
11313
11314         * prj.ads: (Variable_Value): New component Project
11315
11316         * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
11317         is in a project extended by Project.
11318
11319         * prj-proc.adb (Add_Attributes): New parameter Project. Set component
11320         Project of Variable_Values to this new parameter value.
11321         (Expression): Set component Project of Variable_Values.
11322         (Process_Declarative_Items): Call Add_Attributes with parameter Project.
11323         Set the component Project in array elements.
11324
11325 2003-11-17  Sergey Rybin  <rybin@act-europe.fr>
11326
11327         * errout.adb: (Initialize): Add initialization for error nodes.
11328
11329         * sem_ch12.adb (Initialize): Add missing initializations for
11330         Exchanged_Views and Hidden_Entities.
11331
11332 2003-11-17  Ed Schonberg  <schonberg@gnat.com>
11333
11334         * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
11335         already instantiated tree for use in subsequent inlining.
11336         (Analyze_Associations, Instantiate_Formal_Subprogram,
11337         Instantiate_Object): improve error message for mismatch in
11338         instantiations.
11339
11340         * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
11341         instantiations of subprograms declared in instances.
11342
11343 2003-11-17  Javier Miranda  <miranda@gnat.com>
11344
11345         * sem_ch4.adb (Analyze_Allocator): Previous modification must be
11346         executed only under the Extensions_Allowed flag.
11347
11348 2003-11-17  Robert Dewar  <dewar@gnat.com>
11349
11350         * a-exexda.adb (Address_Image): Fix documentation to indicate leading
11351         zeroes suppressed.
11352         (Address_Image): Fix bug of returning 0x instead of 0x0
11353         Minor reformatting (function specs).
11354
11355         * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
11356         (missed case of 33-63)
11357
11358         * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
11359
11360         * s-thread.adb: Add comments for pragma Restriction
11361
11362         * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
11363         sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
11364
11365 2003-11-17  Ed Falis  <falis@gnat.com>
11366
11367         * s-thread.adb: Added No_Tasking restriction for this implementation.
11368
11369 2003-11-17  Emmanuel Briot  <briot@act-europe.fr>
11370
11371         * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
11372         instanciation references in the parent type description.
11373
11374 2003-11-17  GNAT Script  <nobody@gnat.com>
11375
11376         * Make-lang.in: Makefile automatically updated
11377
11378 2003-11-16  Jason Merrill  <jason@redhat.com>
11379
11380         * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
11381         and TAGS files that include them for each front end.
11382
11383 2003-11-14  Andreas Jaeger  <aj@suse.de>
11384
11385         * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
11386         is the canonical version.
11387         * misc.c (gnat_handle_option): Likewise.
11388
11389         * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
11390
11391         * 5nsystem.ads: New file for x86_64-linux-gnu.
11392
11393 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
11394
11395         * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
11396
11397         * comperr.adb: Fix logic in previous change.
11398
11399 2003-11-13  Vincent Celier  <celier@gnat.com>
11400
11401         * 5bml-tgt.adb (Build_Dynamic_Library): Use
11402         Osint.Include_Dir_Default_Prefix instead of
11403         Sdefault.Include_Dir_Default_Name.
11404
11405         * gnatlbr.adb: Update Copyright notice
11406         (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
11407         Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
11408         instead of Sdefault.Object_Dir_Default_Name
11409
11410         * gnatlink.adb:
11411         (Process_Binder_File): Never suppress the option following -Xlinker
11412
11413         * mdll-utl.adb:
11414         (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
11415         Sdefault.Object_Dir_Default_Name.
11416
11417         * osint.ads, osint.adb:
11418         (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
11419         Minor reformatting.
11420
11421         * vms_conv.ads: Minor reformating
11422         Remove GNAT STANDARD and GNAT PSTA
11423
11424         * vms_conv.adb:
11425         Allow GNAT MAKE to have several files on the command line.
11426         (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
11427         Sdefault.Object_Dir_Default_Name.
11428         Minor Reformating
11429         Remove data for GNAT STANDARD
11430
11431         * vms_data.ads:
11432         Add new compiler qualifier /PRINT_STANDARD (-gnatS)
11433         Remove data for GNAT STANDARD
11434         Remove options and documentation for -gnatwb/-gnatwB: these warning
11435         options no longer exist.
11436
11437 2003-11-13  Ed Falis  <falis@gnat.com>
11438
11439         * 5zthrini.adb: (Init_RTS): Made visible
11440
11441         * 5zthrini.adb:
11442         (Register): Removed unnecessary call to taskVarGet that checked whether
11443          an ATSD was already set as a task var for the argument thread.
11444
11445         * s-thread.adb:
11446         Updated comment to reflect that this is a VxWorks version
11447         Added context clause for System.Threads.Initialization
11448         Added call to System.Threads.Initialization.Init_RTS
11449
11450 2003-11-13  Jerome Guitton  <guitton@act-europe.fr>
11451
11452         * 5zthrini.adb:
11453         (Init_RTS): New procedure, for the initialization of the run-time lib.
11454
11455         * s-thread.adb:
11456         Remove dependancy on System.Init, so that this file can be used in the
11457         AE653 sequential run-time lib.
11458
11459 2003-11-13  Robert Dewar  <dewar@gnat.com>
11460
11461         * bindgen.adb: Minor reformatting
11462
11463 2003-11-13  Ed Schonberg  <schonberg@gnat.com>
11464
11465         * checks.adb:
11466         (Apply_Discriminant_Check): Do no apply check if target type is derived
11467         from source type with no applicable constraint.
11468
11469         * lib-writ.adb:
11470         (Ensure_System_Dependency): Do not apply the style checks that may have
11471         been specified for the main unit.
11472
11473         * sem_ch8.adb:
11474         (Find_Selected_Component): Further improvement in error message, with
11475         RM reference.
11476
11477         * sem_res.adb:
11478         (Resolve): Handle properly the case of an illegal overloaded protected
11479         procedure.
11480
11481 2003-11-13  Javier Miranda  <miranda@gnat.com>
11482
11483         * exp_aggr.adb:
11484         (Has_Default_Init_Comps): New function to check the presence of
11485         default initialization in an aggregate.
11486         (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
11487         extension aggregate of a limited record. In addition, a new formal
11488         was added to do not initialize the record controller (if any) during
11489         this recursive expansion of ancestors.
11490         (Init_Controller): Add support for limited record components.
11491         (Expand_Record_Aggregate): In case of default initialized components
11492         convert the aggregate into a set of assignments.
11493
11494         * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
11495         describing the new syntax.
11496         Nothing else needed to be done because this subprogram delegates part of
11497         its work to P_Precord_Or_Array_Component_Association.
11498         (P_Record_Or_Array_Component_Association): Give support to the new
11499         syntax for default initialization of components.
11500
11501         * sem_aggr.adb:
11502         (Resolve_Aggregate): Relax the strictness of the frontend in case of
11503         limited aggregates.
11504         (Resolve_Record_Aggregate): Give support to default initialized
11505         components.
11506         (Get_Value): In case of default initialized components, duplicate
11507         the corresponding default expression (from the record type
11508         declaration). In case of default initialization in the *others*
11509         choice, do not check that all components have the same type.
11510         (Resolve_Extension_Aggregate): Give support to limited extension
11511         aggregates.
11512
11513         * sem_ch3.adb:
11514         (Check_Initialization): Relax the strictness of the front-end in case
11515         of aggregate and extension aggregates. This test is now done in
11516         Get_Value in a per-component manner.
11517
11518         * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
11519         expression corresponds to a limited aggregate. This test is now done
11520         in Get_Value.
11521
11522         * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
11523         Box_Present flag.
11524
11525         * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
11526         present in an N_Component_Association node
11527
11528 2003-11-13  Thomas Quinot  <quinot@act-europe.fr>
11529
11530         * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
11531         type-conformant entry only if they are homographs.
11532
11533 2003-11-13  GNAT Script  <nobody@gnat.com>
11534
11535         * Make-lang.in: Makefile automatically updated
11536
11537 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11538
11539         * adadecode.c: Use <> form of include for ctype.h.
11540         * sysdep.c [IN_RTS]: Use <> form of include for time.h.
11541
11542 2003-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11543
11544         * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
11545         Works around PR middle-end/6552.
11546
11547 2003-11-10  Ed Falis  <falis@gnat.com>
11548
11549         * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
11550
11551         * 5zinit.adb: (Install_Handler): Moved back to spec
11552         (Install_Signal_Handlers): Deleted
11553
11554         * 5zthrini.adb: Added context clause for System.Storage_Elements
11555         (Register): Only handles creation of taskVar; initialization moved to
11556         Thread_Body_Enter.
11557         (Reset_TSD): Deleted; replaced by Thread_Body_Enter
11558         Added declaration of environment task secondary stack and
11559         initialization.
11560
11561         * s-thread.adb: Implement bodies for thread body processing
11562
11563         * s-thread.ads:
11564         Added comment identifying supported targets for pragma Thread_Body.
11565
11566 2003-11-10  Pascal Obry  <obry@gnat.com>
11567
11568         * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
11569         GNAT_MAX_PATH_LEN.
11570
11571         * s-fileio.adb:
11572         (Open): Properly check for string length before copying into the buffer.
11573         Raises Name_Error if buffer is too small. Note that this was a potential
11574         buffer overflow.
11575
11576 2003-11-10  Romain Berrendonner  <berrendo@act-europe.fr>
11577
11578         * bindgen.adb, comperr.adb: Code clean ups.
11579         * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
11580
11581 2003-11-10  Sergey Rybin  <rybin@act-europe.fr>
11582
11583         * gnat1drv.adb: Add call to Sem_Elim.Initialize.
11584
11585 2003-11-10  Vincent Celier  <celier@gnat.com>
11586
11587         * gprcmd.adb:
11588         (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
11589         installation.
11590
11591         * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
11592
11593         * prj.adb: (Project_Empty): Add new boolean component Virtual
11594
11595         * prj.ads: (Virtual_Prefix): New constant string
11596         (Project_Data): New boolean component Virtual
11597
11598         * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
11599         a library project is extended by a virtual extending project.
11600
11601         * prj-part.adb:
11602         Modifications throughout to implement extending-all project, including:
11603         (Virtual_Hash, Processed_Hash): New hash tables
11604         (Create_Virtual_Extending_Project): New procedure
11605         (Look_For_Virtual_Projects_For): New procedure
11606
11607         * prj-proc.adb:
11608         (Process): After checking the projects, if main project is an
11609         extending-all project, set the object directory of all virtual extending
11610         project to the object directory of the main project.
11611         Adjust error message when a virtual extending project has the same
11612         object directory as an project being extended.
11613         (Recursive_Process): If name starts with the virtual prefix, set Virtual
11614         to True in the project data.
11615
11616         * prj-tree.adb:
11617         (Default_Project_Node): Add new boolean component Extending_All
11618         (Is_Extending_All): New function
11619         (Set_Is_Extending_All): New procedure
11620
11621         * prj-tree.ads: (Is_Extending_All): New function
11622         (Set_Is_Extending_All): New procedure
11623         (Project_Node_Record): New boolean component Extending_All
11624
11625         * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
11626
11627         * vms_data.ads:
11628         Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
11629
11630         * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
11631         "gprcmd prefix" to define it.
11632
11633 2003-11-10  Thomas Quinot  <quinot@act-europe.fr>
11634
11635         * einfo.ads: Fix a typo and remove an extraneous word in comments.
11636
11637         * lib-load.adb:
11638         (Create_Dummy_Package_Unit): Set the scope of the entity for the
11639         created dummy package to Standard_Standard, not to itself, to
11640         defend other parts of the front-end against encoutering a cycle in
11641         the scope chain.
11642
11643         * sem_ch10.adb:
11644         (Analyze_With_Clause): When setting the entities for the successive
11645         N_Expanded_Names that constitute the name of a child unit, do not
11646         attempt to go further than Standard_Standard in the chain of scopes.
11647         This case arises from the placeholder units created by
11648         Create_Dummy_Package_Unit in the case of a with_clause for a
11649         nonexistent child unit.
11650
11651 2003-11-10  Ed Schonberg  <schonberg@gnat.com>
11652
11653         * exp_ch6.adb:
11654         (Expand_Thread_Body): Place subprogram on scope stack, so that new
11655         declarations are given the proper scope.
11656
11657         * sem_ch13.adb:
11658         (Check_Expr_Constants): Reject an expression that contains a constant
11659         created during expansion, and that appears after the object to which
11660         the address clause applies.
11661
11662         * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
11663         Analyze_Iteration_Scheme, to rewrite a loop parameter specification
11664         that uses 'Range of a function call with controlled components, so
11665         that the function result can be finalized before starting the loop.
11666
11667         * sem_ch8.adb:
11668         (Find_Selected_Component): Improve error message when prefix is
11669         an implicit dereference of an incomplete type.
11670
11671 2003-11-10  Robert Dewar  <dewar@gnat.com>
11672
11673         * opt.ads: New Print_Standard flag for -gnatS switch
11674
11675         * sem_ch13.adb: Remove some additional checks for unaligned arrays
11676
11677         * cstand.adb (Create_Standard): Print out package standard if -gnatS
11678         switch set
11679
11680         * debug.adb: Update doc for -gnatds to discuss relationship with new
11681         -gnatS flag
11682
11683         * sinfo.adb: Add new field Entity_Or_Associated_Node
11684
11685         * sinfo.ads: Add new field Entity_Or_Associated_Node
11686         Update documentation for Associated_Node and Entity fields to clarify
11687         relationship and usage.
11688
11689         * sprint.adb:
11690         (Write_Id): Properly process Associated_Node field in generic template
11691
11692         * switch-c.adb:
11693         Recognize new -gnatS switch for printing package Standard
11694         This replaces gnatpsta
11695
11696         * usage.adb:
11697         Add line for  new -gnatS switch for printing package Standard
11698         This replaces gnatpsta
11699
11700 2003-11-10  Andreas Jaeger  <aj@suse.de>
11701
11702         * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
11703         integer.
11704
11705 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
11706
11707         * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
11708         by gnat1.
11709
11710 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
11711
11712         * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
11713         no longer needed.
11714
11715         * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
11716
11717         * sysdep.c: Add handling of cygwin.
11718
11719 2003-11-10  GNAT Script  <nobody@gnat.com>
11720
11721         * Make-lang.in: Makefile automatically updated
11722
11723 2003-11-10  Arnaud Charlet  <charlet@act-europe.fr>
11724
11725         PR 12950
11726         * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
11727         functions. Used to handle dynamic prefix relocation, via set_std_prefix.
11728         Replace GNAT_ROOT by GCC_ROOT.
11729
11730         * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
11731
11732 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
11733
11734         * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
11735         and update for changed meaning of GET_MODE_BITSIZE.
11736
11737 2003-11-04  Doug Rupp  <rupp@gnat.com>
11738
11739         * sysdep.c: Problem discovered during IA64 VMS port.
11740         [VMS] #include <unixio.h> to get proper prototypes.
11741
11742         * adaint.c:
11743         Issues discovered/problems fixed during IA64 VMS port.
11744         [VMS] #define _POSIX_EXIT for proper semantics.
11745         [VMS] #include <unixio.h> for proper prototypes.
11746         [VMS] (fork): #define IA64 version.
11747         (__gnat_os_exit): Remove unnecessary VMS specific code.
11748
11749 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11750
11751         Part of PR ada/12806
11752
11753         * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
11754         tree, not integer.
11755
11756         * decl.c:
11757         (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
11758         not integer.
11759
11760         * targtyps.c, decl.c, misc.c,
11761         gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
11762         routines to work around change in FP sizing semantics in GCC.
11763
11764         * utils.c:
11765         (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
11766
11767         * gigi.h: (enumerate_modes): New function.
11768
11769         * Make-lang.in: (ada/misc.o): Add real.h.
11770
11771         * misc.c: (enumerate_modes): New function.
11772
11773 2003-11-04  Robert Dewar  <dewar@gnat.com>
11774
11775         * 3vtrasym.adb: Minor reformatting
11776         Use terminology encoded/decoded name, rather than C++ specific notion
11777         of mangling (this is the terminology used throughout GNAT).
11778
11779         * einfo.h: Regenerated
11780
11781         * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
11782
11783         * exp_ch6.adb:
11784         (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
11785
11786         * par-prag.adb: Add dummy entry for Thread_Body pragma
11787
11788         * rtsfind.ads:
11789         Add entries for System.Threads entities for thread body processing
11790
11791         * sem_attr.adb:
11792         (Analyze_Pragma, Access attributes): Check these are not applied to a
11793         thread body, since this is not permitted
11794
11795         * sem_prag.adb: Add processing for Thread_Body pragma.
11796         Minor comment fix.
11797
11798         * sem_res.adb:
11799         (Resolve_Call): Check for incorrect attempt to call a thread body
11800          procedure with a direct call.
11801
11802         * snames.ads, snames.adb: Add entry for Thread_Body pragma
11803         Add names associated with thread body expansion
11804
11805         * snames.h: Add entry for Thread_Body pragma
11806
11807         * s-thread.adb: Add entries for thread body processing
11808         These are dummy bodies so far
11809
11810         * s-thread.ads: Add documentation on thread body handling.
11811         Add entries for thread body processing.
11812
11813 2003-11-04  Javier Miranda  <miranda@gnat.com>
11814
11815         * sem_ch10.adb:
11816         (Build_Limited_Views): Return after posting an error in case of limited
11817         with_clause on subprograms, generics, instances or generic renamings
11818         (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
11819         on subprograms, generics, instances or generic renamings
11820
11821 2003-11-04  Arnaud Charlet  <charlet@act-europe.fr>
11822
11823         * raise.c (setup_to_install): Correct mistake in last revision; two
11824         arguments out of order.
11825
11826         * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
11827         gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
11828         notice, missed in previous change.
11829         Remove trailing blanks and other style errors introduced in previous
11830         change.
11831
11832 2003-11-04  Olivier Hainque  <hainque@act-europe.fr>
11833
11834         * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
11835         rid of the wrapper for a LJM type, ensuring we don't do that if the
11836         field is addressable.  This avoids potential low level type view
11837         mismatches later on, for instance in a by-reference argument passing
11838         process.
11839
11840 2003-11-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11841
11842         * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
11843         aligned at byte boundary.
11844
11845 2003-11-04  Joel Brobecker  <brobecker@gnat.com>
11846
11847         * decl.c (components_to_record): Do not delete the empty variants from
11848         the end of the union type.
11849
11850 2003-11-04  Ed Schonberg  <schonberg@gnat.com>
11851
11852         * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
11853         operation for a derived type, an explicit declaration may use a local
11854         subtype of Boolean.
11855
11856 2003-11-04  Vincent Celier  <celier@gnat.com>
11857
11858         * make.adb (Gnatmake): Allow main sources on the command line with a
11859         library project when it is only for compilation (no binding or
11860         linking).
11861
11862 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11863
11864         * Makefile.in: Remove many duplicate variables.
11865
11866 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
11867
11868         * Make-lang.in (dvi): Move targets to $(docobjdir).
11869         (gnat_ug_vms.dvi): Simplify rule and adjust target.
11870         (gnat_ug_wnt.dvi): Likewise.
11871         (gnat_ug_unx.dvi): Likewise.
11872         (gnat_ug_vxw.dvi): Likewise.
11873         (gnat_rm.dvi): Likewise.
11874         (gnat-style.dvi): Likewise.
11875
11876 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
11877
11878         * gigi.h: Missed commit from update for C90.
11879
11880 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
11881
11882         * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
11883
11884 2003-10-31  Andreas Schwab  <schwab@suse.de>
11885
11886         * raise.c (get_action_description_for): Fix typo in last change.
11887
11888 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
11889
11890         PR ada/12761
11891         * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
11892         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
11893
11894 2003-10-30  Kelley Cook  <kcook@gcc.gnu.org>
11895
11896         * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
11897         ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
11898         gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
11899         sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
11900         trans.c, utils.c, utils2.c: Convert function prototypes to C90.
11901
11902 2003-10-30  Vasiliy Fofanov  <fofanov@act-europe.fr>
11903
11904         * 3vtrasym.adb:
11905         Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
11906         numbers when symbol name is too long.
11907
11908 2003-10-30  Ed Falis  <falis@gnat.com>
11909
11910         * g-signal.ads, g-signal.adb: New files
11911
11912         * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
11913
11914         * Makefile.rtl: Introduce GNAT.Signals
11915
11916 2003-10-30  Robert Dewar  <dewar@gnat.com>
11917
11918         * freeze.adb: Minor reformatting
11919
11920         * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
11921
11922         * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
11923         par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
11924         New handling of Id_Check parameter to improve recognition of keywords
11925         used as identifiers.
11926         Update copyright notice to include 2003
11927
11928 2003-10-29  Robert Dewar  <dewar@gnat.com>
11929
11930         * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
11931         sem_ch10.adb: Minor reformatting
11932
11933         * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
11934         (Expand_Assign_Record): Test right hand side for bit unaligned as well
11935
11936 2003-10-29  Vasiliy Fofanov  <fofanov@act-europe.fr>
11937
11938         * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
11939         Support for TBK$SYMBOLIZE-based symbolic traceback.
11940
11941 2003-10-29  Jose Ruiz  <ruiz@act-europe.fr>
11942
11943         * exp_disp.adb:
11944         Revert previous change, that did not work well when pragma No_Run_Time
11945         was used in conjunction with a run-time other than ZFP.
11946
11947 2003-10-29  Vincent Celier  <celier@gnat.com>
11948
11949         * make.adb:
11950         (Gnatmake): When there are no Ada mains in attribute Main, disable the
11951          bind and link steps only is switch -z is not used.
11952
11953 2003-10-29  Arnaud Charlet  <charlet@act-europe.fr>
11954
11955         * Makefile.generic: Remove duplicated setting of CC.
11956
11957         * Makefile.prolog: Set CC to gcc by default, to override make's
11958         default (cc).
11959
11960         * einfo.h: Regenerated.
11961
11962 2003-10-29  Ed Schonberg  <schonberg@gnat.com>
11963
11964         * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
11965         current body, after compiling subunit.
11966
11967         * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
11968         when in deleted code, because gigi needs properly ordered freeze
11969         actions to annotate types.
11970
11971         * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
11972         prevent the premature freezing of record type that contains
11973         subcomponents with a private type that does not yet have a completion.
11974
11975 2003-10-29  Javier Miranda  <miranda@gnat.com>
11976
11977         * sem_ch12.adb:
11978         (Analyze_Package_Instantiation): Check that instances can not be used in
11979         limited with_clauses.
11980
11981         * sem_ch8.adb:
11982         (Analyze_Package_Renaming): Check that limited withed packages cannot
11983         be renamed. Improve text on error messages related to limited
11984         with_clauses.
11985
11986         * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
11987
11988         * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
11989         Update copyright notice.
11990
11991         * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
11992         (Install_Limited_Context_Clauses): New subprogram that isolates all the
11993         checks required for limited context_clauses and installs the limited
11994         view.
11995         (Install_Limited_Withed_Unit): Complete its documentation.
11996         (Analyze_Context): Check that limited with_clauses are only allowed in
11997         package specs.
11998         (Install_Context): Call Install_Limited_Context_Clauses after the
11999         parents have been installed.
12000         (Install_Limited_Withed_Unit): Add documentation. Mark the installed
12001         package as 'From_With_Type'; this mark indicates that the limited view
12002         is installed. Used to check bad usages of limited with_clauses.
12003         (Build_Limited_Views): Do not add shadow entities to the scope's list
12004         of entities. Do not add real entities to the Non_Limited_Views chain.
12005         Improve error notification.
12006         (Remove_Context_Clauses): Remove context clauses in two phases:
12007         limited views first and regular views later (to maintain the
12008         stack model).
12009         (Remove_Limited_With_Clause): If the package is analyzed then reinstall
12010         its visible entities.
12011
12012 2003-10-29  Thomas Quinot  <quinot@act-europe.fr>
12013
12014         * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
12015         with any type that Is_Fixed_Point_Type.
12016
12017         * sinfo.ads: Fix documentation for Associated_Node attribute.
12018
12019 2003-10-29  Sergey Rybin  <rybin@act-europe.fr>
12020
12021         * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
12022         both '-gnatc' and '-gnatt' are specified.
12023
12024         * atree.adb (Initialize): Add initialization for Node_Count (set to
12025         zero).
12026
12027 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12028
12029         * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
12030         do not consider as Pure.
12031
12032         Part of implementation of function-at-a-time:
12033
12034         * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
12035         (tree_transform): Add new argument to build_component_ref.
12036         (tree_transform, case N_Assignment_Statement): Make and return an
12037         EXPR_STMT.
12038         (tree_transform): If result IS_STMT, set flags and return it.
12039         (gnat_expand_stmt, set_lineno_from_sloc): New functions.
12040
12041         * utils2.c (build_simple_component_ref, build_component_ref): Add new
12042         arg, NO_FOLD_P.
12043         (build_binary_op, case EQ_EXPR): Pass additional arg to it.
12044         (build_allocator): Likewise.
12045
12046         * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
12047         Add new arg to build_component_ref.
12048         (maybe_unconstrained_array, unchecked_convert): Likewise.
12049
12050         * ada-tree.def (EXPR_STMT): New code.
12051
12052         * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
12053
12054         * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
12055         build_component_ref calls.
12056
12057         * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
12058
12059         * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
12060         (build_component_ref): Add new argument, NO_FOLD_P.
12061
12062 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
12063
12064         * Makefile.generic: Add missing substitution on object_deps handling.
12065
12066         PR ada/5909:
12067         * Make-lang.in (check-ada): Enable ACATS test suite.
12068
12069 2003-10-27  Robert Dewar  <dewar@gnat.com>
12070
12071         * exp_ch3.adb:
12072         (Freeze_Array_Type): We do not need an initialization routine for types
12073         derived from String or Wide_String. They should be treated the same
12074         as String and Wide_String themselves. This caused problems with the
12075         use of Initialize_Scalars.
12076
12077         * exp_ch5.adb:
12078         (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
12079         composites. This allows use of component clauses that are not byte
12080         aligned.
12081
12082         * sem_prag.adb:
12083         (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
12084         is an attempt to pack an array of atomic objects.
12085
12086         * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
12087
12088 2003-10-27  Pascal Obry  <obry@gnat.com>
12089
12090         * g-dirope.adb:
12091         (Basename): Check for drive letters in a pathname only on DOS based OS.
12092
12093 2003-10-27  Vincent Celier  <celier@gnat.com>
12094
12095         * make.adb:
12096         (Gnatmake): When unable to change dir to the object dir, display the
12097         content of the parent dir of the obj dir, to try to understand why this
12098         happens.
12099
12100 2003-10-27  GNAT Script  <nobody@gnat.com>
12101
12102         * Make-lang.in: Makefile automatically updated
12103
12104 2003-10-27  Ed Schonberg  <schonberg@gnat.com>
12105
12106         * sem_ch12.adb:
12107         (Inline_Instance_Body): Indicate that the save/restore of use_clauses
12108         should not be done in Save/Restore_Scope_Stack, because it is performed
12109         locally.
12110
12111         * sem_ch8.adb:
12112         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
12113         whether use clauses should be removed/restored.
12114
12115         * sem_ch8.ads:
12116         (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
12117         whether use clauses should be removed/restored.
12118
12119 2003-10-26  Andreas Jaeger  <aj@suse.de>
12120
12121         * Makefile.in: Remove duplicated lines.
12122
12123 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
12124
12125         * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
12126         minimize the differences with ACT tree.
12127
12128         * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
12129         gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
12130         Gnatvsn.Gnat_Static_Version_String to reduce differences between
12131         ACT and FSF trees.
12132
12133 2003-10-24  Pascal Obry  <obry@gnat.com>
12134
12135         * adadecode.c (ostrcpy): New function.
12136         (__gnat_decode): Use ostrcpy of strcpy.
12137         (has_prefix): Set first parameter a const.
12138         (has_suffix): Set first parameter a const.
12139         Update copyright notice. Fix source name in header.
12140         Removes a trailing space.
12141         PR ada/12014.
12142
12143 2003-10-24  Jose Ruiz  <ruiz@act-europe.fr>
12144
12145         * exp_disp.adb:
12146         Remove the test against being in No_Run_Time_Mode before generating a
12147         call to Register_Tag. It is redundant with the test against the
12148         availability of the function Register_Tag.
12149
12150 2003-10-24  Vincent Celier  <celier@gnat.com>
12151
12152         * g-catiio.adb: (Month_Name): Correct spelling of February
12153
12154         * make.adb: (Mains): New package
12155         (Initialize): Call Mains.Delete
12156         (Gnatmake): Check that each main on the command line is a source of a
12157         project file and, if there are several mains, each of them is a source
12158         of the same project file.
12159         (Gnatmake): When a foreign language is specified in attribute Languages,
12160         no main is specified on the command line and attribute Mains is not
12161         empty, only build the Ada main. If there is no Ada main, just compile
12162         the Ada sources and their closure.
12163         (Gnatmake): If a main is specified on the command line with directory
12164         information, check that the source exists and, if it does, that the path
12165         is the actual path of a source of a project.
12166
12167         * prj-env.adb:
12168         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
12169         Full_Path is True, return the full path instead of the simple file name.
12170         (Project_Of): New function
12171
12172         * prj-env.ads:
12173         (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
12174         defaulted to False.
12175         (Project_Of): New function
12176
12177 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
12178
12179         * Makefile.generic:
12180         Ensure objects of main project are always checked and rebuilt if needed.
12181         Set CC to gcc by default.
12182         Prepare new handling of link by creating a global archive (not activated
12183         yet).
12184
12185         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
12186         stringt.h: Update copyright notice. Remove trailing blanks.
12187         Fix source name in header.
12188
12189 2003-10-24  Robert Dewar  <dewar@gnat.com>
12190
12191         * sem_ch12.adb: Minor reformatting
12192
12193         * sem_ch3.adb:
12194         Minor reformatting (including new function return style throughout)
12195
12196         * sem_ch3.ads:
12197         Minor reformatting (including new function return style throughout)
12198
12199 2003-10-24  Arnaud Charlet  <charlet@act-europe.fr>
12200
12201         * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
12202         stringt.h: Update copyright notice. Remove trailing blanks.
12203         Fix source name in header.
12204
12205 2003-10-24  GNAT Script  <nobody@gnat.com>
12206
12207         * Make-lang.in: Makefile automatically updated
12208
12209 2003-10-23  Nathanael Nerode  <neroden@gcc.gnu.org>
12210
12211         * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
12212         stringt.h: Convert to ISO C90 declarations and definitions.
12213
12214 2003-10-23  Thomas Quinot  <quinot@act-europe.fr>
12215
12216         PR ada/11978:
12217         * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
12218         External_Tag attribute definition clauses.
12219
12220 2003-10-23  Ed Schonberg  <schonberg@gnat.com>
12221
12222         PR ada/7613:
12223         * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
12224         child unit, generate a fully qualified name to avoid spurious errors
12225         when the context contains renamings of different child units with
12226         the same simple name.
12227
12228         * exp_dbug.ads: Add documentation on name qualification for renamings
12229         of child units.
12230
12231 2003-10-23  Robert Dewar  <dewar@gnat.com>
12232
12233         * g-regpat.ads, g-regpat.adb: Minor reformatting
12234
12235 2003-10-23  Jose Ruiz  <ruiz@act-europe.fr>
12236
12237         * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
12238
12239 2003-10-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12240
12241         * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
12242         Machine call.
12243
12244         * urealp.h: (Machine): Update to proper definition.
12245
12246 2003-10-23  Arnaud Charlet  <charlet@act-europe.fr>
12247
12248         * init.c, adaint.c: Minor reformatting.
12249
12250 2003-10-23  Danny Smith  <dannysmith@users.sourceforge.net>
12251
12252         * adaint.c (w32_epoch_offset): Define static const at file level.
12253         (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
12254         rather than t_create, t_access in call to GetFileTime. Use union
12255         to convert between FILETIME and  unsigned long long.
12256         (__gnat_file_time_name): Test for invalid file handle.
12257         (__gnat_set_filetime_name): Support win32 targets using
12258         w32api SetFileTime.
12259
12260 2003-10-22  Danny Smith  <dannysmith@users.sourceforge.net>
12261
12262         * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
12263
12264         * ctrl_c.c (__gnat_int_handler): Remove declaration.
12265
12266         * decl.c (creat_concat_name):  Const-ify prefix.
12267
12268         * adaint.c: Include ctype.h if __MINGW32__.
12269         (__gnat_readlink): Mark arguments as possibly unused.
12270         (__gnat_symlink): Likewise.
12271         (__gnat_is_symbolic_link): Likewise.
12272         (__gnat_portable_spawn): Likewise.  Cast last arg of spawnvp to match
12273         declaration
12274         (__gnat_file_time_name): Don't declare struct stat statbuf when
12275         not needed.
12276         (__gnat_is_absolute_path): Add parenthesis around condition of
12277         'if' statement to avoid warning.
12278         (__gnat_plist_init): Specify void as parameter.
12279         (plist_enter): Likewise.
12280         (plist_leave): Likewise.
12281         (remove_handle): Make static. Initialize prev.
12282
12283 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
12284
12285         * Makefile.in: Disable build of gnatpsta. PR ada/10110.
12286         * cstreams.c (__gnat_full_name): Minor improvements and clean up
12287         of previous change.
12288
12289 2003-10-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12290
12291         * tracebak.c (MAX): Avoid redefinition warning.
12292
12293         * init.c [sgi] (__gnat_error_handler): Remove i, unused.
12294         Change msg to const char *.
12295         (__gnat_install_handler): Remove ss, unused.
12296         [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
12297         to const char *.
12298         * cstreams.c (__gnat_full_name): Declare p only when used.
12299         (__gnat_full_name) [sgi] Return buffer.
12300
12301 2003-10-22  Arnaud Charlet  <charlet@act-europe.fr>
12302
12303         * mingw32.h: New file.
12304         * gnat_wrapper.adb: New file.
12305
12306 2003-10-22  Jerome Roussel  <roussel@act-europe.fr>
12307
12308         * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
12309         string match a pre compiled regular expression (the corresponding
12310         version of the function working on a raw regular expression)
12311         Fix typos in various comments
12312         Update copyright notice in spec
12313
12314 2003-10-21  Gary Dismukes  <dismukes@gnat.com>
12315
12316         * exp_ch3.adb:
12317         (Component_Needs_Simple_Initialization): Return False when the type is a
12318         packed bit array. Revise spec comments to document this case.
12319
12320         * exp_prag.adb:
12321         (Expand_Pragma_Import): Set any expression on the imported object to
12322         empty to avoid initializing imported objects (in particular this
12323         covers the case of zero-initialization of bit arrays).
12324         Update copyright notice.
12325
12326 2003-10-21  Ed Schonberg  <schonberg@gnat.com>
12327
12328         * sem_ch12.adb:
12329         (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
12330         a subunit is missing.
12331         (Instantiate_Subprogram_Body): If body of function is missing, set type
12332         of return expression explicitly in dummy body, to prevent cascaded
12333         errors when a subunit is missing.
12334         Fixes PR 5677.
12335
12336         * sem_ch3.adb:
12337         (Access_Subprogram_Declaration): Verify that return type is valid.
12338         Fixes PR 8693.
12339
12340         * sem_elab.adb:
12341         (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
12342         generic.
12343         Fixes PR 12318.
12344
12345         * sem_util.adb:
12346         (Corresponding_Discriminant): If the scope of the discriminant is a
12347         private type without discriminant, use its full view.
12348         Fixes PR 8247.
12349
12350 2003-10-21  Arnaud Charlet  <charlet@act-europe.fr>
12351
12352         * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
12353         3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
12354         3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
12355         55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
12356         56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
12357         59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
12358         5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
12359         5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
12360         5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
12361         5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
12362         5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
12363         5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
12364         5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
12365         5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
12366         7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
12367         a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
12368         a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
12369         a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
12370         bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
12371         erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
12372         err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
12373         g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
12374         g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
12375         g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
12376         g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
12377         g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
12378         g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
12379         gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
12380         g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
12381         g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
12382         i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
12383         prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
12384         prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
12385         s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
12386         s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
12387         s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
12388         s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
12389         s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
12390         s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
12391         s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
12392         s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
12393         socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
12394         s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
12395         s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
12396         s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
12397         styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
12398         s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
12399         tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
12400         vms_conv.ads, vms_conv.adb, vms_data.ads,
12401         vxaddr2line.adb: Files added. Merge with ACT tree.
12402
12403         * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
12404         5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
12405         5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
12406         5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
12407         g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
12408         s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
12409         s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
12410         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
12411         s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
12412         s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
12413
12414         * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
12415         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
12416         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
12417         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
12418         4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
12419         4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
12420         4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
12421         4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
12422         51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
12423         53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
12424         5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
12425         5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
12426         5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
12427         5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
12428         5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
12429         5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
12430         5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
12431         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
12432         5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
12433         5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
12434         5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
12435         5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
12436         5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
12437         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
12438         5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
12439         5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
12440         5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
12441         5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
12442         5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
12443         5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
12444         5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
12445         5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
12446         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
12447         5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
12448         6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
12449         7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
12450         7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
12451         a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
12452         a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
12453         a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
12454         a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
12455         a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
12456         ali.adb, ali.ads, ali-util.adb, ali-util.ads,
12457         a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
12458         a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
12459         a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
12460         a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
12461         a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
12462         a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
12463         a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
12464         a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
12465         a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
12466         a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
12467         a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
12468         a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
12469         atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
12470         a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
12471         a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
12472         bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
12473         checks.adb, checks.ads, cio.c, comperr.adb,
12474         comperr.ads, csets.adb, cstand.adb, cstreams.c,
12475         debug_a.adb, debug_a.ads, debug.adb, decl.c,
12476         einfo.adb, einfo.ads, errout.adb, errout.ads,
12477         eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
12478         expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
12479         exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
12480         exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
12481         exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
12482         exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
12483         exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
12484         exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
12485         exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
12486         fe.h, fmap.adb, fmap.ads, fname.adb,
12487         fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
12488         freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
12489         g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
12490         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
12491         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
12492         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
12493         g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
12494         g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
12495         g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
12496         g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
12497         g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
12498         g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
12499         g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
12500         g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
12501         gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
12502         gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
12503         gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
12504         gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
12505         gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
12506         g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
12507         g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
12508         g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
12509         g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
12510         g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
12511         g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
12512         g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
12513         g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
12514         i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
12515         i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
12516         inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
12517         itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
12518         layout.adb, lib.adb, lib.ads, lib-list.adb,
12519         lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
12520         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
12521         link.c, live.adb, make.adb, make.ads,
12522         Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
12523         mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
12524         mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
12525         misc.c, mkdir.c, mlib.adb, mlib.ads,
12526         mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
12527         mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
12528         namet.adb, namet.ads, namet.h, nlists.ads,
12529         nlists.h, nmake.adt, opt.adb, opt.ads,
12530         osint.adb, osint.ads, osint-b.adb, osint-c.adb,
12531         par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
12532         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
12533         par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
12534         par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
12535         prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
12536         prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
12537         prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
12538         prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
12539         prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
12540         prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
12541         prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
12542         prj-util.adb, prj-util.ads, raise.c, raise.h,
12543         repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
12544         rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
12545         s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
12546         s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
12547         scans.ads, scn.adb, scn.ads, s-crc32.adb,
12548         s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
12549         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
12550         sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
12551         sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
12552         sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
12553         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
12554         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
12555         sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
12556         sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
12557         sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
12558         sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
12559         sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
12560         s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
12561         s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
12562         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
12563         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
12564         s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
12565         s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
12566         s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
12567         sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
12568         sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
12569         sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
12570         s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
12571         s-memory.adb, s-memory.ads, snames.adb, snames.ads,
12572         snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
12573         s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
12574         s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
12575         s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
12576         s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
12577         s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
12578         s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
12579         s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
12580         s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
12581         s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
12582         s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
12583         s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
12584         s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
12585         s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
12586         s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
12587         s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
12588         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
12589         stringt.adb, stringt.ads, stringt.h, style.ads,
12590         stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
12591         s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
12592         s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
12593         switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
12594         s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
12595         table.adb, table.ads, targparm.adb, targparm.ads,
12596         targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
12597         trans.c, tree_io.adb, treepr.adb, treeprs.adt,
12598         ttypes.ads, types.ads, types.h, uintp.adb,
12599         uintp.ads, uintp.h, uname.adb, urealp.adb,
12600         urealp.ads, urealp.h, usage.adb, utils2.c,
12601         utils.c, validsw.adb, validsw.ads, widechar.adb,
12602         xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
12603         xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
12604         einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
12605         gnatvsn.ads: Merge with ACT tree.
12606
12607         * gnatvsn.adb: Rewritten in a simpler and more efficient way.
12608
12609 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
12610
12611         * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
12612         (gnat_ug_vmx.info): Likewise.
12613         (gnat_ug_vxw.info): Likewise.
12614         (gnat_ug_wnt.info): Likewise.
12615         (gnat_rm.info): Likewise.
12616         (gnat-style.info): Likewise.
12617
12618         * Make-lang.in (ada.install-info): Remove target.
12619         (info): New target.
12620         (install-info): Likewise.
12621         (gnat_ug_unx.info): Simplify rule.
12622         (gnat_ug_vmx.info): Likewise.
12623         (gnat_ug_vxw.info): Likewise.
12624         (gnat_ug_wnt.info): Likewise.
12625         (gnat_rm.info): Likewise.
12626         (gnat-style.info): Likewise.
12627
12628 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
12629
12630         * Make-lang.in: Replace uses of $(target_alias) with
12631         $(target_noncanonical).
12632         * ada/Makefile.in: Remove unused mention of $(target_alias).
12633
12634 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
12635
12636         * Make-lang.in (ada.info): Replace with ...
12637         (info): ... this.
12638         (ada.dvi): Replace with ...
12639         (dvi): ... this.
12640
12641 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
12642
12643         * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
12644         initialize dconstp5 and dconstmp5.
12645
12646 2003-09-28  Richard Henderson  <rth@redhat.com>
12647
12648         * trans.c (tree_transform): Update call to expand_asm_operands.
12649
12650 2003-09-21  Richard Henderson  <rth@redhat.com>
12651
12652         * trans.c, utils.c: Revert.
12653
12654 2003-09-21  Richard Henderson  <rth@redhat.com>
12655
12656         * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
12657         change to const.
12658
12659 2003-09-04  Michael Matz  <matz@suse.de>
12660
12661         * misc.c: Include "target.h".
12662         * Make-lang.in (misc.o): Add dependency on target.h.
12663
12664 2003-09-03  DJ Delorie  <dj@redhat.com>
12665
12666         * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
12667         hook.
12668
12669 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
12670
12671         * Makefile.in: Update substitutions to match changes to
12672         configure.  Use include directives instead of @-insertions
12673         to read in host and target fragments.  Add a rule to
12674         regenerate ada/Makefile.
12675
12676 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
12677
12678         * lang-options.h: Remove.
12679         * lang.opt: Add help text.
12680
12681 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
12682
12683         * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
12684         calls.
12685
12686 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
12687
12688         * misc.c (gnat_handle_option): Don't handle filenames.
12689
12690 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
12691
12692         * Make-lang.in: Replace PWD with PWD_COMMAND.
12693         * Makefile.adalib: Likewise.
12694         * Makefile.in: Likewise.
12695
12696 2003-07-04  Matt Kraai  <kraai@alumni.cmu.edu>
12697
12698         * misc.c (gnat_argv): Revert last change.
12699         (gnat_handle_option, gnat_init_options): Copy arguments.
12700
12701 2003-07-03  Neil Booth  <neil@daikokuya.co.uk>
12702
12703         * misc.c (gnat_argv): Make const.
12704
12705 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
12706
12707         * misc.c (save_argc, save_argv): Keep non-static!
12708
12709 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
12710
12711         * misc.c (save_argc, save_argv): Make static.
12712         (gnat_init_options): New prototype.
12713         (gnat_init_options): Update.
12714
12715 2003-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
12716
12717         * gnat_ug.texi: Remove unlikely characters from @vars.
12718         * gnat_ug_vms.texi: Regenerate.
12719
12720 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
12721
12722         * misc.c (record_code_position): Adjust emit_note call.
12723
12724 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
12725
12726         * misc.c (gnat_handle_option): Don't check for missing arguments.
12727
12728 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
12729
12730         * utils.c (end_subprog_body): Adjust expand_function_end call.
12731
12732 2003-06-16  Matt Kraai  <kraai@alumni.cmu.edu>
12733
12734         * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
12735         Bind_Main_Program.
12736
12737 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
12738
12739         * lang.opt: Declare Ada.
12740         * misc.c (gnat_init_options): Update.
12741
12742 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
12743
12744         * utils.c (begin_subprog_body): Adjust init_function_start call.
12745
12746 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
12747
12748         * Make-lang.in: Update to use options.c and options.h.
12749         * misc.c: Include options.h not aoptions.h.
12750         (gnat_handle_option): Abort on unrecognized switch.
12751         (gnat_init_options): Request Ada switches.
12752
12753 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
12754
12755         * lang.opt: Add -Wall.
12756         * misc.c (gnat_handle_option): Handle it.
12757
12758 2003-06-12  Neil Booth  <neil@daikokuya.co.uk>
12759
12760         * misc.c (gnat_handle_option): Fix warnings.
12761
12762 2003-06-11  Matt Kraai  <kraai@alumni.cmu.edu>
12763
12764         * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
12765
12766 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
12767
12768         * Make-lang.in: Update to handle command-line options.
12769         * lang.opt: New file.
12770         * misc.c: Include aoptions.h.
12771         (cl_options_count, cl_options): Remove.
12772         (gnat_handle_option): New.
12773         (gnat_decode_option): Remove.
12774         (LANG_HOOKS_DECODE_OPTION): Remove.
12775         (LANG_HOOKS_HANDLE_OPTION): Override.
12776
12777 2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
12778
12779         * init.c, misc.c, trans.c, utils.c: Remove dead code.
12780
12781 2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
12782
12783         * Makefile.in: Replace "host_canonical" with "host" for autoconf
12784         substitution.
12785
12786 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
12787
12788         * Make-lang.in: Update.
12789         * misc.c: Include opts.h. Define cl_options_count and cl_options.
12790
12791 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
12792
12793         * misc.c (gnat_init_options): Update.
12794
12795 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
12796
12797         * Make-lang.in (ada/b_gnatb.o-warn): Remove.
12798         * bindgen.adb (Gen_Main_C): Mark ensure_reference with
12799         __attribute__ ((__unused__)).
12800
12801 2003-06-05  Jan Hubicka  <jh@suse.cz>
12802
12803         * Make-lang.in:  Add support for stageprofile and stagefeedback
12804
12805 2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>
12806
12807         * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
12808         (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
12809
12810 2003-06-04  Matt Kraai  <kraai@alumni.cmu.edu>
12811
12812         * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
12813         Remove non-VMS directive.
12814         (Switches for gnatlbr, Optimization Levels): Remove non-VMS
12815         alternatives.
12816         (Examples of gnatls Usage): Remove VMS alternative.
12817
12818 2003-06-04  Olivier Hainque  <hainque@act-europe.fr>
12819
12820         PR ada/9953:
12821         * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
12822         and turn ZCX_By_Default back to False since the underlying support
12823         is not quite there yet.
12824
12825 2003-06-01  Andreas Jaeger  <aj@suse.de>
12826
12827         * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
12828         and ROUND_TYPE_SIZE_UNIT.
12829
12830 2003-05-22   Geert Bosch <bosch@gnat.com>
12831
12832         * gnat_rm.texi : Remove reference to Ada Core Technologies.
12833
12834 2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
12835
12836         * trans.c (tree_transform): Use location_t and input_location
12837         directly.
12838         (build_unit_elab): Likewise.
12839         * utils.c (create_label_decl): Likewise.
12840
12841 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
12842
12843         * trans.c (tree_transform, build_unit_elab,
12844         set_lineno): Rename lineno to input_line.
12845         * utils.c (pushdecl, create_label_decl, begin_subprog_body,
12846         end_subprog_body): Likewise.
12847         * utils2.c (build_call_raise): Likewise.
12848
12849 2003-05-01  Laurent Guerby <guerby@acm.org>
12850
12851         PR ada/10546
12852         * 5iosinte.ads: Increase pthread_cond_t size to match recent
12853         LinuxThread and NPTL version, merge from ACT.
12854
12855 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
12856
12857         * utils.c (convert): No need to clear TREE_CST_RTL.
12858
12859 2003-04-23   Geert Bosch <bosch@gnat.com>
12860
12861         * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
12862         1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
12863         3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
12864         3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
12865         3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
12866         4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
12867         4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
12868         4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
12869         4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
12870         4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
12871         4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
12872         4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
12873         52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
12874         5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
12875         5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
12876         5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
12877         5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
12878         5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
12879         5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
12880         5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
12881         5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
12882         5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
12883         5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
12884         5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
12885         5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
12886         5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
12887         5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
12888         5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
12889         5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
12890         5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
12891         5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
12892         5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
12893         5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
12894         5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
12895         5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
12896         5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
12897         5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
12898         5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
12899         5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
12900         5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
12901         5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
12902         5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
12903         5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
12904         5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
12905         6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
12906         7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
12907         7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
12908         9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
12909         a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
12910         a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
12911         a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
12912         a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
12913         a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
12914         a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
12915         a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
12916         a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
12917         a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
12918         a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
12919         a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
12920         a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
12921         a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
12922         a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
12923         a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
12924         a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
12925         a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
12926         a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
12927         a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
12928         a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
12929         a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
12930         a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
12931         a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
12932         a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
12933         a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
12934         a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
12935         a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
12936         a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
12937         a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
12938         a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
12939         a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
12940         a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
12941         a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
12942         a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
12943         a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
12944         a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
12945         a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
12946         a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
12947         a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
12948         a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
12949         a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
12950         a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
12951         a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
12952         a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
12953         a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
12954         a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
12955         a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
12956         a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
12957         a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
12958         a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
12959         a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
12960         a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
12961         a-wttest.ads, ada-tree.h, ada.ads, ada.h,
12962         adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
12963         ali.adb, ali.ads, alloc.ads, argv.c,
12964         atree.adb, atree.ads, atree.h, aux-io.c,
12965         back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
12966         binde.adb, binde.ads, binderr.adb, binderr.ads,
12967         bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
12968         butil.adb, butil.ads, cal.c, calendar.ads,
12969         casing.adb, casing.ads, ceinfo.adb, checks.adb,
12970         checks.ads, cio.c, comperr.adb, comperr.ads,
12971         config-lang.in, csets.adb, csets.ads, csinfo.adb,
12972         cstand.adb, cstand.ads, cuintp.c, debug.adb,
12973         debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
12974         dec-io.ads, dec.ads, deftarg.c, directio.ads,
12975         einfo.adb, einfo.ads, elists.adb, elists.ads,
12976         elists.h, errno.c, errout.adb, errout.ads,
12977         eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
12978         exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
12979         exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
12980         exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
12981         exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
12982         exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
12983         exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
12984         exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
12985         exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
12986         exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
12987         exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
12988         exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
12989         exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
12990         exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
12991         exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
12992         fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
12993         fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
12994         freeze.adb, freeze.ads, frontend.adb, frontend.ads,
12995         g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
12996         g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
12997         g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
12998         g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
12999         g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
13000         g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
13001         g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
13002         g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
13003         g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
13004         g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
13005         g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
13006         g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
13007         g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
13008         g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
13009         g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
13010         g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
13011         g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
13012         g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
13013         g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
13014         g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
13015         g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
13016         g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
13017         get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
13018         gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
13019         gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
13020         gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
13021         gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
13022         gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
13023         gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
13024         gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
13025         hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
13026         i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
13027         i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
13028         i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
13029         i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
13030         i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
13031         i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
13032         inline.adb, inline.ads, interfac.ads, ioexcept.ads,
13033         itypes.adb, itypes.ads, krunch.adb, krunch.ads,
13034         layout.adb, layout.ads, lib-list.adb, lib-load.adb,
13035         lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
13036         lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
13037         lib.adb, lib.ads, live.adb, live.ads,
13038         machcode.ads, make.adb, make.ads, makeusg.adb,
13039         makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
13040         mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
13041         memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
13042         mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
13043         mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
13044         mlib.ads, namet.adb, namet.ads, nlists.adb,
13045         nlists.ads, opt.adb, opt.ads, osint-b.adb,
13046         osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
13047         osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
13048         osint.ads, output.adb, output.ads, par-ch10.adb,
13049         par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
13050         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
13051         par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
13052         par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
13053         par-tchk.adb, par-util.adb, par.adb, par.ads,
13054         prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
13055         prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
13056         prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
13057         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
13058         prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
13059         prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
13060         prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
13061         prj.adb, prj.ads, repinfo.adb, repinfo.ads,
13062         restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
13063         rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
13064         s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
13065         s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
13066         s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
13067         s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
13068         s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
13069         s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
13070         s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
13071         s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
13072         s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
13073         s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
13074         s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
13075         s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
13076         s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
13077         s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
13078         s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
13079         s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
13080         s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
13081         s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
13082         s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
13083         s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
13084         s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
13085         s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
13086         s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
13087         s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
13088         s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
13089         s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
13090         s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
13091         s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
13092         s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
13093         s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
13094         s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
13095         s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
13096         s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
13097         s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
13098         s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
13099         s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
13100         s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
13101         s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
13102         s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
13103         s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
13104         s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
13105         s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
13106         s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
13107         s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
13108         s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
13109         s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
13110         s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
13111         s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
13112         s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
13113         s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
13114         s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
13115         s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
13116         s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
13117         s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
13118         s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
13119         s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
13120         s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
13121         s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
13122         s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
13123         s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
13124         s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
13125         s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
13126         s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
13127         s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
13128         s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
13129         s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
13130         s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
13131         s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
13132         s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
13133         s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
13134         s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
13135         s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
13136         s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
13137         s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
13138         s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
13139         s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
13140         s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
13141         s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
13142         s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
13143         s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
13144         s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
13145         s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
13146         s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
13147         s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
13148         s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
13149         s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
13150         s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
13151         s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
13152         s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
13153         s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
13154         s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
13155         s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
13156         s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
13157         scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
13158         sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
13159         sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
13160         sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
13161         sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
13162         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
13163         sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
13164         sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
13165         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
13166         sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
13167         sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
13168         sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
13169         sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
13170         sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
13171         sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
13172         sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
13173         sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
13174         sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
13175         sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
13176         sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
13177         sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
13178         snames.ads, sprint.adb, sprint.ads, stand.adb,
13179         stand.ads, stringt.adb, stringt.ads, style.adb,
13180         style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
13181         switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
13182         switch-m.ads, switch.adb, switch.ads, system.ads,
13183         table.adb, table.ads, targparm.adb, targparm.ads,
13184         tbuild.adb, tbuild.ads, text_io.ads, trans.c,
13185         tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
13186         tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
13187         ttypef.ads, ttypes.ads, types.adb, types.ads,
13188         uintp.adb, uintp.ads, uname.adb, uname.ads,
13189         unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
13190         usage.adb, usage.ads, validsw.adb, validsw.ads,
13191         widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
13192         xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
13193         xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
13194         formatting and other trivial changes from ACT.
13195
13196 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
13197
13198         * gigi.h, utils2.c (build_constructor):
13199         Rename gnat_build_constructor. Use build_constructor.
13200         * decl.c (gnat_to_gnu_entity)
13201         * trans.c (tree_transform, pos_to_constructor, extract_values)
13202         * ada/utils.c (build_template, convert_to_fat_pointer, convert)
13203         (unchecked_convert)
13204         * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
13205         (fill_vms_descriptor):
13206         Update to match.
13207
13208 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
13209
13210         * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
13211         * misc.c (gnat_tree_size): New function.
13212         (LANG_HOOKS_TREE_SIZE): Override.
13213
13214 2003-04-03  Jason Merrill  <jason@redhat.com>
13215
13216         * misc.c (gnat_adjust_rli): #if 0.
13217
13218 2003-03-31   Geert Bosch <bosch@gnat.com>
13219
13220         PR ada/10020
13221         * link.c : Fix misspelled "const" keyword
13222
13223 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
13224
13225         PR c++/7086
13226         * utils2.c: Adjust calls to put_var_into_stack.
13227
13228 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
13229
13230         * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
13231
13232 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
13233
13234         * misc.c (gnat_init): Update for new prototype.
13235
13236 2003-03-05  Olivier Hainque  <hainque@gnat.com>
13237
13238         ada/9961
13239         * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
13240         warning, and fix return type for the IN_RTS && !SJLJ case.
13241
13242 2003-03-04  Tom Tromey  <tromey@redhat.com>
13243
13244         * Make-lang.in (ada.tags): New target.
13245
13246 2003-03-04  Olivier Hainque  <hainque@act-europe.fr>
13247
13248         ada/9911
13249         * a-except.adb (Unwind_RaiseException): Import a GNAT specific
13250         wrapper, which name remains constant whatever underlying GCC
13251         scheme.
13252
13253         * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
13254         the stable interface needed for a-except.
13255
13256 2003-03-02  Andreas Jaeger  <aj@suse.de>
13257
13258         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13259         gnat_ug_wnt.texi: Regenerate.
13260
13261 2003-03-02  Laurent Guerby <guerby@acm.org>
13262
13263         * Makefile.in (install-gnatlib): Match previous change there
13264         so it works.
13265
13266 2003-02-28  Andreas Schwab  <schwab@suse.de>
13267
13268         * Make-lang.in (install-gnatlib): Change to ada directory before
13269         running make instead of using ada/Makefile directly.
13270
13271 2003-02-18  Ben Elliston  <bje@redhat.com>
13272
13273         Part of fix for PR ada/9406
13274         * gnat_ug.texi (Binder output file): Grammar fix.
13275
13276 2003-02-18  Ben Elliston  <bje@redhat.com>
13277
13278         PR other/7350
13279         * 5qtaprop.adb (Sleep): Fix typo in comment.
13280
13281 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
13282
13283         * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
13284         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13285         gnat_ug_wnt.texi: Regenerate.
13286
13287 2003-02-03  Christian Cornelssen <ccorn@cs.tu-berlin.de>
13288
13289         * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
13290         be created if necessary.
13291         (ada.install-common): Let $(DESTDIR)$(bindir) be created
13292         if necessary.  Remove erroneous and redundant gnatchop
13293         installation commands.  Test for gnatdll before attempting
13294         to install it.
13295         (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
13296         and gnatdll from all plausible locations.
13297
13298 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
13299
13300         * utils2.c (build_unary_op): Don't check flag_volatile.
13301         * gnat_ug.texi: Remove -fvolatile from example.
13302         * gnat_ug_vxw.texi: Likewise.
13303
13304 2003-01-29  Laurent Guerby <guerby@acm.org>
13305
13306         PR ada/8344
13307         * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
13308         * Makefile.in: match previous change.
13309         * Make-lang.in: match previous change.
13310
13311 2003-01-29      Joel Sherrill <joel@OARcorp.com>
13312
13313         * 5rosinte.ads: Add SIGXCPU.
13314         * 5rtpopsp.adb: New file.
13315         * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
13316         * Makefile.in: Recognize more RTEMS targets and add the RTEMS
13317         specific file 5rtpopsp.adb.
13318         * adaint.h: Add include of <stdio.h> when target is RTEMS.  This
13319         is likely needed for all newlib targets.
13320         * init.c: Add RTEMS specific version of __gnat_initialize().
13321
13322 2003-01-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13323
13324         * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
13325
13326 2003-01-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13327
13328         * init.c (__gnat_error_handler): Make msg const.
13329
13330         * gmem.c (convert_addresses): Move declaration ...
13331         * adaint.h: ... here.
13332         * adaint.c (convert_addresses): Adapt addrs type to match
13333         prototype.
13334
13335         * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
13336
13337 2003-01-24  Andreas Schwab  <schwab@suse.de>
13338
13339         * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
13340         size_t to avoid warning.
13341
13342 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
13343
13344         * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
13345
13346 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
13347
13348         * gnat_rm.texi: Remove RCS version number.
13349
13350         * ada-tree.h (union lang_tree_node): Add chain_next option.
13351
13352 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
13353
13354         * Make-lang.in (ada.install-info, ada.install-common,
13355         ada.uninstall): Prepend $(DESTDIR) to the destination
13356         directory in all (un)installation commands.
13357         * Makefile.in (install-gnatlib, install-rts): Ditto.
13358
13359 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
13360
13361         * gnat_rm.texi, gnat_ug.texi: Use @copying.
13362         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13363         gnat_ug_wnt.texi: Regenerate.
13364
13365 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
13366
13367         * gnat_rm.texi: Include gcc-common.texi.  Use GCC version number
13368         only.
13369         * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
13370         $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
13371         $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
13372         ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
13373         ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
13374         $(srcdir)/doc/include/gcc-common.texi.
13375
13376 2002-12-15   Geert Bosch <bosch@gnat.com>
13377
13378         * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
13379
13380 2002-12-14   Geert Bosch <bosch@gnat.com>
13381
13382         * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
13383         case of a body created for a Renaming_As_Body, on which
13384         conformance checks are not performed. Fixes PR ada/5690.
13385
13386 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
13387
13388         * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
13389         utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
13390         not already included.
13391         * Make-lang.in: Update dependencies.
13392
13393 2002-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
13394         * adaint.c (__gnat_tmp_name): Better, but good enough for now,
13395         solution to buffer overflow bug on GNU/Linux.
13396
13397 2002-11-14  Nathanael Nerode  <neroden@gcc.gnu.org>
13398         Closes PR ada/5856 and PR ada/6919 !
13399         * bindgen.adb: Remove all references to Public_Version.
13400         * comperr.adb: Remove all references to Public_Version and
13401         GNATPRO_Version; correct bug reporting instructions.
13402         * comperr.ads: Change to match bug box.
13403         * gnatvsn.ads: Remove all references to Public version and
13404         GNATPRO version.
13405
13406 2002-11-13  Nathanael Nerode  <neroden@gcc.gnu.org>
13407         PR ada/6919
13408         * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
13409         GNU/Linux.
13410
13411         PR ada/6558
13412         * config-lang.in: Remove diff_excludes.
13413
13414 2002-11-05  Graham Stott  <graham.stott@btinternet.com>
13415         PR ada/8358
13416         * trans.c (gnu_pending_elaboration_lists): New GC root.
13417         (build_unit_elab): Use..
13418
13419 2002-10-30   Geert Bosch <bosch@gnat.com>
13420         PR ada/6558
13421         * misc.c : Include optabs.h
13422
13423         * Make-lang.in (misc.o): Add dependency on optabs.h
13424
13425 2002-10-29   Geert Bosch <bosch@gnat.com>
13426         PR ada/6558
13427         * Make-lang.in (gnatbind): Depend on CONFIG_H
13428
13429 2002-10-29  Geert bosch  <bosch@gnat.com>
13430         PR ada/6558
13431         * misc.c: Unrevert misc.c (1.13)
13432
13433 2002-10-28  Nathanael Nerode  <neroden@gcc.gnu.org>
13434
13435         * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
13436         maintainership comments.
13437
13438 2002-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
13439         PR ada/5904
13440         * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
13441         5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
13442         5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
13443         7staprop.adb: Correct statements in comments about
13444         maintainership of GNAT.
13445
13446         PR ada/5904
13447         * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
13448         gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
13449         osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
13450         osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
13451         s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
13452         s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
13453         sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
13454         switch-c.ads switch-m.adb switch-m.ads: Correct statements in
13455         comments about maintainership of GNAT.
13456
13457         PR ada/6919 (forward port of patch for PR ada/5904)
13458         * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
13459         4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
13460         4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
13461         4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
13462         4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
13463         4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
13464         4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
13465         52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
13466         5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
13467         5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
13468         5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
13469         5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
13470         5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
13471         5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
13472         5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
13473         5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
13474         5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
13475         5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
13476         5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
13477         5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
13478         5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
13479         5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
13480         5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
13481         5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
13482         5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
13483         5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
13484         5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
13485         5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
13486         7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
13487         a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
13488         a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
13489         a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
13490         a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
13491         a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
13492         a-except.adb a-except.ads a-excpol.adb a-exctra.adb
13493         a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
13494         a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
13495         a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
13496         a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
13497         a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
13498         a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
13499         a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
13500         a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
13501         a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
13502         a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
13503         a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
13504         a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
13505         a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
13506         a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
13507         a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
13508         a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
13509         a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
13510         a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
13511         a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
13512         a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
13513         a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
13514         a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
13515         a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
13516         a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
13517         a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
13518         a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
13519         a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
13520         a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
13521         a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
13522         a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
13523         a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
13524         a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
13525         a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
13526         adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
13527         alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
13528         back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
13529         binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
13530         bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
13531         ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
13532         csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
13533         cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
13534         debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
13535         einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
13536         errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
13537         exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
13538         exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
13539         exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
13540         exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
13541         exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
13542         exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
13543         exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
13544         exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
13545         exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
13546         exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
13547         exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
13548         exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
13549         exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
13550         final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
13551         fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
13552         freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
13553         g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
13554         g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
13555         gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
13556         gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
13557         gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
13558         gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
13559         gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
13560         gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
13561         i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
13562         i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
13563         i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
13564         i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
13565         impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
13566         itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
13567         lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
13568         lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
13569         lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
13570         lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
13571         makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
13572         namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
13573         nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
13574         osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
13575         par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
13576         par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
13577         par-endh.adb par-labl.adb par-load.adb par-prag.adb
13578         par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
13579         prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
13580         prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
13581         prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
13582         prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
13583         prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
13584         prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
13585         repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
13586         rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
13587         s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
13588         s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
13589         s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
13590         s-direio.adb s-direio.ads s-except.ads s-exctab.adb
13591         s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
13592         s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
13593         s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
13594         s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
13595         s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
13596         s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
13597         s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
13598         s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
13599         s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
13600         s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
13601         s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
13602         s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
13603         s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
13604         s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
13605         s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
13606         s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
13607         s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
13608         s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
13609         s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
13610         s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
13611         s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
13612         s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
13613         s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
13614         s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
13615         s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
13616         s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
13617         s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
13618         s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
13619         s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
13620         s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
13621         s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
13622         s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
13623         s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
13624         s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
13625         s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
13626         s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
13627         s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
13628         s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
13629         s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
13630         s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
13631         s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
13632         s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
13633         s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
13634         s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
13635         s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
13636         s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
13637         s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
13638         s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
13639         s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
13640         s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
13641         s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
13642         s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
13643         s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
13644         s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
13645         s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
13646         s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
13647         s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
13648         s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
13649         s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
13650         s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
13651         s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
13652         s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
13653         s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
13654         s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
13655         s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
13656         s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
13657         s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
13658         s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
13659         s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
13660         s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
13661         s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
13662         s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
13663         s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
13664         s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
13665         s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
13666         s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
13667         s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
13668         s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
13669         scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
13670         sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
13671         sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
13672         sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
13673         sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
13674         sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
13675         sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
13676         sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
13677         sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
13678         sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
13679         sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
13680         sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
13681         sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
13682         sem_type.adb sem_type.ads sem_util.adb sem_util.ads
13683         sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
13684         sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
13685         sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
13686         sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
13687         snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
13688         stringt.ads stringt.h style.adb style.ads stylesw.adb
13689         stylesw.ads switch.adb switch.ads sysdep.c system.ads
13690         table.adb table.ads targparm.adb targparm.ads targtyps.c
13691         tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
13692         tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
13693         treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
13694         types.adb types.ads types.h uintp.adb uintp.ads uintp.h
13695         uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
13696         usage.ads utils.c utils2.c validsw.adb validsw.ads
13697         widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
13698         xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
13699         xtreeprs.adb: Correct statements in comments about maintainership
13700         of GNAT.
13701
13702 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
13703
13704         * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
13705         * Makefile.in (TOOLS_LIBS): Add ../../version.o.
13706         * gnatvsn.ads: Gnat_Version_String is now a function.
13707         * gnatvsn.adb: New file.  When asked for Gnat_Version_String,
13708         copy the C version_string into a String and return it.
13709         * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
13710         gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
13711         Remove pragma Ident (Gnat_Version_String).  If this was the
13712         sole use of package Gnatvsn, remove the with statement too.
13713         * gnat1drv.adb: Tweak -gnatv output.
13714
13715 2002-09-17  Richard Henderson  <rth@redhat.com>
13716
13717         * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
13718         * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
13719         * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
13720         (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
13721         * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
13722         and real_2expN instead of a loop.
13723         * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
13724         (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
13725
13726 2002-08-25  Andre Leis <a.leis@gmx.net>
13727             David Billinghurst (David.Billinghurst@riotinto.com>
13728
13729         * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
13730
13731 2002-08-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13732
13733         * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
13734         Remove $(CONFIG_H) dependency.
13735
13736 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
13737
13738         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
13739
13740 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13741
13742         * adadecode.c (ada_demangle): Use xstrdup in lieu of
13743         xmalloc/strcpy.
13744         * misc.c (gnat_decode_option): Likewise.
13745
13746 2002-07-15  Florian Weimer  <fw@deneb.enyo.de>
13747
13748         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
13749         function approach did not work well because of a side effect (the
13750         function call could reallocate the table which was being indexed
13751         using its result). Fixes ada/4851. [RESURRECTED]
13752
13753 2002-07-01  Roger Sayle  <roger@eyesopen.com>
13754
13755         * ada/utils.c (builtin_function): Accept an additional parameter.
13756
13757 2002-06-28  Andreas Jaeger  <aj@suse.de>
13758
13759         PR ada/7144
13760         * Makefile.in: Fix typo in comment, patch by Adrian Knoth
13761         <adi@thur.de>.
13762
13763 2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13764
13765         * Makefile.in (SHELL): Set to @SHELL@.
13766
13767 2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13768
13769         * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
13770         array size calculation.
13771
13772 2002-06-04  Andreas Jaeger  <aj@suse.de>
13773
13774         * Make-lang.in (gnatbind): Readd rule that has been lost in last
13775         patch.
13776
13777 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
13778
13779         Merge from pch-branch:
13780
13781         * config-lang.in (gtfiles): Add ada-tree.h.
13782         * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
13783         (SET_TYPE_MODULUS): New.
13784         (SET_TYPE_INDEX): New.
13785         (SET_TYPE_DIGITS_VALUE): New.
13786         (SET_TYPE_RM_SIZE): New.
13787         (SET_TYPE_UNCONSTRAINED_ARRAY): New.
13788         (SET_TYPE_ADA_SIZE): New.
13789         (SET_TYPE_ACTUAL_BOUNDS): New.
13790         (SET_DECL_CONST_CORRESPONDING_VAR): New.
13791         (SET_DECL_ORIGINAL_FIELD): New.
13792         (TREE_LOOP_ID): Correct typo.
13793         * decl.c: Use new macros.
13794         * utils.c: Include debug.h, use new macros.
13795         * utils2.c: Use new macros.
13796
13797         * ada-tree.h: Update all macros for new tree description.
13798         (struct tree_loop_id): New.
13799         (union lang_tree_node): New.
13800         (struct lang_decl): New.
13801         (struct lang_type): New.
13802         * misc.c (gnat_mark_tree): Delete.
13803         (LANG_HOOKS_MARK_TREE): Delete.
13804         * trans.c (tree_transform): No longer any need to cast
13805         for TREE_LOOP_ID.
13806
13807         * utils.c (struct language_function): New dummy structure.
13808
13809         * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
13810         (misc.o): Likewise.
13811         (utils.o): Likewise; also gtype-ada.h.
13812         * Make-lang.in (gnat1): Add dependency on s-gtype.
13813         (gnatbind): Add dependency on $(CONFIG_H).
13814         * utils.c: Correct last #include.
13815         (stuct e_stack): Remove unnecessary 'static'.
13816         (mark_e_stack): Remove unused prototype.
13817
13818         * scn-nlit.adb: Remove whitespace after version number to
13819         keep lines under 80 chars.
13820         * snames.adb: Likewise.
13821         * treepr.ads: Likewise.
13822
13823         * Makefile.in (decl.o): Include gt-ada-<filename>.h.
13824         (misc.o): Likewise.
13825         (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
13826         * config-lang.in (gtfiles): New.
13827         * decl.c: Use gengtype for roots.
13828         * gigi.h: Use gengtype for roots.
13829         * trans.c: Use gengtype for roots.
13830         * utils.c: Use gengtype for roots, marking.  Include gtype-ada.h.
13831
13832 2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
13833
13834         * misc.c (gnat_init): Adjust setting of internal_error_function.
13835
13836 2002-06-01  Joseph S. Myers  <jsm28@cam.ac.uk>
13837
13838         * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
13839         * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13840         gnat_ug_wnt.texi: Regenerate.
13841
13842 2002-05-31  Florian Weimer  <fw@deneb.enyo.de>
13843
13844         * 5ntaprop.adb (with System.OS_Primitives): Remove.
13845
13846         * cstreams.c (max_path_len): Move from here ...
13847         * adaint.c (__gnat_max_path_len): ... to here.
13848         * adaint.c (__gnat_max_path_len): Declare.
13849         * g-dirope.adb (Max_Path): Adjust.
13850         * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
13851         * i-cstrea.ads (max_path_len): Adjust.
13852         * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
13853         * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
13854
13855         * Makefile.in, Make-lang.in: Documentation is now built in
13856         Make-lang.in.  Store Info and generated Texinfo files in the
13857         source directory.
13858         * gnat_ug.texi: Remove CVS keywords, correct version number.
13859         Set file name correctly.
13860
13861         * gnat_ug_*.texi: Add.
13862         * .cvsignore: Ignore generated Texinfo files.
13863
13864 2002-05-30  Zack Weinberg  <zack@codesourcery.com>
13865
13866         * ada.h: Add MI guard macro.
13867         (SUBTYPE): Define constants with an anonymous enum, not static
13868         const variables.
13869         (IN): Cast constants to appropriate type before use.
13870
13871 2002-05-26  Joseph S. Myers  <jsm28@cam.ac.uk>
13872
13873         * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
13874         (experimental)".
13875
13876 2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13877
13878         * Make-lang.in (CP, ECHO): Copy from Makefile.in.
13879         (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
13880         (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
13881         (ALL_ADA_CFLAGS): Likewise.
13882         (ADA_INCLUDES): Likewise.
13883         Adapt for new working dir.
13884         (GNATBIND): Use Makefile.in version.
13885         (.SUFFIXES): Copy from Makefile.in.
13886         (ada-warn): Define.
13887         (.adb.o, .ads.o): Copy from Makefile.in.
13888         Added $(OUTPUT_OPTION).
13889         (GNAT1_C_OBJS): Moved from Makefile.in.
13890         Prefix with ada subdir.
13891         (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
13892         (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
13893         Adapt for new working dir.
13894         (EXTRA_GNATBIND_OBJS): Likewise.
13895         (ADA_BACKEND): Moved from Makefile.in.
13896         Renamed to avoid conflict with global BACKEND.
13897         Use that one.
13898         (TARGET_ADA_SRCS): Moved from Makefile.in.
13899         (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
13900         Use ADA_BACKEND.
13901         (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
13902         (ada_extra_files): Moved from Makefile.in.
13903         Prefix with ada subdir.
13904         (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
13905         (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
13906         (ada/nmake.ads): Likewise.
13907         (update-sources): Moved from Makefile.in.
13908         Prefix with ada subdir.
13909         (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
13910         (ADA_TREE_H): Likewise.
13911         (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
13912         (ada/memtrack.o): Likewise.
13913         (ada/adadecode.o): Likewise.
13914         Update dependencies.
13915         (ada/adaint.o): New.
13916         (ada/argv.o): Moved from Makefile.in.
13917         Prefix with ada subdir.
13918         Update dependencies.
13919         (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
13920         (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
13921         (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
13922         Prefix with ada subdir.
13923         (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
13924         (GNAT DEPENDENCIES): Regenerate.
13925         * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
13926         toplevel Makefile.in.
13927         (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
13928         (TARGET_ADA_SRCS): Removed.
13929         (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
13930         (GNATBIND_OBJS): Likewise.
13931         (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
13932         (BACKEND): Removed.
13933         (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
13934         (TREE_H): Likewise.
13935         (ada_extra_files): Likewise.
13936         (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
13937         (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
13938         (update-sources): Likewise.
13939         (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
13940         (ADA_TREE_H): Likewise.
13941         (adadecoce.o): Likewise.
13942         (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
13943         (GNAT DEPENDENCIES): Likewise.
13944
13945 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13946
13947         * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
13948         * Makefile.in: Likewise.
13949
13950 2002-05-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13951
13952         * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
13953         Restore $(CONFIG_H) and prefix.o dependencies.
13954         (ada.stage[1-4]): Depend on stage?-start.
13955
13956         * Makefile.in (b_gnatb.c): Depend on interfac.o.
13957
13958 2002-05-02  Jim Wilson  <wilson@redhat.com>
13959
13960         * utils.c (finish_record_type): Change record_size to record_type.
13961
13962 2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13963
13964         * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
13965         (ALL_ADA_CFLAGS): Define.  Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
13966         ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
13967
13968 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
13969
13970         * misc.c (gnat_parse_file): Update.
13971
13972 2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
13973
13974         * misc.c (gnat_init): Don't set lang_attribute_common.
13975
13976 2002-04-21  Joseph S. Myers  <jsm28@cam.ac.uk>
13977
13978         * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
13979
13980 2002-04-21  Florian Weimer  <fw@deneb.enyo.de>
13981
13982         * gnat_ug.texi: New file.
13983
13984         * gnat_rm.texi: Do not include texiplus.texi.  Include fdl.texi
13985         instead of gfdl.texi
13986
13987         * xgnatug.adb, ug_words: New files.
13988
13989         * Makefile.in (doc, dvi): New targets.  Build gnat_ug_*,
13990         gnat_rm and gnat-style manuals.
13991
13992 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
13993
13994         * gigi.h (incomplete_type_error): Remove.
13995         * utils.c (incomplete_type_error): Remove.
13996
13997 2002-04-16  Mark Mitchell  <mark@codesourcery.com>
13998
13999         * trans.c (tree_transform): Add has_scope argument to
14000         expand_start_stmt_expr.
14001
14002 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
14003
14004         * gigi.h (truthvalue_conversion): Rename.
14005         * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
14006         * trans.c (tree_transform): Update.
14007         * utils2.c (truthvalue_conversion): Rename, update.
14008         (build_binary_op, build_unary_op): Update.
14009
14010 2002-04-04  Laurent Guerby  <guerby@acm.org>
14011
14012         * make.adb: Implement -margs, remove restriction about file name placement.
14013         * makeusg.adb: Documentation update.
14014         * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
14015         * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
14016
14017 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
14018
14019         * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
14020         (builtin_function): Similarly.
14021
14022 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
14023
14024         * decl.c (gnat_to_gnu_entity): Update.
14025         * gigi.h (mark_addressable): Rename.
14026         * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
14027         * trans.c (tree_transform): Update.
14028         * utils.c (create_var_decl): Update.
14029         * util2.c (build_binary_op, build_unary_op,
14030         fill_vms_descriptor): Update.
14031         (mark_addressable): Rename, update.
14032
14033 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
14034
14035         * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
14036         Rename.
14037         * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
14038         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
14039         * trans.c (tree_transform, convert_with_check): Update.
14040         * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
14041         Rename.
14042
14043 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
14044
14045         * gigi.h (finish_incomplete_decl): Rename.
14046         * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
14047         * utils.c (gnat_init_decl_processing): Don't set hook.
14048         (finish_incomplete_decl): Rename.
14049
14050 2002-03-29  Andreas Schwab  <schwab@suse.de>
14051
14052         * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
14053         directory.
14054
14055 2001-03-28  Robert Dewar <dewar@gnat.com>
14056
14057         * checks.ads:
14058         (Remove_Checks): New procedure
14059
14060         * checks.adb:
14061         (Remove_Checks): New procedure
14062
14063         * exp_util.adb:
14064         Use new Duplicate_Subexpr functions
14065         (Duplicate_Subexpr_No_Checks): New procedure
14066         (Duplicate_Subexpr_No_Checks_Orig): New procedure
14067         (Duplicate_Subexpr): Restore original form (checks duplicated)
14068         (Duplicate_Subexpr): Call Remove_Checks
14069
14070         * exp_util.ads:
14071         (Duplicate_Subexpr_No_Checks): New procedure
14072         (Duplicate_Subexpr_No_Checks_Orig): New procedure
14073         Add 2002 to copyright notice
14074
14075         * sem_util.adb: Use new Duplicate_Subexpr functions
14076
14077         * sem_eval.adb:
14078         (Eval_Indexed_Component): This is the place to call
14079         Constant_Array_Ref and to replace the value. We simply merge
14080         the code of this function in here, since it is now no longer
14081         used elsewhere. This fixes the problem of the back end not
14082         realizing we were clever enough to see that this was
14083         constant.
14084         (Expr_Val): Remove call to Constant_Array_Ref
14085         (Expr_Rep_Val): Remove call to Constant_Array_Ref
14086         Minor reformatting
14087         (Constant_Array_Ref): Deal with string literals (patch
14088         suggested by Zack Weinberg on the gcc list)
14089
14090 2001-03-28  Ed Schonberg <schonber@gnat.com>
14091
14092         * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
14093         Duplicate_Subexpr_Move_Checks.
14094
14095         * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
14096         Duplicate_Subexpr_Move_Checks.
14097
14098         * sem_eval.adb: (Constant_Array_Ref): Verify that constant
14099         value of array exists before retrieving it (it may a private
14100         protected component in a function).
14101
14102 2002-03-28   Geert Bosch <bosch@gnat.com>
14103
14104         * prj-pp.adb : New file.
14105
14106         * prj-pp.ads : New file.
14107
14108 2002-03-28  Andreas Jaeger  <aj@suse.de>
14109
14110         * Makefile.in (stamp-sdefault): Fix path for Makefile.
14111
14112 2002-03-28  Neil Booth  <neil@daikokuya.demon.co.uk>
14113
14114         * misc.c (gnat_expand_expr): Move prototype.
14115
14116 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
14117
14118         * misc.c (insert_default_attributes): Remove.
14119
14120 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
14121
14122         * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
14123         (gnat_init): Don't set hook.
14124         (gnat_expand_expr): Fix prototype.
14125
14126 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
14127
14128         * misc.c (ggc_p): Remove.
14129
14130 2002-03-27  Geert Bosch  <bosch@gnat.com>
14131
14132         * prj-makr.ads, prj-makr.adb : New files.
14133
14134 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
14135
14136         * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
14137         (lang_mark_tree): Make static, rename.
14138
14139 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
14140
14141         * misc.c (maybe_build_cleanup): Remove.
14142
14143 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
14144
14145         * gigi.h (yyparse): Remove.
14146
14147 2002-03-23  Florian Weimer  <fw@deneb.enyo.de>
14148
14149         * gnat_rm.texi: Sync with ACT version.
14150           (From Ben Brosgol <brosgol@gnat.com>)
14151
14152 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
14153
14154         * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
14155         (gnat_init): Remove old hook.
14156
14157 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
14158
14159         * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
14160         (yyparse): Rename gnat_parse_file.
14161
14162 2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
14163
14164         Delete all lines containing "$Revision:".
14165         * xeinfo.adb: Don't look for revision numbers.
14166         * xnmake.adb: Likewise.
14167         * xsinfo.adb: Likewise.
14168         * xsnames.adb: Likewise.
14169         * xtreeprs.adb: Likewise.
14170
14171 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14172
14173         * misc.c (gnat_tree_code_type, gnat_tree_code_length,
14174         gnat_tree_code_name): Delete.
14175         (tree_code_type, tree_code_length, tree_code_name): Define.
14176         (gnat_init): Don't try to copy into the various tree_code
14177         arrays.
14178
14179 2002-03-11  Richard Henderson  <rth@redhat.com>
14180
14181         * Makefile.in (.NOTPARALLEL): Add fake tag.
14182
14183 2002-03-07  Geert Bosch  <bosch@gnat.com>
14184
14185         * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
14186         s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
14187         switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
14188         switch-m.adb, switch-m.ads : New files.
14189
14190 2002-03-07  Geert Bosch  <bosch@gnat.com>
14191
14192         * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
14193         4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
14194         4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
14195         4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
14196         5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
14197         5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
14198         5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
14199         5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
14200         5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
14201         5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
14202         5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
14203         5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
14204         5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
14205         5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
14206         5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
14207         5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
14208         5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
14209         5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
14210         5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
14211         5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
14212         7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
14213         Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
14214         a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
14215         a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
14216         a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
14217         a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
14218         a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
14219         a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
14220         a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
14221         adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
14222         atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
14223         bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
14224         csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
14225         einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
14226         eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
14227         exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
14228         exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
14229         exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
14230         exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
14231         exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
14232         expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
14233         freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
14234         g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
14235         g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
14236         g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
14237         g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
14238         g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
14239         g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
14240         gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
14241         gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
14242         gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
14243         i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
14244         impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
14245         lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
14246         lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
14247         memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
14248         mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
14249         nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
14250         output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
14251         par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
14252         prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
14253         prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
14254         prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
14255         rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
14256         s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
14257         s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
14258         s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
14259         s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
14260         s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
14261         s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
14262         s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
14263         s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
14264         s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
14265         s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
14266         s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
14267         s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
14268         s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
14269         s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
14270         s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
14271         sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
14272         sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
14273         sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
14274         sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
14275         sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
14276         sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
14277         sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
14278         sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
14279         sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
14280         sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
14281         snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
14282         stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
14283         table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
14284         tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
14285         treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
14286         types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
14287         utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
14288         xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
14289
14290         * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
14291         g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
14292         mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
14293         osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
14294
14295         * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
14296         5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
14297
14298         * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
14299         to mdll-fil.ad[bs] and mdll-util.ad[bs]
14300
14301         * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
14302         from mdllfile.ad[bs] and mdlltool.ad[bs]
14303
14304 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14305
14306         * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
14307         lieu of explicit sizeof/sizeof.
14308
14309 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
14310
14311         * misc.c (copy_lang_decl): Remove.
14312
14313 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
14314
14315         * misc.c: Delete traditional-mode-related code copied from the
14316         C front end but not used, or used only to permit the compiler
14317         to link.
14318
14319 2002-02-07  Richard Henderson  <rth@redhat.com>
14320
14321         * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
14322         * adaint.h (__gnat_to_gm_time): Update prototype.
14323
14324 2002-01-30  Richard Henderson  <rth@redhat.com>
14325
14326         * trans.c (tree_transform) [N_Loop_Statement]: Use
14327         expand_exit_loop_top_cond.
14328
14329 2001-12-23  Richard Henderson  <rth@redhat.com>
14330
14331         * utils.c (end_subprog_body): Push GC context around
14332         rest_of_compilation for nested functions.
14333
14334 2001-12-23  Richard Henderson  <rth@redhat.com>
14335
14336         * 5nosinte.ads: Get definition of "int" from Interfaces.C.
14337
14338 2001-12-23  Florian Weimer  <fw@deneb.enyo.de>
14339
14340         * gnat-style.texi (Declarations and Types): Remove ancient style
14341         rule which was mandated by code generation issues.
14342
14343         * gnat-style.texi (header): Add @dircategory, @direntry.
14344         (title page): Remove date.
14345         (general) Add @./@: where approriate, and two spaces after the
14346         full stop at the end of a sentence.  Use @samp markup when
14347         referring concrete lexical entities (keywords, attribute names
14348         etc.), and @syntax for ARM grammar elements. Use @r for English
14349         text in comments.  Use @emph for emphasis.  Change "if-statements"
14350         etc. to "if statements" (without @samp). Break long lines.  Make
14351         casing of section names consistent.
14352         (Identifiers): Use @samp markup for variable names.
14353         (Comments): Use @samp markup for comment characters. Line-end
14354         comments may follow any Ada code, not just statements.  Fix
14355         misspelling of "Integer" as "integer".
14356         (Loop statements): Do not use variable name "I", use "J".
14357         (Subprogram Declarations): Document alignment.
14358         (Subprogram Bodies, Block statements): Document empty line before
14359         "begin".
14360
14361 2001-12-22  Florian Weimer  <fw@deneb.enyo.de>
14362
14363         * make.adb (Add_Switch): Make Generic_Position a procedure.  The
14364         function approach did not work well because of a side effect (the
14365         function call could reallocate the table which was being indexed
14366         using its result). Fixes ada/4851.
14367
14368 2001-12-19  Robert Dewar <dewar@gnat.com>
14369
14370         * bindgen.adb: Minor reformatting
14371
14372         * cstand.adb: Minor reformatting
14373
14374         * fmap.adb: Minor reformatting
14375         Change name from Add for Add_To_File_Map (Add is much too generic)
14376         Change Path_Name_Of to Mapped_Path_Name
14377         Change File_Name_Of to Mapped_File_Name
14378         Fix copyright dates in header
14379
14380         * fmap.ads:
14381         Change name from Add for Add_To_File_Map (Add is much too generic)
14382         Change Path_Name_Of to Mapped_Path_Name
14383         Change File_Name_Of to Mapped_File_Name
14384         Fix copyright dates in header
14385
14386         * fname-uf.adb: Minor reformatting.  New names of stuff in Fmap.
14387         Add use clause for Fmap.
14388
14389         * make.adb: Minor reformatting
14390
14391         * osint.adb: Minor reformatting.  Change of names in Fmap.
14392         Add use clause for Fmap.
14393
14394         * prj-env.adb: Minor reformatting
14395
14396         * prj-env.ads: Minor reformatting
14397
14398         * switch.adb: Minor reformatting.  Do proper raise of Bad_Switch if
14399         error found (there were odd exceptions to this general rule in
14400         -gnatec/-gnatem processing)
14401
14402 2001-12-19  Olivier Hainque <hainque@gnat.com>
14403
14404         * raise.c (__gnat_eh_personality): Exception handling personality
14405         routine for Ada.  Still in rough state, inspired from the C++ version
14406         and still containing a bunch of debugging artifacts.
14407         (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
14408         inspired from the C++ library.
14409
14410         * raise.c (eh_personality): Add comments. Part of work for the GCC 3
14411         exception handling integration.
14412
14413 2001-12-19  Arnaud Charlet <charlet@gnat.com>
14414
14415         * Makefile.in: Remove use of 5smastop.adb which is obsolete.
14416         (HIE_SOURCES): Add s-secsta.ad{s,b}.
14417         (HIE_OBJS): Add s-fat*.o
14418         (RAVEN_SOURCES): Remove files that are no longer required. Add
14419         interrupt handling files.
14420         (RAVEN_MOD): Removed, no longer needed.
14421
14422 2001-12-19  Robert Dewar <dewar@gnat.com>
14423
14424         * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
14425         Add 2001 to copyright date
14426
14427         * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
14428         need to force universal inlining for these cases.
14429
14430 2001-12-19  Arnaud Charlet <charlet@gnat.com>
14431
14432         * s-taprob.adb: Minor clean ups so that this unit can be used in
14433         Ravenscar HI.
14434
14435         * exp_ch7.adb: Allow use of secondary stack in HI mode.
14436         Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
14437
14438 2001-12-19  Vincent Celier <celier@gnat.com>
14439
14440         * prj-tree.ads (Project_Node_Record): Add comments for components
14441         Pkg_Id and Case_Insensitive.
14442
14443 2001-12-19  Pascal Obry <obry@gnat.com>
14444
14445         * g-socket.adb: Minor reformatting. Found while reading code.
14446
14447 2001-12-19  Robert Dewar <dewar@gnat.com>
14448
14449         * prj-tree.ads: Minor reformatting
14450
14451 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
14452
14453         * config-lang.in (diff_excludes): Remove.
14454
14455 2001-12-17  Ed Schonberg <schonber@gnat.com>
14456
14457         * sem_res.adb (Resolve_Selected_Component): do not generate a
14458         discriminant check if the selected component is a component of
14459         the argument of an initialization procedure.
14460
14461         * trans.c (tree_transform, case of arithmetic operators): If result
14462         type is private, the gnu_type is the base type of the full view,
14463         given that the full view itself may be a subtype.
14464
14465 2001-12-17  Robert Dewar <dewar@gnat.com>
14466
14467         * sem_res.adb: Minor reformatting
14468
14469         * trans.c (tree_transform, case N_Real_Literal): Add missing third
14470         parameter in call to Machine (unknown horrible effects from this
14471         omission).
14472
14473         * urealp.h: Add definition of Round_Even for call to Machine
14474         Add third parameter for Machine
14475
14476 2001-12-17  Ed Schonberg <schonber@gnat.com>
14477
14478         * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
14479         predefined units in No_Run_Time mode.
14480
14481 2001-12-17  Richard Kenner <kenner@gnat.com>
14482
14483         * misc.c (insn-codes.h): Now include.
14484
14485 2001-12-17  Olivier Hainque <hainque@gnat.com>
14486
14487         * a-except.adb: Preparation work for future integration of the GCC 3
14488         exception handling mechanism
14489         (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
14490         to factorize previous code sequences and make them externally callable,
14491         e.g. for the Ada personality routine when the GCC 3 mechanism is used.
14492         (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
14493         Use the new notification routines.
14494
14495 2001-12-17  Emmanuel Briot <briot@gnat.com>
14496
14497         * prj-tree.ads (First_Choice_Of): Document the when others case
14498
14499 2001-12-17  Arnaud Charlet <charlet@gnat.com>
14500
14501         * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
14502         HI-E mode, in order to support Ravenscar profile properly.
14503
14504         * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
14505         mode on 32 bits targets.
14506
14507 2001-12-17  Vincent Celier <celier@gnat.com>
14508
14509         * fmap.adb: Initial version.
14510
14511         * fmap.ads: Initial version.
14512
14513         * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
14514         If search is successfully done, add to mapping.
14515
14516         * frontend.adb: Initialize the mapping if a -gnatem switch was used.
14517
14518         * make.adb:
14519         (Gnatmake): Add new local variable Mapping_File_Name.
14520          Create mapping file when using project file(s).
14521          Delete mapping file before exiting.
14522
14523         * opt.ads (Mapping_File_Name): New variable
14524
14525         * osint.adb (Find_File): Use path name found in mapping, if any.
14526
14527         * prj-env.adb (Create_Mapping_File): New procedure
14528
14529         * prj-env.ads (Create_Mapping_File): New procedure.
14530
14531         * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
14532         (Mapping_File)
14533
14534         * usage.adb: Add entry for new switch -gnatem.
14535
14536         * Makefile.in: Add dependencies for fmap.o.
14537
14538 2001-12-17  Ed Schonberg <schonber@gnat.com>
14539
14540         * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
14541         is a package instantiation rewritten as a package body.
14542         (Install_Withed_Unit): Undo previous change, now redundant.
14543
14544 2001-12-17  Gary Dismukes <dismukes@gnat.com>
14545
14546         * layout.adb:
14547         (Compute_Length): Move conversion to Unsigned to callers.
14548         (Get_Max_Size): Convert Len expression to Unsigned after calls to
14549         Compute_Length and Determine_Range.
14550         (Layout_Array_Type): Convert Len expression to Unsigned after calls to
14551         Compute_Length and Determine_Range.
14552         Above changes fix problem with length computation for supernull arrays
14553         where Max (Len, 0) wasn't getting applied due to the Unsigned
14554         conversion used by Compute_Length.
14555
14556 2001-12-17  Arnaud Charlet <charlet@gnat.com>
14557
14558         * rtsfind.ads:
14559         (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
14560          System.Secondary_Stack.
14561         (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
14562          in HI-E mode.
14563         Remove unused entity RE_Exception_Data.
14564
14565         * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
14566
14567         * rident.ads (No_Secondary_Stack): New restriction.
14568
14569 2001-12-17  Joel Brobecker <brobecke@gnat.com>
14570
14571         * gnat_rm.texi: Fix minor typos. Found while reading the section
14572         regarding "Bit_Order Clauses" that was sent to a customer.
14573         Very interesting documentation!
14574
14575 2001-12-17  Robert Dewar <dewar@gnat.com>
14576
14577         * sem_case.adb (Choice_Image): Avoid creating improper character
14578         literal names by using the routine Set_Character_Literal_Name. This
14579         fixes bombs in certain error message cases.
14580
14581 2001-12-17  Arnaud Charlet <charlet@gnat.com>
14582
14583         * a-reatim.adb: Minor reformatting.
14584
14585 2001-12-17  Ed Schonberg <schonber@gnat.com>
14586
14587         * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
14588         case where the formal is an extension of another formal in the current
14589         unit or in a parent generic unit.
14590
14591 2001-12-17  Arnaud Charlet <charlet@gnat.com>
14592
14593         * s-tposen.adb: Update comments.  Minor reformatting.
14594         Minor code clean up.
14595
14596         * s-tarest.adb: Update comments.  Minor code reorganization.
14597
14598 2001-12-17  Gary Dismukes <dismukes@gnat.com>
14599
14600         * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
14601         when Java_VM.
14602
14603 2001-12-17  Robert Dewar <dewar@gnat.com>
14604
14605         * exp_attr.adb: Minor reformatting
14606
14607 2001-12-17  Ed Schonberg <schonber@gnat.com>
14608
14609         * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
14610         derivations nested within a child unit: verify that the parent
14611         type is declared in an outer scope.
14612
14613 2001-12-17  Robert Dewar <dewar@gnat.com>
14614
14615         * sem_ch12.adb: Minor reformatting
14616
14617 2001-12-17  Ed Schonberg <schonber@gnat.com>
14618
14619         * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
14620         warning if current unit is a predefined one, from which bodies may
14621         have been deleted.
14622
14623 2001-12-17  Robert Dewar <dewar@gnat.com>
14624
14625         * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
14626         Fix header format. Add 2001 to copyright date.
14627
14628         * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
14629         which caused CE during compilation if checks were enabled.
14630
14631 2001-12-17  Vincent Celier <celier@gnat.com>
14632
14633         * make.adb:
14634         (Switches_Of): New function
14635         (Test_If_Relative_Path): New procedure
14636         (Add_Switches): Use new function Switches_Of
14637         (Collect_Arguments_And_Compile): Use new function Switches_Of.
14638         When using a project file, test if there are any relative
14639         search path. Fail if there are any.
14640         (Gnatmake): Only add switches for the primary directory when not using
14641         a project file. When using a project file, change directory to the
14642         object directory of the main project file. When using a project file,
14643         test if there are any relative search path. Fail if there are any.
14644         When using a project file, fail if specified executable is relative
14645         path with directory information, and prepend executable, if not
14646         specified as an absolute path, with the exec directory.  Make sure
14647         that only one -o switch is transmitted to the linker.
14648
14649         * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
14650
14651         * prj-nmsc.adb:
14652         (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
14653         when using a non standard naming scheme.
14654         (Check_Ada_Naming_Scheme): Make sure that error messages
14655         do not raise exceptions.
14656         (Is_Illegal_Append): Return True if there is no dot in the suffix.
14657         (Language_Independent_Check): Check the exec directory.
14658
14659         * prj.adb (Project_Empty): Add new component Exec_Directory
14660
14661         * prj.ads:
14662         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
14663         (Project_Data): Add component Exec_Directory
14664
14665         * snames.adb: Updated to match snames.ads revision 1.215
14666
14667         * snames.ads: Added Exec_Dir
14668
14669 2001-12-17  Robert Dewar <dewar@gnat.com>
14670
14671         * make.adb: Minor reformatting
14672
14673         * prj-nmsc.adb: Minor reformatting
14674
14675         * snames.adb: Updated to match snames.ads
14676
14677         * snames.ads: Alphebetize entries for project file
14678
14679 2001-12-17  Ed Schonberg <schonber@gnat.com>
14680
14681         * trans.c (process_freeze_entity): Do nothing if the entity is a
14682         subprogram that was already elaborated.
14683
14684 2001-12-17  Richard Kenner <kenner@gnat.com>
14685
14686         * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
14687         and Esize if object is referenced via pointer.
14688
14689 2001-12-17  Ed Schonberg <schonber@gnat.com>
14690
14691         * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
14692         is discrete before analyzing choices.
14693
14694 2001-12-17  Joel Brobecker <brobecke@gnat.com>
14695
14696         * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
14697         containing the name of the Ada Main Program. This string is mainly
14698         intended for the debugger.
14699         (Gen_Output_File_C): Do the equivalent change when generating a C file.
14700
14701 2001-12-17  Robert Dewar <dewar@gnat.com>
14702
14703         * ali.adb: Set new Dummy_Entry field in dependency entry
14704
14705         * ali.ads: Add Dummy_Entry field to source dependency table
14706
14707         * bcheck.adb (Check_Consistency): Ignore dummy D lines
14708
14709         * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
14710
14711         * lib-writ.ads: Document dummy D lines for missing files.
14712
14713         * types.ads: (Dummy_Time_Stamp): New value for non-existant files
14714
14715 2001-12-17  Robert Dewar <dewar@gnat.com>
14716
14717         * ali.adb: Type reference does not reset current file.
14718
14719         * ali.adb: Recognize and scan renaming reference
14720
14721         * ali.ads: Add spec for storing renaming references.
14722
14723         * lib-xref.ads: Add documentation for handling of renaming references
14724
14725         * lib-xref.adb: Implement output of renaming reference.
14726
14727         * checks.adb:
14728         (Determine_Range): Document local variables
14729         (Determine_Range): Make sure Hbound is initialized. It looks as though
14730          there could be a real problem here with an uninitialized reference
14731          to Hbound, but no actual example of failure has been found.
14732
14733 2001-12-17  Laurent Pautet <pautet@gnat.com>
14734
14735         * g-socket.ads:
14736         Fix comment of Shutdown_Socket and Close_Socket. These functions
14737         should not fail silently because if they are called twice, this
14738         probably means that there is a race condition in the user program.
14739         Anyway, this behaviour is consistent with the rest of this unit.
14740         When an error occurs, an exception is raised with the error message
14741         as exception message.
14742
14743 2001-12-17  Robert Dewar <dewar@gnat.com>
14744
14745         * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
14746         that it happens before modification of Sloc values for -gnatD.
14747
14748         * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
14749         so that it happens before modification of Sloc values for -gnatD.
14750
14751         * switch.adb: Minor reformatting
14752
14753 2001-12-15  Richard Henderson  <rth@redhat.com>
14754
14755         * sem_ch7.adb: Wrap comment.
14756
14757 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
14758
14759         * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
14760         5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
14761         5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
14762         5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
14763         5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
14764         7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
14765         a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
14766         a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
14767         cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
14768         exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
14769         exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
14770         g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
14771         gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
14772         make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
14773         par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
14774         repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
14775         s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
14776         s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
14777         s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
14778         s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
14779         sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
14780         sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
14781         sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
14782         sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
14783         spelling errors.
14784
14785 2001-12-14  Vincent Celier <celier@gnat.com>
14786
14787         * osint.adb(Create_Debug_File): When an object file is specified,
14788         put the .dg file in the same directory as the object file.
14789
14790 2001-12-14  Robert Dewar <dewar@gnat.com>
14791
14792         * osint.adb: Minor reformatting
14793
14794         * lib-xref.adb (Output_Instantiation): New procedure to generate
14795         instantiation references.
14796
14797         * lib-xref.ads: Add documentation of handling of generic references.
14798
14799         * ali.adb (Read_Instantiation_Ref): New procedure to read
14800         instantiation references
14801
14802         * ali.ads: Add spec for storing instantiation references
14803
14804         * bindusg.adb: Minor reformatting
14805
14806         * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
14807
14808         * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
14809
14810         * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
14811
14812         * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
14813
14814         * csets.ads:
14815         Fix header format
14816         Add 2001 to copyright date
14817         Add entry for Latin-5 (Cyrillic ISO-8859-5)
14818
14819 2001-12-14  Matt Gingell <gingell@gnat.com>
14820
14821         * adaint.c: mktemp is a macro on Lynx and can not be used as an
14822         expression.
14823
14824 2001-12-14  Richard Kenner <kenner@gnat.com>
14825
14826         * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
14827         if operand is CONSTRUCTOR.
14828
14829 2001-12-14  Ed Schonberg <schonber@gnat.com>
14830
14831         * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
14832         before emiting check on right-hand side, so that exception information
14833         is correct.
14834
14835 2001-12-14  Richard Kenner <kenner@gnat.com>
14836
14837         * utils.c (create_var_decl): Throw away initializing expression
14838         if just annotating types and non-constant.
14839
14840 2001-12-14  Vincent Celier <celier@gnat.com>
14841
14842         * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
14843         Default_Ada_...
14844
14845         * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
14846         Remove functions.
14847         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
14848
14849         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
14850         Remove functions.
14851         (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
14852
14853 2001-12-16  Joseph S. Myers  <jsm28@cam.ac.uk>
14854
14855         * ChangeLog: Remove piece of diff output.
14856
14857 2001-12-14  Geert Bosch <bosch@gnat.com>
14858
14859         * config-lang.in: Update copyright notice
14860
14861         * layout.adb: Remove commented out code.
14862
14863         * mdllfile.ads: Update copyright notice. Fix header format.
14864
14865         * sem_case.ads: Likewise.
14866
14867         * sem_ch3.adb: Minor reformatting.
14868
14869 2001-12-12  Geert Bosch <bosch@gnat.com>
14870
14871         * freeze.ads: Update copyright date.
14872
14873         * g-comlin.ads: Minor reformatting.
14874
14875         * gnat-style.texi: Fix typo.
14876
14877 2001-12-12  Geert Bosch <bosch@gnat.com>
14878
14879         *  einfo.h: Regenerate.
14880
14881 2001-12-12  Ed Schonberg <schonber@gnat.com>
14882
14883         * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
14884         on known node types, rather than untyped fields. Further cleanups.
14885
14886 2001-12-12  Robert Dewar <dewar@gnat.com>
14887
14888         * sem_ch12.adb:
14889         (Save_Entity_Descendant): Minor comment update.
14890         (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
14891          of an N_Attribute_Reference node. As per note below, this does not
14892         eliminate need for Associated_Node in attribute ref nodes.
14893         (Associated_Node): Documentation explicitly mentions attribute
14894         reference nodes, since this field is used in such nodes.
14895
14896         * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
14897
14898 2001-12-12  Robert Dewar <dewar@gnat.com>
14899
14900         * s-stalib.adb: Add more comments on with statements being needed
14901
14902         * par-ch12.adb: Minor reformatting
14903
14904         * prj-dect.ads: Fix copyright header
14905
14906         * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
14907         inputs fit in 32 bits, but the result still overflows.
14908
14909         * s-fatgen.ads: Minor comment improvement
14910
14911 2001-12-12  Ed Schonberg <schonber@gnat.com>
14912
14913         * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
14914         formal derived type, look for an inherited component from the full
14915         view of the parent, if any.
14916
14917 2001-12-12  Robert Dewar <dewar@gnat.com>
14918
14919         * checks.ads (Apply_Alignment_Check): New procedure.
14920
14921         * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
14922         ensure that the alignment of objects with address clauses is
14923         appropriate, and raise PE if not.
14924
14925         * exp_util.ads (Must_Be_Aligned): Removed, replaced by
14926         Exp_Pakd.Known_Aligned_Enough
14927
14928         * mdllfile.ads: Minor reformatting
14929
14930         * mlib-fil.ads: Minor reformatting
14931
14932 2001-12-12  Ed Schonberg <schonber@gnat.com>
14933
14934         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
14935         fix to any component reference if enclosing record has non-standard
14936         representation.
14937
14938 2001-12-12  Vincent Celier <celier@gnat.com>
14939
14940         * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
14941         Iteration
14942
14943 2001-12-12  Ed Schonberg <schonber@gnat.com>
14944
14945         * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
14946         sem_attr.
14947
14948 2001-12-12  Robert Dewar <dewar@gnat.com>
14949
14950         * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
14951
14952 2001-12-12  Emmanuel Briot <briot@gnat.com>
14953
14954         * g-regexp.adb: Remove all debug code, since it isn't required anymore,
14955         and it adds dependencies to system.io.
14956
14957 2001-12-12  Pascal Obry <obry@gnat.com>
14958
14959         * g-dirope.adb (Expand_Path.Var): Correctly detect end of
14960         variable name.
14961
14962 2001-12-11  Ed Schonberg <schonber@gnat.com>
14963
14964         * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
14965         that is the parent of other generics, the instance body replaces the
14966         instance node.  Retrieve the instance of the spec, which is the one
14967         that is visible in clients and within the body.
14968
14969 2001-12-11  Vincent Celier <celier@gnat.com>
14970
14971         * gnatmain.adb: Initial version.
14972
14973         * gnatmain.ads: Initial version.
14974
14975         * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
14976
14977         * snames.adb: Updated to match snames.ads.
14978
14979         * snames.ads: Added Gnatstub.
14980
14981 2001-12-11  Vincent Celier <celier@gnat.com>
14982
14983         * prj-attr.adb (Initialization_Data): Change name from
14984         Initialisation_Data.
14985
14986 2001-12-11  Emmanuel Briot <briot@gnat.com>
14987
14988         * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
14989         + and * applied to backslashed expressions like \r.
14990
14991 2001-12-11  Vasiliy Fofanov <fofanov@gnat.com>
14992
14993         * g-os_lib.ads: String_List type added, Argument_List type is now
14994         subtype of String_List.
14995
14996 2001-12-11  Robert Dewar <dewar@gnat.com>
14997
14998         * g-os_lib.ads: Change copyright to FSF
14999         Add comments for String_List type
15000
15001 2001-12-11  Vincent Celier <celier@gnat.com>
15002
15003         * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
15004         string to the buffer).
15005
15006 2001-12-11  Ed Schonberg <schonber@gnat.com>
15007
15008         * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
15009         sem_attr.
15010
15011         * sem_attr.adb: Simplify previous fix for Address.
15012         (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
15013         to avoid anomalies where the bound of the type appears to raise
15014         constraint error.
15015
15016 2001-12-11  Robert Dewar <dewar@gnat.com>
15017
15018         * lib-xref.adb (Output_Refs): Make sure pointers are always properly
15019         handled.
15020
15021 2001-12-11  Ed Schonberg <schonber@gnat.com>
15022
15023         * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
15024         renamed unit before checking for recursive instantiations.
15025
15026 2001-12-11  Emmanuel Briot <briot@gnat.com>
15027
15028         * prj.ads: Add comments for some of the fields.
15029
15030 2001-12-11  Robert Dewar <dewar@gnat.com>
15031
15032         * lib-xref.adb (Output_Refs): Don't output type references outside
15033         the main unit if they are not otherwise referenced.
15034
15035 2001-12-11  Ed Schonberg <schonber@gnat.com>
15036
15037         * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
15038         code and diagnose additional illegal uses
15039
15040         * sem_util.adb (Is_Object_Reference): An indexed component is an
15041         object only if the prefix is.
15042
15043 2001-12-11  Vincent Celier <celier@gnat.com>
15044
15045         * g-diopit.adb: Initial version.
15046
15047         * g-diopit.ads: Initial version.
15048
15049         * g-dirope.adb:
15050         (Expand_Path): Avoid use of Unbounded_String
15051         (Find, Wildcard_Iterator): Moved to child package Iteration
15052
15053         * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
15054
15055 2001-12-11  Robert Dewar <dewar@gnat.com>
15056
15057         * sem_attr.adb: Minor reformatting
15058
15059 2001-12-11  Ed Schonberg <schonber@gnat.com>
15060
15061         * sem_ch3.adb: Clarify some ???.
15062
15063 2001-12-11  Robert Dewar <dewar@gnat.com>
15064
15065         * exp_util.adb (Must_Be_Aligned): Removed, replaced by
15066         Exp_Pakd.Known_Aligned_Enough
15067
15068         * sem_ch13.adb (Check_Address_Alignment): Removed, extended
15069         version is moved to Exp_Ch13.
15070
15071 2001-12-11  Robert Dewar <dewar@gnat.com>
15072
15073         * einfo.ads: Minor reformatting
15074
15075         * exp_ch5.adb: Add comment for previous.change
15076
15077         * ali.adb: New interface for extended typeref stuff.
15078
15079         * ali.ads: New interface for typeref stuff.
15080
15081         * checks.adb (Apply_Alignment_Check): New procedure.
15082
15083         * debug.adb: Add -gnatdM for modified ALI output
15084
15085         * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
15086
15087         * lib-xref.adb: Extend generation of <..> notation to cover
15088         subtype/object types. Note that this is a complete rewrite,
15089         getting rid of the very nasty quadratic algorithm previously
15090         used for derived type output.
15091
15092         * lib-xref.ads: Extend description of <..> notation to cover
15093         subtype/object types. Uses {..} for these other cases.
15094         Also use (..) for pointer types.
15095
15096         * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
15097
15098         * exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
15099         (Known_Aligned_Enough): Replaces Must_Be_Aligned.
15100
15101 2001-12-11  Vincent Celier <celier@gnat.com>
15102
15103         * gnatcmd.adb:
15104         Changed /COMPILE_ONLY to /ACTIONS=COMPILE
15105         Changed /BIND_ONLY to /ACTIONS=BIND
15106         Changed /LINK_ONLY to /ACTIONS=LINK
15107
15108 2001-12-11  Ed Schonberg  <schonber@gnat.com>
15109
15110         * sem_ch8.adb (Find_Selected_Component): improved search for a
15111         candidate package in case of error.
15112
15113         * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
15114         chain back on scope stack before reinstalling use clauses.
15115
15116         * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
15117         is enabled, do not kill the code for the condition, to preserve
15118         warning.
15119
15120 2001-12-11  Robert Dewar <dewar@gnat.com>
15121
15122         * checks.adb (Insert_Valid_Check): Apply validity check to expression
15123         of conversion, not to result of conversion.
15124
15125 2001-12-11  Ed Schonberg <schonber@gnat.com>
15126
15127         * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
15128         before freezing parent. If the declarations are mutually recursive,
15129         an access to the current record type may be frozen before the
15130         derivation is complete.
15131
15132 2001-12-05  Vincent Celier <celier@gnat.com>
15133
15134         * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
15135         -c /COMPILE_ONLY, -l /LINK_ONLY
15136
15137         * opt.ads:
15138         (Bind_Only): New Flag
15139         (Link_Only): New flag
15140
15141         * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
15142         and -l (Link_Only)
15143
15144         * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
15145
15146         * make.adb:
15147         (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
15148         (Gnatmake): Set the step flags. Only perform a step if the
15149         corresponding step flag is True.
15150         (Scan_Make_Arg): Reset the bind and link step flags when -u
15151         or -gnatc has been specified.
15152
15153 2001-12-05  Ed Schonberg <schonber@gnat.com>
15154
15155         * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
15156         get bounds from right operand.
15157
15158         * sem_eval.adb: Minor reformatting
15159
15160         * exp_util.adb (Make_Literal_Range): use bound of literal rather
15161         than Index'First, its lower bound may be different from 1.
15162
15163         * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
15164         and C48009J
15165
15166 2001-12-05  Vincent Celier <celier@gnat.com>
15167
15168         * prj-nmsc.adb Minor reformatting
15169
15170         * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
15171         set and libraries are not supported.
15172
15173 2001-12-05  Ed Schonberg <schonber@gnat.com>
15174
15175         * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
15176         private view explicitly, so the back-end can treat as a global
15177         when appropriate.
15178
15179 2001-12-05  Ed Schonberg <schonber@gnat.com>
15180
15181         * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
15182          unit, always replace instance node with new body, for ASIS use.
15183
15184 2001-12-05  Vincent Celier <celier@gnat.com>
15185
15186         * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
15187         libraries are not supported and both attributes Library_Name and
15188         Library_Dir are specified.
15189
15190         * prj-proc.adb (Expression): Set location of Result to location of
15191         first term.
15192
15193         * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
15194         (prj-nmsc is now importing MLib.Tgt)
15195
15196         * prj-proc.adb: Put the change indicated above that was forgotten.
15197
15198 2001-12-05  Robert Dewar <dewar@gnat.com>
15199
15200         * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
15201
15202 2001-12-05  Ed Schonberg <schonber@gnat.com>
15203
15204         * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
15205         constraint, introduce explicit subtype declaration and derive from it.
15206
15207         * sem_ch3.adb: Minor reformatting
15208
15209 2001-12-05  Robert Dewar <dewar@gnat.com>
15210
15211         * checks.adb (Determine_Range): Increase cache size for checks.
15212         Minor reformatting
15213
15214         * exp_ch6.adb: Minor reformatting
15215         (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
15216         a parameter whose root type is System.Address, since treating such
15217         subprograms as pure in the code generator is almost surely a mistake
15218         that will lead to unexpected results.
15219
15220         * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
15221         change handling of conversions.
15222
15223         * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
15224
15225 2001-12-05  Ed Schonberg <schonber@gnat.com>
15226
15227         * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
15228         aggregate with static wrong size, attach generated Raise node to
15229         declaration.
15230
15231 2001-12-05  Robert Dewar <dewar@gnat.com>
15232
15233         * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
15234         Fixes compilation abandoned bomb in B24009B.
15235
15236 2001-12-05  Ed Schonberg <schonber@gnat.com>
15237
15238         * sem_ch12.adb:
15239         Document use of Associated_Node on Selected_Components.
15240         (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
15241         to clarify use of untyped descendant fields.
15242
15243 2001-12-05  Robert Dewar <dewar@gnat.com>
15244
15245         * prj-dect.ads: Add ??? comment
15246         Add 2001 to copyright notice (was not done in after all)
15247
15248         * prj-part.adb: Minor reformatting. Reword one awkward error message.
15249
15250         * prj.ads: Minor reformatting throughout, and add some ??? comments
15251
15252         * snames.ads: Minor reformatting
15253
15254 2001-12-05  Geert Bosch <bosch@gnat.com>
15255
15256         * snames.adb: Autoupdate
15257
15258 2001-12-05  Vincent Celier <celier@gnat.com>
15259
15260         * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
15261
15262         * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
15263
15264         * prj-env.adb: Minor comment changes (modifying -> extends).
15265
15266         * prj-nmsc.adb: Minor comment changes (modifying -> extends).
15267
15268         * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
15269         Tok_Extends.
15270
15271         * prj.adb (Initialize): Change Modifying to Extends.
15272
15273         * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
15274
15275         * prj.ads: Minor comment change (Modifying -> extending).
15276
15277         * snames.ads: Change modifying to extends.
15278
15279 2001-12-05  Robert Dewar <dewar@gnat.com>
15280
15281         * sem_warn.adb: Remove stuff for conditionals, we are not going to
15282         do this after all.
15283
15284         * sem_warn.ads: Remove stuff for conditionals, we are not going to
15285         do this after all.  Add 2001 to copyright notice
15286
15287 2001-12-04  Geert Bosch <bosch@gnat.com>
15288
15289         *  einfo.h, sinfo.h, treeprs.ads: Regenerate.
15290
15291 2001-12-04  Robert Dewar <dewar@gnat.com>
15292
15293         * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
15294         location if we already have errors. Stops some cases of cascaded
15295         errors.
15296
15297         * errout.adb: Improve comment.
15298
15299 2001-12-04  Robert Dewar <dewar@gnat.com>
15300
15301         * sem_ch12.adb:
15302         (Analyze_Formal_Type_Definition): Defend against Error.
15303         (Analyze_Formal_Subprogram): Defend against Error.
15304
15305         * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
15306         remove following semicolon if present. Removes cascaded error.
15307
15308 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
15309
15310         * bindgen.adb:
15311         (Gen_Exception_Table_Ada): Write "begin" and then return if Num
15312          exceptions equals 0.
15313         (Gen_Exception_Table_C): Return if Num exceptions equals 0.
15314         Fixes PIWG E tests (which have to be run with -gnatL).
15315
15316 2001-12-04  Robert Dewar <dewar@gnat.com>
15317
15318         * einfo.ads: Minor reformatting
15319
15320 2001-12-04  Ed Schonberg <schonber@gnat.com>
15321
15322         * einfo.ads: Block_Node points to the identifier of the block, not to
15323         the block node itself, to preserve the link when the block is
15324         rewritten, e.g. within an if-statement with a static condition.
15325
15326         * inline.adb (Cleanup_Scopes): recover block statement from block
15327         entity using new meaning of Block_Node.
15328
15329         * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
15330         identifier of block node, rather than to node itself.
15331
15332 2001-12-04  Gary Dismukes <dismukes@gnat.com>
15333
15334         * layout.adb:
15335         (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
15336         (Discrimify): Go back to setting the Etypes of the selected component
15337         because the Vname component does not exist at this point and will
15338         fail name resolution. Also set Analyzed.
15339         Remove with and use of Sem_Res.
15340
15341 2001-12-04  Arnaud Charlet <charlet@gnat.com>
15342
15343         * Makefile.in: (HIE_SOURCES): add s-fat*.
15344
15345 2001-12-04  Robert Dewar <dewar@gnat.com>
15346
15347         * sem_attr.adb:
15348         (Compile_Time_Known_Attribute): New procedure.
15349         (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
15350          proper range check.
15351
15352 2001-12-04  Ed Schonberg <schonber@gnat.com>
15353
15354         * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
15355         processing discriminants to diagnose illegal default values.
15356
15357 2001-12-04  Ed Schonberg <schonber@gnat.com>
15358
15359         * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
15360         access discriminant within a type extension that constrains its
15361         parent discriminants.
15362
15363 2001-12-04  Ed Schonberg <schonber@gnat.com>
15364
15365         * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
15366         is malformed, use instance of Any_Id to allow analysis to proceed.
15367
15368         * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
15369         type definition is illegal.
15370         (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
15371         misplaced.
15372
15373 2001-12-04  Ed Schonberg <schonber@gnat.com>
15374
15375         * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
15376         constants.
15377
15378 2001-12-04  Robert Dewar <dewar@gnat.com>
15379
15380         * errout.adb: Minor reformatting
15381
15382 2001-12-04  Robert Dewar <dewar@gnat.com>
15383
15384         * exp_util.adb: Minor reformatting from last change
15385
15386         * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
15387         which is a rewriting of an expression, traverse the original
15388         expression to remove warnings that may have been posted on it.
15389
15390 2001-12-04  Ed Schonberg <schonber@gnat.com>
15391
15392         * exp_util.adb (Must_Be_Aligned): Return false for a component of a
15393         record that has other packed components.
15394
15395 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
15396
15397         * adaint.c: Minor cleanups.
15398
15399 2001-12-04  Douglass B. Rupp <rupp@gnat.com>
15400
15401         * adaint.c: Do not use utime.h on vxworks.
15402
15403 2001-12-04  Arnaud Charlet <charlet@gnat.com>
15404
15405         * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
15406         more confusion than it solves.
15407
15408 2001-12-04  Geert bosch <bosch@gnat.com>
15409
15410         * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
15411
15412 2001-12-04  Geert Bosch  <bosch@gnat.com>
15413
15414         * Makefile.in (update-sources): New target.
15415         For use by gcc_release script.
15416
15417 2001-12-04  Ed Schonberg <schonber@gnat.com>
15418
15419         * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
15420         a configuration pragma, it is now legal wherever a pragma can appear.
15421
15422 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
15423
15424         * Makefile.in: Don't set ALL.  Delete @cross_defines@,
15425         @cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
15426         is now @CROSS@ -DIN_GCC; update comment.
15427
15428 2001-12-04  Robert Dewar <dewar@gnat.com>
15429
15430         * einfo.adb (Has_Pragma_Pure_Function): New flag.
15431         Fix problem that stopped ceinfo from working
15432
15433         * einfo.ads (Has_Pragma_Pure_Function): New flag.
15434
15435         * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
15436
15437 2001-12-04  Douglas B. Rupp <rupp@gnat.com>
15438
15439         * gnatchop.adb:
15440         (File_Time_Stamp): New procedure.
15441         (Preserve_Mode): New boolean.
15442         (Write_Unit): Pass time stamp.
15443         Implement -p switch (preserve time stamps).
15444
15445         * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
15446
15447         * gnatchop.adb: Do usage info for -p switch
15448
15449         * adaint.h (__gnat_set_file_time_name): New function
15450
15451         * adaint.c (__gnat_set_file_time_name): Implement
15452
15453         * adaint.h: Fix typo
15454
15455 2001-12-03  Robert Dewar <dewar@gnat.com>
15456
15457         * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
15458         have Associated_Node.
15459
15460 2001-12-03  Robert Dewar <dewar@gnat.com>
15461
15462         * prj-proc.adb: Minor reformatting
15463
15464         * make.adb: Minor reformatting
15465
15466 2001-12-03  Geert Bosch <bosch@gnat.com>
15467
15468         * make.adb: Minor reformatting.
15469
15470 2001-12-03 Robert Dewar  <dewar@gnat.com>
15471
15472         * sem_ch12.adb: Minor reformatting
15473
15474 2001-12-03  Ed Schonberg <schonber@gnat.com>
15475
15476         * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
15477         push Standard on the stack before analyzing the instance body,
15478         in order to have a clean visibility environment.
15479
15480         * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
15481
15482 2001-12-03  Ed Schonberg <schonber@gnat.com>
15483
15484         * sem_ch12.adb (Instantiate_Package_Body): Protect against double
15485         instantiation of a body that contains an inlined body.
15486
15487 2001-12-03  Ed Schonberg <schonber@gnat.com>
15488
15489         * sem_ch12.adb:
15490         (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
15491         to prevent freezing within formal packages.
15492         (Freeze_Subprogram_Body): If body comes from another instance that
15493         appeared before its own body, place freeze node at end of current
15494         declarative part, to prevent a back-end crash.
15495         (Inline_Instance_Body): Handle properly a package instance within
15496         a subprogram instance that is a child unit.
15497
15498 2001-12-01  Graham Stott  <grahams@redhat.com>
15499
15500         * Makefile.in (misc.o): Add missing $(srcdir) prefix
15501         and add optabs.h dependency.
15502
15503         * misc.c: Include optabs.h
15504         (gnat_tree_code_type): Make static and const.
15505         (gnat_tree_code_length): Likewise.
15506         (gnat_tree_code_name): Likewise.
15507         (update_setjmp_buf): Obtain operands mode from insn_data.
15508
15509 2001-11-29  Richard Henderson  <rth@redhat.com>
15510
15511         * init.c: Remove obsolete dwarf2 frame.h section.
15512
15513 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
15514
15515         * Make-lang.in (ada.generated-manpages): New dummy target.
15516
15517 2001-11-29  Ed Schonberg <schonber@gnat.com>
15518
15519         * g-os_lib.adb (Add_To_Command): use explicit loop to move string
15520         into Command, an array conversion is illegal here. Uncovered by
15521         ACATS B460005.
15522
15523 2001/11/28  Geert Bosch <bosch@gnat.com>
15524
15525         * init.c: Minor whitespace changes.
15526
15527 2001-11-28  Doug Rupp <rupp@gnat.com>
15528
15529         * init.c: (__gnat_install_handler,VMS): Increase size of alternate
15530         signal stack.
15531
15532 2001-11-28  Zack Weinberg  <zack@codesourcery.com>
15533
15534         * misc.c (gnat_expand_constant): Move declaration above
15535         definition of lang_hooks.
15536         (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
15537         (gnat_init): lang_expand_constant no longer exists.
15538
15539         (internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
15540         always have vprintf.
15541         (gnat_init): Always call set_internal_error_function.
15542
15543 2001-11-27  Andreas Jaeger  <aj@suse.de>
15544
15545         * Makefile.in (stamp-tool_src_dir): Use symbolic link.
15546
15547 2001-11-27  Laurent Guerby  <guerby@acm.org>
15548
15549         * Makefile.in: Regenerate Ada dependencies.
15550
15551 2001-11-26  Richard Henderson  <rth@redhat.com>
15552
15553         * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
15554         gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
15555         gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
15556
15557 2001-11-25  Laurent Guerby  <guerby@acm.org>
15558
15559         * sysdep.c (rts_get_*): Fix style.
15560
15561 2001-11-19  Laurent Guerby  <guerby@acm.org>
15562
15563         * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
15564         since it is of no apparent use and cause warnings.
15565
15566 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
15567
15568         * misc.c (gnat_decode_option, gnat_init_options): Make definitions
15569         static too.
15570         (gnat_init): Don't return NULL.
15571         (finish_parse): Remove.
15572
15573 2001-11-17  Laurent Guerby  <guerby@acm.org>
15574
15575         * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
15576         * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
15577         * io-aux.c: Provide K&R prototypes to all functions, reformat code.
15578         * lang-spec.h: Add missing struct field to silence warnings.
15579         * sysdep.c (rts_get_*): Provide K&R prototype.
15580         * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
15581         * traceback.c (Unlock_Task, Lock_Task): Likewise.
15582         * tracebak.c (__gnat_backtrace): Remove unused variable.
15583         * utils.c (end_subprog_body): Move to K&R style.
15584
15585 Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15586
15587         * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
15588
15589 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
15590
15591         * misc.c (gnat_init): Change prototype.  Include the
15592         functionality of the old init_parse and init_decl_processing.
15593         (gnat_init_decl_processing): New prototype.
15594         (init_parse): Remove.
15595         * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
15596
15597 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
15598
15599         * misc.c (gnat_print_decl, gnat_print_type): Renamed.
15600         (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
15601         (print_lang_statistics, lang_print_xnode, print_lang_identifier,
15602         set_yydebug): Remove.
15603
15604 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
15605
15606         * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
15607         (struct lang_hooks): Constify.
15608         (language_string, lang_identify): Remove.
15609         * utils.c (init_decl_processing): Update.
15610
15611 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15612
15613         * misc.c: Include langhooks-def.h.
15614         * Makefile.in: Update.
15615
15616 2001-10-30  Robert Dewar <dewar@gnat.com>
15617
15618         * style.adb:
15619         (Check_Identifier): Rewrite circuit to be compatible with use of letters
15620         in the upper half of ASCII.
15621         (Check_Identifier): Minor reformatting
15622
15623 2001-10-30  Geert Bosch <bosch@gnat.com>
15624
15625         * (Associated_Node, Set_Associated_Node): Do not check for
15626         Freeze_Entity.
15627
15628 2001-10-30  Robert Dewar <dewar@gnat.com>
15629
15630         * a-reatim.ads: Minor reformatting
15631
15632 2001-10-30  Robert Dewar <dewar@gnat.com>
15633
15634         * gnatdll.adb: Minor reformatting throughout. Many ??? added for
15635         undocumented declarations.
15636
15637 2001-10-30  Pascal Obry <obry@gnat.com>
15638
15639         * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
15640         to the binder and linker.
15641         Minor style fix.
15642
15643         * mdll.ads: Fix layout.  Update copyright notice.
15644
15645         * mdll.adb: Fix layout.  Update copyright notice.
15646
15647 2001-10-30  Robert Dewar <dewar@gnat.com>
15648
15649         * usage.adb: Minor fix to output for -gnaty.
15650
15651 2001-10-30  Ed Schonberg <schonber@gnat.com>
15652
15653         * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
15654         to accommodate all its possible values.
15655
15656         * a-reatim.adb (Split): Special-case handling of Time_Span_First
15657         and of small absolute values of T.
15658
15659 2001-10-30  Richard Kenner <kenner@gnat.com>
15660
15661         * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
15662         set_mem_attributes since not needed and wrong if RESULT if a REG;
15663         fixes ACATS failures.
15664
15665 2001-10-30  Geert Bosch <bosch@gnat.com>
15666
15667         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
15668         s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
15669
15670 2001-10-30  Robert Dewar <dewar@gnat.com>
15671
15672         * bindusg.adb: Undocument -f switch.
15673
15674         * gnatcmd.adb: Remove /FULL_ELABORATION.
15675
15676         * opt.ads (Force_RM_Elaboration_Order): Document that this is
15677         obsolescent.
15678
15679         * gnatbind.adb: Output new warning for use of obsolescent -f switch.
15680
15681         * gnatbind.adb: Minor update of warning msg.
15682
15683 2001-10-30  Vincent Celier <celier@gnat.com>
15684
15685         * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
15686         for project file switches (-P (/PROJECT_FILE=),
15687          -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
15688         or MEDIUM or HIGH)
15689
15690 2001-10-30  Geert Bosch <bosch@gnat.com>
15691
15692         * decl.c: Minor whitespace fixes.
15693
15694 2001-10-30  Richard Kenner <kenner@gnat.com>
15695
15696         * utils2.c (build_allocator): Test for SIZE overflow in array case too
15697
15698 2001-10-30  Geert Bosch <bosch@gnat.com>
15699
15700         * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
15701         Found due to GCC 3.0 warning of using uninitialized value.
15702
15703         * layout.adb:
15704         (Get_Max_Size): Use variant record for tracking value/expression.
15705          Makes logic clearer and prevents warnings for uninitialized variables.
15706         (Layout_Array_Type): Use variant record for tracking value/expression.
15707          Makes logic clearer and prevents warnings for uninitialized variables.
15708
15709 2001-10-30  Robert Dewar <dewar@gnat.com>
15710
15711         * lib.adb: Minor reformatting
15712
15713         * s-taprop.ads: Minor reformatting
15714
15715 2001-10-29  Laurent Guerby  <guerby@acm.org>
15716
15717         * init.c:
15718         (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
15719         const.
15720         (_gnat_error_handler): Make MSG const.
15721
15722 2001-10-29  Richard Kenner <kenner@gnat.com>
15723
15724         * sysdep.c: Fix localtime_r problem on LynxOS.
15725         Also remove #elif to avoid warnings.
15726
15727         * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
15728         used by this.
15729
15730         * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
15731
15732 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
15733
15734         * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
15735         exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
15736         g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
15737         g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
15738         layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
15739         s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
15740         sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
15741         sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
15742         sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
15743         types.ads, urealp.adb: Fix spelling errors.
15744
15745 2001-10-27  Laurent Guerby <guerby@acm.org>
15746
15747         * trans.c (gigi): Fix non determinism leading to bootstrap
15748         comparison failures for debugging information.
15749
15750 2001-10-26  Florian Weimer  <fw@deneb.enyo.de>
15751
15752         * gnat_rm.texi: Use @./@: where appropriate.
15753
15754 2001-10-26  Robert Dewar <dewar@gnat.com>
15755
15756         * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
15757
15758 2001-10-26  Richard Kenner <kenner@gnat.com>
15759
15760         * gmem.c (__gnat_gmem_read_next): Properly check for EOF
15761
15762 2001-10-26  Richard Kenner <kenner@gnat.com>
15763
15764         * decl.c (validate_size): Modify message for bad size to avoid
15765         implication that compiler is modifying the size.
15766
15767 2001-10-26  Robert Dewar <dewar@gnat.com>
15768
15769         * prj-util.adb: Minor reformatting. Fix bad header format.
15770
15771 2001-10-26  Robert Dewar <dewar@gnat.com>
15772
15773         * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
15774
15775         * sinfo.ads: Clarify use of Associated_Node (documentation only).
15776
15777         * sem_ch12.adb: Change Node4 to Associated_Node. Change
15778         Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
15779         much more narrowly in places where needed. These are cleanups.
15780
15781 2001-10-26  Joel Brobecker <brobecke@gnat.com>
15782
15783         * 5zosinte.ads (null_pthread): new constant.
15784
15785         * 5ztaprop.adb:
15786         (Initialize_TCB): Initialize thread ID to null, to be able to verify
15787          later that this field has been set.
15788         (Finalize_TCB): ditto.
15789         (Suspend_Task): Verify that the thread ID is not null before using it.
15790         (Resume_Task): ditto.
15791
15792         * s-tasdeb.adb:
15793         (Resume_All_Tasks): Lock the tasks list before using it.
15794         (Suspend_All_Tasks): ditto.
15795
15796 2001-10-26  Richard Kenner <kenner@gnat.com>
15797
15798         * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
15799         Make constant variant of designated type for Is_Access_Constant.
15800         Call update_pointer_to with main variant.
15801
15802         * trans.c (process_freeze_entity, process_type):
15803         Call update_pointer_to on main variant.
15804
15805         * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
15806         If main variant, update all other variants.
15807
15808         * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
15809         TREE_STATIC.
15810
15811 2001-10-26  Robert Dewar <dewar@gnat.com>
15812
15813         * prj-util.adb: Minor reformatting
15814
15815 2001-10-26  Robert Dewar <dewar@gnat.com>
15816
15817         * prj-util.adb: Minor reformatting
15818
15819 2001-10-26  Robert Dewar <dewar@gnat.com>
15820
15821         * prj-attr.adb: Minor reformatting throughout
15822
15823 2001-10-26  Robert Dewar <dewar@gnat.com>
15824
15825         * prj-attr.ads: Minor reformatting
15826         Add ??? comment (this whole spec has almost no comments)
15827
15828 2001-10-26  Vincent Celier <celier@gnat.com>
15829
15830         * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
15831         ("//") that precede the drive letter on Interix.
15832
15833 2001-10-26  Geert Bosch <bosch@gnat.com>
15834
15835         * gnat_rm.texi: Add GNAT Reference Manual.
15836
15837 2001-10-25  Robert Dewar <dewar@gnat.com>
15838
15839         * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
15840         is Error. Similar change for other renaming cases.
15841
15842 2001-10-25  Robert Dewar <dewar@gnat.com>
15843
15844         * s-atacco.ads: Add pragma Inline_Always for functions.
15845         Fix header format. Add copyright 2001
15846
15847 2001-10-25  Ed Schonberg <schonber@gnat.com>
15848
15849         * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
15850         return Error rather than Empty so that analysis can proceed.
15851
15852 2001-10-25  Ed Schonberg <schonber@gnat.com>
15853
15854         * sem_util.adb (Enter_Name): better handling of cascaded error
15855         messages when a unit appears in its own context.
15856
15857 2001-10-25  Ed Schonberg <schonber@gnat.com>
15858
15859         * sem_util.adb (Defining_Entity): in case of error, attach created
15860         entity to specification, so that semantic analysis can proceed.
15861
15862 2001-10-25  Robert Dewar <dewar@gnat.com>
15863
15864         * sem_util.adb
15865         (Defining_Entity): Deal with Error.
15866         (Process_End_Label): Deal with bad end label for.
15867
15868 2001-10-25  Ed Schonberg <schonber@gnat.com>
15869
15870         * sem_elab.adb (Check_A_Call): refine message when call is in an
15871         instance but callee is not declared in the generic unit.
15872
15873 2001-10-25  Ed Schonberg <schonber@gnat.com>
15874
15875         * sem_elab.adb (Check_A_Call): check for renaming before finding the
15876         enclosing unit, which may already be different from the calling unit.
15877
15878 2001-10-25  Geert Bosch <bosch@gnat.com>
15879
15880         * 4gintnam.ads: fix header format.
15881
15882 2001-10-25  Ed Schonberg <schonber@gnat.com>
15883
15884         * sem_res.adb (Resolve_Call): if the call is actually an indexing
15885         operation on the result of a parameterless call, perform elaboration
15886         check after the node has been properly rewritten.
15887
15888         * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
15889         inlined within the generic tree, the defining identifier is not a
15890         compilation_unit.
15891
15892 2001-10-25  Ed Schonberg <schonber@gnat.com>
15893
15894         * sem_res.adb (Resolve): special-case resolution of Null in an
15895          instance or an inlined body to avoid view conflicts.
15896
15897         * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
15898          compatibility by retrieving the access type of the generic copy.
15899
15900 2001-10-25  Robert Dewar <dewar@gnat.com>
15901
15902         * sem_ch3.adb:
15903         (Analyze_Number_Declaration): Handle error expression.
15904         (Signed_Integer_Type_Declaration): Handle error bound.
15905         (Analyze_Subtype_Indication): Handle error range.
15906
15907         * sem_util.adb (Get_Index_Bounds): Check for Error.
15908
15909 2001-10-25  Robert Dewar <dewar@gnat.com>
15910
15911         * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
15912         in no run time mode.
15913
15914 2001-10-25  Pascal Obry <obry@gnat.com>
15915
15916         * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
15917         mode case for ALLOC case.
15918
15919         * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
15920         all platforms. Improvement of last change.
15921
15922 2001-10-25  Robert Dewar <dewar@gnat.com>
15923
15924         * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
15925
15926 2001-10-25  Geert Bosch  <bosch@gnat.com>
15927
15928         * osint.adb (Is_Relative): Remove duplicate.
15929
15930 2001-10-25  Pascal Obry <obry@gnat.com>
15931
15932         * osint.adb (Read_Default_Search_Dirs): correctly detect relative
15933         pathnames in UNIX and DOS style with drive letter.
15934         (Is_Relative): new routine.
15935
15936         * osint.adb: Minor reformatting
15937
15938         * osint.adb (Is_Relative): implementation using
15939         GNAT.OS_Lib.Is_Absolute_Path. Better fix.
15940
15941 2001-10-25  Pascal Obry <obry@gnat.com>
15942
15943         * g-dirope.adb (Basename): correctly compute offset between the
15944         original Path and the translated one.
15945
15946         * g-dirope.adb: (Base_Name): add some comments.
15947
15948 2001-10-25  Robert Dewar <dewar@gnat.com>
15949
15950         * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
15951         in HIE mode, avoids compilation abandoned message
15952
15953         * exp_imgv.adb: Correct typo in previous change
15954
15955         * exp_imgv.adb: Correct typo in previous change (not my day!)
15956
15957 2001-10-25  Robert Dewar <dewar@gnat.com>
15958
15959         * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
15960
15961 2001-10-25  Pascal Obry <obry@gnat.com>
15962
15963         * g-awk.ads: Move all pragma inlines next to the routine
15964          declarations. This is more uniform with other GNAT spec.
15965
15966 2001-10-22  Geert Bosch  <bosch@gnat.com>
15967
15968         * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
15969
15970 2001-10-19  Geert Bosch  <bosch@gnat.com>
15971
15972         * Makefile.in (tools, gnattools): Remove gnatmem.
15973
15974 2001-10-17  Richard Henderson  <rth@redhat.com>
15975
15976         * Makefile.in (misc.o): Depend on langhooks.h.
15977         * misc.c: Include it.
15978         (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
15979         (LANG_HOOKS_DECODE_OPTION): New.
15980         (lang_hooks): Use LANG_HOOKS_INITIALIZER.
15981
15982 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
15983
15984         * trans.c (tree_transform): Adjust to recent change in
15985         expand_asm_operands to implement named asm operands.
15986
15987 2001-10-11  Ed Schonberg  <schonber@gnat.com>
15988
15989         * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
15990         renaming of discriminant for mutable record type.
15991
15992 2001-10-11  Robert Dewar  <dewar@gnat.com>
15993
15994         * validsw.adb: Properly save -gnatVn status.
15995
15996 2001-10-11  Robert Dewar <dewar@gnat.com>
15997
15998         * usage.adb: Add lines for V switch.
15999
16000         * gnatcmd.adb (COMPILE): Revise translations for -gnatV
16001         (/VALIDITY_CHECKING).
16002
16003 2001-10-11  Ed Schonberg <schonber@gnat.com>
16004
16005         * sem_type.adb (Add_One_Interp): an operator for a type declared in
16006         an extension of System is known to be visible.
16007
16008 2001-10-11  Ed Schonberg <schonber@gnat.com>
16009
16010         * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
16011         properly. Fixes regression on ACATS C34005G.
16012
16013 2001-10-11  Robert Dewar <dewar@gnat.com>
16014
16015         * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
16016         loop in generic instance, since this is likely not very useful.
16017
16018 2001-10-11  Robert Dewar <dewar@gnat.com>
16019
16020         * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
16021         the error message for high integrity mode.
16022
16023         * rtsfind.adb (RTE): Give message if we try to find an entity that
16024         is not available in high integrity mode.
16025
16026         * rtsfind.ads:
16027         (OK_To_Use_In_HIE_Mode): New array.
16028         (RTE): May return Empty in high integrity mode.
16029
16030         * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
16031         OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
16032
16033         * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
16034         unit if not inlined always and in no runtime mode. Fixes problem
16035         caused by new Rtsfind changes.
16036
16037         * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
16038         body is deleted.
16039
16040         * rtsfind.adb (RTE): Make sure we do not try to load unit after
16041         giving message for entity not available in high integrity mode.
16042
16043 2001-10-11  Pascal Obry <obry@gnat.com>
16044
16045         * impunit.adb: Add GNAT.CRC32.
16046
16047 2001-10-11  Ed Schonberg <schonber@gnat.com>
16048
16049         * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
16050         properly the case where one universal operand in a non-static
16051         exponentiation of a real literal.
16052
16053 2001-10-11  Ed Schonberg <schonber@gnat.com>
16054
16055         * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
16056         clause, return the gobal finalization list, for lack of anthing else.
16057
16058 2001-10-11  Ed Schonberg <schonber@gnat.com>
16059
16060         * exp_ch7.adb (Make_Transient_Block): if statement is within
16061         exception handler, always use new transient scope to place Clean
16062         procedure.
16063
16064 2001-10-11  Pascal Obry <obry@gnat.com>
16065
16066         * Makefile.in:
16067         (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
16068         (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
16069         (GNATLS_RTL_OBJS): add g-crc32.o
16070         (GNATMAKE_RTL_OBJS): add g-crc32.o
16071
16072         * ali-util.adb:
16073         (CRC_Match): new function.
16074         (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
16075         instead of the previous simple checksum algorithm.
16076         (Time_Stamp_Mismatch): use CRC_Match for comparison.
16077         (Set_Source_Table): idem.
16078
16079         * ali-util.ads:
16080         (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
16081         instead of simple checksum.
16082         (CRC_Match): new function.
16083         (CRC_Error): new constant.
16084
16085         * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
16086         a CRC now and not a simple checksum. A CRC uses lower-case hex
16087         letters, fixes ambiguity in parsing.
16088
16089         * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
16090         is what this variable will store.
16091
16092         * bcheck.adb: Change reference to chechsum in comments by CRC.
16093         (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
16094         rename All_Checksum_Match to All_CRC_Match. Change due to API
16095         renaming since now GNAT does not use a simple checksum but a
16096         CRC using GNAT.CRC32.
16097
16098         * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
16099         now and not anymore a simple checksum.
16100
16101         * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
16102         places.
16103
16104         * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
16105
16106         * scans.adb:
16107         (Restore_Scan_State): rename Checksum to CRC.
16108         (Save_Scan_State): idem.
16109
16110         * scans.ads:
16111         With GNAT.CRC32.
16112         (Checksum): rename to CRC.
16113         (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
16114
16115         * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
16116         GNAT.CRC32).  Update copyright notice.
16117
16118         * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
16119         GNAT.CRC32).  Update copyright notice.
16120
16121         * scn.adb:
16122         (Accumulate_Checksum): removed.
16123         (Update): new procedure. Add a wide-character into the CRC.
16124
16125         * sinput-l.adb:
16126         (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
16127         (Load_File): fix initialization of S (change Source_Checksum to
16128         Source_CRC)
16129
16130         * sinput-p.adb (Load_Project_File): rename Source_Checksum to
16131         Source_CRC in S initialization.
16132
16133         * sinput.adb (Source_Checksum): renamed to Source_CRC.
16134
16135         * sinput.ads (Source_Checksum): renamed to Source_CRC.
16136         Update comments for the CRC.
16137
16138         * types.adb (Hex): Use lowercase for the letter part.
16139
16140         * types.ads (Get_Hex_String): Returns the hexadecimal representation
16141         for a word. This is currently used only for CRC. In previous version,
16142         the checksum was using a representation with all letter being
16143         upper-case. With the new implementation (using CRC) we do not remove
16144         the 32th bit of the CRC, so we can have an upper-case starting letter
16145         in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
16146         It is ambigous since the CRC was optional and could be followed by
16147         options like EB, EE. So now this routines uses lower-case letter for
16148         the hexadecimal representation. Strange enough only lower case letters
16149         where checked in Scan_ALI (even if this was not a possible case).
16150
16151         * gnatvsn.ads (Library_Version): changed to 3.15a.
16152
16153         * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
16154         for the compiler.
16155
16156         * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
16157         for the compiler.
16158
16159         * ali-util.adb: Redo previous change to avoid using word CRC everywhere
16160         Add 2001 to copyright notice
16161         (Accumulate_Checksum): Modify to use System.CRC32.
16162
16163         * ali-util.ads: Redo changes of previous revision to continue to use
16164         the word Checksum. Add 2001 to copyright notice.
16165
16166         * ali.adb: Undo some of previous changes, not needed.
16167         Keep the change for lower case letters in the checksum.
16168
16169         * ali.ads: Undo previous change not needed.
16170
16171         * bcheck.adb: Undo most of previous change, not needed.
16172         But do use Checksums_Match for checksum comparison.
16173
16174         * gnatls.adb: Undo most of previous change, not needed.
16175         But do use Checksums_Match for comparing checksums.
16176
16177         * lib-load.adb: Undo previous change, not needed.
16178
16179         * lib-writ.adb: Undo previous change, not needed.
16180
16181         * lib-writ.ads: Document that checksums use lower case,
16182         not upper case letters.
16183
16184         * scans.adb: Undo previous change, not needed
16185
16186         * scans.ads: Undo previous change, not needed.
16187
16188         * scn-nlit.adb: Undo previous changes, not needed.
16189
16190         * scn-slit.adb: Undo previous change, not needed.  Fix header format.
16191
16192         * scn.adb:
16193         (Accumulate_Checksum): Use System.CRC32.
16194         (Initialize_Checksum): New procedure.
16195         Remove other changes of previous revision.
16196
16197         * sinput-p.adb: Undo previous change, not needed.
16198
16199         * sinput.adb: Undo previous change, not needed.
16200
16201         * sinput-l.adb: Undo previous change, not needed.
16202
16203         * sinput.ads: Undo previous change, not needed.  Keep only comment
16204         on new checksum algorithm
16205
16206         * Makefile.in: Add s-crc32 as needed, remove g-crc32.
16207         Also remove a-tags and a-stream from GNAT sources.
16208
16209         * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
16210
16211         * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
16212
16213 2001-10-11  Geert Bosch  <bosch@gnat.com>
16214
16215         * einfo.h: Regenerate.
16216
16217         * nmake.ads: Regenerate.
16218
16219         * nmake.adb: Regenerate.
16220
16221         * sinfo.h: Regenerate.
16222
16223         * treeprs.adb: Regenerate.
16224
16225 2001-10-10  Geert Bosch  <bosch@gnat.com>
16226
16227         * gnat-style.texi: New file describing coding guidelines for Ada.
16228
16229 2001-10-10  Ed Schonberg <schonber@gnat.com>
16230
16231         * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
16232         is Flag174.
16233
16234 2001-10-10  Geert Bosch  <bosch@gnat.com>
16235
16236         * snames.ads: Add new names for project facility.
16237
16238         * snames.adb: Update to reflect snames.ads changes.
16239
16240         * snames.h: Update to reflect snames.ads changes.
16241
16242 2001-10-10  Vincent Celier <celier@gnat.com>
16243
16244         * make.adb:
16245         (Add_Switches): reflect the changes for the switches attributes
16246         Default_Switches indexed by the programming language,
16247         Switches indexed by the file name.
16248         (Collect_Arguments_And_Compile): Idem.
16249         Reflect the attribute name changes.
16250
16251         * prj-attr.adb:
16252         (Initialisation_Data): Change the names of some packages and
16253         attributes.
16254         (Initialize): process case insensitive associative arrays.
16255
16256         * prj-attr.ads:
16257         (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
16258
16259         * prj-dect.adb:
16260         (Parse_Attribute_Declaration): For case insensitive associative
16261          arrays, set the index string to lower case.
16262
16263         * prj-env.adb:
16264         Reflect the changes of the project attributes.
16265
16266         * prj-nmsc.adb:
16267         Replace Check_Naming_Scheme by Ada_Check and
16268         Language_Independent_Check.
16269
16270         * prj-nmsc.ads:
16271         Replaced Check_Naming_Scheme by 2 procedures:
16272         Ada_Check and Language_Independent_Check.
16273
16274         * prj-proc.adb:
16275         (Process_Declarative_Items): For case-insensitive associative
16276         arrays, set the index string to lower case.
16277         (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
16278         Prj.Nmsc.Check_Naming_Scheme.
16279
16280         * prj-tree.adb:
16281         (Case_Insensitive): New function
16282         (Set_Case_Insensitive): New procedure
16283
16284         * prj-tree.ads:
16285         (Case_Insensitive): New function
16286         (Set_Case_Insensitive): New procedure
16287         (Project_Node_Record): New flag Case_Insensitive.
16288
16289         * prj-util.adb:
16290         (Value_Of): new function to get the string value of a single
16291         string variable or attribute.
16292
16293         * prj-util.ads:
16294         (Value_Of): new function to get the string value of a single
16295         string variable or attribute.
16296
16297         * prj.adb:
16298         (Ada_Default_Spec_Suffix): New function
16299         (Ada_Default_Impl_Suffix): New function
16300         Change definitions of several constants to reflect
16301         new components of record types.
16302
16303         * prj.ads:
16304         (Naming_Data): Change several components to reflect new
16305         elements of naming schemes.
16306         (Project_Data): New flags Sources_Present and
16307         Language_Independent_Checked.
16308         (Ada_Default_Spec_Suffix): New function.
16309         (Ada_Default_Impl_Suffix): New function.
16310
16311         * snames.ads:
16312         Modification of predefined names for project manager: added
16313         Implementation, Specification_Exceptions, Implementation_Exceptions,
16314         Specification_Suffix, Implementation_Suffix, Separate_Suffix,
16315         Default_Switches, _Languages, Builder, Cross_Reference,
16316         Finder. Removed Body_Part, Specification_Append, Body_Append,
16317         Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
16318         Gnatlink.
16319
16320         * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
16321         Add comments.
16322
16323         * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
16324         not that it is Nil_Variable_Value.
16325
16326         * prj.ads: Add ??? for uncommented declarations
16327
16328 2001-10-10  Ed Schonberg <schonber@gnat.com>
16329
16330         * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
16331         constant, do not indicate possible modification, so that gigi can
16332         treat it as a bona fide constant.
16333
16334 2001-10-10  Robert Dewar <dewar@gnat.com>
16335
16336         * sem_prag.adb: Add processing for pragma External.
16337
16338         * snames.ads: Add entry for pragma External.
16339
16340         * par-prag.adb: Add pragma External.
16341
16342         * snames.adb: Updated to match snames.ads.
16343
16344 2001-10-10  Ed Schonberg <schonber@gnat.com>
16345
16346         * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
16347         a dynamic task if the allocator appears in an indexed assignment
16348         or selected component assignment.
16349
16350         * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
16351         For a dynamic task in an assignment statement, use target of
16352         assignment to generate meaningful name.
16353
16354 2001-10-10  Ed Schonberg <schonber@gnat.com>
16355
16356         * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
16357         a generic package.
16358
16359         * einfo.ads: Body_Entity is also defined for generic package.
16360         Documentation change only
16361
16362         * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
16363         others_choice for a discriminated component initialization,
16364         convert discriminant references into the corresponding discriminals.
16365
16366         * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
16367         only if original type is private and expression has to be wrapped
16368         in a conversion.
16369
16370         * checks.adb:
16371         (Apply_Constraint_Check): Do not perform length check
16372         if expression is an aggregate with only an others_choice.
16373         (Length_N_Cond): two references to the same in_parameter
16374         (typically the discriminal in an init_proc) denote the same value.
16375         Two useful optimization uncovered by bugfixes above.
16376
16377 2001-10-10  Robert Dewar <dewar@gnat.com>
16378
16379         * xeinfo.adb: Change int to char in translation of enumeration types.
16380         This fixes a problem in the C representation of component alignment.
16381         Add 2001 to copyright notice
16382
16383 2001-10-10  Richard Kenner <kenner@gnat.com>
16384
16385         * decl.c: (validate_size): Do check size of object of integral type
16386         if it is a packed array type.
16387
16388 2001-10-10  Richard Kenner <kenner@gnat.com>
16389
16390         * decl.c: (gnat_to_gnu_entity, case object): Also materialize
16391         VAR_DECL for constant if not Is_Public but -O0.
16392
16393 2001-10-10  Richard Kenner  <kenner@gnat.com>
16394
16395         * misc.c (struct lang_hooks): Add new initializer to match GCC change.
16396
16397 2001-10-10  Geert Bosch  <bosch@gnat.com>
16398
16399         * xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
16400         use '/' as switch character, allowing for absolute file names.
16401
16402 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
16403
16404         * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
16405         FSF address.
16406
16407 2001-10-08  Geert Bosch  <bosch@gnat.com>
16408
16409         * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
16410         Automatically build utilities when files need to be regenerated.
16411
16412 2001-10-08  Geert Bosch  <bosch@gnat.com>
16413
16414         * xsnames.adb: New utility for updating snames.ads and snames.adb
16415
16416 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
16417
16418         * Make-lang.in (ADAFLAGS): Add -W -Wall.
16419         (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
16420         (gnat1): Also depend on attribs.o.
16421         (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
16422         * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
16423         (ADAC): Set to @ADAC@ in stage1, $(CC) later.
16424         (ADAFLAGS): Add -W -Wall.
16425         (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
16426         take out CFLAGS.
16427
16428         (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
16429         s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
16430         s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
16431         Use $(ADAC), not $(CC), as compilation command.
16432
16433         (gnattools): Depend directly on tools to build, don't use
16434         recursive make.
16435         (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
16436
16437         * einfo.h, sinfo.h: New files (autogenerated).
16438
16439 2001-10-08  Richard Henderson  <rth@redhat.com>
16440
16441         * comperr.adb (Abort_In_Progress): New.
16442         (Compiler_Abort): Use it to prevent recursion.
16443
16444 2001-10-08  Robert Dewar <dewar@gnat.com>
16445
16446         * atree.adb: Set Error_Posted in Error node, helps error recovery.
16447
16448         * par-endh.adb (Output_End_Expected): We should also not test
16449         Error_Posted on the Error node, since now it is always set.
16450
16451         * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
16452         to help error recovery. Part of general work on 9407-004.
16453
16454         * par.adb: Add ??? for misuse of error
16455
16456         * sem_res.adb:
16457         (Resolve): Defend against Error, fixes 9407-003.
16458         (Resolve_Discrete_Subtype_Indication): Defend against Error.
16459
16460         * sinfo.ads (N_Error): Now has Etype field (which will be set
16461         to Any_Type to help error recovery).
16462
16463 2001-10-08  Richard Kenner (kenner@gnat.com)
16464
16465         * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
16466         Consistently set MEM attributes from expression; fixes
16467         bootstrap failure on x86.
16468
16469 2001-10-08  Geert Bosch  (bosch@gnat.com)
16470
16471         * 5oosinte.adb: Add 2001 to copyright notice.
16472
16473 2001-10-08  Geert Bosch  (bosch@gnat.com)
16474
16475         * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
16476
16477         * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
16478
16479 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
16480
16481         * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
16482
16483 2001-10-05  Geert Bosch  (bosch@gnat.com)
16484
16485         * adaint.h: Small formatting fix.
16486
16487 2001-10-04  Geert Bosch  <bosch@gnat.com>
16488
16489         * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
16490         Arg is int, not FILE *, in dummy version of functions.
16491
16492         * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
16493         Arg is int, not FILE *.
16494
16495 2001-10-04  Geert Bosch  <bosch@gnat.com>
16496
16497         * 3lsoccon.ads: Added file, missed with initial check ins.
16498
16499         * 4lintnam.ads: Fix header format.
16500         Change Linux to GNU/Linux.
16501
16502         * 5iosinte.adb: Change Linux to GNU/Linux.
16503
16504         * 5iosinte.ads: Change Linux to GNU/Linux.
16505
16506         * 5itaprop.adb: Change Linux to GNU/Linux.
16507
16508         * 5itaspri.ads: Change Linux to GNU/Linux.
16509         Update copyright notice.
16510
16511         * 5lintman.adb: Change Linux to GNU/Linux.
16512
16513         * 5lml-tgt.adb: Change Linux to GNU/Linux.
16514
16515         * 5losinte.ads: Change Linux to GNU/Linux.
16516
16517         * 5lsystem.ads: Change Linux to GNU/Linux.
16518
16519         * 5qosinte.adb: Change Linux to GNU/Linux.
16520
16521         * 5qosinte.ads: Change Linux to GNU/Linux.
16522
16523         * 5qparame.ads: Change Linux to GNU/Linux.
16524
16525         * 5qtaprop.adb: Change Linux to GNU/Linux.
16526
16527         * 5qtaspri.ads: Change Linux to GNU/Linux.
16528         Add 2001 to copyright notice.
16529
16530         * 5vintman.ads: Change Linux to GNU/Linux.
16531         Fix header format.  Add 2001 to copyright notice.
16532
16533         * g-soccon.ads: Change Linux to GNU/Linux.
16534
16535         * g-trasym.ads: Change Linux to GNU/Linux.
16536         Add 2001 to copyright notice.
16537
16538         * memtrack.adb: Change Linux to GNU/Linux.
16539
16540         * s-intman.ads: Change Linux to GNU/Linux.
16541         Add 2001 to copyright notice.  Fix header format.
16542
16543         * s-stache.adb: Change Linux to GNU/Linux.
16544
16545         * adaint.c: Change Linux to GNU/Linux.
16546
16547         * cio.c: Change Linux to GNU/Linux.
16548
16549         * cstreams.c: Change Linux to GNU/Linux.
16550
16551         * init.c: Change Linux to GNU/Linux.
16552
16553         * gmem.c: Change Linux to GNU/Linux.
16554
16555         * tracebak.c: Change Linux to GNU/Linux.
16556
16557
16558 2001-10-02  Geert Bosch  <bosch@gnat.com>
16559
16560         * misc.c (insert_default_attributes): Add dummy version.